summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--INSTALL.md8
-rwxr-xr-xasm/berry_crush.s5948
-rw-r--r--asm/contest_painting_effects.s1152
-rwxr-xr-xasm/dodrio_berry_picking.s11806
-rw-r--r--asm/m4a_1.s25
-rw-r--r--asm/macros/battle_anim_script.inc14
-rw-r--r--asm/macros/battle_script.inc34
-rw-r--r--asm/macros/event.inc4
-rwxr-xr-xasm/pokemon_jump.s9040
-rw-r--r--asm/pokenav.s32
-rw-r--r--asm/rom_8011DC0.s48288
-rw-r--r--asm/rom_81D1C44.s7087
-rw-r--r--asm/use_pokeblock.s3431
-rw-r--r--asmdiff.ps111
-rw-r--r--charmap.txt2
-rwxr-xr-xcommon_syms/battle_anim_special.txt (renamed from common_syms/battle_anim_8170478.txt)0
-rwxr-xr-xcommon_syms/faraway_island.txt3
-rw-r--r--data/battle_anim_scripts.s118
-rw-r--r--data/battle_scripts_1.s136
-rwxr-xr-xdata/berry_crush.s363
-rwxr-xr-xdata/berry_powder.s36
-rw-r--r--data/contest.s412
-rw-r--r--data/contest_opponents.inc2114
-rwxr-xr-xdata/dodrio_berry_picking.s663
-rw-r--r--data/ereader_helpers.s53
-rwxr-xr-xdata/ereader_screen.s7
-rw-r--r--data/event_scripts.s190
-rw-r--r--data/field_effect_scripts.s96
-rw-r--r--data/maps/AbandonedShip_CaptainsOffice/map.json4
-rw-r--r--data/maps/AbandonedShip_Deck/scripts.inc4
-rw-r--r--data/maps/AbandonedShip_HiddenFloorRooms/map.json8
-rw-r--r--data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc28
-rw-r--r--data/maps/AbandonedShip_Room_B1F/map.json2
-rw-r--r--data/maps/AbandonedShip_Rooms2_1F/map.json2
-rw-r--r--data/maps/AbandonedShip_Rooms2_B1F/map.json2
-rw-r--r--data/maps/AbandonedShip_Rooms_1F/map.json2
-rw-r--r--data/maps/AbandonedShip_Rooms_B1F/map.json2
-rw-r--r--data/maps/AlteringCave/scripts.inc4
-rw-r--r--data/maps/AncientTomb/scripts.inc4
-rw-r--r--data/maps/AquaHideout_B1F/map.json6
-rw-r--r--data/maps/AquaHideout_B2F/map.json2
-rw-r--r--data/maps/ArtisanCave_1F/map.json2
-rw-r--r--data/maps/ArtisanCave_B1F/map.json2
-rw-r--r--data/maps/ArtisanCave_B1F/scripts.inc4
-rw-r--r--data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json2
-rw-r--r--data/maps/BattleFrontier_BattlePyramidTop/map.json2
-rw-r--r--data/maps/BattleFrontier_OutsideEast/scripts.inc2
-rw-r--r--data/maps/BattleFrontier_ReceptionGate/scripts.inc4
-rw-r--r--data/maps/BattlePyramidSquare01/map.json2
-rw-r--r--data/maps/BattlePyramidSquare02/map.json2
-rw-r--r--data/maps/BattlePyramidSquare03/map.json2
-rw-r--r--data/maps/BattlePyramidSquare04/map.json2
-rw-r--r--data/maps/BattlePyramidSquare05/map.json2
-rw-r--r--data/maps/BattlePyramidSquare06/map.json2
-rw-r--r--data/maps/BattlePyramidSquare07/map.json2
-rw-r--r--data/maps/BattlePyramidSquare08/map.json2
-rw-r--r--data/maps/BattlePyramidSquare09/map.json2
-rw-r--r--data/maps/BattlePyramidSquare10/map.json2
-rw-r--r--data/maps/BattlePyramidSquare11/map.json2
-rw-r--r--data/maps/BattlePyramidSquare12/map.json2
-rw-r--r--data/maps/BattlePyramidSquare13/map.json2
-rw-r--r--data/maps/BattlePyramidSquare14/map.json2
-rw-r--r--data/maps/BattlePyramidSquare15/map.json2
-rw-r--r--data/maps/BattlePyramidSquare16/map.json2
-rw-r--r--data/maps/BirthIsland_Exterior/map.json2
-rw-r--r--data/maps/BirthIsland_Exterior/scripts.inc4
-rw-r--r--data/maps/BirthIsland_Harbor/map.json2
-rw-r--r--data/maps/CaveOfOrigin_B1F/map.json2
-rw-r--r--data/maps/DesertRuins/scripts.inc4
-rw-r--r--data/maps/DesertUnderpass/scripts.inc4
-rw-r--r--data/maps/EverGrandeCity_HallOfFame/scripts.inc4
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc4
-rw-r--r--data/maps/FallarborTown_House2/scripts.inc2
-rw-r--r--data/maps/FarawayIsland_Interior/scripts.inc2
-rw-r--r--data/maps/FieryPath/map.json16
-rw-r--r--data/maps/FieryPath/scripts.inc4
-rw-r--r--data/maps/GraniteCave_1F/map.json2
-rw-r--r--data/maps/GraniteCave_B1F/map.json2
-rw-r--r--data/maps/GraniteCave_B2F/map.json18
-rw-r--r--data/maps/InsideOfTruck/map.json2
-rw-r--r--data/maps/IslandCave/scripts.inc4
-rw-r--r--data/maps/JaggedPass/map.json2
-rw-r--r--data/maps/LilycoveCity/map.json2
-rw-r--r--data/maps/LilycoveCity/scripts.inc4
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc6
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc2
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/scripts.inc2
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc12
-rw-r--r--data/maps/MagmaHideout_1F/map.json8
-rw-r--r--data/maps/MagmaHideout_2F_2R/map.json4
-rw-r--r--data/maps/MagmaHideout_3F_1R/map.json2
-rw-r--r--data/maps/MagmaHideout_3F_2R/map.json2
-rw-r--r--data/maps/MagmaHideout_3F_3R/map.json2
-rw-r--r--data/maps/MagmaHideout_4F/map.json2
-rw-r--r--data/maps/MagmaHideout_4F/scripts.inc4
-rw-r--r--data/maps/MauvilleCity/map.json2
-rw-r--r--data/maps/MeteorFalls_1F_1R/map.json8
-rw-r--r--data/maps/MeteorFalls_B1F_2R/map.json2
-rw-r--r--data/maps/MirageTower_1F/scripts.inc4
-rw-r--r--data/maps/MirageTower_3F/map.json4
-rw-r--r--data/maps/MirageTower_4F/map.json2
-rw-r--r--data/maps/MossdeepCity/map.json2
-rw-r--r--data/maps/MossdeepCity_House4/scripts.inc2
-rw-r--r--data/maps/MossdeepCity_StevensHouse/scripts.inc4
-rw-r--r--data/maps/MtPyre_2F/map.json2
-rw-r--r--data/maps/MtPyre_3F/map.json2
-rw-r--r--data/maps/MtPyre_4F/map.json2
-rw-r--r--data/maps/MtPyre_5F/map.json2
-rw-r--r--data/maps/MtPyre_6F/map.json2
-rw-r--r--data/maps/MtPyre_Exterior/map.json4
-rw-r--r--data/maps/NewMauville_Entrance/scripts.inc4
-rw-r--r--data/maps/NewMauville_Inside/map.json10
-rw-r--r--data/maps/PetalburgCity/map.json4
-rw-r--r--data/maps/PetalburgWoods/map.json12
-rw-r--r--data/maps/Route102/map.json2
-rw-r--r--data/maps/Route103/map.json8
-rw-r--r--data/maps/Route104/map.json10
-rw-r--r--data/maps/Route104_MrBrineysHouse/scripts.inc4
-rw-r--r--data/maps/Route104_PrettyPetalFlowerShop/scripts.inc4
-rw-r--r--data/maps/Route105/map.json2
-rw-r--r--data/maps/Route106/map.json2
-rw-r--r--data/maps/Route108/map.json2
-rw-r--r--data/maps/Route109/map.json4
-rw-r--r--data/maps/Route109_SeashoreHouse/scripts.inc4
-rw-r--r--data/maps/Route110/map.json6
-rw-r--r--data/maps/Route110_TrickHouseEnd/scripts.inc4
-rw-r--r--data/maps/Route110_TrickHouseEntrance/scripts.inc72
-rw-r--r--data/maps/Route110_TrickHousePuzzle1/map.json24
-rw-r--r--data/maps/Route110_TrickHousePuzzle2/map.json4
-rw-r--r--data/maps/Route110_TrickHousePuzzle3/map.json8
-rw-r--r--data/maps/Route110_TrickHousePuzzle4/map.json22
-rw-r--r--data/maps/Route110_TrickHousePuzzle6/map.json2
-rw-r--r--data/maps/Route110_TrickHousePuzzle7/map.json2
-rw-r--r--data/maps/Route110_TrickHousePuzzle8/map.json2
-rw-r--r--data/maps/Route111/map.json14
-rw-r--r--data/maps/Route111_OldLadysRestStop/scripts.inc4
-rw-r--r--data/maps/Route112/map.json2
-rw-r--r--data/maps/Route113/map.json6
-rw-r--r--data/maps/Route113_GlassWorkshop/scripts.inc4
-rw-r--r--data/maps/Route114/map.json16
-rw-r--r--data/maps/Route114_FossilManiacsHouse/scripts.inc4
-rw-r--r--data/maps/Route114_LanettesHouse/scripts.inc4
-rw-r--r--data/maps/Route115/map.json14
-rw-r--r--data/maps/Route116/map.json20
-rw-r--r--data/maps/Route116_TunnelersRestHouse/scripts.inc4
-rw-r--r--data/maps/Route117/map.json6
-rw-r--r--data/maps/Route117_PokemonDayCare/scripts.inc4
-rw-r--r--data/maps/Route118/map.json4
-rw-r--r--data/maps/Route119/map.json18
-rw-r--r--data/maps/Route119_WeatherInstitute_2F/scripts.inc4
-rw-r--r--data/maps/Route120/map.json16
-rw-r--r--data/maps/Route120/scripts.inc4
-rw-r--r--data/maps/Route121/map.json12
-rw-r--r--data/maps/Route123/map.json16
-rw-r--r--data/maps/Route123_BerryMastersHouse/scripts.inc4
-rw-r--r--data/maps/Route124/map.json6
-rw-r--r--data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc4
-rw-r--r--data/maps/Route125/map.json2
-rw-r--r--data/maps/Route126/map.json2
-rw-r--r--data/maps/Route127/map.json6
-rw-r--r--data/maps/Route128/scripts.inc8
-rw-r--r--data/maps/Route132/map.json4
-rw-r--r--data/maps/Route133/map.json6
-rw-r--r--data/maps/Route134/map.json4
-rw-r--r--data/maps/RustboroCity/map.json2
-rw-r--r--data/maps/RustboroCity_DevonCorp_2F/scripts.inc8
-rw-r--r--data/maps/RusturfTunnel/map.json8
-rw-r--r--data/maps/SafariZone_North/map.json14
-rw-r--r--data/maps/SafariZone_Northeast/map.json12
-rw-r--r--data/maps/SafariZone_Northwest/map.json2
-rw-r--r--data/maps/SafariZone_Southeast/map.json2
-rw-r--r--data/maps/SafariZone_Southwest/map.json2
-rw-r--r--data/maps/ScorchedSlab/map.json2
-rw-r--r--data/maps/ScorchedSlab/scripts.inc4
-rw-r--r--data/maps/SeafloorCavern_Room1/map.json6
-rw-r--r--data/maps/SeafloorCavern_Room2/map.json16
-rw-r--r--data/maps/SeafloorCavern_Room3/map.json14
-rw-r--r--data/maps/SeafloorCavern_Room5/map.json12
-rw-r--r--data/maps/SeafloorCavern_Room8/map.json24
-rw-r--r--data/maps/SeafloorCavern_Room9/map.json2
-rw-r--r--data/maps/SeafloorCavern_Room9/scripts.inc4
-rw-r--r--data/maps/SealedChamber_OuterRoom/scripts.inc4
-rw-r--r--data/maps/SecretBase_YellowCave4/scripts.inc2
-rw-r--r--data/maps/ShoalCave_LowTideEntranceRoom/map.json2
-rw-r--r--data/maps/ShoalCave_LowTideIceRoom/map.json4
-rw-r--r--data/maps/ShoalCave_LowTideInnerRoom/map.json2
-rw-r--r--data/maps/ShoalCave_LowTideLowerRoom/map.json2
-rw-r--r--data/maps/ShoalCave_LowTideStairsRoom/map.json2
-rw-r--r--data/maps/SkyPillar_Entrance/scripts.inc4
-rw-r--r--data/maps/SkyPillar_Top/scripts.inc2
-rw-r--r--data/maps/SlateportCity/scripts.inc16
-rw-r--r--data/maps/SouthernIsland_Exterior/scripts.inc4
-rw-r--r--data/maps/TrainerHill_Entrance/scripts.inc4
-rw-r--r--data/maps/Underwater_SeafloorCavern/map.json8
-rw-r--r--data/maps/Underwater_SeafloorCavern/scripts.inc10
-rw-r--r--data/maps/VictoryRoad_1F/map.json4
-rw-r--r--data/maps/VictoryRoad_B1F/map.json32
-rw-r--r--data/maps/VictoryRoad_B2F/map.json2
-rw-r--r--data/mystery_event_msg.s2
-rwxr-xr-xdata/pokemon_jump.s698
-rw-r--r--data/rom_8011DC0.s4385
-rw-r--r--data/rom_81D1C44.s251
-rw-r--r--data/script_cmd_table.inc4
-rw-r--r--data/scripts/berry_tree.inc172
-rw-r--r--data/scripts/cable_club.inc4
-rw-r--r--data/scripts/field_move_scripts.inc240
-rw-r--r--data/scripts/item_ball_scripts.inc332
-rw-r--r--data/scripts/secret_base.inc52
-rw-r--r--data/scripts/secret_power_tm.inc8
-rw-r--r--data/specials.inc62
-rw-r--r--data/text/contest_text_pointers.inc78
-rw-r--r--data/text/surf.inc4
-rw-r--r--data/use_pokeblock.s6
-rw-r--r--graphics/battle_anims/backgrounds/aurora.bin (renamed from graphics/battle_anims/backgrounds/20.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/aurora.png (renamed from graphics/battle_anims/backgrounds/20.png)bin1998 -> 1998 bytes
-rw-r--r--graphics/battle_anims/backgrounds/bug.pal (renamed from graphics/battle_anims/backgrounds/22.pal)0
-rw-r--r--graphics/battle_anims/backgrounds/cosmic.bin (renamed from graphics/battle_anims/backgrounds/16.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/cosmic.png (renamed from graphics/battle_anims/backgrounds/16.png)bin634 -> 634 bytes
-rw-r--r--graphics/battle_anims/backgrounds/dark.bin (renamed from graphics/battle_anims/backgrounds/00.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/dark.png (renamed from graphics/battle_anims/backgrounds/00.png)bin1021 -> 1021 bytes
-rw-r--r--graphics/battle_anims/backgrounds/drill.bin (renamed from graphics/battle_anims/backgrounds/07.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/drill.png (renamed from graphics/battle_anims/backgrounds/07.png)bin373 -> 373 bytes
-rw-r--r--graphics/battle_anims/backgrounds/drill_contests.bin (renamed from graphics/battle_anims/backgrounds/08.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/fissure.bin (renamed from graphics/battle_anims/backgrounds/21.bin)bin4096 -> 4096 bytes
-rw-r--r--graphics/battle_anims/backgrounds/fissure.png (renamed from graphics/battle_anims/backgrounds/21.png)bin672 -> 672 bytes
-rw-r--r--graphics/battle_anims/backgrounds/ghost.bin (renamed from graphics/battle_anims/backgrounds/02.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/ghost.png (renamed from graphics/battle_anims/backgrounds/02.png)bin2426 -> 2426 bytes
-rw-r--r--graphics/battle_anims/backgrounds/guillotine.png (renamed from graphics/battle_anims/backgrounds/12.png)bin2504 -> 2504 bytes
-rw-r--r--graphics/battle_anims/backgrounds/guillotine_contests.bin (renamed from graphics/battle_anims/backgrounds/14.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/guillotine_opponent.bin (renamed from graphics/battle_anims/backgrounds/12.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/guillotine_player.bin (renamed from graphics/battle_anims/backgrounds/13.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/highspeed.png (renamed from graphics/battle_anims/backgrounds/09.png)bin964 -> 964 bytes
-rw-r--r--graphics/battle_anims/backgrounds/highspeed_opponent.bin (renamed from graphics/battle_anims/backgrounds/09.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/highspeed_player.bin (renamed from graphics/battle_anims/backgrounds/10.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/ice.bin (renamed from graphics/battle_anims/backgrounds/15.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/ice.png (renamed from graphics/battle_anims/backgrounds/15.png)bin1859 -> 1859 bytes
-rw-r--r--graphics/battle_anims/backgrounds/impact.png (renamed from graphics/battle_anims/backgrounds/04.png)bin2672 -> 2672 bytes
-rw-r--r--graphics/battle_anims/backgrounds/impact_contests.bin (renamed from graphics/battle_anims/backgrounds/06.bin)bin1280 -> 1280 bytes
-rw-r--r--graphics/battle_anims/backgrounds/impact_opponent.bin (renamed from graphics/battle_anims/backgrounds/04.bin)bin1280 -> 1280 bytes
-rw-r--r--graphics/battle_anims/backgrounds/impact_player.bin (renamed from graphics/battle_anims/backgrounds/05.bin)bin1280 -> 1280 bytes
-rw-r--r--graphics/battle_anims/backgrounds/in_air.bin (renamed from graphics/battle_anims/backgrounds/17.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/in_air.png (renamed from graphics/battle_anims/backgrounds/17.png)bin388 -> 388 bytes
-rw-r--r--graphics/battle_anims/backgrounds/psychic.bin (renamed from graphics/battle_anims/backgrounds/03.bin)bin1280 -> 1280 bytes
-rw-r--r--graphics/battle_anims/backgrounds/psychic.png (renamed from graphics/battle_anims/backgrounds/03.png)bin418 -> 418 bytes
-rw-r--r--graphics/battle_anims/backgrounds/sky.pal (renamed from graphics/battle_anims/backgrounds/18.pal)0
-rw-r--r--graphics/battle_anims/backgrounds/solarbeam.pal (renamed from graphics/battle_anims/backgrounds/24.pal)0
-rw-r--r--graphics/battle_anims/backgrounds/thunder.bin (renamed from graphics/battle_anims/backgrounds/11.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_anims/backgrounds/thunder.png (renamed from graphics/battle_anims/backgrounds/11.png)bin1714 -> 1714 bytes
-rw-r--r--graphics/battle_anims/sprites/air_slash.png (renamed from graphics/battle_anims/sprites/061.png)bin259 -> 259 bytes
-rw-r--r--graphics/battle_anims/sprites/air_wave.png (renamed from graphics/battle_anims/sprites/003.png)bin197 -> 197 bytes
-rw-r--r--graphics/battle_anims/sprites/air_wave_2.png (renamed from graphics/battle_anims/sprites/154.png)bin225 -> 225 bytes
-rw-r--r--graphics/battle_anims/sprites/alert.png (renamed from graphics/battle_anims/sprites/075.png)bin541 -> 541 bytes
-rw-r--r--graphics/battle_anims/sprites/amnesia.png (renamed from graphics/battle_anims/sprites/093.png)bin1351 -> 1351 bytes
-rw-r--r--graphics/battle_anims/sprites/angel.png (renamed from graphics/battle_anims/sprites/220.png)bin329 -> 329 bytes
-rw-r--r--graphics/battle_anims/sprites/anger.png (renamed from graphics/battle_anims/sprites/087.png)bin183 -> 183 bytes
-rw-r--r--graphics/battle_anims/sprites/bell.png (renamed from graphics/battle_anims/sprites/205.png)bin479 -> 479 bytes
-rw-r--r--graphics/battle_anims/sprites/bell_2.png (renamed from graphics/battle_anims/sprites/080.png)bin661 -> 661 bytes
-rw-r--r--graphics/battle_anims/sprites/bent_spoon.png (renamed from graphics/battle_anims/sprites/097.png)bin405 -> 405 bytes
-rw-r--r--graphics/battle_anims/sprites/bird.png (renamed from graphics/battle_anims/sprites/284.png)bin679 -> 679 bytes
-rw-r--r--graphics/battle_anims/sprites/black_ball.png (renamed from graphics/battle_anims/sprites/017.png)bin149 -> 149 bytes
-rw-r--r--graphics/battle_anims/sprites/black_ball_2.png (renamed from graphics/battle_anims/sprites/171.png)bin184 -> 184 bytes
-rw-r--r--graphics/battle_anims/sprites/black_smoke.png (renamed from graphics/battle_anims/sprites/016.png)bin198 -> 198 bytes
-rw-r--r--graphics/battle_anims/sprites/blue_burst.png (renamed from graphics/battle_anims/sprites/028.png)bin707 -> 707 bytes
-rw-r--r--graphics/battle_anims/sprites/blue_flames.png (renamed from graphics/battle_anims/sprites/076.png)bin555 -> 555 bytes
-rw-r--r--graphics/battle_anims/sprites/blue_flames_2.png (renamed from graphics/battle_anims/sprites/077.png)bin279 -> 279 bytes
-rw-r--r--graphics/battle_anims/sprites/blue_light_wall.pal (renamed from graphics/battle_anims/sprites/167.pal)0
-rw-r--r--graphics/battle_anims/sprites/blue_lines.png (renamed from graphics/battle_anims/sprites/082.png)bin148 -> 148 bytes
-rw-r--r--graphics/battle_anims/sprites/blue_orb.pal (renamed from graphics/battle_anims/sprites/236.pal)0
-rw-r--r--graphics/battle_anims/sprites/blue_ring.pal (renamed from graphics/battle_anims/sprites/165.pal)0
-rw-r--r--graphics/battle_anims/sprites/blue_ring_2.pal (renamed from graphics/battle_anims/sprites/288.pal)0
-rw-r--r--graphics/battle_anims/sprites/blue_shards.png (renamed from graphics/battle_anims/sprites/023.png)bin312 -> 312 bytes
-rw-r--r--graphics/battle_anims/sprites/blue_star.png (renamed from graphics/battle_anims/sprites/031.png)bin736 -> 736 bytes
-rw-r--r--graphics/battle_anims/sprites/bluegreen_orb.png (renamed from graphics/battle_anims/sprites/251.png)bin187 -> 187 bytes
-rw-r--r--graphics/battle_anims/sprites/bone.png (renamed from graphics/battle_anims/sprites/000.png)bin223 -> 223 bytes
-rw-r--r--graphics/battle_anims/sprites/bone_2.png (renamed from graphics/battle_anims/sprites/119.png)bin580 -> 580 bytes
-rw-r--r--graphics/battle_anims/sprites/breaking_egg.png (renamed from graphics/battle_anims/sprites/202.png)bin312 -> 312 bytes
-rw-r--r--graphics/battle_anims/sprites/breath.png (renamed from graphics/battle_anims/sprites/086.png)bin393 -> 393 bytes
-rw-r--r--graphics/battle_anims/sprites/brown_orb.pal (renamed from graphics/battle_anims/sprites/259.pal)0
-rw-r--r--graphics/battle_anims/sprites/brown_triangle.png (renamed from graphics/battle_anims/sprites/066.png)bin164 -> 164 bytes
-rw-r--r--graphics/battle_anims/sprites/bubble.png (renamed from graphics/battle_anims/sprites/146.png)bin253 -> 253 bytes
-rw-r--r--graphics/battle_anims/sprites/bubble_burst.png (renamed from graphics/battle_anims/sprites/032.png)bin283 -> 283 bytes
-rw-r--r--graphics/battle_anims/sprites/bubble_burst_2.png (renamed from graphics/battle_anims/sprites/042.png)bin633 -> 633 bytes
-rw-r--r--graphics/battle_anims/sprites/circle_impact.png (renamed from graphics/battle_anims/sprites/136.png)bin150 -> 150 bytes
-rw-r--r--graphics/battle_anims/sprites/circle_of_light.png (renamed from graphics/battle_anims/sprites/212.png)bin354 -> 354 bytes
-rw-r--r--graphics/battle_anims/sprites/clamp.png (renamed from graphics/battle_anims/sprites/145.png)bin270 -> 270 bytes
-rw-r--r--graphics/battle_anims/sprites/clapping.png (renamed from graphics/battle_anims/sprites/091.png)bin359 -> 359 bytes
-rw-r--r--graphics/battle_anims/sprites/claw_slash.png (renamed from graphics/battle_anims/sprites/039.png)bin590 -> 590 bytes
-rw-r--r--graphics/battle_anims/sprites/claw_slash_2.png (renamed from graphics/battle_anims/sprites/038.png)bin386 -> 386 bytes
-rw-r--r--graphics/battle_anims/sprites/closing_eye.png (renamed from graphics/battle_anims/sprites/024.png)bin231 -> 231 bytes
-rw-r--r--graphics/battle_anims/sprites/closing_eye_2.png (renamed from graphics/battle_anims/sprites/125.png)bin287 -> 287 bytes
-rw-r--r--graphics/battle_anims/sprites/coin.png (renamed from graphics/battle_anims/sprites/100.png)bin293 -> 293 bytes
-rw-r--r--graphics/battle_anims/sprites/confetti.png (renamed from graphics/battle_anims/sprites/240.png)bin258 -> 258 bytes
-rw-r--r--graphics/battle_anims/sprites/conversion.png (renamed from graphics/battle_anims/sprites/018.png)bin172 -> 172 bytes
-rw-r--r--graphics/battle_anims/sprites/cracked_egg.png (renamed from graphics/battle_anims/sprites/101.png)bin352 -> 352 bytes
-rw-r--r--graphics/battle_anims/sprites/cross_impact.png (renamed from graphics/battle_anims/sprites/285.png)bin228 -> 228 bytes
-rw-r--r--graphics/battle_anims/sprites/cut.png (renamed from graphics/battle_anims/sprites/138.png)bin234 -> 234 bytes
-rw-r--r--graphics/battle_anims/sprites/devil.png (renamed from graphics/battle_anims/sprites/221.png)bin521 -> 521 bytes
-rw-r--r--graphics/battle_anims/sprites/dirt_mound.png (renamed from graphics/battle_anims/sprites/281.png)bin399 -> 399 bytes
-rw-r--r--graphics/battle_anims/sprites/duck.png (renamed from graphics/battle_anims/sprites/073.png)bin319 -> 319 bytes
-rw-r--r--graphics/battle_anims/sprites/eclipsing_orb.png (renamed from graphics/battle_anims/sprites/234.png)bin333 -> 333 bytes
-rw-r--r--graphics/battle_anims/sprites/electric_orbs.png (renamed from graphics/battle_anims/sprites/211.png)bin190 -> 190 bytes
-rw-r--r--graphics/battle_anims/sprites/electricity.png (renamed from graphics/battle_anims/sprites/213.png)bin501 -> 501 bytes
-rw-r--r--graphics/battle_anims/sprites/explosion.png (renamed from graphics/battle_anims/sprites/198.png)bin845 -> 845 bytes
-rw-r--r--graphics/battle_anims/sprites/explosion_2.png (renamed from graphics/battle_anims/sprites/105.png)bin1101 -> 1101 bytes
-rw-r--r--graphics/battle_anims/sprites/explosion_3.png (renamed from graphics/battle_anims/sprites/106.png)bin287 -> 287 bytes
-rw-r--r--graphics/battle_anims/sprites/explosion_4.png (renamed from graphics/battle_anims/sprites/130.png)bin776 -> 776 bytes
-rw-r--r--graphics/battle_anims/sprites/explosion_5.png (renamed from graphics/battle_anims/sprites/131.png)bin354 -> 354 bytes
-rw-r--r--graphics/battle_anims/sprites/explosion_6.png (renamed from graphics/battle_anims/sprites/007.png)bin334 -> 334 bytes
-rw-r--r--graphics/battle_anims/sprites/eye.png (renamed from graphics/battle_anims/sprites/187.png)bin336 -> 336 bytes
-rw-r--r--graphics/battle_anims/sprites/eye_sparkle.png (renamed from graphics/battle_anims/sprites/218.png)bin239 -> 239 bytes
-rw-r--r--graphics/battle_anims/sprites/fang_attack.png (renamed from graphics/battle_anims/sprites/192.png)bin541 -> 541 bytes
-rw-r--r--graphics/battle_anims/sprites/fangs.png (renamed from graphics/battle_anims/sprites/104.png)bin427 -> 427 bytes
-rw-r--r--graphics/battle_anims/sprites/finger.png (renamed from graphics/battle_anims/sprites/064.png)bin289 -> 289 bytes
-rw-r--r--graphics/battle_anims/sprites/finger_2.png (renamed from graphics/battle_anims/sprites/214.png)bin534 -> 534 bytes
-rw-r--r--graphics/battle_anims/sprites/fire.png (renamed from graphics/battle_anims/sprites/033.png)bin1916 -> 1916 bytes
-rw-r--r--graphics/battle_anims/sprites/fire_plume.png (renamed from graphics/battle_anims/sprites/035.png)bin721 -> 721 bytes
-rw-r--r--graphics/battle_anims/sprites/flat_rock.png (renamed from graphics/battle_anims/sprites/257.png)bin317 -> 317 bytes
-rw-r--r--graphics/battle_anims/sprites/flower.pal (renamed from graphics/battle_anims/sprites/001.pal)0
-rw-r--r--graphics/battle_anims/sprites/flower_0.png (renamed from graphics/battle_anims/sprites/159_0.png)bin200 -> 200 bytes
-rw-r--r--graphics/battle_anims/sprites/flower_1.png (renamed from graphics/battle_anims/sprites/159_1.png)bin147 -> 147 bytes
-rw-r--r--graphics/battle_anims/sprites/flying_dirt.png (renamed from graphics/battle_anims/sprites/261.png)bin378 -> 378 bytes
-rw-r--r--graphics/battle_anims/sprites/focus_energy.png (renamed from graphics/battle_anims/sprites/184.png)bin332 -> 332 bytes
-rw-r--r--graphics/battle_anims/sprites/fresh_egg.png (renamed from graphics/battle_anims/sprites/103.png)bin193 -> 193 bytes
-rw-r--r--graphics/battle_anims/sprites/fury_swipes.png (renamed from graphics/battle_anims/sprites/116.png)bin576 -> 576 bytes
-rw-r--r--graphics/battle_anims/sprites/gem_1.png (renamed from graphics/battle_anims/sprites/274.png)bin261 -> 261 bytes
-rw-r--r--graphics/battle_anims/sprites/gem_2.png (renamed from graphics/battle_anims/sprites/275.png)bin221 -> 221 bytes
-rw-r--r--graphics/battle_anims/sprites/gem_3.png (renamed from graphics/battle_anims/sprites/276.png)bin245 -> 245 bytes
-rw-r--r--graphics/battle_anims/sprites/ghostly_spirit.png (renamed from graphics/battle_anims/sprites/200.png)bin333 -> 333 bytes
-rw-r--r--graphics/battle_anims/sprites/glass.png (renamed from graphics/battle_anims/sprites/019.png)bin255 -> 255 bytes
-rw-r--r--graphics/battle_anims/sprites/glass_2.png (renamed from graphics/battle_anims/sprites/044.png)bin500 -> 500 bytes
-rw-r--r--graphics/battle_anims/sprites/glowy_blue_orb.pal (renamed from graphics/battle_anims/sprites/268.pal)0
-rw-r--r--graphics/battle_anims/sprites/glowy_green_orb.pal (renamed from graphics/battle_anims/sprites/265.pal)0
-rw-r--r--graphics/battle_anims/sprites/glowy_red_orb.png (renamed from graphics/battle_anims/sprites/264.png)bin152 -> 152 bytes
-rw-r--r--graphics/battle_anims/sprites/gold_ring.png (renamed from graphics/battle_anims/sprites/163.png)bin188 -> 188 bytes
-rw-r--r--graphics/battle_anims/sprites/gold_stars.png (renamed from graphics/battle_anims/sprites/233.png)bin213 -> 213 bytes
-rw-r--r--graphics/battle_anims/sprites/gray_light_wall.pal (renamed from graphics/battle_anims/sprites/169.pal)0
-rw-r--r--graphics/battle_anims/sprites/gray_orb.png (renamed from graphics/battle_anims/sprites/235.png)bin195 -> 195 bytes
-rw-r--r--graphics/battle_anims/sprites/gray_smoke.png (renamed from graphics/battle_anims/sprites/030.png)bin761 -> 761 bytes
-rw-r--r--graphics/battle_anims/sprites/green_light_wall.png (renamed from graphics/battle_anims/sprites/166.png)bin401 -> 401 bytes
-rw-r--r--graphics/battle_anims/sprites/green_sparkle.png (renamed from graphics/battle_anims/sprites/195.png)bin235 -> 235 bytes
-rw-r--r--graphics/battle_anims/sprites/green_spike.png (renamed from graphics/battle_anims/sprites/266.png)bin167 -> 167 bytes
-rw-r--r--graphics/battle_anims/sprites/green_star.png (renamed from graphics/battle_anims/sprites/241.png)bin258 -> 258 bytes
-rw-r--r--graphics/battle_anims/sprites/guard_ring.png (renamed from graphics/battle_anims/sprites/244.png)bin226 -> 226 bytes
-rw-r--r--graphics/battle_anims/sprites/gust.png (renamed from graphics/battle_anims/sprites/009.png)bin635 -> 635 bytes
-rw-r--r--graphics/battle_anims/sprites/hail.png (renamed from graphics/battle_anims/sprites/263.png)bin166 -> 166 bytes
-rw-r--r--graphics/battle_anims/sprites/hands_and_feet.png (renamed from graphics/battle_anims/sprites/143.png)bin461 -> 461 bytes
-rw-r--r--graphics/battle_anims/sprites/hatched_egg.png (renamed from graphics/battle_anims/sprites/102.png)bin397 -> 397 bytes
-rw-r--r--graphics/battle_anims/sprites/hit.png (renamed from graphics/battle_anims/sprites/021.png)bin671 -> 671 bytes
-rw-r--r--graphics/battle_anims/sprites/hit_2.pal (renamed from graphics/battle_anims/sprites/022.pal)0
-rw-r--r--graphics/battle_anims/sprites/hit_duplicate.png (renamed from graphics/battle_anims/sprites/026.png)bin671 -> 671 bytes
-rw-r--r--graphics/battle_anims/sprites/hollow_orb.png (renamed from graphics/battle_anims/sprites/249.png)bin175 -> 175 bytes
-rw-r--r--graphics/battle_anims/sprites/horn_hit.png (renamed from graphics/battle_anims/sprites/020.png)bin260 -> 260 bytes
-rw-r--r--graphics/battle_anims/sprites/horn_hit_2.png (renamed from graphics/battle_anims/sprites/153.png)bin183 -> 183 bytes
-rw-r--r--graphics/battle_anims/sprites/humanoid_foot.png (renamed from graphics/battle_anims/sprites/050.png)bin225 -> 225 bytes
-rw-r--r--graphics/battle_anims/sprites/humanoid_hand.png (renamed from graphics/battle_anims/sprites/052.png)bin245 -> 245 bytes
-rw-r--r--graphics/battle_anims/sprites/ice_chunk.png (renamed from graphics/battle_anims/sprites/043.png)bin864 -> 864 bytes
-rw-r--r--graphics/battle_anims/sprites/ice_crystals.pal (renamed from graphics/battle_anims/sprites/010.pal)0
-rw-r--r--graphics/battle_anims/sprites/ice_crystals_0.png (renamed from graphics/battle_anims/sprites/141_0.png)bin180 -> 180 bytes
-rw-r--r--graphics/battle_anims/sprites/ice_crystals_1.png (renamed from graphics/battle_anims/sprites/141_1.png)bin170 -> 170 bytes
-rw-r--r--graphics/battle_anims/sprites/ice_crystals_2.png (renamed from graphics/battle_anims/sprites/141_2.png)bin184 -> 184 bytes
-rw-r--r--graphics/battle_anims/sprites/ice_crystals_3.png (renamed from graphics/battle_anims/sprites/141_3.png)bin168 -> 168 bytes
-rw-r--r--graphics/battle_anims/sprites/ice_crystals_4.png (renamed from graphics/battle_anims/sprites/141_4.png)bin155 -> 155 bytes
-rw-r--r--graphics/battle_anims/sprites/ice_cube.pal (renamed from graphics/battle_anims/sprites/141.pal)0
-rw-r--r--graphics/battle_anims/sprites/ice_cube_0.png (renamed from graphics/battle_anims/sprites/010_0.png)bin346 -> 346 bytes
-rw-r--r--graphics/battle_anims/sprites/ice_cube_1.png (renamed from graphics/battle_anims/sprites/010_1.png)bin272 -> 272 bytes
-rw-r--r--graphics/battle_anims/sprites/ice_cube_2.png (renamed from graphics/battle_anims/sprites/010_2.png)bin257 -> 257 bytes
-rw-r--r--graphics/battle_anims/sprites/ice_cube_3.png (renamed from graphics/battle_anims/sprites/010_3.png)bin222 -> 222 bytes
-rw-r--r--graphics/battle_anims/sprites/ice_spikes.png (renamed from graphics/battle_anims/sprites/142.png)bin191 -> 191 bytes
-rw-r--r--graphics/battle_anims/sprites/icicle_spear.png (renamed from graphics/battle_anims/sprites/262.png)bin249 -> 249 bytes
-rw-r--r--graphics/battle_anims/sprites/impact.png (renamed from graphics/battle_anims/sprites/135.png)bin243 -> 243 bytes
-rw-r--r--graphics/battle_anims/sprites/impact_2.png (renamed from graphics/battle_anims/sprites/084.png)bin587 -> 587 bytes
-rw-r--r--graphics/battle_anims/sprites/impact_3.png (renamed from graphics/battle_anims/sprites/083.png)bin846 -> 846 bytes
-rw-r--r--graphics/battle_anims/sprites/item_bag.png (renamed from graphics/battle_anims/sprites/224.png)bin300 -> 300 bytes
-rw-r--r--graphics/battle_anims/sprites/jagged_music_note.png (renamed from graphics/battle_anims/sprites/225.png)bin408 -> 408 bytes
-rw-r--r--graphics/battle_anims/sprites/large_fresh_egg.png (renamed from graphics/battle_anims/sprites/175.png)bin196 -> 196 bytes
-rw-r--r--graphics/battle_anims/sprites/leaf.png (renamed from graphics/battle_anims/sprites/063.png)bin414 -> 414 bytes
-rw-r--r--graphics/battle_anims/sprites/leer.png (renamed from graphics/battle_anims/sprites/027.png)bin619 -> 619 bytes
-rw-r--r--graphics/battle_anims/sprites/letter_z.png (renamed from graphics/battle_anims/sprites/228.png)bin203 -> 203 bytes
-rw-r--r--graphics/battle_anims/sprites/lick.png (renamed from graphics/battle_anims/sprites/177.png)bin186 -> 186 bytes
-rw-r--r--graphics/battle_anims/sprites/lightbulb.png (renamed from graphics/battle_anims/sprites/182.png)bin235 -> 235 bytes
-rw-r--r--graphics/battle_anims/sprites/lightning.png (renamed from graphics/battle_anims/sprites/037.png)bin645 -> 645 bytes
-rw-r--r--graphics/battle_anims/sprites/lightning_2.png (renamed from graphics/battle_anims/sprites/036.png)bin783 -> 783 bytes
-rw-r--r--graphics/battle_anims/sprites/lock_on.png (renamed from graphics/battle_anims/sprites/014.png)bin198 -> 198 bytes
-rw-r--r--graphics/battle_anims/sprites/magenta_heart.png (renamed from graphics/battle_anims/sprites/210.png)bin200 -> 200 bytes
-rw-r--r--graphics/battle_anims/sprites/magnifying_glass.png (renamed from graphics/battle_anims/sprites/258.png)bin290 -> 290 bytes
-rw-r--r--graphics/battle_anims/sprites/metal_ball.png (renamed from graphics/battle_anims/sprites/126.png)bin200 -> 200 bytes
-rw-r--r--graphics/battle_anims/sprites/metal_sound_waves.png (renamed from graphics/battle_anims/sprites/260.png)bin342 -> 342 bytes
-rw-r--r--graphics/battle_anims/sprites/meteor.png (renamed from graphics/battle_anims/sprites/256.png)bin686 -> 686 bytes
-rw-r--r--graphics/battle_anims/sprites/milk_bottle.png (renamed from graphics/battle_anims/sprites/099.png)bin334 -> 334 bytes
-rw-r--r--graphics/battle_anims/sprites/mist_cloud.png (renamed from graphics/battle_anims/sprites/144.png)bin191 -> 191 bytes
-rw-r--r--graphics/battle_anims/sprites/monster_doll.png (renamed from graphics/battle_anims/sprites/127.png)bin441 -> 441 bytes
-rw-r--r--graphics/battle_anims/sprites/monster_foot.png (renamed from graphics/battle_anims/sprites/051.png)bin224 -> 224 bytes
-rw-r--r--graphics/battle_anims/sprites/moon.png (renamed from graphics/battle_anims/sprites/194.png)bin616 -> 616 bytes
-rw-r--r--graphics/battle_anims/sprites/movement_waves.png (renamed from graphics/battle_anims/sprites/215.png)bin357 -> 357 bytes
-rw-r--r--graphics/battle_anims/sprites/mud_sand.pal (renamed from graphics/battle_anims/sprites/074.pal)0
-rw-r--r--graphics/battle_anims/sprites/mud_sand_0.png (renamed from graphics/battle_anims/sprites/074_0.png)bin153 -> 153 bytes
-rw-r--r--graphics/battle_anims/sprites/mud_sand_1.png (renamed from graphics/battle_anims/sprites/074_1.png)bin172 -> 172 bytes
-rw-r--r--graphics/battle_anims/sprites/mud_unk.png (renamed from graphics/battle_anims/sprites/114.png)bin284 -> 284 bytes
-rw-r--r--graphics/battle_anims/sprites/music_notes.png (renamed from graphics/battle_anims/sprites/072.png)bin277 -> 277 bytes
-rw-r--r--graphics/battle_anims/sprites/music_notes_2.pal (renamed from graphics/battle_anims/sprites/206.pal)0
-rw-r--r--graphics/battle_anims/sprites/music_notes_2.png (renamed from graphics/battle_anims/sprites/206.png)bin747 -> 747 bytes
-rw-r--r--graphics/battle_anims/sprites/nail.png (renamed from graphics/battle_anims/sprites/199.png)bin229 -> 229 bytes
-rw-r--r--graphics/battle_anims/sprites/needle.png (renamed from graphics/battle_anims/sprites/161.png)bin143 -> 143 bytes
-rw-r--r--graphics/battle_anims/sprites/noise_line.png (renamed from graphics/battle_anims/sprites/053.png)bin456 -> 456 bytes
-rw-r--r--graphics/battle_anims/sprites/opening_eye.png (renamed from graphics/battle_anims/sprites/190.png)bin463 -> 463 bytes
-rw-r--r--graphics/battle_anims/sprites/orange.png (renamed from graphics/battle_anims/sprites/012.png)bin199 -> 199 bytes
-rw-r--r--graphics/battle_anims/sprites/orange_light_wall.pal (renamed from graphics/battle_anims/sprites/170.pal)0
-rw-r--r--graphics/battle_anims/sprites/orb.png (renamed from graphics/battle_anims/sprites/004.png)bin233 -> 233 bytes
-rw-r--r--graphics/battle_anims/sprites/orbs.png (renamed from graphics/battle_anims/sprites/147.png)bin311 -> 311 bytes
-rw-r--r--graphics/battle_anims/sprites/pain_split.png (renamed from graphics/battle_anims/sprites/239.png)bin313 -> 313 bytes
-rw-r--r--graphics/battle_anims/sprites/paw_print.png (renamed from graphics/battle_anims/sprites/252.png)bin323 -> 323 bytes
-rw-r--r--graphics/battle_anims/sprites/pencil.png (renamed from graphics/battle_anims/sprites/002.png)bin251 -> 251 bytes
-rw-r--r--graphics/battle_anims/sprites/pencil_2.png (renamed from graphics/battle_anims/sprites/095.png)bin252 -> 252 bytes
-rw-r--r--graphics/battle_anims/sprites/petal.png (renamed from graphics/battle_anims/sprites/096.png)bin356 -> 356 bytes
-rw-r--r--graphics/battle_anims/sprites/pink_cloud.png (renamed from graphics/battle_anims/sprites/242.png)bin339 -> 339 bytes
-rw-r--r--graphics/battle_anims/sprites/pink_glove.png (renamed from graphics/battle_anims/sprites/081.png)bin217 -> 217 bytes
-rw-r--r--graphics/battle_anims/sprites/pink_heart.pal (renamed from graphics/battle_anims/sprites/219.pal)0
-rw-r--r--graphics/battle_anims/sprites/pink_heart_2.png (renamed from graphics/battle_anims/sprites/045.png)bin422 -> 422 bytes
-rw-r--r--graphics/battle_anims/sprites/pink_orb.png (renamed from graphics/battle_anims/sprites/008.png)bin147 -> 147 bytes
-rw-r--r--graphics/battle_anims/sprites/pink_petal.png (renamed from graphics/battle_anims/sprites/238.png)bin210 -> 210 bytes
-rw-r--r--graphics/battle_anims/sprites/poison_bubble.png (renamed from graphics/battle_anims/sprites/150.png)bin259 -> 259 bytes
-rw-r--r--graphics/battle_anims/sprites/poison_powder.png (renamed from graphics/battle_anims/sprites/065.png)bin343 -> 343 bytes
-rw-r--r--graphics/battle_anims/sprites/pokeball.png (renamed from graphics/battle_anims/sprites/226.png)bin245 -> 245 bytes
-rw-r--r--graphics/battle_anims/sprites/protect.png (renamed from graphics/battle_anims/sprites/280.png)bin601 -> 601 bytes
-rw-r--r--graphics/battle_anims/sprites/punch_impact.png (renamed from graphics/battle_anims/sprites/204.png)bin390 -> 390 bytes
-rw-r--r--graphics/battle_anims/sprites/purple_coral.png (renamed from graphics/battle_anims/sprites/122.png)bin293 -> 293 bytes
-rw-r--r--graphics/battle_anims/sprites/purple_droplet.png (renamed from graphics/battle_anims/sprites/123.png)bin274 -> 274 bytes
-rw-r--r--graphics/battle_anims/sprites/purple_flame.png (renamed from graphics/battle_anims/sprites/253.png)bin467 -> 467 bytes
-rw-r--r--graphics/battle_anims/sprites/purple_gas_cloud.pal (renamed from graphics/battle_anims/sprites/172.pal)0
-rw-r--r--graphics/battle_anims/sprites/purple_green_unk.png (renamed from graphics/battle_anims/sprites/112.png)bin762 -> 762 bytes
-rw-r--r--graphics/battle_anims/sprites/purple_hand_outline.png (renamed from graphics/battle_anims/sprites/193.png)bin358 -> 358 bytes
-rw-r--r--graphics/battle_anims/sprites/purple_ring.pal (renamed from graphics/battle_anims/sprites/164.pal)0
-rw-r--r--graphics/battle_anims/sprites/purple_scratch.png (renamed from graphics/battle_anims/sprites/245.png)bin329 -> 329 bytes
-rw-r--r--graphics/battle_anims/sprites/purple_swipe.png (renamed from graphics/battle_anims/sprites/246.png)bin758 -> 758 bytes
-rw-r--r--graphics/battle_anims/sprites/rain_drops.png (renamed from graphics/battle_anims/sprites/115.png)bin267 -> 267 bytes
-rw-r--r--graphics/battle_anims/sprites/rainbow_rings.png (renamed from graphics/battle_anims/sprites/140.png)bin224 -> 224 bytes
-rw-r--r--graphics/battle_anims/sprites/rapid_spin.png (renamed from graphics/battle_anims/sprites/229.png)bin445 -> 445 bytes
-rw-r--r--graphics/battle_anims/sprites/razor_leaf.png (renamed from graphics/battle_anims/sprites/160.png)bin219 -> 219 bytes
-rw-r--r--graphics/battle_anims/sprites/recycle.png (renamed from graphics/battle_anims/sprites/278.png)bin421 -> 421 bytes
-rw-r--r--graphics/battle_anims/sprites/red_ball.png (renamed from graphics/battle_anims/sprites/254.png)bin334 -> 334 bytes
-rw-r--r--graphics/battle_anims/sprites/red_brick.png (renamed from graphics/battle_anims/sprites/269.png)bin179 -> 179 bytes
-rw-r--r--graphics/battle_anims/sprites/red_fist.png (renamed from graphics/battle_anims/sprites/055.png)bin242 -> 242 bytes
-rw-r--r--graphics/battle_anims/sprites/red_heart.pal (renamed from graphics/battle_anims/sprites/216.pal)0
-rw-r--r--graphics/battle_anims/sprites/red_light_wall.pal (renamed from graphics/battle_anims/sprites/168.pal)0
-rw-r--r--graphics/battle_anims/sprites/red_orb.png (renamed from graphics/battle_anims/sprites/217.png)bin195 -> 195 bytes
-rw-r--r--graphics/battle_anims/sprites/red_orb_2.pal (renamed from graphics/battle_anims/sprites/237.pal)0
-rw-r--r--graphics/battle_anims/sprites/red_particles.png (renamed from graphics/battle_anims/sprites/279.png)bin184 -> 184 bytes
-rw-r--r--graphics/battle_anims/sprites/red_tube.png (renamed from graphics/battle_anims/sprites/092.png)bin199 -> 199 bytes
-rw-r--r--graphics/battle_anims/sprites/red_wand.png (renamed from graphics/battle_anims/sprites/111.png)bin169 -> 169 bytes
-rw-r--r--graphics/battle_anims/sprites/reticle.png (renamed from graphics/battle_anims/sprites/085.png)bin221 -> 221 bytes
-rw-r--r--graphics/battle_anims/sprites/ring.png (renamed from graphics/battle_anims/sprites/057.png)bin214 -> 214 bytes
-rw-r--r--graphics/battle_anims/sprites/rocks.png (renamed from graphics/battle_anims/sprites/058.png)bin818 -> 818 bytes
-rw-r--r--graphics/battle_anims/sprites/roots.png (renamed from graphics/battle_anims/sprites/223.png)bin524 -> 524 bytes
-rw-r--r--graphics/battle_anims/sprites/round_shadow.png (renamed from graphics/battle_anims/sprites/156.png)bin332 -> 332 bytes
-rw-r--r--graphics/battle_anims/sprites/round_white_halo.png (renamed from graphics/battle_anims/sprites/191.png)bin399 -> 399 bytes
-rw-r--r--graphics/battle_anims/sprites/sap_drip.png (renamed from graphics/battle_anims/sprites/046.png)bin716 -> 716 bytes
-rw-r--r--graphics/battle_anims/sprites/sap_drip_2.pal (renamed from graphics/battle_anims/sprites/047.pal)0
-rw-r--r--graphics/battle_anims/sprites/scratch.png (renamed from graphics/battle_anims/sprites/137.png)bin377 -> 377 bytes
-rw-r--r--graphics/battle_anims/sprites/scratch_2.png (renamed from graphics/battle_anims/sprites/041.png)bin249 -> 249 bytes
-rw-r--r--graphics/battle_anims/sprites/scratch_3.png (renamed from graphics/battle_anims/sprites/040.png)bin362 -> 362 bytes
-rw-r--r--graphics/battle_anims/sprites/seed.png (renamed from graphics/battle_anims/sprites/006.png)bin275 -> 275 bytes
-rw-r--r--graphics/battle_anims/sprites/seed_2.png (renamed from graphics/battle_anims/sprites/109.png)bin161 -> 161 bytes
-rw-r--r--graphics/battle_anims/sprites/shadow_ball.png (renamed from graphics/battle_anims/sprites/176.png)bin330 -> 330 bytes
-rw-r--r--graphics/battle_anims/sprites/sharp_teeth.png (renamed from graphics/battle_anims/sprites/139.png)bin299 -> 299 bytes
-rw-r--r--graphics/battle_anims/sprites/shock.png (renamed from graphics/battle_anims/sprites/079.png)bin880 -> 880 bytes
-rw-r--r--graphics/battle_anims/sprites/shock_2.png (renamed from graphics/battle_anims/sprites/124.png)bin594 -> 594 bytes
-rw-r--r--graphics/battle_anims/sprites/shock_3.png (renamed from graphics/battle_anims/sprites/282.png)bin401 -> 401 bytes
-rw-r--r--graphics/battle_anims/sprites/shock_4.png (renamed from graphics/battle_anims/sprites/078.png)bin403 -> 403 bytes
-rw-r--r--graphics/battle_anims/sprites/slam_hit.png (renamed from graphics/battle_anims/sprites/056.png)bin862 -> 862 bytes
-rw-r--r--graphics/battle_anims/sprites/slam_hit_2.png (renamed from graphics/battle_anims/sprites/277.png)bin684 -> 684 bytes
-rw-r--r--graphics/battle_anims/sprites/slash.png (renamed from graphics/battle_anims/sprites/183.png)bin546 -> 546 bytes
-rw-r--r--graphics/battle_anims/sprites/slash_2.pal (renamed from graphics/battle_anims/sprites/286.pal)0
-rw-r--r--graphics/battle_anims/sprites/sleep_powder.pal (renamed from graphics/battle_anims/sprites/067.pal)0
-rw-r--r--graphics/battle_anims/sprites/small_bubbles.png (renamed from graphics/battle_anims/sprites/155.png)bin255 -> 255 bytes
-rw-r--r--graphics/battle_anims/sprites/small_ember.png (renamed from graphics/battle_anims/sprites/029.png)bin537 -> 537 bytes
-rw-r--r--graphics/battle_anims/sprites/small_red_eye.png (renamed from graphics/battle_anims/sprites/248.png)bin141 -> 141 bytes
-rw-r--r--graphics/battle_anims/sprites/smellingsalt_effect.png (renamed from graphics/battle_anims/sprites/255.png)bin208 -> 208 bytes
-rw-r--r--graphics/battle_anims/sprites/smoke.png (renamed from graphics/battle_anims/sprites/133.png)bin207 -> 207 bytes
-rw-r--r--graphics/battle_anims/sprites/smoke_2.png (renamed from graphics/battle_anims/sprites/134.png)bin248 -> 248 bytes
-rw-r--r--graphics/battle_anims/sprites/snore_z.png (renamed from graphics/battle_anims/sprites/197.png)bin375 -> 375 bytes
-rw-r--r--graphics/battle_anims/sprites/snowball.png (renamed from graphics/battle_anims/sprites/088.png)bin194 -> 194 bytes
-rw-r--r--graphics/battle_anims/sprites/spark.pal (renamed from graphics/battle_anims/sprites/159.pal)0
-rw-r--r--graphics/battle_anims/sprites/spark_0.png (renamed from graphics/battle_anims/sprites/001_0.png)bin178 -> 178 bytes
-rw-r--r--graphics/battle_anims/sprites/spark_1.png (renamed from graphics/battle_anims/sprites/001_1.png)bin198 -> 198 bytes
-rw-r--r--graphics/battle_anims/sprites/spark_2.png (renamed from graphics/battle_anims/sprites/011.png)bin212 -> 212 bytes
-rw-r--r--graphics/battle_anims/sprites/spark_h.png (renamed from graphics/battle_anims/sprites/173.png)bin212 -> 212 bytes
-rw-r--r--graphics/battle_anims/sprites/sparkle_1.png (renamed from graphics/battle_anims/sprites/048.png)bin666 -> 666 bytes
-rw-r--r--graphics/battle_anims/sprites/sparkle_2.pal (renamed from graphics/battle_anims/sprites/049.pal)0
-rw-r--r--graphics/battle_anims/sprites/sparkle_3.png (renamed from graphics/battle_anims/sprites/070.png)bin195 -> 195 bytes
-rw-r--r--graphics/battle_anims/sprites/sparkle_4.png (renamed from graphics/battle_anims/sprites/071.png)bin412 -> 412 bytes
-rw-r--r--graphics/battle_anims/sprites/sparkle_6.png (renamed from graphics/battle_anims/sprites/271.png)bin172 -> 172 bytes
-rw-r--r--graphics/battle_anims/sprites/speed_dust.png (renamed from graphics/battle_anims/sprites/207.png)bin262 -> 262 bytes
-rw-r--r--graphics/battle_anims/sprites/sphere_to_cube.png (renamed from graphics/battle_anims/sprites/185.png)bin819 -> 819 bytes
-rw-r--r--graphics/battle_anims/sprites/spider_web.png (renamed from graphics/battle_anims/sprites/181.png)bin542 -> 542 bytes
-rw-r--r--graphics/battle_anims/sprites/spikes.png (renamed from graphics/battle_anims/sprites/152.png)bin175 -> 175 bytes
-rw-r--r--graphics/battle_anims/sprites/spinning_fire.png (renamed from graphics/battle_anims/sprites/034.png)bin850 -> 850 bytes
-rw-r--r--graphics/battle_anims/sprites/spinning_green_orbs.png (renamed from graphics/battle_anims/sprites/062.png)bin845 -> 845 bytes
-rw-r--r--graphics/battle_anims/sprites/spiral.png (renamed from graphics/battle_anims/sprites/196.png)bin726 -> 726 bytes
-rw-r--r--graphics/battle_anims/sprites/splash.png (renamed from graphics/battle_anims/sprites/272.png)bin384 -> 384 bytes
-rw-r--r--graphics/battle_anims/sprites/spore.png (renamed from graphics/battle_anims/sprites/158.png)bin251 -> 251 bytes
-rw-r--r--graphics/battle_anims/sprites/spotlight.png (renamed from graphics/battle_anims/sprites/227.png)bin269 -> 269 bytes
-rw-r--r--graphics/battle_anims/sprites/sprout.png (renamed from graphics/battle_anims/sprites/110.png)bin688 -> 688 bytes
-rw-r--r--graphics/battle_anims/sprites/string.png (renamed from graphics/battle_anims/sprites/179.png)bin226 -> 226 bytes
-rw-r--r--graphics/battle_anims/sprites/string_2.png (renamed from graphics/battle_anims/sprites/094.png)bin281 -> 281 bytes
-rw-r--r--graphics/battle_anims/sprites/stun_spore.pal (renamed from graphics/battle_anims/sprites/068.pal)0
-rw-r--r--graphics/battle_anims/sprites/sunlight.png (renamed from graphics/battle_anims/sprites/157.png)bin184 -> 184 bytes
-rw-r--r--graphics/battle_anims/sprites/sweat_bead.png (renamed from graphics/battle_anims/sprites/273.png)bin159 -> 159 bytes
-rw-r--r--graphics/battle_anims/sprites/sweat_drop.png (renamed from graphics/battle_anims/sprites/243.png)bin160 -> 160 bytes
-rw-r--r--graphics/battle_anims/sprites/swipe.png (renamed from graphics/battle_anims/sprites/222.png)bin554 -> 554 bytes
-rw-r--r--graphics/battle_anims/sprites/sword.png (renamed from graphics/battle_anims/sprites/005.png)bin200 -> 200 bytes
-rw-r--r--graphics/battle_anims/sprites/sword_2.png (renamed from graphics/battle_anims/sprites/090.png)bin229 -> 229 bytes
-rw-r--r--graphics/battle_anims/sprites/tag_hand.png (renamed from graphics/battle_anims/sprites/247.png)bin441 -> 441 bytes
-rw-r--r--graphics/battle_anims/sprites/teal_alert.png (renamed from graphics/battle_anims/sprites/189.png)bin196 -> 196 bytes
-rw-r--r--graphics/battle_anims/sprites/teeth.png (renamed from graphics/battle_anims/sprites/118.png)bin296 -> 296 bytes
-rw-r--r--graphics/battle_anims/sprites/tendrils.png (renamed from graphics/battle_anims/sprites/186.png)bin599 -> 599 bytes
-rw-r--r--graphics/battle_anims/sprites/thin_ring.png (renamed from graphics/battle_anims/sprites/203.png)bin323 -> 323 bytes
-rw-r--r--graphics/battle_anims/sprites/thought_bubble.png (renamed from graphics/battle_anims/sprites/209.png)bin620 -> 620 bytes
-rw-r--r--graphics/battle_anims/sprites/tied_bag.png (renamed from graphics/battle_anims/sprites/015.png)bin199 -> 199 bytes
-rw-r--r--graphics/battle_anims/sprites/tongue.png (renamed from graphics/battle_anims/sprites/132.png)bin291 -> 291 bytes
-rw-r--r--graphics/battle_anims/sprites/torn_metal.png (renamed from graphics/battle_anims/sprites/208.png)bin815 -> 815 bytes
-rw-r--r--graphics/battle_anims/sprites/toxic_bubble.png (renamed from graphics/battle_anims/sprites/151.png)bin239 -> 239 bytes
-rw-r--r--graphics/battle_anims/sprites/tri_force_triangle.png (renamed from graphics/battle_anims/sprites/230.png)bin481 -> 481 bytes
-rw-r--r--graphics/battle_anims/sprites/unknown.png (renamed from graphics/battle_anims/sprites/121.png)bin163 -> 163 bytes
-rw-r--r--graphics/battle_anims/sprites/vine.png (renamed from graphics/battle_anims/sprites/089.png)bin488 -> 488 bytes
-rw-r--r--graphics/battle_anims/sprites/vine_2.png (renamed from graphics/battle_anims/sprites/117.png)bin474 -> 474 bytes
-rw-r--r--graphics/battle_anims/sprites/void_lines.png (renamed from graphics/battle_anims/sprites/178.png)bin358 -> 358 bytes
-rw-r--r--graphics/battle_anims/sprites/warm_rock.png (renamed from graphics/battle_anims/sprites/201.png)bin1316 -> 1316 bytes
-rw-r--r--graphics/battle_anims/sprites/water_column.png (renamed from graphics/battle_anims/sprites/113.png)bin586 -> 586 bytes
-rw-r--r--graphics/battle_anims/sprites/water_droplet.png (renamed from graphics/battle_anims/sprites/107.png)bin576 -> 576 bytes
-rw-r--r--graphics/battle_anims/sprites/water_droplet_2.png (renamed from graphics/battle_anims/sprites/108.png)bin800 -> 800 bytes
-rw-r--r--graphics/battle_anims/sprites/water_impact.png (renamed from graphics/battle_anims/sprites/148.png)bin259 -> 259 bytes
-rw-r--r--graphics/battle_anims/sprites/water_orb.png (renamed from graphics/battle_anims/sprites/149.png)bin233 -> 233 bytes
-rw-r--r--graphics/battle_anims/sprites/waving_hand.png (renamed from graphics/battle_anims/sprites/025.png)bin274 -> 274 bytes
-rw-r--r--graphics/battle_anims/sprites/weather_ball.png (renamed from graphics/battle_anims/sprites/283.png)bin323 -> 323 bytes
-rw-r--r--graphics/battle_anims/sprites/web.png (renamed from graphics/battle_anims/sprites/098.png)bin328 -> 328 bytes
-rw-r--r--graphics/battle_anims/sprites/web_thread.png (renamed from graphics/battle_anims/sprites/180.png)bin139 -> 139 bytes
-rw-r--r--graphics/battle_anims/sprites/whip_hit.pal (renamed from graphics/battle_anims/sprites/287.pal)0
-rw-r--r--graphics/battle_anims/sprites/whirlwind.png (renamed from graphics/battle_anims/sprites/128.png)bin500 -> 500 bytes
-rw-r--r--graphics/battle_anims/sprites/whirlwind_2.png (renamed from graphics/battle_anims/sprites/129.png)bin205 -> 205 bytes
-rw-r--r--graphics/battle_anims/sprites/whirlwind_lines.png (renamed from graphics/battle_anims/sprites/162.png)bin179 -> 179 bytes
-rw-r--r--graphics/battle_anims/sprites/white_bag.png (renamed from graphics/battle_anims/sprites/120.png)bin301 -> 301 bytes
-rw-r--r--graphics/battle_anims/sprites/white_circle_of_light.pal (renamed from graphics/battle_anims/sprites/267.pal)0
-rw-r--r--graphics/battle_anims/sprites/white_feather.png (renamed from graphics/battle_anims/sprites/270.png)bin304 -> 304 bytes
-rw-r--r--graphics/battle_anims/sprites/white_shadow.png (renamed from graphics/battle_anims/sprites/188.png)bin249 -> 249 bytes
-rw-r--r--graphics/battle_anims/sprites/wisp_fire.png (renamed from graphics/battle_anims/sprites/232.png)bin1085 -> 1085 bytes
-rw-r--r--graphics/battle_anims/sprites/wisp_orb.png (renamed from graphics/battle_anims/sprites/231.png)bin391 -> 391 bytes
-rw-r--r--graphics/battle_anims/sprites/x_sign.png (renamed from graphics/battle_anims/sprites/250.png)bin457 -> 457 bytes
-rw-r--r--graphics/battle_anims/sprites/yellow_ball.png (renamed from graphics/battle_anims/sprites/013.png)bin161 -> 161 bytes
-rw-r--r--graphics/battle_anims/sprites/yellow_star.png (renamed from graphics/battle_anims/sprites/174.png)bin210 -> 210 bytes
-rw-r--r--graphics/battle_anims/sprites/yellow_unk.png (renamed from graphics/battle_anims/sprites/054.png)bin159 -> 159 bytes
-rw-r--r--graphics/battle_anims/sprites/yellow_unk_2.png (renamed from graphics/battle_anims/sprites/060.png)bin154 -> 154 bytes
-rw-r--r--graphics/battle_anims/sprites/z.png (renamed from graphics/battle_anims/sprites/059.png)bin193 -> 193 bytes
-rw-r--r--graphics/decorations/decoration_menu.pal (renamed from graphics/decorations/unk_85a6bb0.pal)0
-rw-r--r--graphics/pokemon/abra/anim_front.png (renamed from graphics/pokemon/anim_front_pics/abra_front_pic.png)bin698 -> 698 bytes
-rw-r--r--graphics/pokemon/abra/back.png (renamed from graphics/pokemon/back_pics/abra_back_pic.png)bin616 -> 616 bytes
-rw-r--r--graphics/pokemon/abra/footprint.png (renamed from graphics/pokemon/footprints/abra_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/abra/front.png (renamed from graphics/pokemon/front_pics/abra_still_front_pic.png)bin585 -> 585 bytes
-rw-r--r--graphics/pokemon/abra/icon.png (renamed from graphics/pokemon/icons/abra_icon.png)bin327 -> 327 bytes
-rw-r--r--graphics/pokemon/abra/normal.pal (renamed from graphics/pokemon/palettes/abra_palette.pal)0
-rw-r--r--graphics/pokemon/abra/shiny.pal (renamed from graphics/pokemon/palettes/abra_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/absol/anim_front.png (renamed from graphics/pokemon/anim_front_pics/absol_front_pic.png)bin1339 -> 1339 bytes
-rw-r--r--graphics/pokemon/absol/back.png (renamed from graphics/pokemon/back_pics/absol_back_pic.png)bin673 -> 673 bytes
-rw-r--r--graphics/pokemon/absol/footprint.png (renamed from graphics/pokemon/footprints/absol_footprint.png)bin102 -> 102 bytes
-rw-r--r--graphics/pokemon/absol/front.png (renamed from graphics/pokemon/front_pics/absol_still_front_pic.png)bin890 -> 890 bytes
-rw-r--r--graphics/pokemon/absol/icon.png (renamed from graphics/pokemon/icons/absol_icon.png)bin371 -> 371 bytes
-rw-r--r--graphics/pokemon/absol/normal.pal (renamed from graphics/pokemon/palettes/absol_palette.pal)0
-rw-r--r--graphics/pokemon/absol/shiny.pal (renamed from graphics/pokemon/palettes/absol_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/aerodactyl/anim_front.png (renamed from graphics/pokemon/anim_front_pics/aerodactyl_front_pic.png)bin1464 -> 1464 bytes
-rw-r--r--graphics/pokemon/aerodactyl/back.png (renamed from graphics/pokemon/back_pics/aerodactyl_back_pic.png)bin602 -> 602 bytes
-rw-r--r--graphics/pokemon/aerodactyl/footprint.png (renamed from graphics/pokemon/footprints/aerodactyl_footprint.png)bin92 -> 92 bytes
-rw-r--r--graphics/pokemon/aerodactyl/front.png (renamed from graphics/pokemon/front_pics/aerodactyl_still_front_pic.png)bin923 -> 923 bytes
-rw-r--r--graphics/pokemon/aerodactyl/icon.png (renamed from graphics/pokemon/icons/aerodactyl_icon.png)bin369 -> 369 bytes
-rw-r--r--graphics/pokemon/aerodactyl/normal.pal (renamed from graphics/pokemon/palettes/aerodactyl_palette.pal)0
-rw-r--r--graphics/pokemon/aerodactyl/shiny.pal (renamed from graphics/pokemon/palettes/aerodactyl_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/aggron/anim_front.png (renamed from graphics/pokemon/anim_front_pics/aggron_front_pic.png)bin1981 -> 1981 bytes
-rw-r--r--graphics/pokemon/aggron/back.png (renamed from graphics/pokemon/back_pics/aggron_back_pic.png)bin860 -> 860 bytes
-rw-r--r--graphics/pokemon/aggron/footprint.png (renamed from graphics/pokemon/footprints/aggron_footprint.png)bin102 -> 102 bytes
-rw-r--r--graphics/pokemon/aggron/front.png (renamed from graphics/pokemon/front_pics/aggron_still_front_pic.png)bin1158 -> 1158 bytes
-rw-r--r--graphics/pokemon/aggron/icon.png (renamed from graphics/pokemon/icons/aggron_icon.png)bin367 -> 367 bytes
-rw-r--r--graphics/pokemon/aggron/normal.pal (renamed from graphics/pokemon/palettes/aggron_palette.pal)0
-rw-r--r--graphics/pokemon/aggron/shiny.pal (renamed from graphics/pokemon/palettes/aggron_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/aipom/anim_front.png (renamed from graphics/pokemon/anim_front_pics/aipom_front_pic.png)bin924 -> 924 bytes
-rw-r--r--graphics/pokemon/aipom/back.png (renamed from graphics/pokemon/back_pics/aipom_back_pic.png)bin592 -> 592 bytes
-rw-r--r--graphics/pokemon/aipom/footprint.png (renamed from graphics/pokemon/footprints/aipom_footprint.png)bin86 -> 86 bytes
-rw-r--r--graphics/pokemon/aipom/front.png (renamed from graphics/pokemon/front_pics/aipom_still_front_pic.png)bin639 -> 639 bytes
-rw-r--r--graphics/pokemon/aipom/icon.png (renamed from graphics/pokemon/icons/aipom_icon.png)bin399 -> 399 bytes
-rw-r--r--graphics/pokemon/aipom/normal.pal (renamed from graphics/pokemon/palettes/aipom_palette.pal)0
-rw-r--r--graphics/pokemon/aipom/shiny.pal (renamed from graphics/pokemon/palettes/aipom_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/alakazam/anim_front.png (renamed from graphics/pokemon/anim_front_pics/alakazam_front_pic.png)bin1543 -> 1543 bytes
-rw-r--r--graphics/pokemon/alakazam/back.png (renamed from graphics/pokemon/back_pics/alakazam_back_pic.png)bin864 -> 864 bytes
-rw-r--r--graphics/pokemon/alakazam/footprint.png (renamed from graphics/pokemon/footprints/alakazam_footprint.png)bin95 -> 95 bytes
-rw-r--r--graphics/pokemon/alakazam/front.png (renamed from graphics/pokemon/front_pics/alakazam_still_front_pic.png)bin839 -> 839 bytes
-rw-r--r--graphics/pokemon/alakazam/icon.png (renamed from graphics/pokemon/icons/alakazam_icon.png)bin401 -> 401 bytes
-rw-r--r--graphics/pokemon/alakazam/normal.pal (renamed from graphics/pokemon/palettes/alakazam_palette.pal)0
-rw-r--r--graphics/pokemon/alakazam/shiny.pal (renamed from graphics/pokemon/palettes/alakazam_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/altaria/anim_front.png (renamed from graphics/pokemon/anim_front_pics/altaria_front_pic.png)bin1407 -> 1407 bytes
-rw-r--r--graphics/pokemon/altaria/back.png (renamed from graphics/pokemon/back_pics/altaria_back_pic.png)bin685 -> 685 bytes
-rw-r--r--graphics/pokemon/altaria/footprint.png (renamed from graphics/pokemon/footprints/altaria_footprint.png)bin100 -> 100 bytes
-rw-r--r--graphics/pokemon/altaria/front.png (renamed from graphics/pokemon/front_pics/altaria_still_front_pic.png)bin825 -> 825 bytes
-rw-r--r--graphics/pokemon/altaria/icon.png (renamed from graphics/pokemon/icons/altaria_icon.png)bin419 -> 419 bytes
-rw-r--r--graphics/pokemon/altaria/normal.pal (renamed from graphics/pokemon/palettes/altaria_palette.pal)0
-rw-r--r--graphics/pokemon/altaria/shiny.pal (renamed from graphics/pokemon/palettes/altaria_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/ampharos/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ampharos_front_pic.png)bin1303 -> 1303 bytes
-rw-r--r--graphics/pokemon/ampharos/back.png (renamed from graphics/pokemon/back_pics/ampharos_back_pic.png)bin714 -> 714 bytes
-rw-r--r--graphics/pokemon/ampharos/footprint.png (renamed from graphics/pokemon/footprints/ampharos_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/ampharos/front.png (renamed from graphics/pokemon/front_pics/ampharos_still_front_pic.png)bin721 -> 721 bytes
-rw-r--r--graphics/pokemon/ampharos/icon.png (renamed from graphics/pokemon/icons/ampharos_icon.png)bin430 -> 430 bytes
-rw-r--r--graphics/pokemon/ampharos/normal.pal (renamed from graphics/pokemon/palettes/ampharos_palette.pal)0
-rw-r--r--graphics/pokemon/ampharos/shiny.pal (renamed from graphics/pokemon/palettes/ampharos_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/anorith/anim_front.png (renamed from graphics/pokemon/anim_front_pics/anorith_front_pic.png)bin1161 -> 1161 bytes
-rw-r--r--graphics/pokemon/anorith/back.png (renamed from graphics/pokemon/back_pics/anorith_back_pic.png)bin445 -> 445 bytes
-rw-r--r--graphics/pokemon/anorith/footprint.png (renamed from graphics/pokemon/footprints/anorith_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/anorith/front.png (renamed from graphics/pokemon/front_pics/anorith_still_front_pic.png)bin691 -> 691 bytes
-rw-r--r--graphics/pokemon/anorith/icon.png (renamed from graphics/pokemon/icons/anorith_icon.png)bin377 -> 377 bytes
-rw-r--r--graphics/pokemon/anorith/normal.pal (renamed from graphics/pokemon/palettes/anorith_palette.pal)0
-rw-r--r--graphics/pokemon/anorith/shiny.pal (renamed from graphics/pokemon/palettes/anorith_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/arbok/anim_front.png (renamed from graphics/pokemon/anim_front_pics/arbok_front_pic.png)bin1515 -> 1515 bytes
-rw-r--r--graphics/pokemon/arbok/back.png (renamed from graphics/pokemon/back_pics/arbok_back_pic.png)bin509 -> 509 bytes
-rw-r--r--graphics/pokemon/arbok/footprint.png (renamed from graphics/pokemon/footprints/arbok_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/arbok/front.png (renamed from graphics/pokemon/front_pics/arbok_still_front_pic.png)bin880 -> 880 bytes
-rw-r--r--graphics/pokemon/arbok/icon.png (renamed from graphics/pokemon/icons/arbok_icon.png)bin373 -> 373 bytes
-rw-r--r--graphics/pokemon/arbok/normal.pal (renamed from graphics/pokemon/palettes/arbok_palette.pal)0
-rw-r--r--graphics/pokemon/arbok/shiny.pal (renamed from graphics/pokemon/palettes/arbok_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/arcanine/anim_front.png (renamed from graphics/pokemon/anim_front_pics/arcanine_front_pic.png)bin2014 -> 2014 bytes
-rw-r--r--graphics/pokemon/arcanine/back.png (renamed from graphics/pokemon/back_pics/arcanine_back_pic.png)bin790 -> 790 bytes
-rw-r--r--graphics/pokemon/arcanine/footprint.png (renamed from graphics/pokemon/footprints/arcanine_footprint.png)bin99 -> 99 bytes
-rw-r--r--graphics/pokemon/arcanine/front.png (renamed from graphics/pokemon/front_pics/arcanine_still_front_pic.png)bin1104 -> 1104 bytes
-rw-r--r--graphics/pokemon/arcanine/icon.png (renamed from graphics/pokemon/icons/arcanine_icon.png)bin445 -> 445 bytes
-rw-r--r--graphics/pokemon/arcanine/normal.pal (renamed from graphics/pokemon/palettes/arcanine_palette.pal)0
-rw-r--r--graphics/pokemon/arcanine/shiny.pal (renamed from graphics/pokemon/palettes/arcanine_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/ariados/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ariados_front_pic.png)bin1466 -> 1466 bytes
-rw-r--r--graphics/pokemon/ariados/back.png (renamed from graphics/pokemon/back_pics/ariados_back_pic.png)bin706 -> 706 bytes
-rw-r--r--graphics/pokemon/ariados/footprint.png (renamed from graphics/pokemon/footprints/ariados_footprint.png)bin86 -> 86 bytes
-rw-r--r--graphics/pokemon/ariados/front.png (renamed from graphics/pokemon/front_pics/ariados_still_front_pic.png)bin850 -> 850 bytes
-rw-r--r--graphics/pokemon/ariados/icon.png (renamed from graphics/pokemon/icons/ariados_icon.png)bin430 -> 430 bytes
-rw-r--r--graphics/pokemon/ariados/normal.pal (renamed from graphics/pokemon/palettes/ariados_palette.pal)0
-rw-r--r--graphics/pokemon/ariados/shiny.pal (renamed from graphics/pokemon/palettes/ariados_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/armaldo/anim_front.png (renamed from graphics/pokemon/anim_front_pics/armaldo_front_pic.png)bin1876 -> 1876 bytes
-rw-r--r--graphics/pokemon/armaldo/back.png (renamed from graphics/pokemon/back_pics/armaldo_back_pic.png)bin898 -> 898 bytes
-rw-r--r--graphics/pokemon/armaldo/footprint.png (renamed from graphics/pokemon/footprints/armaldo_footprint.png)bin95 -> 95 bytes
-rw-r--r--graphics/pokemon/armaldo/front.png (renamed from graphics/pokemon/front_pics/armaldo_still_front_pic.png)bin1165 -> 1165 bytes
-rw-r--r--graphics/pokemon/armaldo/icon.png (renamed from graphics/pokemon/icons/armaldo_icon.png)bin383 -> 383 bytes
-rw-r--r--graphics/pokemon/armaldo/normal.pal (renamed from graphics/pokemon/palettes/armaldo_palette.pal)0
-rw-r--r--graphics/pokemon/armaldo/shiny.pal (renamed from graphics/pokemon/palettes/armaldo_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/aron/anim_front.png (renamed from graphics/pokemon/anim_front_pics/aron_front_pic.png)bin568 -> 568 bytes
-rw-r--r--graphics/pokemon/aron/back.png (renamed from graphics/pokemon/back_pics/aron_back_pic.png)bin437 -> 437 bytes
-rw-r--r--graphics/pokemon/aron/footprint.png (renamed from graphics/pokemon/footprints/aron_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/aron/front.png (renamed from graphics/pokemon/front_pics/aron_still_front_pic.png)bin384 -> 384 bytes
-rw-r--r--graphics/pokemon/aron/icon.png (renamed from graphics/pokemon/icons/aron_icon.png)bin262 -> 262 bytes
-rw-r--r--graphics/pokemon/aron/normal.pal (renamed from graphics/pokemon/palettes/aron_palette.pal)0
-rw-r--r--graphics/pokemon/aron/shiny.pal (renamed from graphics/pokemon/palettes/aron_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/articuno/anim_front.png (renamed from graphics/pokemon/anim_front_pics/articuno_front_pic.png)bin1935 -> 1935 bytes
-rw-r--r--graphics/pokemon/articuno/back.png (renamed from graphics/pokemon/back_pics/articuno_back_pic.png)bin504 -> 504 bytes
-rw-r--r--graphics/pokemon/articuno/footprint.png (renamed from graphics/pokemon/footprints/articuno_footprint.png)bin106 -> 106 bytes
-rw-r--r--graphics/pokemon/articuno/front.png (renamed from graphics/pokemon/front_pics/articuno_still_front_pic.png)bin1047 -> 1047 bytes
-rw-r--r--graphics/pokemon/articuno/icon.png (renamed from graphics/pokemon/icons/articuno_icon.png)bin384 -> 384 bytes
-rw-r--r--graphics/pokemon/articuno/normal.pal (renamed from graphics/pokemon/palettes/articuno_palette.pal)0
-rw-r--r--graphics/pokemon/articuno/shiny.pal (renamed from graphics/pokemon/palettes/articuno_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/azumarill/anim_front.png (renamed from graphics/pokemon/anim_front_pics/azumarill_front_pic.png)bin1070 -> 1070 bytes
-rw-r--r--graphics/pokemon/azumarill/back.png (renamed from graphics/pokemon/back_pics/azumarill_back_pic.png)bin541 -> 541 bytes
-rw-r--r--graphics/pokemon/azumarill/footprint.png (renamed from graphics/pokemon/footprints/azumarill_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/azumarill/front.png (renamed from graphics/pokemon/front_pics/azumarill_still_front_pic.png)bin631 -> 631 bytes
-rw-r--r--graphics/pokemon/azumarill/icon.png (renamed from graphics/pokemon/icons/azumarill_icon.png)bin445 -> 445 bytes
-rw-r--r--graphics/pokemon/azumarill/normal.pal (renamed from graphics/pokemon/palettes/azumarill_palette.pal)0
-rw-r--r--graphics/pokemon/azumarill/shiny.pal (renamed from graphics/pokemon/palettes/azumarill_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/azurill/anim_front.png (renamed from graphics/pokemon/anim_front_pics/azurill_front_pic.png)bin1007 -> 1007 bytes
-rw-r--r--graphics/pokemon/azurill/back.png (renamed from graphics/pokemon/back_pics/azurill_back_pic.png)bin601 -> 601 bytes
-rw-r--r--graphics/pokemon/azurill/footprint.png (renamed from graphics/pokemon/footprints/azurill_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/azurill/front.png (renamed from graphics/pokemon/front_pics/azurill_still_front_pic.png)bin589 -> 589 bytes
-rw-r--r--graphics/pokemon/azurill/icon.png (renamed from graphics/pokemon/icons/azurill_icon.png)bin342 -> 342 bytes
-rw-r--r--graphics/pokemon/azurill/normal.pal (renamed from graphics/pokemon/palettes/azurill_palette.pal)0
-rw-r--r--graphics/pokemon/azurill/shiny.pal (renamed from graphics/pokemon/palettes/azurill_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/bagon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/bagon_front_pic.png)bin823 -> 823 bytes
-rw-r--r--graphics/pokemon/bagon/back.png (renamed from graphics/pokemon/back_pics/bagon_back_pic.png)bin574 -> 574 bytes
-rw-r--r--graphics/pokemon/bagon/footprint.png (renamed from graphics/pokemon/footprints/bagon_footprint.png)bin91 -> 91 bytes
-rw-r--r--graphics/pokemon/bagon/front.png (renamed from graphics/pokemon/front_pics/bagon_still_front_pic.png)bin512 -> 512 bytes
-rw-r--r--graphics/pokemon/bagon/icon.png (renamed from graphics/pokemon/icons/bagon_icon.png)bin359 -> 359 bytes
-rw-r--r--graphics/pokemon/bagon/normal.pal (renamed from graphics/pokemon/palettes/bagon_palette.pal)0
-rw-r--r--graphics/pokemon/bagon/shiny.pal (renamed from graphics/pokemon/palettes/bagon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/baltoy/anim_front.png (renamed from graphics/pokemon/anim_front_pics/baltoy_front_pic.png)bin581 -> 581 bytes
-rw-r--r--graphics/pokemon/baltoy/back.png (renamed from graphics/pokemon/back_pics/baltoy_back_pic.png)bin517 -> 517 bytes
-rw-r--r--graphics/pokemon/baltoy/footprint.png (renamed from graphics/pokemon/footprints/baltoy_footprint.png)bin76 -> 76 bytes
-rw-r--r--graphics/pokemon/baltoy/front.png (renamed from graphics/pokemon/front_pics/baltoy_still_front_pic.png)bin416 -> 416 bytes
-rw-r--r--graphics/pokemon/baltoy/icon.png (renamed from graphics/pokemon/icons/baltoy_icon.png)bin279 -> 279 bytes
-rw-r--r--graphics/pokemon/baltoy/normal.pal (renamed from graphics/pokemon/palettes/baltoy_palette.pal)0
-rw-r--r--graphics/pokemon/baltoy/shiny.pal (renamed from graphics/pokemon/palettes/baltoy_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/banette/anim_front.png (renamed from graphics/pokemon/anim_front_pics/banette_front_pic.png)bin787 -> 787 bytes
-rw-r--r--graphics/pokemon/banette/back.png (renamed from graphics/pokemon/back_pics/banette_back_pic.png)bin503 -> 503 bytes
-rw-r--r--graphics/pokemon/banette/footprint.png (renamed from graphics/pokemon/footprints/banette_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/banette/front.png (renamed from graphics/pokemon/front_pics/banette_still_front_pic.png)bin546 -> 546 bytes
-rw-r--r--graphics/pokemon/banette/icon.png (renamed from graphics/pokemon/icons/banette_icon.png)bin321 -> 321 bytes
-rw-r--r--graphics/pokemon/banette/normal.pal (renamed from graphics/pokemon/palettes/banette_palette.pal)0
-rw-r--r--graphics/pokemon/banette/shiny.pal (renamed from graphics/pokemon/palettes/banette_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/barboach/anim_front.png (renamed from graphics/pokemon/anim_front_pics/barboach_front_pic.png)bin936 -> 936 bytes
-rw-r--r--graphics/pokemon/barboach/back.png (renamed from graphics/pokemon/back_pics/barboach_back_pic.png)bin551 -> 551 bytes
-rw-r--r--graphics/pokemon/barboach/footprint.png (renamed from graphics/pokemon/footprints/barboach_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/barboach/front.png (renamed from graphics/pokemon/front_pics/barboach_still_front_pic.png)bin565 -> 565 bytes
-rw-r--r--graphics/pokemon/barboach/icon.png (renamed from graphics/pokemon/icons/barboach_icon.png)bin337 -> 337 bytes
-rw-r--r--graphics/pokemon/barboach/normal.pal (renamed from graphics/pokemon/palettes/barboach_palette.pal)0
-rw-r--r--graphics/pokemon/barboach/shiny.pal (renamed from graphics/pokemon/palettes/barboach_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/bayleef/anim_front.png (renamed from graphics/pokemon/anim_front_pics/bayleef_front_pic.png)bin1183 -> 1183 bytes
-rw-r--r--graphics/pokemon/bayleef/back.png (renamed from graphics/pokemon/back_pics/bayleef_back_pic.png)bin737 -> 737 bytes
-rw-r--r--graphics/pokemon/bayleef/footprint.png (renamed from graphics/pokemon/footprints/bayleef_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/bayleef/front.png (renamed from graphics/pokemon/front_pics/bayleef_still_front_pic.png)bin815 -> 815 bytes
-rw-r--r--graphics/pokemon/bayleef/icon.png (renamed from graphics/pokemon/icons/bayleef_icon.png)bin427 -> 427 bytes
-rw-r--r--graphics/pokemon/bayleef/normal.pal (renamed from graphics/pokemon/palettes/bayleef_palette.pal)0
-rw-r--r--graphics/pokemon/bayleef/shiny.pal (renamed from graphics/pokemon/palettes/bayleef_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/beautifly/anim_front.png (renamed from graphics/pokemon/anim_front_pics/beautifly_front_pic.png)bin1081 -> 1081 bytes
-rw-r--r--graphics/pokemon/beautifly/back.png (renamed from graphics/pokemon/back_pics/beautifly_back_pic.png)bin771 -> 771 bytes
-rw-r--r--graphics/pokemon/beautifly/footprint.png (renamed from graphics/pokemon/footprints/beautifly_footprint.png)bin89 -> 89 bytes
-rw-r--r--graphics/pokemon/beautifly/front.png (renamed from graphics/pokemon/front_pics/beautifly_still_front_pic.png)bin699 -> 699 bytes
-rw-r--r--graphics/pokemon/beautifly/icon.png (renamed from graphics/pokemon/icons/beautifly_icon.png)bin449 -> 449 bytes
-rw-r--r--graphics/pokemon/beautifly/normal.pal (renamed from graphics/pokemon/palettes/beautifly_palette.pal)0
-rw-r--r--graphics/pokemon/beautifly/shiny.pal (renamed from graphics/pokemon/palettes/beautifly_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/beedrill/anim_front.png (renamed from graphics/pokemon/anim_front_pics/beedrill_front_pic.png)bin1431 -> 1431 bytes
-rw-r--r--graphics/pokemon/beedrill/back.png (renamed from graphics/pokemon/back_pics/beedrill_back_pic.png)bin734 -> 734 bytes
-rw-r--r--graphics/pokemon/beedrill/footprint.png (renamed from graphics/pokemon/footprints/beedrill_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/beedrill/front.png (renamed from graphics/pokemon/front_pics/beedrill_still_front_pic.png)bin891 -> 891 bytes
-rw-r--r--graphics/pokemon/beedrill/icon.png (renamed from graphics/pokemon/icons/beedrill_icon.png)bin437 -> 437 bytes
-rw-r--r--graphics/pokemon/beedrill/normal.pal (renamed from graphics/pokemon/palettes/beedrill_palette.pal)0
-rw-r--r--graphics/pokemon/beedrill/shiny.pal (renamed from graphics/pokemon/palettes/beedrill_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/beldum/anim_front.png (renamed from graphics/pokemon/anim_front_pics/beldum_front_pic.png)bin723 -> 723 bytes
-rw-r--r--graphics/pokemon/beldum/back.png (renamed from graphics/pokemon/back_pics/beldum_back_pic.png)bin575 -> 575 bytes
-rw-r--r--graphics/pokemon/beldum/footprint.png (renamed from graphics/pokemon/footprints/beldum_footprint.png)bin82 -> 82 bytes
-rw-r--r--graphics/pokemon/beldum/front.png (renamed from graphics/pokemon/front_pics/beldum_still_front_pic.png)bin465 -> 465 bytes
-rw-r--r--graphics/pokemon/beldum/icon.png (renamed from graphics/pokemon/icons/beldum_icon.png)bin294 -> 294 bytes
-rw-r--r--graphics/pokemon/beldum/normal.pal (renamed from graphics/pokemon/palettes/beldum_palette.pal)0
-rw-r--r--graphics/pokemon/beldum/shiny.pal (renamed from graphics/pokemon/palettes/beldum_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/bellossom/anim_front.png (renamed from graphics/pokemon/anim_front_pics/bellossom_front_pic.png)bin837 -> 837 bytes
-rw-r--r--graphics/pokemon/bellossom/back.png (renamed from graphics/pokemon/back_pics/bellossom_back_pic.png)bin633 -> 633 bytes
-rw-r--r--graphics/pokemon/bellossom/footprint.png (renamed from graphics/pokemon/footprints/bellossom_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/bellossom/front.png (renamed from graphics/pokemon/front_pics/bellossom_still_front_pic.png)bin520 -> 520 bytes
-rw-r--r--graphics/pokemon/bellossom/icon.png (renamed from graphics/pokemon/icons/bellossom_icon.png)bin363 -> 363 bytes
-rw-r--r--graphics/pokemon/bellossom/normal.pal (renamed from graphics/pokemon/palettes/bellossom_palette.pal)0
-rw-r--r--graphics/pokemon/bellossom/shiny.pal (renamed from graphics/pokemon/palettes/bellossom_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/bellsprout/anim_front.png (renamed from graphics/pokemon/anim_front_pics/bellsprout_front_pic.png)bin889 -> 889 bytes
-rw-r--r--graphics/pokemon/bellsprout/back.png (renamed from graphics/pokemon/back_pics/bellsprout_back_pic.png)bin529 -> 529 bytes
-rw-r--r--graphics/pokemon/bellsprout/footprint.png (renamed from graphics/pokemon/footprints/bellsprout_footprint.png)bin109 -> 109 bytes
-rw-r--r--graphics/pokemon/bellsprout/front.png (renamed from graphics/pokemon/front_pics/bellsprout_still_front_pic.png)bin528 -> 528 bytes
-rw-r--r--graphics/pokemon/bellsprout/icon.png (renamed from graphics/pokemon/icons/bellsprout_icon.png)bin252 -> 252 bytes
-rw-r--r--graphics/pokemon/bellsprout/normal.pal (renamed from graphics/pokemon/palettes/bellsprout_palette.pal)0
-rw-r--r--graphics/pokemon/bellsprout/shiny.pal (renamed from graphics/pokemon/palettes/bellsprout_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/blastoise/anim_front.png (renamed from graphics/pokemon/anim_front_pics/blastoise_front_pic.png)bin1818 -> 1818 bytes
-rw-r--r--graphics/pokemon/blastoise/back.png (renamed from graphics/pokemon/back_pics/blastoise_back_pic.png)bin860 -> 860 bytes
-rw-r--r--graphics/pokemon/blastoise/footprint.png (renamed from graphics/pokemon/footprints/blastoise_footprint.png)bin98 -> 98 bytes
-rw-r--r--graphics/pokemon/blastoise/front.png (renamed from graphics/pokemon/front_pics/blastoise_still_front_pic.png)bin1071 -> 1071 bytes
-rw-r--r--graphics/pokemon/blastoise/icon.png (renamed from graphics/pokemon/icons/blastoise_icon.png)bin397 -> 397 bytes
-rw-r--r--graphics/pokemon/blastoise/normal.pal (renamed from graphics/pokemon/palettes/blastoise_palette.pal)0
-rw-r--r--graphics/pokemon/blastoise/shiny.pal (renamed from graphics/pokemon/palettes/blastoise_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/blaziken/anim_front.png (renamed from graphics/pokemon/anim_front_pics/blaziken_front_pic.png)bin1484 -> 1484 bytes
-rw-r--r--graphics/pokemon/blaziken/back.png (renamed from graphics/pokemon/back_pics/blaziken_back_pic.png)bin835 -> 835 bytes
-rw-r--r--graphics/pokemon/blaziken/footprint.png (renamed from graphics/pokemon/footprints/blaziken_footprint.png)bin116 -> 116 bytes
-rw-r--r--graphics/pokemon/blaziken/front.png (renamed from graphics/pokemon/front_pics/blaziken_still_front_pic.png)bin1010 -> 1010 bytes
-rw-r--r--graphics/pokemon/blaziken/icon.png (renamed from graphics/pokemon/icons/blaziken_icon.png)bin448 -> 448 bytes
-rw-r--r--graphics/pokemon/blaziken/normal.pal (renamed from graphics/pokemon/palettes/blaziken_palette.pal)0
-rw-r--r--graphics/pokemon/blaziken/shiny.pal (renamed from graphics/pokemon/palettes/blaziken_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/blissey/anim_front.png (renamed from graphics/pokemon/anim_front_pics/blissey_front_pic.png)bin1296 -> 1296 bytes
-rw-r--r--graphics/pokemon/blissey/back.png (renamed from graphics/pokemon/back_pics/blissey_back_pic.png)bin566 -> 566 bytes
-rw-r--r--graphics/pokemon/blissey/footprint.png (renamed from graphics/pokemon/footprints/blissey_footprint.png)bin96 -> 96 bytes
-rw-r--r--graphics/pokemon/blissey/front.png (renamed from graphics/pokemon/front_pics/blissey_still_front_pic.png)bin827 -> 827 bytes
-rw-r--r--graphics/pokemon/blissey/icon.png (renamed from graphics/pokemon/icons/blissey_icon.png)bin406 -> 406 bytes
-rw-r--r--graphics/pokemon/blissey/normal.pal (renamed from graphics/pokemon/palettes/blissey_palette.pal)0
-rw-r--r--graphics/pokemon/blissey/shiny.pal (renamed from graphics/pokemon/palettes/blissey_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/breloom/anim_front.png (renamed from graphics/pokemon/anim_front_pics/breloom_front_pic.png)bin1188 -> 1188 bytes
-rw-r--r--graphics/pokemon/breloom/back.png (renamed from graphics/pokemon/back_pics/breloom_back_pic.png)bin825 -> 825 bytes
-rw-r--r--graphics/pokemon/breloom/footprint.png (renamed from graphics/pokemon/footprints/breloom_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/breloom/front.png (renamed from graphics/pokemon/front_pics/breloom_still_front_pic.png)bin849 -> 849 bytes
-rw-r--r--graphics/pokemon/breloom/icon.png (renamed from graphics/pokemon/icons/breloom_icon.png)bin321 -> 321 bytes
-rw-r--r--graphics/pokemon/breloom/normal.pal (renamed from graphics/pokemon/palettes/breloom_palette.pal)0
-rw-r--r--graphics/pokemon/breloom/shiny.pal (renamed from graphics/pokemon/palettes/breloom_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/bulbasaur/anim_front.png (renamed from graphics/pokemon/anim_front_pics/bulbasaur_front_pic.png)bin809 -> 809 bytes
-rw-r--r--graphics/pokemon/bulbasaur/back.png (renamed from graphics/pokemon/back_pics/bulbasaur_back_pic.png)bin540 -> 540 bytes
-rw-r--r--graphics/pokemon/bulbasaur/footprint.png (renamed from graphics/pokemon/footprints/bulbasaur_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/bulbasaur/front.png (renamed from graphics/pokemon/front_pics/bulbasaur_still_front_pic.png)bin525 -> 525 bytes
-rw-r--r--graphics/pokemon/bulbasaur/icon.png (renamed from graphics/pokemon/icons/bulbasaur_icon.png)bin316 -> 316 bytes
-rw-r--r--graphics/pokemon/bulbasaur/normal.pal (renamed from graphics/pokemon/palettes/bulbasaur_palette.pal)0
-rw-r--r--graphics/pokemon/bulbasaur/shiny.pal (renamed from graphics/pokemon/palettes/bulbasaur_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/butterfree/anim_front.png (renamed from graphics/pokemon/anim_front_pics/butterfree_front_pic.png)bin1151 -> 1151 bytes
-rw-r--r--graphics/pokemon/butterfree/back.png (renamed from graphics/pokemon/back_pics/butterfree_back_pic.png)bin850 -> 850 bytes
-rw-r--r--graphics/pokemon/butterfree/footprint.png (renamed from graphics/pokemon/footprints/butterfree_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/butterfree/front.png (renamed from graphics/pokemon/front_pics/butterfree_still_front_pic.png)bin739 -> 739 bytes
-rw-r--r--graphics/pokemon/butterfree/icon.png (renamed from graphics/pokemon/icons/butterfree_icon.png)bin421 -> 421 bytes
-rw-r--r--graphics/pokemon/butterfree/normal.pal (renamed from graphics/pokemon/palettes/butterfree_palette.pal)0
-rw-r--r--graphics/pokemon/butterfree/shiny.pal (renamed from graphics/pokemon/palettes/butterfree_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/cacnea/anim_front.png (renamed from graphics/pokemon/anim_front_pics/cacnea_front_pic.png)bin920 -> 920 bytes
-rw-r--r--graphics/pokemon/cacnea/back.png (renamed from graphics/pokemon/back_pics/cacnea_back_pic.png)bin713 -> 713 bytes
-rw-r--r--graphics/pokemon/cacnea/footprint.png (renamed from graphics/pokemon/footprints/cacnea_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/cacnea/front.png (renamed from graphics/pokemon/front_pics/cacnea_still_front_pic.png)bin662 -> 662 bytes
-rw-r--r--graphics/pokemon/cacnea/icon.png (renamed from graphics/pokemon/icons/cacnea_icon.png)bin370 -> 370 bytes
-rw-r--r--graphics/pokemon/cacnea/normal.pal (renamed from graphics/pokemon/palettes/cacnea_palette.pal)0
-rw-r--r--graphics/pokemon/cacnea/shiny.pal (renamed from graphics/pokemon/palettes/cacnea_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/cacturne/anim_front.png (renamed from graphics/pokemon/anim_front_pics/cacturne_front_pic.png)bin1370 -> 1370 bytes
-rw-r--r--graphics/pokemon/cacturne/back.png (renamed from graphics/pokemon/back_pics/cacturne_back_pic.png)bin653 -> 653 bytes
-rw-r--r--graphics/pokemon/cacturne/footprint.png (renamed from graphics/pokemon/footprints/cacturne_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/cacturne/front.png (renamed from graphics/pokemon/front_pics/cacturne_still_front_pic.png)bin917 -> 917 bytes
-rw-r--r--graphics/pokemon/cacturne/icon.png (renamed from graphics/pokemon/icons/cacturne_icon.png)bin299 -> 299 bytes
-rw-r--r--graphics/pokemon/cacturne/normal.pal (renamed from graphics/pokemon/palettes/cacturne_palette.pal)0
-rw-r--r--graphics/pokemon/cacturne/shiny.pal (renamed from graphics/pokemon/palettes/cacturne_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/camerupt/anim_front.png (renamed from graphics/pokemon/anim_front_pics/camerupt_front_pic.png)bin1252 -> 1252 bytes
-rw-r--r--graphics/pokemon/camerupt/back.png (renamed from graphics/pokemon/back_pics/camerupt_back_pic.png)bin527 -> 527 bytes
-rw-r--r--graphics/pokemon/camerupt/footprint.png (renamed from graphics/pokemon/footprints/camerupt_footprint.png)bin109 -> 109 bytes
-rw-r--r--graphics/pokemon/camerupt/front.png (renamed from graphics/pokemon/front_pics/camerupt_still_front_pic.png)bin839 -> 839 bytes
-rw-r--r--graphics/pokemon/camerupt/icon.png (renamed from graphics/pokemon/icons/camerupt_icon.png)bin404 -> 404 bytes
-rw-r--r--graphics/pokemon/camerupt/normal.pal (renamed from graphics/pokemon/palettes/camerupt_palette.pal)0
-rw-r--r--graphics/pokemon/camerupt/shiny.pal (renamed from graphics/pokemon/palettes/camerupt_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/carvanha/anim_front.png (renamed from graphics/pokemon/anim_front_pics/carvanha_front_pic.png)bin1217 -> 1217 bytes
-rw-r--r--graphics/pokemon/carvanha/back.png (renamed from graphics/pokemon/back_pics/carvanha_back_pic.png)bin648 -> 648 bytes
-rw-r--r--graphics/pokemon/carvanha/footprint.png (renamed from graphics/pokemon/footprints/carvanha_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/carvanha/front.png (renamed from graphics/pokemon/front_pics/carvanha_still_front_pic.png)bin692 -> 692 bytes
-rw-r--r--graphics/pokemon/carvanha/icon.png (renamed from graphics/pokemon/icons/carvanha_icon.png)bin392 -> 392 bytes
-rw-r--r--graphics/pokemon/carvanha/normal.pal (renamed from graphics/pokemon/palettes/carvanha_palette.pal)0
-rw-r--r--graphics/pokemon/carvanha/shiny.pal (renamed from graphics/pokemon/palettes/carvanha_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/cascoon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/cascoon_front_pic.png)bin559 -> 559 bytes
-rw-r--r--graphics/pokemon/cascoon/back.png (renamed from graphics/pokemon/back_pics/cascoon_back_pic.png)bin404 -> 404 bytes
-rw-r--r--graphics/pokemon/cascoon/footprint.png (renamed from graphics/pokemon/footprints/cascoon_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/cascoon/front.png (renamed from graphics/pokemon/front_pics/cascoon_still_front_pic.png)bin493 -> 493 bytes
-rw-r--r--graphics/pokemon/cascoon/icon.png (renamed from graphics/pokemon/icons/cascoon_icon.png)bin342 -> 342 bytes
-rw-r--r--graphics/pokemon/cascoon/normal.pal (renamed from graphics/pokemon/palettes/cascoon_palette.pal)0
-rw-r--r--graphics/pokemon/cascoon/shiny.pal (renamed from graphics/pokemon/palettes/cascoon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/castform/anim_front_normal_form.png (renamed from graphics/pokemon/anim_front_pics/castform_normal_form_front_pic.png)bin382 -> 382 bytes
-rw-r--r--graphics/pokemon/castform/anim_front_rainy_form.png (renamed from graphics/pokemon/anim_front_pics/castform_rainy_form_front_pic.png)bin549 -> 549 bytes
-rw-r--r--graphics/pokemon/castform/anim_front_snowy_form.png (renamed from graphics/pokemon/anim_front_pics/castform_snowy_form_front_pic.png)bin688 -> 688 bytes
-rw-r--r--graphics/pokemon/castform/anim_front_sunny_form.png (renamed from graphics/pokemon/anim_front_pics/castform_sunny_form_front_pic.png)bin656 -> 656 bytes
-rw-r--r--graphics/pokemon/castform/back_normal_form.png (renamed from graphics/pokemon/back_pics/castform_normal_form_back_pic.png)bin373 -> 373 bytes
-rw-r--r--graphics/pokemon/castform/back_rainy_form.png (renamed from graphics/pokemon/back_pics/castform_rainy_form_back_pic.png)bin495 -> 495 bytes
-rw-r--r--graphics/pokemon/castform/back_snowy_form.png (renamed from graphics/pokemon/back_pics/castform_snowy_form_back_pic.png)bin628 -> 628 bytes
-rw-r--r--graphics/pokemon/castform/back_sunny_form.png (renamed from graphics/pokemon/back_pics/castform_sunny_form_back_pic.png)bin559 -> 559 bytes
-rw-r--r--graphics/pokemon/castform/footprint.png (renamed from graphics/pokemon/footprints/castform_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/castform/front_normal_form.png (renamed from graphics/pokemon/front_pics/castform_normal_form_still_front_pic.png)bin382 -> 382 bytes
-rw-r--r--graphics/pokemon/castform/front_rainy_form.png (renamed from graphics/pokemon/front_pics/castform_rainy_form_still_front_pic.png)bin549 -> 549 bytes
-rw-r--r--graphics/pokemon/castform/front_snowy_form.png (renamed from graphics/pokemon/front_pics/castform_snowy_form_still_front_pic.png)bin688 -> 688 bytes
-rw-r--r--graphics/pokemon/castform/front_sunny_form.png (renamed from graphics/pokemon/front_pics/castform_sunny_form_still_front_pic.png)bin656 -> 656 bytes
-rw-r--r--graphics/pokemon/castform/icon.png (renamed from graphics/pokemon/icons/castform_icon.png)bin263 -> 263 bytes
-rw-r--r--graphics/pokemon/castform/normal_normal_form.pal (renamed from graphics/pokemon/palettes/castform_normal_form_palette.pal)0
-rw-r--r--graphics/pokemon/castform/normal_rainy_form.pal (renamed from graphics/pokemon/palettes/castform_rainy_form_palette.pal)0
-rw-r--r--graphics/pokemon/castform/normal_snowy_form.pal (renamed from graphics/pokemon/palettes/castform_snowy_form_palette.pal)0
-rw-r--r--graphics/pokemon/castform/normal_sunny_form.pal (renamed from graphics/pokemon/palettes/castform_sunny_form_palette.pal)0
-rw-r--r--graphics/pokemon/castform/shiny_normal_form.pal (renamed from graphics/pokemon/palettes/castform_normal_form_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/castform/shiny_rainy_form.pal (renamed from graphics/pokemon/palettes/castform_rainy_form_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/castform/shiny_snowy_form.pal (renamed from graphics/pokemon/palettes/castform_snowy_form_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/castform/shiny_sunny_form.pal (renamed from graphics/pokemon/palettes/castform_sunny_form_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/caterpie/anim_front.png (renamed from graphics/pokemon/anim_front_pics/caterpie_front_pic.png)bin761 -> 761 bytes
-rw-r--r--graphics/pokemon/caterpie/back.png (renamed from graphics/pokemon/back_pics/caterpie_back_pic.png)bin521 -> 521 bytes
-rw-r--r--graphics/pokemon/caterpie/footprint.png (renamed from graphics/pokemon/footprints/caterpie_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/caterpie/front.png (renamed from graphics/pokemon/front_pics/caterpie_still_front_pic.png)bin484 -> 484 bytes
-rw-r--r--graphics/pokemon/caterpie/icon.png (renamed from graphics/pokemon/icons/caterpie_icon.png)bin277 -> 277 bytes
-rw-r--r--graphics/pokemon/caterpie/normal.pal (renamed from graphics/pokemon/palettes/caterpie_palette.pal)0
-rw-r--r--graphics/pokemon/caterpie/shiny.pal (renamed from graphics/pokemon/palettes/caterpie_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/celebi/anim_front.png (renamed from graphics/pokemon/anim_front_pics/celebi_front_pic.png)bin861 -> 861 bytes
-rw-r--r--graphics/pokemon/celebi/back.png (renamed from graphics/pokemon/back_pics/celebi_back_pic.png)bin757 -> 757 bytes
-rw-r--r--graphics/pokemon/celebi/footprint.png (renamed from graphics/pokemon/footprints/celebi_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/celebi/front.png (renamed from graphics/pokemon/front_pics/celebi_still_front_pic.png)bin514 -> 514 bytes
-rw-r--r--graphics/pokemon/celebi/icon.png (renamed from graphics/pokemon/icons/celebi_icon.png)bin330 -> 330 bytes
-rw-r--r--graphics/pokemon/celebi/normal.pal (renamed from graphics/pokemon/palettes/celebi_palette.pal)0
-rw-r--r--graphics/pokemon/celebi/shiny.pal (renamed from graphics/pokemon/palettes/celebi_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/chansey/anim_front.png (renamed from graphics/pokemon/anim_front_pics/chansey_front_pic.png)bin1018 -> 1018 bytes
-rw-r--r--graphics/pokemon/chansey/back.png (renamed from graphics/pokemon/back_pics/chansey_back_pic.png)bin552 -> 552 bytes
-rw-r--r--graphics/pokemon/chansey/footprint.png (renamed from graphics/pokemon/footprints/chansey_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/chansey/front.png (renamed from graphics/pokemon/front_pics/chansey_still_front_pic.png)bin674 -> 674 bytes
-rw-r--r--graphics/pokemon/chansey/icon.png (renamed from graphics/pokemon/icons/chansey_icon.png)bin317 -> 317 bytes
-rw-r--r--graphics/pokemon/chansey/normal.pal (renamed from graphics/pokemon/palettes/chansey_palette.pal)0
-rw-r--r--graphics/pokemon/chansey/shiny.pal (renamed from graphics/pokemon/palettes/chansey_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/charizard/anim_front.png (renamed from graphics/pokemon/anim_front_pics/charizard_front_pic.png)bin2039 -> 2039 bytes
-rw-r--r--graphics/pokemon/charizard/back.png (renamed from graphics/pokemon/back_pics/charizard_back_pic.png)bin829 -> 829 bytes
-rw-r--r--graphics/pokemon/charizard/footprint.png (renamed from graphics/pokemon/footprints/charizard_footprint.png)bin95 -> 95 bytes
-rw-r--r--graphics/pokemon/charizard/front.png (renamed from graphics/pokemon/front_pics/charizard_still_front_pic.png)bin1134 -> 1134 bytes
-rw-r--r--graphics/pokemon/charizard/icon.png (renamed from graphics/pokemon/icons/charizard_icon.png)bin462 -> 462 bytes
-rw-r--r--graphics/pokemon/charizard/normal.pal (renamed from graphics/pokemon/palettes/charizard_palette.pal)0
-rw-r--r--graphics/pokemon/charizard/shiny.pal (renamed from graphics/pokemon/palettes/charizard_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/charmander/anim_front.png (renamed from graphics/pokemon/anim_front_pics/charmander_front_pic.png)bin873 -> 873 bytes
-rw-r--r--graphics/pokemon/charmander/back.png (renamed from graphics/pokemon/back_pics/charmander_back_pic.png)bin521 -> 521 bytes
-rw-r--r--graphics/pokemon/charmander/footprint.png (renamed from graphics/pokemon/footprints/charmander_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/charmander/front.png (renamed from graphics/pokemon/front_pics/charmander_still_front_pic.png)bin561 -> 561 bytes
-rw-r--r--graphics/pokemon/charmander/icon.png (renamed from graphics/pokemon/icons/charmander_icon.png)bin303 -> 303 bytes
-rw-r--r--graphics/pokemon/charmander/normal.pal (renamed from graphics/pokemon/palettes/charmander_palette.pal)0
-rw-r--r--graphics/pokemon/charmander/shiny.pal (renamed from graphics/pokemon/palettes/charmander_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/charmeleon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/charmeleon_front_pic.png)bin1386 -> 1386 bytes
-rw-r--r--graphics/pokemon/charmeleon/back.png (renamed from graphics/pokemon/back_pics/charmeleon_back_pic.png)bin583 -> 583 bytes
-rw-r--r--graphics/pokemon/charmeleon/footprint.png (renamed from graphics/pokemon/footprints/charmeleon_footprint.png)bin95 -> 95 bytes
-rw-r--r--graphics/pokemon/charmeleon/front.png (renamed from graphics/pokemon/front_pics/charmeleon_still_front_pic.png)bin775 -> 775 bytes
-rw-r--r--graphics/pokemon/charmeleon/icon.png (renamed from graphics/pokemon/icons/charmeleon_icon.png)bin412 -> 412 bytes
-rw-r--r--graphics/pokemon/charmeleon/normal.pal (renamed from graphics/pokemon/palettes/charmeleon_palette.pal)0
-rw-r--r--graphics/pokemon/charmeleon/shiny.pal (renamed from graphics/pokemon/palettes/charmeleon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/chikorita/anim_front.png (renamed from graphics/pokemon/anim_front_pics/chikorita_front_pic.png)bin797 -> 797 bytes
-rw-r--r--graphics/pokemon/chikorita/back.png (renamed from graphics/pokemon/back_pics/chikorita_back_pic.png)bin569 -> 569 bytes
-rw-r--r--graphics/pokemon/chikorita/footprint.png (renamed from graphics/pokemon/footprints/chikorita_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/chikorita/front.png (renamed from graphics/pokemon/front_pics/chikorita_still_front_pic.png)bin507 -> 507 bytes
-rw-r--r--graphics/pokemon/chikorita/icon.png (renamed from graphics/pokemon/icons/chikorita_icon.png)bin334 -> 334 bytes
-rw-r--r--graphics/pokemon/chikorita/normal.pal (renamed from graphics/pokemon/palettes/chikorita_palette.pal)0
-rw-r--r--graphics/pokemon/chikorita/shiny.pal (renamed from graphics/pokemon/palettes/chikorita_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/chimecho/anim_front.png (renamed from graphics/pokemon/anim_front_pics/chimecho_front_pic.png)bin719 -> 719 bytes
-rw-r--r--graphics/pokemon/chimecho/back.png (renamed from graphics/pokemon/back_pics/chimecho_back_pic.png)bin507 -> 507 bytes
-rw-r--r--graphics/pokemon/chimecho/footprint.png (renamed from graphics/pokemon/footprints/chimecho_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/chimecho/front.png (renamed from graphics/pokemon/front_pics/chimecho_still_front_pic.png)bin458 -> 458 bytes
-rw-r--r--graphics/pokemon/chimecho/icon.png (renamed from graphics/pokemon/icons/chimecho_icon.png)bin258 -> 258 bytes
-rw-r--r--graphics/pokemon/chimecho/normal.pal (renamed from graphics/pokemon/palettes/chimecho_palette.pal)0
-rw-r--r--graphics/pokemon/chimecho/shiny.pal (renamed from graphics/pokemon/palettes/chimecho_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/chinchou/anim_front.png (renamed from graphics/pokemon/anim_front_pics/chinchou_front_pic.png)bin962 -> 962 bytes
-rw-r--r--graphics/pokemon/chinchou/back.png (renamed from graphics/pokemon/back_pics/chinchou_back_pic.png)bin637 -> 637 bytes
-rw-r--r--graphics/pokemon/chinchou/footprint.png (renamed from graphics/pokemon/footprints/chinchou_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/chinchou/front.png (renamed from graphics/pokemon/front_pics/chinchou_still_front_pic.png)bin607 -> 607 bytes
-rw-r--r--graphics/pokemon/chinchou/icon.png (renamed from graphics/pokemon/icons/chinchou_icon.png)bin378 -> 378 bytes
-rw-r--r--graphics/pokemon/chinchou/normal.pal (renamed from graphics/pokemon/palettes/chinchou_palette.pal)0
-rw-r--r--graphics/pokemon/chinchou/shiny.pal (renamed from graphics/pokemon/palettes/chinchou_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/circled_question_mark/anim_front.png (renamed from graphics/pokemon/anim_front_pics/circled_question_mark_front_pic.png)bin405 -> 405 bytes
-rw-r--r--graphics/pokemon/circled_question_mark/back.png (renamed from graphics/pokemon/back_pics/circled_question_mark_back_pic.png)bin397 -> 397 bytes
-rw-r--r--graphics/pokemon/circled_question_mark/front.png (renamed from graphics/pokemon/front_pics/circled_question_mark_still_front_pic.png)bin397 -> 397 bytes
-rw-r--r--graphics/pokemon/circled_question_mark/normal.pal (renamed from graphics/pokemon/palettes/circled_question_mark_palette.pal)0
-rw-r--r--graphics/pokemon/circled_question_mark/shiny.pal (renamed from graphics/pokemon/palettes/circled_question_mark_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/clamperl/anim_front.png (renamed from graphics/pokemon/anim_front_pics/clamperl_front_pic.png)bin860 -> 860 bytes
-rw-r--r--graphics/pokemon/clamperl/back.png (renamed from graphics/pokemon/back_pics/clamperl_back_pic.png)bin475 -> 475 bytes
-rw-r--r--graphics/pokemon/clamperl/footprint.png (renamed from graphics/pokemon/footprints/clamperl_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/clamperl/front.png (renamed from graphics/pokemon/front_pics/clamperl_still_front_pic.png)bin611 -> 611 bytes
-rw-r--r--graphics/pokemon/clamperl/icon.png (renamed from graphics/pokemon/icons/clamperl_icon.png)bin345 -> 345 bytes
-rw-r--r--graphics/pokemon/clamperl/normal.pal (renamed from graphics/pokemon/palettes/clamperl_palette.pal)0
-rw-r--r--graphics/pokemon/clamperl/shiny.pal (renamed from graphics/pokemon/palettes/clamperl_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/claydol/anim_front.png (renamed from graphics/pokemon/anim_front_pics/claydol_front_pic.png)bin1270 -> 1270 bytes
-rw-r--r--graphics/pokemon/claydol/back.png (renamed from graphics/pokemon/back_pics/claydol_back_pic.png)bin774 -> 774 bytes
-rw-r--r--graphics/pokemon/claydol/footprint.png (renamed from graphics/pokemon/footprints/claydol_footprint.png)bin80 -> 80 bytes
-rw-r--r--graphics/pokemon/claydol/front.png (renamed from graphics/pokemon/front_pics/claydol_still_front_pic.png)bin771 -> 771 bytes
-rw-r--r--graphics/pokemon/claydol/icon.png (renamed from graphics/pokemon/icons/claydol_icon.png)bin331 -> 331 bytes
-rw-r--r--graphics/pokemon/claydol/normal.pal (renamed from graphics/pokemon/palettes/claydol_palette.pal)0
-rw-r--r--graphics/pokemon/claydol/shiny.pal (renamed from graphics/pokemon/palettes/claydol_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/clefable/anim_front.png (renamed from graphics/pokemon/anim_front_pics/clefable_front_pic.png)bin1065 -> 1065 bytes
-rw-r--r--graphics/pokemon/clefable/back.png (renamed from graphics/pokemon/back_pics/clefable_back_pic.png)bin638 -> 638 bytes
-rw-r--r--graphics/pokemon/clefable/footprint.png (renamed from graphics/pokemon/footprints/clefable_footprint.png)bin101 -> 101 bytes
-rw-r--r--graphics/pokemon/clefable/front.png (renamed from graphics/pokemon/front_pics/clefable_still_front_pic.png)bin650 -> 650 bytes
-rw-r--r--graphics/pokemon/clefable/icon.png (renamed from graphics/pokemon/icons/clefable_icon.png)bin339 -> 339 bytes
-rw-r--r--graphics/pokemon/clefable/normal.pal (renamed from graphics/pokemon/palettes/clefable_palette.pal)0
-rw-r--r--graphics/pokemon/clefable/shiny.pal (renamed from graphics/pokemon/palettes/clefable_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/clefairy/anim_front.png (renamed from graphics/pokemon/anim_front_pics/clefairy_front_pic.png)bin814 -> 814 bytes
-rw-r--r--graphics/pokemon/clefairy/back.png (renamed from graphics/pokemon/back_pics/clefairy_back_pic.png)bin561 -> 561 bytes
-rw-r--r--graphics/pokemon/clefairy/footprint.png (renamed from graphics/pokemon/footprints/clefairy_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/clefairy/front.png (renamed from graphics/pokemon/front_pics/clefairy_still_front_pic.png)bin519 -> 519 bytes
-rw-r--r--graphics/pokemon/clefairy/icon.png (renamed from graphics/pokemon/icons/clefairy_icon.png)bin305 -> 305 bytes
-rw-r--r--graphics/pokemon/clefairy/normal.pal (renamed from graphics/pokemon/palettes/clefairy_palette.pal)0
-rw-r--r--graphics/pokemon/clefairy/shiny.pal (renamed from graphics/pokemon/palettes/clefairy_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/cleffa/anim_front.png (renamed from graphics/pokemon/anim_front_pics/cleffa_front_pic.png)bin606 -> 606 bytes
-rw-r--r--graphics/pokemon/cleffa/back.png (renamed from graphics/pokemon/back_pics/cleffa_back_pic.png)bin461 -> 461 bytes
-rw-r--r--graphics/pokemon/cleffa/footprint.png (renamed from graphics/pokemon/footprints/cleffa_footprint.png)bin79 -> 79 bytes
-rw-r--r--graphics/pokemon/cleffa/front.png (renamed from graphics/pokemon/front_pics/cleffa_still_front_pic.png)bin381 -> 381 bytes
-rw-r--r--graphics/pokemon/cleffa/icon.png (renamed from graphics/pokemon/icons/cleffa_icon.png)bin302 -> 302 bytes
-rw-r--r--graphics/pokemon/cleffa/normal.pal (renamed from graphics/pokemon/palettes/cleffa_palette.pal)0
-rw-r--r--graphics/pokemon/cleffa/shiny.pal (renamed from graphics/pokemon/palettes/cleffa_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/cloyster/anim_front.png (renamed from graphics/pokemon/anim_front_pics/cloyster_front_pic.png)bin1453 -> 1453 bytes
-rw-r--r--graphics/pokemon/cloyster/back.png (renamed from graphics/pokemon/back_pics/cloyster_back_pic.png)bin769 -> 769 bytes
-rw-r--r--graphics/pokemon/cloyster/footprint.png (renamed from graphics/pokemon/footprints/cloyster_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/cloyster/front.png (renamed from graphics/pokemon/front_pics/cloyster_still_front_pic.png)bin861 -> 861 bytes
-rw-r--r--graphics/pokemon/cloyster/icon.png (renamed from graphics/pokemon/icons/cloyster_icon.png)bin507 -> 507 bytes
-rw-r--r--graphics/pokemon/cloyster/normal.pal (renamed from graphics/pokemon/palettes/cloyster_palette.pal)0
-rw-r--r--graphics/pokemon/cloyster/shiny.pal (renamed from graphics/pokemon/palettes/cloyster_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/combusken/anim_front.png (renamed from graphics/pokemon/anim_front_pics/combusken_front_pic.png)bin1577 -> 1577 bytes
-rw-r--r--graphics/pokemon/combusken/back.png (renamed from graphics/pokemon/back_pics/combusken_back_pic.png)bin812 -> 812 bytes
-rw-r--r--graphics/pokemon/combusken/footprint.png (renamed from graphics/pokemon/footprints/combusken_footprint.png)bin109 -> 109 bytes
-rw-r--r--graphics/pokemon/combusken/front.png (renamed from graphics/pokemon/front_pics/combusken_still_front_pic.png)bin838 -> 838 bytes
-rw-r--r--graphics/pokemon/combusken/icon.png (renamed from graphics/pokemon/icons/combusken_icon.png)bin351 -> 351 bytes
-rw-r--r--graphics/pokemon/combusken/normal.pal (renamed from graphics/pokemon/palettes/combusken_palette.pal)0
-rw-r--r--graphics/pokemon/combusken/shiny.pal (renamed from graphics/pokemon/palettes/combusken_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/corphish/anim_front.png (renamed from graphics/pokemon/anim_front_pics/corphish_front_pic.png)bin967 -> 967 bytes
-rw-r--r--graphics/pokemon/corphish/back.png (renamed from graphics/pokemon/back_pics/corphish_back_pic.png)bin662 -> 662 bytes
-rw-r--r--graphics/pokemon/corphish/footprint.png (renamed from graphics/pokemon/footprints/corphish_footprint.png)bin102 -> 102 bytes
-rw-r--r--graphics/pokemon/corphish/front.png (renamed from graphics/pokemon/front_pics/corphish_still_front_pic.png)bin704 -> 704 bytes
-rw-r--r--graphics/pokemon/corphish/icon.png (renamed from graphics/pokemon/icons/corphish_icon.png)bin286 -> 286 bytes
-rw-r--r--graphics/pokemon/corphish/normal.pal (renamed from graphics/pokemon/palettes/corphish_palette.pal)0
-rw-r--r--graphics/pokemon/corphish/shiny.pal (renamed from graphics/pokemon/palettes/corphish_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/corsola/anim_front.png (renamed from graphics/pokemon/anim_front_pics/corsola_front_pic.png)bin980 -> 980 bytes
-rw-r--r--graphics/pokemon/corsola/back.png (renamed from graphics/pokemon/back_pics/corsola_back_pic.png)bin525 -> 525 bytes
-rw-r--r--graphics/pokemon/corsola/footprint.png (renamed from graphics/pokemon/footprints/corsola_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/corsola/front.png (renamed from graphics/pokemon/front_pics/corsola_still_front_pic.png)bin601 -> 601 bytes
-rw-r--r--graphics/pokemon/corsola/icon.png (renamed from graphics/pokemon/icons/corsola_icon.png)bin365 -> 365 bytes
-rw-r--r--graphics/pokemon/corsola/normal.pal (renamed from graphics/pokemon/palettes/corsola_palette.pal)0
-rw-r--r--graphics/pokemon/corsola/shiny.pal (renamed from graphics/pokemon/palettes/corsola_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/cradily/anim_front.png (renamed from graphics/pokemon/anim_front_pics/cradily_front_pic.png)bin1342 -> 1342 bytes
-rw-r--r--graphics/pokemon/cradily/back.png (renamed from graphics/pokemon/back_pics/cradily_back_pic.png)bin824 -> 824 bytes
-rw-r--r--graphics/pokemon/cradily/footprint.png (renamed from graphics/pokemon/footprints/cradily_footprint.png)bin98 -> 98 bytes
-rw-r--r--graphics/pokemon/cradily/front.png (renamed from graphics/pokemon/front_pics/cradily_still_front_pic.png)bin887 -> 887 bytes
-rw-r--r--graphics/pokemon/cradily/icon.png (renamed from graphics/pokemon/icons/cradily_icon.png)bin452 -> 452 bytes
-rw-r--r--graphics/pokemon/cradily/normal.pal (renamed from graphics/pokemon/palettes/cradily_palette.pal)0
-rw-r--r--graphics/pokemon/cradily/shiny.pal (renamed from graphics/pokemon/palettes/cradily_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/crawdaunt/anim_front.png (renamed from graphics/pokemon/anim_front_pics/crawdaunt_front_pic.png)bin1483 -> 1483 bytes
-rw-r--r--graphics/pokemon/crawdaunt/back.png (renamed from graphics/pokemon/back_pics/crawdaunt_back_pic.png)bin787 -> 787 bytes
-rw-r--r--graphics/pokemon/crawdaunt/footprint.png (renamed from graphics/pokemon/footprints/crawdaunt_footprint.png)bin104 -> 104 bytes
-rw-r--r--graphics/pokemon/crawdaunt/front.png (renamed from graphics/pokemon/front_pics/crawdaunt_still_front_pic.png)bin1006 -> 1006 bytes
-rw-r--r--graphics/pokemon/crawdaunt/icon.png (renamed from graphics/pokemon/icons/crawdaunt_icon.png)bin402 -> 402 bytes
-rw-r--r--graphics/pokemon/crawdaunt/normal.pal (renamed from graphics/pokemon/palettes/crawdaunt_palette.pal)0
-rw-r--r--graphics/pokemon/crawdaunt/shiny.pal (renamed from graphics/pokemon/palettes/crawdaunt_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/crobat/anim_front.png (renamed from graphics/pokemon/anim_front_pics/crobat_front_pic.png)bin1132 -> 1132 bytes
-rw-r--r--graphics/pokemon/crobat/back.png (renamed from graphics/pokemon/back_pics/crobat_back_pic.png)bin600 -> 600 bytes
-rw-r--r--graphics/pokemon/crobat/footprint.png (renamed from graphics/pokemon/footprints/crobat_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/crobat/front.png (renamed from graphics/pokemon/front_pics/crobat_still_front_pic.png)bin780 -> 780 bytes
-rw-r--r--graphics/pokemon/crobat/icon.png (renamed from graphics/pokemon/icons/crobat_icon.png)bin422 -> 422 bytes
-rw-r--r--graphics/pokemon/crobat/normal.pal (renamed from graphics/pokemon/palettes/crobat_palette.pal)0
-rw-r--r--graphics/pokemon/crobat/shiny.pal (renamed from graphics/pokemon/palettes/crobat_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/croconaw/anim_front.png (renamed from graphics/pokemon/anim_front_pics/croconaw_front_pic.png)bin1225 -> 1225 bytes
-rw-r--r--graphics/pokemon/croconaw/back.png (renamed from graphics/pokemon/back_pics/croconaw_back_pic.png)bin709 -> 709 bytes
-rw-r--r--graphics/pokemon/croconaw/footprint.png (renamed from graphics/pokemon/footprints/croconaw_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/croconaw/front.png (renamed from graphics/pokemon/front_pics/croconaw_still_front_pic.png)bin730 -> 730 bytes
-rw-r--r--graphics/pokemon/croconaw/icon.png (renamed from graphics/pokemon/icons/croconaw_icon.png)bin356 -> 356 bytes
-rw-r--r--graphics/pokemon/croconaw/normal.pal (renamed from graphics/pokemon/palettes/croconaw_palette.pal)0
-rw-r--r--graphics/pokemon/croconaw/shiny.pal (renamed from graphics/pokemon/palettes/croconaw_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/cubone/anim_front.png (renamed from graphics/pokemon/anim_front_pics/cubone_front_pic.png)bin841 -> 841 bytes
-rw-r--r--graphics/pokemon/cubone/back.png (renamed from graphics/pokemon/back_pics/cubone_back_pic.png)bin673 -> 673 bytes
-rw-r--r--graphics/pokemon/cubone/footprint.png (renamed from graphics/pokemon/footprints/cubone_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/cubone/front.png (renamed from graphics/pokemon/front_pics/cubone_still_front_pic.png)bin604 -> 604 bytes
-rw-r--r--graphics/pokemon/cubone/icon.png (renamed from graphics/pokemon/icons/cubone_icon.png)bin350 -> 350 bytes
-rw-r--r--graphics/pokemon/cubone/normal.pal (renamed from graphics/pokemon/palettes/cubone_palette.pal)0
-rw-r--r--graphics/pokemon/cubone/shiny.pal (renamed from graphics/pokemon/palettes/cubone_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/cyndaquil/anim_front.png (renamed from graphics/pokemon/anim_front_pics/cyndaquil_front_pic.png)bin869 -> 869 bytes
-rw-r--r--graphics/pokemon/cyndaquil/back.png (renamed from graphics/pokemon/back_pics/cyndaquil_back_pic.png)bin670 -> 670 bytes
-rw-r--r--graphics/pokemon/cyndaquil/footprint.png (renamed from graphics/pokemon/footprints/cyndaquil_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/cyndaquil/front.png (renamed from graphics/pokemon/front_pics/cyndaquil_still_front_pic.png)bin546 -> 546 bytes
-rw-r--r--graphics/pokemon/cyndaquil/icon.png (renamed from graphics/pokemon/icons/cyndaquil_icon.png)bin360 -> 360 bytes
-rw-r--r--graphics/pokemon/cyndaquil/normal.pal (renamed from graphics/pokemon/palettes/cyndaquil_palette.pal)0
-rw-r--r--graphics/pokemon/cyndaquil/shiny.pal (renamed from graphics/pokemon/palettes/cyndaquil_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/delcatty/anim_front.png (renamed from graphics/pokemon/anim_front_pics/delcatty_front_pic.png)bin1241 -> 1241 bytes
-rw-r--r--graphics/pokemon/delcatty/back.png (renamed from graphics/pokemon/back_pics/delcatty_back_pic.png)bin737 -> 737 bytes
-rw-r--r--graphics/pokemon/delcatty/footprint.png (renamed from graphics/pokemon/footprints/delcatty_footprint.png)bin107 -> 107 bytes
-rw-r--r--graphics/pokemon/delcatty/front.png (renamed from graphics/pokemon/front_pics/delcatty_still_front_pic.png)bin765 -> 765 bytes
-rw-r--r--graphics/pokemon/delcatty/icon.png (renamed from graphics/pokemon/icons/delcatty_icon.png)bin420 -> 420 bytes
-rw-r--r--graphics/pokemon/delcatty/normal.pal (renamed from graphics/pokemon/palettes/delcatty_palette.pal)0
-rw-r--r--graphics/pokemon/delcatty/shiny.pal (renamed from graphics/pokemon/palettes/delcatty_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/delibird/anim_front.png (renamed from graphics/pokemon/anim_front_pics/delibird_front_pic.png)bin1198 -> 1198 bytes
-rw-r--r--graphics/pokemon/delibird/back.png (renamed from graphics/pokemon/back_pics/delibird_back_pic.png)bin786 -> 786 bytes
-rw-r--r--graphics/pokemon/delibird/footprint.png (renamed from graphics/pokemon/footprints/delibird_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/delibird/front.png (renamed from graphics/pokemon/front_pics/delibird_still_front_pic.png)bin733 -> 733 bytes
-rw-r--r--graphics/pokemon/delibird/icon.png (renamed from graphics/pokemon/icons/delibird_icon.png)bin357 -> 357 bytes
-rw-r--r--graphics/pokemon/delibird/normal.pal (renamed from graphics/pokemon/palettes/delibird_palette.pal)0
-rw-r--r--graphics/pokemon/delibird/shiny.pal (renamed from graphics/pokemon/palettes/delibird_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/deoxys/anim_front.png (renamed from graphics/pokemon/anim_front_pics/deoxys_front_pic.png)bin1527 -> 1527 bytes
-rw-r--r--graphics/pokemon/deoxys/back.png (renamed from graphics/pokemon/back_pics/deoxys_back_pic.png)bin1190 -> 1190 bytes
-rw-r--r--graphics/pokemon/deoxys/footprint.png (renamed from graphics/pokemon/footprints/deoxys_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/deoxys/front.png (renamed from graphics/pokemon/front_pics/deoxys_still_front_pic.png)bin838 -> 838 bytes
-rw-r--r--graphics/pokemon/deoxys/icon.png (renamed from graphics/pokemon/icons/deoxys_icon.png)bin430 -> 430 bytes
-rw-r--r--graphics/pokemon/deoxys/icon_speed.png (renamed from graphics/pokemon/icons/deoxys_speed_icon.png)bin376 -> 376 bytes
-rw-r--r--graphics/pokemon/deoxys/normal.pal (renamed from graphics/pokemon/palettes/deoxys_palette.pal)0
-rw-r--r--graphics/pokemon/deoxys/shiny.pal (renamed from graphics/pokemon/palettes/deoxys_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/dewgong/anim_front.png (renamed from graphics/pokemon/anim_front_pics/dewgong_front_pic.png)bin1304 -> 1304 bytes
-rw-r--r--graphics/pokemon/dewgong/back.png (renamed from graphics/pokemon/back_pics/dewgong_back_pic.png)bin523 -> 523 bytes
-rw-r--r--graphics/pokemon/dewgong/footprint.png (renamed from graphics/pokemon/footprints/dewgong_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/dewgong/front.png (renamed from graphics/pokemon/front_pics/dewgong_still_front_pic.png)bin747 -> 747 bytes
-rw-r--r--graphics/pokemon/dewgong/icon.png (renamed from graphics/pokemon/icons/dewgong_icon.png)bin415 -> 415 bytes
-rw-r--r--graphics/pokemon/dewgong/normal.pal (renamed from graphics/pokemon/palettes/dewgong_palette.pal)0
-rw-r--r--graphics/pokemon/dewgong/shiny.pal (renamed from graphics/pokemon/palettes/dewgong_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/diglett/anim_front.png (renamed from graphics/pokemon/anim_front_pics/diglett_front_pic.png)bin627 -> 627 bytes
-rw-r--r--graphics/pokemon/diglett/back.png (renamed from graphics/pokemon/back_pics/diglett_back_pic.png)bin409 -> 409 bytes
-rw-r--r--graphics/pokemon/diglett/footprint.png (renamed from graphics/pokemon/footprints/diglett_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/diglett/front.png (renamed from graphics/pokemon/front_pics/diglett_still_front_pic.png)bin422 -> 422 bytes
-rw-r--r--graphics/pokemon/diglett/icon.png (renamed from graphics/pokemon/icons/diglett_icon.png)bin249 -> 249 bytes
-rw-r--r--graphics/pokemon/diglett/normal.pal (renamed from graphics/pokemon/palettes/diglett_palette.pal)0
-rw-r--r--graphics/pokemon/diglett/shiny.pal (renamed from graphics/pokemon/palettes/diglett_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/ditto/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ditto_front_pic.png)bin572 -> 572 bytes
-rw-r--r--graphics/pokemon/ditto/back.png (renamed from graphics/pokemon/back_pics/ditto_back_pic.png)bin399 -> 399 bytes
-rw-r--r--graphics/pokemon/ditto/footprint.png (renamed from graphics/pokemon/footprints/ditto_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/ditto/front.png (renamed from graphics/pokemon/front_pics/ditto_still_front_pic.png)bin377 -> 377 bytes
-rw-r--r--graphics/pokemon/ditto/icon.png (renamed from graphics/pokemon/icons/ditto_icon.png)bin270 -> 270 bytes
-rw-r--r--graphics/pokemon/ditto/normal.pal (renamed from graphics/pokemon/palettes/ditto_palette.pal)0
-rw-r--r--graphics/pokemon/ditto/shiny.pal (renamed from graphics/pokemon/palettes/ditto_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/dodrio/anim_front.png (renamed from graphics/pokemon/anim_front_pics/dodrio_front_pic.png)bin1876 -> 1876 bytes
-rw-r--r--graphics/pokemon/dodrio/back.png (renamed from graphics/pokemon/back_pics/dodrio_back_pic.png)bin910 -> 910 bytes
-rw-r--r--graphics/pokemon/dodrio/footprint.png (renamed from graphics/pokemon/footprints/dodrio_footprint.png)bin110 -> 110 bytes
-rw-r--r--graphics/pokemon/dodrio/front.png (renamed from graphics/pokemon/front_pics/dodrio_still_front_pic.png)bin1086 -> 1086 bytes
-rw-r--r--graphics/pokemon/dodrio/icon.png (renamed from graphics/pokemon/icons/dodrio_icon.png)bin446 -> 446 bytes
-rw-r--r--graphics/pokemon/dodrio/normal.pal (renamed from graphics/pokemon/palettes/dodrio_palette.pal)0
-rw-r--r--graphics/pokemon/dodrio/shiny.pal (renamed from graphics/pokemon/palettes/dodrio_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/doduo/anim_front.png (renamed from graphics/pokemon/anim_front_pics/doduo_front_pic.png)bin1129 -> 1129 bytes
-rw-r--r--graphics/pokemon/doduo/back.png (renamed from graphics/pokemon/back_pics/doduo_back_pic.png)bin651 -> 651 bytes
-rw-r--r--graphics/pokemon/doduo/footprint.png (renamed from graphics/pokemon/footprints/doduo_footprint.png)bin101 -> 101 bytes
-rw-r--r--graphics/pokemon/doduo/front.png (renamed from graphics/pokemon/front_pics/doduo_still_front_pic.png)bin705 -> 705 bytes
-rw-r--r--graphics/pokemon/doduo/icon.png (renamed from graphics/pokemon/icons/doduo_icon.png)bin351 -> 351 bytes
-rw-r--r--graphics/pokemon/doduo/normal.pal (renamed from graphics/pokemon/palettes/doduo_palette.pal)0
-rw-r--r--graphics/pokemon/doduo/shiny.pal (renamed from graphics/pokemon/palettes/doduo_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/donphan/anim_front.png (renamed from graphics/pokemon/anim_front_pics/donphan_front_pic.png)bin1356 -> 1356 bytes
-rw-r--r--graphics/pokemon/donphan/back.png (renamed from graphics/pokemon/back_pics/donphan_back_pic.png)bin571 -> 571 bytes
-rw-r--r--graphics/pokemon/donphan/footprint.png (renamed from graphics/pokemon/footprints/donphan_footprint.png)bin96 -> 96 bytes
-rw-r--r--graphics/pokemon/donphan/front.png (renamed from graphics/pokemon/front_pics/donphan_still_front_pic.png)bin923 -> 923 bytes
-rw-r--r--graphics/pokemon/donphan/icon.png (renamed from graphics/pokemon/icons/donphan_icon.png)bin471 -> 471 bytes
-rw-r--r--graphics/pokemon/donphan/normal.pal (renamed from graphics/pokemon/palettes/donphan_palette.pal)0
-rw-r--r--graphics/pokemon/donphan/shiny.pal (renamed from graphics/pokemon/palettes/donphan_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/double_question_mark/anim_front.png (renamed from graphics/pokemon/anim_front_pics/double_question_mark_front_pic.png)bin317 -> 317 bytes
-rw-r--r--graphics/pokemon/double_question_mark/back.png (renamed from graphics/pokemon/back_pics/double_question_mark_back_pic.png)bin308 -> 308 bytes
-rw-r--r--graphics/pokemon/double_question_mark/front.png (renamed from graphics/pokemon/front_pics/double_question_mark_still_front_pic.png)bin306 -> 306 bytes
-rw-r--r--graphics/pokemon/double_question_mark/normal.pal (renamed from graphics/pokemon/palettes/double_question_mark_palette.pal)0
-rw-r--r--graphics/pokemon/double_question_mark/shiny.pal (renamed from graphics/pokemon/palettes/double_question_mark_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/dragonair/anim_front.png (renamed from graphics/pokemon/anim_front_pics/dragonair_front_pic.png)bin1296 -> 1296 bytes
-rw-r--r--graphics/pokemon/dragonair/back.png (renamed from graphics/pokemon/back_pics/dragonair_back_pic.png)bin672 -> 672 bytes
-rw-r--r--graphics/pokemon/dragonair/footprint.png (renamed from graphics/pokemon/footprints/dragonair_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/dragonair/front.png (renamed from graphics/pokemon/front_pics/dragonair_still_front_pic.png)bin733 -> 733 bytes
-rw-r--r--graphics/pokemon/dragonair/icon.png (renamed from graphics/pokemon/icons/dragonair_icon.png)bin383 -> 383 bytes
-rw-r--r--graphics/pokemon/dragonair/normal.pal (renamed from graphics/pokemon/palettes/dragonair_palette.pal)0
-rw-r--r--graphics/pokemon/dragonair/shiny.pal (renamed from graphics/pokemon/palettes/dragonair_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/dragonite/anim_front.png (renamed from graphics/pokemon/anim_front_pics/dragonite_front_pic.png)bin1895 -> 1895 bytes
-rw-r--r--graphics/pokemon/dragonite/back.png (renamed from graphics/pokemon/back_pics/dragonite_back_pic.png)bin622 -> 622 bytes
-rw-r--r--graphics/pokemon/dragonite/footprint.png (renamed from graphics/pokemon/footprints/dragonite_footprint.png)bin92 -> 92 bytes
-rw-r--r--graphics/pokemon/dragonite/front.png (renamed from graphics/pokemon/front_pics/dragonite_still_front_pic.png)bin1139 -> 1139 bytes
-rw-r--r--graphics/pokemon/dragonite/icon.png (renamed from graphics/pokemon/icons/dragonite_icon.png)bin414 -> 414 bytes
-rw-r--r--graphics/pokemon/dragonite/normal.pal (renamed from graphics/pokemon/palettes/dragonite_palette.pal)0
-rw-r--r--graphics/pokemon/dragonite/shiny.pal (renamed from graphics/pokemon/palettes/dragonite_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/dratini/anim_front.png (renamed from graphics/pokemon/anim_front_pics/dratini_front_pic.png)bin928 -> 928 bytes
-rw-r--r--graphics/pokemon/dratini/back.png (renamed from graphics/pokemon/back_pics/dratini_back_pic.png)bin525 -> 525 bytes
-rw-r--r--graphics/pokemon/dratini/footprint.png (renamed from graphics/pokemon/footprints/dratini_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/dratini/front.png (renamed from graphics/pokemon/front_pics/dratini_still_front_pic.png)bin549 -> 549 bytes
-rw-r--r--graphics/pokemon/dratini/icon.png (renamed from graphics/pokemon/icons/dratini_icon.png)bin334 -> 334 bytes
-rw-r--r--graphics/pokemon/dratini/normal.pal (renamed from graphics/pokemon/palettes/dratini_palette.pal)0
-rw-r--r--graphics/pokemon/dratini/shiny.pal (renamed from graphics/pokemon/palettes/dratini_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/drowzee/anim_front.png (renamed from graphics/pokemon/anim_front_pics/drowzee_front_pic.png)bin1082 -> 1082 bytes
-rw-r--r--graphics/pokemon/drowzee/back.png (renamed from graphics/pokemon/back_pics/drowzee_back_pic.png)bin452 -> 452 bytes
-rw-r--r--graphics/pokemon/drowzee/footprint.png (renamed from graphics/pokemon/footprints/drowzee_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/drowzee/front.png (renamed from graphics/pokemon/front_pics/drowzee_still_front_pic.png)bin703 -> 703 bytes
-rw-r--r--graphics/pokemon/drowzee/icon.png (renamed from graphics/pokemon/icons/drowzee_icon.png)bin416 -> 416 bytes
-rw-r--r--graphics/pokemon/drowzee/normal.pal (renamed from graphics/pokemon/palettes/drowzee_palette.pal)0
-rw-r--r--graphics/pokemon/drowzee/shiny.pal (renamed from graphics/pokemon/palettes/drowzee_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/dugtrio/anim_front.png (renamed from graphics/pokemon/anim_front_pics/dugtrio_front_pic.png)bin835 -> 835 bytes
-rw-r--r--graphics/pokemon/dugtrio/back.png (renamed from graphics/pokemon/back_pics/dugtrio_back_pic.png)bin541 -> 541 bytes
-rw-r--r--graphics/pokemon/dugtrio/footprint.png (renamed from graphics/pokemon/footprints/dugtrio_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/dugtrio/front.png (renamed from graphics/pokemon/front_pics/dugtrio_still_front_pic.png)bin635 -> 635 bytes
-rw-r--r--graphics/pokemon/dugtrio/icon.png (renamed from graphics/pokemon/icons/dugtrio_icon.png)bin296 -> 296 bytes
-rw-r--r--graphics/pokemon/dugtrio/normal.pal (renamed from graphics/pokemon/palettes/dugtrio_palette.pal)0
-rw-r--r--graphics/pokemon/dugtrio/shiny.pal (renamed from graphics/pokemon/palettes/dugtrio_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/dunsparce/anim_front.png (renamed from graphics/pokemon/anim_front_pics/dunsparce_front_pic.png)bin1002 -> 1002 bytes
-rw-r--r--graphics/pokemon/dunsparce/back.png (renamed from graphics/pokemon/back_pics/dunsparce_back_pic.png)bin593 -> 593 bytes
-rw-r--r--graphics/pokemon/dunsparce/footprint.png (renamed from graphics/pokemon/footprints/dunsparce_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/dunsparce/front.png (renamed from graphics/pokemon/front_pics/dunsparce_still_front_pic.png)bin645 -> 645 bytes
-rw-r--r--graphics/pokemon/dunsparce/icon.png (renamed from graphics/pokemon/icons/dunsparce_icon.png)bin341 -> 341 bytes
-rw-r--r--graphics/pokemon/dunsparce/normal.pal (renamed from graphics/pokemon/palettes/dunsparce_palette.pal)0
-rw-r--r--graphics/pokemon/dunsparce/shiny.pal (renamed from graphics/pokemon/palettes/dunsparce_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/dusclops/anim_front.png (renamed from graphics/pokemon/anim_front_pics/dusclops_front_pic.png)bin1275 -> 1275 bytes
-rw-r--r--graphics/pokemon/dusclops/back.png (renamed from graphics/pokemon/back_pics/dusclops_back_pic.png)bin559 -> 559 bytes
-rw-r--r--graphics/pokemon/dusclops/footprint.png (renamed from graphics/pokemon/footprints/dusclops_footprint.png)bin106 -> 106 bytes
-rw-r--r--graphics/pokemon/dusclops/front.png (renamed from graphics/pokemon/front_pics/dusclops_still_front_pic.png)bin741 -> 741 bytes
-rw-r--r--graphics/pokemon/dusclops/icon.png (renamed from graphics/pokemon/icons/dusclops_icon.png)bin344 -> 344 bytes
-rw-r--r--graphics/pokemon/dusclops/normal.pal (renamed from graphics/pokemon/palettes/dusclops_palette.pal)0
-rw-r--r--graphics/pokemon/dusclops/shiny.pal (renamed from graphics/pokemon/palettes/dusclops_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/duskull/anim_front.png (renamed from graphics/pokemon/anim_front_pics/duskull_front_pic.png)bin999 -> 999 bytes
-rw-r--r--graphics/pokemon/duskull/back.png (renamed from graphics/pokemon/back_pics/duskull_back_pic.png)bin537 -> 537 bytes
-rw-r--r--graphics/pokemon/duskull/footprint.png (renamed from graphics/pokemon/footprints/duskull_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/duskull/front.png (renamed from graphics/pokemon/front_pics/duskull_still_front_pic.png)bin616 -> 616 bytes
-rw-r--r--graphics/pokemon/duskull/icon.png (renamed from graphics/pokemon/icons/duskull_icon.png)bin294 -> 294 bytes
-rw-r--r--graphics/pokemon/duskull/normal.pal (renamed from graphics/pokemon/palettes/duskull_palette.pal)0
-rw-r--r--graphics/pokemon/duskull/shiny.pal (renamed from graphics/pokemon/palettes/duskull_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/dustox/anim_front.png (renamed from graphics/pokemon/anim_front_pics/dustox_front_pic.png)bin1195 -> 1195 bytes
-rw-r--r--graphics/pokemon/dustox/back.png (renamed from graphics/pokemon/back_pics/dustox_back_pic.png)bin481 -> 481 bytes
-rw-r--r--graphics/pokemon/dustox/footprint.png (renamed from graphics/pokemon/footprints/dustox_footprint.png)bin92 -> 92 bytes
-rw-r--r--graphics/pokemon/dustox/front.png (renamed from graphics/pokemon/front_pics/dustox_still_front_pic.png)bin724 -> 724 bytes
-rw-r--r--graphics/pokemon/dustox/icon.png (renamed from graphics/pokemon/icons/dustox_icon.png)bin428 -> 428 bytes
-rw-r--r--graphics/pokemon/dustox/normal.pal (renamed from graphics/pokemon/palettes/dustox_palette.pal)0
-rw-r--r--graphics/pokemon/dustox/shiny.pal (renamed from graphics/pokemon/palettes/dustox_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/eevee/anim_front.png (renamed from graphics/pokemon/anim_front_pics/eevee_front_pic.png)bin907 -> 907 bytes
-rw-r--r--graphics/pokemon/eevee/back.png (renamed from graphics/pokemon/back_pics/eevee_back_pic.png)bin641 -> 641 bytes
-rw-r--r--graphics/pokemon/eevee/footprint.png (renamed from graphics/pokemon/footprints/eevee_footprint.png)bin96 -> 96 bytes
-rw-r--r--graphics/pokemon/eevee/front.png (renamed from graphics/pokemon/front_pics/eevee_still_front_pic.png)bin557 -> 557 bytes
-rw-r--r--graphics/pokemon/eevee/icon.png (renamed from graphics/pokemon/icons/eevee_icon.png)bin296 -> 296 bytes
-rw-r--r--graphics/pokemon/eevee/normal.pal (renamed from graphics/pokemon/palettes/eevee_palette.pal)0
-rw-r--r--graphics/pokemon/eevee/shiny.pal (renamed from graphics/pokemon/palettes/eevee_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/egg/anim_front.png (renamed from graphics/pokemon/anim_front_pics/egg_front_pic.png)bin358 -> 358 bytes
-rw-r--r--graphics/pokemon/egg/front.png (renamed from graphics/pokemon/front_pics/egg_still_front_pic.png)bin318 -> 318 bytes
-rw-r--r--graphics/pokemon/egg/icon.png (renamed from graphics/pokemon/icons/egg_icon.png)bin310 -> 310 bytes
-rw-r--r--graphics/pokemon/egg/normal.pal (renamed from graphics/pokemon/palettes/egg_palette.pal)0
-rw-r--r--graphics/pokemon/ekans/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ekans_front_pic.png)bin1061 -> 1061 bytes
-rw-r--r--graphics/pokemon/ekans/back.png (renamed from graphics/pokemon/back_pics/ekans_back_pic.png)bin616 -> 616 bytes
-rw-r--r--graphics/pokemon/ekans/footprint.png (renamed from graphics/pokemon/footprints/ekans_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/ekans/front.png (renamed from graphics/pokemon/front_pics/ekans_still_front_pic.png)bin621 -> 621 bytes
-rw-r--r--graphics/pokemon/ekans/icon.png (renamed from graphics/pokemon/icons/ekans_icon.png)bin333 -> 333 bytes
-rw-r--r--graphics/pokemon/ekans/normal.pal (renamed from graphics/pokemon/palettes/ekans_palette.pal)0
-rw-r--r--graphics/pokemon/ekans/shiny.pal (renamed from graphics/pokemon/palettes/ekans_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/electabuzz/anim_front.png (renamed from graphics/pokemon/anim_front_pics/electabuzz_front_pic.png)bin1548 -> 1548 bytes
-rw-r--r--graphics/pokemon/electabuzz/back.png (renamed from graphics/pokemon/back_pics/electabuzz_back_pic.png)bin611 -> 611 bytes
-rw-r--r--graphics/pokemon/electabuzz/footprint.png (renamed from graphics/pokemon/footprints/electabuzz_footprint.png)bin93 -> 93 bytes
-rw-r--r--graphics/pokemon/electabuzz/front.png (renamed from graphics/pokemon/front_pics/electabuzz_still_front_pic.png)bin926 -> 926 bytes
-rw-r--r--graphics/pokemon/electabuzz/icon.png (renamed from graphics/pokemon/icons/electabuzz_icon.png)bin321 -> 321 bytes
-rw-r--r--graphics/pokemon/electabuzz/normal.pal (renamed from graphics/pokemon/palettes/electabuzz_palette.pal)0
-rw-r--r--graphics/pokemon/electabuzz/shiny.pal (renamed from graphics/pokemon/palettes/electabuzz_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/electrike/anim_front.png (renamed from graphics/pokemon/anim_front_pics/electrike_front_pic.png)bin809 -> 809 bytes
-rw-r--r--graphics/pokemon/electrike/back.png (renamed from graphics/pokemon/back_pics/electrike_back_pic.png)bin499 -> 499 bytes
-rw-r--r--graphics/pokemon/electrike/footprint.png (renamed from graphics/pokemon/footprints/electrike_footprint.png)bin101 -> 101 bytes
-rw-r--r--graphics/pokemon/electrike/front.png (renamed from graphics/pokemon/front_pics/electrike_still_front_pic.png)bin511 -> 511 bytes
-rw-r--r--graphics/pokemon/electrike/icon.png (renamed from graphics/pokemon/icons/electrike_icon.png)bin352 -> 352 bytes
-rw-r--r--graphics/pokemon/electrike/normal.pal (renamed from graphics/pokemon/palettes/electrike_palette.pal)0
-rw-r--r--graphics/pokemon/electrike/shiny.pal (renamed from graphics/pokemon/palettes/electrike_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/electrode/anim_front.png (renamed from graphics/pokemon/anim_front_pics/electrode_front_pic.png)bin713 -> 713 bytes
-rw-r--r--graphics/pokemon/electrode/back.png (renamed from graphics/pokemon/back_pics/electrode_back_pic.png)bin477 -> 477 bytes
-rw-r--r--graphics/pokemon/electrode/footprint.png (renamed from graphics/pokemon/footprints/electrode_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/electrode/front.png (renamed from graphics/pokemon/front_pics/electrode_still_front_pic.png)bin490 -> 490 bytes
-rw-r--r--graphics/pokemon/electrode/icon.png (renamed from graphics/pokemon/icons/electrode_icon.png)bin245 -> 245 bytes
-rw-r--r--graphics/pokemon/electrode/normal.pal (renamed from graphics/pokemon/palettes/electrode_palette.pal)0
-rw-r--r--graphics/pokemon/electrode/shiny.pal (renamed from graphics/pokemon/palettes/electrode_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/elekid/anim_front.png (renamed from graphics/pokemon/anim_front_pics/elekid_front_pic.png)bin1041 -> 1041 bytes
-rw-r--r--graphics/pokemon/elekid/back.png (renamed from graphics/pokemon/back_pics/elekid_back_pic.png)bin660 -> 660 bytes
-rw-r--r--graphics/pokemon/elekid/footprint.png (renamed from graphics/pokemon/footprints/elekid_footprint.png)bin89 -> 89 bytes
-rw-r--r--graphics/pokemon/elekid/front.png (renamed from graphics/pokemon/front_pics/elekid_still_front_pic.png)bin646 -> 646 bytes
-rw-r--r--graphics/pokemon/elekid/icon.png (renamed from graphics/pokemon/icons/elekid_icon.png)bin327 -> 327 bytes
-rw-r--r--graphics/pokemon/elekid/normal.pal (renamed from graphics/pokemon/palettes/elekid_palette.pal)0
-rw-r--r--graphics/pokemon/elekid/shiny.pal (renamed from graphics/pokemon/palettes/elekid_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/entei/anim_front.png (renamed from graphics/pokemon/anim_front_pics/entei_front_pic.png)bin1774 -> 1774 bytes
-rw-r--r--graphics/pokemon/entei/back.png (renamed from graphics/pokemon/back_pics/entei_back_pic.png)bin859 -> 859 bytes
-rw-r--r--graphics/pokemon/entei/footprint.png (renamed from graphics/pokemon/footprints/entei_footprint.png)bin101 -> 101 bytes
-rw-r--r--graphics/pokemon/entei/front.png (renamed from graphics/pokemon/front_pics/entei_still_front_pic.png)bin1284 -> 1284 bytes
-rw-r--r--graphics/pokemon/entei/icon.png (renamed from graphics/pokemon/icons/entei_icon.png)bin453 -> 453 bytes
-rw-r--r--graphics/pokemon/entei/normal.pal (renamed from graphics/pokemon/palettes/entei_palette.pal)0
-rw-r--r--graphics/pokemon/entei/shiny.pal (renamed from graphics/pokemon/palettes/entei_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/espeon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/espeon_front_pic.png)bin1111 -> 1111 bytes
-rw-r--r--graphics/pokemon/espeon/back.png (renamed from graphics/pokemon/back_pics/espeon_back_pic.png)bin554 -> 554 bytes
-rw-r--r--graphics/pokemon/espeon/footprint.png (renamed from graphics/pokemon/footprints/espeon_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/espeon/front.png (renamed from graphics/pokemon/front_pics/espeon_still_front_pic.png)bin659 -> 659 bytes
-rw-r--r--graphics/pokemon/espeon/icon.png (renamed from graphics/pokemon/icons/espeon_icon.png)bin354 -> 354 bytes
-rw-r--r--graphics/pokemon/espeon/normal.pal (renamed from graphics/pokemon/palettes/espeon_palette.pal)0
-rw-r--r--graphics/pokemon/espeon/shiny.pal (renamed from graphics/pokemon/palettes/espeon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/exeggcute/anim_front.png (renamed from graphics/pokemon/anim_front_pics/exeggcute_front_pic.png)bin1234 -> 1234 bytes
-rw-r--r--graphics/pokemon/exeggcute/back.png (renamed from graphics/pokemon/back_pics/exeggcute_back_pic.png)bin597 -> 597 bytes
-rw-r--r--graphics/pokemon/exeggcute/footprint.png (renamed from graphics/pokemon/footprints/exeggcute_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/exeggcute/front.png (renamed from graphics/pokemon/front_pics/exeggcute_still_front_pic.png)bin808 -> 808 bytes
-rw-r--r--graphics/pokemon/exeggcute/icon.png (renamed from graphics/pokemon/icons/exeggcute_icon.png)bin383 -> 383 bytes
-rw-r--r--graphics/pokemon/exeggcute/normal.pal (renamed from graphics/pokemon/palettes/exeggcute_palette.pal)0
-rw-r--r--graphics/pokemon/exeggcute/shiny.pal (renamed from graphics/pokemon/palettes/exeggcute_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/exeggutor/anim_front.png (renamed from graphics/pokemon/anim_front_pics/exeggutor_front_pic.png)bin1637 -> 1637 bytes
-rw-r--r--graphics/pokemon/exeggutor/back.png (renamed from graphics/pokemon/back_pics/exeggutor_back_pic.png)bin946 -> 946 bytes
-rw-r--r--graphics/pokemon/exeggutor/footprint.png (renamed from graphics/pokemon/footprints/exeggutor_footprint.png)bin92 -> 92 bytes
-rw-r--r--graphics/pokemon/exeggutor/front.png (renamed from graphics/pokemon/front_pics/exeggutor_still_front_pic.png)bin1068 -> 1068 bytes
-rw-r--r--graphics/pokemon/exeggutor/icon.png (renamed from graphics/pokemon/icons/exeggutor_icon.png)bin368 -> 368 bytes
-rw-r--r--graphics/pokemon/exeggutor/normal.pal (renamed from graphics/pokemon/palettes/exeggutor_palette.pal)0
-rw-r--r--graphics/pokemon/exeggutor/shiny.pal (renamed from graphics/pokemon/palettes/exeggutor_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/exploud/anim_front.png (renamed from graphics/pokemon/anim_front_pics/exploud_front_pic.png)bin2048 -> 2048 bytes
-rw-r--r--graphics/pokemon/exploud/back.png (renamed from graphics/pokemon/back_pics/exploud_back_pic.png)bin838 -> 838 bytes
-rw-r--r--graphics/pokemon/exploud/footprint.png (renamed from graphics/pokemon/footprints/exploud_footprint.png)bin108 -> 108 bytes
-rw-r--r--graphics/pokemon/exploud/front.png (renamed from graphics/pokemon/front_pics/exploud_still_front_pic.png)bin1157 -> 1157 bytes
-rw-r--r--graphics/pokemon/exploud/icon.png (renamed from graphics/pokemon/icons/exploud_icon.png)bin447 -> 447 bytes
-rw-r--r--graphics/pokemon/exploud/normal.pal (renamed from graphics/pokemon/palettes/exploud_palette.pal)0
-rw-r--r--graphics/pokemon/exploud/shiny.pal (renamed from graphics/pokemon/palettes/exploud_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/farfetch_d/anim_front.png (renamed from graphics/pokemon/anim_front_pics/farfetch_d_front_pic.png)bin1032 -> 1032 bytes
-rw-r--r--graphics/pokemon/farfetch_d/back.png (renamed from graphics/pokemon/back_pics/farfetch_d_back_pic.png)bin696 -> 696 bytes
-rw-r--r--graphics/pokemon/farfetch_d/footprint.png (renamed from graphics/pokemon/footprints/farfetch_d_footprint.png)bin99 -> 99 bytes
-rw-r--r--graphics/pokemon/farfetch_d/front.png (renamed from graphics/pokemon/front_pics/farfetch_d_still_front_pic.png)bin733 -> 733 bytes
-rw-r--r--graphics/pokemon/farfetch_d/icon.png (renamed from graphics/pokemon/icons/farfetch_d_icon.png)bin396 -> 396 bytes
-rw-r--r--graphics/pokemon/farfetch_d/normal.pal (renamed from graphics/pokemon/palettes/farfetch_d_palette.pal)0
-rw-r--r--graphics/pokemon/farfetch_d/shiny.pal (renamed from graphics/pokemon/palettes/farfetch_d_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/fearow/anim_front.png (renamed from graphics/pokemon/anim_front_pics/fearow_front_pic.png)bin1578 -> 1578 bytes
-rw-r--r--graphics/pokemon/fearow/back.png (renamed from graphics/pokemon/back_pics/fearow_back_pic.png)bin635 -> 635 bytes
-rw-r--r--graphics/pokemon/fearow/footprint.png (renamed from graphics/pokemon/footprints/fearow_footprint.png)bin102 -> 102 bytes
-rw-r--r--graphics/pokemon/fearow/front.png (renamed from graphics/pokemon/front_pics/fearow_still_front_pic.png)bin980 -> 980 bytes
-rw-r--r--graphics/pokemon/fearow/icon.png (renamed from graphics/pokemon/icons/fearow_icon.png)bin465 -> 465 bytes
-rw-r--r--graphics/pokemon/fearow/normal.pal (renamed from graphics/pokemon/palettes/fearow_palette.pal)0
-rw-r--r--graphics/pokemon/fearow/shiny.pal (renamed from graphics/pokemon/palettes/fearow_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/feebas/anim_front.png (renamed from graphics/pokemon/anim_front_pics/feebas_front_pic.png)bin913 -> 913 bytes
-rw-r--r--graphics/pokemon/feebas/back.png (renamed from graphics/pokemon/back_pics/feebas_back_pic.png)bin666 -> 666 bytes
-rw-r--r--graphics/pokemon/feebas/footprint.png (renamed from graphics/pokemon/footprints/feebas_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/feebas/front.png (renamed from graphics/pokemon/front_pics/feebas_still_front_pic.png)bin539 -> 539 bytes
-rw-r--r--graphics/pokemon/feebas/icon.png (renamed from graphics/pokemon/icons/feebas_icon.png)bin359 -> 359 bytes
-rw-r--r--graphics/pokemon/feebas/normal.pal (renamed from graphics/pokemon/palettes/feebas_palette.pal)0
-rw-r--r--graphics/pokemon/feebas/shiny.pal (renamed from graphics/pokemon/palettes/feebas_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/feraligatr/anim_front.png (renamed from graphics/pokemon/anim_front_pics/feraligatr_front_pic.png)bin1853 -> 1853 bytes
-rw-r--r--graphics/pokemon/feraligatr/back.png (renamed from graphics/pokemon/back_pics/feraligatr_back_pic.png)bin999 -> 999 bytes
-rw-r--r--graphics/pokemon/feraligatr/footprint.png (renamed from graphics/pokemon/footprints/feraligatr_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/feraligatr/front.png (renamed from graphics/pokemon/front_pics/feraligatr_still_front_pic.png)bin1122 -> 1122 bytes
-rw-r--r--graphics/pokemon/feraligatr/icon.png (renamed from graphics/pokemon/icons/feraligatr_icon.png)bin488 -> 488 bytes
-rw-r--r--graphics/pokemon/feraligatr/normal.pal (renamed from graphics/pokemon/palettes/feraligatr_palette.pal)0
-rw-r--r--graphics/pokemon/feraligatr/shiny.pal (renamed from graphics/pokemon/palettes/feraligatr_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/flaaffy/anim_front.png (renamed from graphics/pokemon/anim_front_pics/flaaffy_front_pic.png)bin945 -> 945 bytes
-rw-r--r--graphics/pokemon/flaaffy/back.png (renamed from graphics/pokemon/back_pics/flaaffy_back_pic.png)bin663 -> 663 bytes
-rw-r--r--graphics/pokemon/flaaffy/footprint.png (renamed from graphics/pokemon/footprints/flaaffy_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/flaaffy/front.png (renamed from graphics/pokemon/front_pics/flaaffy_still_front_pic.png)bin652 -> 652 bytes
-rw-r--r--graphics/pokemon/flaaffy/icon.png (renamed from graphics/pokemon/icons/flaaffy_icon.png)bin376 -> 376 bytes
-rw-r--r--graphics/pokemon/flaaffy/normal.pal (renamed from graphics/pokemon/palettes/flaaffy_palette.pal)0
-rw-r--r--graphics/pokemon/flaaffy/shiny.pal (renamed from graphics/pokemon/palettes/flaaffy_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/flareon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/flareon_front_pic.png)bin1156 -> 1156 bytes
-rw-r--r--graphics/pokemon/flareon/back.png (renamed from graphics/pokemon/back_pics/flareon_back_pic.png)bin709 -> 709 bytes
-rw-r--r--graphics/pokemon/flareon/footprint.png (renamed from graphics/pokemon/footprints/flareon_footprint.png)bin103 -> 103 bytes
-rw-r--r--graphics/pokemon/flareon/front.png (renamed from graphics/pokemon/front_pics/flareon_still_front_pic.png)bin687 -> 687 bytes
-rw-r--r--graphics/pokemon/flareon/icon.png (renamed from graphics/pokemon/icons/flareon_icon.png)bin380 -> 380 bytes
-rw-r--r--graphics/pokemon/flareon/normal.pal (renamed from graphics/pokemon/palettes/flareon_palette.pal)0
-rw-r--r--graphics/pokemon/flareon/shiny.pal (renamed from graphics/pokemon/palettes/flareon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/flygon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/flygon_front_pic.png)bin1752 -> 1752 bytes
-rw-r--r--graphics/pokemon/flygon/back.png (renamed from graphics/pokemon/back_pics/flygon_back_pic.png)bin888 -> 888 bytes
-rw-r--r--graphics/pokemon/flygon/footprint.png (renamed from graphics/pokemon/footprints/flygon_footprint.png)bin92 -> 92 bytes
-rw-r--r--graphics/pokemon/flygon/front.png (renamed from graphics/pokemon/front_pics/flygon_still_front_pic.png)bin1076 -> 1076 bytes
-rw-r--r--graphics/pokemon/flygon/icon.png (renamed from graphics/pokemon/icons/flygon_icon.png)bin411 -> 411 bytes
-rw-r--r--graphics/pokemon/flygon/normal.pal (renamed from graphics/pokemon/palettes/flygon_palette.pal)0
-rw-r--r--graphics/pokemon/flygon/shiny.pal (renamed from graphics/pokemon/palettes/flygon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/forretress/anim_front.png (renamed from graphics/pokemon/anim_front_pics/forretress_front_pic.png)bin1095 -> 1095 bytes
-rw-r--r--graphics/pokemon/forretress/back.png (renamed from graphics/pokemon/back_pics/forretress_back_pic.png)bin525 -> 525 bytes
-rw-r--r--graphics/pokemon/forretress/footprint.png (renamed from graphics/pokemon/footprints/forretress_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/forretress/front.png (renamed from graphics/pokemon/front_pics/forretress_still_front_pic.png)bin835 -> 835 bytes
-rw-r--r--graphics/pokemon/forretress/icon.png (renamed from graphics/pokemon/icons/forretress_icon.png)bin332 -> 332 bytes
-rw-r--r--graphics/pokemon/forretress/normal.pal (renamed from graphics/pokemon/palettes/forretress_palette.pal)0
-rw-r--r--graphics/pokemon/forretress/shiny.pal (renamed from graphics/pokemon/palettes/forretress_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/furret/anim_front.png (renamed from graphics/pokemon/anim_front_pics/furret_front_pic.png)bin1122 -> 1122 bytes
-rw-r--r--graphics/pokemon/furret/back.png (renamed from graphics/pokemon/back_pics/furret_back_pic.png)bin660 -> 660 bytes
-rw-r--r--graphics/pokemon/furret/footprint.png (renamed from graphics/pokemon/footprints/furret_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/furret/front.png (renamed from graphics/pokemon/front_pics/furret_still_front_pic.png)bin659 -> 659 bytes
-rw-r--r--graphics/pokemon/furret/icon.png (renamed from graphics/pokemon/icons/furret_icon.png)bin401 -> 401 bytes
-rw-r--r--graphics/pokemon/furret/normal.pal (renamed from graphics/pokemon/palettes/furret_palette.pal)0
-rw-r--r--graphics/pokemon/furret/shiny.pal (renamed from graphics/pokemon/palettes/furret_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/gardevoir/anim_front.png (renamed from graphics/pokemon/anim_front_pics/gardevoir_front_pic.png)bin986 -> 986 bytes
-rw-r--r--graphics/pokemon/gardevoir/back.png (renamed from graphics/pokemon/back_pics/gardevoir_back_pic.png)bin674 -> 674 bytes
-rw-r--r--graphics/pokemon/gardevoir/footprint.png (renamed from graphics/pokemon/footprints/gardevoir_footprint.png)bin86 -> 86 bytes
-rw-r--r--graphics/pokemon/gardevoir/front.png (renamed from graphics/pokemon/front_pics/gardevoir_still_front_pic.png)bin737 -> 737 bytes
-rw-r--r--graphics/pokemon/gardevoir/icon.png (renamed from graphics/pokemon/icons/gardevoir_icon.png)bin386 -> 386 bytes
-rw-r--r--graphics/pokemon/gardevoir/normal.pal (renamed from graphics/pokemon/palettes/gardevoir_palette.pal)0
-rw-r--r--graphics/pokemon/gardevoir/shiny.pal (renamed from graphics/pokemon/palettes/gardevoir_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/gastly/anim_front.png (renamed from graphics/pokemon/anim_front_pics/gastly_front_pic.png)bin1339 -> 1339 bytes
-rw-r--r--graphics/pokemon/gastly/back.png (renamed from graphics/pokemon/back_pics/gastly_back_pic.png)bin613 -> 613 bytes
-rw-r--r--graphics/pokemon/gastly/footprint.png (renamed from graphics/pokemon/footprints/gastly_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/gastly/front.png (renamed from graphics/pokemon/front_pics/gastly_still_front_pic.png)bin772 -> 772 bytes
-rw-r--r--graphics/pokemon/gastly/icon.png (renamed from graphics/pokemon/icons/gastly_icon.png)bin442 -> 442 bytes
-rw-r--r--graphics/pokemon/gastly/normal.pal (renamed from graphics/pokemon/palettes/gastly_palette.pal)0
-rw-r--r--graphics/pokemon/gastly/shiny.pal (renamed from graphics/pokemon/palettes/gastly_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/gengar/anim_front.png (renamed from graphics/pokemon/anim_front_pics/gengar_front_pic.png)bin1286 -> 1286 bytes
-rw-r--r--graphics/pokemon/gengar/back.png (renamed from graphics/pokemon/back_pics/gengar_back_pic.png)bin605 -> 605 bytes
-rw-r--r--graphics/pokemon/gengar/footprint.png (renamed from graphics/pokemon/footprints/gengar_footprint.png)bin91 -> 91 bytes
-rw-r--r--graphics/pokemon/gengar/front.png (renamed from graphics/pokemon/front_pics/gengar_still_front_pic.png)bin749 -> 749 bytes
-rw-r--r--graphics/pokemon/gengar/icon.png (renamed from graphics/pokemon/icons/gengar_icon.png)bin382 -> 382 bytes
-rw-r--r--graphics/pokemon/gengar/normal.pal (renamed from graphics/pokemon/palettes/gengar_palette.pal)0
-rw-r--r--graphics/pokemon/gengar/shiny.pal (renamed from graphics/pokemon/palettes/gengar_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/geodude/anim_front.png (renamed from graphics/pokemon/anim_front_pics/geodude_front_pic.png)bin733 -> 733 bytes
-rw-r--r--graphics/pokemon/geodude/back.png (renamed from graphics/pokemon/back_pics/geodude_back_pic.png)bin506 -> 506 bytes
-rw-r--r--graphics/pokemon/geodude/footprint.png (renamed from graphics/pokemon/footprints/geodude_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/geodude/front.png (renamed from graphics/pokemon/front_pics/geodude_still_front_pic.png)bin453 -> 453 bytes
-rw-r--r--graphics/pokemon/geodude/icon.png (renamed from graphics/pokemon/icons/geodude_icon.png)bin304 -> 304 bytes
-rw-r--r--graphics/pokemon/geodude/normal.pal (renamed from graphics/pokemon/palettes/geodude_palette.pal)0
-rw-r--r--graphics/pokemon/geodude/shiny.pal (renamed from graphics/pokemon/palettes/geodude_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/girafarig/anim_front.png (renamed from graphics/pokemon/anim_front_pics/girafarig_front_pic.png)bin1504 -> 1504 bytes
-rw-r--r--graphics/pokemon/girafarig/back.png (renamed from graphics/pokemon/back_pics/girafarig_back_pic.png)bin769 -> 769 bytes
-rw-r--r--graphics/pokemon/girafarig/footprint.png (renamed from graphics/pokemon/footprints/girafarig_footprint.png)bin83 -> 83 bytes
-rw-r--r--graphics/pokemon/girafarig/front.png (renamed from graphics/pokemon/front_pics/girafarig_still_front_pic.png)bin871 -> 871 bytes
-rw-r--r--graphics/pokemon/girafarig/icon.png (renamed from graphics/pokemon/icons/girafarig_icon.png)bin370 -> 370 bytes
-rw-r--r--graphics/pokemon/girafarig/normal.pal (renamed from graphics/pokemon/palettes/girafarig_palette.pal)0
-rw-r--r--graphics/pokemon/girafarig/shiny.pal (renamed from graphics/pokemon/palettes/girafarig_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/glalie/anim_front.png (renamed from graphics/pokemon/anim_front_pics/glalie_front_pic.png)bin1349 -> 1349 bytes
-rw-r--r--graphics/pokemon/glalie/back.png (renamed from graphics/pokemon/back_pics/glalie_back_pic.png)bin701 -> 701 bytes
-rw-r--r--graphics/pokemon/glalie/footprint.png (renamed from graphics/pokemon/footprints/glalie_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/glalie/front.png (renamed from graphics/pokemon/front_pics/glalie_still_front_pic.png)bin788 -> 788 bytes
-rw-r--r--graphics/pokemon/glalie/icon.png (renamed from graphics/pokemon/icons/glalie_icon.png)bin305 -> 305 bytes
-rw-r--r--graphics/pokemon/glalie/normal.pal (renamed from graphics/pokemon/palettes/glalie_palette.pal)0
-rw-r--r--graphics/pokemon/glalie/shiny.pal (renamed from graphics/pokemon/palettes/glalie_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/gligar/anim_front.png (renamed from graphics/pokemon/anim_front_pics/gligar_front_pic.png)bin1479 -> 1479 bytes
-rw-r--r--graphics/pokemon/gligar/back.png (renamed from graphics/pokemon/back_pics/gligar_back_pic.png)bin768 -> 768 bytes
-rw-r--r--graphics/pokemon/gligar/footprint.png (renamed from graphics/pokemon/footprints/gligar_footprint.png)bin92 -> 92 bytes
-rw-r--r--graphics/pokemon/gligar/front.png (renamed from graphics/pokemon/front_pics/gligar_still_front_pic.png)bin914 -> 914 bytes
-rw-r--r--graphics/pokemon/gligar/icon.png (renamed from graphics/pokemon/icons/gligar_icon.png)bin425 -> 425 bytes
-rw-r--r--graphics/pokemon/gligar/normal.pal (renamed from graphics/pokemon/palettes/gligar_palette.pal)0
-rw-r--r--graphics/pokemon/gligar/shiny.pal (renamed from graphics/pokemon/palettes/gligar_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/gloom/anim_front.png (renamed from graphics/pokemon/anim_front_pics/gloom_front_pic.png)bin1215 -> 1215 bytes
-rw-r--r--graphics/pokemon/gloom/back.png (renamed from graphics/pokemon/back_pics/gloom_back_pic.png)bin710 -> 710 bytes
-rw-r--r--graphics/pokemon/gloom/footprint.png (renamed from graphics/pokemon/footprints/gloom_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/gloom/front.png (renamed from graphics/pokemon/front_pics/gloom_still_front_pic.png)bin735 -> 735 bytes
-rw-r--r--graphics/pokemon/gloom/icon.png (renamed from graphics/pokemon/icons/gloom_icon.png)bin313 -> 313 bytes
-rw-r--r--graphics/pokemon/gloom/normal.pal (renamed from graphics/pokemon/palettes/gloom_palette.pal)0
-rw-r--r--graphics/pokemon/gloom/shiny.pal (renamed from graphics/pokemon/palettes/gloom_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/golbat/anim_front.png (renamed from graphics/pokemon/anim_front_pics/golbat_front_pic.png)bin1123 -> 1123 bytes
-rw-r--r--graphics/pokemon/golbat/back.png (renamed from graphics/pokemon/back_pics/golbat_back_pic.png)bin561 -> 561 bytes
-rw-r--r--graphics/pokemon/golbat/footprint.png (renamed from graphics/pokemon/footprints/golbat_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/golbat/front.png (renamed from graphics/pokemon/front_pics/golbat_still_front_pic.png)bin755 -> 755 bytes
-rw-r--r--graphics/pokemon/golbat/icon.png (renamed from graphics/pokemon/icons/golbat_icon.png)bin355 -> 355 bytes
-rw-r--r--graphics/pokemon/golbat/normal.pal (renamed from graphics/pokemon/palettes/golbat_palette.pal)0
-rw-r--r--graphics/pokemon/golbat/shiny.pal (renamed from graphics/pokemon/palettes/golbat_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/goldeen/anim_front.png (renamed from graphics/pokemon/anim_front_pics/goldeen_front_pic.png)bin1150 -> 1150 bytes
-rw-r--r--graphics/pokemon/goldeen/back.png (renamed from graphics/pokemon/back_pics/goldeen_back_pic.png)bin700 -> 700 bytes
-rw-r--r--graphics/pokemon/goldeen/footprint.png (renamed from graphics/pokemon/footprints/goldeen_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/goldeen/front.png (renamed from graphics/pokemon/front_pics/goldeen_still_front_pic.png)bin724 -> 724 bytes
-rw-r--r--graphics/pokemon/goldeen/icon.png (renamed from graphics/pokemon/icons/goldeen_icon.png)bin354 -> 354 bytes
-rw-r--r--graphics/pokemon/goldeen/normal.pal (renamed from graphics/pokemon/palettes/goldeen_palette.pal)0
-rw-r--r--graphics/pokemon/goldeen/shiny.pal (renamed from graphics/pokemon/palettes/goldeen_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/golduck/anim_front.png (renamed from graphics/pokemon/anim_front_pics/golduck_front_pic.png)bin1234 -> 1234 bytes
-rw-r--r--graphics/pokemon/golduck/back.png (renamed from graphics/pokemon/back_pics/golduck_back_pic.png)bin630 -> 630 bytes
-rw-r--r--graphics/pokemon/golduck/footprint.png (renamed from graphics/pokemon/footprints/golduck_footprint.png)bin98 -> 98 bytes
-rw-r--r--graphics/pokemon/golduck/front.png (renamed from graphics/pokemon/front_pics/golduck_still_front_pic.png)bin839 -> 839 bytes
-rw-r--r--graphics/pokemon/golduck/icon.png (renamed from graphics/pokemon/icons/golduck_icon.png)bin351 -> 351 bytes
-rw-r--r--graphics/pokemon/golduck/normal.pal (renamed from graphics/pokemon/palettes/golduck_palette.pal)0
-rw-r--r--graphics/pokemon/golduck/shiny.pal (renamed from graphics/pokemon/palettes/golduck_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/golem/anim_front.png (renamed from graphics/pokemon/anim_front_pics/golem_front_pic.png)bin1295 -> 1295 bytes
-rw-r--r--graphics/pokemon/golem/back.png (renamed from graphics/pokemon/back_pics/golem_back_pic.png)bin510 -> 510 bytes
-rw-r--r--graphics/pokemon/golem/footprint.png (renamed from graphics/pokemon/footprints/golem_footprint.png)bin97 -> 97 bytes
-rw-r--r--graphics/pokemon/golem/front.png (renamed from graphics/pokemon/front_pics/golem_still_front_pic.png)bin917 -> 917 bytes
-rw-r--r--graphics/pokemon/golem/icon.png (renamed from graphics/pokemon/icons/golem_icon.png)bin395 -> 395 bytes
-rw-r--r--graphics/pokemon/golem/normal.pal (renamed from graphics/pokemon/palettes/golem_palette.pal)0
-rw-r--r--graphics/pokemon/golem/shiny.pal (renamed from graphics/pokemon/palettes/golem_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/gorebyss/anim_front.png (renamed from graphics/pokemon/anim_front_pics/gorebyss_front_pic.png)bin1091 -> 1091 bytes
-rw-r--r--graphics/pokemon/gorebyss/back.png (renamed from graphics/pokemon/back_pics/gorebyss_back_pic.png)bin560 -> 560 bytes
-rw-r--r--graphics/pokemon/gorebyss/footprint.png (renamed from graphics/pokemon/footprints/gorebyss_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/gorebyss/front.png (renamed from graphics/pokemon/front_pics/gorebyss_still_front_pic.png)bin659 -> 659 bytes
-rw-r--r--graphics/pokemon/gorebyss/icon.png (renamed from graphics/pokemon/icons/gorebyss_icon.png)bin382 -> 382 bytes
-rw-r--r--graphics/pokemon/gorebyss/normal.pal (renamed from graphics/pokemon/palettes/gorebyss_palette.pal)0
-rw-r--r--graphics/pokemon/gorebyss/shiny.pal (renamed from graphics/pokemon/palettes/gorebyss_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/granbull/anim_front.png (renamed from graphics/pokemon/anim_front_pics/granbull_front_pic.png)bin1268 -> 1268 bytes
-rw-r--r--graphics/pokemon/granbull/back.png (renamed from graphics/pokemon/back_pics/granbull_back_pic.png)bin627 -> 627 bytes
-rw-r--r--graphics/pokemon/granbull/footprint.png (renamed from graphics/pokemon/footprints/granbull_footprint.png)bin93 -> 93 bytes
-rw-r--r--graphics/pokemon/granbull/front.png (renamed from graphics/pokemon/front_pics/granbull_still_front_pic.png)bin720 -> 720 bytes
-rw-r--r--graphics/pokemon/granbull/icon.png (renamed from graphics/pokemon/icons/granbull_icon.png)bin352 -> 352 bytes
-rw-r--r--graphics/pokemon/granbull/normal.pal (renamed from graphics/pokemon/palettes/granbull_palette.pal)0
-rw-r--r--graphics/pokemon/granbull/shiny.pal (renamed from graphics/pokemon/palettes/granbull_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/graveler/anim_front.png (renamed from graphics/pokemon/anim_front_pics/graveler_front_pic.png)bin1087 -> 1087 bytes
-rw-r--r--graphics/pokemon/graveler/back.png (renamed from graphics/pokemon/back_pics/graveler_back_pic.png)bin490 -> 490 bytes
-rw-r--r--graphics/pokemon/graveler/footprint.png (renamed from graphics/pokemon/footprints/graveler_footprint.png)bin91 -> 91 bytes
-rw-r--r--graphics/pokemon/graveler/front.png (renamed from graphics/pokemon/front_pics/graveler_still_front_pic.png)bin822 -> 822 bytes
-rw-r--r--graphics/pokemon/graveler/icon.png (renamed from graphics/pokemon/icons/graveler_icon.png)bin366 -> 366 bytes
-rw-r--r--graphics/pokemon/graveler/normal.pal (renamed from graphics/pokemon/palettes/graveler_palette.pal)0
-rw-r--r--graphics/pokemon/graveler/shiny.pal (renamed from graphics/pokemon/palettes/graveler_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/grimer/anim_front.png (renamed from graphics/pokemon/anim_front_pics/grimer_front_pic.png)bin985 -> 985 bytes
-rw-r--r--graphics/pokemon/grimer/back.png (renamed from graphics/pokemon/back_pics/grimer_back_pic.png)bin568 -> 568 bytes
-rw-r--r--graphics/pokemon/grimer/footprint.png (renamed from graphics/pokemon/footprints/grimer_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/grimer/front.png (renamed from graphics/pokemon/front_pics/grimer_still_front_pic.png)bin611 -> 611 bytes
-rw-r--r--graphics/pokemon/grimer/icon.png (renamed from graphics/pokemon/icons/grimer_icon.png)bin356 -> 356 bytes
-rw-r--r--graphics/pokemon/grimer/normal.pal (renamed from graphics/pokemon/palettes/grimer_palette.pal)0
-rw-r--r--graphics/pokemon/grimer/shiny.pal (renamed from graphics/pokemon/palettes/grimer_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/groudon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/groudon_front_pic.png)bin2050 -> 2050 bytes
-rw-r--r--graphics/pokemon/groudon/back.png (renamed from graphics/pokemon/back_pics/groudon_back_pic.png)bin890 -> 890 bytes
-rw-r--r--graphics/pokemon/groudon/footprint.png (renamed from graphics/pokemon/footprints/groudon_footprint.png)bin103 -> 103 bytes
-rw-r--r--graphics/pokemon/groudon/front.png (renamed from graphics/pokemon/front_pics/groudon_still_front_pic.png)bin1247 -> 1247 bytes
-rw-r--r--graphics/pokemon/groudon/icon.png (renamed from graphics/pokemon/icons/groudon_icon.png)bin377 -> 377 bytes
-rw-r--r--graphics/pokemon/groudon/normal.pal (renamed from graphics/pokemon/palettes/groudon_palette.pal)0
-rw-r--r--graphics/pokemon/groudon/shiny.pal (renamed from graphics/pokemon/palettes/groudon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/grovyle/anim_front.png (renamed from graphics/pokemon/anim_front_pics/grovyle_front_pic.png)bin1676 -> 1676 bytes
-rw-r--r--graphics/pokemon/grovyle/back.png (renamed from graphics/pokemon/back_pics/grovyle_back_pic.png)bin657 -> 657 bytes
-rw-r--r--graphics/pokemon/grovyle/footprint.png (renamed from graphics/pokemon/footprints/grovyle_footprint.png)bin100 -> 100 bytes
-rw-r--r--graphics/pokemon/grovyle/front.png (renamed from graphics/pokemon/front_pics/grovyle_still_front_pic.png)bin970 -> 970 bytes
-rw-r--r--graphics/pokemon/grovyle/icon.png (renamed from graphics/pokemon/icons/grovyle_icon.png)bin363 -> 363 bytes
-rw-r--r--graphics/pokemon/grovyle/normal.pal (renamed from graphics/pokemon/palettes/grovyle_palette.pal)0
-rw-r--r--graphics/pokemon/grovyle/shiny.pal (renamed from graphics/pokemon/palettes/grovyle_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/growlithe/anim_front.png (renamed from graphics/pokemon/anim_front_pics/growlithe_front_pic.png)bin1142 -> 1142 bytes
-rw-r--r--graphics/pokemon/growlithe/back.png (renamed from graphics/pokemon/back_pics/growlithe_back_pic.png)bin650 -> 650 bytes
-rw-r--r--graphics/pokemon/growlithe/footprint.png (renamed from graphics/pokemon/footprints/growlithe_footprint.png)bin91 -> 91 bytes
-rw-r--r--graphics/pokemon/growlithe/front.png (renamed from graphics/pokemon/front_pics/growlithe_still_front_pic.png)bin695 -> 695 bytes
-rw-r--r--graphics/pokemon/growlithe/icon.png (renamed from graphics/pokemon/icons/growlithe_icon.png)bin348 -> 348 bytes
-rw-r--r--graphics/pokemon/growlithe/normal.pal (renamed from graphics/pokemon/palettes/growlithe_palette.pal)0
-rw-r--r--graphics/pokemon/growlithe/shiny.pal (renamed from graphics/pokemon/palettes/growlithe_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/grumpig/anim_front.png (renamed from graphics/pokemon/anim_front_pics/grumpig_front_pic.png)bin1361 -> 1361 bytes
-rw-r--r--graphics/pokemon/grumpig/back.png (renamed from graphics/pokemon/back_pics/grumpig_back_pic.png)bin727 -> 727 bytes
-rw-r--r--graphics/pokemon/grumpig/footprint.png (renamed from graphics/pokemon/footprints/grumpig_footprint.png)bin96 -> 96 bytes
-rw-r--r--graphics/pokemon/grumpig/front.png (renamed from graphics/pokemon/front_pics/grumpig_still_front_pic.png)bin831 -> 831 bytes
-rw-r--r--graphics/pokemon/grumpig/icon.png (renamed from graphics/pokemon/icons/grumpig_icon.png)bin329 -> 329 bytes
-rw-r--r--graphics/pokemon/grumpig/normal.pal (renamed from graphics/pokemon/palettes/grumpig_palette.pal)0
-rw-r--r--graphics/pokemon/grumpig/shiny.pal (renamed from graphics/pokemon/palettes/grumpig_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/gulpin/anim_front.png (renamed from graphics/pokemon/anim_front_pics/gulpin_front_pic.png)bin595 -> 595 bytes
-rw-r--r--graphics/pokemon/gulpin/back.png (renamed from graphics/pokemon/back_pics/gulpin_back_pic.png)bin497 -> 497 bytes
-rw-r--r--graphics/pokemon/gulpin/footprint.png (renamed from graphics/pokemon/footprints/gulpin_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/gulpin/front.png (renamed from graphics/pokemon/front_pics/gulpin_still_front_pic.png)bin428 -> 428 bytes
-rw-r--r--graphics/pokemon/gulpin/icon.png (renamed from graphics/pokemon/icons/gulpin_icon.png)bin293 -> 293 bytes
-rw-r--r--graphics/pokemon/gulpin/normal.pal (renamed from graphics/pokemon/palettes/gulpin_palette.pal)0
-rw-r--r--graphics/pokemon/gulpin/shiny.pal (renamed from graphics/pokemon/palettes/gulpin_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/gyarados/anim_front.png (renamed from graphics/pokemon/anim_front_pics/gyarados_front_pic.png)bin1834 -> 1834 bytes
-rw-r--r--graphics/pokemon/gyarados/back.png (renamed from graphics/pokemon/back_pics/gyarados_back_pic.png)bin999 -> 999 bytes
-rw-r--r--graphics/pokemon/gyarados/footprint.png (renamed from graphics/pokemon/footprints/gyarados_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/gyarados/front.png (renamed from graphics/pokemon/front_pics/gyarados_still_front_pic.png)bin1179 -> 1179 bytes
-rw-r--r--graphics/pokemon/gyarados/icon.png (renamed from graphics/pokemon/icons/gyarados_icon.png)bin524 -> 524 bytes
-rw-r--r--graphics/pokemon/gyarados/normal.pal (renamed from graphics/pokemon/palettes/gyarados_palette.pal)0
-rw-r--r--graphics/pokemon/gyarados/shiny.pal (renamed from graphics/pokemon/palettes/gyarados_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/hariyama/anim_front.png (renamed from graphics/pokemon/anim_front_pics/hariyama_front_pic.png)bin1808 -> 1808 bytes
-rw-r--r--graphics/pokemon/hariyama/back.png (renamed from graphics/pokemon/back_pics/hariyama_back_pic.png)bin780 -> 780 bytes
-rw-r--r--graphics/pokemon/hariyama/footprint.png (renamed from graphics/pokemon/footprints/hariyama_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/hariyama/front.png (renamed from graphics/pokemon/front_pics/hariyama_still_front_pic.png)bin1006 -> 1006 bytes
-rw-r--r--graphics/pokemon/hariyama/icon.png (renamed from graphics/pokemon/icons/hariyama_icon.png)bin387 -> 387 bytes
-rw-r--r--graphics/pokemon/hariyama/normal.pal (renamed from graphics/pokemon/palettes/hariyama_palette.pal)0
-rw-r--r--graphics/pokemon/hariyama/shiny.pal (renamed from graphics/pokemon/palettes/hariyama_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/haunter/anim_front.png (renamed from graphics/pokemon/anim_front_pics/haunter_front_pic.png)bin1321 -> 1321 bytes
-rw-r--r--graphics/pokemon/haunter/back.png (renamed from graphics/pokemon/back_pics/haunter_back_pic.png)bin651 -> 651 bytes
-rw-r--r--graphics/pokemon/haunter/footprint.png (renamed from graphics/pokemon/footprints/haunter_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/haunter/front.png (renamed from graphics/pokemon/front_pics/haunter_still_front_pic.png)bin811 -> 811 bytes
-rw-r--r--graphics/pokemon/haunter/icon.png (renamed from graphics/pokemon/icons/haunter_icon.png)bin485 -> 485 bytes
-rw-r--r--graphics/pokemon/haunter/normal.pal (renamed from graphics/pokemon/palettes/haunter_palette.pal)0
-rw-r--r--graphics/pokemon/haunter/shiny.pal (renamed from graphics/pokemon/palettes/haunter_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/heracross/anim_front.png (renamed from graphics/pokemon/anim_front_pics/heracross_front_pic.png)bin1273 -> 1273 bytes
-rw-r--r--graphics/pokemon/heracross/back.png (renamed from graphics/pokemon/back_pics/heracross_back_pic.png)bin690 -> 690 bytes
-rw-r--r--graphics/pokemon/heracross/footprint.png (renamed from graphics/pokemon/footprints/heracross_footprint.png)bin92 -> 92 bytes
-rw-r--r--graphics/pokemon/heracross/front.png (renamed from graphics/pokemon/front_pics/heracross_still_front_pic.png)bin811 -> 811 bytes
-rw-r--r--graphics/pokemon/heracross/icon.png (renamed from graphics/pokemon/icons/heracross_icon.png)bin370 -> 370 bytes
-rw-r--r--graphics/pokemon/heracross/normal.pal (renamed from graphics/pokemon/palettes/heracross_palette.pal)0
-rw-r--r--graphics/pokemon/heracross/shiny.pal (renamed from graphics/pokemon/palettes/heracross_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/hitmonchan/anim_front.png (renamed from graphics/pokemon/anim_front_pics/hitmonchan_front_pic.png)bin1152 -> 1152 bytes
-rw-r--r--graphics/pokemon/hitmonchan/back.png (renamed from graphics/pokemon/back_pics/hitmonchan_back_pic.png)bin632 -> 632 bytes
-rw-r--r--graphics/pokemon/hitmonchan/footprint.png (renamed from graphics/pokemon/footprints/hitmonchan_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/hitmonchan/front.png (renamed from graphics/pokemon/front_pics/hitmonchan_still_front_pic.png)bin693 -> 693 bytes
-rw-r--r--graphics/pokemon/hitmonchan/icon.png (renamed from graphics/pokemon/icons/hitmonchan_icon.png)bin306 -> 306 bytes
-rw-r--r--graphics/pokemon/hitmonchan/normal.pal (renamed from graphics/pokemon/palettes/hitmonchan_palette.pal)0
-rw-r--r--graphics/pokemon/hitmonchan/shiny.pal (renamed from graphics/pokemon/palettes/hitmonchan_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/hitmonlee/anim_front.png (renamed from graphics/pokemon/anim_front_pics/hitmonlee_front_pic.png)bin1407 -> 1407 bytes
-rw-r--r--graphics/pokemon/hitmonlee/back.png (renamed from graphics/pokemon/back_pics/hitmonlee_back_pic.png)bin534 -> 534 bytes
-rw-r--r--graphics/pokemon/hitmonlee/footprint.png (renamed from graphics/pokemon/footprints/hitmonlee_footprint.png)bin104 -> 104 bytes
-rw-r--r--graphics/pokemon/hitmonlee/front.png (renamed from graphics/pokemon/front_pics/hitmonlee_still_front_pic.png)bin848 -> 848 bytes
-rw-r--r--graphics/pokemon/hitmonlee/icon.png (renamed from graphics/pokemon/icons/hitmonlee_icon.png)bin335 -> 335 bytes
-rw-r--r--graphics/pokemon/hitmonlee/normal.pal (renamed from graphics/pokemon/palettes/hitmonlee_palette.pal)0
-rw-r--r--graphics/pokemon/hitmonlee/shiny.pal (renamed from graphics/pokemon/palettes/hitmonlee_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/hitmontop/anim_front.png (renamed from graphics/pokemon/anim_front_pics/hitmontop_front_pic.png)bin1153 -> 1153 bytes
-rw-r--r--graphics/pokemon/hitmontop/back.png (renamed from graphics/pokemon/back_pics/hitmontop_back_pic.png)bin892 -> 892 bytes
-rw-r--r--graphics/pokemon/hitmontop/footprint.png (renamed from graphics/pokemon/footprints/hitmontop_footprint.png)bin103 -> 103 bytes
-rw-r--r--graphics/pokemon/hitmontop/front.png (renamed from graphics/pokemon/front_pics/hitmontop_still_front_pic.png)bin772 -> 772 bytes
-rw-r--r--graphics/pokemon/hitmontop/icon.png (renamed from graphics/pokemon/icons/hitmontop_icon.png)bin477 -> 477 bytes
-rw-r--r--graphics/pokemon/hitmontop/normal.pal (renamed from graphics/pokemon/palettes/hitmontop_palette.pal)0
-rw-r--r--graphics/pokemon/hitmontop/shiny.pal (renamed from graphics/pokemon/palettes/hitmontop_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/ho_oh/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ho_oh_front_pic.png)bin2369 -> 2369 bytes
-rw-r--r--graphics/pokemon/ho_oh/back.png (renamed from graphics/pokemon/back_pics/ho_oh_back_pic.png)bin831 -> 831 bytes
-rw-r--r--graphics/pokemon/ho_oh/footprint.png (renamed from graphics/pokemon/footprints/ho_oh_footprint.png)bin95 -> 95 bytes
-rw-r--r--graphics/pokemon/ho_oh/front.png (renamed from graphics/pokemon/front_pics/ho_oh_still_front_pic.png)bin1332 -> 1332 bytes
-rw-r--r--graphics/pokemon/ho_oh/icon.png (renamed from graphics/pokemon/icons/ho_oh_icon.png)bin480 -> 480 bytes
-rw-r--r--graphics/pokemon/ho_oh/normal.pal (renamed from graphics/pokemon/palettes/ho_oh_palette.pal)0
-rw-r--r--graphics/pokemon/ho_oh/shiny.pal (renamed from graphics/pokemon/palettes/ho_oh_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/hoothoot/anim_front.png (renamed from graphics/pokemon/anim_front_pics/hoothoot_front_pic.png)bin659 -> 659 bytes
-rw-r--r--graphics/pokemon/hoothoot/back.png (renamed from graphics/pokemon/back_pics/hoothoot_back_pic.png)bin618 -> 618 bytes
-rw-r--r--graphics/pokemon/hoothoot/footprint.png (renamed from graphics/pokemon/footprints/hoothoot_footprint.png)bin102 -> 102 bytes
-rw-r--r--graphics/pokemon/hoothoot/front.png (renamed from graphics/pokemon/front_pics/hoothoot_still_front_pic.png)bin525 -> 525 bytes
-rw-r--r--graphics/pokemon/hoothoot/icon.png (renamed from graphics/pokemon/icons/hoothoot_icon.png)bin350 -> 350 bytes
-rw-r--r--graphics/pokemon/hoothoot/normal.pal (renamed from graphics/pokemon/palettes/hoothoot_palette.pal)0
-rw-r--r--graphics/pokemon/hoothoot/shiny.pal (renamed from graphics/pokemon/palettes/hoothoot_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/hoppip/anim_front.png (renamed from graphics/pokemon/anim_front_pics/hoppip_front_pic.png)bin857 -> 857 bytes
-rw-r--r--graphics/pokemon/hoppip/back.png (renamed from graphics/pokemon/back_pics/hoppip_back_pic.png)bin582 -> 582 bytes
-rw-r--r--graphics/pokemon/hoppip/footprint.png (renamed from graphics/pokemon/footprints/hoppip_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/hoppip/front.png (renamed from graphics/pokemon/front_pics/hoppip_still_front_pic.png)bin551 -> 551 bytes
-rw-r--r--graphics/pokemon/hoppip/icon.png (renamed from graphics/pokemon/icons/hoppip_icon.png)bin367 -> 367 bytes
-rw-r--r--graphics/pokemon/hoppip/normal.pal (renamed from graphics/pokemon/palettes/hoppip_palette.pal)0
-rw-r--r--graphics/pokemon/hoppip/shiny.pal (renamed from graphics/pokemon/palettes/hoppip_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/horsea/anim_front.png (renamed from graphics/pokemon/anim_front_pics/horsea_front_pic.png)bin659 -> 659 bytes
-rw-r--r--graphics/pokemon/horsea/back.png (renamed from graphics/pokemon/back_pics/horsea_back_pic.png)bin585 -> 585 bytes
-rw-r--r--graphics/pokemon/horsea/footprint.png (renamed from graphics/pokemon/footprints/horsea_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/horsea/front.png (renamed from graphics/pokemon/front_pics/horsea_still_front_pic.png)bin499 -> 499 bytes
-rw-r--r--graphics/pokemon/horsea/icon.png (renamed from graphics/pokemon/icons/horsea_icon.png)bin354 -> 354 bytes
-rw-r--r--graphics/pokemon/horsea/normal.pal (renamed from graphics/pokemon/palettes/horsea_palette.pal)0
-rw-r--r--graphics/pokemon/horsea/shiny.pal (renamed from graphics/pokemon/palettes/horsea_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/houndoom/anim_front.png (renamed from graphics/pokemon/anim_front_pics/houndoom_front_pic.png)bin1439 -> 1439 bytes
-rw-r--r--graphics/pokemon/houndoom/back.png (renamed from graphics/pokemon/back_pics/houndoom_back_pic.png)bin626 -> 626 bytes
-rw-r--r--graphics/pokemon/houndoom/footprint.png (renamed from graphics/pokemon/footprints/houndoom_footprint.png)bin103 -> 103 bytes
-rw-r--r--graphics/pokemon/houndoom/front.png (renamed from graphics/pokemon/front_pics/houndoom_still_front_pic.png)bin853 -> 853 bytes
-rw-r--r--graphics/pokemon/houndoom/icon.png (renamed from graphics/pokemon/icons/houndoom_icon.png)bin406 -> 406 bytes
-rw-r--r--graphics/pokemon/houndoom/normal.pal (renamed from graphics/pokemon/palettes/houndoom_palette.pal)0
-rw-r--r--graphics/pokemon/houndoom/shiny.pal (renamed from graphics/pokemon/palettes/houndoom_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/houndour/anim_front.png (renamed from graphics/pokemon/anim_front_pics/houndour_front_pic.png)bin909 -> 909 bytes
-rw-r--r--graphics/pokemon/houndour/back.png (renamed from graphics/pokemon/back_pics/houndour_back_pic.png)bin508 -> 508 bytes
-rw-r--r--graphics/pokemon/houndour/footprint.png (renamed from graphics/pokemon/footprints/houndour_footprint.png)bin91 -> 91 bytes
-rw-r--r--graphics/pokemon/houndour/front.png (renamed from graphics/pokemon/front_pics/houndour_still_front_pic.png)bin558 -> 558 bytes
-rw-r--r--graphics/pokemon/houndour/icon.png (renamed from graphics/pokemon/icons/houndour_icon.png)bin358 -> 358 bytes
-rw-r--r--graphics/pokemon/houndour/normal.pal (renamed from graphics/pokemon/palettes/houndour_palette.pal)0
-rw-r--r--graphics/pokemon/houndour/shiny.pal (renamed from graphics/pokemon/palettes/houndour_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/huntail/anim_front.png (renamed from graphics/pokemon/anim_front_pics/huntail_front_pic.png)bin1406 -> 1406 bytes
-rw-r--r--graphics/pokemon/huntail/back.png (renamed from graphics/pokemon/back_pics/huntail_back_pic.png)bin688 -> 688 bytes
-rw-r--r--graphics/pokemon/huntail/footprint.png (renamed from graphics/pokemon/footprints/huntail_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/huntail/front.png (renamed from graphics/pokemon/front_pics/huntail_still_front_pic.png)bin833 -> 833 bytes
-rw-r--r--graphics/pokemon/huntail/icon.png (renamed from graphics/pokemon/icons/huntail_icon.png)bin419 -> 419 bytes
-rw-r--r--graphics/pokemon/huntail/normal.pal (renamed from graphics/pokemon/palettes/huntail_palette.pal)0
-rw-r--r--graphics/pokemon/huntail/shiny.pal (renamed from graphics/pokemon/palettes/huntail_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/hypno/anim_front.png (renamed from graphics/pokemon/anim_front_pics/hypno_front_pic.png)bin1215 -> 1215 bytes
-rw-r--r--graphics/pokemon/hypno/back.png (renamed from graphics/pokemon/back_pics/hypno_back_pic.png)bin658 -> 658 bytes
-rw-r--r--graphics/pokemon/hypno/footprint.png (renamed from graphics/pokemon/footprints/hypno_footprint.png)bin95 -> 95 bytes
-rw-r--r--graphics/pokemon/hypno/front.png (renamed from graphics/pokemon/front_pics/hypno_still_front_pic.png)bin836 -> 836 bytes
-rw-r--r--graphics/pokemon/hypno/icon.png (renamed from graphics/pokemon/icons/hypno_icon.png)bin391 -> 391 bytes
-rw-r--r--graphics/pokemon/hypno/normal.pal (renamed from graphics/pokemon/palettes/hypno_palette.pal)0
-rw-r--r--graphics/pokemon/hypno/shiny.pal (renamed from graphics/pokemon/palettes/hypno_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/igglybuff/anim_front.png (renamed from graphics/pokemon/anim_front_pics/igglybuff_front_pic.png)bin532 -> 532 bytes
-rw-r--r--graphics/pokemon/igglybuff/back.png (renamed from graphics/pokemon/back_pics/igglybuff_back_pic.png)bin443 -> 443 bytes
-rw-r--r--graphics/pokemon/igglybuff/footprint.png (renamed from graphics/pokemon/footprints/igglybuff_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/igglybuff/front.png (renamed from graphics/pokemon/front_pics/igglybuff_still_front_pic.png)bin376 -> 376 bytes
-rw-r--r--graphics/pokemon/igglybuff/icon.png (renamed from graphics/pokemon/icons/igglybuff_icon.png)bin322 -> 322 bytes
-rw-r--r--graphics/pokemon/igglybuff/normal.pal (renamed from graphics/pokemon/palettes/igglybuff_palette.pal)0
-rw-r--r--graphics/pokemon/igglybuff/shiny.pal (renamed from graphics/pokemon/palettes/igglybuff_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/illumise/anim_front.png (renamed from graphics/pokemon/anim_front_pics/illumise_front_pic.png)bin1224 -> 1224 bytes
-rw-r--r--graphics/pokemon/illumise/back.png (renamed from graphics/pokemon/back_pics/illumise_back_pic.png)bin663 -> 663 bytes
-rw-r--r--graphics/pokemon/illumise/footprint.png (renamed from graphics/pokemon/footprints/illumise_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/illumise/front.png (renamed from graphics/pokemon/front_pics/illumise_still_front_pic.png)bin729 -> 729 bytes
-rw-r--r--graphics/pokemon/illumise/icon.png (renamed from graphics/pokemon/icons/illumise_icon.png)bin325 -> 325 bytes
-rw-r--r--graphics/pokemon/illumise/normal.pal (renamed from graphics/pokemon/palettes/illumise_palette.pal)0
-rw-r--r--graphics/pokemon/illumise/shiny.pal (renamed from graphics/pokemon/palettes/illumise_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/ivysaur/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ivysaur_front_pic.png)bin1222 -> 1222 bytes
-rw-r--r--graphics/pokemon/ivysaur/back.png (renamed from graphics/pokemon/back_pics/ivysaur_back_pic.png)bin718 -> 718 bytes
-rw-r--r--graphics/pokemon/ivysaur/footprint.png (renamed from graphics/pokemon/footprints/ivysaur_footprint.png)bin96 -> 96 bytes
-rw-r--r--graphics/pokemon/ivysaur/front.png (renamed from graphics/pokemon/front_pics/ivysaur_still_front_pic.png)bin718 -> 718 bytes
-rw-r--r--graphics/pokemon/ivysaur/icon.png (renamed from graphics/pokemon/icons/ivysaur_icon.png)bin326 -> 326 bytes
-rw-r--r--graphics/pokemon/ivysaur/normal.pal (renamed from graphics/pokemon/palettes/ivysaur_palette.pal)0
-rw-r--r--graphics/pokemon/ivysaur/shiny.pal (renamed from graphics/pokemon/palettes/ivysaur_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/jigglypuff/anim_front.png (renamed from graphics/pokemon/anim_front_pics/jigglypuff_front_pic.png)bin786 -> 786 bytes
-rw-r--r--graphics/pokemon/jigglypuff/back.png (renamed from graphics/pokemon/back_pics/jigglypuff_back_pic.png)bin451 -> 451 bytes
-rw-r--r--graphics/pokemon/jigglypuff/footprint.png (renamed from graphics/pokemon/footprints/jigglypuff_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/jigglypuff/front.png (renamed from graphics/pokemon/front_pics/jigglypuff_still_front_pic.png)bin481 -> 481 bytes
-rw-r--r--graphics/pokemon/jigglypuff/icon.png (renamed from graphics/pokemon/icons/jigglypuff_icon.png)bin315 -> 315 bytes
-rw-r--r--graphics/pokemon/jigglypuff/normal.pal (renamed from graphics/pokemon/palettes/jigglypuff_palette.pal)0
-rw-r--r--graphics/pokemon/jigglypuff/shiny.pal (renamed from graphics/pokemon/palettes/jigglypuff_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/jirachi/anim_front.png (renamed from graphics/pokemon/anim_front_pics/jirachi_front_pic.png)bin973 -> 973 bytes
-rw-r--r--graphics/pokemon/jirachi/back.png (renamed from graphics/pokemon/back_pics/jirachi_back_pic.png)bin738 -> 738 bytes
-rw-r--r--graphics/pokemon/jirachi/footprint.png (renamed from graphics/pokemon/footprints/jirachi_footprint.png)bin83 -> 83 bytes
-rw-r--r--graphics/pokemon/jirachi/front.png (renamed from graphics/pokemon/front_pics/jirachi_still_front_pic.png)bin637 -> 637 bytes
-rw-r--r--graphics/pokemon/jirachi/icon.png (renamed from graphics/pokemon/icons/jirachi_icon.png)bin340 -> 340 bytes
-rw-r--r--graphics/pokemon/jirachi/normal.pal (renamed from graphics/pokemon/palettes/jirachi_palette.pal)0
-rw-r--r--graphics/pokemon/jirachi/shiny.pal (renamed from graphics/pokemon/palettes/jirachi_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/jolteon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/jolteon_front_pic.png)bin1266 -> 1266 bytes
-rw-r--r--graphics/pokemon/jolteon/back.png (renamed from graphics/pokemon/back_pics/jolteon_back_pic.png)bin726 -> 726 bytes
-rw-r--r--graphics/pokemon/jolteon/footprint.png (renamed from graphics/pokemon/footprints/jolteon_footprint.png)bin91 -> 91 bytes
-rw-r--r--graphics/pokemon/jolteon/front.png (renamed from graphics/pokemon/front_pics/jolteon_still_front_pic.png)bin779 -> 779 bytes
-rw-r--r--graphics/pokemon/jolteon/icon.png (renamed from graphics/pokemon/icons/jolteon_icon.png)bin324 -> 324 bytes
-rw-r--r--graphics/pokemon/jolteon/normal.pal (renamed from graphics/pokemon/palettes/jolteon_palette.pal)0
-rw-r--r--graphics/pokemon/jolteon/shiny.pal (renamed from graphics/pokemon/palettes/jolteon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/jumpluff/anim_front.png (renamed from graphics/pokemon/anim_front_pics/jumpluff_front_pic.png)bin1019 -> 1019 bytes
-rw-r--r--graphics/pokemon/jumpluff/back.png (renamed from graphics/pokemon/back_pics/jumpluff_back_pic.png)bin809 -> 809 bytes
-rw-r--r--graphics/pokemon/jumpluff/footprint.png (renamed from graphics/pokemon/footprints/jumpluff_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/jumpluff/front.png (renamed from graphics/pokemon/front_pics/jumpluff_still_front_pic.png)bin734 -> 734 bytes
-rw-r--r--graphics/pokemon/jumpluff/icon.png (renamed from graphics/pokemon/icons/jumpluff_icon.png)bin398 -> 398 bytes
-rw-r--r--graphics/pokemon/jumpluff/normal.pal (renamed from graphics/pokemon/palettes/jumpluff_palette.pal)0
-rw-r--r--graphics/pokemon/jumpluff/shiny.pal (renamed from graphics/pokemon/palettes/jumpluff_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/jynx/anim_front.png (renamed from graphics/pokemon/anim_front_pics/jynx_front_pic.png)bin1764 -> 1764 bytes
-rw-r--r--graphics/pokemon/jynx/back.png (renamed from graphics/pokemon/back_pics/jynx_back_pic.png)bin615 -> 615 bytes
-rw-r--r--graphics/pokemon/jynx/footprint.png (renamed from graphics/pokemon/footprints/jynx_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/jynx/front.png (renamed from graphics/pokemon/front_pics/jynx_still_front_pic.png)bin1017 -> 1017 bytes
-rw-r--r--graphics/pokemon/jynx/icon.png (renamed from graphics/pokemon/icons/jynx_icon.png)bin378 -> 378 bytes
-rw-r--r--graphics/pokemon/jynx/normal.pal (renamed from graphics/pokemon/palettes/jynx_palette.pal)0
-rw-r--r--graphics/pokemon/jynx/shiny.pal (renamed from graphics/pokemon/palettes/jynx_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/kabuto/anim_front.png (renamed from graphics/pokemon/anim_front_pics/kabuto_front_pic.png)bin578 -> 578 bytes
-rw-r--r--graphics/pokemon/kabuto/back.png (renamed from graphics/pokemon/back_pics/kabuto_back_pic.png)bin499 -> 499 bytes
-rw-r--r--graphics/pokemon/kabuto/footprint.png (renamed from graphics/pokemon/footprints/kabuto_footprint.png)bin76 -> 76 bytes
-rw-r--r--graphics/pokemon/kabuto/front.png (renamed from graphics/pokemon/front_pics/kabuto_still_front_pic.png)bin467 -> 467 bytes
-rw-r--r--graphics/pokemon/kabuto/icon.png (renamed from graphics/pokemon/icons/kabuto_icon.png)bin264 -> 264 bytes
-rw-r--r--graphics/pokemon/kabuto/normal.pal (renamed from graphics/pokemon/palettes/kabuto_palette.pal)0
-rw-r--r--graphics/pokemon/kabuto/shiny.pal (renamed from graphics/pokemon/palettes/kabuto_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/kabutops/anim_front.png (renamed from graphics/pokemon/anim_front_pics/kabutops_front_pic.png)bin1400 -> 1400 bytes
-rw-r--r--graphics/pokemon/kabutops/back.png (renamed from graphics/pokemon/back_pics/kabutops_back_pic.png)bin753 -> 753 bytes
-rw-r--r--graphics/pokemon/kabutops/footprint.png (renamed from graphics/pokemon/footprints/kabutops_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/kabutops/front.png (renamed from graphics/pokemon/front_pics/kabutops_still_front_pic.png)bin824 -> 824 bytes
-rw-r--r--graphics/pokemon/kabutops/icon.png (renamed from graphics/pokemon/icons/kabutops_icon.png)bin322 -> 322 bytes
-rw-r--r--graphics/pokemon/kabutops/normal.pal (renamed from graphics/pokemon/palettes/kabutops_palette.pal)0
-rw-r--r--graphics/pokemon/kabutops/shiny.pal (renamed from graphics/pokemon/palettes/kabutops_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/kadabra/anim_front.png (renamed from graphics/pokemon/anim_front_pics/kadabra_front_pic.png)bin1579 -> 1579 bytes
-rw-r--r--graphics/pokemon/kadabra/back.png (renamed from graphics/pokemon/back_pics/kadabra_back_pic.png)bin792 -> 792 bytes
-rw-r--r--graphics/pokemon/kadabra/footprint.png (renamed from graphics/pokemon/footprints/kadabra_footprint.png)bin100 -> 100 bytes
-rw-r--r--graphics/pokemon/kadabra/front.png (renamed from graphics/pokemon/front_pics/kadabra_still_front_pic.png)bin943 -> 943 bytes
-rw-r--r--graphics/pokemon/kadabra/icon.png (renamed from graphics/pokemon/icons/kadabra_icon.png)bin432 -> 432 bytes
-rw-r--r--graphics/pokemon/kadabra/normal.pal (renamed from graphics/pokemon/palettes/kadabra_palette.pal)0
-rw-r--r--graphics/pokemon/kadabra/shiny.pal (renamed from graphics/pokemon/palettes/kadabra_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/kakuna/anim_front.png (renamed from graphics/pokemon/anim_front_pics/kakuna_front_pic.png)bin621 -> 621 bytes
-rw-r--r--graphics/pokemon/kakuna/back.png (renamed from graphics/pokemon/back_pics/kakuna_back_pic.png)bin490 -> 490 bytes
-rw-r--r--graphics/pokemon/kakuna/footprint.png (renamed from graphics/pokemon/footprints/kakuna_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/kakuna/front.png (renamed from graphics/pokemon/front_pics/kakuna_still_front_pic.png)bin449 -> 449 bytes
-rw-r--r--graphics/pokemon/kakuna/icon.png (renamed from graphics/pokemon/icons/kakuna_icon.png)bin266 -> 266 bytes
-rw-r--r--graphics/pokemon/kakuna/normal.pal (renamed from graphics/pokemon/palettes/kakuna_palette.pal)0
-rw-r--r--graphics/pokemon/kakuna/shiny.pal (renamed from graphics/pokemon/palettes/kakuna_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/kangaskhan/anim_front.png (renamed from graphics/pokemon/anim_front_pics/kangaskhan_front_pic.png)bin1739 -> 1739 bytes
-rw-r--r--graphics/pokemon/kangaskhan/back.png (renamed from graphics/pokemon/back_pics/kangaskhan_back_pic.png)bin881 -> 881 bytes
-rw-r--r--graphics/pokemon/kangaskhan/footprint.png (renamed from graphics/pokemon/footprints/kangaskhan_footprint.png)bin96 -> 96 bytes
-rw-r--r--graphics/pokemon/kangaskhan/front.png (renamed from graphics/pokemon/front_pics/kangaskhan_still_front_pic.png)bin1052 -> 1052 bytes
-rw-r--r--graphics/pokemon/kangaskhan/icon.png (renamed from graphics/pokemon/icons/kangaskhan_icon.png)bin389 -> 389 bytes
-rw-r--r--graphics/pokemon/kangaskhan/normal.pal (renamed from graphics/pokemon/palettes/kangaskhan_palette.pal)0
-rw-r--r--graphics/pokemon/kangaskhan/shiny.pal (renamed from graphics/pokemon/palettes/kangaskhan_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/kecleon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/kecleon_front_pic.png)bin1252 -> 1252 bytes
-rw-r--r--graphics/pokemon/kecleon/back.png (renamed from graphics/pokemon/back_pics/kecleon_back_pic.png)bin818 -> 818 bytes
-rw-r--r--graphics/pokemon/kecleon/footprint.png (renamed from graphics/pokemon/footprints/kecleon_footprint.png)bin96 -> 96 bytes
-rw-r--r--graphics/pokemon/kecleon/front.png (renamed from graphics/pokemon/front_pics/kecleon_still_front_pic.png)bin762 -> 762 bytes
-rw-r--r--graphics/pokemon/kecleon/icon.png (renamed from graphics/pokemon/icons/kecleon_icon.png)bin384 -> 384 bytes
-rw-r--r--graphics/pokemon/kecleon/normal.pal (renamed from graphics/pokemon/palettes/kecleon_palette.pal)0
-rw-r--r--graphics/pokemon/kecleon/shiny.pal (renamed from graphics/pokemon/palettes/kecleon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/kingdra/anim_front.png (renamed from graphics/pokemon/anim_front_pics/kingdra_front_pic.png)bin1478 -> 1478 bytes
-rw-r--r--graphics/pokemon/kingdra/back.png (renamed from graphics/pokemon/back_pics/kingdra_back_pic.png)bin743 -> 743 bytes
-rw-r--r--graphics/pokemon/kingdra/footprint.png (renamed from graphics/pokemon/footprints/kingdra_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/kingdra/front.png (renamed from graphics/pokemon/front_pics/kingdra_still_front_pic.png)bin858 -> 858 bytes
-rw-r--r--graphics/pokemon/kingdra/icon.png (renamed from graphics/pokemon/icons/kingdra_icon.png)bin385 -> 385 bytes
-rw-r--r--graphics/pokemon/kingdra/normal.pal (renamed from graphics/pokemon/palettes/kingdra_palette.pal)0
-rw-r--r--graphics/pokemon/kingdra/shiny.pal (renamed from graphics/pokemon/palettes/kingdra_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/kingler/anim_front.png (renamed from graphics/pokemon/anim_front_pics/kingler_front_pic.png)bin1794 -> 1794 bytes
-rw-r--r--graphics/pokemon/kingler/back.png (renamed from graphics/pokemon/back_pics/kingler_back_pic.png)bin716 -> 716 bytes
-rw-r--r--graphics/pokemon/kingler/footprint.png (renamed from graphics/pokemon/footprints/kingler_footprint.png)bin93 -> 93 bytes
-rw-r--r--graphics/pokemon/kingler/front.png (renamed from graphics/pokemon/front_pics/kingler_still_front_pic.png)bin1091 -> 1091 bytes
-rw-r--r--graphics/pokemon/kingler/icon.png (renamed from graphics/pokemon/icons/kingler_icon.png)bin440 -> 440 bytes
-rw-r--r--graphics/pokemon/kingler/normal.pal (renamed from graphics/pokemon/palettes/kingler_palette.pal)0
-rw-r--r--graphics/pokemon/kingler/shiny.pal (renamed from graphics/pokemon/palettes/kingler_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/kirlia/anim_front.png (renamed from graphics/pokemon/anim_front_pics/kirlia_front_pic.png)bin995 -> 995 bytes
-rw-r--r--graphics/pokemon/kirlia/back.png (renamed from graphics/pokemon/back_pics/kirlia_back_pic.png)bin723 -> 723 bytes
-rw-r--r--graphics/pokemon/kirlia/footprint.png (renamed from graphics/pokemon/footprints/kirlia_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/kirlia/front.png (renamed from graphics/pokemon/front_pics/kirlia_still_front_pic.png)bin618 -> 618 bytes
-rw-r--r--graphics/pokemon/kirlia/icon.png (renamed from graphics/pokemon/icons/kirlia_icon.png)bin351 -> 351 bytes
-rw-r--r--graphics/pokemon/kirlia/normal.pal (renamed from graphics/pokemon/palettes/kirlia_palette.pal)0
-rw-r--r--graphics/pokemon/kirlia/shiny.pal (renamed from graphics/pokemon/palettes/kirlia_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/koffing/anim_front.png (renamed from graphics/pokemon/anim_front_pics/koffing_front_pic.png)bin1189 -> 1189 bytes
-rw-r--r--graphics/pokemon/koffing/back.png (renamed from graphics/pokemon/back_pics/koffing_back_pic.png)bin634 -> 634 bytes
-rw-r--r--graphics/pokemon/koffing/footprint.png (renamed from graphics/pokemon/footprints/koffing_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/koffing/front.png (renamed from graphics/pokemon/front_pics/koffing_still_front_pic.png)bin724 -> 724 bytes
-rw-r--r--graphics/pokemon/koffing/icon.png (renamed from graphics/pokemon/icons/koffing_icon.png)bin315 -> 315 bytes
-rw-r--r--graphics/pokemon/koffing/normal.pal (renamed from graphics/pokemon/palettes/koffing_palette.pal)0
-rw-r--r--graphics/pokemon/koffing/shiny.pal (renamed from graphics/pokemon/palettes/koffing_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/krabby/anim_front.png (renamed from graphics/pokemon/anim_front_pics/krabby_front_pic.png)bin875 -> 875 bytes
-rw-r--r--graphics/pokemon/krabby/back.png (renamed from graphics/pokemon/back_pics/krabby_back_pic.png)bin710 -> 710 bytes
-rw-r--r--graphics/pokemon/krabby/footprint.png (renamed from graphics/pokemon/footprints/krabby_footprint.png)bin86 -> 86 bytes
-rw-r--r--graphics/pokemon/krabby/front.png (renamed from graphics/pokemon/front_pics/krabby_still_front_pic.png)bin567 -> 567 bytes
-rw-r--r--graphics/pokemon/krabby/icon.png (renamed from graphics/pokemon/icons/krabby_icon.png)bin432 -> 432 bytes
-rw-r--r--graphics/pokemon/krabby/normal.pal (renamed from graphics/pokemon/palettes/krabby_palette.pal)0
-rw-r--r--graphics/pokemon/krabby/shiny.pal (renamed from graphics/pokemon/palettes/krabby_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/kyogre/anim_front.png (renamed from graphics/pokemon/anim_front_pics/kyogre_front_pic.png)bin1569 -> 1569 bytes
-rw-r--r--graphics/pokemon/kyogre/back.png (renamed from graphics/pokemon/back_pics/kyogre_back_pic.png)bin497 -> 497 bytes
-rw-r--r--graphics/pokemon/kyogre/footprint.png (renamed from graphics/pokemon/footprints/kyogre_footprint.png)bin104 -> 104 bytes
-rw-r--r--graphics/pokemon/kyogre/front.png (renamed from graphics/pokemon/front_pics/kyogre_still_front_pic.png)bin965 -> 965 bytes
-rw-r--r--graphics/pokemon/kyogre/icon.png (renamed from graphics/pokemon/icons/kyogre_icon.png)bin444 -> 444 bytes
-rw-r--r--graphics/pokemon/kyogre/normal.pal (renamed from graphics/pokemon/palettes/kyogre_palette.pal)0
-rw-r--r--graphics/pokemon/kyogre/shiny.pal (renamed from graphics/pokemon/palettes/kyogre_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/lairon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/lairon_front_pic.png)bin1222 -> 1222 bytes
-rw-r--r--graphics/pokemon/lairon/back.png (renamed from graphics/pokemon/back_pics/lairon_back_pic.png)bin575 -> 575 bytes
-rw-r--r--graphics/pokemon/lairon/footprint.png (renamed from graphics/pokemon/footprints/lairon_footprint.png)bin101 -> 101 bytes
-rw-r--r--graphics/pokemon/lairon/front.png (renamed from graphics/pokemon/front_pics/lairon_still_front_pic.png)bin814 -> 814 bytes
-rw-r--r--graphics/pokemon/lairon/icon.png (renamed from graphics/pokemon/icons/lairon_icon.png)bin362 -> 362 bytes
-rw-r--r--graphics/pokemon/lairon/normal.pal (renamed from graphics/pokemon/palettes/lairon_palette.pal)0
-rw-r--r--graphics/pokemon/lairon/shiny.pal (renamed from graphics/pokemon/palettes/lairon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/lanturn/anim_front.png (renamed from graphics/pokemon/anim_front_pics/lanturn_front_pic.png)bin1216 -> 1216 bytes
-rw-r--r--graphics/pokemon/lanturn/back.png (renamed from graphics/pokemon/back_pics/lanturn_back_pic.png)bin644 -> 644 bytes
-rw-r--r--graphics/pokemon/lanturn/footprint.png (renamed from graphics/pokemon/footprints/lanturn_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/lanturn/front.png (renamed from graphics/pokemon/front_pics/lanturn_still_front_pic.png)bin738 -> 738 bytes
-rw-r--r--graphics/pokemon/lanturn/icon.png (renamed from graphics/pokemon/icons/lanturn_icon.png)bin442 -> 442 bytes
-rw-r--r--graphics/pokemon/lanturn/normal.pal (renamed from graphics/pokemon/palettes/lanturn_palette.pal)0
-rw-r--r--graphics/pokemon/lanturn/shiny.pal (renamed from graphics/pokemon/palettes/lanturn_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/lapras/anim_front.png (renamed from graphics/pokemon/anim_front_pics/lapras_front_pic.png)bin1259 -> 1259 bytes
-rw-r--r--graphics/pokemon/lapras/back.png (renamed from graphics/pokemon/back_pics/lapras_back_pic.png)bin686 -> 686 bytes
-rw-r--r--graphics/pokemon/lapras/footprint.png (renamed from graphics/pokemon/footprints/lapras_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/lapras/front.png (renamed from graphics/pokemon/front_pics/lapras_still_front_pic.png)bin798 -> 798 bytes
-rw-r--r--graphics/pokemon/lapras/icon.png (renamed from graphics/pokemon/icons/lapras_icon.png)bin409 -> 409 bytes
-rw-r--r--graphics/pokemon/lapras/normal.pal (renamed from graphics/pokemon/palettes/lapras_palette.pal)0
-rw-r--r--graphics/pokemon/lapras/shiny.pal (renamed from graphics/pokemon/palettes/lapras_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/larvitar/anim_front.png (renamed from graphics/pokemon/anim_front_pics/larvitar_front_pic.png)bin806 -> 806 bytes
-rw-r--r--graphics/pokemon/larvitar/back.png (renamed from graphics/pokemon/back_pics/larvitar_back_pic.png)bin517 -> 517 bytes
-rw-r--r--graphics/pokemon/larvitar/footprint.png (renamed from graphics/pokemon/footprints/larvitar_footprint.png)bin82 -> 82 bytes
-rw-r--r--graphics/pokemon/larvitar/front.png (renamed from graphics/pokemon/front_pics/larvitar_still_front_pic.png)bin480 -> 480 bytes
-rw-r--r--graphics/pokemon/larvitar/icon.png (renamed from graphics/pokemon/icons/larvitar_icon.png)bin304 -> 304 bytes
-rw-r--r--graphics/pokemon/larvitar/normal.pal (renamed from graphics/pokemon/palettes/larvitar_palette.pal)0
-rw-r--r--graphics/pokemon/larvitar/shiny.pal (renamed from graphics/pokemon/palettes/larvitar_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/latias/anim_front.png (renamed from graphics/pokemon/anim_front_pics/latias_front_pic.png)bin1201 -> 1201 bytes
-rw-r--r--graphics/pokemon/latias/back.png (renamed from graphics/pokemon/back_pics/latias_back_pic.png)bin619 -> 619 bytes
-rw-r--r--graphics/pokemon/latias/footprint.png (renamed from graphics/pokemon/footprints/latias_footprint.png)bin104 -> 104 bytes
-rw-r--r--graphics/pokemon/latias/front.png (renamed from graphics/pokemon/front_pics/latias_still_front_pic.png)bin867 -> 867 bytes
-rw-r--r--graphics/pokemon/latias/icon.png (renamed from graphics/pokemon/icons/latias_icon.png)bin396 -> 396 bytes
-rw-r--r--graphics/pokemon/latias/normal.pal (renamed from graphics/pokemon/palettes/latias_palette.pal)0
-rw-r--r--graphics/pokemon/latias/shiny.pal (renamed from graphics/pokemon/palettes/latias_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/latios/anim_front.png (renamed from graphics/pokemon/anim_front_pics/latios_front_pic.png)bin1650 -> 1650 bytes
-rw-r--r--graphics/pokemon/latios/back.png (renamed from graphics/pokemon/back_pics/latios_back_pic.png)bin672 -> 672 bytes
-rw-r--r--graphics/pokemon/latios/footprint.png (renamed from graphics/pokemon/footprints/latios_footprint.png)bin105 -> 105 bytes
-rw-r--r--graphics/pokemon/latios/front.png (renamed from graphics/pokemon/front_pics/latios_still_front_pic.png)bin959 -> 959 bytes
-rw-r--r--graphics/pokemon/latios/icon.png (renamed from graphics/pokemon/icons/latios_icon.png)bin396 -> 396 bytes
-rw-r--r--graphics/pokemon/latios/normal.pal (renamed from graphics/pokemon/palettes/latios_palette.pal)0
-rw-r--r--graphics/pokemon/latios/shiny.pal (renamed from graphics/pokemon/palettes/latios_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/ledian/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ledian_front_pic.png)bin919 -> 919 bytes
-rw-r--r--graphics/pokemon/ledian/back.png (renamed from graphics/pokemon/back_pics/ledian_back_pic.png)bin720 -> 720 bytes
-rw-r--r--graphics/pokemon/ledian/footprint.png (renamed from graphics/pokemon/footprints/ledian_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/ledian/front.png (renamed from graphics/pokemon/front_pics/ledian_still_front_pic.png)bin766 -> 766 bytes
-rw-r--r--graphics/pokemon/ledian/icon.png (renamed from graphics/pokemon/icons/ledian_icon.png)bin377 -> 377 bytes
-rw-r--r--graphics/pokemon/ledian/normal.pal (renamed from graphics/pokemon/palettes/ledian_palette.pal)0
-rw-r--r--graphics/pokemon/ledian/shiny.pal (renamed from graphics/pokemon/palettes/ledian_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/ledyba/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ledyba_front_pic.png)bin958 -> 958 bytes
-rw-r--r--graphics/pokemon/ledyba/back.png (renamed from graphics/pokemon/back_pics/ledyba_back_pic.png)bin642 -> 642 bytes
-rw-r--r--graphics/pokemon/ledyba/footprint.png (renamed from graphics/pokemon/footprints/ledyba_footprint.png)bin99 -> 99 bytes
-rw-r--r--graphics/pokemon/ledyba/front.png (renamed from graphics/pokemon/front_pics/ledyba_still_front_pic.png)bin637 -> 637 bytes
-rw-r--r--graphics/pokemon/ledyba/icon.png (renamed from graphics/pokemon/icons/ledyba_icon.png)bin314 -> 314 bytes
-rw-r--r--graphics/pokemon/ledyba/normal.pal (renamed from graphics/pokemon/palettes/ledyba_palette.pal)0
-rw-r--r--graphics/pokemon/ledyba/shiny.pal (renamed from graphics/pokemon/palettes/ledyba_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/lickitung/anim_front.png (renamed from graphics/pokemon/anim_front_pics/lickitung_front_pic.png)bin1337 -> 1337 bytes
-rw-r--r--graphics/pokemon/lickitung/back.png (renamed from graphics/pokemon/back_pics/lickitung_back_pic.png)bin551 -> 551 bytes
-rw-r--r--graphics/pokemon/lickitung/footprint.png (renamed from graphics/pokemon/footprints/lickitung_footprint.png)bin102 -> 102 bytes
-rw-r--r--graphics/pokemon/lickitung/front.png (renamed from graphics/pokemon/front_pics/lickitung_still_front_pic.png)bin781 -> 781 bytes
-rw-r--r--graphics/pokemon/lickitung/icon.png (renamed from graphics/pokemon/icons/lickitung_icon.png)bin368 -> 368 bytes
-rw-r--r--graphics/pokemon/lickitung/normal.pal (renamed from graphics/pokemon/palettes/lickitung_palette.pal)0
-rw-r--r--graphics/pokemon/lickitung/shiny.pal (renamed from graphics/pokemon/palettes/lickitung_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/lileep/anim_front.png (renamed from graphics/pokemon/anim_front_pics/lileep_front_pic.png)bin1097 -> 1097 bytes
-rw-r--r--graphics/pokemon/lileep/back.png (renamed from graphics/pokemon/back_pics/lileep_back_pic.png)bin679 -> 679 bytes
-rw-r--r--graphics/pokemon/lileep/footprint.png (renamed from graphics/pokemon/footprints/lileep_footprint.png)bin99 -> 99 bytes
-rw-r--r--graphics/pokemon/lileep/front.png (renamed from graphics/pokemon/front_pics/lileep_still_front_pic.png)bin692 -> 692 bytes
-rw-r--r--graphics/pokemon/lileep/icon.png (renamed from graphics/pokemon/icons/lileep_icon.png)bin361 -> 361 bytes
-rw-r--r--graphics/pokemon/lileep/normal.pal (renamed from graphics/pokemon/palettes/lileep_palette.pal)0
-rw-r--r--graphics/pokemon/lileep/shiny.pal (renamed from graphics/pokemon/palettes/lileep_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/linoone/anim_front.png (renamed from graphics/pokemon/anim_front_pics/linoone_front_pic.png)bin1087 -> 1087 bytes
-rw-r--r--graphics/pokemon/linoone/back.png (renamed from graphics/pokemon/back_pics/linoone_back_pic.png)bin546 -> 546 bytes
-rw-r--r--graphics/pokemon/linoone/footprint.png (renamed from graphics/pokemon/footprints/linoone_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/linoone/front.png (renamed from graphics/pokemon/front_pics/linoone_still_front_pic.png)bin703 -> 703 bytes
-rw-r--r--graphics/pokemon/linoone/icon.png (renamed from graphics/pokemon/icons/linoone_icon.png)bin390 -> 390 bytes
-rw-r--r--graphics/pokemon/linoone/normal.pal (renamed from graphics/pokemon/palettes/linoone_palette.pal)0
-rw-r--r--graphics/pokemon/linoone/shiny.pal (renamed from graphics/pokemon/palettes/linoone_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/lombre/anim_front.png (renamed from graphics/pokemon/anim_front_pics/lombre_front_pic.png)bin1032 -> 1032 bytes
-rw-r--r--graphics/pokemon/lombre/back.png (renamed from graphics/pokemon/back_pics/lombre_back_pic.png)bin585 -> 585 bytes
-rw-r--r--graphics/pokemon/lombre/footprint.png (renamed from graphics/pokemon/footprints/lombre_footprint.png)bin110 -> 110 bytes
-rw-r--r--graphics/pokemon/lombre/front.png (renamed from graphics/pokemon/front_pics/lombre_still_front_pic.png)bin647 -> 647 bytes
-rw-r--r--graphics/pokemon/lombre/icon.png (renamed from graphics/pokemon/icons/lombre_icon.png)bin319 -> 319 bytes
-rw-r--r--graphics/pokemon/lombre/normal.pal (renamed from graphics/pokemon/palettes/lombre_palette.pal)0
-rw-r--r--graphics/pokemon/lombre/shiny.pal (renamed from graphics/pokemon/palettes/lombre_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/lotad/anim_front.png (renamed from graphics/pokemon/anim_front_pics/lotad_front_pic.png)bin740 -> 740 bytes
-rw-r--r--graphics/pokemon/lotad/back.png (renamed from graphics/pokemon/back_pics/lotad_back_pic.png)bin544 -> 544 bytes
-rw-r--r--graphics/pokemon/lotad/footprint.png (renamed from graphics/pokemon/footprints/lotad_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/lotad/front.png (renamed from graphics/pokemon/front_pics/lotad_still_front_pic.png)bin492 -> 492 bytes
-rw-r--r--graphics/pokemon/lotad/icon.png (renamed from graphics/pokemon/icons/lotad_icon.png)bin283 -> 283 bytes
-rw-r--r--graphics/pokemon/lotad/normal.pal (renamed from graphics/pokemon/palettes/lotad_palette.pal)0
-rw-r--r--graphics/pokemon/lotad/shiny.pal (renamed from graphics/pokemon/palettes/lotad_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/loudred/anim_front.png (renamed from graphics/pokemon/anim_front_pics/loudred_front_pic.png)bin1328 -> 1328 bytes
-rw-r--r--graphics/pokemon/loudred/back.png (renamed from graphics/pokemon/back_pics/loudred_back_pic.png)bin686 -> 686 bytes
-rw-r--r--graphics/pokemon/loudred/footprint.png (renamed from graphics/pokemon/footprints/loudred_footprint.png)bin105 -> 105 bytes
-rw-r--r--graphics/pokemon/loudred/front.png (renamed from graphics/pokemon/front_pics/loudred_still_front_pic.png)bin936 -> 936 bytes
-rw-r--r--graphics/pokemon/loudred/icon.png (renamed from graphics/pokemon/icons/loudred_icon.png)bin387 -> 387 bytes
-rw-r--r--graphics/pokemon/loudred/normal.pal (renamed from graphics/pokemon/palettes/loudred_palette.pal)0
-rw-r--r--graphics/pokemon/loudred/shiny.pal (renamed from graphics/pokemon/palettes/loudred_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/ludicolo/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ludicolo_front_pic.png)bin1569 -> 1569 bytes
-rw-r--r--graphics/pokemon/ludicolo/back.png (renamed from graphics/pokemon/back_pics/ludicolo_back_pic.png)bin604 -> 604 bytes
-rw-r--r--graphics/pokemon/ludicolo/footprint.png (renamed from graphics/pokemon/footprints/ludicolo_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/ludicolo/front.png (renamed from graphics/pokemon/front_pics/ludicolo_still_front_pic.png)bin1040 -> 1040 bytes
-rw-r--r--graphics/pokemon/ludicolo/icon.png (renamed from graphics/pokemon/icons/ludicolo_icon.png)bin379 -> 379 bytes
-rw-r--r--graphics/pokemon/ludicolo/normal.pal (renamed from graphics/pokemon/palettes/ludicolo_palette.pal)0
-rw-r--r--graphics/pokemon/ludicolo/shiny.pal (renamed from graphics/pokemon/palettes/ludicolo_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/lugia/anim_front.png (renamed from graphics/pokemon/anim_front_pics/lugia_front_pic.png)bin1699 -> 1699 bytes
-rw-r--r--graphics/pokemon/lugia/back.png (renamed from graphics/pokemon/back_pics/lugia_back_pic.png)bin783 -> 783 bytes
-rw-r--r--graphics/pokemon/lugia/footprint.png (renamed from graphics/pokemon/footprints/lugia_footprint.png)bin95 -> 95 bytes
-rw-r--r--graphics/pokemon/lugia/front.png (renamed from graphics/pokemon/front_pics/lugia_still_front_pic.png)bin1030 -> 1030 bytes
-rw-r--r--graphics/pokemon/lugia/icon.png (renamed from graphics/pokemon/icons/lugia_icon.png)bin454 -> 454 bytes
-rw-r--r--graphics/pokemon/lugia/normal.pal (renamed from graphics/pokemon/palettes/lugia_palette.pal)0
-rw-r--r--graphics/pokemon/lugia/shiny.pal (renamed from graphics/pokemon/palettes/lugia_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/lunatone/anim_front.png (renamed from graphics/pokemon/anim_front_pics/lunatone_front_pic.png)bin1015 -> 1015 bytes
-rw-r--r--graphics/pokemon/lunatone/back.png (renamed from graphics/pokemon/back_pics/lunatone_back_pic.png)bin719 -> 719 bytes
-rw-r--r--graphics/pokemon/lunatone/footprint.png (renamed from graphics/pokemon/footprints/lunatone_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/lunatone/front.png (renamed from graphics/pokemon/front_pics/lunatone_still_front_pic.png)bin660 -> 660 bytes
-rw-r--r--graphics/pokemon/lunatone/icon.png (renamed from graphics/pokemon/icons/lunatone_icon.png)bin261 -> 261 bytes
-rw-r--r--graphics/pokemon/lunatone/normal.pal (renamed from graphics/pokemon/palettes/lunatone_palette.pal)0
-rw-r--r--graphics/pokemon/lunatone/shiny.pal (renamed from graphics/pokemon/palettes/lunatone_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/luvdisc/anim_front.png (renamed from graphics/pokemon/anim_front_pics/luvdisc_front_pic.png)bin480 -> 480 bytes
-rw-r--r--graphics/pokemon/luvdisc/back.png (renamed from graphics/pokemon/back_pics/luvdisc_back_pic.png)bin357 -> 357 bytes
-rw-r--r--graphics/pokemon/luvdisc/footprint.png (renamed from graphics/pokemon/footprints/luvdisc_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/luvdisc/front.png (renamed from graphics/pokemon/front_pics/luvdisc_still_front_pic.png)bin328 -> 328 bytes
-rw-r--r--graphics/pokemon/luvdisc/icon.png (renamed from graphics/pokemon/icons/luvdisc_icon.png)bin281 -> 281 bytes
-rw-r--r--graphics/pokemon/luvdisc/normal.pal (renamed from graphics/pokemon/palettes/luvdisc_palette.pal)0
-rw-r--r--graphics/pokemon/luvdisc/shiny.pal (renamed from graphics/pokemon/palettes/luvdisc_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/machamp/anim_front.png (renamed from graphics/pokemon/anim_front_pics/machamp_front_pic.png)bin1350 -> 1350 bytes
-rw-r--r--graphics/pokemon/machamp/back.png (renamed from graphics/pokemon/back_pics/machamp_back_pic.png)bin903 -> 903 bytes
-rw-r--r--graphics/pokemon/machamp/footprint.png (renamed from graphics/pokemon/footprints/machamp_footprint.png)bin98 -> 98 bytes
-rw-r--r--graphics/pokemon/machamp/front.png (renamed from graphics/pokemon/front_pics/machamp_still_front_pic.png)bin1106 -> 1106 bytes
-rw-r--r--graphics/pokemon/machamp/icon.png (renamed from graphics/pokemon/icons/machamp_icon.png)bin414 -> 414 bytes
-rw-r--r--graphics/pokemon/machamp/normal.pal (renamed from graphics/pokemon/palettes/machamp_palette.pal)0
-rw-r--r--graphics/pokemon/machamp/shiny.pal (renamed from graphics/pokemon/palettes/machamp_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/machoke/anim_front.png (renamed from graphics/pokemon/anim_front_pics/machoke_front_pic.png)bin1255 -> 1255 bytes
-rw-r--r--graphics/pokemon/machoke/back.png (renamed from graphics/pokemon/back_pics/machoke_back_pic.png)bin675 -> 675 bytes
-rw-r--r--graphics/pokemon/machoke/footprint.png (renamed from graphics/pokemon/footprints/machoke_footprint.png)bin97 -> 97 bytes
-rw-r--r--graphics/pokemon/machoke/front.png (renamed from graphics/pokemon/front_pics/machoke_still_front_pic.png)bin751 -> 751 bytes
-rw-r--r--graphics/pokemon/machoke/icon.png (renamed from graphics/pokemon/icons/machoke_icon.png)bin415 -> 415 bytes
-rw-r--r--graphics/pokemon/machoke/normal.pal (renamed from graphics/pokemon/palettes/machoke_palette.pal)0
-rw-r--r--graphics/pokemon/machoke/shiny.pal (renamed from graphics/pokemon/palettes/machoke_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/machop/anim_front.png (renamed from graphics/pokemon/anim_front_pics/machop_front_pic.png)bin735 -> 735 bytes
-rw-r--r--graphics/pokemon/machop/back.png (renamed from graphics/pokemon/back_pics/machop_back_pic.png)bin584 -> 584 bytes
-rw-r--r--graphics/pokemon/machop/footprint.png (renamed from graphics/pokemon/footprints/machop_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/machop/front.png (renamed from graphics/pokemon/front_pics/machop_still_front_pic.png)bin534 -> 534 bytes
-rw-r--r--graphics/pokemon/machop/icon.png (renamed from graphics/pokemon/icons/machop_icon.png)bin313 -> 313 bytes
-rw-r--r--graphics/pokemon/machop/normal.pal (renamed from graphics/pokemon/palettes/machop_palette.pal)0
-rw-r--r--graphics/pokemon/machop/shiny.pal (renamed from graphics/pokemon/palettes/machop_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/magby/anim_front.png (renamed from graphics/pokemon/anim_front_pics/magby_front_pic.png)bin799 -> 799 bytes
-rw-r--r--graphics/pokemon/magby/back.png (renamed from graphics/pokemon/back_pics/magby_back_pic.png)bin546 -> 546 bytes
-rw-r--r--graphics/pokemon/magby/footprint.png (renamed from graphics/pokemon/footprints/magby_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/magby/front.png (renamed from graphics/pokemon/front_pics/magby_still_front_pic.png)bin506 -> 506 bytes
-rw-r--r--graphics/pokemon/magby/icon.png (renamed from graphics/pokemon/icons/magby_icon.png)bin296 -> 296 bytes
-rw-r--r--graphics/pokemon/magby/normal.pal (renamed from graphics/pokemon/palettes/magby_palette.pal)0
-rw-r--r--graphics/pokemon/magby/shiny.pal (renamed from graphics/pokemon/palettes/magby_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/magcargo/anim_front.png (renamed from graphics/pokemon/anim_front_pics/magcargo_front_pic.png)bin1220 -> 1220 bytes
-rw-r--r--graphics/pokemon/magcargo/back.png (renamed from graphics/pokemon/back_pics/magcargo_back_pic.png)bin829 -> 829 bytes
-rw-r--r--graphics/pokemon/magcargo/footprint.png (renamed from graphics/pokemon/footprints/magcargo_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/magcargo/front.png (renamed from graphics/pokemon/front_pics/magcargo_still_front_pic.png)bin708 -> 708 bytes
-rw-r--r--graphics/pokemon/magcargo/icon.png (renamed from graphics/pokemon/icons/magcargo_icon.png)bin444 -> 444 bytes
-rw-r--r--graphics/pokemon/magcargo/normal.pal (renamed from graphics/pokemon/palettes/magcargo_palette.pal)0
-rw-r--r--graphics/pokemon/magcargo/shiny.pal (renamed from graphics/pokemon/palettes/magcargo_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/magikarp/anim_front.png (renamed from graphics/pokemon/anim_front_pics/magikarp_front_pic.png)bin1199 -> 1199 bytes
-rw-r--r--graphics/pokemon/magikarp/back.png (renamed from graphics/pokemon/back_pics/magikarp_back_pic.png)bin673 -> 673 bytes
-rw-r--r--graphics/pokemon/magikarp/footprint.png (renamed from graphics/pokemon/footprints/magikarp_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/magikarp/front.png (renamed from graphics/pokemon/front_pics/magikarp_still_front_pic.png)bin722 -> 722 bytes
-rw-r--r--graphics/pokemon/magikarp/icon.png (renamed from graphics/pokemon/icons/magikarp_icon.png)bin381 -> 381 bytes
-rw-r--r--graphics/pokemon/magikarp/normal.pal (renamed from graphics/pokemon/palettes/magikarp_palette.pal)0
-rw-r--r--graphics/pokemon/magikarp/shiny.pal (renamed from graphics/pokemon/palettes/magikarp_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/magmar/anim_front.png (renamed from graphics/pokemon/anim_front_pics/magmar_front_pic.png)bin1744 -> 1744 bytes
-rw-r--r--graphics/pokemon/magmar/back.png (renamed from graphics/pokemon/back_pics/magmar_back_pic.png)bin691 -> 691 bytes
-rw-r--r--graphics/pokemon/magmar/footprint.png (renamed from graphics/pokemon/footprints/magmar_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/magmar/front.png (renamed from graphics/pokemon/front_pics/magmar_still_front_pic.png)bin994 -> 994 bytes
-rw-r--r--graphics/pokemon/magmar/icon.png (renamed from graphics/pokemon/icons/magmar_icon.png)bin398 -> 398 bytes
-rw-r--r--graphics/pokemon/magmar/normal.pal (renamed from graphics/pokemon/palettes/magmar_palette.pal)0
-rw-r--r--graphics/pokemon/magmar/shiny.pal (renamed from graphics/pokemon/palettes/magmar_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/magnemite/anim_front.png (renamed from graphics/pokemon/anim_front_pics/magnemite_front_pic.png)bin571 -> 571 bytes
-rw-r--r--graphics/pokemon/magnemite/back.png (renamed from graphics/pokemon/back_pics/magnemite_back_pic.png)bin391 -> 391 bytes
-rw-r--r--graphics/pokemon/magnemite/footprint.png (renamed from graphics/pokemon/footprints/magnemite_footprint.png)bin83 -> 83 bytes
-rw-r--r--graphics/pokemon/magnemite/front.png (renamed from graphics/pokemon/front_pics/magnemite_still_front_pic.png)bin381 -> 381 bytes
-rw-r--r--graphics/pokemon/magnemite/icon.png (renamed from graphics/pokemon/icons/magnemite_icon.png)bin289 -> 289 bytes
-rw-r--r--graphics/pokemon/magnemite/normal.pal (renamed from graphics/pokemon/palettes/magnemite_palette.pal)0
-rw-r--r--graphics/pokemon/magnemite/shiny.pal (renamed from graphics/pokemon/palettes/magnemite_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/magneton/anim_front.png (renamed from graphics/pokemon/anim_front_pics/magneton_front_pic.png)bin1269 -> 1269 bytes
-rw-r--r--graphics/pokemon/magneton/back.png (renamed from graphics/pokemon/back_pics/magneton_back_pic.png)bin749 -> 749 bytes
-rw-r--r--graphics/pokemon/magneton/footprint.png (renamed from graphics/pokemon/footprints/magneton_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/magneton/front.png (renamed from graphics/pokemon/front_pics/magneton_still_front_pic.png)bin851 -> 851 bytes
-rw-r--r--graphics/pokemon/magneton/icon.png (renamed from graphics/pokemon/icons/magneton_icon.png)bin416 -> 416 bytes
-rw-r--r--graphics/pokemon/magneton/normal.pal (renamed from graphics/pokemon/palettes/magneton_palette.pal)0
-rw-r--r--graphics/pokemon/magneton/shiny.pal (renamed from graphics/pokemon/palettes/magneton_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/makuhita/anim_front.png (renamed from graphics/pokemon/anim_front_pics/makuhita_front_pic.png)bin857 -> 857 bytes
-rw-r--r--graphics/pokemon/makuhita/back.png (renamed from graphics/pokemon/back_pics/makuhita_back_pic.png)bin579 -> 579 bytes
-rw-r--r--graphics/pokemon/makuhita/footprint.png (renamed from graphics/pokemon/footprints/makuhita_footprint.png)bin97 -> 97 bytes
-rw-r--r--graphics/pokemon/makuhita/front.png (renamed from graphics/pokemon/front_pics/makuhita_still_front_pic.png)bin637 -> 637 bytes
-rw-r--r--graphics/pokemon/makuhita/icon.png (renamed from graphics/pokemon/icons/makuhita_icon.png)bin326 -> 326 bytes
-rw-r--r--graphics/pokemon/makuhita/normal.pal (renamed from graphics/pokemon/palettes/makuhita_palette.pal)0
-rw-r--r--graphics/pokemon/makuhita/shiny.pal (renamed from graphics/pokemon/palettes/makuhita_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/manectric/anim_front.png (renamed from graphics/pokemon/anim_front_pics/manectric_front_pic.png)bin1150 -> 1150 bytes
-rw-r--r--graphics/pokemon/manectric/back.png (renamed from graphics/pokemon/back_pics/manectric_back_pic.png)bin437 -> 437 bytes
-rw-r--r--graphics/pokemon/manectric/footprint.png (renamed from graphics/pokemon/footprints/manectric_footprint.png)bin100 -> 100 bytes
-rw-r--r--graphics/pokemon/manectric/front.png (renamed from graphics/pokemon/front_pics/manectric_still_front_pic.png)bin685 -> 685 bytes
-rw-r--r--graphics/pokemon/manectric/icon.png (renamed from graphics/pokemon/icons/manectric_icon.png)bin316 -> 316 bytes
-rw-r--r--graphics/pokemon/manectric/normal.pal (renamed from graphics/pokemon/palettes/manectric_palette.pal)0
-rw-r--r--graphics/pokemon/manectric/shiny.pal (renamed from graphics/pokemon/palettes/manectric_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/mankey/anim_front.png (renamed from graphics/pokemon/anim_front_pics/mankey_front_pic.png)bin1088 -> 1088 bytes
-rw-r--r--graphics/pokemon/mankey/back.png (renamed from graphics/pokemon/back_pics/mankey_back_pic.png)bin695 -> 695 bytes
-rw-r--r--graphics/pokemon/mankey/footprint.png (renamed from graphics/pokemon/footprints/mankey_footprint.png)bin110 -> 110 bytes
-rw-r--r--graphics/pokemon/mankey/front.png (renamed from graphics/pokemon/front_pics/mankey_still_front_pic.png)bin654 -> 654 bytes
-rw-r--r--graphics/pokemon/mankey/icon.png (renamed from graphics/pokemon/icons/mankey_icon.png)bin374 -> 374 bytes
-rw-r--r--graphics/pokemon/mankey/normal.pal (renamed from graphics/pokemon/palettes/mankey_palette.pal)0
-rw-r--r--graphics/pokemon/mankey/shiny.pal (renamed from graphics/pokemon/palettes/mankey_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/mantine/anim_front.png (renamed from graphics/pokemon/anim_front_pics/mantine_front_pic.png)bin1556 -> 1556 bytes
-rw-r--r--graphics/pokemon/mantine/back.png (renamed from graphics/pokemon/back_pics/mantine_back_pic.png)bin526 -> 526 bytes
-rw-r--r--graphics/pokemon/mantine/footprint.png (renamed from graphics/pokemon/footprints/mantine_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/mantine/front.png (renamed from graphics/pokemon/front_pics/mantine_still_front_pic.png)bin983 -> 983 bytes
-rw-r--r--graphics/pokemon/mantine/icon.png (renamed from graphics/pokemon/icons/mantine_icon.png)bin374 -> 374 bytes
-rw-r--r--graphics/pokemon/mantine/normal.pal (renamed from graphics/pokemon/palettes/mantine_palette.pal)0
-rw-r--r--graphics/pokemon/mantine/shiny.pal (renamed from graphics/pokemon/palettes/mantine_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/mareep/anim_front.png (renamed from graphics/pokemon/anim_front_pics/mareep_front_pic.png)bin875 -> 875 bytes
-rw-r--r--graphics/pokemon/mareep/back.png (renamed from graphics/pokemon/back_pics/mareep_back_pic.png)bin635 -> 635 bytes
-rw-r--r--graphics/pokemon/mareep/footprint.png (renamed from graphics/pokemon/footprints/mareep_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/mareep/front.png (renamed from graphics/pokemon/front_pics/mareep_still_front_pic.png)bin571 -> 571 bytes
-rw-r--r--graphics/pokemon/mareep/icon.png (renamed from graphics/pokemon/icons/mareep_icon.png)bin391 -> 391 bytes
-rw-r--r--graphics/pokemon/mareep/normal.pal (renamed from graphics/pokemon/palettes/mareep_palette.pal)0
-rw-r--r--graphics/pokemon/mareep/shiny.pal (renamed from graphics/pokemon/palettes/mareep_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/marill/anim_front.png (renamed from graphics/pokemon/anim_front_pics/marill_front_pic.png)bin933 -> 933 bytes
-rw-r--r--graphics/pokemon/marill/back.png (renamed from graphics/pokemon/back_pics/marill_back_pic.png)bin514 -> 514 bytes
-rw-r--r--graphics/pokemon/marill/footprint.png (renamed from graphics/pokemon/footprints/marill_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/marill/front.png (renamed from graphics/pokemon/front_pics/marill_still_front_pic.png)bin563 -> 563 bytes
-rw-r--r--graphics/pokemon/marill/icon.png (renamed from graphics/pokemon/icons/marill_icon.png)bin365 -> 365 bytes
-rw-r--r--graphics/pokemon/marill/normal.pal (renamed from graphics/pokemon/palettes/marill_palette.pal)0
-rw-r--r--graphics/pokemon/marill/shiny.pal (renamed from graphics/pokemon/palettes/marill_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/marowak/anim_front.png (renamed from graphics/pokemon/anim_front_pics/marowak_front_pic.png)bin1308 -> 1308 bytes
-rw-r--r--graphics/pokemon/marowak/back.png (renamed from graphics/pokemon/back_pics/marowak_back_pic.png)bin687 -> 687 bytes
-rw-r--r--graphics/pokemon/marowak/footprint.png (renamed from graphics/pokemon/footprints/marowak_footprint.png)bin86 -> 86 bytes
-rw-r--r--graphics/pokemon/marowak/front.png (renamed from graphics/pokemon/front_pics/marowak_still_front_pic.png)bin759 -> 759 bytes
-rw-r--r--graphics/pokemon/marowak/icon.png (renamed from graphics/pokemon/icons/marowak_icon.png)bin388 -> 388 bytes
-rw-r--r--graphics/pokemon/marowak/normal.pal (renamed from graphics/pokemon/palettes/marowak_palette.pal)0
-rw-r--r--graphics/pokemon/marowak/shiny.pal (renamed from graphics/pokemon/palettes/marowak_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/marshtomp/anim_front.png (renamed from graphics/pokemon/anim_front_pics/marshtomp_front_pic.png)bin1171 -> 1171 bytes
-rw-r--r--graphics/pokemon/marshtomp/back.png (renamed from graphics/pokemon/back_pics/marshtomp_back_pic.png)bin748 -> 748 bytes
-rw-r--r--graphics/pokemon/marshtomp/footprint.png (renamed from graphics/pokemon/footprints/marshtomp_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/marshtomp/front.png (renamed from graphics/pokemon/front_pics/marshtomp_still_front_pic.png)bin776 -> 776 bytes
-rw-r--r--graphics/pokemon/marshtomp/icon.png (renamed from graphics/pokemon/icons/marshtomp_icon.png)bin294 -> 294 bytes
-rw-r--r--graphics/pokemon/marshtomp/normal.pal (renamed from graphics/pokemon/palettes/marshtomp_palette.pal)0
-rw-r--r--graphics/pokemon/marshtomp/shiny.pal (renamed from graphics/pokemon/palettes/marshtomp_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/masquerain/anim_front.png (renamed from graphics/pokemon/anim_front_pics/masquerain_front_pic.png)bin1293 -> 1293 bytes
-rw-r--r--graphics/pokemon/masquerain/back.png (renamed from graphics/pokemon/back_pics/masquerain_back_pic.png)bin697 -> 697 bytes
-rw-r--r--graphics/pokemon/masquerain/footprint.png (renamed from graphics/pokemon/footprints/masquerain_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/masquerain/front.png (renamed from graphics/pokemon/front_pics/masquerain_still_front_pic.png)bin782 -> 782 bytes
-rw-r--r--graphics/pokemon/masquerain/icon.png (renamed from graphics/pokemon/icons/masquerain_icon.png)bin371 -> 371 bytes
-rw-r--r--graphics/pokemon/masquerain/normal.pal (renamed from graphics/pokemon/palettes/masquerain_palette.pal)0
-rw-r--r--graphics/pokemon/masquerain/shiny.pal (renamed from graphics/pokemon/palettes/masquerain_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/mawile/anim_front.png (renamed from graphics/pokemon/anim_front_pics/mawile_front_pic.png)bin1448 -> 1448 bytes
-rw-r--r--graphics/pokemon/mawile/back.png (renamed from graphics/pokemon/back_pics/mawile_back_pic.png)bin825 -> 825 bytes
-rw-r--r--graphics/pokemon/mawile/footprint.png (renamed from graphics/pokemon/footprints/mawile_footprint.png)bin102 -> 102 bytes
-rw-r--r--graphics/pokemon/mawile/front.png (renamed from graphics/pokemon/front_pics/mawile_still_front_pic.png)bin774 -> 774 bytes
-rw-r--r--graphics/pokemon/mawile/icon.png (renamed from graphics/pokemon/icons/mawile_icon.png)bin433 -> 433 bytes
-rw-r--r--graphics/pokemon/mawile/normal.pal (renamed from graphics/pokemon/palettes/mawile_palette.pal)0
-rw-r--r--graphics/pokemon/mawile/shiny.pal (renamed from graphics/pokemon/palettes/mawile_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/medicham/anim_front.png (renamed from graphics/pokemon/anim_front_pics/medicham_front_pic.png)bin1055 -> 1055 bytes
-rw-r--r--graphics/pokemon/medicham/back.png (renamed from graphics/pokemon/back_pics/medicham_back_pic.png)bin696 -> 696 bytes
-rw-r--r--graphics/pokemon/medicham/footprint.png (renamed from graphics/pokemon/footprints/medicham_footprint.png)bin92 -> 92 bytes
-rw-r--r--graphics/pokemon/medicham/front.png (renamed from graphics/pokemon/front_pics/medicham_still_front_pic.png)bin711 -> 711 bytes
-rw-r--r--graphics/pokemon/medicham/icon.png (renamed from graphics/pokemon/icons/medicham_icon.png)bin369 -> 369 bytes
-rw-r--r--graphics/pokemon/medicham/normal.pal (renamed from graphics/pokemon/palettes/medicham_palette.pal)0
-rw-r--r--graphics/pokemon/medicham/shiny.pal (renamed from graphics/pokemon/palettes/medicham_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/meditite/anim_front.png (renamed from graphics/pokemon/anim_front_pics/meditite_front_pic.png)bin744 -> 744 bytes
-rw-r--r--graphics/pokemon/meditite/back.png (renamed from graphics/pokemon/back_pics/meditite_back_pic.png)bin565 -> 565 bytes
-rw-r--r--graphics/pokemon/meditite/footprint.png (renamed from graphics/pokemon/footprints/meditite_footprint.png)bin89 -> 89 bytes
-rw-r--r--graphics/pokemon/meditite/front.png (renamed from graphics/pokemon/front_pics/meditite_still_front_pic.png)bin573 -> 573 bytes
-rw-r--r--graphics/pokemon/meditite/icon.png (renamed from graphics/pokemon/icons/meditite_icon.png)bin329 -> 329 bytes
-rw-r--r--graphics/pokemon/meditite/normal.pal (renamed from graphics/pokemon/palettes/meditite_palette.pal)0
-rw-r--r--graphics/pokemon/meditite/shiny.pal (renamed from graphics/pokemon/palettes/meditite_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/meganium/anim_front.png (renamed from graphics/pokemon/anim_front_pics/meganium_front_pic.png)bin1902 -> 1902 bytes
-rw-r--r--graphics/pokemon/meganium/back.png (renamed from graphics/pokemon/back_pics/meganium_back_pic.png)bin736 -> 736 bytes
-rw-r--r--graphics/pokemon/meganium/footprint.png (renamed from graphics/pokemon/footprints/meganium_footprint.png)bin97 -> 97 bytes
-rw-r--r--graphics/pokemon/meganium/front.png (renamed from graphics/pokemon/front_pics/meganium_still_front_pic.png)bin1117 -> 1117 bytes
-rw-r--r--graphics/pokemon/meganium/icon.png (renamed from graphics/pokemon/icons/meganium_icon.png)bin451 -> 451 bytes
-rw-r--r--graphics/pokemon/meganium/normal.pal (renamed from graphics/pokemon/palettes/meganium_palette.pal)0
-rw-r--r--graphics/pokemon/meganium/shiny.pal (renamed from graphics/pokemon/palettes/meganium_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/meowth/anim_front.png (renamed from graphics/pokemon/anim_front_pics/meowth_front_pic.png)bin887 -> 887 bytes
-rw-r--r--graphics/pokemon/meowth/back.png (renamed from graphics/pokemon/back_pics/meowth_back_pic.png)bin576 -> 576 bytes
-rw-r--r--graphics/pokemon/meowth/footprint.png (renamed from graphics/pokemon/footprints/meowth_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/meowth/front.png (renamed from graphics/pokemon/front_pics/meowth_still_front_pic.png)bin637 -> 637 bytes
-rw-r--r--graphics/pokemon/meowth/icon.png (renamed from graphics/pokemon/icons/meowth_icon.png)bin304 -> 304 bytes
-rw-r--r--graphics/pokemon/meowth/normal.pal (renamed from graphics/pokemon/palettes/meowth_palette.pal)0
-rw-r--r--graphics/pokemon/meowth/shiny.pal (renamed from graphics/pokemon/palettes/meowth_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/metagross/anim_front.png (renamed from graphics/pokemon/anim_front_pics/metagross_front_pic.png)bin1301 -> 1301 bytes
-rw-r--r--graphics/pokemon/metagross/back.png (renamed from graphics/pokemon/back_pics/metagross_back_pic.png)bin515 -> 515 bytes
-rw-r--r--graphics/pokemon/metagross/footprint.png (renamed from graphics/pokemon/footprints/metagross_footprint.png)bin91 -> 91 bytes
-rw-r--r--graphics/pokemon/metagross/front.png (renamed from graphics/pokemon/front_pics/metagross_still_front_pic.png)bin911 -> 911 bytes
-rw-r--r--graphics/pokemon/metagross/icon.png (renamed from graphics/pokemon/icons/metagross_icon.png)bin439 -> 439 bytes
-rw-r--r--graphics/pokemon/metagross/normal.pal (renamed from graphics/pokemon/palettes/metagross_palette.pal)0
-rw-r--r--graphics/pokemon/metagross/shiny.pal (renamed from graphics/pokemon/palettes/metagross_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/metang/anim_front.png (renamed from graphics/pokemon/anim_front_pics/metang_front_pic.png)bin1556 -> 1556 bytes
-rw-r--r--graphics/pokemon/metang/back.png (renamed from graphics/pokemon/back_pics/metang_back_pic.png)bin618 -> 618 bytes
-rw-r--r--graphics/pokemon/metang/footprint.png (renamed from graphics/pokemon/footprints/metang_footprint.png)bin92 -> 92 bytes
-rw-r--r--graphics/pokemon/metang/front.png (renamed from graphics/pokemon/front_pics/metang_still_front_pic.png)bin899 -> 899 bytes
-rw-r--r--graphics/pokemon/metang/icon.png (renamed from graphics/pokemon/icons/metang_icon.png)bin445 -> 445 bytes
-rw-r--r--graphics/pokemon/metang/normal.pal (renamed from graphics/pokemon/palettes/metang_palette.pal)0
-rw-r--r--graphics/pokemon/metang/shiny.pal (renamed from graphics/pokemon/palettes/metang_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/metapod/anim_front.png (renamed from graphics/pokemon/anim_front_pics/metapod_front_pic.png)bin574 -> 574 bytes
-rw-r--r--graphics/pokemon/metapod/back.png (renamed from graphics/pokemon/back_pics/metapod_back_pic.png)bin430 -> 430 bytes
-rw-r--r--graphics/pokemon/metapod/footprint.png (renamed from graphics/pokemon/footprints/metapod_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/metapod/front.png (renamed from graphics/pokemon/front_pics/metapod_still_front_pic.png)bin403 -> 403 bytes
-rw-r--r--graphics/pokemon/metapod/icon.png (renamed from graphics/pokemon/icons/metapod_icon.png)bin241 -> 241 bytes
-rw-r--r--graphics/pokemon/metapod/normal.pal (renamed from graphics/pokemon/palettes/metapod_palette.pal)0
-rw-r--r--graphics/pokemon/metapod/shiny.pal (renamed from graphics/pokemon/palettes/metapod_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/mew/anim_front.png (renamed from graphics/pokemon/anim_front_pics/mew_front_pic.png)bin854 -> 854 bytes
-rw-r--r--graphics/pokemon/mew/back.png (renamed from graphics/pokemon/back_pics/mew_back_pic.png)bin551 -> 551 bytes
-rw-r--r--graphics/pokemon/mew/footprint.png (renamed from graphics/pokemon/footprints/mew_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/mew/front.png (renamed from graphics/pokemon/front_pics/mew_still_front_pic.png)bin503 -> 503 bytes
-rw-r--r--graphics/pokemon/mew/icon.png (renamed from graphics/pokemon/icons/mew_icon.png)bin377 -> 377 bytes
-rw-r--r--graphics/pokemon/mew/normal.pal (renamed from graphics/pokemon/palettes/mew_palette.pal)0
-rw-r--r--graphics/pokemon/mew/shiny.pal (renamed from graphics/pokemon/palettes/mew_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/mewtwo/anim_front.png (renamed from graphics/pokemon/anim_front_pics/mewtwo_front_pic.png)bin1500 -> 1500 bytes
-rw-r--r--graphics/pokemon/mewtwo/back.png (renamed from graphics/pokemon/back_pics/mewtwo_back_pic.png)bin815 -> 815 bytes
-rw-r--r--graphics/pokemon/mewtwo/footprint.png (renamed from graphics/pokemon/footprints/mewtwo_footprint.png)bin100 -> 100 bytes
-rw-r--r--graphics/pokemon/mewtwo/front.png (renamed from graphics/pokemon/front_pics/mewtwo_still_front_pic.png)bin872 -> 872 bytes
-rw-r--r--graphics/pokemon/mewtwo/icon.png (renamed from graphics/pokemon/icons/mewtwo_icon.png)bin368 -> 368 bytes
-rw-r--r--graphics/pokemon/mewtwo/normal.pal (renamed from graphics/pokemon/palettes/mewtwo_palette.pal)0
-rw-r--r--graphics/pokemon/mewtwo/shiny.pal (renamed from graphics/pokemon/palettes/mewtwo_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/mightyena/anim_front.png (renamed from graphics/pokemon/anim_front_pics/mightyena_front_pic.png)bin1465 -> 1465 bytes
-rw-r--r--graphics/pokemon/mightyena/back.png (renamed from graphics/pokemon/back_pics/mightyena_back_pic.png)bin724 -> 724 bytes
-rw-r--r--graphics/pokemon/mightyena/footprint.png (renamed from graphics/pokemon/footprints/mightyena_footprint.png)bin113 -> 113 bytes
-rw-r--r--graphics/pokemon/mightyena/front.png (renamed from graphics/pokemon/front_pics/mightyena_still_front_pic.png)bin856 -> 856 bytes
-rw-r--r--graphics/pokemon/mightyena/icon.png (renamed from graphics/pokemon/icons/mightyena_icon.png)bin403 -> 403 bytes
-rw-r--r--graphics/pokemon/mightyena/normal.pal (renamed from graphics/pokemon/palettes/mightyena_palette.pal)0
-rw-r--r--graphics/pokemon/mightyena/shiny.pal (renamed from graphics/pokemon/palettes/mightyena_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/milotic/anim_front.png (renamed from graphics/pokemon/anim_front_pics/milotic_front_pic.png)bin1786 -> 1786 bytes
-rw-r--r--graphics/pokemon/milotic/back.png (renamed from graphics/pokemon/back_pics/milotic_back_pic.png)bin588 -> 588 bytes
-rw-r--r--graphics/pokemon/milotic/footprint.png (renamed from graphics/pokemon/footprints/milotic_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/milotic/front.png (renamed from graphics/pokemon/front_pics/milotic_still_front_pic.png)bin966 -> 966 bytes
-rw-r--r--graphics/pokemon/milotic/icon.png (renamed from graphics/pokemon/icons/milotic_icon.png)bin455 -> 455 bytes
-rw-r--r--graphics/pokemon/milotic/normal.pal (renamed from graphics/pokemon/palettes/milotic_palette.pal)0
-rw-r--r--graphics/pokemon/milotic/shiny.pal (renamed from graphics/pokemon/palettes/milotic_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/miltank/anim_front.png (renamed from graphics/pokemon/anim_front_pics/miltank_front_pic.png)bin1271 -> 1271 bytes
-rw-r--r--graphics/pokemon/miltank/back.png (renamed from graphics/pokemon/back_pics/miltank_back_pic.png)bin731 -> 731 bytes
-rw-r--r--graphics/pokemon/miltank/footprint.png (renamed from graphics/pokemon/footprints/miltank_footprint.png)bin86 -> 86 bytes
-rw-r--r--graphics/pokemon/miltank/front.png (renamed from graphics/pokemon/front_pics/miltank_still_front_pic.png)bin791 -> 791 bytes
-rw-r--r--graphics/pokemon/miltank/icon.png (renamed from graphics/pokemon/icons/miltank_icon.png)bin351 -> 351 bytes
-rw-r--r--graphics/pokemon/miltank/normal.pal (renamed from graphics/pokemon/palettes/miltank_palette.pal)0
-rw-r--r--graphics/pokemon/miltank/shiny.pal (renamed from graphics/pokemon/palettes/miltank_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/minun/anim_front.png (renamed from graphics/pokemon/anim_front_pics/minun_front_pic.png)bin750 -> 750 bytes
-rw-r--r--graphics/pokemon/minun/back.png (renamed from graphics/pokemon/back_pics/minun_back_pic.png)bin575 -> 575 bytes
-rw-r--r--graphics/pokemon/minun/footprint.png (renamed from graphics/pokemon/footprints/minun_footprint.png)bin86 -> 86 bytes
-rw-r--r--graphics/pokemon/minun/front.png (renamed from graphics/pokemon/front_pics/minun_still_front_pic.png)bin505 -> 505 bytes
-rw-r--r--graphics/pokemon/minun/icon.png (renamed from graphics/pokemon/icons/minun_icon.png)bin296 -> 296 bytes
-rw-r--r--graphics/pokemon/minun/normal.pal (renamed from graphics/pokemon/palettes/minun_palette.pal)0
-rw-r--r--graphics/pokemon/minun/shiny.pal (renamed from graphics/pokemon/palettes/minun_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/misdreavus/anim_front.png (renamed from graphics/pokemon/anim_front_pics/misdreavus_front_pic.png)bin933 -> 933 bytes
-rw-r--r--graphics/pokemon/misdreavus/back.png (renamed from graphics/pokemon/back_pics/misdreavus_back_pic.png)bin618 -> 618 bytes
-rw-r--r--graphics/pokemon/misdreavus/footprint.png (renamed from graphics/pokemon/footprints/misdreavus_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/misdreavus/front.png (renamed from graphics/pokemon/front_pics/misdreavus_still_front_pic.png)bin590 -> 590 bytes
-rw-r--r--graphics/pokemon/misdreavus/icon.png (renamed from graphics/pokemon/icons/misdreavus_icon.png)bin369 -> 369 bytes
-rw-r--r--graphics/pokemon/misdreavus/normal.pal (renamed from graphics/pokemon/palettes/misdreavus_palette.pal)0
-rw-r--r--graphics/pokemon/misdreavus/shiny.pal (renamed from graphics/pokemon/palettes/misdreavus_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/moltres/anim_front.png (renamed from graphics/pokemon/anim_front_pics/moltres_front_pic.png)bin1851 -> 1851 bytes
-rw-r--r--graphics/pokemon/moltres/back.png (renamed from graphics/pokemon/back_pics/moltres_back_pic.png)bin682 -> 682 bytes
-rw-r--r--graphics/pokemon/moltres/footprint.png (renamed from graphics/pokemon/footprints/moltres_footprint.png)bin101 -> 101 bytes
-rw-r--r--graphics/pokemon/moltres/front.png (renamed from graphics/pokemon/front_pics/moltres_still_front_pic.png)bin1206 -> 1206 bytes
-rw-r--r--graphics/pokemon/moltres/icon.png (renamed from graphics/pokemon/icons/moltres_icon.png)bin421 -> 421 bytes
-rw-r--r--graphics/pokemon/moltres/normal.pal (renamed from graphics/pokemon/palettes/moltres_palette.pal)0
-rw-r--r--graphics/pokemon/moltres/shiny.pal (renamed from graphics/pokemon/palettes/moltres_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/mr_mime/anim_front.png (renamed from graphics/pokemon/anim_front_pics/mr_mime_front_pic.png)bin1265 -> 1265 bytes
-rw-r--r--graphics/pokemon/mr_mime/back.png (renamed from graphics/pokemon/back_pics/mr_mime_back_pic.png)bin677 -> 677 bytes
-rw-r--r--graphics/pokemon/mr_mime/footprint.png (renamed from graphics/pokemon/footprints/mr_mime_footprint.png)bin89 -> 89 bytes
-rw-r--r--graphics/pokemon/mr_mime/front.png (renamed from graphics/pokemon/front_pics/mr_mime_still_front_pic.png)bin796 -> 796 bytes
-rw-r--r--graphics/pokemon/mr_mime/icon.png (renamed from graphics/pokemon/icons/mr_mime_icon.png)bin311 -> 311 bytes
-rw-r--r--graphics/pokemon/mr_mime/normal.pal (renamed from graphics/pokemon/palettes/mr_mime_palette.pal)0
-rw-r--r--graphics/pokemon/mr_mime/shiny.pal (renamed from graphics/pokemon/palettes/mr_mime_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/mudkip/anim_front.png (renamed from graphics/pokemon/anim_front_pics/mudkip_front_pic.png)bin962 -> 962 bytes
-rw-r--r--graphics/pokemon/mudkip/back.png (renamed from graphics/pokemon/back_pics/mudkip_back_pic.png)bin627 -> 627 bytes
-rw-r--r--graphics/pokemon/mudkip/footprint.png (renamed from graphics/pokemon/footprints/mudkip_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/mudkip/front.png (renamed from graphics/pokemon/front_pics/mudkip_still_front_pic.png)bin572 -> 572 bytes
-rw-r--r--graphics/pokemon/mudkip/icon.png (renamed from graphics/pokemon/icons/mudkip_icon.png)bin353 -> 353 bytes
-rw-r--r--graphics/pokemon/mudkip/normal.pal (renamed from graphics/pokemon/palettes/mudkip_palette.pal)0
-rw-r--r--graphics/pokemon/mudkip/shiny.pal (renamed from graphics/pokemon/palettes/mudkip_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/muk/anim_front.png (renamed from graphics/pokemon/anim_front_pics/muk_front_pic.png)bin1344 -> 1344 bytes
-rw-r--r--graphics/pokemon/muk/back.png (renamed from graphics/pokemon/back_pics/muk_back_pic.png)bin661 -> 661 bytes
-rw-r--r--graphics/pokemon/muk/footprint.png (renamed from graphics/pokemon/footprints/muk_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/muk/front.png (renamed from graphics/pokemon/front_pics/muk_still_front_pic.png)bin863 -> 863 bytes
-rw-r--r--graphics/pokemon/muk/icon.png (renamed from graphics/pokemon/icons/muk_icon.png)bin441 -> 441 bytes
-rw-r--r--graphics/pokemon/muk/normal.pal (renamed from graphics/pokemon/palettes/muk_palette.pal)0
-rw-r--r--graphics/pokemon/muk/shiny.pal (renamed from graphics/pokemon/palettes/muk_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/murkrow/anim_front.png (renamed from graphics/pokemon/anim_front_pics/murkrow_front_pic.png)bin968 -> 968 bytes
-rw-r--r--graphics/pokemon/murkrow/back.png (renamed from graphics/pokemon/back_pics/murkrow_back_pic.png)bin640 -> 640 bytes
-rw-r--r--graphics/pokemon/murkrow/footprint.png (renamed from graphics/pokemon/footprints/murkrow_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/murkrow/front.png (renamed from graphics/pokemon/front_pics/murkrow_still_front_pic.png)bin601 -> 601 bytes
-rw-r--r--graphics/pokemon/murkrow/icon.png (renamed from graphics/pokemon/icons/murkrow_icon.png)bin370 -> 370 bytes
-rw-r--r--graphics/pokemon/murkrow/normal.pal (renamed from graphics/pokemon/palettes/murkrow_palette.pal)0
-rw-r--r--graphics/pokemon/murkrow/shiny.pal (renamed from graphics/pokemon/palettes/murkrow_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/natu/anim_front.png (renamed from graphics/pokemon/anim_front_pics/natu_front_pic.png)bin512 -> 512 bytes
-rw-r--r--graphics/pokemon/natu/back.png (renamed from graphics/pokemon/back_pics/natu_back_pic.png)bin401 -> 401 bytes
-rw-r--r--graphics/pokemon/natu/footprint.png (renamed from graphics/pokemon/footprints/natu_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/natu/front.png (renamed from graphics/pokemon/front_pics/natu_still_front_pic.png)bin375 -> 375 bytes
-rw-r--r--graphics/pokemon/natu/icon.png (renamed from graphics/pokemon/icons/natu_icon.png)bin318 -> 318 bytes
-rw-r--r--graphics/pokemon/natu/normal.pal (renamed from graphics/pokemon/palettes/natu_palette.pal)0
-rw-r--r--graphics/pokemon/natu/shiny.pal (renamed from graphics/pokemon/palettes/natu_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/nidoking/anim_front.png (renamed from graphics/pokemon/anim_front_pics/nidoking_front_pic.png)bin1708 -> 1708 bytes
-rw-r--r--graphics/pokemon/nidoking/back.png (renamed from graphics/pokemon/back_pics/nidoking_back_pic.png)bin849 -> 849 bytes
-rw-r--r--graphics/pokemon/nidoking/footprint.png (renamed from graphics/pokemon/footprints/nidoking_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/nidoking/front.png (renamed from graphics/pokemon/front_pics/nidoking_still_front_pic.png)bin1016 -> 1016 bytes
-rw-r--r--graphics/pokemon/nidoking/icon.png (renamed from graphics/pokemon/icons/nidoking_icon.png)bin420 -> 420 bytes
-rw-r--r--graphics/pokemon/nidoking/normal.pal (renamed from graphics/pokemon/palettes/nidoking_palette.pal)0
-rw-r--r--graphics/pokemon/nidoking/shiny.pal (renamed from graphics/pokemon/palettes/nidoking_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/nidoqueen/anim_front.png (renamed from graphics/pokemon/anim_front_pics/nidoqueen_front_pic.png)bin1651 -> 1651 bytes
-rw-r--r--graphics/pokemon/nidoqueen/back.png (renamed from graphics/pokemon/back_pics/nidoqueen_back_pic.png)bin761 -> 761 bytes
-rw-r--r--graphics/pokemon/nidoqueen/footprint.png (renamed from graphics/pokemon/footprints/nidoqueen_footprint.png)bin98 -> 98 bytes
-rw-r--r--graphics/pokemon/nidoqueen/front.png (renamed from graphics/pokemon/front_pics/nidoqueen_still_front_pic.png)bin932 -> 932 bytes
-rw-r--r--graphics/pokemon/nidoqueen/icon.png (renamed from graphics/pokemon/icons/nidoqueen_icon.png)bin374 -> 374 bytes
-rw-r--r--graphics/pokemon/nidoqueen/normal.pal (renamed from graphics/pokemon/palettes/nidoqueen_palette.pal)0
-rw-r--r--graphics/pokemon/nidoqueen/shiny.pal (renamed from graphics/pokemon/palettes/nidoqueen_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/nidoran_f/anim_front.png (renamed from graphics/pokemon/anim_front_pics/nidoran_f_front_pic.png)bin762 -> 762 bytes
-rw-r--r--graphics/pokemon/nidoran_f/back.png (renamed from graphics/pokemon/back_pics/nidoran_f_back_pic.png)bin593 -> 593 bytes
-rw-r--r--graphics/pokemon/nidoran_f/footprint.png (renamed from graphics/pokemon/footprints/nidoran_f_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/nidoran_f/front.png (renamed from graphics/pokemon/front_pics/nidoran_f_still_front_pic.png)bin489 -> 489 bytes
-rw-r--r--graphics/pokemon/nidoran_f/icon.png (renamed from graphics/pokemon/icons/nidoran_f_icon.png)bin287 -> 287 bytes
-rw-r--r--graphics/pokemon/nidoran_f/normal.pal (renamed from graphics/pokemon/palettes/nidoran_f_palette.pal)0
-rw-r--r--graphics/pokemon/nidoran_f/shiny.pal (renamed from graphics/pokemon/palettes/nidoran_f_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/nidoran_m/anim_front.png (renamed from graphics/pokemon/anim_front_pics/nidoran_m_front_pic.png)bin951 -> 951 bytes
-rw-r--r--graphics/pokemon/nidoran_m/back.png (renamed from graphics/pokemon/back_pics/nidoran_m_back_pic.png)bin630 -> 630 bytes
-rw-r--r--graphics/pokemon/nidoran_m/footprint.png (renamed from graphics/pokemon/footprints/nidoran_m_footprint.png)bin89 -> 89 bytes
-rw-r--r--graphics/pokemon/nidoran_m/front.png (renamed from graphics/pokemon/front_pics/nidoran_m_still_front_pic.png)bin566 -> 566 bytes
-rw-r--r--graphics/pokemon/nidoran_m/icon.png (renamed from graphics/pokemon/icons/nidoran_m_icon.png)bin326 -> 326 bytes
-rw-r--r--graphics/pokemon/nidoran_m/normal.pal (renamed from graphics/pokemon/palettes/nidoran_m_palette.pal)0
-rw-r--r--graphics/pokemon/nidoran_m/shiny.pal (renamed from graphics/pokemon/palettes/nidoran_m_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/nidorina/anim_front.png (renamed from graphics/pokemon/anim_front_pics/nidorina_front_pic.png)bin1149 -> 1149 bytes
-rw-r--r--graphics/pokemon/nidorina/back.png (renamed from graphics/pokemon/back_pics/nidorina_back_pic.png)bin693 -> 693 bytes
-rw-r--r--graphics/pokemon/nidorina/footprint.png (renamed from graphics/pokemon/footprints/nidorina_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/nidorina/front.png (renamed from graphics/pokemon/front_pics/nidorina_still_front_pic.png)bin648 -> 648 bytes
-rw-r--r--graphics/pokemon/nidorina/icon.png (renamed from graphics/pokemon/icons/nidorina_icon.png)bin325 -> 325 bytes
-rw-r--r--graphics/pokemon/nidorina/normal.pal (renamed from graphics/pokemon/palettes/nidorina_palette.pal)0
-rw-r--r--graphics/pokemon/nidorina/shiny.pal (renamed from graphics/pokemon/palettes/nidorina_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/nidorino/anim_front.png (renamed from graphics/pokemon/anim_front_pics/nidorino_front_pic.png)bin1277 -> 1277 bytes
-rw-r--r--graphics/pokemon/nidorino/back.png (renamed from graphics/pokemon/back_pics/nidorino_back_pic.png)bin741 -> 741 bytes
-rw-r--r--graphics/pokemon/nidorino/footprint.png (renamed from graphics/pokemon/footprints/nidorino_footprint.png)bin100 -> 100 bytes
-rw-r--r--graphics/pokemon/nidorino/front.png (renamed from graphics/pokemon/front_pics/nidorino_still_front_pic.png)bin728 -> 728 bytes
-rw-r--r--graphics/pokemon/nidorino/icon.png (renamed from graphics/pokemon/icons/nidorino_icon.png)bin324 -> 324 bytes
-rw-r--r--graphics/pokemon/nidorino/normal.pal (renamed from graphics/pokemon/palettes/nidorino_palette.pal)0
-rw-r--r--graphics/pokemon/nidorino/shiny.pal (renamed from graphics/pokemon/palettes/nidorino_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/nincada/anim_front.png (renamed from graphics/pokemon/anim_front_pics/nincada_front_pic.png)bin857 -> 857 bytes
-rw-r--r--graphics/pokemon/nincada/back.png (renamed from graphics/pokemon/back_pics/nincada_back_pic.png)bin576 -> 576 bytes
-rw-r--r--graphics/pokemon/nincada/footprint.png (renamed from graphics/pokemon/footprints/nincada_footprint.png)bin92 -> 92 bytes
-rw-r--r--graphics/pokemon/nincada/front.png (renamed from graphics/pokemon/front_pics/nincada_still_front_pic.png)bin578 -> 578 bytes
-rw-r--r--graphics/pokemon/nincada/icon.png (renamed from graphics/pokemon/icons/nincada_icon.png)bin352 -> 352 bytes
-rw-r--r--graphics/pokemon/nincada/normal.pal (renamed from graphics/pokemon/palettes/nincada_palette.pal)0
-rw-r--r--graphics/pokemon/nincada/shiny.pal (renamed from graphics/pokemon/palettes/nincada_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/ninetales/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ninetales_front_pic.png)bin1453 -> 1453 bytes
-rw-r--r--graphics/pokemon/ninetales/back.png (renamed from graphics/pokemon/back_pics/ninetales_back_pic.png)bin680 -> 680 bytes
-rw-r--r--graphics/pokemon/ninetales/footprint.png (renamed from graphics/pokemon/footprints/ninetales_footprint.png)bin96 -> 96 bytes
-rw-r--r--graphics/pokemon/ninetales/front.png (renamed from graphics/pokemon/front_pics/ninetales_still_front_pic.png)bin839 -> 839 bytes
-rw-r--r--graphics/pokemon/ninetales/icon.png (renamed from graphics/pokemon/icons/ninetales_icon.png)bin421 -> 421 bytes
-rw-r--r--graphics/pokemon/ninetales/normal.pal (renamed from graphics/pokemon/palettes/ninetales_palette.pal)0
-rw-r--r--graphics/pokemon/ninetales/shiny.pal (renamed from graphics/pokemon/palettes/ninetales_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/ninjask/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ninjask_front_pic.png)bin1014 -> 1014 bytes
-rw-r--r--graphics/pokemon/ninjask/back.png (renamed from graphics/pokemon/back_pics/ninjask_back_pic.png)bin797 -> 797 bytes
-rw-r--r--graphics/pokemon/ninjask/footprint.png (renamed from graphics/pokemon/footprints/ninjask_footprint.png)bin91 -> 91 bytes
-rw-r--r--graphics/pokemon/ninjask/front.png (renamed from graphics/pokemon/front_pics/ninjask_still_front_pic.png)bin740 -> 740 bytes
-rw-r--r--graphics/pokemon/ninjask/icon.png (renamed from graphics/pokemon/icons/ninjask_icon.png)bin324 -> 324 bytes
-rw-r--r--graphics/pokemon/ninjask/normal.pal (renamed from graphics/pokemon/palettes/ninjask_palette.pal)0
-rw-r--r--graphics/pokemon/ninjask/shiny.pal (renamed from graphics/pokemon/palettes/ninjask_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/noctowl/anim_front.png (renamed from graphics/pokemon/anim_front_pics/noctowl_front_pic.png)bin1283 -> 1283 bytes
-rw-r--r--graphics/pokemon/noctowl/back.png (renamed from graphics/pokemon/back_pics/noctowl_back_pic.png)bin659 -> 659 bytes
-rw-r--r--graphics/pokemon/noctowl/footprint.png (renamed from graphics/pokemon/footprints/noctowl_footprint.png)bin101 -> 101 bytes
-rw-r--r--graphics/pokemon/noctowl/front.png (renamed from graphics/pokemon/front_pics/noctowl_still_front_pic.png)bin700 -> 700 bytes
-rw-r--r--graphics/pokemon/noctowl/icon.png (renamed from graphics/pokemon/icons/noctowl_icon.png)bin362 -> 362 bytes
-rw-r--r--graphics/pokemon/noctowl/normal.pal (renamed from graphics/pokemon/palettes/noctowl_palette.pal)0
-rw-r--r--graphics/pokemon/noctowl/shiny.pal (renamed from graphics/pokemon/palettes/noctowl_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/nosepass/anim_front.png (renamed from graphics/pokemon/anim_front_pics/nosepass_front_pic.png)bin949 -> 949 bytes
-rw-r--r--graphics/pokemon/nosepass/back.png (renamed from graphics/pokemon/back_pics/nosepass_back_pic.png)bin517 -> 517 bytes
-rw-r--r--graphics/pokemon/nosepass/footprint.png (renamed from graphics/pokemon/footprints/nosepass_footprint.png)bin96 -> 96 bytes
-rw-r--r--graphics/pokemon/nosepass/front.png (renamed from graphics/pokemon/front_pics/nosepass_still_front_pic.png)bin565 -> 565 bytes
-rw-r--r--graphics/pokemon/nosepass/icon.png (renamed from graphics/pokemon/icons/nosepass_icon.png)bin282 -> 282 bytes
-rw-r--r--graphics/pokemon/nosepass/normal.pal (renamed from graphics/pokemon/palettes/nosepass_palette.pal)0
-rw-r--r--graphics/pokemon/nosepass/shiny.pal (renamed from graphics/pokemon/palettes/nosepass_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/numel/anim_front.png (renamed from graphics/pokemon/anim_front_pics/numel_front_pic.png)bin835 -> 835 bytes
-rw-r--r--graphics/pokemon/numel/back.png (renamed from graphics/pokemon/back_pics/numel_back_pic.png)bin573 -> 573 bytes
-rw-r--r--graphics/pokemon/numel/footprint.png (renamed from graphics/pokemon/footprints/numel_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/numel/front.png (renamed from graphics/pokemon/front_pics/numel_still_front_pic.png)bin574 -> 574 bytes
-rw-r--r--graphics/pokemon/numel/icon.png (renamed from graphics/pokemon/icons/numel_icon.png)bin301 -> 301 bytes
-rw-r--r--graphics/pokemon/numel/normal.pal (renamed from graphics/pokemon/palettes/numel_palette.pal)0
-rw-r--r--graphics/pokemon/numel/shiny.pal (renamed from graphics/pokemon/palettes/numel_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/nuzleaf/anim_front.png (renamed from graphics/pokemon/anim_front_pics/nuzleaf_front_pic.png)bin887 -> 887 bytes
-rw-r--r--graphics/pokemon/nuzleaf/back.png (renamed from graphics/pokemon/back_pics/nuzleaf_back_pic.png)bin583 -> 583 bytes
-rw-r--r--graphics/pokemon/nuzleaf/footprint.png (renamed from graphics/pokemon/footprints/nuzleaf_footprint.png)bin101 -> 101 bytes
-rw-r--r--graphics/pokemon/nuzleaf/front.png (renamed from graphics/pokemon/front_pics/nuzleaf_still_front_pic.png)bin624 -> 624 bytes
-rw-r--r--graphics/pokemon/nuzleaf/icon.png (renamed from graphics/pokemon/icons/nuzleaf_icon.png)bin342 -> 342 bytes
-rw-r--r--graphics/pokemon/nuzleaf/normal.pal (renamed from graphics/pokemon/palettes/nuzleaf_palette.pal)0
-rw-r--r--graphics/pokemon/nuzleaf/shiny.pal (renamed from graphics/pokemon/palettes/nuzleaf_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/octillery/anim_front.png (renamed from graphics/pokemon/anim_front_pics/octillery_front_pic.png)bin1019 -> 1019 bytes
-rw-r--r--graphics/pokemon/octillery/back.png (renamed from graphics/pokemon/back_pics/octillery_back_pic.png)bin558 -> 558 bytes
-rw-r--r--graphics/pokemon/octillery/footprint.png (renamed from graphics/pokemon/footprints/octillery_footprint.png)bin101 -> 101 bytes
-rw-r--r--graphics/pokemon/octillery/front.png (renamed from graphics/pokemon/front_pics/octillery_still_front_pic.png)bin653 -> 653 bytes
-rw-r--r--graphics/pokemon/octillery/icon.png (renamed from graphics/pokemon/icons/octillery_icon.png)bin349 -> 349 bytes
-rw-r--r--graphics/pokemon/octillery/normal.pal (renamed from graphics/pokemon/palettes/octillery_palette.pal)0
-rw-r--r--graphics/pokemon/octillery/shiny.pal (renamed from graphics/pokemon/palettes/octillery_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/oddish/anim_front.png (renamed from graphics/pokemon/anim_front_pics/oddish_front_pic.png)bin634 -> 634 bytes
-rw-r--r--graphics/pokemon/oddish/back.png (renamed from graphics/pokemon/back_pics/oddish_back_pic.png)bin497 -> 497 bytes
-rw-r--r--graphics/pokemon/oddish/footprint.png (renamed from graphics/pokemon/footprints/oddish_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/oddish/front.png (renamed from graphics/pokemon/front_pics/oddish_still_front_pic.png)bin435 -> 435 bytes
-rw-r--r--graphics/pokemon/oddish/icon.png (renamed from graphics/pokemon/icons/oddish_icon.png)bin284 -> 284 bytes
-rw-r--r--graphics/pokemon/oddish/normal.pal (renamed from graphics/pokemon/palettes/oddish_palette.pal)0
-rw-r--r--graphics/pokemon/oddish/shiny.pal (renamed from graphics/pokemon/palettes/oddish_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/omanyte/anim_front.png (renamed from graphics/pokemon/anim_front_pics/omanyte_front_pic.png)bin690 -> 690 bytes
-rw-r--r--graphics/pokemon/omanyte/back.png (renamed from graphics/pokemon/back_pics/omanyte_back_pic.png)bin661 -> 661 bytes
-rw-r--r--graphics/pokemon/omanyte/footprint.png (renamed from graphics/pokemon/footprints/omanyte_footprint.png)bin80 -> 80 bytes
-rw-r--r--graphics/pokemon/omanyte/front.png (renamed from graphics/pokemon/front_pics/omanyte_still_front_pic.png)bin540 -> 540 bytes
-rw-r--r--graphics/pokemon/omanyte/icon.png (renamed from graphics/pokemon/icons/omanyte_icon.png)bin308 -> 308 bytes
-rw-r--r--graphics/pokemon/omanyte/normal.pal (renamed from graphics/pokemon/palettes/omanyte_palette.pal)0
-rw-r--r--graphics/pokemon/omanyte/shiny.pal (renamed from graphics/pokemon/palettes/omanyte_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/omastar/anim_front.png (renamed from graphics/pokemon/anim_front_pics/omastar_front_pic.png)bin1179 -> 1179 bytes
-rw-r--r--graphics/pokemon/omastar/back.png (renamed from graphics/pokemon/back_pics/omastar_back_pic.png)bin634 -> 634 bytes
-rw-r--r--graphics/pokemon/omastar/footprint.png (renamed from graphics/pokemon/footprints/omastar_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/omastar/front.png (renamed from graphics/pokemon/front_pics/omastar_still_front_pic.png)bin783 -> 783 bytes
-rw-r--r--graphics/pokemon/omastar/icon.png (renamed from graphics/pokemon/icons/omastar_icon.png)bin350 -> 350 bytes
-rw-r--r--graphics/pokemon/omastar/normal.pal (renamed from graphics/pokemon/palettes/omastar_palette.pal)0
-rw-r--r--graphics/pokemon/omastar/shiny.pal (renamed from graphics/pokemon/palettes/omastar_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/onix/anim_front.png (renamed from graphics/pokemon/anim_front_pics/onix_front_pic.png)bin1554 -> 1554 bytes
-rw-r--r--graphics/pokemon/onix/back.png (renamed from graphics/pokemon/back_pics/onix_back_pic.png)bin696 -> 696 bytes
-rw-r--r--graphics/pokemon/onix/footprint.png (renamed from graphics/pokemon/footprints/onix_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/onix/front.png (renamed from graphics/pokemon/front_pics/onix_still_front_pic.png)bin876 -> 876 bytes
-rw-r--r--graphics/pokemon/onix/icon.png (renamed from graphics/pokemon/icons/onix_icon.png)bin456 -> 456 bytes
-rw-r--r--graphics/pokemon/onix/normal.pal (renamed from graphics/pokemon/palettes/onix_palette.pal)0
-rw-r--r--graphics/pokemon/onix/shiny.pal (renamed from graphics/pokemon/palettes/onix_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/paras/anim_front.png (renamed from graphics/pokemon/anim_front_pics/paras_front_pic.png)bin797 -> 797 bytes
-rw-r--r--graphics/pokemon/paras/back.png (renamed from graphics/pokemon/back_pics/paras_back_pic.png)bin509 -> 509 bytes
-rw-r--r--graphics/pokemon/paras/footprint.png (renamed from graphics/pokemon/footprints/paras_footprint.png)bin83 -> 83 bytes
-rw-r--r--graphics/pokemon/paras/front.png (renamed from graphics/pokemon/front_pics/paras_still_front_pic.png)bin510 -> 510 bytes
-rw-r--r--graphics/pokemon/paras/icon.png (renamed from graphics/pokemon/icons/paras_icon.png)bin387 -> 387 bytes
-rw-r--r--graphics/pokemon/paras/normal.pal (renamed from graphics/pokemon/palettes/paras_palette.pal)0
-rw-r--r--graphics/pokemon/paras/shiny.pal (renamed from graphics/pokemon/palettes/paras_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/parasect/anim_front.png (renamed from graphics/pokemon/anim_front_pics/parasect_front_pic.png)bin1137 -> 1137 bytes
-rw-r--r--graphics/pokemon/parasect/back.png (renamed from graphics/pokemon/back_pics/parasect_back_pic.png)bin602 -> 602 bytes
-rw-r--r--graphics/pokemon/parasect/footprint.png (renamed from graphics/pokemon/footprints/parasect_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/parasect/front.png (renamed from graphics/pokemon/front_pics/parasect_still_front_pic.png)bin757 -> 757 bytes
-rw-r--r--graphics/pokemon/parasect/icon.png (renamed from graphics/pokemon/icons/parasect_icon.png)bin329 -> 329 bytes
-rw-r--r--graphics/pokemon/parasect/normal.pal (renamed from graphics/pokemon/palettes/parasect_palette.pal)0
-rw-r--r--graphics/pokemon/parasect/shiny.pal (renamed from graphics/pokemon/palettes/parasect_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/pelipper/anim_front.png (renamed from graphics/pokemon/anim_front_pics/pelipper_front_pic.png)bin1187 -> 1187 bytes
-rw-r--r--graphics/pokemon/pelipper/back.png (renamed from graphics/pokemon/back_pics/pelipper_back_pic.png)bin737 -> 737 bytes
-rw-r--r--graphics/pokemon/pelipper/footprint.png (renamed from graphics/pokemon/footprints/pelipper_footprint.png)bin102 -> 102 bytes
-rw-r--r--graphics/pokemon/pelipper/front.png (renamed from graphics/pokemon/front_pics/pelipper_still_front_pic.png)bin771 -> 771 bytes
-rw-r--r--graphics/pokemon/pelipper/icon.png (renamed from graphics/pokemon/icons/pelipper_icon.png)bin374 -> 374 bytes
-rw-r--r--graphics/pokemon/pelipper/normal.pal (renamed from graphics/pokemon/palettes/pelipper_palette.pal)0
-rw-r--r--graphics/pokemon/pelipper/shiny.pal (renamed from graphics/pokemon/palettes/pelipper_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/persian/anim_front.png (renamed from graphics/pokemon/anim_front_pics/persian_front_pic.png)bin1342 -> 1342 bytes
-rw-r--r--graphics/pokemon/persian/back.png (renamed from graphics/pokemon/back_pics/persian_back_pic.png)bin705 -> 705 bytes
-rw-r--r--graphics/pokemon/persian/footprint.png (renamed from graphics/pokemon/footprints/persian_footprint.png)bin98 -> 98 bytes
-rw-r--r--graphics/pokemon/persian/front.png (renamed from graphics/pokemon/front_pics/persian_still_front_pic.png)bin750 -> 750 bytes
-rw-r--r--graphics/pokemon/persian/icon.png (renamed from graphics/pokemon/icons/persian_icon.png)bin328 -> 328 bytes
-rw-r--r--graphics/pokemon/persian/normal.pal (renamed from graphics/pokemon/palettes/persian_palette.pal)0
-rw-r--r--graphics/pokemon/persian/shiny.pal (renamed from graphics/pokemon/palettes/persian_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/phanpy/anim_front.png (renamed from graphics/pokemon/anim_front_pics/phanpy_front_pic.png)bin760 -> 760 bytes
-rw-r--r--graphics/pokemon/phanpy/back.png (renamed from graphics/pokemon/back_pics/phanpy_back_pic.png)bin541 -> 541 bytes
-rw-r--r--graphics/pokemon/phanpy/footprint.png (renamed from graphics/pokemon/footprints/phanpy_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/phanpy/front.png (renamed from graphics/pokemon/front_pics/phanpy_still_front_pic.png)bin462 -> 462 bytes
-rw-r--r--graphics/pokemon/phanpy/icon.png (renamed from graphics/pokemon/icons/phanpy_icon.png)bin371 -> 371 bytes
-rw-r--r--graphics/pokemon/phanpy/normal.pal (renamed from graphics/pokemon/palettes/phanpy_palette.pal)0
-rw-r--r--graphics/pokemon/phanpy/shiny.pal (renamed from graphics/pokemon/palettes/phanpy_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/pichu/anim_front.png (renamed from graphics/pokemon/anim_front_pics/pichu_front_pic.png)bin621 -> 621 bytes
-rw-r--r--graphics/pokemon/pichu/back.png (renamed from graphics/pokemon/back_pics/pichu_back_pic.png)bin495 -> 495 bytes
-rw-r--r--graphics/pokemon/pichu/footprint.png (renamed from graphics/pokemon/footprints/pichu_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/pichu/front.png (renamed from graphics/pokemon/front_pics/pichu_still_front_pic.png)bin447 -> 447 bytes
-rw-r--r--graphics/pokemon/pichu/icon.png (renamed from graphics/pokemon/icons/pichu_icon.png)bin281 -> 281 bytes
-rw-r--r--graphics/pokemon/pichu/normal.pal (renamed from graphics/pokemon/palettes/pichu_palette.pal)0
-rw-r--r--graphics/pokemon/pichu/shiny.pal (renamed from graphics/pokemon/palettes/pichu_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/pidgeot/anim_front.png (renamed from graphics/pokemon/anim_front_pics/pidgeot_front_pic.png)bin1697 -> 1697 bytes
-rw-r--r--graphics/pokemon/pidgeot/back.png (renamed from graphics/pokemon/back_pics/pidgeot_back_pic.png)bin729 -> 729 bytes
-rw-r--r--graphics/pokemon/pidgeot/footprint.png (renamed from graphics/pokemon/footprints/pidgeot_footprint.png)bin100 -> 100 bytes
-rw-r--r--graphics/pokemon/pidgeot/front.png (renamed from graphics/pokemon/front_pics/pidgeot_still_front_pic.png)bin1085 -> 1085 bytes
-rw-r--r--graphics/pokemon/pidgeot/icon.png (renamed from graphics/pokemon/icons/pidgeot_icon.png)bin456 -> 456 bytes
-rw-r--r--graphics/pokemon/pidgeot/normal.pal (renamed from graphics/pokemon/palettes/pidgeot_palette.pal)0
-rw-r--r--graphics/pokemon/pidgeot/shiny.pal (renamed from graphics/pokemon/palettes/pidgeot_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/pidgeotto/anim_front.png (renamed from graphics/pokemon/anim_front_pics/pidgeotto_front_pic.png)bin1321 -> 1321 bytes
-rw-r--r--graphics/pokemon/pidgeotto/back.png (renamed from graphics/pokemon/back_pics/pidgeotto_back_pic.png)bin673 -> 673 bytes
-rw-r--r--graphics/pokemon/pidgeotto/footprint.png (renamed from graphics/pokemon/footprints/pidgeotto_footprint.png)bin93 -> 93 bytes
-rw-r--r--graphics/pokemon/pidgeotto/front.png (renamed from graphics/pokemon/front_pics/pidgeotto_still_front_pic.png)bin729 -> 729 bytes
-rw-r--r--graphics/pokemon/pidgeotto/icon.png (renamed from graphics/pokemon/icons/pidgeotto_icon.png)bin387 -> 387 bytes
-rw-r--r--graphics/pokemon/pidgeotto/normal.pal (renamed from graphics/pokemon/palettes/pidgeotto_palette.pal)0
-rw-r--r--graphics/pokemon/pidgeotto/shiny.pal (renamed from graphics/pokemon/palettes/pidgeotto_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/pidgey/anim_front.png (renamed from graphics/pokemon/anim_front_pics/pidgey_front_pic.png)bin936 -> 936 bytes
-rw-r--r--graphics/pokemon/pidgey/back.png (renamed from graphics/pokemon/back_pics/pidgey_back_pic.png)bin702 -> 702 bytes
-rw-r--r--graphics/pokemon/pidgey/footprint.png (renamed from graphics/pokemon/footprints/pidgey_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/pidgey/front.png (renamed from graphics/pokemon/front_pics/pidgey_still_front_pic.png)bin631 -> 631 bytes
-rw-r--r--graphics/pokemon/pidgey/icon.png (renamed from graphics/pokemon/icons/pidgey_icon.png)bin364 -> 364 bytes
-rw-r--r--graphics/pokemon/pidgey/normal.pal (renamed from graphics/pokemon/palettes/pidgey_palette.pal)0
-rw-r--r--graphics/pokemon/pidgey/shiny.pal (renamed from graphics/pokemon/palettes/pidgey_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/pikachu/anim_front.png (renamed from graphics/pokemon/anim_front_pics/pikachu_front_pic.png)bin937 -> 937 bytes
-rw-r--r--graphics/pokemon/pikachu/back.png (renamed from graphics/pokemon/back_pics/pikachu_back_pic.png)bin587 -> 587 bytes
-rw-r--r--graphics/pokemon/pikachu/footprint.png (renamed from graphics/pokemon/footprints/pikachu_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/pikachu/front.png (renamed from graphics/pokemon/front_pics/pikachu_still_front_pic.png)bin600 -> 600 bytes
-rw-r--r--graphics/pokemon/pikachu/icon.png (renamed from graphics/pokemon/icons/pikachu_icon.png)bin353 -> 353 bytes
-rw-r--r--graphics/pokemon/pikachu/normal.pal (renamed from graphics/pokemon/palettes/pikachu_palette.pal)0
-rw-r--r--graphics/pokemon/pikachu/shiny.pal (renamed from graphics/pokemon/palettes/pikachu_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/piloswine/anim_front.png (renamed from graphics/pokemon/anim_front_pics/piloswine_front_pic.png)bin895 -> 895 bytes
-rw-r--r--graphics/pokemon/piloswine/back.png (renamed from graphics/pokemon/back_pics/piloswine_back_pic.png)bin436 -> 436 bytes
-rw-r--r--graphics/pokemon/piloswine/footprint.png (renamed from graphics/pokemon/footprints/piloswine_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/piloswine/front.png (renamed from graphics/pokemon/front_pics/piloswine_still_front_pic.png)bin643 -> 643 bytes
-rw-r--r--graphics/pokemon/piloswine/icon.png (renamed from graphics/pokemon/icons/piloswine_icon.png)bin341 -> 341 bytes
-rw-r--r--graphics/pokemon/piloswine/normal.pal (renamed from graphics/pokemon/palettes/piloswine_palette.pal)0
-rw-r--r--graphics/pokemon/piloswine/shiny.pal (renamed from graphics/pokemon/palettes/piloswine_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/pineco/anim_front.png (renamed from graphics/pokemon/anim_front_pics/pineco_front_pic.png)bin717 -> 717 bytes
-rw-r--r--graphics/pokemon/pineco/back.png (renamed from graphics/pokemon/back_pics/pineco_back_pic.png)bin520 -> 520 bytes
-rw-r--r--graphics/pokemon/pineco/footprint.png (renamed from graphics/pokemon/footprints/pineco_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/pineco/front.png (renamed from graphics/pokemon/front_pics/pineco_still_front_pic.png)bin646 -> 646 bytes
-rw-r--r--graphics/pokemon/pineco/icon.png (renamed from graphics/pokemon/icons/pineco_icon.png)bin290 -> 290 bytes
-rw-r--r--graphics/pokemon/pineco/normal.pal (renamed from graphics/pokemon/palettes/pineco_palette.pal)0
-rw-r--r--graphics/pokemon/pineco/shiny.pal (renamed from graphics/pokemon/palettes/pineco_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/pinsir/anim_front.png (renamed from graphics/pokemon/anim_front_pics/pinsir_front_pic.png)bin1460 -> 1460 bytes
-rw-r--r--graphics/pokemon/pinsir/back.png (renamed from graphics/pokemon/back_pics/pinsir_back_pic.png)bin657 -> 657 bytes
-rw-r--r--graphics/pokemon/pinsir/footprint.png (renamed from graphics/pokemon/footprints/pinsir_footprint.png)bin93 -> 93 bytes
-rw-r--r--graphics/pokemon/pinsir/front.png (renamed from graphics/pokemon/front_pics/pinsir_still_front_pic.png)bin845 -> 845 bytes
-rw-r--r--graphics/pokemon/pinsir/icon.png (renamed from graphics/pokemon/icons/pinsir_icon.png)bin334 -> 334 bytes
-rw-r--r--graphics/pokemon/pinsir/normal.pal (renamed from graphics/pokemon/palettes/pinsir_palette.pal)0
-rw-r--r--graphics/pokemon/pinsir/shiny.pal (renamed from graphics/pokemon/palettes/pinsir_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/plusle/anim_front.png (renamed from graphics/pokemon/anim_front_pics/plusle_front_pic.png)bin830 -> 830 bytes
-rw-r--r--graphics/pokemon/plusle/back.png (renamed from graphics/pokemon/back_pics/plusle_back_pic.png)bin568 -> 568 bytes
-rw-r--r--graphics/pokemon/plusle/footprint.png (renamed from graphics/pokemon/footprints/plusle_footprint.png)bin86 -> 86 bytes
-rw-r--r--graphics/pokemon/plusle/front.png (renamed from graphics/pokemon/front_pics/plusle_still_front_pic.png)bin524 -> 524 bytes
-rw-r--r--graphics/pokemon/plusle/icon.png (renamed from graphics/pokemon/icons/plusle_icon.png)bin303 -> 303 bytes
-rw-r--r--graphics/pokemon/plusle/normal.pal (renamed from graphics/pokemon/palettes/plusle_palette.pal)0
-rw-r--r--graphics/pokemon/plusle/shiny.pal (renamed from graphics/pokemon/palettes/plusle_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/politoed/anim_front.png (renamed from graphics/pokemon/anim_front_pics/politoed_front_pic.png)bin1191 -> 1191 bytes
-rw-r--r--graphics/pokemon/politoed/back.png (renamed from graphics/pokemon/back_pics/politoed_back_pic.png)bin565 -> 565 bytes
-rw-r--r--graphics/pokemon/politoed/footprint.png (renamed from graphics/pokemon/footprints/politoed_footprint.png)bin95 -> 95 bytes
-rw-r--r--graphics/pokemon/politoed/front.png (renamed from graphics/pokemon/front_pics/politoed_still_front_pic.png)bin706 -> 706 bytes
-rw-r--r--graphics/pokemon/politoed/icon.png (renamed from graphics/pokemon/icons/politoed_icon.png)bin428 -> 428 bytes
-rw-r--r--graphics/pokemon/politoed/normal.pal (renamed from graphics/pokemon/palettes/politoed_palette.pal)0
-rw-r--r--graphics/pokemon/politoed/shiny.pal (renamed from graphics/pokemon/palettes/politoed_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/poliwag/anim_front.png (renamed from graphics/pokemon/anim_front_pics/poliwag_front_pic.png)bin829 -> 829 bytes
-rw-r--r--graphics/pokemon/poliwag/back.png (renamed from graphics/pokemon/back_pics/poliwag_back_pic.png)bin469 -> 469 bytes
-rw-r--r--graphics/pokemon/poliwag/footprint.png (renamed from graphics/pokemon/footprints/poliwag_footprint.png)bin86 -> 86 bytes
-rw-r--r--graphics/pokemon/poliwag/front.png (renamed from graphics/pokemon/front_pics/poliwag_still_front_pic.png)bin516 -> 516 bytes
-rw-r--r--graphics/pokemon/poliwag/icon.png (renamed from graphics/pokemon/icons/poliwag_icon.png)bin339 -> 339 bytes
-rw-r--r--graphics/pokemon/poliwag/normal.pal (renamed from graphics/pokemon/palettes/poliwag_palette.pal)0
-rw-r--r--graphics/pokemon/poliwag/shiny.pal (renamed from graphics/pokemon/palettes/poliwag_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/poliwhirl/anim_front.png (renamed from graphics/pokemon/anim_front_pics/poliwhirl_front_pic.png)bin1073 -> 1073 bytes
-rw-r--r--graphics/pokemon/poliwhirl/back.png (renamed from graphics/pokemon/back_pics/poliwhirl_back_pic.png)bin552 -> 552 bytes
-rw-r--r--graphics/pokemon/poliwhirl/footprint.png (renamed from graphics/pokemon/footprints/poliwhirl_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/poliwhirl/front.png (renamed from graphics/pokemon/front_pics/poliwhirl_still_front_pic.png)bin758 -> 758 bytes
-rw-r--r--graphics/pokemon/poliwhirl/icon.png (renamed from graphics/pokemon/icons/poliwhirl_icon.png)bin349 -> 349 bytes
-rw-r--r--graphics/pokemon/poliwhirl/normal.pal (renamed from graphics/pokemon/palettes/poliwhirl_palette.pal)0
-rw-r--r--graphics/pokemon/poliwhirl/shiny.pal (renamed from graphics/pokemon/palettes/poliwhirl_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/poliwrath/anim_front.png (renamed from graphics/pokemon/anim_front_pics/poliwrath_front_pic.png)bin1201 -> 1201 bytes
-rw-r--r--graphics/pokemon/poliwrath/back.png (renamed from graphics/pokemon/back_pics/poliwrath_back_pic.png)bin638 -> 638 bytes
-rw-r--r--graphics/pokemon/poliwrath/footprint.png (renamed from graphics/pokemon/footprints/poliwrath_footprint.png)bin92 -> 92 bytes
-rw-r--r--graphics/pokemon/poliwrath/front.png (renamed from graphics/pokemon/front_pics/poliwrath_still_front_pic.png)bin763 -> 763 bytes
-rw-r--r--graphics/pokemon/poliwrath/icon.png (renamed from graphics/pokemon/icons/poliwrath_icon.png)bin389 -> 389 bytes
-rw-r--r--graphics/pokemon/poliwrath/normal.pal (renamed from graphics/pokemon/palettes/poliwrath_palette.pal)0
-rw-r--r--graphics/pokemon/poliwrath/shiny.pal (renamed from graphics/pokemon/palettes/poliwrath_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/ponyta/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ponyta_front_pic.png)bin1348 -> 1348 bytes
-rw-r--r--graphics/pokemon/ponyta/back.png (renamed from graphics/pokemon/back_pics/ponyta_back_pic.png)bin680 -> 680 bytes
-rw-r--r--graphics/pokemon/ponyta/footprint.png (renamed from graphics/pokemon/footprints/ponyta_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/ponyta/front.png (renamed from graphics/pokemon/front_pics/ponyta_still_front_pic.png)bin772 -> 772 bytes
-rw-r--r--graphics/pokemon/ponyta/icon.png (renamed from graphics/pokemon/icons/ponyta_icon.png)bin457 -> 457 bytes
-rw-r--r--graphics/pokemon/ponyta/normal.pal (renamed from graphics/pokemon/palettes/ponyta_palette.pal)0
-rw-r--r--graphics/pokemon/ponyta/shiny.pal (renamed from graphics/pokemon/palettes/ponyta_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/poochyena/anim_front.png (renamed from graphics/pokemon/anim_front_pics/poochyena_front_pic.png)bin980 -> 980 bytes
-rw-r--r--graphics/pokemon/poochyena/back.png (renamed from graphics/pokemon/back_pics/poochyena_back_pic.png)bin676 -> 676 bytes
-rw-r--r--graphics/pokemon/poochyena/footprint.png (renamed from graphics/pokemon/footprints/poochyena_footprint.png)bin107 -> 107 bytes
-rw-r--r--graphics/pokemon/poochyena/front.png (renamed from graphics/pokemon/front_pics/poochyena_still_front_pic.png)bin607 -> 607 bytes
-rw-r--r--graphics/pokemon/poochyena/icon.png (renamed from graphics/pokemon/icons/poochyena_icon.png)bin360 -> 360 bytes
-rw-r--r--graphics/pokemon/poochyena/normal.pal (renamed from graphics/pokemon/palettes/poochyena_palette.pal)0
-rw-r--r--graphics/pokemon/poochyena/shiny.pal (renamed from graphics/pokemon/palettes/poochyena_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/porygon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/porygon_front_pic.png)bin819 -> 819 bytes
-rw-r--r--graphics/pokemon/porygon/back.png (renamed from graphics/pokemon/back_pics/porygon_back_pic.png)bin537 -> 537 bytes
-rw-r--r--graphics/pokemon/porygon/footprint.png (renamed from graphics/pokemon/footprints/porygon_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/porygon/front.png (renamed from graphics/pokemon/front_pics/porygon_still_front_pic.png)bin544 -> 544 bytes
-rw-r--r--graphics/pokemon/porygon/icon.png (renamed from graphics/pokemon/icons/porygon_icon.png)bin386 -> 386 bytes
-rw-r--r--graphics/pokemon/porygon/normal.pal (renamed from graphics/pokemon/palettes/porygon_palette.pal)0
-rw-r--r--graphics/pokemon/porygon/shiny.pal (renamed from graphics/pokemon/palettes/porygon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/porygon2/anim_front.png (renamed from graphics/pokemon/anim_front_pics/porygon2_front_pic.png)bin800 -> 800 bytes
-rw-r--r--graphics/pokemon/porygon2/back.png (renamed from graphics/pokemon/back_pics/porygon2_back_pic.png)bin656 -> 656 bytes
-rw-r--r--graphics/pokemon/porygon2/footprint.png (renamed from graphics/pokemon/footprints/porygon2_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/porygon2/front.png (renamed from graphics/pokemon/front_pics/porygon2_still_front_pic.png)bin541 -> 541 bytes
-rw-r--r--graphics/pokemon/porygon2/icon.png (renamed from graphics/pokemon/icons/porygon2_icon.png)bin341 -> 341 bytes
-rw-r--r--graphics/pokemon/porygon2/normal.pal (renamed from graphics/pokemon/palettes/porygon2_palette.pal)0
-rw-r--r--graphics/pokemon/porygon2/shiny.pal (renamed from graphics/pokemon/palettes/porygon2_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/primeape/anim_front.png (renamed from graphics/pokemon/anim_front_pics/primeape_front_pic.png)bin1309 -> 1309 bytes
-rw-r--r--graphics/pokemon/primeape/back.png (renamed from graphics/pokemon/back_pics/primeape_back_pic.png)bin714 -> 714 bytes
-rw-r--r--graphics/pokemon/primeape/footprint.png (renamed from graphics/pokemon/footprints/primeape_footprint.png)bin99 -> 99 bytes
-rw-r--r--graphics/pokemon/primeape/front.png (renamed from graphics/pokemon/front_pics/primeape_still_front_pic.png)bin797 -> 797 bytes
-rw-r--r--graphics/pokemon/primeape/icon.png (renamed from graphics/pokemon/icons/primeape_icon.png)bin370 -> 370 bytes
-rw-r--r--graphics/pokemon/primeape/normal.pal (renamed from graphics/pokemon/palettes/primeape_palette.pal)0
-rw-r--r--graphics/pokemon/primeape/shiny.pal (renamed from graphics/pokemon/palettes/primeape_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/psyduck/anim_front.png (renamed from graphics/pokemon/anim_front_pics/psyduck_front_pic.png)bin962 -> 962 bytes
-rw-r--r--graphics/pokemon/psyduck/back.png (renamed from graphics/pokemon/back_pics/psyduck_back_pic.png)bin534 -> 534 bytes
-rw-r--r--graphics/pokemon/psyduck/footprint.png (renamed from graphics/pokemon/footprints/psyduck_footprint.png)bin95 -> 95 bytes
-rw-r--r--graphics/pokemon/psyduck/front.png (renamed from graphics/pokemon/front_pics/psyduck_still_front_pic.png)bin571 -> 571 bytes
-rw-r--r--graphics/pokemon/psyduck/icon.png (renamed from graphics/pokemon/icons/psyduck_icon.png)bin329 -> 329 bytes
-rw-r--r--graphics/pokemon/psyduck/normal.pal (renamed from graphics/pokemon/palettes/psyduck_palette.pal)0
-rw-r--r--graphics/pokemon/psyduck/shiny.pal (renamed from graphics/pokemon/palettes/psyduck_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/pupitar/anim_front.png (renamed from graphics/pokemon/anim_front_pics/pupitar_front_pic.png)bin689 -> 689 bytes
-rw-r--r--graphics/pokemon/pupitar/back.png (renamed from graphics/pokemon/back_pics/pupitar_back_pic.png)bin642 -> 642 bytes
-rw-r--r--graphics/pokemon/pupitar/footprint.png (renamed from graphics/pokemon/footprints/pupitar_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/pupitar/front.png (renamed from graphics/pokemon/front_pics/pupitar_still_front_pic.png)bin594 -> 594 bytes
-rw-r--r--graphics/pokemon/pupitar/icon.png (renamed from graphics/pokemon/icons/pupitar_icon.png)bin291 -> 291 bytes
-rw-r--r--graphics/pokemon/pupitar/normal.pal (renamed from graphics/pokemon/palettes/pupitar_palette.pal)0
-rw-r--r--graphics/pokemon/pupitar/shiny.pal (renamed from graphics/pokemon/palettes/pupitar_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/quagsire/anim_front.png (renamed from graphics/pokemon/anim_front_pics/quagsire_front_pic.png)bin1206 -> 1206 bytes
-rw-r--r--graphics/pokemon/quagsire/back.png (renamed from graphics/pokemon/back_pics/quagsire_back_pic.png)bin602 -> 602 bytes
-rw-r--r--graphics/pokemon/quagsire/footprint.png (renamed from graphics/pokemon/footprints/quagsire_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/quagsire/front.png (renamed from graphics/pokemon/front_pics/quagsire_still_front_pic.png)bin706 -> 706 bytes
-rw-r--r--graphics/pokemon/quagsire/icon.png (renamed from graphics/pokemon/icons/quagsire_icon.png)bin362 -> 362 bytes
-rw-r--r--graphics/pokemon/quagsire/normal.pal (renamed from graphics/pokemon/palettes/quagsire_palette.pal)0
-rw-r--r--graphics/pokemon/quagsire/shiny.pal (renamed from graphics/pokemon/palettes/quagsire_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/question_mark/footprint.png (renamed from graphics/pokemon/footprints/question_mark_footprint.png)bin110 -> 110 bytes
-rw-r--r--graphics/pokemon/question_mark/icon.png (renamed from graphics/pokemon/icons/question_mark_icon.png)bin271 -> 271 bytes
-rw-r--r--graphics/pokemon/quilava/anim_front.png (renamed from graphics/pokemon/anim_front_pics/quilava_front_pic.png)bin1192 -> 1192 bytes
-rw-r--r--graphics/pokemon/quilava/back.png (renamed from graphics/pokemon/back_pics/quilava_back_pic.png)bin746 -> 746 bytes
-rw-r--r--graphics/pokemon/quilava/footprint.png (renamed from graphics/pokemon/footprints/quilava_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/quilava/front.png (renamed from graphics/pokemon/front_pics/quilava_still_front_pic.png)bin671 -> 671 bytes
-rw-r--r--graphics/pokemon/quilava/icon.png (renamed from graphics/pokemon/icons/quilava_icon.png)bin402 -> 402 bytes
-rw-r--r--graphics/pokemon/quilava/normal.pal (renamed from graphics/pokemon/palettes/quilava_palette.pal)0
-rw-r--r--graphics/pokemon/quilava/shiny.pal (renamed from graphics/pokemon/palettes/quilava_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/qwilfish/anim_front.png (renamed from graphics/pokemon/anim_front_pics/qwilfish_front_pic.png)bin868 -> 868 bytes
-rw-r--r--graphics/pokemon/qwilfish/back.png (renamed from graphics/pokemon/back_pics/qwilfish_back_pic.png)bin572 -> 572 bytes
-rw-r--r--graphics/pokemon/qwilfish/footprint.png (renamed from graphics/pokemon/footprints/qwilfish_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/qwilfish/front.png (renamed from graphics/pokemon/front_pics/qwilfish_still_front_pic.png)bin566 -> 566 bytes
-rw-r--r--graphics/pokemon/qwilfish/icon.png (renamed from graphics/pokemon/icons/qwilfish_icon.png)bin337 -> 337 bytes
-rw-r--r--graphics/pokemon/qwilfish/normal.pal (renamed from graphics/pokemon/palettes/qwilfish_palette.pal)0
-rw-r--r--graphics/pokemon/qwilfish/shiny.pal (renamed from graphics/pokemon/palettes/qwilfish_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/raichu/anim_front.png (renamed from graphics/pokemon/anim_front_pics/raichu_front_pic.png)bin1405 -> 1405 bytes
-rw-r--r--graphics/pokemon/raichu/back.png (renamed from graphics/pokemon/back_pics/raichu_back_pic.png)bin625 -> 625 bytes
-rw-r--r--graphics/pokemon/raichu/footprint.png (renamed from graphics/pokemon/footprints/raichu_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/raichu/front.png (renamed from graphics/pokemon/front_pics/raichu_still_front_pic.png)bin841 -> 841 bytes
-rw-r--r--graphics/pokemon/raichu/icon.png (renamed from graphics/pokemon/icons/raichu_icon.png)bin411 -> 411 bytes
-rw-r--r--graphics/pokemon/raichu/normal.pal (renamed from graphics/pokemon/palettes/raichu_palette.pal)0
-rw-r--r--graphics/pokemon/raichu/shiny.pal (renamed from graphics/pokemon/palettes/raichu_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/raikou/anim_front.png (renamed from graphics/pokemon/anim_front_pics/raikou_front_pic.png)bin2028 -> 2028 bytes
-rw-r--r--graphics/pokemon/raikou/back.png (renamed from graphics/pokemon/back_pics/raikou_back_pic.png)bin745 -> 745 bytes
-rw-r--r--graphics/pokemon/raikou/footprint.png (renamed from graphics/pokemon/footprints/raikou_footprint.png)bin95 -> 95 bytes
-rw-r--r--graphics/pokemon/raikou/front.png (renamed from graphics/pokemon/front_pics/raikou_still_front_pic.png)bin1155 -> 1155 bytes
-rw-r--r--graphics/pokemon/raikou/icon.png (renamed from graphics/pokemon/icons/raikou_icon.png)bin486 -> 486 bytes
-rw-r--r--graphics/pokemon/raikou/normal.pal (renamed from graphics/pokemon/palettes/raikou_palette.pal)0
-rw-r--r--graphics/pokemon/raikou/shiny.pal (renamed from graphics/pokemon/palettes/raikou_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/ralts/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ralts_front_pic.png)bin666 -> 666 bytes
-rw-r--r--graphics/pokemon/ralts/back.png (renamed from graphics/pokemon/back_pics/ralts_back_pic.png)bin451 -> 451 bytes
-rw-r--r--graphics/pokemon/ralts/footprint.png (renamed from graphics/pokemon/footprints/ralts_footprint.png)bin76 -> 76 bytes
-rw-r--r--graphics/pokemon/ralts/front.png (renamed from graphics/pokemon/front_pics/ralts_still_front_pic.png)bin433 -> 433 bytes
-rw-r--r--graphics/pokemon/ralts/icon.png (renamed from graphics/pokemon/icons/ralts_icon.png)bin262 -> 262 bytes
-rw-r--r--graphics/pokemon/ralts/normal.pal (renamed from graphics/pokemon/palettes/ralts_palette.pal)0
-rw-r--r--graphics/pokemon/ralts/shiny.pal (renamed from graphics/pokemon/palettes/ralts_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/rapidash/anim_front.png (renamed from graphics/pokemon/anim_front_pics/rapidash_front_pic.png)bin1871 -> 1871 bytes
-rw-r--r--graphics/pokemon/rapidash/back.png (renamed from graphics/pokemon/back_pics/rapidash_back_pic.png)bin840 -> 840 bytes
-rw-r--r--graphics/pokemon/rapidash/footprint.png (renamed from graphics/pokemon/footprints/rapidash_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/rapidash/front.png (renamed from graphics/pokemon/front_pics/rapidash_still_front_pic.png)bin991 -> 991 bytes
-rw-r--r--graphics/pokemon/rapidash/icon.png (renamed from graphics/pokemon/icons/rapidash_icon.png)bin478 -> 478 bytes
-rw-r--r--graphics/pokemon/rapidash/normal.pal (renamed from graphics/pokemon/palettes/rapidash_palette.pal)0
-rw-r--r--graphics/pokemon/rapidash/shiny.pal (renamed from graphics/pokemon/palettes/rapidash_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/raticate/anim_front.png (renamed from graphics/pokemon/anim_front_pics/raticate_front_pic.png)bin1183 -> 1183 bytes
-rw-r--r--graphics/pokemon/raticate/back.png (renamed from graphics/pokemon/back_pics/raticate_back_pic.png)bin676 -> 676 bytes
-rw-r--r--graphics/pokemon/raticate/footprint.png (renamed from graphics/pokemon/footprints/raticate_footprint.png)bin95 -> 95 bytes
-rw-r--r--graphics/pokemon/raticate/front.png (renamed from graphics/pokemon/front_pics/raticate_still_front_pic.png)bin754 -> 754 bytes
-rw-r--r--graphics/pokemon/raticate/icon.png (renamed from graphics/pokemon/icons/raticate_icon.png)bin374 -> 374 bytes
-rw-r--r--graphics/pokemon/raticate/normal.pal (renamed from graphics/pokemon/palettes/raticate_palette.pal)0
-rw-r--r--graphics/pokemon/raticate/shiny.pal (renamed from graphics/pokemon/palettes/raticate_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/rattata/anim_front.png (renamed from graphics/pokemon/anim_front_pics/rattata_front_pic.png)bin734 -> 734 bytes
-rw-r--r--graphics/pokemon/rattata/back.png (renamed from graphics/pokemon/back_pics/rattata_back_pic.png)bin577 -> 577 bytes
-rw-r--r--graphics/pokemon/rattata/footprint.png (renamed from graphics/pokemon/footprints/rattata_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/rattata/front.png (renamed from graphics/pokemon/front_pics/rattata_still_front_pic.png)bin474 -> 474 bytes
-rw-r--r--graphics/pokemon/rattata/icon.png (renamed from graphics/pokemon/icons/rattata_icon.png)bin318 -> 318 bytes
-rw-r--r--graphics/pokemon/rattata/normal.pal (renamed from graphics/pokemon/palettes/rattata_palette.pal)0
-rw-r--r--graphics/pokemon/rattata/shiny.pal (renamed from graphics/pokemon/palettes/rattata_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/rayquaza/anim_front.png (renamed from graphics/pokemon/anim_front_pics/rayquaza_front_pic.png)bin1856 -> 1856 bytes
-rw-r--r--graphics/pokemon/rayquaza/back.png (renamed from graphics/pokemon/back_pics/rayquaza_back_pic.png)bin666 -> 666 bytes
-rw-r--r--graphics/pokemon/rayquaza/footprint.png (renamed from graphics/pokemon/footprints/rayquaza_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/rayquaza/front.png (renamed from graphics/pokemon/front_pics/rayquaza_still_front_pic.png)bin1105 -> 1105 bytes
-rw-r--r--graphics/pokemon/rayquaza/icon.png (renamed from graphics/pokemon/icons/rayquaza_icon.png)bin507 -> 507 bytes
-rw-r--r--graphics/pokemon/rayquaza/normal.pal (renamed from graphics/pokemon/palettes/rayquaza_palette.pal)0
-rw-r--r--graphics/pokemon/rayquaza/shiny.pal (renamed from graphics/pokemon/palettes/rayquaza_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/regice/anim_front.png (renamed from graphics/pokemon/anim_front_pics/regice_front_pic.png)bin1492 -> 1492 bytes
-rw-r--r--graphics/pokemon/regice/back.png (renamed from graphics/pokemon/back_pics/regice_back_pic.png)bin551 -> 551 bytes
-rw-r--r--graphics/pokemon/regice/footprint.png (renamed from graphics/pokemon/footprints/regice_footprint.png)bin76 -> 76 bytes
-rw-r--r--graphics/pokemon/regice/front.png (renamed from graphics/pokemon/front_pics/regice_still_front_pic.png)bin883 -> 883 bytes
-rw-r--r--graphics/pokemon/regice/icon.png (renamed from graphics/pokemon/icons/regice_icon.png)bin334 -> 334 bytes
-rw-r--r--graphics/pokemon/regice/normal.pal (renamed from graphics/pokemon/palettes/regice_palette.pal)0
-rw-r--r--graphics/pokemon/regice/shiny.pal (renamed from graphics/pokemon/palettes/regice_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/regirock/anim_front.png (renamed from graphics/pokemon/anim_front_pics/regirock_front_pic.png)bin1637 -> 1637 bytes
-rw-r--r--graphics/pokemon/regirock/back.png (renamed from graphics/pokemon/back_pics/regirock_back_pic.png)bin859 -> 859 bytes
-rw-r--r--graphics/pokemon/regirock/footprint.png (renamed from graphics/pokemon/footprints/regirock_footprint.png)bin100 -> 100 bytes
-rw-r--r--graphics/pokemon/regirock/front.png (renamed from graphics/pokemon/front_pics/regirock_still_front_pic.png)bin965 -> 965 bytes
-rw-r--r--graphics/pokemon/regirock/icon.png (renamed from graphics/pokemon/icons/regirock_icon.png)bin379 -> 379 bytes
-rw-r--r--graphics/pokemon/regirock/normal.pal (renamed from graphics/pokemon/palettes/regirock_palette.pal)0
-rw-r--r--graphics/pokemon/regirock/shiny.pal (renamed from graphics/pokemon/palettes/regirock_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/registeel/anim_front.png (renamed from graphics/pokemon/anim_front_pics/registeel_front_pic.png)bin1587 -> 1587 bytes
-rw-r--r--graphics/pokemon/registeel/back.png (renamed from graphics/pokemon/back_pics/registeel_back_pic.png)bin615 -> 615 bytes
-rw-r--r--graphics/pokemon/registeel/footprint.png (renamed from graphics/pokemon/footprints/registeel_footprint.png)bin105 -> 105 bytes
-rw-r--r--graphics/pokemon/registeel/front.png (renamed from graphics/pokemon/front_pics/registeel_still_front_pic.png)bin948 -> 948 bytes
-rw-r--r--graphics/pokemon/registeel/icon.png (renamed from graphics/pokemon/icons/registeel_icon.png)bin351 -> 351 bytes
-rw-r--r--graphics/pokemon/registeel/normal.pal (renamed from graphics/pokemon/palettes/registeel_palette.pal)0
-rw-r--r--graphics/pokemon/registeel/shiny.pal (renamed from graphics/pokemon/palettes/registeel_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/relicanth/anim_front.png (renamed from graphics/pokemon/anim_front_pics/relicanth_front_pic.png)bin998 -> 998 bytes
-rw-r--r--graphics/pokemon/relicanth/back.png (renamed from graphics/pokemon/back_pics/relicanth_back_pic.png)bin704 -> 704 bytes
-rw-r--r--graphics/pokemon/relicanth/footprint.png (renamed from graphics/pokemon/footprints/relicanth_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/relicanth/front.png (renamed from graphics/pokemon/front_pics/relicanth_still_front_pic.png)bin759 -> 759 bytes
-rw-r--r--graphics/pokemon/relicanth/icon.png (renamed from graphics/pokemon/icons/relicanth_icon.png)bin413 -> 413 bytes
-rw-r--r--graphics/pokemon/relicanth/normal.pal (renamed from graphics/pokemon/palettes/relicanth_palette.pal)0
-rw-r--r--graphics/pokemon/relicanth/shiny.pal (renamed from graphics/pokemon/palettes/relicanth_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/remoraid/anim_front.png (renamed from graphics/pokemon/anim_front_pics/remoraid_front_pic.png)bin756 -> 756 bytes
-rw-r--r--graphics/pokemon/remoraid/back.png (renamed from graphics/pokemon/back_pics/remoraid_back_pic.png)bin596 -> 596 bytes
-rw-r--r--graphics/pokemon/remoraid/footprint.png (renamed from graphics/pokemon/footprints/remoraid_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/remoraid/front.png (renamed from graphics/pokemon/front_pics/remoraid_still_front_pic.png)bin483 -> 483 bytes
-rw-r--r--graphics/pokemon/remoraid/icon.png (renamed from graphics/pokemon/icons/remoraid_icon.png)bin330 -> 330 bytes
-rw-r--r--graphics/pokemon/remoraid/normal.pal (renamed from graphics/pokemon/palettes/remoraid_palette.pal)0
-rw-r--r--graphics/pokemon/remoraid/shiny.pal (renamed from graphics/pokemon/palettes/remoraid_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/rhydon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/rhydon_front_pic.png)bin1762 -> 1762 bytes
-rw-r--r--graphics/pokemon/rhydon/back.png (renamed from graphics/pokemon/back_pics/rhydon_back_pic.png)bin880 -> 880 bytes
-rw-r--r--graphics/pokemon/rhydon/footprint.png (renamed from graphics/pokemon/footprints/rhydon_footprint.png)bin97 -> 97 bytes
-rw-r--r--graphics/pokemon/rhydon/front.png (renamed from graphics/pokemon/front_pics/rhydon_still_front_pic.png)bin1045 -> 1045 bytes
-rw-r--r--graphics/pokemon/rhydon/icon.png (renamed from graphics/pokemon/icons/rhydon_icon.png)bin381 -> 381 bytes
-rw-r--r--graphics/pokemon/rhydon/normal.pal (renamed from graphics/pokemon/palettes/rhydon_palette.pal)0
-rw-r--r--graphics/pokemon/rhydon/shiny.pal (renamed from graphics/pokemon/palettes/rhydon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/rhyhorn/anim_front.png (renamed from graphics/pokemon/anim_front_pics/rhyhorn_front_pic.png)bin1265 -> 1265 bytes
-rw-r--r--graphics/pokemon/rhyhorn/back.png (renamed from graphics/pokemon/back_pics/rhyhorn_back_pic.png)bin633 -> 633 bytes
-rw-r--r--graphics/pokemon/rhyhorn/footprint.png (renamed from graphics/pokemon/footprints/rhyhorn_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/rhyhorn/front.png (renamed from graphics/pokemon/front_pics/rhyhorn_still_front_pic.png)bin807 -> 807 bytes
-rw-r--r--graphics/pokemon/rhyhorn/icon.png (renamed from graphics/pokemon/icons/rhyhorn_icon.png)bin356 -> 356 bytes
-rw-r--r--graphics/pokemon/rhyhorn/normal.pal (renamed from graphics/pokemon/palettes/rhyhorn_palette.pal)0
-rw-r--r--graphics/pokemon/rhyhorn/shiny.pal (renamed from graphics/pokemon/palettes/rhyhorn_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/roselia/anim_front.png (renamed from graphics/pokemon/anim_front_pics/roselia_front_pic.png)bin1203 -> 1203 bytes
-rw-r--r--graphics/pokemon/roselia/back.png (renamed from graphics/pokemon/back_pics/roselia_back_pic.png)bin774 -> 774 bytes
-rw-r--r--graphics/pokemon/roselia/footprint.png (renamed from graphics/pokemon/footprints/roselia_footprint.png)bin82 -> 82 bytes
-rw-r--r--graphics/pokemon/roselia/front.png (renamed from graphics/pokemon/front_pics/roselia_still_front_pic.png)bin745 -> 745 bytes
-rw-r--r--graphics/pokemon/roselia/icon.png (renamed from graphics/pokemon/icons/roselia_icon.png)bin414 -> 414 bytes
-rw-r--r--graphics/pokemon/roselia/normal.pal (renamed from graphics/pokemon/palettes/roselia_palette.pal)0
-rw-r--r--graphics/pokemon/roselia/shiny.pal (renamed from graphics/pokemon/palettes/roselia_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/sableye/anim_front.png (renamed from graphics/pokemon/anim_front_pics/sableye_front_pic.png)bin839 -> 839 bytes
-rw-r--r--graphics/pokemon/sableye/back.png (renamed from graphics/pokemon/back_pics/sableye_back_pic.png)bin654 -> 654 bytes
-rw-r--r--graphics/pokemon/sableye/footprint.png (renamed from graphics/pokemon/footprints/sableye_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/sableye/front.png (renamed from graphics/pokemon/front_pics/sableye_still_front_pic.png)bin619 -> 619 bytes
-rw-r--r--graphics/pokemon/sableye/icon.png (renamed from graphics/pokemon/icons/sableye_icon.png)bin319 -> 319 bytes
-rw-r--r--graphics/pokemon/sableye/normal.pal (renamed from graphics/pokemon/palettes/sableye_palette.pal)0
-rw-r--r--graphics/pokemon/sableye/shiny.pal (renamed from graphics/pokemon/palettes/sableye_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/salamence/anim_front.png (renamed from graphics/pokemon/anim_front_pics/salamence_front_pic.png)bin1419 -> 1419 bytes
-rw-r--r--graphics/pokemon/salamence/back.png (renamed from graphics/pokemon/back_pics/salamence_back_pic.png)bin578 -> 578 bytes
-rw-r--r--graphics/pokemon/salamence/footprint.png (renamed from graphics/pokemon/footprints/salamence_footprint.png)bin102 -> 102 bytes
-rw-r--r--graphics/pokemon/salamence/front.png (renamed from graphics/pokemon/front_pics/salamence_still_front_pic.png)bin918 -> 918 bytes
-rw-r--r--graphics/pokemon/salamence/icon.png (renamed from graphics/pokemon/icons/salamence_icon.png)bin477 -> 477 bytes
-rw-r--r--graphics/pokemon/salamence/normal.pal (renamed from graphics/pokemon/palettes/salamence_palette.pal)0
-rw-r--r--graphics/pokemon/salamence/shiny.pal (renamed from graphics/pokemon/palettes/salamence_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/sandshrew/anim_front.png (renamed from graphics/pokemon/anim_front_pics/sandshrew_front_pic.png)bin894 -> 894 bytes
-rw-r--r--graphics/pokemon/sandshrew/back.png (renamed from graphics/pokemon/back_pics/sandshrew_back_pic.png)bin606 -> 606 bytes
-rw-r--r--graphics/pokemon/sandshrew/footprint.png (renamed from graphics/pokemon/footprints/sandshrew_footprint.png)bin91 -> 91 bytes
-rw-r--r--graphics/pokemon/sandshrew/front.png (renamed from graphics/pokemon/front_pics/sandshrew_still_front_pic.png)bin575 -> 575 bytes
-rw-r--r--graphics/pokemon/sandshrew/icon.png (renamed from graphics/pokemon/icons/sandshrew_icon.png)bin338 -> 338 bytes
-rw-r--r--graphics/pokemon/sandshrew/normal.pal (renamed from graphics/pokemon/palettes/sandshrew_palette.pal)0
-rw-r--r--graphics/pokemon/sandshrew/shiny.pal (renamed from graphics/pokemon/palettes/sandshrew_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/sandslash/anim_front.png (renamed from graphics/pokemon/anim_front_pics/sandslash_front_pic.png)bin1445 -> 1445 bytes
-rw-r--r--graphics/pokemon/sandslash/back.png (renamed from graphics/pokemon/back_pics/sandslash_back_pic.png)bin837 -> 837 bytes
-rw-r--r--graphics/pokemon/sandslash/footprint.png (renamed from graphics/pokemon/footprints/sandslash_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/sandslash/front.png (renamed from graphics/pokemon/front_pics/sandslash_still_front_pic.png)bin840 -> 840 bytes
-rw-r--r--graphics/pokemon/sandslash/icon.png (renamed from graphics/pokemon/icons/sandslash_icon.png)bin402 -> 402 bytes
-rw-r--r--graphics/pokemon/sandslash/normal.pal (renamed from graphics/pokemon/palettes/sandslash_palette.pal)0
-rw-r--r--graphics/pokemon/sandslash/shiny.pal (renamed from graphics/pokemon/palettes/sandslash_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/sceptile/anim_front.png (renamed from graphics/pokemon/anim_front_pics/sceptile_front_pic.png)bin1387 -> 1387 bytes
-rw-r--r--graphics/pokemon/sceptile/back.png (renamed from graphics/pokemon/back_pics/sceptile_back_pic.png)bin838 -> 838 bytes
-rw-r--r--graphics/pokemon/sceptile/footprint.png (renamed from graphics/pokemon/footprints/sceptile_footprint.png)bin99 -> 99 bytes
-rw-r--r--graphics/pokemon/sceptile/front.png (renamed from graphics/pokemon/front_pics/sceptile_still_front_pic.png)bin1047 -> 1047 bytes
-rw-r--r--graphics/pokemon/sceptile/icon.png (renamed from graphics/pokemon/icons/sceptile_icon.png)bin383 -> 383 bytes
-rw-r--r--graphics/pokemon/sceptile/normal.pal (renamed from graphics/pokemon/palettes/sceptile_palette.pal)0
-rw-r--r--graphics/pokemon/sceptile/shiny.pal (renamed from graphics/pokemon/palettes/sceptile_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/scizor/anim_front.png (renamed from graphics/pokemon/anim_front_pics/scizor_front_pic.png)bin1603 -> 1603 bytes
-rw-r--r--graphics/pokemon/scizor/back.png (renamed from graphics/pokemon/back_pics/scizor_back_pic.png)bin739 -> 739 bytes
-rw-r--r--graphics/pokemon/scizor/footprint.png (renamed from graphics/pokemon/footprints/scizor_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/scizor/front.png (renamed from graphics/pokemon/front_pics/scizor_still_front_pic.png)bin998 -> 998 bytes
-rw-r--r--graphics/pokemon/scizor/icon.png (renamed from graphics/pokemon/icons/scizor_icon.png)bin447 -> 447 bytes
-rw-r--r--graphics/pokemon/scizor/normal.pal (renamed from graphics/pokemon/palettes/scizor_palette.pal)0
-rw-r--r--graphics/pokemon/scizor/shiny.pal (renamed from graphics/pokemon/palettes/scizor_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/scyther/anim_front.png (renamed from graphics/pokemon/anim_front_pics/scyther_front_pic.png)bin1543 -> 1543 bytes
-rw-r--r--graphics/pokemon/scyther/back.png (renamed from graphics/pokemon/back_pics/scyther_back_pic.png)bin744 -> 744 bytes
-rw-r--r--graphics/pokemon/scyther/footprint.png (renamed from graphics/pokemon/footprints/scyther_footprint.png)bin99 -> 99 bytes
-rw-r--r--graphics/pokemon/scyther/front.png (renamed from graphics/pokemon/front_pics/scyther_still_front_pic.png)bin998 -> 998 bytes
-rw-r--r--graphics/pokemon/scyther/icon.png (renamed from graphics/pokemon/icons/scyther_icon.png)bin345 -> 345 bytes
-rw-r--r--graphics/pokemon/scyther/normal.pal (renamed from graphics/pokemon/palettes/scyther_palette.pal)0
-rw-r--r--graphics/pokemon/scyther/shiny.pal (renamed from graphics/pokemon/palettes/scyther_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/seadra/anim_front.png (renamed from graphics/pokemon/anim_front_pics/seadra_front_pic.png)bin1285 -> 1285 bytes
-rw-r--r--graphics/pokemon/seadra/back.png (renamed from graphics/pokemon/back_pics/seadra_back_pic.png)bin727 -> 727 bytes
-rw-r--r--graphics/pokemon/seadra/footprint.png (renamed from graphics/pokemon/footprints/seadra_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/seadra/front.png (renamed from graphics/pokemon/front_pics/seadra_still_front_pic.png)bin762 -> 762 bytes
-rw-r--r--graphics/pokemon/seadra/icon.png (renamed from graphics/pokemon/icons/seadra_icon.png)bin351 -> 351 bytes
-rw-r--r--graphics/pokemon/seadra/normal.pal (renamed from graphics/pokemon/palettes/seadra_palette.pal)0
-rw-r--r--graphics/pokemon/seadra/shiny.pal (renamed from graphics/pokemon/palettes/seadra_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/seaking/anim_front.png (renamed from graphics/pokemon/anim_front_pics/seaking_front_pic.png)bin1577 -> 1577 bytes
-rw-r--r--graphics/pokemon/seaking/back.png (renamed from graphics/pokemon/back_pics/seaking_back_pic.png)bin693 -> 693 bytes
-rw-r--r--graphics/pokemon/seaking/footprint.png (renamed from graphics/pokemon/footprints/seaking_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/seaking/front.png (renamed from graphics/pokemon/front_pics/seaking_still_front_pic.png)bin944 -> 944 bytes
-rw-r--r--graphics/pokemon/seaking/icon.png (renamed from graphics/pokemon/icons/seaking_icon.png)bin368 -> 368 bytes
-rw-r--r--graphics/pokemon/seaking/normal.pal (renamed from graphics/pokemon/palettes/seaking_palette.pal)0
-rw-r--r--graphics/pokemon/seaking/shiny.pal (renamed from graphics/pokemon/palettes/seaking_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/sealeo/anim_front.png (renamed from graphics/pokemon/anim_front_pics/sealeo_front_pic.png)bin1215 -> 1215 bytes
-rw-r--r--graphics/pokemon/sealeo/back.png (renamed from graphics/pokemon/back_pics/sealeo_back_pic.png)bin503 -> 503 bytes
-rw-r--r--graphics/pokemon/sealeo/footprint.png (renamed from graphics/pokemon/footprints/sealeo_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/sealeo/front.png (renamed from graphics/pokemon/front_pics/sealeo_still_front_pic.png)bin758 -> 758 bytes
-rw-r--r--graphics/pokemon/sealeo/icon.png (renamed from graphics/pokemon/icons/sealeo_icon.png)bin387 -> 387 bytes
-rw-r--r--graphics/pokemon/sealeo/normal.pal (renamed from graphics/pokemon/palettes/sealeo_palette.pal)0
-rw-r--r--graphics/pokemon/sealeo/shiny.pal (renamed from graphics/pokemon/palettes/sealeo_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/seedot/anim_front.png (renamed from graphics/pokemon/anim_front_pics/seedot_front_pic.png)bin800 -> 800 bytes
-rw-r--r--graphics/pokemon/seedot/back.png (renamed from graphics/pokemon/back_pics/seedot_back_pic.png)bin561 -> 561 bytes
-rw-r--r--graphics/pokemon/seedot/footprint.png (renamed from graphics/pokemon/footprints/seedot_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/seedot/front.png (renamed from graphics/pokemon/front_pics/seedot_still_front_pic.png)bin502 -> 502 bytes
-rw-r--r--graphics/pokemon/seedot/icon.png (renamed from graphics/pokemon/icons/seedot_icon.png)bin271 -> 271 bytes
-rw-r--r--graphics/pokemon/seedot/normal.pal (renamed from graphics/pokemon/palettes/seedot_palette.pal)0
-rw-r--r--graphics/pokemon/seedot/shiny.pal (renamed from graphics/pokemon/palettes/seedot_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/seel/anim_front.png (renamed from graphics/pokemon/anim_front_pics/seel_front_pic.png)bin1042 -> 1042 bytes
-rw-r--r--graphics/pokemon/seel/back.png (renamed from graphics/pokemon/back_pics/seel_back_pic.png)bin581 -> 581 bytes
-rw-r--r--graphics/pokemon/seel/footprint.png (renamed from graphics/pokemon/footprints/seel_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/seel/front.png (renamed from graphics/pokemon/front_pics/seel_still_front_pic.png)bin676 -> 676 bytes
-rw-r--r--graphics/pokemon/seel/icon.png (renamed from graphics/pokemon/icons/seel_icon.png)bin382 -> 382 bytes
-rw-r--r--graphics/pokemon/seel/normal.pal (renamed from graphics/pokemon/palettes/seel_palette.pal)0
-rw-r--r--graphics/pokemon/seel/shiny.pal (renamed from graphics/pokemon/palettes/seel_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/sentret/anim_front.png (renamed from graphics/pokemon/anim_front_pics/sentret_front_pic.png)bin884 -> 884 bytes
-rw-r--r--graphics/pokemon/sentret/back.png (renamed from graphics/pokemon/back_pics/sentret_back_pic.png)bin549 -> 549 bytes
-rw-r--r--graphics/pokemon/sentret/footprint.png (renamed from graphics/pokemon/footprints/sentret_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/sentret/front.png (renamed from graphics/pokemon/front_pics/sentret_still_front_pic.png)bin610 -> 610 bytes
-rw-r--r--graphics/pokemon/sentret/icon.png (renamed from graphics/pokemon/icons/sentret_icon.png)bin363 -> 363 bytes
-rw-r--r--graphics/pokemon/sentret/normal.pal (renamed from graphics/pokemon/palettes/sentret_palette.pal)0
-rw-r--r--graphics/pokemon/sentret/shiny.pal (renamed from graphics/pokemon/palettes/sentret_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/seviper/anim_front.png (renamed from graphics/pokemon/anim_front_pics/seviper_front_pic.png)bin1488 -> 1488 bytes
-rw-r--r--graphics/pokemon/seviper/back.png (renamed from graphics/pokemon/back_pics/seviper_back_pic.png)bin934 -> 934 bytes
-rw-r--r--graphics/pokemon/seviper/footprint.png (renamed from graphics/pokemon/footprints/seviper_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/seviper/front.png (renamed from graphics/pokemon/front_pics/seviper_still_front_pic.png)bin886 -> 886 bytes
-rw-r--r--graphics/pokemon/seviper/icon.png (renamed from graphics/pokemon/icons/seviper_icon.png)bin368 -> 368 bytes
-rw-r--r--graphics/pokemon/seviper/normal.pal (renamed from graphics/pokemon/palettes/seviper_palette.pal)0
-rw-r--r--graphics/pokemon/seviper/shiny.pal (renamed from graphics/pokemon/palettes/seviper_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/sharpedo/anim_front.png (renamed from graphics/pokemon/anim_front_pics/sharpedo_front_pic.png)bin1177 -> 1177 bytes
-rw-r--r--graphics/pokemon/sharpedo/back.png (renamed from graphics/pokemon/back_pics/sharpedo_back_pic.png)bin676 -> 676 bytes
-rw-r--r--graphics/pokemon/sharpedo/footprint.png (renamed from graphics/pokemon/footprints/sharpedo_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/sharpedo/front.png (renamed from graphics/pokemon/front_pics/sharpedo_still_front_pic.png)bin748 -> 748 bytes
-rw-r--r--graphics/pokemon/sharpedo/icon.png (renamed from graphics/pokemon/icons/sharpedo_icon.png)bin373 -> 373 bytes
-rw-r--r--graphics/pokemon/sharpedo/normal.pal (renamed from graphics/pokemon/palettes/sharpedo_palette.pal)0
-rw-r--r--graphics/pokemon/sharpedo/shiny.pal (renamed from graphics/pokemon/palettes/sharpedo_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/shedinja/anim_front.png (renamed from graphics/pokemon/anim_front_pics/shedinja_front_pic.png)bin1073 -> 1073 bytes
-rw-r--r--graphics/pokemon/shedinja/back.png (renamed from graphics/pokemon/back_pics/shedinja_back_pic.png)bin763 -> 763 bytes
-rw-r--r--graphics/pokemon/shedinja/footprint.png (renamed from graphics/pokemon/footprints/shedinja_footprint.png)bin92 -> 92 bytes
-rw-r--r--graphics/pokemon/shedinja/front.png (renamed from graphics/pokemon/front_pics/shedinja_still_front_pic.png)bin654 -> 654 bytes
-rw-r--r--graphics/pokemon/shedinja/icon.png (renamed from graphics/pokemon/icons/shedinja_icon.png)bin298 -> 298 bytes
-rw-r--r--graphics/pokemon/shedinja/normal.pal (renamed from graphics/pokemon/palettes/shedinja_palette.pal)0
-rw-r--r--graphics/pokemon/shedinja/shiny.pal (renamed from graphics/pokemon/palettes/shedinja_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/shelgon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/shelgon_front_pic.png)bin1028 -> 1028 bytes
-rw-r--r--graphics/pokemon/shelgon/back.png (renamed from graphics/pokemon/back_pics/shelgon_back_pic.png)bin549 -> 549 bytes
-rw-r--r--graphics/pokemon/shelgon/footprint.png (renamed from graphics/pokemon/footprints/shelgon_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/shelgon/front.png (renamed from graphics/pokemon/front_pics/shelgon_still_front_pic.png)bin631 -> 631 bytes
-rw-r--r--graphics/pokemon/shelgon/icon.png (renamed from graphics/pokemon/icons/shelgon_icon.png)bin333 -> 333 bytes
-rw-r--r--graphics/pokemon/shelgon/normal.pal (renamed from graphics/pokemon/palettes/shelgon_palette.pal)0
-rw-r--r--graphics/pokemon/shelgon/shiny.pal (renamed from graphics/pokemon/palettes/shelgon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/shellder/anim_front.png (renamed from graphics/pokemon/anim_front_pics/shellder_front_pic.png)bin733 -> 733 bytes
-rw-r--r--graphics/pokemon/shellder/back.png (renamed from graphics/pokemon/back_pics/shellder_back_pic.png)bin586 -> 586 bytes
-rw-r--r--graphics/pokemon/shellder/footprint.png (renamed from graphics/pokemon/footprints/shellder_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/shellder/front.png (renamed from graphics/pokemon/front_pics/shellder_still_front_pic.png)bin481 -> 481 bytes
-rw-r--r--graphics/pokemon/shellder/icon.png (renamed from graphics/pokemon/icons/shellder_icon.png)bin295 -> 295 bytes
-rw-r--r--graphics/pokemon/shellder/normal.pal (renamed from graphics/pokemon/palettes/shellder_palette.pal)0
-rw-r--r--graphics/pokemon/shellder/shiny.pal (renamed from graphics/pokemon/palettes/shellder_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/shiftry/anim_front.png (renamed from graphics/pokemon/anim_front_pics/shiftry_front_pic.png)bin1150 -> 1150 bytes
-rw-r--r--graphics/pokemon/shiftry/back.png (renamed from graphics/pokemon/back_pics/shiftry_back_pic.png)bin580 -> 580 bytes
-rw-r--r--graphics/pokemon/shiftry/footprint.png (renamed from graphics/pokemon/footprints/shiftry_footprint.png)bin76 -> 76 bytes
-rw-r--r--graphics/pokemon/shiftry/front.png (renamed from graphics/pokemon/front_pics/shiftry_still_front_pic.png)bin1023 -> 1023 bytes
-rw-r--r--graphics/pokemon/shiftry/icon.png (renamed from graphics/pokemon/icons/shiftry_icon.png)bin349 -> 349 bytes
-rw-r--r--graphics/pokemon/shiftry/normal.pal (renamed from graphics/pokemon/palettes/shiftry_palette.pal)0
-rw-r--r--graphics/pokemon/shiftry/shiny.pal (renamed from graphics/pokemon/palettes/shiftry_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/shroomish/anim_front.png (renamed from graphics/pokemon/anim_front_pics/shroomish_front_pic.png)bin642 -> 642 bytes
-rw-r--r--graphics/pokemon/shroomish/back.png (renamed from graphics/pokemon/back_pics/shroomish_back_pic.png)bin540 -> 540 bytes
-rw-r--r--graphics/pokemon/shroomish/footprint.png (renamed from graphics/pokemon/footprints/shroomish_footprint.png)bin89 -> 89 bytes
-rw-r--r--graphics/pokemon/shroomish/front.png (renamed from graphics/pokemon/front_pics/shroomish_still_front_pic.png)bin493 -> 493 bytes
-rw-r--r--graphics/pokemon/shroomish/icon.png (renamed from graphics/pokemon/icons/shroomish_icon.png)bin317 -> 317 bytes
-rw-r--r--graphics/pokemon/shroomish/normal.pal (renamed from graphics/pokemon/palettes/shroomish_palette.pal)0
-rw-r--r--graphics/pokemon/shroomish/shiny.pal (renamed from graphics/pokemon/palettes/shroomish_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/shuckle/anim_front.png (renamed from graphics/pokemon/anim_front_pics/shuckle_front_pic.png)bin796 -> 796 bytes
-rw-r--r--graphics/pokemon/shuckle/back.png (renamed from graphics/pokemon/back_pics/shuckle_back_pic.png)bin483 -> 483 bytes
-rw-r--r--graphics/pokemon/shuckle/footprint.png (renamed from graphics/pokemon/footprints/shuckle_footprint.png)bin86 -> 86 bytes
-rw-r--r--graphics/pokemon/shuckle/front.png (renamed from graphics/pokemon/front_pics/shuckle_still_front_pic.png)bin587 -> 587 bytes
-rw-r--r--graphics/pokemon/shuckle/icon.png (renamed from graphics/pokemon/icons/shuckle_icon.png)bin334 -> 334 bytes
-rw-r--r--graphics/pokemon/shuckle/normal.pal (renamed from graphics/pokemon/palettes/shuckle_palette.pal)0
-rw-r--r--graphics/pokemon/shuckle/shiny.pal (renamed from graphics/pokemon/palettes/shuckle_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/shuppet/anim_front.png (renamed from graphics/pokemon/anim_front_pics/shuppet_front_pic.png)bin543 -> 543 bytes
-rw-r--r--graphics/pokemon/shuppet/back.png (renamed from graphics/pokemon/back_pics/shuppet_back_pic.png)bin485 -> 485 bytes
-rw-r--r--graphics/pokemon/shuppet/footprint.png (renamed from graphics/pokemon/footprints/shuppet_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/shuppet/front.png (renamed from graphics/pokemon/front_pics/shuppet_still_front_pic.png)bin435 -> 435 bytes
-rw-r--r--graphics/pokemon/shuppet/icon.png (renamed from graphics/pokemon/icons/shuppet_icon.png)bin275 -> 275 bytes
-rw-r--r--graphics/pokemon/shuppet/normal.pal (renamed from graphics/pokemon/palettes/shuppet_palette.pal)0
-rw-r--r--graphics/pokemon/shuppet/shiny.pal (renamed from graphics/pokemon/palettes/shuppet_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/silcoon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/silcoon_front_pic.png)bin584 -> 584 bytes
-rw-r--r--graphics/pokemon/silcoon/back.png (renamed from graphics/pokemon/back_pics/silcoon_back_pic.png)bin396 -> 396 bytes
-rw-r--r--graphics/pokemon/silcoon/footprint.png (renamed from graphics/pokemon/footprints/silcoon_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/silcoon/front.png (renamed from graphics/pokemon/front_pics/silcoon_still_front_pic.png)bin520 -> 520 bytes
-rw-r--r--graphics/pokemon/silcoon/icon.png (renamed from graphics/pokemon/icons/silcoon_icon.png)bin329 -> 329 bytes
-rw-r--r--graphics/pokemon/silcoon/normal.pal (renamed from graphics/pokemon/palettes/silcoon_palette.pal)0
-rw-r--r--graphics/pokemon/silcoon/shiny.pal (renamed from graphics/pokemon/palettes/silcoon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/skarmory/anim_front.png (renamed from graphics/pokemon/anim_front_pics/skarmory_front_pic.png)bin1559 -> 1559 bytes
-rw-r--r--graphics/pokemon/skarmory/back.png (renamed from graphics/pokemon/back_pics/skarmory_back_pic.png)bin577 -> 577 bytes
-rw-r--r--graphics/pokemon/skarmory/footprint.png (renamed from graphics/pokemon/footprints/skarmory_footprint.png)bin101 -> 101 bytes
-rw-r--r--graphics/pokemon/skarmory/front.png (renamed from graphics/pokemon/front_pics/skarmory_still_front_pic.png)bin992 -> 992 bytes
-rw-r--r--graphics/pokemon/skarmory/icon.png (renamed from graphics/pokemon/icons/skarmory_icon.png)bin418 -> 418 bytes
-rw-r--r--graphics/pokemon/skarmory/normal.pal (renamed from graphics/pokemon/palettes/skarmory_palette.pal)0
-rw-r--r--graphics/pokemon/skarmory/shiny.pal (renamed from graphics/pokemon/palettes/skarmory_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/skiploom/anim_front.png (renamed from graphics/pokemon/anim_front_pics/skiploom_front_pic.png)bin717 -> 717 bytes
-rw-r--r--graphics/pokemon/skiploom/back.png (renamed from graphics/pokemon/back_pics/skiploom_back_pic.png)bin575 -> 575 bytes
-rw-r--r--graphics/pokemon/skiploom/footprint.png (renamed from graphics/pokemon/footprints/skiploom_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/skiploom/front.png (renamed from graphics/pokemon/front_pics/skiploom_still_front_pic.png)bin503 -> 503 bytes
-rw-r--r--graphics/pokemon/skiploom/icon.png (renamed from graphics/pokemon/icons/skiploom_icon.png)bin375 -> 375 bytes
-rw-r--r--graphics/pokemon/skiploom/normal.pal (renamed from graphics/pokemon/palettes/skiploom_palette.pal)0
-rw-r--r--graphics/pokemon/skiploom/shiny.pal (renamed from graphics/pokemon/palettes/skiploom_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/skitty/anim_front.png (renamed from graphics/pokemon/anim_front_pics/skitty_front_pic.png)bin1035 -> 1035 bytes
-rw-r--r--graphics/pokemon/skitty/back.png (renamed from graphics/pokemon/back_pics/skitty_back_pic.png)bin677 -> 677 bytes
-rw-r--r--graphics/pokemon/skitty/footprint.png (renamed from graphics/pokemon/footprints/skitty_footprint.png)bin106 -> 106 bytes
-rw-r--r--graphics/pokemon/skitty/front.png (renamed from graphics/pokemon/front_pics/skitty_still_front_pic.png)bin639 -> 639 bytes
-rw-r--r--graphics/pokemon/skitty/icon.png (renamed from graphics/pokemon/icons/skitty_icon.png)bin371 -> 371 bytes
-rw-r--r--graphics/pokemon/skitty/normal.pal (renamed from graphics/pokemon/palettes/skitty_palette.pal)0
-rw-r--r--graphics/pokemon/skitty/shiny.pal (renamed from graphics/pokemon/palettes/skitty_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/slaking/anim_front.png (renamed from graphics/pokemon/anim_front_pics/slaking_front_pic.png)bin1335 -> 1335 bytes
-rw-r--r--graphics/pokemon/slaking/back.png (renamed from graphics/pokemon/back_pics/slaking_back_pic.png)bin788 -> 788 bytes
-rw-r--r--graphics/pokemon/slaking/footprint.png (renamed from graphics/pokemon/footprints/slaking_footprint.png)bin114 -> 114 bytes
-rw-r--r--graphics/pokemon/slaking/front.png (renamed from graphics/pokemon/front_pics/slaking_still_front_pic.png)bin1034 -> 1034 bytes
-rw-r--r--graphics/pokemon/slaking/icon.png (renamed from graphics/pokemon/icons/slaking_icon.png)bin437 -> 437 bytes
-rw-r--r--graphics/pokemon/slaking/normal.pal (renamed from graphics/pokemon/palettes/slaking_palette.pal)0
-rw-r--r--graphics/pokemon/slaking/shiny.pal (renamed from graphics/pokemon/palettes/slaking_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/slakoth/anim_front.png (renamed from graphics/pokemon/anim_front_pics/slakoth_front_pic.png)bin652 -> 652 bytes
-rw-r--r--graphics/pokemon/slakoth/back.png (renamed from graphics/pokemon/back_pics/slakoth_back_pic.png)bin583 -> 583 bytes
-rw-r--r--graphics/pokemon/slakoth/footprint.png (renamed from graphics/pokemon/footprints/slakoth_footprint.png)bin97 -> 97 bytes
-rw-r--r--graphics/pokemon/slakoth/front.png (renamed from graphics/pokemon/front_pics/slakoth_still_front_pic.png)bin602 -> 602 bytes
-rw-r--r--graphics/pokemon/slakoth/icon.png (renamed from graphics/pokemon/icons/slakoth_icon.png)bin319 -> 319 bytes
-rw-r--r--graphics/pokemon/slakoth/normal.pal (renamed from graphics/pokemon/palettes/slakoth_palette.pal)0
-rw-r--r--graphics/pokemon/slakoth/shiny.pal (renamed from graphics/pokemon/palettes/slakoth_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/slowbro/anim_front.png (renamed from graphics/pokemon/anim_front_pics/slowbro_front_pic.png)bin1475 -> 1475 bytes
-rw-r--r--graphics/pokemon/slowbro/back.png (renamed from graphics/pokemon/back_pics/slowbro_back_pic.png)bin737 -> 737 bytes
-rw-r--r--graphics/pokemon/slowbro/footprint.png (renamed from graphics/pokemon/footprints/slowbro_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/slowbro/front.png (renamed from graphics/pokemon/front_pics/slowbro_still_front_pic.png)bin993 -> 993 bytes
-rw-r--r--graphics/pokemon/slowbro/icon.png (renamed from graphics/pokemon/icons/slowbro_icon.png)bin446 -> 446 bytes
-rw-r--r--graphics/pokemon/slowbro/normal.pal (renamed from graphics/pokemon/palettes/slowbro_palette.pal)0
-rw-r--r--graphics/pokemon/slowbro/shiny.pal (renamed from graphics/pokemon/palettes/slowbro_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/slowking/anim_front.png (renamed from graphics/pokemon/anim_front_pics/slowking_front_pic.png)bin1166 -> 1166 bytes
-rw-r--r--graphics/pokemon/slowking/back.png (renamed from graphics/pokemon/back_pics/slowking_back_pic.png)bin712 -> 712 bytes
-rw-r--r--graphics/pokemon/slowking/footprint.png (renamed from graphics/pokemon/footprints/slowking_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/slowking/front.png (renamed from graphics/pokemon/front_pics/slowking_still_front_pic.png)bin792 -> 792 bytes
-rw-r--r--graphics/pokemon/slowking/icon.png (renamed from graphics/pokemon/icons/slowking_icon.png)bin364 -> 364 bytes
-rw-r--r--graphics/pokemon/slowking/normal.pal (renamed from graphics/pokemon/palettes/slowking_palette.pal)0
-rw-r--r--graphics/pokemon/slowking/shiny.pal (renamed from graphics/pokemon/palettes/slowking_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/slowpoke/anim_front.png (renamed from graphics/pokemon/anim_front_pics/slowpoke_front_pic.png)bin889 -> 889 bytes
-rw-r--r--graphics/pokemon/slowpoke/back.png (renamed from graphics/pokemon/back_pics/slowpoke_back_pic.png)bin494 -> 494 bytes
-rw-r--r--graphics/pokemon/slowpoke/footprint.png (renamed from graphics/pokemon/footprints/slowpoke_footprint.png)bin85 -> 85 bytes
-rw-r--r--graphics/pokemon/slowpoke/front.png (renamed from graphics/pokemon/front_pics/slowpoke_still_front_pic.png)bin617 -> 617 bytes
-rw-r--r--graphics/pokemon/slowpoke/icon.png (renamed from graphics/pokemon/icons/slowpoke_icon.png)bin342 -> 342 bytes
-rw-r--r--graphics/pokemon/slowpoke/normal.pal (renamed from graphics/pokemon/palettes/slowpoke_palette.pal)0
-rw-r--r--graphics/pokemon/slowpoke/shiny.pal (renamed from graphics/pokemon/palettes/slowpoke_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/slugma/anim_front.png (renamed from graphics/pokemon/anim_front_pics/slugma_front_pic.png)bin723 -> 723 bytes
-rw-r--r--graphics/pokemon/slugma/back.png (renamed from graphics/pokemon/back_pics/slugma_back_pic.png)bin584 -> 584 bytes
-rw-r--r--graphics/pokemon/slugma/footprint.png (renamed from graphics/pokemon/footprints/slugma_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/slugma/front.png (renamed from graphics/pokemon/front_pics/slugma_still_front_pic.png)bin493 -> 493 bytes
-rw-r--r--graphics/pokemon/slugma/icon.png (renamed from graphics/pokemon/icons/slugma_icon.png)bin343 -> 343 bytes
-rw-r--r--graphics/pokemon/slugma/normal.pal (renamed from graphics/pokemon/palettes/slugma_palette.pal)0
-rw-r--r--graphics/pokemon/slugma/shiny.pal (renamed from graphics/pokemon/palettes/slugma_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/smeargle/anim_front.png (renamed from graphics/pokemon/anim_front_pics/smeargle_front_pic.png)bin1312 -> 1312 bytes
-rw-r--r--graphics/pokemon/smeargle/back.png (renamed from graphics/pokemon/back_pics/smeargle_back_pic.png)bin648 -> 648 bytes
-rw-r--r--graphics/pokemon/smeargle/footprint.png (renamed from graphics/pokemon/footprints/smeargle_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/smeargle/front.png (renamed from graphics/pokemon/front_pics/smeargle_still_front_pic.png)bin758 -> 758 bytes
-rw-r--r--graphics/pokemon/smeargle/icon.png (renamed from graphics/pokemon/icons/smeargle_icon.png)bin377 -> 377 bytes
-rw-r--r--graphics/pokemon/smeargle/normal.pal (renamed from graphics/pokemon/palettes/smeargle_palette.pal)0
-rw-r--r--graphics/pokemon/smeargle/shiny.pal (renamed from graphics/pokemon/palettes/smeargle_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/smoochum/anim_front.png (renamed from graphics/pokemon/anim_front_pics/smoochum_front_pic.png)bin678 -> 678 bytes
-rw-r--r--graphics/pokemon/smoochum/back.png (renamed from graphics/pokemon/back_pics/smoochum_back_pic.png)bin507 -> 507 bytes
-rw-r--r--graphics/pokemon/smoochum/footprint.png (renamed from graphics/pokemon/footprints/smoochum_footprint.png)bin83 -> 83 bytes
-rw-r--r--graphics/pokemon/smoochum/front.png (renamed from graphics/pokemon/front_pics/smoochum_still_front_pic.png)bin495 -> 495 bytes
-rw-r--r--graphics/pokemon/smoochum/icon.png (renamed from graphics/pokemon/icons/smoochum_icon.png)bin414 -> 414 bytes
-rw-r--r--graphics/pokemon/smoochum/normal.pal (renamed from graphics/pokemon/palettes/smoochum_palette.pal)0
-rw-r--r--graphics/pokemon/smoochum/shiny.pal (renamed from graphics/pokemon/palettes/smoochum_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/sneasel/anim_front.png (renamed from graphics/pokemon/anim_front_pics/sneasel_front_pic.png)bin1121 -> 1121 bytes
-rw-r--r--graphics/pokemon/sneasel/back.png (renamed from graphics/pokemon/back_pics/sneasel_back_pic.png)bin664 -> 664 bytes
-rw-r--r--graphics/pokemon/sneasel/footprint.png (renamed from graphics/pokemon/footprints/sneasel_footprint.png)bin93 -> 93 bytes
-rw-r--r--graphics/pokemon/sneasel/front.png (renamed from graphics/pokemon/front_pics/sneasel_still_front_pic.png)bin698 -> 698 bytes
-rw-r--r--graphics/pokemon/sneasel/icon.png (renamed from graphics/pokemon/icons/sneasel_icon.png)bin347 -> 347 bytes
-rw-r--r--graphics/pokemon/sneasel/normal.pal (renamed from graphics/pokemon/palettes/sneasel_palette.pal)0
-rw-r--r--graphics/pokemon/sneasel/shiny.pal (renamed from graphics/pokemon/palettes/sneasel_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/snorlax/anim_front.png (renamed from graphics/pokemon/anim_front_pics/snorlax_front_pic.png)bin1368 -> 1368 bytes
-rw-r--r--graphics/pokemon/snorlax/back.png (renamed from graphics/pokemon/back_pics/snorlax_back_pic.png)bin419 -> 419 bytes
-rw-r--r--graphics/pokemon/snorlax/footprint.png (renamed from graphics/pokemon/footprints/snorlax_footprint.png)bin102 -> 102 bytes
-rw-r--r--graphics/pokemon/snorlax/front.png (renamed from graphics/pokemon/front_pics/snorlax_still_front_pic.png)bin890 -> 890 bytes
-rw-r--r--graphics/pokemon/snorlax/icon.png (renamed from graphics/pokemon/icons/snorlax_icon.png)bin346 -> 346 bytes
-rw-r--r--graphics/pokemon/snorlax/normal.pal (renamed from graphics/pokemon/palettes/snorlax_palette.pal)0
-rw-r--r--graphics/pokemon/snorlax/shiny.pal (renamed from graphics/pokemon/palettes/snorlax_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/snorunt/anim_front.png (renamed from graphics/pokemon/anim_front_pics/snorunt_front_pic.png)bin914 -> 914 bytes
-rw-r--r--graphics/pokemon/snorunt/back.png (renamed from graphics/pokemon/back_pics/snorunt_back_pic.png)bin557 -> 557 bytes
-rw-r--r--graphics/pokemon/snorunt/footprint.png (renamed from graphics/pokemon/footprints/snorunt_footprint.png)bin91 -> 91 bytes
-rw-r--r--graphics/pokemon/snorunt/front.png (renamed from graphics/pokemon/front_pics/snorunt_still_front_pic.png)bin574 -> 574 bytes
-rw-r--r--graphics/pokemon/snorunt/icon.png (renamed from graphics/pokemon/icons/snorunt_icon.png)bin283 -> 283 bytes
-rw-r--r--graphics/pokemon/snorunt/normal.pal (renamed from graphics/pokemon/palettes/snorunt_palette.pal)0
-rw-r--r--graphics/pokemon/snorunt/shiny.pal (renamed from graphics/pokemon/palettes/snorunt_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/snubbull/anim_front.png (renamed from graphics/pokemon/anim_front_pics/snubbull_front_pic.png)bin929 -> 929 bytes
-rw-r--r--graphics/pokemon/snubbull/back.png (renamed from graphics/pokemon/back_pics/snubbull_back_pic.png)bin627 -> 627 bytes
-rw-r--r--graphics/pokemon/snubbull/footprint.png (renamed from graphics/pokemon/footprints/snubbull_footprint.png)bin89 -> 89 bytes
-rw-r--r--graphics/pokemon/snubbull/front.png (renamed from graphics/pokemon/front_pics/snubbull_still_front_pic.png)bin606 -> 606 bytes
-rw-r--r--graphics/pokemon/snubbull/icon.png (renamed from graphics/pokemon/icons/snubbull_icon.png)bin325 -> 325 bytes
-rw-r--r--graphics/pokemon/snubbull/normal.pal (renamed from graphics/pokemon/palettes/snubbull_palette.pal)0
-rw-r--r--graphics/pokemon/snubbull/shiny.pal (renamed from graphics/pokemon/palettes/snubbull_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/solrock/anim_front.png (renamed from graphics/pokemon/anim_front_pics/solrock_front_pic.png)bin1585 -> 1585 bytes
-rw-r--r--graphics/pokemon/solrock/back.png (renamed from graphics/pokemon/back_pics/solrock_back_pic.png)bin802 -> 802 bytes
-rw-r--r--graphics/pokemon/solrock/footprint.png (renamed from graphics/pokemon/footprints/solrock_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/solrock/front.png (renamed from graphics/pokemon/front_pics/solrock_still_front_pic.png)bin945 -> 945 bytes
-rw-r--r--graphics/pokemon/solrock/icon.png (renamed from graphics/pokemon/icons/solrock_icon.png)bin286 -> 286 bytes
-rw-r--r--graphics/pokemon/solrock/normal.pal (renamed from graphics/pokemon/palettes/solrock_palette.pal)0
-rw-r--r--graphics/pokemon/solrock/shiny.pal (renamed from graphics/pokemon/palettes/solrock_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/spearow/anim_front.png (renamed from graphics/pokemon/anim_front_pics/spearow_front_pic.png)bin899 -> 899 bytes
-rw-r--r--graphics/pokemon/spearow/back.png (renamed from graphics/pokemon/back_pics/spearow_back_pic.png)bin601 -> 601 bytes
-rw-r--r--graphics/pokemon/spearow/footprint.png (renamed from graphics/pokemon/footprints/spearow_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/spearow/front.png (renamed from graphics/pokemon/front_pics/spearow_still_front_pic.png)bin548 -> 548 bytes
-rw-r--r--graphics/pokemon/spearow/icon.png (renamed from graphics/pokemon/icons/spearow_icon.png)bin346 -> 346 bytes
-rw-r--r--graphics/pokemon/spearow/normal.pal (renamed from graphics/pokemon/palettes/spearow_palette.pal)0
-rw-r--r--graphics/pokemon/spearow/shiny.pal (renamed from graphics/pokemon/palettes/spearow_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/spheal/anim_front.png (renamed from graphics/pokemon/anim_front_pics/spheal_front_pic.png)bin768 -> 768 bytes
-rw-r--r--graphics/pokemon/spheal/back.png (renamed from graphics/pokemon/back_pics/spheal_back_pic.png)bin405 -> 405 bytes
-rw-r--r--graphics/pokemon/spheal/footprint.png (renamed from graphics/pokemon/footprints/spheal_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/spheal/front.png (renamed from graphics/pokemon/front_pics/spheal_still_front_pic.png)bin507 -> 507 bytes
-rw-r--r--graphics/pokemon/spheal/icon.png (renamed from graphics/pokemon/icons/spheal_icon.png)bin317 -> 317 bytes
-rw-r--r--graphics/pokemon/spheal/normal.pal (renamed from graphics/pokemon/palettes/spheal_palette.pal)0
-rw-r--r--graphics/pokemon/spheal/shiny.pal (renamed from graphics/pokemon/palettes/spheal_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/spinarak/anim_front.png (renamed from graphics/pokemon/anim_front_pics/spinarak_front_pic.png)bin759 -> 759 bytes
-rw-r--r--graphics/pokemon/spinarak/back.png (renamed from graphics/pokemon/back_pics/spinarak_back_pic.png)bin465 -> 465 bytes
-rw-r--r--graphics/pokemon/spinarak/footprint.png (renamed from graphics/pokemon/footprints/spinarak_footprint.png)bin76 -> 76 bytes
-rw-r--r--graphics/pokemon/spinarak/front.png (renamed from graphics/pokemon/front_pics/spinarak_still_front_pic.png)bin511 -> 511 bytes
-rw-r--r--graphics/pokemon/spinarak/icon.png (renamed from graphics/pokemon/icons/spinarak_icon.png)bin345 -> 345 bytes
-rw-r--r--graphics/pokemon/spinarak/normal.pal (renamed from graphics/pokemon/palettes/spinarak_palette.pal)0
-rw-r--r--graphics/pokemon/spinarak/shiny.pal (renamed from graphics/pokemon/palettes/spinarak_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/spinda/anim_front.png (renamed from graphics/pokemon/anim_front_pics/spinda_front_pic.png)bin634 -> 634 bytes
-rw-r--r--graphics/pokemon/spinda/back.png (renamed from graphics/pokemon/back_pics/spinda_back_pic.png)bin684 -> 684 bytes
-rw-r--r--graphics/pokemon/spinda/footprint.png (renamed from graphics/pokemon/footprints/spinda_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/spinda/front.png (renamed from graphics/pokemon/front_pics/spinda_still_front_pic.png)bin624 -> 624 bytes
-rw-r--r--graphics/pokemon/spinda/icon.png (renamed from graphics/pokemon/icons/spinda_icon.png)bin375 -> 375 bytes
-rw-r--r--graphics/pokemon/spinda/normal.pal (renamed from graphics/pokemon/palettes/spinda_palette.pal)0
-rw-r--r--graphics/pokemon/spinda/shiny.pal (renamed from graphics/pokemon/palettes/spinda_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/spoink/anim_front.png (renamed from graphics/pokemon/anim_front_pics/spoink_front_pic.png)bin663 -> 663 bytes
-rw-r--r--graphics/pokemon/spoink/back.png (renamed from graphics/pokemon/back_pics/spoink_back_pic.png)bin453 -> 453 bytes
-rw-r--r--graphics/pokemon/spoink/footprint.png (renamed from graphics/pokemon/footprints/spoink_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/spoink/front.png (renamed from graphics/pokemon/front_pics/spoink_still_front_pic.png)bin491 -> 491 bytes
-rw-r--r--graphics/pokemon/spoink/icon.png (renamed from graphics/pokemon/icons/spoink_icon.png)bin277 -> 277 bytes
-rw-r--r--graphics/pokemon/spoink/normal.pal (renamed from graphics/pokemon/palettes/spoink_palette.pal)0
-rw-r--r--graphics/pokemon/spoink/shiny.pal (renamed from graphics/pokemon/palettes/spoink_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/squirtle/anim_front.png (renamed from graphics/pokemon/anim_front_pics/squirtle_front_pic.png)bin899 -> 899 bytes
-rw-r--r--graphics/pokemon/squirtle/back.png (renamed from graphics/pokemon/back_pics/squirtle_back_pic.png)bin485 -> 485 bytes
-rw-r--r--graphics/pokemon/squirtle/footprint.png (renamed from graphics/pokemon/footprints/squirtle_footprint.png)bin89 -> 89 bytes
-rw-r--r--graphics/pokemon/squirtle/front.png (renamed from graphics/pokemon/front_pics/squirtle_still_front_pic.png)bin580 -> 580 bytes
-rw-r--r--graphics/pokemon/squirtle/icon.png (renamed from graphics/pokemon/icons/squirtle_icon.png)bin344 -> 344 bytes
-rw-r--r--graphics/pokemon/squirtle/normal.pal (renamed from graphics/pokemon/palettes/squirtle_palette.pal)0
-rw-r--r--graphics/pokemon/squirtle/shiny.pal (renamed from graphics/pokemon/palettes/squirtle_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/stantler/anim_front.png (renamed from graphics/pokemon/anim_front_pics/stantler_front_pic.png)bin1513 -> 1513 bytes
-rw-r--r--graphics/pokemon/stantler/back.png (renamed from graphics/pokemon/back_pics/stantler_back_pic.png)bin680 -> 680 bytes
-rw-r--r--graphics/pokemon/stantler/footprint.png (renamed from graphics/pokemon/footprints/stantler_footprint.png)bin86 -> 86 bytes
-rw-r--r--graphics/pokemon/stantler/front.png (renamed from graphics/pokemon/front_pics/stantler_still_front_pic.png)bin881 -> 881 bytes
-rw-r--r--graphics/pokemon/stantler/icon.png (renamed from graphics/pokemon/icons/stantler_icon.png)bin356 -> 356 bytes
-rw-r--r--graphics/pokemon/stantler/normal.pal (renamed from graphics/pokemon/palettes/stantler_palette.pal)0
-rw-r--r--graphics/pokemon/stantler/shiny.pal (renamed from graphics/pokemon/palettes/stantler_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/starmie/anim_front.png (renamed from graphics/pokemon/anim_front_pics/starmie_front_pic.png)bin1253 -> 1253 bytes
-rw-r--r--graphics/pokemon/starmie/back.png (renamed from graphics/pokemon/back_pics/starmie_back_pic.png)bin501 -> 501 bytes
-rw-r--r--graphics/pokemon/starmie/footprint.png (renamed from graphics/pokemon/footprints/starmie_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/starmie/front.png (renamed from graphics/pokemon/front_pics/starmie_still_front_pic.png)bin868 -> 868 bytes
-rw-r--r--graphics/pokemon/starmie/icon.png (renamed from graphics/pokemon/icons/starmie_icon.png)bin380 -> 380 bytes
-rw-r--r--graphics/pokemon/starmie/normal.pal (renamed from graphics/pokemon/palettes/starmie_palette.pal)0
-rw-r--r--graphics/pokemon/starmie/shiny.pal (renamed from graphics/pokemon/palettes/starmie_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/staryu/anim_front.png (renamed from graphics/pokemon/anim_front_pics/staryu_front_pic.png)bin973 -> 973 bytes
-rw-r--r--graphics/pokemon/staryu/back.png (renamed from graphics/pokemon/back_pics/staryu_back_pic.png)bin481 -> 481 bytes
-rw-r--r--graphics/pokemon/staryu/footprint.png (renamed from graphics/pokemon/footprints/staryu_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/staryu/front.png (renamed from graphics/pokemon/front_pics/staryu_still_front_pic.png)bin620 -> 620 bytes
-rw-r--r--graphics/pokemon/staryu/icon.png (renamed from graphics/pokemon/icons/staryu_icon.png)bin294 -> 294 bytes
-rw-r--r--graphics/pokemon/staryu/normal.pal (renamed from graphics/pokemon/palettes/staryu_palette.pal)0
-rw-r--r--graphics/pokemon/staryu/shiny.pal (renamed from graphics/pokemon/palettes/staryu_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/steelix/anim_front.png (renamed from graphics/pokemon/anim_front_pics/steelix_front_pic.png)bin1476 -> 1476 bytes
-rw-r--r--graphics/pokemon/steelix/back.png (renamed from graphics/pokemon/back_pics/steelix_back_pic.png)bin819 -> 819 bytes
-rw-r--r--graphics/pokemon/steelix/footprint.png (renamed from graphics/pokemon/footprints/steelix_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/steelix/front.png (renamed from graphics/pokemon/front_pics/steelix_still_front_pic.png)bin943 -> 943 bytes
-rw-r--r--graphics/pokemon/steelix/icon.png (renamed from graphics/pokemon/icons/steelix_icon.png)bin433 -> 433 bytes
-rw-r--r--graphics/pokemon/steelix/normal.pal (renamed from graphics/pokemon/palettes/steelix_palette.pal)0
-rw-r--r--graphics/pokemon/steelix/shiny.pal (renamed from graphics/pokemon/palettes/steelix_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/sudowoodo/anim_front.png (renamed from graphics/pokemon/anim_front_pics/sudowoodo_front_pic.png)bin1077 -> 1077 bytes
-rw-r--r--graphics/pokemon/sudowoodo/back.png (renamed from graphics/pokemon/back_pics/sudowoodo_back_pic.png)bin696 -> 696 bytes
-rw-r--r--graphics/pokemon/sudowoodo/footprint.png (renamed from graphics/pokemon/footprints/sudowoodo_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/sudowoodo/front.png (renamed from graphics/pokemon/front_pics/sudowoodo_still_front_pic.png)bin651 -> 651 bytes
-rw-r--r--graphics/pokemon/sudowoodo/icon.png (renamed from graphics/pokemon/icons/sudowoodo_icon.png)bin395 -> 395 bytes
-rw-r--r--graphics/pokemon/sudowoodo/normal.pal (renamed from graphics/pokemon/palettes/sudowoodo_palette.pal)0
-rw-r--r--graphics/pokemon/sudowoodo/shiny.pal (renamed from graphics/pokemon/palettes/sudowoodo_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/suicune/anim_front.png (renamed from graphics/pokemon/anim_front_pics/suicune_front_pic.png)bin2161 -> 2161 bytes
-rw-r--r--graphics/pokemon/suicune/back.png (renamed from graphics/pokemon/back_pics/suicune_back_pic.png)bin975 -> 975 bytes
-rw-r--r--graphics/pokemon/suicune/footprint.png (renamed from graphics/pokemon/footprints/suicune_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/suicune/front.png (renamed from graphics/pokemon/front_pics/suicune_still_front_pic.png)bin1179 -> 1179 bytes
-rw-r--r--graphics/pokemon/suicune/icon.png (renamed from graphics/pokemon/icons/suicune_icon.png)bin471 -> 471 bytes
-rw-r--r--graphics/pokemon/suicune/normal.pal (renamed from graphics/pokemon/palettes/suicune_palette.pal)0
-rw-r--r--graphics/pokemon/suicune/shiny.pal (renamed from graphics/pokemon/palettes/suicune_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/sunflora/anim_front.png (renamed from graphics/pokemon/anim_front_pics/sunflora_front_pic.png)bin1050 -> 1050 bytes
-rw-r--r--graphics/pokemon/sunflora/back.png (renamed from graphics/pokemon/back_pics/sunflora_back_pic.png)bin749 -> 749 bytes
-rw-r--r--graphics/pokemon/sunflora/footprint.png (renamed from graphics/pokemon/footprints/sunflora_footprint.png)bin89 -> 89 bytes
-rw-r--r--graphics/pokemon/sunflora/front.png (renamed from graphics/pokemon/front_pics/sunflora_still_front_pic.png)bin707 -> 707 bytes
-rw-r--r--graphics/pokemon/sunflora/icon.png (renamed from graphics/pokemon/icons/sunflora_icon.png)bin447 -> 447 bytes
-rw-r--r--graphics/pokemon/sunflora/normal.pal (renamed from graphics/pokemon/palettes/sunflora_palette.pal)0
-rw-r--r--graphics/pokemon/sunflora/shiny.pal (renamed from graphics/pokemon/palettes/sunflora_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/sunkern/anim_front.png (renamed from graphics/pokemon/anim_front_pics/sunkern_front_pic.png)bin592 -> 592 bytes
-rw-r--r--graphics/pokemon/sunkern/back.png (renamed from graphics/pokemon/back_pics/sunkern_back_pic.png)bin555 -> 555 bytes
-rw-r--r--graphics/pokemon/sunkern/footprint.png (renamed from graphics/pokemon/footprints/sunkern_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/sunkern/front.png (renamed from graphics/pokemon/front_pics/sunkern_still_front_pic.png)bin448 -> 448 bytes
-rw-r--r--graphics/pokemon/sunkern/icon.png (renamed from graphics/pokemon/icons/sunkern_icon.png)bin366 -> 366 bytes
-rw-r--r--graphics/pokemon/sunkern/normal.pal (renamed from graphics/pokemon/palettes/sunkern_palette.pal)0
-rw-r--r--graphics/pokemon/sunkern/shiny.pal (renamed from graphics/pokemon/palettes/sunkern_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/surskit/anim_front.png (renamed from graphics/pokemon/anim_front_pics/surskit_front_pic.png)bin614 -> 614 bytes
-rw-r--r--graphics/pokemon/surskit/back.png (renamed from graphics/pokemon/back_pics/surskit_back_pic.png)bin459 -> 459 bytes
-rw-r--r--graphics/pokemon/surskit/footprint.png (renamed from graphics/pokemon/footprints/surskit_footprint.png)bin87 -> 87 bytes
-rw-r--r--graphics/pokemon/surskit/front.png (renamed from graphics/pokemon/front_pics/surskit_still_front_pic.png)bin417 -> 417 bytes
-rw-r--r--graphics/pokemon/surskit/icon.png (renamed from graphics/pokemon/icons/surskit_icon.png)bin325 -> 325 bytes
-rw-r--r--graphics/pokemon/surskit/normal.pal (renamed from graphics/pokemon/palettes/surskit_palette.pal)0
-rw-r--r--graphics/pokemon/surskit/shiny.pal (renamed from graphics/pokemon/palettes/surskit_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/swablu/anim_front.png (renamed from graphics/pokemon/anim_front_pics/swablu_front_pic.png)bin931 -> 931 bytes
-rw-r--r--graphics/pokemon/swablu/back.png (renamed from graphics/pokemon/back_pics/swablu_back_pic.png)bin740 -> 740 bytes
-rw-r--r--graphics/pokemon/swablu/footprint.png (renamed from graphics/pokemon/footprints/swablu_footprint.png)bin82 -> 82 bytes
-rw-r--r--graphics/pokemon/swablu/front.png (renamed from graphics/pokemon/front_pics/swablu_still_front_pic.png)bin624 -> 624 bytes
-rw-r--r--graphics/pokemon/swablu/icon.png (renamed from graphics/pokemon/icons/swablu_icon.png)bin324 -> 324 bytes
-rw-r--r--graphics/pokemon/swablu/normal.pal (renamed from graphics/pokemon/palettes/swablu_palette.pal)0
-rw-r--r--graphics/pokemon/swablu/shiny.pal (renamed from graphics/pokemon/palettes/swablu_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/swalot/anim_front.png (renamed from graphics/pokemon/anim_front_pics/swalot_front_pic.png)bin1081 -> 1081 bytes
-rw-r--r--graphics/pokemon/swalot/back.png (renamed from graphics/pokemon/back_pics/swalot_back_pic.png)bin687 -> 687 bytes
-rw-r--r--graphics/pokemon/swalot/footprint.png (renamed from graphics/pokemon/footprints/swalot_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/swalot/front.png (renamed from graphics/pokemon/front_pics/swalot_still_front_pic.png)bin677 -> 677 bytes
-rw-r--r--graphics/pokemon/swalot/icon.png (renamed from graphics/pokemon/icons/swalot_icon.png)bin315 -> 315 bytes
-rw-r--r--graphics/pokemon/swalot/normal.pal (renamed from graphics/pokemon/palettes/swalot_palette.pal)0
-rw-r--r--graphics/pokemon/swalot/shiny.pal (renamed from graphics/pokemon/palettes/swalot_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/swampert/anim_front.png (renamed from graphics/pokemon/anim_front_pics/swampert_front_pic.png)bin1868 -> 1868 bytes
-rw-r--r--graphics/pokemon/swampert/back.png (renamed from graphics/pokemon/back_pics/swampert_back_pic.png)bin768 -> 768 bytes
-rw-r--r--graphics/pokemon/swampert/footprint.png (renamed from graphics/pokemon/footprints/swampert_footprint.png)bin103 -> 103 bytes
-rw-r--r--graphics/pokemon/swampert/front.png (renamed from graphics/pokemon/front_pics/swampert_still_front_pic.png)bin1160 -> 1160 bytes
-rw-r--r--graphics/pokemon/swampert/icon.png (renamed from graphics/pokemon/icons/swampert_icon.png)bin417 -> 417 bytes
-rw-r--r--graphics/pokemon/swampert/normal.pal (renamed from graphics/pokemon/palettes/swampert_palette.pal)0
-rw-r--r--graphics/pokemon/swampert/shiny.pal (renamed from graphics/pokemon/palettes/swampert_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/swellow/anim_front.png (renamed from graphics/pokemon/anim_front_pics/swellow_front_pic.png)bin1046 -> 1046 bytes
-rw-r--r--graphics/pokemon/swellow/back.png (renamed from graphics/pokemon/back_pics/swellow_back_pic.png)bin669 -> 669 bytes
-rw-r--r--graphics/pokemon/swellow/footprint.png (renamed from graphics/pokemon/footprints/swellow_footprint.png)bin107 -> 107 bytes
-rw-r--r--graphics/pokemon/swellow/front.png (renamed from graphics/pokemon/front_pics/swellow_still_front_pic.png)bin816 -> 816 bytes
-rw-r--r--graphics/pokemon/swellow/icon.png (renamed from graphics/pokemon/icons/swellow_icon.png)bin369 -> 369 bytes
-rw-r--r--graphics/pokemon/swellow/normal.pal (renamed from graphics/pokemon/palettes/swellow_palette.pal)0
-rw-r--r--graphics/pokemon/swellow/shiny.pal (renamed from graphics/pokemon/palettes/swellow_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/swinub/anim_front.png (renamed from graphics/pokemon/anim_front_pics/swinub_front_pic.png)bin551 -> 551 bytes
-rw-r--r--graphics/pokemon/swinub/back.png (renamed from graphics/pokemon/back_pics/swinub_back_pic.png)bin382 -> 382 bytes
-rw-r--r--graphics/pokemon/swinub/footprint.png (renamed from graphics/pokemon/footprints/swinub_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/swinub/front.png (renamed from graphics/pokemon/front_pics/swinub_still_front_pic.png)bin381 -> 381 bytes
-rw-r--r--graphics/pokemon/swinub/icon.png (renamed from graphics/pokemon/icons/swinub_icon.png)bin320 -> 320 bytes
-rw-r--r--graphics/pokemon/swinub/normal.pal (renamed from graphics/pokemon/palettes/swinub_palette.pal)0
-rw-r--r--graphics/pokemon/swinub/shiny.pal (renamed from graphics/pokemon/palettes/swinub_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/taillow/anim_front.png (renamed from graphics/pokemon/anim_front_pics/taillow_front_pic.png)bin999 -> 999 bytes
-rw-r--r--graphics/pokemon/taillow/back.png (renamed from graphics/pokemon/back_pics/taillow_back_pic.png)bin446 -> 446 bytes
-rw-r--r--graphics/pokemon/taillow/footprint.png (renamed from graphics/pokemon/footprints/taillow_footprint.png)bin97 -> 97 bytes
-rw-r--r--graphics/pokemon/taillow/front.png (renamed from graphics/pokemon/front_pics/taillow_still_front_pic.png)bin508 -> 508 bytes
-rw-r--r--graphics/pokemon/taillow/icon.png (renamed from graphics/pokemon/icons/taillow_icon.png)bin329 -> 329 bytes
-rw-r--r--graphics/pokemon/taillow/normal.pal (renamed from graphics/pokemon/palettes/taillow_palette.pal)0
-rw-r--r--graphics/pokemon/taillow/shiny.pal (renamed from graphics/pokemon/palettes/taillow_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/tangela/anim_front.png (renamed from graphics/pokemon/anim_front_pics/tangela_front_pic.png)bin1274 -> 1274 bytes
-rw-r--r--graphics/pokemon/tangela/back.png (renamed from graphics/pokemon/back_pics/tangela_back_pic.png)bin676 -> 676 bytes
-rw-r--r--graphics/pokemon/tangela/footprint.png (renamed from graphics/pokemon/footprints/tangela_footprint.png)bin97 -> 97 bytes
-rw-r--r--graphics/pokemon/tangela/front.png (renamed from graphics/pokemon/front_pics/tangela_still_front_pic.png)bin746 -> 746 bytes
-rw-r--r--graphics/pokemon/tangela/icon.png (renamed from graphics/pokemon/icons/tangela_icon.png)bin365 -> 365 bytes
-rw-r--r--graphics/pokemon/tangela/normal.pal (renamed from graphics/pokemon/palettes/tangela_palette.pal)0
-rw-r--r--graphics/pokemon/tangela/shiny.pal (renamed from graphics/pokemon/palettes/tangela_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/tauros/anim_front.png (renamed from graphics/pokemon/anim_front_pics/tauros_front_pic.png)bin1766 -> 1766 bytes
-rw-r--r--graphics/pokemon/tauros/back.png (renamed from graphics/pokemon/back_pics/tauros_back_pic.png)bin561 -> 561 bytes
-rw-r--r--graphics/pokemon/tauros/footprint.png (renamed from graphics/pokemon/footprints/tauros_footprint.png)bin91 -> 91 bytes
-rw-r--r--graphics/pokemon/tauros/front.png (renamed from graphics/pokemon/front_pics/tauros_still_front_pic.png)bin1029 -> 1029 bytes
-rw-r--r--graphics/pokemon/tauros/icon.png (renamed from graphics/pokemon/icons/tauros_icon.png)bin421 -> 421 bytes
-rw-r--r--graphics/pokemon/tauros/normal.pal (renamed from graphics/pokemon/palettes/tauros_palette.pal)0
-rw-r--r--graphics/pokemon/tauros/shiny.pal (renamed from graphics/pokemon/palettes/tauros_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/teddiursa/anim_front.png (renamed from graphics/pokemon/anim_front_pics/teddiursa_front_pic.png)bin551 -> 551 bytes
-rw-r--r--graphics/pokemon/teddiursa/back.png (renamed from graphics/pokemon/back_pics/teddiursa_back_pic.png)bin512 -> 512 bytes
-rw-r--r--graphics/pokemon/teddiursa/footprint.png (renamed from graphics/pokemon/footprints/teddiursa_footprint.png)bin91 -> 91 bytes
-rw-r--r--graphics/pokemon/teddiursa/front.png (renamed from graphics/pokemon/front_pics/teddiursa_still_front_pic.png)bin472 -> 472 bytes
-rw-r--r--graphics/pokemon/teddiursa/icon.png (renamed from graphics/pokemon/icons/teddiursa_icon.png)bin304 -> 304 bytes
-rw-r--r--graphics/pokemon/teddiursa/normal.pal (renamed from graphics/pokemon/palettes/teddiursa_palette.pal)0
-rw-r--r--graphics/pokemon/teddiursa/shiny.pal (renamed from graphics/pokemon/palettes/teddiursa_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/tentacool/anim_front.png (renamed from graphics/pokemon/anim_front_pics/tentacool_front_pic.png)bin812 -> 812 bytes
-rw-r--r--graphics/pokemon/tentacool/back.png (renamed from graphics/pokemon/back_pics/tentacool_back_pic.png)bin556 -> 556 bytes
-rw-r--r--graphics/pokemon/tentacool/footprint.png (renamed from graphics/pokemon/footprints/tentacool_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/tentacool/front.png (renamed from graphics/pokemon/front_pics/tentacool_still_front_pic.png)bin561 -> 561 bytes
-rw-r--r--graphics/pokemon/tentacool/icon.png (renamed from graphics/pokemon/icons/tentacool_icon.png)bin333 -> 333 bytes
-rw-r--r--graphics/pokemon/tentacool/normal.pal (renamed from graphics/pokemon/palettes/tentacool_palette.pal)0
-rw-r--r--graphics/pokemon/tentacool/shiny.pal (renamed from graphics/pokemon/palettes/tentacool_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/tentacruel/anim_front.png (renamed from graphics/pokemon/anim_front_pics/tentacruel_front_pic.png)bin1345 -> 1345 bytes
-rw-r--r--graphics/pokemon/tentacruel/back.png (renamed from graphics/pokemon/back_pics/tentacruel_back_pic.png)bin736 -> 736 bytes
-rw-r--r--graphics/pokemon/tentacruel/footprint.png (renamed from graphics/pokemon/footprints/tentacruel_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/tentacruel/front.png (renamed from graphics/pokemon/front_pics/tentacruel_still_front_pic.png)bin971 -> 971 bytes
-rw-r--r--graphics/pokemon/tentacruel/icon.png (renamed from graphics/pokemon/icons/tentacruel_icon.png)bin486 -> 486 bytes
-rw-r--r--graphics/pokemon/tentacruel/normal.pal (renamed from graphics/pokemon/palettes/tentacruel_palette.pal)0
-rw-r--r--graphics/pokemon/tentacruel/shiny.pal (renamed from graphics/pokemon/palettes/tentacruel_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/togepi/anim_front.png (renamed from graphics/pokemon/anim_front_pics/togepi_front_pic.png)bin500 -> 500 bytes
-rw-r--r--graphics/pokemon/togepi/back.png (renamed from graphics/pokemon/back_pics/togepi_back_pic.png)bin514 -> 514 bytes
-rw-r--r--graphics/pokemon/togepi/footprint.png (renamed from graphics/pokemon/footprints/togepi_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/togepi/front.png (renamed from graphics/pokemon/front_pics/togepi_still_front_pic.png)bin390 -> 390 bytes
-rw-r--r--graphics/pokemon/togepi/icon.png (renamed from graphics/pokemon/icons/togepi_icon.png)bin347 -> 347 bytes
-rw-r--r--graphics/pokemon/togepi/normal.pal (renamed from graphics/pokemon/palettes/togepi_palette.pal)0
-rw-r--r--graphics/pokemon/togepi/shiny.pal (renamed from graphics/pokemon/palettes/togepi_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/togetic/anim_front.png (renamed from graphics/pokemon/anim_front_pics/togetic_front_pic.png)bin830 -> 830 bytes
-rw-r--r--graphics/pokemon/togetic/back.png (renamed from graphics/pokemon/back_pics/togetic_back_pic.png)bin630 -> 630 bytes
-rw-r--r--graphics/pokemon/togetic/footprint.png (renamed from graphics/pokemon/footprints/togetic_footprint.png)bin90 -> 90 bytes
-rw-r--r--graphics/pokemon/togetic/front.png (renamed from graphics/pokemon/front_pics/togetic_still_front_pic.png)bin513 -> 513 bytes
-rw-r--r--graphics/pokemon/togetic/icon.png (renamed from graphics/pokemon/icons/togetic_icon.png)bin324 -> 324 bytes
-rw-r--r--graphics/pokemon/togetic/normal.pal (renamed from graphics/pokemon/palettes/togetic_palette.pal)0
-rw-r--r--graphics/pokemon/togetic/shiny.pal (renamed from graphics/pokemon/palettes/togetic_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/torchic/anim_front.png (renamed from graphics/pokemon/anim_front_pics/torchic_front_pic.png)bin871 -> 871 bytes
-rw-r--r--graphics/pokemon/torchic/back.png (renamed from graphics/pokemon/back_pics/torchic_back_pic.png)bin576 -> 576 bytes
-rw-r--r--graphics/pokemon/torchic/footprint.png (renamed from graphics/pokemon/footprints/torchic_footprint.png)bin103 -> 103 bytes
-rw-r--r--graphics/pokemon/torchic/front.png (renamed from graphics/pokemon/front_pics/torchic_still_front_pic.png)bin548 -> 548 bytes
-rw-r--r--graphics/pokemon/torchic/icon.png (renamed from graphics/pokemon/icons/torchic_icon.png)bin338 -> 338 bytes
-rw-r--r--graphics/pokemon/torchic/normal.pal (renamed from graphics/pokemon/palettes/torchic_palette.pal)0
-rw-r--r--graphics/pokemon/torchic/shiny.pal (renamed from graphics/pokemon/palettes/torchic_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/torkoal/anim_front.png (renamed from graphics/pokemon/anim_front_pics/torkoal_front_pic.png)bin1616 -> 1616 bytes
-rw-r--r--graphics/pokemon/torkoal/back.png (renamed from graphics/pokemon/back_pics/torkoal_back_pic.png)bin569 -> 569 bytes
-rw-r--r--graphics/pokemon/torkoal/footprint.png (renamed from graphics/pokemon/footprints/torkoal_footprint.png)bin104 -> 104 bytes
-rw-r--r--graphics/pokemon/torkoal/front.png (renamed from graphics/pokemon/front_pics/torkoal_still_front_pic.png)bin977 -> 977 bytes
-rw-r--r--graphics/pokemon/torkoal/icon.png (renamed from graphics/pokemon/icons/torkoal_icon.png)bin342 -> 342 bytes
-rw-r--r--graphics/pokemon/torkoal/normal.pal (renamed from graphics/pokemon/palettes/torkoal_palette.pal)0
-rw-r--r--graphics/pokemon/torkoal/shiny.pal (renamed from graphics/pokemon/palettes/torkoal_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/totodile/anim_front.png (renamed from graphics/pokemon/anim_front_pics/totodile_front_pic.png)bin850 -> 850 bytes
-rw-r--r--graphics/pokemon/totodile/back.png (renamed from graphics/pokemon/back_pics/totodile_back_pic.png)bin599 -> 599 bytes
-rw-r--r--graphics/pokemon/totodile/footprint.png (renamed from graphics/pokemon/footprints/totodile_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/totodile/front.png (renamed from graphics/pokemon/front_pics/totodile_still_front_pic.png)bin533 -> 533 bytes
-rw-r--r--graphics/pokemon/totodile/icon.png (renamed from graphics/pokemon/icons/totodile_icon.png)bin331 -> 331 bytes
-rw-r--r--graphics/pokemon/totodile/normal.pal (renamed from graphics/pokemon/palettes/totodile_palette.pal)0
-rw-r--r--graphics/pokemon/totodile/shiny.pal (renamed from graphics/pokemon/palettes/totodile_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/trapinch/anim_front.png (renamed from graphics/pokemon/anim_front_pics/trapinch_front_pic.png)bin621 -> 621 bytes
-rw-r--r--graphics/pokemon/trapinch/back.png (renamed from graphics/pokemon/back_pics/trapinch_back_pic.png)bin437 -> 437 bytes
-rw-r--r--graphics/pokemon/trapinch/footprint.png (renamed from graphics/pokemon/footprints/trapinch_footprint.png)bin95 -> 95 bytes
-rw-r--r--graphics/pokemon/trapinch/front.png (renamed from graphics/pokemon/front_pics/trapinch_still_front_pic.png)bin420 -> 420 bytes
-rw-r--r--graphics/pokemon/trapinch/icon.png (renamed from graphics/pokemon/icons/trapinch_icon.png)bin314 -> 314 bytes
-rw-r--r--graphics/pokemon/trapinch/normal.pal (renamed from graphics/pokemon/palettes/trapinch_palette.pal)0
-rw-r--r--graphics/pokemon/trapinch/shiny.pal (renamed from graphics/pokemon/palettes/trapinch_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/treecko/anim_front.png (renamed from graphics/pokemon/anim_front_pics/treecko_front_pic.png)bin1000 -> 1000 bytes
-rw-r--r--graphics/pokemon/treecko/back.png (renamed from graphics/pokemon/back_pics/treecko_back_pic.png)bin636 -> 636 bytes
-rw-r--r--graphics/pokemon/treecko/footprint.png (renamed from graphics/pokemon/footprints/treecko_footprint.png)bin96 -> 96 bytes
-rw-r--r--graphics/pokemon/treecko/front.png (renamed from graphics/pokemon/front_pics/treecko_still_front_pic.png)bin635 -> 635 bytes
-rw-r--r--graphics/pokemon/treecko/icon.png (renamed from graphics/pokemon/icons/treecko_icon.png)bin346 -> 346 bytes
-rw-r--r--graphics/pokemon/treecko/normal.pal (renamed from graphics/pokemon/palettes/treecko_palette.pal)0
-rw-r--r--graphics/pokemon/treecko/shiny.pal (renamed from graphics/pokemon/palettes/treecko_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/tropius/anim_front.png (renamed from graphics/pokemon/anim_front_pics/tropius_front_pic.png)bin1876 -> 1876 bytes
-rw-r--r--graphics/pokemon/tropius/back.png (renamed from graphics/pokemon/back_pics/tropius_back_pic.png)bin632 -> 632 bytes
-rw-r--r--graphics/pokemon/tropius/footprint.png (renamed from graphics/pokemon/footprints/tropius_footprint.png)bin109 -> 109 bytes
-rw-r--r--graphics/pokemon/tropius/front.png (renamed from graphics/pokemon/front_pics/tropius_still_front_pic.png)bin1172 -> 1172 bytes
-rw-r--r--graphics/pokemon/tropius/icon.png (renamed from graphics/pokemon/icons/tropius_icon.png)bin422 -> 422 bytes
-rw-r--r--graphics/pokemon/tropius/normal.pal (renamed from graphics/pokemon/palettes/tropius_palette.pal)0
-rw-r--r--graphics/pokemon/tropius/shiny.pal (renamed from graphics/pokemon/palettes/tropius_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/typhlosion/anim_front.png (renamed from graphics/pokemon/anim_front_pics/typhlosion_front_pic.png)bin1448 -> 1448 bytes
-rw-r--r--graphics/pokemon/typhlosion/back.png (renamed from graphics/pokemon/back_pics/typhlosion_back_pic.png)bin849 -> 849 bytes
-rw-r--r--graphics/pokemon/typhlosion/footprint.png (renamed from graphics/pokemon/footprints/typhlosion_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/typhlosion/front.png (renamed from graphics/pokemon/front_pics/typhlosion_still_front_pic.png)bin896 -> 896 bytes
-rw-r--r--graphics/pokemon/typhlosion/icon.png (renamed from graphics/pokemon/icons/typhlosion_icon.png)bin417 -> 417 bytes
-rw-r--r--graphics/pokemon/typhlosion/normal.pal (renamed from graphics/pokemon/palettes/typhlosion_palette.pal)0
-rw-r--r--graphics/pokemon/typhlosion/shiny.pal (renamed from graphics/pokemon/palettes/typhlosion_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/tyranitar/anim_front.png (renamed from graphics/pokemon/anim_front_pics/tyranitar_front_pic.png)bin1876 -> 1876 bytes
-rw-r--r--graphics/pokemon/tyranitar/back.png (renamed from graphics/pokemon/back_pics/tyranitar_back_pic.png)bin776 -> 776 bytes
-rw-r--r--graphics/pokemon/tyranitar/footprint.png (renamed from graphics/pokemon/footprints/tyranitar_footprint.png)bin97 -> 97 bytes
-rw-r--r--graphics/pokemon/tyranitar/front.png (renamed from graphics/pokemon/front_pics/tyranitar_still_front_pic.png)bin1095 -> 1095 bytes
-rw-r--r--graphics/pokemon/tyranitar/icon.png (renamed from graphics/pokemon/icons/tyranitar_icon.png)bin435 -> 435 bytes
-rw-r--r--graphics/pokemon/tyranitar/normal.pal (renamed from graphics/pokemon/palettes/tyranitar_palette.pal)0
-rw-r--r--graphics/pokemon/tyranitar/shiny.pal (renamed from graphics/pokemon/palettes/tyranitar_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/tyrogue/anim_front.png (renamed from graphics/pokemon/anim_front_pics/tyrogue_front_pic.png)bin852 -> 852 bytes
-rw-r--r--graphics/pokemon/tyrogue/back.png (renamed from graphics/pokemon/back_pics/tyrogue_back_pic.png)bin618 -> 618 bytes
-rw-r--r--graphics/pokemon/tyrogue/footprint.png (renamed from graphics/pokemon/footprints/tyrogue_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/tyrogue/front.png (renamed from graphics/pokemon/front_pics/tyrogue_still_front_pic.png)bin530 -> 530 bytes
-rw-r--r--graphics/pokemon/tyrogue/icon.png (renamed from graphics/pokemon/icons/tyrogue_icon.png)bin321 -> 321 bytes
-rw-r--r--graphics/pokemon/tyrogue/normal.pal (renamed from graphics/pokemon/palettes/tyrogue_palette.pal)0
-rw-r--r--graphics/pokemon/tyrogue/shiny.pal (renamed from graphics/pokemon/palettes/tyrogue_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/umbreon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/umbreon_front_pic.png)bin1084 -> 1084 bytes
-rw-r--r--graphics/pokemon/umbreon/back.png (renamed from graphics/pokemon/back_pics/umbreon_back_pic.png)bin638 -> 638 bytes
-rw-r--r--graphics/pokemon/umbreon/footprint.png (renamed from graphics/pokemon/footprints/umbreon_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/umbreon/front.png (renamed from graphics/pokemon/front_pics/umbreon_still_front_pic.png)bin650 -> 650 bytes
-rw-r--r--graphics/pokemon/umbreon/icon.png (renamed from graphics/pokemon/icons/umbreon_icon.png)bin358 -> 358 bytes
-rw-r--r--graphics/pokemon/umbreon/normal.pal (renamed from graphics/pokemon/palettes/umbreon_palette.pal)0
-rw-r--r--graphics/pokemon/umbreon/shiny.pal (renamed from graphics/pokemon/palettes/umbreon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/unown/anim_front_a.png (renamed from graphics/pokemon/anim_front_pics/unown_a_front_pic.png)bin345 -> 345 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_b.png (renamed from graphics/pokemon/anim_front_pics/unown_b_front_pic.png)bin362 -> 362 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_c.png (renamed from graphics/pokemon/anim_front_pics/unown_c_front_pic.png)bin403 -> 403 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_d.png (renamed from graphics/pokemon/anim_front_pics/unown_d_front_pic.png)bin359 -> 359 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_e.png (renamed from graphics/pokemon/anim_front_pics/unown_e_front_pic.png)bin332 -> 332 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_exclamation_mark.png (renamed from graphics/pokemon/anim_front_pics/unown_exclamation_mark_front_pic.png)bin301 -> 301 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_f.png (renamed from graphics/pokemon/anim_front_pics/unown_f_front_pic.png)bin372 -> 372 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_g.png (renamed from graphics/pokemon/anim_front_pics/unown_g_front_pic.png)bin369 -> 369 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_h.png (renamed from graphics/pokemon/anim_front_pics/unown_h_front_pic.png)bin433 -> 433 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_i.png (renamed from graphics/pokemon/anim_front_pics/unown_i_front_pic.png)bin311 -> 311 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_j.png (renamed from graphics/pokemon/anim_front_pics/unown_j_front_pic.png)bin342 -> 342 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_k.png (renamed from graphics/pokemon/anim_front_pics/unown_k_front_pic.png)bin354 -> 354 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_l.png (renamed from graphics/pokemon/anim_front_pics/unown_l_front_pic.png)bin321 -> 321 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_m.png (renamed from graphics/pokemon/anim_front_pics/unown_m_front_pic.png)bin423 -> 423 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_n.png (renamed from graphics/pokemon/anim_front_pics/unown_n_front_pic.png)bin385 -> 385 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_o.png (renamed from graphics/pokemon/anim_front_pics/unown_o_front_pic.png)bin426 -> 426 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_p.png (renamed from graphics/pokemon/anim_front_pics/unown_p_front_pic.png)bin318 -> 318 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_q.png (renamed from graphics/pokemon/anim_front_pics/unown_q_front_pic.png)bin327 -> 327 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_question_mark.png (renamed from graphics/pokemon/anim_front_pics/unown_question_mark_front_pic.png)bin339 -> 339 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_r.png (renamed from graphics/pokemon/anim_front_pics/unown_r_front_pic.png)bin319 -> 319 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_s.png (renamed from graphics/pokemon/anim_front_pics/unown_s_front_pic.png)bin373 -> 373 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_t.png (renamed from graphics/pokemon/anim_front_pics/unown_t_front_pic.png)bin323 -> 323 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_u.png (renamed from graphics/pokemon/anim_front_pics/unown_u_front_pic.png)bin397 -> 397 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_v.png (renamed from graphics/pokemon/anim_front_pics/unown_v_front_pic.png)bin358 -> 358 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_w.png (renamed from graphics/pokemon/anim_front_pics/unown_w_front_pic.png)bin363 -> 363 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_x.png (renamed from graphics/pokemon/anim_front_pics/unown_x_front_pic.png)bin344 -> 344 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_y.png (renamed from graphics/pokemon/anim_front_pics/unown_y_front_pic.png)bin355 -> 355 bytes
-rw-r--r--graphics/pokemon/unown/anim_front_z.png (renamed from graphics/pokemon/anim_front_pics/unown_z_front_pic.png)bin332 -> 332 bytes
-rw-r--r--graphics/pokemon/unown/back_a.png (renamed from graphics/pokemon/back_pics/unown_a_back_pic.png)bin376 -> 376 bytes
-rw-r--r--graphics/pokemon/unown/back_b.png (renamed from graphics/pokemon/back_pics/unown_b_back_pic.png)bin394 -> 394 bytes
-rw-r--r--graphics/pokemon/unown/back_c.png (renamed from graphics/pokemon/back_pics/unown_c_back_pic.png)bin505 -> 505 bytes
-rw-r--r--graphics/pokemon/unown/back_d.png (renamed from graphics/pokemon/back_pics/unown_d_back_pic.png)bin451 -> 451 bytes
-rw-r--r--graphics/pokemon/unown/back_e.png (renamed from graphics/pokemon/back_pics/unown_e_back_pic.png)bin400 -> 400 bytes
-rw-r--r--graphics/pokemon/unown/back_exclamation_mark.png (renamed from graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.png)bin312 -> 312 bytes
-rw-r--r--graphics/pokemon/unown/back_f.png (renamed from graphics/pokemon/back_pics/unown_f_back_pic.png)bin417 -> 417 bytes
-rw-r--r--graphics/pokemon/unown/back_g.png (renamed from graphics/pokemon/back_pics/unown_g_back_pic.png)bin431 -> 431 bytes
-rw-r--r--graphics/pokemon/unown/back_h.png (renamed from graphics/pokemon/back_pics/unown_h_back_pic.png)bin534 -> 534 bytes
-rw-r--r--graphics/pokemon/unown/back_i.png (renamed from graphics/pokemon/back_pics/unown_i_back_pic.png)bin328 -> 328 bytes
-rw-r--r--graphics/pokemon/unown/back_j.png (renamed from graphics/pokemon/back_pics/unown_j_back_pic.png)bin370 -> 370 bytes
-rw-r--r--graphics/pokemon/unown/back_k.png (renamed from graphics/pokemon/back_pics/unown_k_back_pic.png)bin388 -> 388 bytes
-rw-r--r--graphics/pokemon/unown/back_l.png (renamed from graphics/pokemon/back_pics/unown_l_back_pic.png)bin356 -> 356 bytes
-rw-r--r--graphics/pokemon/unown/back_m.png (renamed from graphics/pokemon/back_pics/unown_m_back_pic.png)bin499 -> 499 bytes
-rw-r--r--graphics/pokemon/unown/back_n.png (renamed from graphics/pokemon/back_pics/unown_n_back_pic.png)bin474 -> 474 bytes
-rw-r--r--graphics/pokemon/unown/back_o.png (renamed from graphics/pokemon/back_pics/unown_o_back_pic.png)bin517 -> 517 bytes
-rw-r--r--graphics/pokemon/unown/back_p.png (renamed from graphics/pokemon/back_pics/unown_p_back_pic.png)bin333 -> 333 bytes
-rw-r--r--graphics/pokemon/unown/back_q.png (renamed from graphics/pokemon/back_pics/unown_q_back_pic.png)bin335 -> 335 bytes
-rw-r--r--graphics/pokemon/unown/back_question_mark.png (renamed from graphics/pokemon/back_pics/unown_question_mark_back_pic.png)bin382 -> 382 bytes
-rw-r--r--graphics/pokemon/unown/back_r.png (renamed from graphics/pokemon/back_pics/unown_r_back_pic.png)bin337 -> 337 bytes
-rw-r--r--graphics/pokemon/unown/back_s.png (renamed from graphics/pokemon/back_pics/unown_s_back_pic.png)bin439 -> 439 bytes
-rw-r--r--graphics/pokemon/unown/back_t.png (renamed from graphics/pokemon/back_pics/unown_t_back_pic.png)bin324 -> 324 bytes
-rw-r--r--graphics/pokemon/unown/back_u.png (renamed from graphics/pokemon/back_pics/unown_u_back_pic.png)bin454 -> 454 bytes
-rw-r--r--graphics/pokemon/unown/back_v.png (renamed from graphics/pokemon/back_pics/unown_v_back_pic.png)bin416 -> 416 bytes
-rw-r--r--graphics/pokemon/unown/back_w.png (renamed from graphics/pokemon/back_pics/unown_w_back_pic.png)bin378 -> 378 bytes
-rw-r--r--graphics/pokemon/unown/back_x.png (renamed from graphics/pokemon/back_pics/unown_x_back_pic.png)bin376 -> 376 bytes
-rw-r--r--graphics/pokemon/unown/back_y.png (renamed from graphics/pokemon/back_pics/unown_y_back_pic.png)bin404 -> 404 bytes
-rw-r--r--graphics/pokemon/unown/back_z.png (renamed from graphics/pokemon/back_pics/unown_z_back_pic.png)bin348 -> 348 bytes
-rw-r--r--graphics/pokemon/unown/footprint.png (renamed from graphics/pokemon/footprints/unown_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/unown/front_a.png (renamed from graphics/pokemon/front_pics/unown_a_still_front_pic.png)bin337 -> 337 bytes
-rw-r--r--graphics/pokemon/unown/front_b.png (renamed from graphics/pokemon/front_pics/unown_b_still_front_pic.png)bin355 -> 355 bytes
-rw-r--r--graphics/pokemon/unown/front_c.png (renamed from graphics/pokemon/front_pics/unown_c_still_front_pic.png)bin395 -> 395 bytes
-rw-r--r--graphics/pokemon/unown/front_d.png (renamed from graphics/pokemon/front_pics/unown_d_still_front_pic.png)bin352 -> 352 bytes
-rw-r--r--graphics/pokemon/unown/front_e.png (renamed from graphics/pokemon/front_pics/unown_e_still_front_pic.png)bin325 -> 325 bytes
-rw-r--r--graphics/pokemon/unown/front_exclamation_mark.png (renamed from graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.png)bin294 -> 294 bytes
-rw-r--r--graphics/pokemon/unown/front_f.png (renamed from graphics/pokemon/front_pics/unown_f_still_front_pic.png)bin364 -> 364 bytes
-rw-r--r--graphics/pokemon/unown/front_g.png (renamed from graphics/pokemon/front_pics/unown_g_still_front_pic.png)bin359 -> 359 bytes
-rw-r--r--graphics/pokemon/unown/front_h.png (renamed from graphics/pokemon/front_pics/unown_h_still_front_pic.png)bin424 -> 424 bytes
-rw-r--r--graphics/pokemon/unown/front_i.png (renamed from graphics/pokemon/front_pics/unown_i_still_front_pic.png)bin305 -> 305 bytes
-rw-r--r--graphics/pokemon/unown/front_j.png (renamed from graphics/pokemon/front_pics/unown_j_still_front_pic.png)bin334 -> 334 bytes
-rw-r--r--graphics/pokemon/unown/front_k.png (renamed from graphics/pokemon/front_pics/unown_k_still_front_pic.png)bin347 -> 347 bytes
-rw-r--r--graphics/pokemon/unown/front_l.png (renamed from graphics/pokemon/front_pics/unown_l_still_front_pic.png)bin315 -> 315 bytes
-rw-r--r--graphics/pokemon/unown/front_m.png (renamed from graphics/pokemon/front_pics/unown_m_still_front_pic.png)bin414 -> 414 bytes
-rw-r--r--graphics/pokemon/unown/front_n.png (renamed from graphics/pokemon/front_pics/unown_n_still_front_pic.png)bin379 -> 379 bytes
-rw-r--r--graphics/pokemon/unown/front_o.png (renamed from graphics/pokemon/front_pics/unown_o_still_front_pic.png)bin417 -> 417 bytes
-rw-r--r--graphics/pokemon/unown/front_p.png (renamed from graphics/pokemon/front_pics/unown_p_still_front_pic.png)bin312 -> 312 bytes
-rw-r--r--graphics/pokemon/unown/front_q.png (renamed from graphics/pokemon/front_pics/unown_q_still_front_pic.png)bin320 -> 320 bytes
-rw-r--r--graphics/pokemon/unown/front_question_mark.png (renamed from graphics/pokemon/front_pics/unown_question_mark_still_front_pic.png)bin332 -> 332 bytes
-rw-r--r--graphics/pokemon/unown/front_r.png (renamed from graphics/pokemon/front_pics/unown_r_still_front_pic.png)bin313 -> 313 bytes
-rw-r--r--graphics/pokemon/unown/front_s.png (renamed from graphics/pokemon/front_pics/unown_s_still_front_pic.png)bin363 -> 363 bytes
-rw-r--r--graphics/pokemon/unown/front_t.png (renamed from graphics/pokemon/front_pics/unown_t_still_front_pic.png)bin316 -> 316 bytes
-rw-r--r--graphics/pokemon/unown/front_u.png (renamed from graphics/pokemon/front_pics/unown_u_still_front_pic.png)bin391 -> 391 bytes
-rw-r--r--graphics/pokemon/unown/front_v.png (renamed from graphics/pokemon/front_pics/unown_v_still_front_pic.png)bin349 -> 349 bytes
-rw-r--r--graphics/pokemon/unown/front_w.png (renamed from graphics/pokemon/front_pics/unown_w_still_front_pic.png)bin355 -> 355 bytes
-rw-r--r--graphics/pokemon/unown/front_x.png (renamed from graphics/pokemon/front_pics/unown_x_still_front_pic.png)bin337 -> 337 bytes
-rw-r--r--graphics/pokemon/unown/front_y.png (renamed from graphics/pokemon/front_pics/unown_y_still_front_pic.png)bin347 -> 347 bytes
-rw-r--r--graphics/pokemon/unown/front_z.png (renamed from graphics/pokemon/front_pics/unown_z_still_front_pic.png)bin324 -> 324 bytes
-rw-r--r--graphics/pokemon/unown/icon_a.png (renamed from graphics/pokemon/icons/unown_a_icon.png)bin245 -> 245 bytes
-rw-r--r--graphics/pokemon/unown/icon_b.png (renamed from graphics/pokemon/icons/unown_B_icon.png)bin256 -> 256 bytes
-rw-r--r--graphics/pokemon/unown/icon_c.png (renamed from graphics/pokemon/icons/unown_C_icon.png)bin276 -> 276 bytes
-rw-r--r--graphics/pokemon/unown/icon_d.png (renamed from graphics/pokemon/icons/unown_D_icon.png)bin257 -> 257 bytes
-rw-r--r--graphics/pokemon/unown/icon_e.png (renamed from graphics/pokemon/icons/unown_E_icon.png)bin249 -> 249 bytes
-rw-r--r--graphics/pokemon/unown/icon_exclamation_mark.png (renamed from graphics/pokemon/icons/unown_exclamation_mark_icon.png)bin220 -> 220 bytes
-rw-r--r--graphics/pokemon/unown/icon_f.png (renamed from graphics/pokemon/icons/unown_F_icon.png)bin269 -> 269 bytes
-rw-r--r--graphics/pokemon/unown/icon_g.png (renamed from graphics/pokemon/icons/unown_G_icon.png)bin241 -> 241 bytes
-rw-r--r--graphics/pokemon/unown/icon_h.png (renamed from graphics/pokemon/icons/unown_H_icon.png)bin270 -> 270 bytes
-rw-r--r--graphics/pokemon/unown/icon_i.png (renamed from graphics/pokemon/icons/unown_I_icon.png)bin223 -> 223 bytes
-rw-r--r--graphics/pokemon/unown/icon_j.png (renamed from graphics/pokemon/icons/unown_J_icon.png)bin244 -> 244 bytes
-rw-r--r--graphics/pokemon/unown/icon_k.png (renamed from graphics/pokemon/icons/unown_K_icon.png)bin244 -> 244 bytes
-rw-r--r--graphics/pokemon/unown/icon_l.png (renamed from graphics/pokemon/icons/unown_L_icon.png)bin243 -> 243 bytes
-rw-r--r--graphics/pokemon/unown/icon_m.png (renamed from graphics/pokemon/icons/unown_M_icon.png)bin268 -> 268 bytes
-rw-r--r--graphics/pokemon/unown/icon_n.png (renamed from graphics/pokemon/icons/unown_N_icon.png)bin259 -> 259 bytes
-rw-r--r--graphics/pokemon/unown/icon_o.png (renamed from graphics/pokemon/icons/unown_O_icon.png)bin260 -> 260 bytes
-rw-r--r--graphics/pokemon/unown/icon_p.png (renamed from graphics/pokemon/icons/unown_P_icon.png)bin227 -> 227 bytes
-rw-r--r--graphics/pokemon/unown/icon_q.png (renamed from graphics/pokemon/icons/unown_Q_icon.png)bin238 -> 238 bytes
-rw-r--r--graphics/pokemon/unown/icon_question_mark.png (renamed from graphics/pokemon/icons/unown_question_mark_icon.png)bin245 -> 245 bytes
-rw-r--r--graphics/pokemon/unown/icon_r.png (renamed from graphics/pokemon/icons/unown_R_icon.png)bin232 -> 232 bytes
-rw-r--r--graphics/pokemon/unown/icon_s.png (renamed from graphics/pokemon/icons/unown_S_icon.png)bin259 -> 259 bytes
-rw-r--r--graphics/pokemon/unown/icon_t.png (renamed from graphics/pokemon/icons/unown_T_icon.png)bin241 -> 241 bytes
-rw-r--r--graphics/pokemon/unown/icon_u.png (renamed from graphics/pokemon/icons/unown_U_icon.png)bin250 -> 250 bytes
-rw-r--r--graphics/pokemon/unown/icon_v.png (renamed from graphics/pokemon/icons/unown_V_icon.png)bin255 -> 255 bytes
-rw-r--r--graphics/pokemon/unown/icon_w.png (renamed from graphics/pokemon/icons/unown_W_icon.png)bin261 -> 261 bytes
-rw-r--r--graphics/pokemon/unown/icon_x.png (renamed from graphics/pokemon/icons/unown_X_icon.png)bin255 -> 255 bytes
-rw-r--r--graphics/pokemon/unown/icon_y.png (renamed from graphics/pokemon/icons/unown_Y_icon.png)bin251 -> 251 bytes
-rw-r--r--graphics/pokemon/unown/icon_z.png (renamed from graphics/pokemon/icons/unown_Z_icon.png)bin244 -> 244 bytes
-rw-r--r--graphics/pokemon/unown/normal.pal (renamed from graphics/pokemon/palettes/unown_palette.pal)0
-rw-r--r--graphics/pokemon/unown/shiny.pal (renamed from graphics/pokemon/palettes/unown_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/ursaring/anim_front.png (renamed from graphics/pokemon/anim_front_pics/ursaring_front_pic.png)bin1517 -> 1517 bytes
-rw-r--r--graphics/pokemon/ursaring/back.png (renamed from graphics/pokemon/back_pics/ursaring_back_pic.png)bin718 -> 718 bytes
-rw-r--r--graphics/pokemon/ursaring/footprint.png (renamed from graphics/pokemon/footprints/ursaring_footprint.png)bin99 -> 99 bytes
-rw-r--r--graphics/pokemon/ursaring/front.png (renamed from graphics/pokemon/front_pics/ursaring_still_front_pic.png)bin894 -> 894 bytes
-rw-r--r--graphics/pokemon/ursaring/icon.png (renamed from graphics/pokemon/icons/ursaring_icon.png)bin355 -> 355 bytes
-rw-r--r--graphics/pokemon/ursaring/normal.pal (renamed from graphics/pokemon/palettes/ursaring_palette.pal)0
-rw-r--r--graphics/pokemon/ursaring/shiny.pal (renamed from graphics/pokemon/palettes/ursaring_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/vaporeon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/vaporeon_front_pic.png)bin1281 -> 1281 bytes
-rw-r--r--graphics/pokemon/vaporeon/back.png (renamed from graphics/pokemon/back_pics/vaporeon_back_pic.png)bin572 -> 572 bytes
-rw-r--r--graphics/pokemon/vaporeon/footprint.png (renamed from graphics/pokemon/footprints/vaporeon_footprint.png)bin94 -> 94 bytes
-rw-r--r--graphics/pokemon/vaporeon/front.png (renamed from graphics/pokemon/front_pics/vaporeon_still_front_pic.png)bin802 -> 802 bytes
-rw-r--r--graphics/pokemon/vaporeon/icon.png (renamed from graphics/pokemon/icons/vaporeon_icon.png)bin393 -> 393 bytes
-rw-r--r--graphics/pokemon/vaporeon/normal.pal (renamed from graphics/pokemon/palettes/vaporeon_palette.pal)0
-rw-r--r--graphics/pokemon/vaporeon/shiny.pal (renamed from graphics/pokemon/palettes/vaporeon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/venomoth/anim_front.png (renamed from graphics/pokemon/anim_front_pics/venomoth_front_pic.png)bin1534 -> 1534 bytes
-rw-r--r--graphics/pokemon/venomoth/back.png (renamed from graphics/pokemon/back_pics/venomoth_back_pic.png)bin785 -> 785 bytes
-rw-r--r--graphics/pokemon/venomoth/footprint.png (renamed from graphics/pokemon/footprints/venomoth_footprint.png)bin76 -> 76 bytes
-rw-r--r--graphics/pokemon/venomoth/front.png (renamed from graphics/pokemon/front_pics/venomoth_still_front_pic.png)bin980 -> 980 bytes
-rw-r--r--graphics/pokemon/venomoth/icon.png (renamed from graphics/pokemon/icons/venomoth_icon.png)bin400 -> 400 bytes
-rw-r--r--graphics/pokemon/venomoth/normal.pal (renamed from graphics/pokemon/palettes/venomoth_palette.pal)0
-rw-r--r--graphics/pokemon/venomoth/shiny.pal (renamed from graphics/pokemon/palettes/venomoth_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/venonat/anim_front.png (renamed from graphics/pokemon/anim_front_pics/venonat_front_pic.png)bin1170 -> 1170 bytes
-rw-r--r--graphics/pokemon/venonat/back.png (renamed from graphics/pokemon/back_pics/venonat_back_pic.png)bin678 -> 678 bytes
-rw-r--r--graphics/pokemon/venonat/footprint.png (renamed from graphics/pokemon/footprints/venonat_footprint.png)bin89 -> 89 bytes
-rw-r--r--graphics/pokemon/venonat/front.png (renamed from graphics/pokemon/front_pics/venonat_still_front_pic.png)bin753 -> 753 bytes
-rw-r--r--graphics/pokemon/venonat/icon.png (renamed from graphics/pokemon/icons/venonat_icon.png)bin322 -> 322 bytes
-rw-r--r--graphics/pokemon/venonat/normal.pal (renamed from graphics/pokemon/palettes/venonat_palette.pal)0
-rw-r--r--graphics/pokemon/venonat/shiny.pal (renamed from graphics/pokemon/palettes/venonat_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/venusaur/anim_front.png (renamed from graphics/pokemon/anim_front_pics/venusaur_front_pic.png)bin1958 -> 1958 bytes
-rw-r--r--graphics/pokemon/venusaur/back.png (renamed from graphics/pokemon/back_pics/venusaur_back_pic.png)bin980 -> 980 bytes
-rw-r--r--graphics/pokemon/venusaur/footprint.png (renamed from graphics/pokemon/footprints/venusaur_footprint.png)bin96 -> 96 bytes
-rw-r--r--graphics/pokemon/venusaur/front.png (renamed from graphics/pokemon/front_pics/venusaur_still_front_pic.png)bin1186 -> 1186 bytes
-rw-r--r--graphics/pokemon/venusaur/icon.png (renamed from graphics/pokemon/icons/venusaur_icon.png)bin447 -> 447 bytes
-rw-r--r--graphics/pokemon/venusaur/normal.pal (renamed from graphics/pokemon/palettes/venusaur_palette.pal)0
-rw-r--r--graphics/pokemon/venusaur/shiny.pal (renamed from graphics/pokemon/palettes/venusaur_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/vibrava/anim_front.png (renamed from graphics/pokemon/anim_front_pics/vibrava_front_pic.png)bin1231 -> 1231 bytes
-rw-r--r--graphics/pokemon/vibrava/back.png (renamed from graphics/pokemon/back_pics/vibrava_back_pic.png)bin518 -> 518 bytes
-rw-r--r--graphics/pokemon/vibrava/footprint.png (renamed from graphics/pokemon/footprints/vibrava_footprint.png)bin86 -> 86 bytes
-rw-r--r--graphics/pokemon/vibrava/front.png (renamed from graphics/pokemon/front_pics/vibrava_still_front_pic.png)bin708 -> 708 bytes
-rw-r--r--graphics/pokemon/vibrava/icon.png (renamed from graphics/pokemon/icons/vibrava_icon.png)bin356 -> 356 bytes
-rw-r--r--graphics/pokemon/vibrava/normal.pal (renamed from graphics/pokemon/palettes/vibrava_palette.pal)0
-rw-r--r--graphics/pokemon/vibrava/shiny.pal (renamed from graphics/pokemon/palettes/vibrava_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/victreebel/anim_front.png (renamed from graphics/pokemon/anim_front_pics/victreebel_front_pic.png)bin1509 -> 1509 bytes
-rw-r--r--graphics/pokemon/victreebel/back.png (renamed from graphics/pokemon/back_pics/victreebel_back_pic.png)bin752 -> 752 bytes
-rw-r--r--graphics/pokemon/victreebel/footprint.png (renamed from graphics/pokemon/footprints/victreebel_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/victreebel/front.png (renamed from graphics/pokemon/front_pics/victreebel_still_front_pic.png)bin907 -> 907 bytes
-rw-r--r--graphics/pokemon/victreebel/icon.png (renamed from graphics/pokemon/icons/victreebel_icon.png)bin437 -> 437 bytes
-rw-r--r--graphics/pokemon/victreebel/normal.pal (renamed from graphics/pokemon/palettes/victreebel_palette.pal)0
-rw-r--r--graphics/pokemon/victreebel/shiny.pal (renamed from graphics/pokemon/palettes/victreebel_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/vigoroth/anim_front.png (renamed from graphics/pokemon/anim_front_pics/vigoroth_front_pic.png)bin1522 -> 1522 bytes
-rw-r--r--graphics/pokemon/vigoroth/back.png (renamed from graphics/pokemon/back_pics/vigoroth_back_pic.png)bin589 -> 589 bytes
-rw-r--r--graphics/pokemon/vigoroth/footprint.png (renamed from graphics/pokemon/footprints/vigoroth_footprint.png)bin110 -> 110 bytes
-rw-r--r--graphics/pokemon/vigoroth/front.png (renamed from graphics/pokemon/front_pics/vigoroth_still_front_pic.png)bin886 -> 886 bytes
-rw-r--r--graphics/pokemon/vigoroth/icon.png (renamed from graphics/pokemon/icons/vigoroth_icon.png)bin358 -> 358 bytes
-rw-r--r--graphics/pokemon/vigoroth/normal.pal (renamed from graphics/pokemon/palettes/vigoroth_palette.pal)0
-rw-r--r--graphics/pokemon/vigoroth/shiny.pal (renamed from graphics/pokemon/palettes/vigoroth_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/vileplume/anim_front.png (renamed from graphics/pokemon/anim_front_pics/vileplume_front_pic.png)bin1085 -> 1085 bytes
-rw-r--r--graphics/pokemon/vileplume/back.png (renamed from graphics/pokemon/back_pics/vileplume_back_pic.png)bin825 -> 825 bytes
-rw-r--r--graphics/pokemon/vileplume/footprint.png (renamed from graphics/pokemon/footprints/vileplume_footprint.png)bin89 -> 89 bytes
-rw-r--r--graphics/pokemon/vileplume/front.png (renamed from graphics/pokemon/front_pics/vileplume_still_front_pic.png)bin745 -> 745 bytes
-rw-r--r--graphics/pokemon/vileplume/icon.png (renamed from graphics/pokemon/icons/vileplume_icon.png)bin410 -> 410 bytes
-rw-r--r--graphics/pokemon/vileplume/normal.pal (renamed from graphics/pokemon/palettes/vileplume_palette.pal)0
-rw-r--r--graphics/pokemon/vileplume/shiny.pal (renamed from graphics/pokemon/palettes/vileplume_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/volbeat/anim_front.png (renamed from graphics/pokemon/anim_front_pics/volbeat_front_pic.png)bin1215 -> 1215 bytes
-rw-r--r--graphics/pokemon/volbeat/back.png (renamed from graphics/pokemon/back_pics/volbeat_back_pic.png)bin702 -> 702 bytes
-rw-r--r--graphics/pokemon/volbeat/footprint.png (renamed from graphics/pokemon/footprints/volbeat_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/volbeat/front.png (renamed from graphics/pokemon/front_pics/volbeat_still_front_pic.png)bin774 -> 774 bytes
-rw-r--r--graphics/pokemon/volbeat/icon.png (renamed from graphics/pokemon/icons/volbeat_icon.png)bin335 -> 335 bytes
-rw-r--r--graphics/pokemon/volbeat/normal.pal (renamed from graphics/pokemon/palettes/volbeat_palette.pal)0
-rw-r--r--graphics/pokemon/volbeat/shiny.pal (renamed from graphics/pokemon/palettes/volbeat_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/voltorb/anim_front.png (renamed from graphics/pokemon/anim_front_pics/voltorb_front_pic.png)bin531 -> 531 bytes
-rw-r--r--graphics/pokemon/voltorb/back.png (renamed from graphics/pokemon/back_pics/voltorb_back_pic.png)bin475 -> 475 bytes
-rw-r--r--graphics/pokemon/voltorb/footprint.png (renamed from graphics/pokemon/footprints/voltorb_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/voltorb/front.png (renamed from graphics/pokemon/front_pics/voltorb_still_front_pic.png)bin397 -> 397 bytes
-rw-r--r--graphics/pokemon/voltorb/icon.png (renamed from graphics/pokemon/icons/voltorb_icon.png)bin242 -> 242 bytes
-rw-r--r--graphics/pokemon/voltorb/normal.pal (renamed from graphics/pokemon/palettes/voltorb_palette.pal)0
-rw-r--r--graphics/pokemon/voltorb/shiny.pal (renamed from graphics/pokemon/palettes/voltorb_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/vulpix/anim_front.png (renamed from graphics/pokemon/anim_front_pics/vulpix_front_pic.png)bin1225 -> 1225 bytes
-rw-r--r--graphics/pokemon/vulpix/back.png (renamed from graphics/pokemon/back_pics/vulpix_back_pic.png)bin660 -> 660 bytes
-rw-r--r--graphics/pokemon/vulpix/footprint.png (renamed from graphics/pokemon/footprints/vulpix_footprint.png)bin95 -> 95 bytes
-rw-r--r--graphics/pokemon/vulpix/front.png (renamed from graphics/pokemon/front_pics/vulpix_still_front_pic.png)bin693 -> 693 bytes
-rw-r--r--graphics/pokemon/vulpix/icon.png (renamed from graphics/pokemon/icons/vulpix_icon.png)bin307 -> 307 bytes
-rw-r--r--graphics/pokemon/vulpix/normal.pal (renamed from graphics/pokemon/palettes/vulpix_palette.pal)0
-rw-r--r--graphics/pokemon/vulpix/shiny.pal (renamed from graphics/pokemon/palettes/vulpix_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/wailmer/anim_front.png (renamed from graphics/pokemon/anim_front_pics/wailmer_front_pic.png)bin906 -> 906 bytes
-rw-r--r--graphics/pokemon/wailmer/back.png (renamed from graphics/pokemon/back_pics/wailmer_back_pic.png)bin347 -> 347 bytes
-rw-r--r--graphics/pokemon/wailmer/footprint.png (renamed from graphics/pokemon/footprints/wailmer_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/wailmer/front.png (renamed from graphics/pokemon/front_pics/wailmer_still_front_pic.png)bin596 -> 596 bytes
-rw-r--r--graphics/pokemon/wailmer/icon.png (renamed from graphics/pokemon/icons/wailmer_icon.png)bin359 -> 359 bytes
-rw-r--r--graphics/pokemon/wailmer/normal.pal (renamed from graphics/pokemon/palettes/wailmer_palette.pal)0
-rw-r--r--graphics/pokemon/wailmer/shiny.pal (renamed from graphics/pokemon/palettes/wailmer_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/wailord/anim_front.png (renamed from graphics/pokemon/anim_front_pics/wailord_front_pic.png)bin1274 -> 1274 bytes
-rw-r--r--graphics/pokemon/wailord/back.png (renamed from graphics/pokemon/back_pics/wailord_back_pic.png)bin368 -> 368 bytes
-rw-r--r--graphics/pokemon/wailord/footprint.png (renamed from graphics/pokemon/footprints/wailord_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/wailord/front.png (renamed from graphics/pokemon/front_pics/wailord_still_front_pic.png)bin766 -> 766 bytes
-rw-r--r--graphics/pokemon/wailord/icon.png (renamed from graphics/pokemon/icons/wailord_icon.png)bin392 -> 392 bytes
-rw-r--r--graphics/pokemon/wailord/normal.pal (renamed from graphics/pokemon/palettes/wailord_palette.pal)0
-rw-r--r--graphics/pokemon/wailord/shiny.pal (renamed from graphics/pokemon/palettes/wailord_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/walrein/anim_front.png (renamed from graphics/pokemon/anim_front_pics/walrein_front_pic.png)bin1629 -> 1629 bytes
-rw-r--r--graphics/pokemon/walrein/back.png (renamed from graphics/pokemon/back_pics/walrein_back_pic.png)bin727 -> 727 bytes
-rw-r--r--graphics/pokemon/walrein/footprint.png (renamed from graphics/pokemon/footprints/walrein_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/walrein/front.png (renamed from graphics/pokemon/front_pics/walrein_still_front_pic.png)bin1044 -> 1044 bytes
-rw-r--r--graphics/pokemon/walrein/icon.png (renamed from graphics/pokemon/icons/walrein_icon.png)bin473 -> 473 bytes
-rw-r--r--graphics/pokemon/walrein/normal.pal (renamed from graphics/pokemon/palettes/walrein_palette.pal)0
-rw-r--r--graphics/pokemon/walrein/shiny.pal (renamed from graphics/pokemon/palettes/walrein_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/wartortle/anim_front.png (renamed from graphics/pokemon/anim_front_pics/wartortle_front_pic.png)bin1345 -> 1345 bytes
-rw-r--r--graphics/pokemon/wartortle/back.png (renamed from graphics/pokemon/back_pics/wartortle_back_pic.png)bin656 -> 656 bytes
-rw-r--r--graphics/pokemon/wartortle/footprint.png (renamed from graphics/pokemon/footprints/wartortle_footprint.png)bin93 -> 93 bytes
-rw-r--r--graphics/pokemon/wartortle/front.png (renamed from graphics/pokemon/front_pics/wartortle_still_front_pic.png)bin765 -> 765 bytes
-rw-r--r--graphics/pokemon/wartortle/icon.png (renamed from graphics/pokemon/icons/wartortle_icon.png)bin371 -> 371 bytes
-rw-r--r--graphics/pokemon/wartortle/normal.pal (renamed from graphics/pokemon/palettes/wartortle_palette.pal)0
-rw-r--r--graphics/pokemon/wartortle/shiny.pal (renamed from graphics/pokemon/palettes/wartortle_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/weedle/anim_front.png (renamed from graphics/pokemon/anim_front_pics/weedle_front_pic.png)bin686 -> 686 bytes
-rw-r--r--graphics/pokemon/weedle/back.png (renamed from graphics/pokemon/back_pics/weedle_back_pic.png)bin502 -> 502 bytes
-rw-r--r--graphics/pokemon/weedle/footprint.png (renamed from graphics/pokemon/footprints/weedle_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/weedle/front.png (renamed from graphics/pokemon/front_pics/weedle_still_front_pic.png)bin487 -> 487 bytes
-rw-r--r--graphics/pokemon/weedle/icon.png (renamed from graphics/pokemon/icons/weedle_icon.png)bin279 -> 279 bytes
-rw-r--r--graphics/pokemon/weedle/normal.pal (renamed from graphics/pokemon/palettes/weedle_palette.pal)0
-rw-r--r--graphics/pokemon/weedle/shiny.pal (renamed from graphics/pokemon/palettes/weedle_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/weepinbell/anim_front.png (renamed from graphics/pokemon/anim_front_pics/weepinbell_front_pic.png)bin1099 -> 1099 bytes
-rw-r--r--graphics/pokemon/weepinbell/back.png (renamed from graphics/pokemon/back_pics/weepinbell_back_pic.png)bin625 -> 625 bytes
-rw-r--r--graphics/pokemon/weepinbell/footprint.png (renamed from graphics/pokemon/footprints/weepinbell_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/weepinbell/front.png (renamed from graphics/pokemon/front_pics/weepinbell_still_front_pic.png)bin681 -> 681 bytes
-rw-r--r--graphics/pokemon/weepinbell/icon.png (renamed from graphics/pokemon/icons/weepinbell_icon.png)bin365 -> 365 bytes
-rw-r--r--graphics/pokemon/weepinbell/normal.pal (renamed from graphics/pokemon/palettes/weepinbell_palette.pal)0
-rw-r--r--graphics/pokemon/weepinbell/shiny.pal (renamed from graphics/pokemon/palettes/weepinbell_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/weezing/anim_front.png (renamed from graphics/pokemon/anim_front_pics/weezing_front_pic.png)bin1634 -> 1634 bytes
-rw-r--r--graphics/pokemon/weezing/back.png (renamed from graphics/pokemon/back_pics/weezing_back_pic.png)bin623 -> 623 bytes
-rw-r--r--graphics/pokemon/weezing/footprint.png (renamed from graphics/pokemon/footprints/weezing_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/weezing/front.png (renamed from graphics/pokemon/front_pics/weezing_still_front_pic.png)bin968 -> 968 bytes
-rw-r--r--graphics/pokemon/weezing/icon.png (renamed from graphics/pokemon/icons/weezing_icon.png)bin456 -> 456 bytes
-rw-r--r--graphics/pokemon/weezing/normal.pal (renamed from graphics/pokemon/palettes/weezing_palette.pal)0
-rw-r--r--graphics/pokemon/weezing/shiny.pal (renamed from graphics/pokemon/palettes/weezing_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/whiscash/anim_front.png (renamed from graphics/pokemon/anim_front_pics/whiscash_front_pic.png)bin1080 -> 1080 bytes
-rw-r--r--graphics/pokemon/whiscash/back.png (renamed from graphics/pokemon/back_pics/whiscash_back_pic.png)bin690 -> 690 bytes
-rw-r--r--graphics/pokemon/whiscash/footprint.png (renamed from graphics/pokemon/footprints/whiscash_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/whiscash/front.png (renamed from graphics/pokemon/front_pics/whiscash_still_front_pic.png)bin752 -> 752 bytes
-rw-r--r--graphics/pokemon/whiscash/icon.png (renamed from graphics/pokemon/icons/whiscash_icon.png)bin420 -> 420 bytes
-rw-r--r--graphics/pokemon/whiscash/normal.pal (renamed from graphics/pokemon/palettes/whiscash_palette.pal)0
-rw-r--r--graphics/pokemon/whiscash/shiny.pal (renamed from graphics/pokemon/palettes/whiscash_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/whismur/anim_front.png (renamed from graphics/pokemon/anim_front_pics/whismur_front_pic.png)bin787 -> 787 bytes
-rw-r--r--graphics/pokemon/whismur/back.png (renamed from graphics/pokemon/back_pics/whismur_back_pic.png)bin493 -> 493 bytes
-rw-r--r--graphics/pokemon/whismur/footprint.png (renamed from graphics/pokemon/footprints/whismur_footprint.png)bin114 -> 114 bytes
-rw-r--r--graphics/pokemon/whismur/front.png (renamed from graphics/pokemon/front_pics/whismur_still_front_pic.png)bin527 -> 527 bytes
-rw-r--r--graphics/pokemon/whismur/icon.png (renamed from graphics/pokemon/icons/whismur_icon.png)bin291 -> 291 bytes
-rw-r--r--graphics/pokemon/whismur/normal.pal (renamed from graphics/pokemon/palettes/whismur_palette.pal)0
-rw-r--r--graphics/pokemon/whismur/shiny.pal (renamed from graphics/pokemon/palettes/whismur_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/wigglytuff/anim_front.png (renamed from graphics/pokemon/anim_front_pics/wigglytuff_front_pic.png)bin1210 -> 1210 bytes
-rw-r--r--graphics/pokemon/wigglytuff/back.png (renamed from graphics/pokemon/back_pics/wigglytuff_back_pic.png)bin526 -> 526 bytes
-rw-r--r--graphics/pokemon/wigglytuff/footprint.png (renamed from graphics/pokemon/footprints/wigglytuff_footprint.png)bin89 -> 89 bytes
-rw-r--r--graphics/pokemon/wigglytuff/front.png (renamed from graphics/pokemon/front_pics/wigglytuff_still_front_pic.png)bin708 -> 708 bytes
-rw-r--r--graphics/pokemon/wigglytuff/icon.png (renamed from graphics/pokemon/icons/wigglytuff_icon.png)bin327 -> 327 bytes
-rw-r--r--graphics/pokemon/wigglytuff/normal.pal (renamed from graphics/pokemon/palettes/wigglytuff_palette.pal)0
-rw-r--r--graphics/pokemon/wigglytuff/shiny.pal (renamed from graphics/pokemon/palettes/wigglytuff_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/wingull/anim_front.png (renamed from graphics/pokemon/anim_front_pics/wingull_front_pic.png)bin694 -> 694 bytes
-rw-r--r--graphics/pokemon/wingull/back.png (renamed from graphics/pokemon/back_pics/wingull_back_pic.png)bin684 -> 684 bytes
-rw-r--r--graphics/pokemon/wingull/footprint.png (renamed from graphics/pokemon/footprints/wingull_footprint.png)bin92 -> 92 bytes
-rw-r--r--graphics/pokemon/wingull/front.png (renamed from graphics/pokemon/front_pics/wingull_still_front_pic.png)bin471 -> 471 bytes
-rw-r--r--graphics/pokemon/wingull/icon.png (renamed from graphics/pokemon/icons/wingull_icon.png)bin360 -> 360 bytes
-rw-r--r--graphics/pokemon/wingull/normal.pal (renamed from graphics/pokemon/palettes/wingull_palette.pal)0
-rw-r--r--graphics/pokemon/wingull/shiny.pal (renamed from graphics/pokemon/palettes/wingull_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/wobbuffet/anim_front.png (renamed from graphics/pokemon/anim_front_pics/wobbuffet_front_pic.png)bin1129 -> 1129 bytes
-rw-r--r--graphics/pokemon/wobbuffet/back.png (renamed from graphics/pokemon/back_pics/wobbuffet_back_pic.png)bin433 -> 433 bytes
-rw-r--r--graphics/pokemon/wobbuffet/footprint.png (renamed from graphics/pokemon/footprints/wobbuffet_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/wobbuffet/front.png (renamed from graphics/pokemon/front_pics/wobbuffet_still_front_pic.png)bin683 -> 683 bytes
-rw-r--r--graphics/pokemon/wobbuffet/icon.png (renamed from graphics/pokemon/icons/wobbuffet_icon.png)bin335 -> 335 bytes
-rw-r--r--graphics/pokemon/wobbuffet/normal.pal (renamed from graphics/pokemon/palettes/wobbuffet_palette.pal)0
-rw-r--r--graphics/pokemon/wobbuffet/shiny.pal (renamed from graphics/pokemon/palettes/wobbuffet_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/wooper/anim_front.png (renamed from graphics/pokemon/anim_front_pics/wooper_front_pic.png)bin644 -> 644 bytes
-rw-r--r--graphics/pokemon/wooper/back.png (renamed from graphics/pokemon/back_pics/wooper_back_pic.png)bin533 -> 533 bytes
-rw-r--r--graphics/pokemon/wooper/footprint.png (renamed from graphics/pokemon/footprints/wooper_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/wooper/front.png (renamed from graphics/pokemon/front_pics/wooper_still_front_pic.png)bin464 -> 464 bytes
-rw-r--r--graphics/pokemon/wooper/icon.png (renamed from graphics/pokemon/icons/wooper_icon.png)bin307 -> 307 bytes
-rw-r--r--graphics/pokemon/wooper/normal.pal (renamed from graphics/pokemon/palettes/wooper_palette.pal)0
-rw-r--r--graphics/pokemon/wooper/shiny.pal (renamed from graphics/pokemon/palettes/wooper_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/wurmple/anim_front.png (renamed from graphics/pokemon/anim_front_pics/wurmple_front_pic.png)bin890 -> 890 bytes
-rw-r--r--graphics/pokemon/wurmple/back.png (renamed from graphics/pokemon/back_pics/wurmple_back_pic.png)bin488 -> 488 bytes
-rw-r--r--graphics/pokemon/wurmple/footprint.png (renamed from graphics/pokemon/footprints/wurmple_footprint.png)bin81 -> 81 bytes
-rw-r--r--graphics/pokemon/wurmple/front.png (renamed from graphics/pokemon/front_pics/wurmple_still_front_pic.png)bin522 -> 522 bytes
-rw-r--r--graphics/pokemon/wurmple/icon.png (renamed from graphics/pokemon/icons/wurmple_icon.png)bin331 -> 331 bytes
-rw-r--r--graphics/pokemon/wurmple/normal.pal (renamed from graphics/pokemon/palettes/wurmple_palette.pal)0
-rw-r--r--graphics/pokemon/wurmple/shiny.pal (renamed from graphics/pokemon/palettes/wurmple_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/wynaut/anim_front.png (renamed from graphics/pokemon/anim_front_pics/wynaut_front_pic.png)bin787 -> 787 bytes
-rw-r--r--graphics/pokemon/wynaut/back.png (renamed from graphics/pokemon/back_pics/wynaut_back_pic.png)bin498 -> 498 bytes
-rw-r--r--graphics/pokemon/wynaut/footprint.png (renamed from graphics/pokemon/footprints/wynaut_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/wynaut/front.png (renamed from graphics/pokemon/front_pics/wynaut_still_front_pic.png)bin532 -> 532 bytes
-rw-r--r--graphics/pokemon/wynaut/icon.png (renamed from graphics/pokemon/icons/wynaut_icon.png)bin353 -> 353 bytes
-rw-r--r--graphics/pokemon/wynaut/normal.pal (renamed from graphics/pokemon/palettes/wynaut_palette.pal)0
-rw-r--r--graphics/pokemon/wynaut/shiny.pal (renamed from graphics/pokemon/palettes/wynaut_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/xatu/anim_front.png (renamed from graphics/pokemon/anim_front_pics/xatu_front_pic.png)bin1027 -> 1027 bytes
-rw-r--r--graphics/pokemon/xatu/back.png (renamed from graphics/pokemon/back_pics/xatu_back_pic.png)bin716 -> 716 bytes
-rw-r--r--graphics/pokemon/xatu/footprint.png (renamed from graphics/pokemon/footprints/xatu_footprint.png)bin88 -> 88 bytes
-rw-r--r--graphics/pokemon/xatu/front.png (renamed from graphics/pokemon/front_pics/xatu_still_front_pic.png)bin597 -> 597 bytes
-rw-r--r--graphics/pokemon/xatu/icon.png (renamed from graphics/pokemon/icons/xatu_icon.png)bin350 -> 350 bytes
-rw-r--r--graphics/pokemon/xatu/normal.pal (renamed from graphics/pokemon/palettes/xatu_palette.pal)0
-rw-r--r--graphics/pokemon/xatu/shiny.pal (renamed from graphics/pokemon/palettes/xatu_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/yanma/anim_front.png (renamed from graphics/pokemon/anim_front_pics/yanma_front_pic.png)bin1088 -> 1088 bytes
-rw-r--r--graphics/pokemon/yanma/back.png (renamed from graphics/pokemon/back_pics/yanma_back_pic.png)bin796 -> 796 bytes
-rw-r--r--graphics/pokemon/yanma/footprint.png (renamed from graphics/pokemon/footprints/yanma_footprint.png)bin84 -> 84 bytes
-rw-r--r--graphics/pokemon/yanma/front.png (renamed from graphics/pokemon/front_pics/yanma_still_front_pic.png)bin747 -> 747 bytes
-rw-r--r--graphics/pokemon/yanma/icon.png (renamed from graphics/pokemon/icons/yanma_icon.png)bin388 -> 388 bytes
-rw-r--r--graphics/pokemon/yanma/normal.pal (renamed from graphics/pokemon/palettes/yanma_palette.pal)0
-rw-r--r--graphics/pokemon/yanma/shiny.pal (renamed from graphics/pokemon/palettes/yanma_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/zangoose/anim_front.png (renamed from graphics/pokemon/anim_front_pics/zangoose_front_pic.png)bin1398 -> 1398 bytes
-rw-r--r--graphics/pokemon/zangoose/back.png (renamed from graphics/pokemon/back_pics/zangoose_back_pic.png)bin734 -> 734 bytes
-rw-r--r--graphics/pokemon/zangoose/footprint.png (renamed from graphics/pokemon/footprints/zangoose_footprint.png)bin103 -> 103 bytes
-rw-r--r--graphics/pokemon/zangoose/front.png (renamed from graphics/pokemon/front_pics/zangoose_still_front_pic.png)bin844 -> 844 bytes
-rw-r--r--graphics/pokemon/zangoose/icon.png (renamed from graphics/pokemon/icons/zangoose_icon.png)bin419 -> 419 bytes
-rw-r--r--graphics/pokemon/zangoose/normal.pal (renamed from graphics/pokemon/palettes/zangoose_palette.pal)0
-rw-r--r--graphics/pokemon/zangoose/shiny.pal (renamed from graphics/pokemon/palettes/zangoose_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/zapdos/anim_front.png (renamed from graphics/pokemon/anim_front_pics/zapdos_front_pic.png)bin1576 -> 1576 bytes
-rw-r--r--graphics/pokemon/zapdos/back.png (renamed from graphics/pokemon/back_pics/zapdos_back_pic.png)bin652 -> 652 bytes
-rw-r--r--graphics/pokemon/zapdos/footprint.png (renamed from graphics/pokemon/footprints/zapdos_footprint.png)bin104 -> 104 bytes
-rw-r--r--graphics/pokemon/zapdos/front.png (renamed from graphics/pokemon/front_pics/zapdos_still_front_pic.png)bin923 -> 923 bytes
-rw-r--r--graphics/pokemon/zapdos/icon.png (renamed from graphics/pokemon/icons/zapdos_icon.png)bin375 -> 375 bytes
-rw-r--r--graphics/pokemon/zapdos/normal.pal (renamed from graphics/pokemon/palettes/zapdos_palette.pal)0
-rw-r--r--graphics/pokemon/zapdos/shiny.pal (renamed from graphics/pokemon/palettes/zapdos_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/zigzagoon/anim_front.png (renamed from graphics/pokemon/anim_front_pics/zigzagoon_front_pic.png)bin1372 -> 1372 bytes
-rw-r--r--graphics/pokemon/zigzagoon/back.png (renamed from graphics/pokemon/back_pics/zigzagoon_back_pic.png)bin683 -> 683 bytes
-rw-r--r--graphics/pokemon/zigzagoon/footprint.png (renamed from graphics/pokemon/footprints/zigzagoon_footprint.png)bin100 -> 100 bytes
-rw-r--r--graphics/pokemon/zigzagoon/front.png (renamed from graphics/pokemon/front_pics/zigzagoon_still_front_pic.png)bin797 -> 797 bytes
-rw-r--r--graphics/pokemon/zigzagoon/icon.png (renamed from graphics/pokemon/icons/zigzagoon_icon.png)bin347 -> 347 bytes
-rw-r--r--graphics/pokemon/zigzagoon/normal.pal (renamed from graphics/pokemon/palettes/zigzagoon_palette.pal)0
-rw-r--r--graphics/pokemon/zigzagoon/shiny.pal (renamed from graphics/pokemon/palettes/zigzagoon_shiny_palette.pal)0
-rw-r--r--graphics/pokemon/zubat/anim_front.png (renamed from graphics/pokemon/anim_front_pics/zubat_front_pic.png)bin914 -> 914 bytes
-rw-r--r--graphics/pokemon/zubat/back.png (renamed from graphics/pokemon/back_pics/zubat_back_pic.png)bin526 -> 526 bytes
-rw-r--r--graphics/pokemon/zubat/footprint.png (renamed from graphics/pokemon/footprints/zubat_footprint.png)bin71 -> 71 bytes
-rw-r--r--graphics/pokemon/zubat/front.png (renamed from graphics/pokemon/front_pics/zubat_still_front_pic.png)bin626 -> 626 bytes
-rw-r--r--graphics/pokemon/zubat/icon.png (renamed from graphics/pokemon/icons/zubat_icon.png)bin335 -> 335 bytes
-rw-r--r--graphics/pokemon/zubat/normal.pal (renamed from graphics/pokemon/palettes/zubat_palette.pal)0
-rw-r--r--graphics/pokemon/zubat/shiny.pal (renamed from graphics/pokemon/palettes/zubat_shiny_palette.pal)0
-rw-r--r--graphics/pokenav/pokeball_placeholder.png (renamed from graphics/pokenav/8625660.png)bin88 -> 88 bytes
-rw-r--r--graphics/weather/1.pal19
-rw-r--r--graphics/weather/2.pal19
-rw-r--r--graphics_file_rules.mk106
-rw-r--r--include/bard_music.h2
-rw-r--r--include/battle.h79
-rw-r--r--include/battle_anim.h13
-rw-r--r--include/battle_setup.h6
-rwxr-xr-xinclude/berry_crush.h6
-rwxr-xr-xinclude/berry_powder.h9
-rw-r--r--include/constants/battle_anim.h248
-rw-r--r--include/constants/battle_script_commands.h22
-rwxr-xr-xinclude/constants/event_object_movement_constants.h2
-rw-r--r--include/constants/event_objects.h2
-rw-r--r--include/constants/field_effects.h6
-rw-r--r--include/constants/flags.h52
-rw-r--r--include/constants/game_stat.h2
-rw-r--r--include/constants/maps.h6
-rwxr-xr-xinclude/constants/metatile_behaviors.h4
-rw-r--r--include/constants/songs.h4
-rw-r--r--include/constants/vars.h8
-rw-r--r--include/contest.h30
-rw-r--r--include/contest_effect.h1
-rw-r--r--include/data.h119
-rw-r--r--include/data2.h22
-rw-r--r--include/decoration.h76
-rw-r--r--include/decoration_inventory.h8
-rwxr-xr-xinclude/ereader_helpers.h51
-rwxr-xr-xinclude/ereader_screen.h6
-rw-r--r--include/event_obj_lock.h1
-rw-r--r--include/event_object_movement.h17
-rw-r--r--include/event_scripts.h16
-rwxr-xr-xinclude/faraway_island.h10
-rw-r--r--include/field_effect.h4
-rw-r--r--include/field_player_avatar.h12
-rw-r--r--include/field_screen_effect.h2
-rw-r--r--include/field_specials.h3
-rw-r--r--include/field_weather.h90
-rw-r--r--include/fieldmap.h1
-rw-r--r--include/fldeff.h1
-rw-r--r--include/gba/types.h23
-rw-r--r--include/global.fieldmap.h27
-rw-r--r--include/global.h90
-rw-r--r--include/graphics.h1236
-rw-r--r--include/gym_leader_rematch.h8
-rw-r--r--include/international_string_util.h2
-rw-r--r--include/item_icon.h2
-rw-r--r--include/learn_move.h7
-rw-r--r--include/link.h5
-rw-r--r--include/link_rfu.h9
-rw-r--r--include/list_menu.h4
-rw-r--r--include/main.h4
-rw-r--r--include/menu.h11
-rw-r--r--include/menu_helpers.h2
-rw-r--r--include/menu_specialized.h67
-rw-r--r--include/metatile_behavior.h4
-rwxr-xr-xinclude/mevent.h63
-rw-r--r--include/mevent2.h6
-rw-r--r--include/mevent_801BAAC.h16
-rw-r--r--include/mevent_client.h33
-rwxr-xr-xinclude/mevent_news.h7
-rw-r--r--include/mevent_server.h36
-rw-r--r--include/mevent_server_helpers.h38
-rw-r--r--include/move_relearner.h7
-rw-r--r--include/mystery_gift.h16
-rw-r--r--include/naming_screen.h2
-rw-r--r--include/pokemon.h4
-rw-r--r--include/pokemon_3.h10
-rwxr-xr-xinclude/pokemon_summary_screen.h5
-rw-r--r--include/pokenav.h29
-rw-r--r--include/rom_8011DC0.h19
-rw-r--r--include/save.h5
-rw-r--r--include/script.h6
-rw-r--r--include/script_menu.h2
-rw-r--r--include/secret_base.h46
-rw-r--r--include/strings.h167
-rw-r--r--include/text.h2
-rw-r--r--include/text_window.h4
-rw-r--r--include/title_screen.h2
-rw-r--r--include/trader.h2
-rw-r--r--include/union_room.h172
-rw-r--r--include/union_room_battle.h7
-rwxr-xr-xinclude/union_room_chat.h7
-rw-r--r--include/union_room_player_avatar.h14
-rw-r--r--include/util.h4
-rw-r--r--ld_script.txt177
-rw-r--r--songs.mk161
-rw-r--r--sound/songs/midi/se_tama.midbin0 -> 419 bytes
-rw-r--r--sound/songs/midi/se_tamago.midbin0 -> 271 bytes
-rw-r--r--sound/songs/midi/se_tamakoro.midbin0 -> 73 bytes
-rw-r--r--sound/songs/midi/se_tamakoro_e.midbin0 -> 163 bytes
-rw-r--r--sound/songs/midi/se_tb_kara.midbin0 -> 78 bytes
-rw-r--r--sound/songs/midi/se_tb_kon.midbin0 -> 88 bytes
-rw-r--r--sound/songs/midi/se_tb_start.midbin0 -> 153 bytes
-rw-r--r--sound/songs/midi/se_tk_kasya.midbin0 -> 84 bytes
-rw-r--r--sound/songs/midi/se_tk_warpin.midbin0 -> 116 bytes
-rw-r--r--sound/songs/midi/se_tk_warpout.midbin0 -> 136 bytes
-rw-r--r--sound/songs/midi/se_toreeye.midbin0 -> 472 bytes
-rw-r--r--sound/songs/midi/se_toreoff.midbin0 -> 195 bytes
-rw-r--r--sound/songs/midi/se_toy_a.midbin0 -> 119 bytes
-rw-r--r--sound/songs/midi/se_toy_b.midbin0 -> 119 bytes
-rw-r--r--sound/songs/midi/se_toy_c.midbin0 -> 119 bytes
-rw-r--r--sound/songs/midi/se_toy_c1.midbin0 -> 119 bytes
-rw-r--r--sound/songs/midi/se_toy_d.midbin0 -> 119 bytes
-rw-r--r--sound/songs/midi/se_toy_dango.midbin0 -> 100 bytes
-rw-r--r--sound/songs/midi/se_toy_e.midbin0 -> 119 bytes
-rw-r--r--sound/songs/midi/se_toy_f.midbin0 -> 119 bytes
-rw-r--r--sound/songs/midi/se_toy_g.midbin0 -> 119 bytes
-rw-r--r--sound/songs/midi/se_toy_kabe.midbin0 -> 132 bytes
-rw-r--r--sound/songs/midi/se_track_door.midbin0 -> 127 bytes
-rw-r--r--sound/songs/midi/se_track_haiki.midbin0 -> 76 bytes
-rw-r--r--sound/songs/midi/se_track_move.midbin0 -> 373 bytes
-rw-r--r--sound/songs/midi/se_track_stop.midbin0 -> 205 bytes
-rw-r--r--sound/songs/midi/se_tu_saa.midbin0 -> 96 bytes
-rw-r--r--sound/songs/midi/se_u.midbin0 -> 75 bytes
-rw-r--r--sound/songs/midi/se_ussoki.midbin0 -> 127 bytes
-rw-r--r--sound/songs/midi/se_w003.midbin0 -> 113 bytes
-rw-r--r--sound/songs/midi/se_w004.midbin0 -> 172 bytes
-rw-r--r--sound/songs/midi/se_w006.midbin0 -> 226 bytes
-rw-r--r--sound/songs/midi/se_w007.midbin0 -> 308 bytes
-rw-r--r--sound/songs/midi/se_w010.midbin0 -> 153 bytes
-rw-r--r--sound/songs/midi/se_w011.midbin0 -> 206 bytes
-rw-r--r--sound/songs/midi/se_w013.midbin0 -> 194 bytes
-rw-r--r--sound/songs/midi/se_w013b.midbin0 -> 121 bytes
-rw-r--r--sound/songs/midi/se_w014.midbin0 -> 508 bytes
-rw-r--r--sound/songs/midi/se_w015.midbin0 -> 247 bytes
-rw-r--r--sound/songs/midi/se_w016.midbin0 -> 218 bytes
-rw-r--r--sound/songs/midi/se_w016b.midbin0 -> 128 bytes
-rw-r--r--sound/songs/midi/se_w017.midbin0 -> 284 bytes
-rw-r--r--sound/songs/midi/se_w019.midbin0 -> 648 bytes
-rw-r--r--sound/songs/midi/se_w020.midbin0 -> 174 bytes
-rw-r--r--sound/songs/midi/se_w025.midbin0 -> 320 bytes
-rw-r--r--sound/songs/midi/se_w025b.midbin0 -> 313 bytes
-rw-r--r--sound/songs/midi/se_w026.midbin0 -> 141 bytes
-rw-r--r--sound/songs/midi/se_w028.midbin0 -> 198 bytes
-rw-r--r--sound/songs/midi/se_w029.midbin0 -> 194 bytes
-rw-r--r--sound/songs/midi/se_w030.midbin0 -> 148 bytes
-rw-r--r--sound/songs/midi/se_w036.midbin0 -> 200 bytes
-rw-r--r--sound/songs/midi/se_w039.midbin0 -> 136 bytes
-rw-r--r--sound/songs/midi/se_w043.midbin0 -> 245 bytes
-rw-r--r--sound/songs/midi/se_z_search.midbin1023 -> 1023 bytes
-rw-r--r--sound/songs/se_tama.s246
-rw-r--r--sound/songs/se_tamago.s111
-rw-r--r--sound/songs/se_tamakoro.s46
-rw-r--r--sound/songs/se_tamakoro_e.s75
-rw-r--r--sound/songs/se_tb_kara.s43
-rw-r--r--sound/songs/se_tb_kon.s48
-rw-r--r--sound/songs/se_tb_start.s75
-rw-r--r--sound/songs/se_tk_kasya.s46
-rw-r--r--sound/songs/se_tk_warpin.s56
-rw-r--r--sound/songs/se_tk_warpout.s60
-rw-r--r--sound/songs/se_toreeye.s146
-rw-r--r--sound/songs/se_toreoff.s87
-rw-r--r--sound/songs/se_toy_a.s59
-rw-r--r--sound/songs/se_toy_b.s59
-rw-r--r--sound/songs/se_toy_c.s59
-rw-r--r--sound/songs/se_toy_c1.s59
-rw-r--r--sound/songs/se_toy_d.s59
-rw-r--r--sound/songs/se_toy_dango.s52
-rw-r--r--sound/songs/se_toy_e.s59
-rw-r--r--sound/songs/se_toy_f.s59
-rw-r--r--sound/songs/se_toy_g.s59
-rw-r--r--sound/songs/se_toy_kabe.s75
-rw-r--r--sound/songs/se_track_door.s61
-rw-r--r--sound/songs/se_track_haiki.s49
-rw-r--r--sound/songs/se_track_move.s146
-rw-r--r--sound/songs/se_track_stop.s123
-rw-r--r--sound/songs/se_tu_saa.s55
-rw-r--r--sound/songs/se_u.s45
-rw-r--r--sound/songs/se_ussoki.s55
-rw-r--r--sound/songs/se_w003.s52
-rw-r--r--sound/songs/se_w004.s75
-rw-r--r--sound/songs/se_w006.s107
-rw-r--r--sound/songs/se_w007.s138
-rw-r--r--sound/songs/se_w010.s70
-rw-r--r--sound/songs/se_w011.s89
-rw-r--r--sound/songs/se_w013.s86
-rw-r--r--sound/songs/se_w013b.s62
-rw-r--r--sound/songs/se_w014.s211
-rw-r--r--sound/songs/se_w015.s104
-rw-r--r--sound/songs/se_w016.s103
-rw-r--r--sound/songs/se_w016b.s72
-rw-r--r--sound/songs/se_w017.s125
-rw-r--r--sound/songs/se_w019.s251
-rw-r--r--sound/songs/se_w020.s81
-rw-r--r--sound/songs/se_w025.s150
-rw-r--r--sound/songs/se_w025b.s128
-rw-r--r--sound/songs/se_w026.s71
-rw-r--r--sound/songs/se_w028.s95
-rw-r--r--sound/songs/se_w029.s87
-rw-r--r--sound/songs/se_w030.s67
-rw-r--r--sound/songs/se_w036.s95
-rw-r--r--sound/songs/se_w039.s63
-rw-r--r--sound/songs/se_w043.s105
-rw-r--r--src/alloc.c4
-rw-r--r--src/anim_mon_front_pics.c832
-rw-r--r--src/apprentice.c2
-rw-r--r--src/battle_ai_script_commands.c4
-rw-r--r--src/battle_ai_switch_items.c1
-rw-r--r--src/battle_anim.c1860
-rw-r--r--src/battle_anim_80A5C6C.c2464
-rw-r--r--src/battle_anim_80A9C70.c534
-rwxr-xr-xsrc/battle_anim_8170478.c2267
-rw-r--r--src/battle_anim_effects_1.c28
-rwxr-xr-xsrc/battle_anim_effects_2.c20
-rwxr-xr-xsrc/battle_anim_effects_3.c4
-rw-r--r--src/battle_anim_mon_movement.c (renamed from src/battle_anim_80D51AC.c)0
-rw-r--r--src/battle_anim_mons.c2459
-rwxr-xr-xsrc/battle_anim_special.c2267
-rw-r--r--src/battle_anim_status_effects.c534
-rw-r--r--src/battle_arena.c4
-rw-r--r--src/battle_bg.c32
-rw-r--r--src/battle_controller_link_opponent.c4
-rw-r--r--src/battle_controller_link_partner.c5
-rw-r--r--src/battle_controller_opponent.c4
-rw-r--r--src/battle_controller_player.c5
-rw-r--r--src/battle_controller_player_partner.c5
-rw-r--r--src/battle_controller_recorded_opponent.c4
-rw-r--r--src/battle_controller_recorded_player.c5
-rw-r--r--src/battle_controller_safari.c4
-rw-r--r--src/battle_controller_wally.c4
-rw-r--r--src/battle_data.c14
-rw-r--r--src/battle_dome.c21
-rw-r--r--src/battle_factory_screen.c18
-rw-r--r--src/battle_gfx_sfx_util.c12
-rw-r--r--src/battle_interface.c21
-rw-r--r--src/battle_main.c33
-rw-r--r--src/battle_message.c4
-rw-r--r--src/battle_pyramid_bag.c16
-rw-r--r--src/battle_script_commands.c99
-rw-r--r--src/battle_setup.c161
-rw-r--r--src/battle_tower.c2
-rw-r--r--src/battle_transition.c4
-rw-r--r--src/battle_tv.c1
-rw-r--r--src/battle_util.c5
-rw-r--r--src/battle_util2.c5
-rw-r--r--src/berry_blender.c22
-rwxr-xr-xsrc/berry_crush.c775
-rwxr-xr-xsrc/berry_powder.c128
-rw-r--r--src/bike.c5
-rw-r--r--src/braille_puzzles.c72
-rw-r--r--src/bug.c19
-rw-r--r--[-rwxr-xr-x]src/cable_car.c62
-rw-r--r--src/cable_club.c5
-rw-r--r--src/contest.c639
-rw-r--r--src/contest_link_80F57C4.c4
-rw-r--r--src/contest_painting.c14
-rw-r--r--src/contest_painting_effects.c701
-rw-r--r--src/credits.c4
-rw-r--r--src/dark.c44
-rw-r--r--src/data.c441
-rw-r--r--src/data/bard_music/pokemon.h2
-rw-r--r--src/data/contest_opponents.h3066
-rw-r--r--src/data/contest_text_tables.h414
-rw-r--r--src/data/decoration/header.h90
-rwxr-xr-xsrc/data/field_event_obj/base_oam.h32
-rw-r--r--src/data/graphics/pokemon.h5578
-rw-r--r--src/data/pokemon_graphics/back_pic_coordinates.h2
-rw-r--r--src/data/pokemon_graphics/back_pic_table.h881
-rw-r--r--src/data/pokemon_graphics/enemy_mon_elevation.h355
-rw-r--r--src/data/pokemon_graphics/footprint_table.h826
-rw-r--r--src/data/pokemon_graphics/front_anims.h7394
-rw-r--r--src/data/pokemon_graphics/front_pic_anims.h7393
-rw-r--r--src/data/pokemon_graphics/front_pic_coordinates.h2
-rw-r--r--src/data/pokemon_graphics/front_pic_table.h880
-rw-r--r--src/data/pokemon_graphics/palette_table.h880
-rw-r--r--src/data/pokemon_graphics/shiny_palette_table.h880
-rw-r--r--src/data/pokemon_graphics/still_front_pic_table.h884
-rw-r--r--src/data/pokemon_graphics/unknown_anims.h1309
-rw-r--r--src/data/trainer_graphics/back_pic_anims.h64
-rw-r--r--src/data/trainer_graphics/back_pic_tables.h34
-rw-r--r--src/data/trainer_graphics/front_pic_anims.h560
-rw-r--r--src/data/trainer_graphics/front_pic_tables.h558
-rw-r--r--src/data/trainer_parties.h1708
-rw-r--r--src/data/trainers.h1708
-rw-r--r--src/data2b.c387
-rw-r--r--src/decompress.c10
-rw-r--r--src/decoration.c1994
-rw-r--r--src/decoration_inventory.c45
-rw-r--r--src/easy_chat.c36
-rw-r--r--src/egg_hatch.c14
-rwxr-xr-xsrc/ereader_helpers.c543
-rwxr-xr-xsrc/ereader_screen.c464
-rw-r--r--src/event_object_movement.c126
-rw-r--r--src/evolution_graphics.c4
-rw-r--r--src/evolution_scene.c6
-rwxr-xr-xsrc/faraway_island.c446
-rw-r--r--src/field_control_avatar.c28
-rw-r--r--src/field_effect.c185
-rwxr-xr-xsrc/field_effect_helpers.c4
-rw-r--r--src/field_player_avatar.c4
-rw-r--r--src/field_screen_effect.c26
-rw-r--r--src/field_specials.c40
-rw-r--r--src/field_weather.c13
-rw-r--r--src/field_weather_effect.c1934
-rw-r--r--src/fieldmap.c6
-rw-r--r--src/fldeff_cut.c11
-rw-r--r--src/fldeff_misc.c30
-rw-r--r--src/fldeff_rocksmash.c5
-rw-r--r--src/fldeff_strength.c2
-rw-r--r--src/fldeff_sweetscent.c2
-rw-r--r--src/frontier_util.c2
-rw-r--r--src/ghost.c106
-rw-r--r--src/graphics.c1142
-rw-r--r--src/hall_of_fame.c6
-rw-r--r--src/international_string_util.c2
-rw-r--r--src/intro.c60
-rw-r--r--src/intro_credits_graphics.c625
-rw-r--r--src/item.c2
-rw-r--r--src/item_icon.c6
-rwxr-xr-xsrc/item_menu.c10
-rw-r--r--src/item_menu_icons.c20
-rwxr-xr-xsrc/item_use.c15
-rw-r--r--src/learn_move.c833
-rw-r--r--src/link_rfu.c49
-rw-r--r--src/list_menu.c48
-rw-r--r--src/load_save.c3
-rw-r--r--src/main_menu.c11
-rw-r--r--src/match_call.c2
-rw-r--r--src/mauville_old_man.c4
-rw-r--r--src/menu.c68
-rw-r--r--src/menu_helpers.c18
-rw-r--r--src/menu_specialized.c1834
-rw-r--r--src/metatile_behavior.c12
-rwxr-xr-xsrc/mevent2.c626
-rw-r--r--src/mevent_801BAAC.c826
-rw-r--r--src/mevent_client.c291
-rw-r--r--src/mevent_news.c147
-rw-r--r--src/mevent_scripts.c191
-rw-r--r--src/mevent_server.c295
-rw-r--r--src/mevent_server_helpers.c211
-rw-r--r--src/mirage_tower.c12
-rw-r--r--src/mon_markings.c12
-rw-r--r--src/money.c4
-rw-r--r--src/move_relearner.c976
-rw-r--r--src/mystery_event_menu.c2
-rw-r--r--src/mystery_gift.c1703
-rw-r--r--src/naming_screen.c53
-rw-r--r--src/new_game.c9
-rw-r--r--src/overworld.c16
-rwxr-xr-xsrc/party_menu.c29
-rw-r--r--src/player_pc.c12
-rw-r--r--src/pokeball.c4
-rw-r--r--src/pokeblock.c14
-rw-r--r--src/pokeblock_feed.c13
-rw-r--r--src/pokedex.c26
-rwxr-xr-xsrc/pokedex_area_screen.c266
-rw-r--r--[-rwxr-xr-x]src/pokedex_cry_screen.c35
-rw-r--r--src/pokemon.c407
-rw-r--r--src/pokemon_icon.c897
-rw-r--r--src/pokemon_size_record.c2
-rw-r--r--src/pokemon_storage_system.c41
-rw-r--r--src/pokemon_summary_screen.c15
-rw-r--r--src/pokenav_match_call.c263
-rw-r--r--src/rayquaza_scene.c32
-rw-r--r--src/record_mixing.c10
-rw-r--r--src/recorded_battle.c5
-rw-r--r--src/region_map.c228
-rw-r--r--src/reset_rtc_screen.c4
-rw-r--r--src/reshow_battle_screen.c8
-rw-r--r--src/rock.c2
-rw-r--r--src/rom_8011DC0.c3502
-rw-r--r--src/rotating_gate.c8
-rw-r--r--src/roulette.c292
-rw-r--r--src/save.c10
-rw-r--r--src/save_failed_screen.c26
-rw-r--r--src/scanline_effect.c2
-rw-r--r--src/scrcmd.c16
-rw-r--r--src/script.c11
-rw-r--r--src/script_menu.c107
-rwxr-xr-xsrc/script_pokemon_util_80F87D8.c6
-rw-r--r--src/secret_base.c1782
-rwxr-xr-xsrc/shop.c4
-rw-r--r--src/smokescreen.c6
-rw-r--r--src/sound.c4
-rw-r--r--src/sprite.c30
-rw-r--r--src/start_menu.c5
-rw-r--r--src/starter_choose.c42
-rw-r--r--src/strings.c32
-rw-r--r--src/text.c4
-rw-r--r--src/text_window.c4
-rw-r--r--src/title_screen.c96
-rw-r--r--src/trade.c357
-rw-r--r--src/trader.c10
-rw-r--r--src/trainer_hill.c5
-rw-r--r--src/trainer_pokemon_sprites.c26
-rw-r--r--src/trainer_see.c19
-rw-r--r--src/tv.c16
-rw-r--r--src/union_room.c5382
-rw-r--r--src/union_room_battle.c631
-rwxr-xr-xsrc/union_room_chat.c2943
-rw-r--r--src/union_room_player_avatar.c611
-rw-r--r--src/unk_transition.c13
-rw-r--r--src/use_pokeblock.c1385
-rw-r--r--src/util.c4
-rw-r--r--src/walda_phrase.c2
-rw-r--r--src/wallclock.c80
-rw-r--r--src/water.c58
-rw-r--r--sym_bss.txt64
-rw-r--r--sym_common.txt2
-rw-r--r--sym_ewram.txt114
-rw-r--r--tools/gbafix/gbafix.c2
3798 files changed, 87226 insertions, 108284 deletions
diff --git a/.gitignore b/.gitignore
index dc782899d..ed21493bf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,4 @@ Thumbs.db
build/
.DS_Store
*.ddump
+porymap.project.cfg
diff --git a/INSTALL.md b/INSTALL.md
index 041f6b8e9..fcdd8b655 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -66,6 +66,14 @@ cd ../pokeemerald
And build the ROM with `make`.
+If the step `./build.sh` in the above list of commands fails with the error `Makefile:1: /opt/devkitpro/devkitARM/base_tools: No such file or directory`, then try installing the pacman package `devkitarm-rules` by executing the command
+
+```
+sudo dkp-pacman -S devkitarm-rules
+```
+
+Executing `./build.sh` again should now succeed.
+
# Faster builds
After the first build, subsequent builds are faster. You can further speed up the build:
diff --git a/asm/berry_crush.s b/asm/berry_crush.s
new file mode 100755
index 000000000..00bff2b56
--- /dev/null
+++ b/asm/berry_crush.s
@@ -0,0 +1,5948 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_80216E0
+sub_80216E0: @ 80216E0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ adds r6, r0, 0
+ str r1, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ movs r1, 0x4E
+ adds r1, r6
+ mov r10, r1
+ mov r9, r0
+ ldrb r2, [r6, 0x9]
+ cmp r0, r2
+ bcs _080217AE
+ ldr r7, =gUnknown_082F41CC
+_08021704:
+ mov r3, r10
+ ldrh r0, [r3, 0xA]
+ mov r4, r9
+ lsls r1, r4, 1
+ add r1, r9
+ asrs r0, r1
+ lsls r0, 16
+ movs r1, 0xE0
+ lsls r1, 11
+ ands r1, r0
+ lsrs r1, 16
+ mov r8, r1
+ cmp r1, 0
+ beq _0802179E
+ ldr r0, [sp, 0x4]
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _08021748
+ lsls r4, 2
+ ldr r5, [sp]
+ adds r5, 0x24
+ adds r0, r5, r4
+ ldr r0, [r0]
+ movs r1, 0x1
+ bl StartSpriteAnim
+ b _0802175A
+ .pool
+_08021748:
+ mov r0, r9
+ lsls r4, r0, 2
+ ldr r5, [sp]
+ adds r5, 0x24
+ adds r0, r5, r4
+ ldr r0, [r0]
+ movs r1, 0
+ bl StartSpriteAnim
+_0802175A:
+ adds r3, r5, r4
+ ldr r2, [r3]
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r4, 0x5
+ negs r4, r4
+ adds r1, r4, 0
+ ands r0, r1
+ strb r0, [r2]
+ ldr r2, [r3]
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ subs r4, 0x3C
+ adds r1, r4, 0
+ ands r0, r1
+ strb r0, [r2]
+ ldr r2, [r3]
+ movs r0, 0x3
+ mov r1, r8
+ ands r1, r0
+ mov r8, r1
+ subs r1, 0x1
+ lsls r1, 1
+ adds r0, r1, r7
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r2, 0x24]
+ ldr r2, [r3]
+ ldr r3, =gUnknown_082F41CC+1
+ adds r1, r3
+ movs r0, 0
+ ldrsb r0, [r1, r0]
+ strh r0, [r2, 0x26]
+_0802179E:
+ mov r0, r9
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ ldrb r4, [r6, 0x9]
+ cmp r9, r4
+ bcc _08021704
+_080217AE:
+ ldr r0, [sp, 0x4]
+ cmp r0, 0
+ bne _080217C0
+ adds r2, r6, 0
+ adds r2, 0x25
+ ldrb r1, [r2]
+ b _0802189C
+ .pool
+_080217C0:
+ ldrh r0, [r6, 0x28]
+ movs r1, 0x3
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ mov r1, r8
+ str r1, [sp, 0x8]
+ movs r2, 0
+ mov r9, r2
+ mov r3, r10
+ ldrh r1, [r3, 0xC]
+ lsls r0, r1, 1
+ adds r0, 0x3
+ adds r6, 0x25
+ str r6, [sp, 0xC]
+ adds r3, r1, 0
+ cmp r9, r0
+ bge _08021890
+_080217E8:
+ mov r4, r9
+ lsls r1, r4, 2
+ ldr r0, [sp]
+ adds r0, 0x4C
+ adds r7, r0, r1
+ ldr r2, [r7]
+ adds r0, r2, 0
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0802187E
+ ldr r0, =sub_8022B28
+ str r0, [r2, 0x1C]
+ lsls r1, r4, 1
+ ldr r3, =gUnknown_082F41CC+6
+ adds r0, r1, r3
+ movs r4, 0
+ ldrsb r4, [r0, r4]
+ adds r0, r4, 0
+ adds r0, 0x78
+ strh r0, [r2, 0x20]
+ ldr r2, [r7]
+ ldr r0, =gUnknown_082F41CC+7
+ adds r1, r0
+ movs r6, 0
+ ldrsb r6, [r1, r6]
+ mov r1, r8
+ lsls r0, r1, 2
+ subs r0, 0x88
+ subs r0, r6, r0
+ strh r0, [r2, 0x22]
+ ldr r5, [r7]
+ ldr r2, [sp, 0x8]
+ lsls r1, r2, 2
+ adds r0, r4, 0
+ bl __divsi3
+ adds r4, r0
+ strh r4, [r5, 0x24]
+ ldr r0, [r7]
+ strh r6, [r0, 0x26]
+ mov r3, r10
+ ldrb r1, [r3, 0x4]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08021860
+ ldr r0, [r7]
+ movs r1, 0x1
+ bl StartSpriteAnim
+ b _08021868
+ .pool
+_08021860:
+ ldr r0, [r7]
+ movs r1, 0
+ bl StartSpriteAnim
+_08021868:
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+ mov r4, r10
+ ldrh r3, [r4, 0xC]
+ cmp r0, 0x3
+ bls _0802187E
+ movs r0, 0
+ mov r8, r0
+_0802187E:
+ mov r0, r9
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ lsls r0, r3, 1
+ adds r0, 0x3
+ cmp r9, r0
+ blt _080217E8
+_08021890:
+ ldr r2, [sp, 0xC]
+ ldrb r1, [r2]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080218A6
+_0802189C:
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ b _080218C4
+_080218A6:
+ ldr r3, [sp, 0x4]
+ cmp r3, 0x1
+ bne _080218B4
+ movs r0, 0x4E
+ bl PlaySE
+ b _080218BA
+_080218B4:
+ movs r0, 0x4D
+ bl PlaySE
+_080218BA:
+ ldr r4, [sp, 0xC]
+ ldrb r0, [r4]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r4]
+_080218C4:
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80216E0
+
+ thumb_func_start sub_80218D4
+sub_80218D4: @ 80218D4
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ adds r6, r1, 0
+ movs r2, 0
+ ldrb r0, [r5, 0x9]
+ cmp r2, r0
+ bcs _08021906
+ adds r4, r6, 0
+ adds r4, 0x24
+ movs r7, 0x4
+ adds r3, r0, 0
+_080218EA:
+ lsls r0, r2, 2
+ adds r0, r4, r0
+ ldr r0, [r0]
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08021920
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, r3
+ bcc _080218EA
+_08021906:
+ movs r2, 0
+ adds r3, r6, 0
+ adds r3, 0x4C
+ movs r4, 0x4
+_0802190E:
+ lsls r0, r2, 2
+ adds r0, r3, r0
+ ldr r0, [r0]
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08021924
+_08021920:
+ movs r0, 0
+ b _0802193C
+_08021924:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xA
+ bls _0802190E
+ movs r1, 0x2C
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ beq _0802193A
+ movs r0, 0
+ strh r0, [r5, 0x2C]
+_0802193A:
+ movs r0, 0x1
+_0802193C:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80218D4
+
+ thumb_func_start sub_8021944
+sub_8021944: @ 8021944
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ lsls r4, r1, 16
+ lsrs r4, 16
+ movs r7, 0
+ movs r5, 0xE1
+ lsls r5, 4
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl __udivsi3
+ strh r0, [r6, 0x4]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl __umodsi3
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x3C
+ bl __udivsi3
+ strh r0, [r6, 0x6]
+ adds r0, r4, 0
+ movs r1, 0x3C
+ bl __umodsi3
+ lsls r0, 24
+ asrs r0, 16
+ movs r1, 0x4
+ bl sub_8151534
+ adds r2, r7, 0
+ lsls r0, 16
+ asrs r3, r0, 16
+ movs r0, 0x7
+ mov r12, r0
+ ldr r5, =gUnknown_082F334C
+ movs r4, 0x1
+_08021990:
+ mov r0, r12
+ subs r1, r0, r2
+ adds r0, r3, 0
+ asrs r0, r1
+ ands r0, r4
+ cmp r0, 0
+ beq _080219A6
+ lsls r0, r2, 2
+ adds r0, r5
+ ldr r0, [r0]
+ adds r7, r0
+_080219A6:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x7
+ bls _08021990
+ ldr r1, =0x000f4240
+ adds r0, r7, 0
+ bl __udivsi3
+ strh r0, [r6, 0x8]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8021944
+
+ thumb_func_start sub_80219C8
+sub_80219C8: @ 80219C8
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0xC
+ adds r6, r0, 0
+ adds r4, r1, 0
+ adds r5, r2, 0
+ mov r8, r3
+ lsls r6, 24
+ lsrs r6, 24
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r5, 24
+ lsrs r5, 24
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x2
+ mov r1, r8
+ bl GetStringWidth
+ lsls r4, 2
+ lsrs r0, 1
+ subs r4, r0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r0, r5, 1
+ adds r0, r5
+ ldr r1, =gUnknown_082F32D8
+ adds r0, r1
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ mov r0, r8
+ str r0, [sp, 0x8]
+ adds r0, r6, 0
+ movs r1, 0x2
+ adds r2, r4, 0
+ movs r3, 0
+ bl AddTextPrinterParameterized3
+ add sp, 0xC
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80219C8
+
+ thumb_func_start sub_8021A28
+sub_8021A28: @ 8021A28
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x2C
+ str r0, [sp, 0xC]
+ lsls r1, 24
+ lsrs r1, 24
+ str r1, [sp, 0x10]
+ lsls r2, 24
+ lsrs r2, 24
+ str r2, [sp, 0x14]
+ lsls r3, 24
+ movs r0, 0
+ str r0, [sp, 0x18]
+ movs r1, 0
+ str r1, [sp, 0x1C]
+ ldr r2, [sp, 0xC]
+ adds r2, 0x68
+ str r2, [sp, 0x20]
+ movs r4, 0xF0
+ lsls r4, 24
+ adds r3, r4
+ lsrs r3, 24
+ ldr r0, [sp, 0x10]
+ cmp r0, 0x2
+ bne _08021A68
+ adds r0, r3, 0
+ subs r0, 0x2A
+ lsls r0, 24
+ lsrs r3, r0, 24
+_08021A68:
+ ldr r2, [sp, 0xC]
+ ldrb r1, [r2, 0x9]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 1
+ subs r6, r3, r0
+ cmp r6, 0
+ ble _08021A84
+ lsrs r0, r6, 31
+ adds r0, r6, r0
+ asrs r0, 1
+ adds r6, r0, 0
+ adds r6, 0x10
+ b _08021A86
+_08021A84:
+ movs r6, 0x10
+_08021A86:
+ movs r5, 0
+ ldr r3, [sp, 0xC]
+ ldrb r3, [r3, 0x9]
+ cmp r5, r3
+ bcc _08021A92
+ b _08021D14
+_08021A92:
+ ldr r4, [sp, 0x10]
+ lsls r4, 2
+ str r4, [sp, 0x24]
+_08021A98:
+ bl DynamicPlaceholderTextUtil_Reset
+ ldr r0, [sp, 0x10]
+ cmp r0, 0x1
+ beq _08021B48
+ cmp r0, 0x1
+ bgt _08021AC0
+ cmp r0, 0
+ beq _08021ADE
+ ldr r4, [sp, 0x14]
+ subs r4, 0x4
+ lsls r1, r6, 24
+ mov r10, r1
+ ldr r2, [sp, 0x1C]
+ adds r2, 0xA2
+ mov r9, r2
+ ldr r3, [sp, 0x18]
+ lsls r3, 5
+ mov r8, r3
+ b _08021C5A
+_08021AC0:
+ ldr r4, [sp, 0x10]
+ cmp r4, 0x2
+ bne _08021AC8
+ b _08021C1C
+_08021AC8:
+ ldr r4, [sp, 0x14]
+ subs r4, 0x4
+ lsls r0, r6, 24
+ mov r10, r0
+ ldr r1, [sp, 0x1C]
+ adds r1, 0xA2
+ mov r9, r1
+ ldr r2, [sp, 0x18]
+ lsls r2, 5
+ mov r8, r2
+ b _08021C5A
+_08021ADE:
+ ldr r0, [sp, 0x20]
+ adds r0, 0x20
+ adds r0, r5
+ ldrb r0, [r0]
+ str r0, [sp, 0x18]
+ lsls r3, r5, 1
+ ldr r2, [sp, 0x20]
+ adds r2, 0xC
+ cmp r5, 0
+ beq _08021B04
+ adds r0, r2, r3
+ subs r1, r5, 0x1
+ lsls r1, 1
+ adds r1, r2, r1
+ ldrh r0, [r0]
+ ldrh r1, [r1]
+ cmp r0, r1
+ beq _08021B04
+ str r5, [sp, 0x1C]
+_08021B04:
+ ldr r4, [sp, 0x24]
+ ldr r1, [sp, 0x10]
+ adds r0, r4, r1
+ lsls r0, 1
+ adds r0, r3, r0
+ adds r0, r2, r0
+ ldrh r1, [r0]
+ ldr r0, =gStringVar4
+ movs r2, 0x1
+ movs r3, 0x4
+ bl ConvertIntToDecimalStringN
+ ldr r0, =gUnknown_082F43B4
+ adds r0, r4, r0
+ ldr r1, [r0]
+ ldr r0, =gStringVar4
+ bl StringAppend
+ ldr r4, [sp, 0x14]
+ subs r4, 0x4
+ lsls r2, r6, 24
+ mov r10, r2
+ ldr r3, [sp, 0x1C]
+ adds r3, 0xA2
+ mov r9, r3
+ ldr r0, [sp, 0x18]
+ lsls r0, 5
+ mov r8, r0
+ b _08021C5A
+ .pool
+_08021B48:
+ ldr r1, [sp, 0x20]
+ adds r0, r1, r5
+ adds r0, 0x28
+ ldrb r0, [r0]
+ str r0, [sp, 0x18]
+ lsls r3, r5, 1
+ adds r2, r1, 0
+ adds r2, 0xC
+ cmp r5, 0
+ beq _08021B72
+ adds r0, r3, 0
+ adds r0, 0xA
+ adds r0, r2, r0
+ adds r1, r3, 0
+ adds r1, 0x8
+ adds r1, r2, r1
+ ldrh r0, [r0]
+ ldrh r1, [r1]
+ cmp r0, r1
+ beq _08021B72
+ str r5, [sp, 0x1C]
+_08021B72:
+ ldr r0, [sp, 0x24]
+ ldr r1, [sp, 0x10]
+ adds r4, r0, r1
+ lsls r4, 1
+ adds r4, r3, r4
+ adds r4, r2, r4
+ ldrh r1, [r4]
+ lsrs r1, 4
+ ldr r0, =gStringVar1
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ movs r7, 0
+ ldrb r0, [r4]
+ movs r3, 0xF
+ ands r3, r0
+ movs r2, 0
+ ldr r4, [sp, 0x10]
+ lsls r4, 2
+ str r4, [sp, 0x28]
+ ldr r4, [sp, 0x14]
+ subs r4, 0x4
+ lsls r0, r6, 24
+ mov r10, r0
+ ldr r1, [sp, 0x1C]
+ adds r1, 0xA2
+ mov r9, r1
+ ldr r0, [sp, 0x18]
+ lsls r0, 5
+ mov r8, r0
+ adds r6, 0xE
+ adds r5, 0x1
+ ldr r1, =gUnknown_082F334C
+ mov r12, r1
+_08021BB8:
+ movs r0, 0x3
+ subs r1, r0, r2
+ adds r0, r3, 0
+ asrs r0, r1
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08021BD0
+ lsls r0, r2, 2
+ add r0, r12
+ ldr r0, [r0]
+ adds r7, r0
+_08021BD0:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bls _08021BB8
+ adds r0, r7, 0
+ ldr r1, =0x000f4240
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r0, =gStringVar2
+ adds r1, r3, 0
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r0, =gUnknown_082F43B4
+ ldr r2, [sp, 0x28]
+ adds r0, r2, r0
+ ldr r1, [r0]
+ ldr r0, =gStringVar4
+ bl StringExpandPlaceholders
+ b _08021C5E
+ .pool
+_08021C1C:
+ str r5, [sp, 0x18]
+ str r5, [sp, 0x1C]
+ lsls r7, r5, 5
+ ldr r3, [sp, 0xC]
+ adds r0, r3, r7
+ adds r0, 0xA4
+ ldrb r2, [r0]
+ cmp r2, 0x2B
+ bls _08021C30
+ movs r2, 0
+_08021C30:
+ lsls r1, r2, 3
+ subs r1, r2
+ lsls r1, 2
+ ldr r0, =gBerries
+ adds r1, r0
+ ldr r0, =gStringVar1
+ bl StringCopy
+ ldr r0, =gUnknown_082F43B4
+ ldr r1, [r0, 0x8]
+ ldr r0, =gStringVar4
+ bl StringExpandPlaceholders
+ ldr r4, [sp, 0x14]
+ subs r4, 0x4
+ lsls r0, r6, 24
+ mov r10, r0
+ movs r1, 0xA2
+ adds r1, r5
+ mov r9, r1
+ mov r8, r7
+_08021C5A:
+ adds r6, 0xE
+ adds r5, 0x1
+_08021C5E:
+ movs r0, 0x2
+ ldr r1, =gStringVar4
+ adds r2, r4, 0
+ bl GetStringRightAlignXOffset
+ adds r2, r0, 0
+ ldr r3, [sp, 0xC]
+ movs r4, 0xDD
+ lsls r4, 1
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ lsls r2, 24
+ lsrs r2, 24
+ mov r1, r10
+ lsrs r3, r1, 24
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ movs r4, 0
+ str r4, [sp, 0x4]
+ ldr r1, =gStringVar4
+ str r1, [sp, 0x8]
+ movs r1, 0x2
+ bl AddTextPrinterParameterized3
+ ldr r3, [sp, 0x18]
+ ldr r2, [sp, 0xC]
+ ldrb r2, [r2, 0x8]
+ cmp r3, r2
+ bne _08021CC0
+ ldr r0, =gStringVar3
+ ldr r1, =gText_1DotBlueF700
+ bl StringCopy
+ b _08021CC8
+ .pool
+_08021CC0:
+ ldr r0, =gStringVar3
+ ldr r1, =gText_1DotF700
+ bl StringCopy
+_08021CC8:
+ ldr r4, =gStringVar3
+ mov r3, r9
+ strb r3, [r4]
+ mov r1, r8
+ adds r1, 0x98
+ ldr r0, [sp, 0xC]
+ adds r1, r0, r1
+ movs r0, 0
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ ldr r0, =gStringVar4
+ adds r1, r4, 0
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+ ldr r1, [sp, 0xC]
+ movs r2, 0xDD
+ lsls r2, 1
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ mov r4, r10
+ lsrs r3, r4, 24
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ ldr r2, =gStringVar4
+ str r2, [sp, 0x8]
+ movs r1, 0x2
+ movs r2, 0x4
+ bl AddTextPrinterParameterized3
+ lsls r0, r5, 24
+ lsrs r5, r0, 24
+ ldr r3, [sp, 0xC]
+ ldrb r3, [r3, 0x9]
+ cmp r5, r3
+ bcs _08021D14
+ b _08021A98
+_08021D14:
+ add sp, 0x2C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8021A28
+
+ thumb_func_start sub_8021D34
+sub_8021D34: @ 8021D34
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x1C
+ mov r8, r0
+ movs r0, 0
+ mov r10, r0
+ movs r6, 0
+ movs r1, 0
+ str r1, [sp, 0xC]
+ mov r2, r8
+ adds r2, 0x68
+ str r2, [sp, 0x10]
+ movs r4, 0xDD
+ lsls r4, 1
+ add r4, r8
+ mov r9, r4
+ ldrb r0, [r4]
+ movs r1, 0x4
+ bl GetWindowAttribute
+ lsls r0, 27
+ movs r1, 0xD6
+ lsls r1, 24
+ adds r0, r1
+ lsrs r7, r0, 24
+ movs r0, 0x9C
+ lsls r0, 1
+ add r0, r8
+ ldr r2, [sp, 0x10]
+ ldrh r1, [r2, 0x4]
+ bl sub_8021944
+ ldrb r0, [r4]
+ ldr r4, =gUnknown_082F32D8
+ str r4, [sp]
+ str r6, [sp, 0x4]
+ ldr r1, =gText_TimeColon
+ str r1, [sp, 0x8]
+ movs r1, 0x2
+ movs r2, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ ldr r4, =gText_SpaceSec
+ movs r0, 0x2
+ adds r1, r4, 0
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ movs r1, 0xB0
+ subs r0, r1, r0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r2, r9
+ ldrb r0, [r2]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ mov r2, r10
+ str r2, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ movs r0, 0x9F
+ lsls r0, 1
+ add r0, r8
+ movs r4, 0
+ ldrsh r1, [r0, r4]
+ ldr r0, =gStringVar1
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r0, =gStringVar2
+ movs r1, 0xA0
+ lsls r1, 1
+ add r1, r8
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r5, =gStringVar4
+ ldr r1, =gText_XDotY2
+ adds r0, r5, 0
+ bl StringExpandPlaceholders
+ movs r0, 0x2
+ adds r1, r5, 0
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ subs r0, r6, r0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r4, r9
+ ldrb r0, [r4]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ mov r2, r10
+ str r2, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ ldr r4, =gText_SpaceMin
+ movs r0, 0x2
+ adds r1, r4, 0
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ subs r0, r6, r0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r1, r9
+ ldrb r0, [r1]
+ ldr r2, =gUnknown_082F32D8
+ str r2, [sp]
+ mov r1, r10
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ movs r0, 0x9E
+ lsls r0, 1
+ add r0, r8
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ ldr r0, =gStringVar1
+ movs r2, 0x2
+ movs r3, 0x1
+ bl ConvertIntToDecimalStringN
+ ldr r1, =gText_StrVar1
+ adds r0, r5, 0
+ bl StringExpandPlaceholders
+ movs r0, 0x2
+ adds r1, r5, 0
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ subs r0, r6, r0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r4, r9
+ ldrb r0, [r4]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ mov r2, r10
+ str r2, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ adds r0, r7, 0
+ adds r0, 0xE
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r0, [r4]
+ ldr r4, =gUnknown_082F32D8
+ str r4, [sp]
+ mov r1, r10
+ str r1, [sp, 0x4]
+ ldr r1, =gText_PressingSpeed
+ str r1, [sp, 0x8]
+ movs r1, 0x2
+ movs r2, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ ldr r4, =gText_TimesPerSec
+ movs r0, 0x2
+ adds r1, r4, 0
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ movs r2, 0xB0
+ subs r0, r2, r0
+ lsls r0, 24
+ str r0, [sp, 0x18]
+ lsrs r6, r0, 24
+ mov r1, r9
+ ldrb r0, [r1]
+ ldr r2, =gUnknown_082F32D8
+ str r2, [sp]
+ mov r1, r10
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ mov r4, r8
+ ldrb r2, [r4, 0x16]
+ ldrh r0, [r4, 0x16]
+ mov r12, r0
+ movs r1, 0x7
+ mov r9, r1
+ movs r5, 0x1
+ ldr r3, =gUnknown_082F334C
+_08021EEC:
+ mov r4, r9
+ mov r0, r10
+ subs r1, r4, r0
+ adds r0, r2, 0
+ asrs r0, r1
+ ands r0, r5
+ cmp r0, 0
+ beq _08021F0A
+ mov r1, r10
+ lsls r0, r1, 2
+ adds r0, r3
+ ldr r0, [r0]
+ ldr r4, [sp, 0xC]
+ adds r4, r0
+ str r4, [sp, 0xC]
+_08021F0A:
+ mov r0, r10
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ cmp r0, 0x7
+ bls _08021EEC
+ ldr r0, =gStringVar1
+ mov r2, r12
+ lsrs r1, r2, 8
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ ldr r4, =gStringVar2
+ ldr r1, =0x000f4240
+ ldr r0, [sp, 0xC]
+ bl __udivsi3
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r4, =gStringVar4
+ ldr r1, =gText_XDotY3
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl GetStringWidth
+ subs r0, r6, r0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r0, r8
+ adds r0, 0x25
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ beq _08021FC4
+ movs r0, 0xDD
+ lsls r0, 1
+ add r0, r8
+ ldrb r0, [r0]
+ ldr r1, =gUnknown_082F32E7
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ b _08021FDE
+ .pool
+_08021FC4:
+ movs r0, 0xDD
+ lsls r0, 1
+ add r0, r8
+ ldrb r0, [r0]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ str r2, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+_08021FDE:
+ adds r0, r7, 0
+ adds r0, 0xE
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r4, 0xDD
+ lsls r4, 1
+ add r8, r4
+ mov r1, r8
+ ldrb r0, [r1]
+ ldr r2, =gUnknown_082F32D8
+ mov r9, r2
+ str r2, [sp]
+ movs r5, 0
+ str r5, [sp, 0x4]
+ ldr r1, =gText_Silkiness
+ str r1, [sp, 0x8]
+ movs r1, 0x2
+ movs r2, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ ldr r0, =gStringVar1
+ ldr r4, [sp, 0x10]
+ ldrh r1, [r4, 0x8]
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ ldr r4, =gStringVar4
+ ldr r1, =gText_Var1Percent
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl GetStringWidth
+ movs r1, 0xB0
+ subs r1, r0
+ lsls r1, 24
+ lsrs r6, r1, 24
+ mov r1, r8
+ ldrb r0, [r1]
+ mov r2, r9
+ str r2, [sp]
+ str r5, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ add sp, 0x1C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8021D34
+
+ thumb_func_start sub_8022070
+sub_8022070: @ 8022070
+ push {r4-r6,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ adds r6, r1, 0
+ adds r0, r6, 0
+ adds r0, 0x80
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ bls _08022084
+ b _08022218
+_08022084:
+ lsls r0, 2
+ ldr r1, =_08022094
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08022094:
+ .4byte _080220AC
+ .4byte _080220F8
+ .4byte _0802210C
+ .4byte _08022130
+ .4byte _080221F8
+ .4byte _08022200
+_080220AC:
+ ldrb r0, [r4, 0x9]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r6, 0
+ bl sub_8022554
+ ldrh r0, [r4, 0x12]
+ lsls r0, 3
+ ldr r2, =gUnknown_082F32CC
+ mov r1, sp
+ adds r0, r2
+ ldm r0!, {r2,r3}
+ stm r1!, {r2,r3}
+ ldrh r0, [r4, 0x12]
+ cmp r0, 0xD
+ bne _080220DC
+ ldr r0, =gUnknown_082F3344
+ adds r0, 0x4
+ b _080220DE
+ .pool
+_080220DC:
+ ldr r0, =gUnknown_082F3344
+_080220DE:
+ adds r0, r5, r0
+ ldrb r1, [r0]
+ mov r0, sp
+ strb r1, [r0, 0x4]
+ mov r0, sp
+ bl AddWindow
+ adds r1, r6, 0
+ adds r1, 0x82
+ strb r0, [r1]
+ b _08022218
+ .pool
+_080220F8:
+ adds r4, r6, 0
+ adds r4, 0x82
+ ldrb r0, [r4]
+ bl PutWindowTilemap
+ ldrb r0, [r4]
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ b _08022218
+_0802210C:
+ adds r5, r6, 0
+ adds r5, 0x82
+ ldrb r0, [r5]
+ ldr r4, =0x0000021d
+ adds r1, r4, 0
+ movs r2, 0xD0
+ bl LoadUserWindowBorderGfx_
+ ldrb r0, [r5]
+ movs r1, 0
+ adds r2, r4, 0
+ movs r3, 0xD
+ bl DrawStdFrameWithCustomTileAndPalette
+ b _08022218
+ .pool
+_08022130:
+ ldrb r0, [r4, 0x9]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldrh r0, [r4, 0x12]
+ cmp r0, 0xC
+ beq _08022184
+ cmp r0, 0xC
+ bgt _08022148
+ cmp r0, 0xB
+ beq _0802214E
+ b _08022218
+_08022148:
+ cmp r0, 0xD
+ beq _080221C8
+ b _08022218
+_0802214E:
+ adds r0, r6, 0
+ adds r0, 0x82
+ ldrb r0, [r0]
+ ldr r3, =gText_PressesRankings
+ movs r1, 0x14
+ movs r2, 0x3
+ bl sub_80219C8
+ ldr r0, =gUnknown_082F3344
+ adds r0, r5, r0
+ ldrb r3, [r0]
+ lsls r3, 27
+ lsrs r3, 24
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0xA0
+ bl sub_8021A28
+ adds r1, r6, 0
+ adds r1, 0x80
+ movs r0, 0x5
+ b _08022220
+ .pool
+_08022184:
+ adds r0, r6, 0
+ adds r0, 0x82
+ ldrb r0, [r0]
+ ldr r2, =gUnknown_082F43B4
+ adds r1, r4, 0
+ adds r1, 0x8F
+ ldrb r1, [r1]
+ adds r1, 0x3
+ lsls r1, 2
+ adds r1, r2
+ ldr r3, [r1]
+ movs r1, 0x14
+ movs r2, 0x4
+ bl sub_80219C8
+ ldr r0, =gUnknown_082F3344
+ adds r0, r5, r0
+ ldrb r3, [r0]
+ lsls r3, 27
+ lsrs r3, 24
+ adds r0, r4, 0
+ movs r1, 0x1
+ movs r2, 0xA0
+ bl sub_8021A28
+ adds r1, r6, 0
+ adds r1, 0x80
+ movs r0, 0x5
+ b _08022220
+ .pool
+_080221C8:
+ adds r0, r6, 0
+ adds r0, 0x82
+ ldrb r0, [r0]
+ ldr r3, =gText_CrushingResults
+ movs r1, 0x16
+ movs r2, 0x3
+ bl sub_80219C8
+ ldr r0, =gUnknown_082F3344
+ adds r0, 0x4
+ adds r0, r5, r0
+ ldrb r3, [r0]
+ lsls r3, 27
+ lsrs r3, 24
+ adds r0, r4, 0
+ movs r1, 0x2
+ movs r2, 0xB0
+ bl sub_8021A28
+ b _08022218
+ .pool
+_080221F8:
+ adds r0, r4, 0
+ bl sub_8021D34
+ b _08022218
+_08022200:
+ adds r0, r6, 0
+ adds r0, 0x82
+ ldrb r0, [r0]
+ movs r1, 0x3
+ bl CopyWindowToVram
+ adds r1, r6, 0
+ adds r1, 0x80
+ movs r0, 0
+ strb r0, [r1]
+ movs r0, 0x1
+ b _08022224
+_08022218:
+ adds r1, r6, 0
+ adds r1, 0x80
+ ldrb r0, [r1]
+ adds r0, 0x1
+_08022220:
+ strb r0, [r1]
+ movs r0, 0
+_08022224:
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022070
+
+ thumb_func_start sub_802222C
+sub_802222C: @ 802222C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r0, 0xDD
+ lsls r0, 1
+ adds r5, r4, r0
+ ldrb r0, [r5]
+ movs r1, 0x1
+ bl ClearStdWindowAndFrameToTransparent
+ ldrb r0, [r5]
+ bl RemoveWindow
+ adds r0, r4, 0
+ bl sub_8022600
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802222C
+
+ thumb_func_start sub_8022250
+sub_8022250: @ 8022250
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0
+ mov r9, r0
+ movs r1, 0
+ str r1, [sp, 0xC]
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r6, r0, r1
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ cmp r0, 0x1
+ beq _080222D0
+ cmp r0, 0x1
+ bgt _08022288
+ cmp r0, 0
+ beq _08022296
+ b _080224BA
+ .pool
+_08022288:
+ cmp r0, 0x2
+ bne _0802228E
+ b _08022480
+_0802228E:
+ cmp r0, 0x3
+ bne _08022294
+ b _08022494
+_08022294:
+ b _080224BA
+_08022296:
+ ldr r0, =gUnknown_082F32EC
+ bl AddWindow
+ strh r0, [r6, 0x2]
+ lsls r0, 24
+ lsrs r0, 24
+ bl PutWindowTilemap
+ ldrb r0, [r6, 0x2]
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ ldrb r0, [r6, 0x2]
+ ldr r4, =0x0000021d
+ adds r1, r4, 0
+ movs r2, 0xD0
+ bl LoadUserWindowBorderGfx_
+ ldrb r0, [r6, 0x2]
+ movs r1, 0
+ adds r2, r4, 0
+ movs r3, 0xD
+ bl DrawStdFrameWithCustomTileAndPalette
+ b _080224BA
+ .pool
+_080222D0:
+ ldr r0, =gText_BerryCrush2
+ mov r10, r0
+ movs r1, 0x1
+ negs r1, r1
+ mov r8, r1
+ movs r0, 0x1
+ mov r1, r10
+ mov r2, r8
+ bl GetStringWidth
+ lsrs r0, 1
+ movs r4, 0x60
+ subs r0, r4, r0
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r0, [r6, 0x2]
+ ldr r5, =gUnknown_082F32E1
+ str r5, [sp]
+ mov r1, r9
+ str r1, [sp, 0x4]
+ mov r1, r10
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r7, 0
+ movs r3, 0x1
+ bl AddTextPrinterParameterized3
+ ldr r0, =gText_PressingSpeedRankings
+ mov r10, r0
+ movs r0, 0x1
+ mov r1, r10
+ mov r2, r8
+ bl GetStringWidth
+ lsrs r0, 1
+ subs r4, r0
+ lsls r4, 24
+ lsrs r7, r4, 24
+ ldrb r0, [r6, 0x2]
+ str r5, [sp]
+ mov r1, r9
+ str r1, [sp, 0x4]
+ mov r1, r10
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r7, 0
+ movs r3, 0x11
+ bl AddTextPrinterParameterized3
+ movs r0, 0x29
+ mov r10, r0
+_08022336:
+ mov r1, r9
+ adds r1, 0x2
+ ldr r0, =gStringVar1
+ movs r2, 0
+ movs r3, 0x1
+ bl ConvertIntToDecimalStringN
+ ldr r0, =gStringVar4
+ ldr r1, =gText_Var1Players
+ bl StringExpandPlaceholders
+ ldrb r0, [r6, 0x2]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ ldr r1, =gStringVar4
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r2, 0
+ mov r3, r10
+ bl AddTextPrinterParameterized3
+ movs r0, 0x1
+ ldr r1, =gText_TimesPerSec
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ movs r1, 0xC0
+ subs r1, r0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ ldrb r0, [r6, 0x2]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ ldr r1, =gText_TimesPerSec
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r7, 0
+ mov r3, r10
+ bl AddTextPrinterParameterized3
+ movs r2, 0
+ mov r0, r9
+ lsls r4, r0, 1
+ mov r1, r10
+ adds r1, 0x10
+ str r1, [sp, 0x10]
+ movs r0, 0x1
+ add r9, r0
+ adds r0, r4, r6
+ ldrb r3, [r0, 0x4]
+ movs r1, 0x7
+ mov r12, r1
+ movs r0, 0x1
+ mov r8, r0
+ ldr r5, =gUnknown_082F334C
+_080223AE:
+ mov r0, r12
+ subs r1, r0, r2
+ adds r0, r3, 0
+ asrs r0, r1
+ mov r1, r8
+ ands r0, r1
+ cmp r0, 0
+ beq _080223CA
+ lsls r0, r2, 2
+ adds r0, r5
+ ldr r0, [r0]
+ ldr r1, [sp, 0xC]
+ adds r1, r0
+ str r1, [sp, 0xC]
+_080223CA:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x7
+ bls _080223AE
+ adds r0, r4, r6
+ ldrh r1, [r0, 0x4]
+ lsrs r1, 8
+ ldr r0, =gStringVar1
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ ldr r0, [sp, 0xC]
+ ldr r1, =0x000f4240
+ bl __udivsi3
+ adds r1, r0, 0
+ ldr r0, =gStringVar2
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r0, =gStringVar4
+ ldr r1, =gText_XDotY3
+ bl StringExpandPlaceholders
+ movs r0, 0x1
+ ldr r1, =gStringVar4
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ subs r0, r7, r0
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r0, [r6, 0x2]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ ldr r1, =gStringVar4
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r7, 0
+ mov r3, r10
+ bl AddTextPrinterParameterized3
+ ldr r1, [sp, 0x10]
+ lsls r0, r1, 24
+ lsrs r0, 24
+ mov r10, r0
+ movs r0, 0
+ str r0, [sp, 0xC]
+ mov r1, r9
+ lsls r0, r1, 24
+ lsrs r0, 24
+ mov r9, r0
+ cmp r0, 0x3
+ bhi _08022444
+ b _08022336
+_08022444:
+ ldrb r0, [r6, 0x2]
+ movs r1, 0x3
+ bl CopyWindowToVram
+ b _080224BA
+ .pool
+_08022480:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _080224BA
+ b _080224C0
+ .pool
+_08022494:
+ ldrb r0, [r6, 0x2]
+ movs r1, 0x1
+ bl ClearStdWindowAndFrameToTransparent
+ ldrb r0, [r6, 0x2]
+ bl ClearWindowTilemap
+ ldrb r0, [r6, 0x2]
+ bl RemoveWindow
+ adds r0, r4, 0
+ bl DestroyTask
+ bl EnableBothScriptContexts
+ bl ScriptContext2_Disable
+ mov r0, r9
+ b _080224BE
+_080224BA:
+ ldrh r0, [r6]
+ adds r0, 0x1
+_080224BE:
+ strh r0, [r6]
+_080224C0:
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022250
+
+ thumb_func_start sub_80224D0
+sub_80224D0: @ 80224D0
+ push {lr}
+ bl ScriptContext2_Enable
+ ldr r0, =sub_8022250
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r0, =gSaveBlock2Ptr
+ ldr r2, [r0]
+ movs r3, 0xF6
+ lsls r3, 1
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1, 0xC]
+ adds r3, 0x2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1, 0xE]
+ adds r3, 0x2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1, 0x10]
+ adds r3, 0x2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1, 0x12]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80224D0
+
+ thumb_func_start sub_8022524
+sub_8022524: @ 8022524
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ bl sub_8021944
+ movs r0, 0x4
+ ldrsh r1, [r4, r0]
+ movs r0, 0
+ bl sub_8035044
+ movs r0, 0x6
+ ldrsh r1, [r4, r0]
+ movs r0, 0x1
+ bl sub_8035044
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ movs r0, 0x2
+ bl sub_8035044
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022524
+
+ thumb_func_start sub_8022554
+sub_8022554: @ 8022554
+ push {lr}
+ ldr r2, [r0, 0x78]
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r3, 0x4
+ orrs r1, r3
+ strb r1, [r2]
+ ldr r1, [r0, 0x7C]
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ orrs r0, r3
+ strb r0, [r1]
+ movs r0, 0x2
+ movs r1, 0x1
+ bl sub_803547C
+ movs r0, 0x1
+ movs r1, 0x1
+ bl sub_803547C
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_803547C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022554
+
+ thumb_func_start sub_8022588
+sub_8022588: @ 8022588
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ movs r6, 0
+ ldrb r0, [r5, 0x9]
+ cmp r6, r0
+ bcs _080225E8
+ ldr r7, =gUnknown_082F417C
+_08022596:
+ lsls r0, r6, 2
+ movs r1, 0xA2
+ lsls r1, 1
+ adds r2, r5, r1
+ adds r2, r0
+ ldrb r1, [r5, 0x9]
+ subs r1, 0x2
+ lsls r0, r1, 2
+ adds r0, r1
+ adds r0, r6, r0
+ adds r0, r7
+ ldrb r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gUnknown_082F4190
+ adds r0, r1
+ str r0, [r2]
+ ldrb r0, [r0]
+ lsls r0, 3
+ ldr r1, =gUnknown_082F32F4
+ adds r0, r1
+ bl AddWindow
+ ldr r1, =0x000001bb
+ adds r4, r5, r1
+ adds r4, r6
+ strb r0, [r4]
+ ldrb r0, [r4]
+ bl PutWindowTilemap
+ ldrb r0, [r4]
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldrb r0, [r5, 0x9]
+ cmp r6, r0
+ bcc _08022596
+_080225E8:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022588
+
+ thumb_func_start sub_8022600
+sub_8022600: @ 8022600
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x14
+ adds r6, r0, 0
+ movs r7, 0
+ ldrb r0, [r6, 0x9]
+ cmp r7, r0
+ bcs _080226B6
+ movs r1, 0
+ mov r8, r1
+_08022616:
+ ldr r1, =0x000001bb
+ adds r0, r6, r1
+ adds r5, r0, r7
+ ldrb r0, [r5]
+ bl PutWindowTilemap
+ ldrb r0, [r6, 0x8]
+ cmp r7, r0
+ bne _08022668
+ lsls r4, r7, 5
+ adds r4, 0x98
+ adds r4, r6, r4
+ movs r0, 0x2
+ adds r1, r4, 0
+ movs r2, 0
+ bl GetStringWidth
+ lsrs r0, 1
+ movs r2, 0x24
+ subs r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r0, [r5]
+ mov r1, r8
+ str r1, [sp]
+ str r1, [sp, 0x4]
+ ldr r1, =gUnknown_082F32DB
+ str r1, [sp, 0x8]
+ mov r1, r8
+ str r1, [sp, 0xC]
+ str r4, [sp, 0x10]
+ movs r1, 0x2
+ movs r3, 0x1
+ bl AddTextPrinterParameterized4
+ b _0802269C
+ .pool
+_08022668:
+ lsls r4, r7, 5
+ adds r4, 0x98
+ adds r4, r6, r4
+ movs r0, 0x2
+ adds r1, r4, 0
+ movs r2, 0
+ bl GetStringWidth
+ lsrs r0, 1
+ movs r2, 0x24
+ subs r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r0, [r5]
+ mov r1, r8
+ str r1, [sp]
+ str r1, [sp, 0x4]
+ ldr r1, =gUnknown_082F32DE
+ str r1, [sp, 0x8]
+ mov r1, r8
+ str r1, [sp, 0xC]
+ str r4, [sp, 0x10]
+ movs r1, 0x2
+ movs r3, 0x1
+ bl AddTextPrinterParameterized4
+_0802269C:
+ ldr r1, =0x000001bb
+ adds r0, r6, r1
+ adds r0, r7
+ ldrb r0, [r0]
+ movs r1, 0x3
+ bl CopyWindowToVram
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r0, [r6, 0x9]
+ cmp r7, r0
+ bcc _08022616
+_080226B6:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ add sp, 0x14
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022600
+
+ thumb_func_start sub_80226D0
+sub_80226D0: @ 80226D0
+ push {r4-r6,lr}
+ sub sp, 0x8
+ adds r6, r0, 0
+ movs r5, 0
+ ldr r0, =gUnknown_08DE3FD4
+ ldr r4, =gDecompressionBuffer
+ adds r1, r4, 0
+ bl LZ77UnCompWram
+ b _0802271A
+ .pool
+_080226EC:
+ lsls r1, r5, 2
+ movs r2, 0xA2
+ lsls r2, 1
+ adds r0, r6, r2
+ adds r0, r1
+ ldr r3, [r0]
+ ldrb r0, [r3]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r4, r1
+ ldrb r2, [r3, 0x1]
+ ldrb r3, [r3, 0x2]
+ movs r0, 0xA
+ str r0, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ movs r0, 0x3
+ bl CopyToBgTilemapBufferRect
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+_0802271A:
+ ldrb r0, [r6, 0x9]
+ cmp r5, r0
+ bcc _080226EC
+ movs r0, 0x3
+ bl CopyBgTilemapBufferToVram
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80226D0
+
+ thumb_func_start sub_8022730
+sub_8022730: @ 8022730
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ movs r5, 0
+ ldr r0, =0x0000ff98
+ strh r0, [r6, 0x2A]
+ strh r5, [r6, 0x2C]
+ ldr r1, =gSpriteCoordOffsetX
+ strh r5, [r1]
+ ldr r1, =gSpriteCoordOffsetY
+ strh r0, [r1]
+ ldr r4, =gUnknown_082F41F4
+_08022746:
+ lsls r0, r5, 3
+ adds r0, r4
+ bl LoadCompressedSpriteSheet
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _08022746
+ ldr r0, =gUnknown_082F421C
+ bl LoadSpritePalettes
+ ldr r0, =gUnknown_082F430C
+ movs r1, 0x78
+ movs r2, 0x58
+ movs r3, 0x5
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ movs r0, 0xAC
+ lsls r0, 1
+ adds r3, r6, r0
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ str r0, [r3]
+ ldrb r1, [r0, 0x5]
+ movs r2, 0xC
+ orrs r1, r2
+ strb r1, [r0, 0x5]
+ ldr r1, [r3]
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ movs r2, 0x2
+ orrs r0, r2
+ strb r0, [r1]
+ ldr r1, [r3]
+ adds r1, 0x2C
+ ldrb r0, [r1]
+ movs r2, 0x40
+ orrs r0, r2
+ strb r0, [r1]
+ movs r5, 0
+ ldrb r1, [r6, 0x9]
+ cmp r5, r1
+ bcs _08022822
+ movs r7, 0x4
+_080227AA:
+ lsls r4, r5, 2
+ movs r3, 0xA2
+ lsls r3, 1
+ adds r0, r6, r3
+ adds r0, r4
+ ldr r0, [r0]
+ ldrh r1, [r0, 0x4]
+ adds r1, 0x78
+ lsls r1, 16
+ asrs r1, 16
+ ldrh r2, [r0, 0x6]
+ adds r2, 0x20
+ lsls r2, 16
+ asrs r2, 16
+ ldr r0, =gUnknown_082F4324
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ movs r0, 0xAE
+ lsls r0, 1
+ adds r3, r6, r0
+ adds r3, r4
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ ldr r0, =gSprites
+ adds r1, r0
+ str r1, [r3]
+ ldrb r0, [r1, 0x5]
+ movs r4, 0xD
+ negs r4, r4
+ adds r2, r4, 0
+ ands r0, r2
+ orrs r0, r7
+ strb r0, [r1, 0x5]
+ ldr r1, [r3]
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ orrs r0, r7
+ strb r0, [r1]
+ ldr r2, [r3]
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x2
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r2, [r3]
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r2]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldrb r0, [r6, 0x9]
+ cmp r5, r0
+ bcc _080227AA
+_08022822:
+ movs r5, 0
+ ldr r4, =gUnknown_082F41CC+6
+ adds r7, r4, 0x1
+_08022828:
+ lsls r2, r5, 1
+ adds r0, r2, r4
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ adds r1, 0x78
+ adds r2, r7
+ ldrb r2, [r2]
+ lsls r2, 24
+ asrs r2, 24
+ adds r2, 0x88
+ ldr r0, =gUnknown_082F433C
+ movs r3, 0x6
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r0, r5, 2
+ movs r1, 0xC2
+ lsls r1, 1
+ adds r3, r6, r1
+ adds r3, r0
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ str r0, [r3]
+ ldrb r1, [r0, 0x5]
+ movs r2, 0xC
+ orrs r1, r2
+ strb r1, [r0, 0x5]
+ ldr r2, [r3]
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r2, [r3]
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, [r3]
+ strh r5, [r0, 0x2E]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xA
+ bls _08022828
+ movs r5, 0
+_0802288E:
+ lsls r1, r5, 1
+ adds r1, r5
+ lsls r1, 19
+ movs r3, 0xB0
+ lsls r3, 16
+ adds r1, r3
+ asrs r1, 16
+ ldr r0, =gUnknown_082F4354
+ movs r2, 0x8
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r0, r5, 2
+ movs r4, 0xD8
+ lsls r4, 1
+ adds r3, r6, r4
+ adds r3, r0
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ str r0, [r3]
+ ldrb r1, [r0, 0x5]
+ movs r4, 0xD
+ negs r4, r4
+ adds r2, r4, 0
+ ands r1, r2
+ strb r1, [r0, 0x5]
+ ldr r2, [r3]
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ adds r4, 0x8
+ adds r1, r4, 0
+ ands r0, r1
+ strb r0, [r2]
+ ldr r2, [r3]
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r3, 0x41
+ negs r3, r3
+ adds r1, r3, 0
+ ands r0, r1
+ strb r0, [r2]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x1
+ bls _0802288E
+ ldr r4, =gUnknown_082F4384
+ movs r0, 0
+ movs r1, 0
+ adds r2, r4, 0
+ bl sub_8034D14
+ adds r2, r4, 0
+ adds r2, 0x10
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_8034D14
+ adds r4, 0x20
+ movs r0, 0x2
+ movs r1, 0
+ adds r2, r4, 0
+ bl sub_8034D14
+ ldrh r0, [r6, 0x12]
+ cmp r0, 0x1
+ bne _08022928
+ movs r4, 0x9C
+ lsls r4, 1
+ adds r0, r6, r4
+ bl sub_8022554
+_08022928:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022730
+
+ thumb_func_start sub_8022960
+sub_8022960: @ 8022960
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ movs r4, 0
+ movs r0, 0x4
+ bl FreeSpriteTilesByTag
+ movs r0, 0x3
+ bl FreeSpriteTilesByTag
+ movs r0, 0x2
+ bl FreeSpriteTilesByTag
+ movs r0, 0x1
+ bl FreeSpriteTilesByTag
+ movs r0, 0x4
+ bl FreeSpritePaletteByTag
+ movs r0, 0x2
+ bl FreeSpritePaletteByTag
+ movs r0, 0x1
+ bl FreeSpritePaletteByTag
+ movs r0, 0xD8
+ lsls r0, 1
+ adds r6, r5, r0
+_08022996:
+ lsls r0, r4, 2
+ adds r0, r6, r0
+ ldr r0, [r0]
+ bl DestroySprite
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x1
+ bls _08022996
+ movs r0, 0x2
+ bl sub_80353DC
+ movs r0, 0x1
+ bl sub_80353DC
+ movs r0, 0
+ bl sub_80353DC
+ movs r4, 0
+ movs r1, 0xC2
+ lsls r1, 1
+ adds r6, r5, r1
+_080229C4:
+ lsls r0, r4, 2
+ adds r0, r6, r0
+ ldr r0, [r0]
+ bl DestroySprite
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0xA
+ bls _080229C4
+ movs r4, 0
+ ldrb r2, [r5, 0x9]
+ cmp r4, r2
+ bcs _080229FC
+_080229E0:
+ lsls r1, r4, 2
+ movs r2, 0xAE
+ lsls r2, 1
+ adds r0, r5, r2
+ adds r0, r1
+ ldr r0, [r0]
+ bl DestroySprite
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldrb r0, [r5, 0x9]
+ cmp r4, r0
+ bcc _080229E0
+_080229FC:
+ movs r1, 0xAC
+ lsls r1, 1
+ adds r0, r5, r1
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08022A18
+ adds r0, r2, 0
+ bl DestroySprite
+_08022A18:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022960
+
+ thumb_func_start sub_8022A20
+sub_8022A20: @ 8022A20
+ push {lr}
+ adds r3, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08022A46
+ adds r2, r3, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ subs r2, 0x12
+ ldrb r0, [r2]
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r2]
+_08022A46:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022A20
+
+ thumb_func_start sub_8022A4C
+sub_8022A4C: @ 8022A4C
+ push {r4,r5,lr}
+ adds r3, r0, 0
+ movs r1, 0
+ ldr r5, =SpriteCallbackDummy
+ adds r2, r3, 0
+ adds r2, 0x2E
+ movs r4, 0
+_08022A5A:
+ lsls r0, r1, 1
+ adds r0, r2, r0
+ strh r4, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x7
+ bls _08022A5A
+ movs r0, 0
+ strh r0, [r3, 0x24]
+ strh r0, [r3, 0x26]
+ adds r2, r3, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ subs r2, 0x12
+ ldrb r0, [r2]
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r2]
+ str r5, [r3, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022A4C
+
+ thumb_func_start sub_8022A94
+sub_8022A94: @ 8022A94
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r4, r5, 0
+ adds r4, 0x2E
+ ldrh r0, [r4, 0x4]
+ ldrh r1, [r4, 0x2]
+ adds r0, r1
+ strh r0, [r4, 0x2]
+ lsls r0, 16
+ asrs r0, 24
+ ldrh r2, [r5, 0x26]
+ adds r0, r2
+ strh r0, [r5, 0x26]
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ movs r6, 0x80
+ lsls r6, 8
+ ands r0, r6
+ cmp r0, 0
+ beq _08022AFA
+ ldrh r0, [r4, 0x6]
+ ldrh r2, [r5, 0x2E]
+ adds r0, r2
+ strh r0, [r5, 0x2E]
+ ldrh r0, [r4, 0xA]
+ ldrh r1, [r4, 0x8]
+ adds r0, r1
+ strh r0, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 23
+ movs r2, 0xC
+ ldrsh r1, [r4, r2]
+ bl Sin
+ strh r0, [r5, 0x24]
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ ands r0, r6
+ cmp r0, 0
+ beq _08022AFA
+ ldrh r0, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 23
+ cmp r0, 0x7E
+ ble _08022AFA
+ movs r0, 0
+ strh r0, [r5, 0x24]
+ ldrh r1, [r4, 0xE]
+ ldr r0, =0x00007fff
+ ands r0, r1
+ strh r0, [r4, 0xE]
+_08022AFA:
+ ldrh r0, [r4]
+ lsls r0, 16
+ asrs r0, 23
+ strh r0, [r5, 0x20]
+ movs r2, 0x22
+ ldrsh r1, [r5, r2]
+ movs r2, 0x26
+ ldrsh r0, [r5, r2]
+ adds r1, r0
+ ldrh r2, [r4, 0xE]
+ ldr r0, =0x00007fff
+ ands r0, r2
+ cmp r1, r0
+ ble _08022B1A
+ ldr r0, =sub_8022A4C
+ str r0, [r5, 0x1C]
+_08022B1A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022A94
+
+ thumb_func_start sub_8022B28
+sub_8022B28: @ 8022B28
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ adds r7, r6, 0
+ adds r7, 0x2E
+ movs r0, 0
+ mov r8, r0
+ movs r2, 0xA0
+ lsls r2, 2
+ strh r2, [r7, 0x2]
+ movs r0, 0x20
+ strh r0, [r7, 0x4]
+ movs r1, 0xA8
+ strh r1, [r7, 0xE]
+ movs r0, 0x24
+ ldrsh r4, [r6, r0]
+ lsls r4, 23
+ lsrs r4, 16
+ ldrh r0, [r6, 0x22]
+ subs r1, r0
+ lsls r1, 23
+ asrs r1, 16
+ adds r2, 0x20
+ asrs r2, 1
+ movs r0, 0x7
+ bl sub_81515D4
+ adds r5, r0, 0
+ ldrh r0, [r6, 0x20]
+ lsls r0, 7
+ strh r0, [r6, 0x2E]
+ lsls r4, 16
+ asrs r4, 16
+ lsls r5, 16
+ asrs r5, 16
+ movs r0, 0x7
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_81515D4
+ strh r0, [r7, 0x6]
+ movs r0, 0x7
+ adds r1, r5, 0
+ movs r2, 0x55
+ bl sub_8151550
+ adds r2, r0, 0
+ mov r1, r8
+ strh r1, [r7, 0x8]
+ movs r1, 0xFE
+ lsls r1, 6
+ lsls r2, 16
+ asrs r2, 16
+ movs r0, 0x7
+ bl sub_81515D4
+ strh r0, [r7, 0xA]
+ movs r2, 0x24
+ ldrsh r0, [r6, r2]
+ cmp r0, 0
+ bge _08022BA6
+ adds r0, 0x3
+_08022BA6:
+ asrs r0, 2
+ strh r0, [r7, 0xC]
+ ldrh r0, [r7, 0xE]
+ ldr r2, =0xffff8000
+ adds r1, r2, 0
+ orrs r0, r1
+ strh r0, [r7, 0xE]
+ mov r0, r8
+ strh r0, [r6, 0x26]
+ strh r0, [r6, 0x24]
+ ldr r0, =sub_8022A94
+ str r0, [r6, 0x1C]
+ adds r2, r6, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ movs r0, 0x41
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ adds r2, 0x12
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022B28
+
+ thumb_func_start sub_8022BEC
+sub_8022BEC: @ 8022BEC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r7, r2, 0
+ lsls r0, 16
+ lsrs r5, r0, 16
+ lsls r1, 24
+ lsrs r4, r1, 24
+ mov r8, r4
+ bl sub_8020C00
+ adds r6, r0, 0
+ cmp r5, 0x19
+ bls _08022C0A
+ movs r5, 0
+_08022C0A:
+ cmp r4, 0
+ beq _08022C14
+ cmp r4, 0x1
+ beq _08022C40
+ b _08022C4A
+_08022C14:
+ cmp r5, 0
+ beq _08022C28
+ ldr r0, =gUnknown_082F43CC
+ lsls r1, r5, 2
+ adds r1, r0
+ ldr r2, [r1]
+ adds r0, r6, 0
+ adds r1, r7, 0
+ bl _call_via_r2
+_08022C28:
+ ldrb r0, [r6, 0xE]
+ cmp r0, 0x19
+ bls _08022C32
+ mov r0, r8
+ strb r0, [r6, 0xE]
+_08022C32:
+ ldr r0, =gUnknown_082F43CC
+ ldrb r1, [r6, 0xE]
+ lsls r1, 2
+ b _08022C44
+ .pool
+_08022C40:
+ ldr r0, =gUnknown_082F43CC
+ lsls r1, r5, 2
+_08022C44:
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r6, 0x4]
+_08022C4A:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022BEC
+
+ thumb_func_start sub_8022C58
+sub_8022C58: @ 8022C58
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r6, r0, 0
+ ldrb r2, [r1]
+ ldrb r3, [r1, 0x1]
+ lsls r3, 8
+ orrs r2, r3
+ ldrb r3, [r1, 0x2]
+ lsls r3, 16
+ orrs r2, r3
+ ldrb r3, [r1, 0x3]
+ lsls r3, 24
+ adds r0, r2, 0
+ orrs r0, r3
+ ldrb r2, [r1, 0x9]
+ strb r2, [r1]
+ ldrb r4, [r1, 0x8]
+ lsls r4, 8
+ ldrb r2, [r1, 0x7]
+ orrs r4, r2
+ ldr r5, =gPaletteFade
+ ldrb r3, [r5, 0x8]
+ movs r2, 0x7F
+ ands r2, r3
+ strb r2, [r5, 0x8]
+ movs r5, 0x4
+ ldrsb r5, [r1, r5]
+ ldrb r2, [r1, 0x5]
+ ldrb r3, [r1, 0x6]
+ str r4, [sp]
+ adds r1, r5, 0
+ bl BeginNormalPaletteFade
+ bl UpdatePaletteFade
+ movs r0, 0x2
+ strb r0, [r6, 0xE]
+ movs r0, 0
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8022C58
+
+ thumb_func_start sub_8022CB0
+sub_8022CB0: @ 8022CB0
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0x1
+ beq _08022CE4
+ cmp r0, 0x1
+ bgt _08022CC6
+ cmp r0, 0
+ beq _08022CD0
+ b _08022D06
+_08022CC6:
+ cmp r0, 0x2
+ beq _08022CEA
+ cmp r0, 0x3
+ beq _08022CF6
+ b _08022D06
+_08022CD0:
+ bl UpdatePaletteFade
+ lsls r0, 24
+ cmp r0, 0
+ bne _08022D0C
+ ldrb r0, [r5]
+ cmp r0, 0
+ bne _08022D06
+ movs r0, 0x3
+ b _08022D0A
+_08022CE4:
+ bl sub_8010434
+ b _08022D06
+_08022CEA:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ bne _08022D06
+ b _08022D0C
+_08022CF6:
+ ldrb r0, [r4, 0xF]
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r0, 0
+ strb r0, [r4, 0xC]
+ b _08022D0E
+_08022D06:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+_08022D0A:
+ strb r0, [r4, 0xC]
+_08022D0C:
+ movs r0, 0
+_08022D0E:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022CB0
+
+ thumb_func_start sub_8022D14
+sub_8022D14: @ 8022D14
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x10
+ adds r7, r0, 0
+ adds r5, r1, 0
+ ldrb r4, [r5, 0x3]
+ lsls r4, 8
+ ldrb r0, [r5, 0x2]
+ orrs r4, r0
+ ldrb r6, [r7, 0xC]
+ cmp r6, 0x1
+ beq _08022DC0
+ cmp r6, 0x1
+ bgt _08022D38
+ cmp r6, 0
+ beq _08022D42
+ b _08022E08
+_08022D38:
+ cmp r6, 0x2
+ beq _08022DD8
+ cmp r6, 0x3
+ beq _08022DE8
+ b _08022E08
+_08022D42:
+ movs r0, 0
+ movs r1, 0
+ bl DrawDialogueFrame
+ ldrb r1, [r5, 0x1]
+ movs r0, 0x2
+ mov r8, r0
+ ands r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ beq _08022D90
+ ldr r4, =gStringVar4
+ ldr r1, =gUnknown_082F32A4
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldrb r3, [r7, 0xB]
+ str r6, [sp]
+ mov r0, r8
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x1
+ adds r2, r4, 0
+ bl AddTextPrinterParameterized2
+ b _08022DB2
+ .pool
+_08022D90:
+ ldr r1, =gUnknown_082F32A4
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r2, [r0]
+ ldrb r3, [r7, 0xB]
+ str r4, [sp]
+ mov r0, r8
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x1
+ bl AddTextPrinterParameterized2
+_08022DB2:
+ movs r0, 0
+ movs r1, 0x3
+ bl CopyWindowToVram
+ b _08022E08
+ .pool
+_08022DC0:
+ movs r0, 0
+ bl IsTextPrinterActive
+ lsls r0, 16
+ cmp r0, 0
+ bne _08022E0E
+ cmp r4, 0
+ bne _08022E08
+ ldrb r0, [r7, 0xC]
+ adds r0, 0x1
+ strb r0, [r7, 0xC]
+ b _08022E08
+_08022DD8:
+ ldr r0, =gMain
+ ldrh r0, [r0, 0x2E]
+ ands r4, r0
+ cmp r4, 0
+ bne _08022E08
+ b _08022E0E
+ .pool
+_08022DE8:
+ ldrb r1, [r5, 0x1]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08022DFA
+ movs r0, 0
+ movs r1, 0x1
+ bl ClearDialogWindowAndFrame
+_08022DFA:
+ ldrb r0, [r7, 0xE]
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ ldrb r0, [r5, 0x4]
+ b _08022E0C
+_08022E08:
+ ldrb r0, [r7, 0xC]
+ adds r0, 0x1
+_08022E0C:
+ strb r0, [r7, 0xC]
+_08022E0E:
+ movs r0, 0
+ add sp, 0x10
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022D14
+
+ thumb_func_start sub_8022E1C
+sub_8022E1C: @ 8022E1C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_802104C
+ cmp r0, 0
+ beq _08022E34
+ ldrb r0, [r4, 0xE]
+ adds r2, r4, 0
+ adds r2, 0x36
+ movs r1, 0
+ bl sub_8022BEC
+_08022E34:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022E1C
+
+ thumb_func_start sub_8022E3C
+sub_8022E3C: @ 8022E3C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_802130C
+ cmp r0, 0
+ beq _08022E54
+ ldrb r0, [r4, 0xE]
+ adds r2, r4, 0
+ adds r2, 0x36
+ movs r1, 0
+ bl sub_8022BEC
+_08022E54:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022E3C
+
+ thumb_func_start sub_8022E5C
+sub_8022E5C: @ 8022E5C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0
+ beq _08022E6C
+ cmp r0, 0x1
+ beq _08022E72
+ b _08022E9C
+_08022E6C:
+ bl sub_8010434
+ b _08022E9C
+_08022E72:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08022EA2
+ ldr r0, =0x000001e5
+ bl PlayNewMapMusic
+ movs r0, 0x7
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r1, 0
+ movs r0, 0x3
+ strh r0, [r4, 0x12]
+ strb r1, [r4, 0xC]
+ b _08022EA2
+ .pool
+_08022E9C:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+ strb r0, [r4, 0xC]
+_08022EA2:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022E5C
+
+ thumb_func_start sub_8022EAC
+sub_8022EAC: @ 8022EAC
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0
+ beq _08022EC2
+ cmp r0, 0x1
+ beq _08022EE8
+ adds r0, 0x1
+ b _08022EF8
+_08022EC2:
+ adds r0, r4, 0
+ bl sub_8024578
+ movs r0, 0x1
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0
+ movs r2, 0x1
+ movs r3, 0
+ bl sub_8024644
+ movs r0, 0x7
+ strb r0, [r4, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ b _08022EFA
+_08022EE8:
+ movs r0, 0x8
+ strb r0, [r4, 0xE]
+ movs r0, 0x5
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r0, 0x2
+_08022EF8:
+ strb r0, [r4, 0xC]
+_08022EFA:
+ movs r0, 0
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022EAC
+
+ thumb_func_start sub_8022F04
+sub_8022F04: @ 8022F04
+ push {lr}
+ movs r1, 0
+ str r1, [r0, 0x4]
+ ldr r0, =sub_8020E1C
+ bl SetMainCallback2
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8022F04
+
+ thumb_func_start sub_8022F1C
+sub_8022F1C: @ 8022F1C
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ adds r2, r1, 0
+ ldrb r0, [r5, 0xC]
+ cmp r0, 0x5
+ bls _08022F2C
+ b _08023060
+_08022F2C:
+ lsls r0, 2
+ ldr r1, =_08022F3C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08022F3C:
+ .4byte _08022F54
+ .4byte _08022F74
+ .4byte _08022F7A
+ .4byte _08022FAA
+ .4byte _08022FBA
+ .4byte _08023044
+_08022F54:
+ movs r0, 0x1
+ str r0, [sp]
+ adds r0, r2, 0
+ movs r1, 0x1
+ movs r2, 0
+ movs r3, 0
+ bl sub_8024644
+ movs r0, 0x9
+ strb r0, [r5, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ b _08023066
+_08022F74:
+ bl sub_8010434
+ b _08023060
+_08022F7A:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023066
+ adds r4, r5, 0
+ adds r4, 0x42
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0xC
+ bl memset
+ ldrb r0, [r5, 0x8]
+ lsls r0, 5
+ adds r0, r5, r0
+ adds r0, 0xA4
+ ldrh r0, [r0]
+ strh r0, [r4]
+ movs r0, 0
+ adds r1, r4, 0
+ movs r2, 0x2
+ bl SendBlock
+ b _08023060
+_08022FAA:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023066
+ movs r0, 0
+ strh r0, [r5, 0x10]
+ b _08023060
+_08022FBA:
+ bl GetBlockReceivedStatus
+ ldr r2, =gUnknown_082F4448
+ ldrb r4, [r5, 0x9]
+ subs r1, r4, 0x2
+ adds r1, r2
+ lsls r0, 24
+ lsrs r0, 24
+ ldrb r1, [r1]
+ cmp r0, r1
+ bne _08023066
+ movs r3, 0
+ cmp r3, r4
+ bcs _0802301E
+ ldr r7, =gBlockRecvBuffer
+ movs r6, 0
+ ldr r4, =gUnknown_0858AB24
+_08022FDC:
+ lsls r0, r3, 5
+ adds r0, r5, r0
+ lsls r1, r3, 8
+ adds r1, r7
+ ldrh r1, [r1]
+ adds r2, r0, 0
+ adds r2, 0xA4
+ strh r1, [r2]
+ lsls r1, 16
+ lsrs r1, 16
+ cmp r1, 0xB0
+ bls _08022FF6
+ strh r6, [r2]
+_08022FF6:
+ ldrh r1, [r2]
+ lsls r1, 2
+ adds r1, r4
+ ldrh r0, [r5, 0x18]
+ ldrb r1, [r1]
+ adds r0, r1
+ strh r0, [r5, 0x18]
+ ldrh r0, [r2]
+ lsls r0, 2
+ adds r0, r4
+ ldrh r1, [r0, 0x2]
+ ldr r0, [r5, 0x1C]
+ adds r0, r1
+ str r0, [r5, 0x1C]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldrb r0, [r5, 0x9]
+ cmp r3, r0
+ bcc _08022FDC
+_0802301E:
+ movs r0, 0
+ strh r0, [r5, 0x10]
+ bl ResetBlockReceivedFlags
+ movs r1, 0x18
+ ldrsh r0, [r5, r1]
+ lsls r0, 8
+ movs r1, 0x80
+ lsls r1, 6
+ bl sub_81515FC
+ str r0, [r5, 0x20]
+ b _08023060
+ .pool
+_08023044:
+ movs r0, 0
+ movs r1, 0x1
+ bl ClearDialogWindowAndFrame
+ movs r0, 0xA
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r1, 0
+ movs r0, 0x4
+ strh r0, [r5, 0x12]
+ strb r1, [r5, 0xC]
+ b _08023066
+_08023060:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+ strb r0, [r5, 0xC]
+_08023066:
+ movs r0, 0
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022F1C
+
+ thumb_func_start sub_8023070
+sub_8023070: @ 8023070
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0x6
+ bls _0802307C
+ b _080231A8
+_0802307C:
+ lsls r0, 2
+ ldr r1, =_0802308C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802308C:
+ .4byte _080230A8
+ .4byte _080230BA
+ .4byte _080230E8
+ .4byte _08023120
+ .4byte _08023150
+ .4byte _08023172
+ .4byte _08023184
+_080230A8:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r4, r0
+ adds r0, r4, 0
+ bl sub_80214A8
+ bl sub_8010434
+ b _080231A8
+_080230BA:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080231AE
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r1, r4, r2
+ movs r0, 0
+ strb r0, [r1]
+ ldr r3, =0x00000139
+ adds r1, r4, r3
+ strb r0, [r1]
+ adds r2, 0x2
+ adds r1, r4, r2
+ strb r0, [r1]
+ adds r3, 0x2
+ adds r1, r4, r3
+ strb r0, [r1]
+ b _080231A8
+ .pool
+_080230E8:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r3, r4, r0
+ ldrb r0, [r3]
+ lsls r0, 2
+ movs r2, 0xB8
+ lsls r2, 1
+ adds r1, r4, r2
+ adds r0, r1, r0
+ ldr r2, [r0]
+ ldr r0, =sub_8021608
+ str r0, [r2, 0x1C]
+ ldrb r0, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldr r1, [r1]
+ adds r1, 0x2C
+ ldrb r2, [r1]
+ movs r0, 0x7F
+ ands r0, r2
+ strb r0, [r1]
+ movs r0, 0x3D
+ bl PlaySE
+ b _080231A8
+ .pool
+_08023120:
+ movs r3, 0x9C
+ lsls r3, 1
+ adds r2, r4, r3
+ ldrb r0, [r2]
+ lsls r0, 2
+ adds r3, 0x38
+ adds r1, r4, r3
+ adds r3, r1, r0
+ ldr r0, [r3]
+ ldr r1, [r0, 0x1C]
+ ldr r0, =sub_8021608
+ cmp r1, r0
+ beq _080231AE
+ movs r0, 0
+ str r0, [r3]
+ ldrb r0, [r2]
+ adds r0, 0x1
+ strb r0, [r2]
+ bl sub_8010434
+ b _080231A8
+ .pool
+_08023150:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080231AE
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r4, r0
+ ldrb r0, [r1]
+ ldrb r2, [r4, 0x9]
+ cmp r0, r2
+ bcs _0802316C
+ movs r0, 0x2
+ b _080231AC
+_0802316C:
+ movs r0, 0
+ strb r0, [r1]
+ b _080231A8
+_08023172:
+ movs r3, 0x9C
+ lsls r3, 1
+ adds r1, r4, r3
+ adds r0, r4, 0
+ bl sub_80216A8
+ bl sub_8010434
+ b _080231A8
+_08023184:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080231AE
+ movs r0, 0x2B
+ bl PlaySE
+ movs r0, 0xB
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r1, 0
+ movs r0, 0x5
+ strh r0, [r4, 0x12]
+ strb r1, [r4, 0xC]
+ b _080231AE
+_080231A8:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+_080231AC:
+ strb r0, [r4, 0xC]
+_080231AE:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023070
+
+ thumb_func_start sub_80231B8
+sub_80231B8: @ 80231B8
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ ldrb r1, [r4, 0xC]
+ cmp r1, 0x1
+ beq _0802321C
+ cmp r1, 0x1
+ bgt _080231CC
+ cmp r1, 0
+ beq _080231D6
+ b _080232DC
+_080231CC:
+ cmp r1, 0x2
+ beq _0802329C
+ cmp r1, 0x3
+ beq _080232BE
+ b _080232DC
+_080231D6:
+ ldrh r0, [r4, 0x2A]
+ adds r0, 0x4
+ strh r0, [r4, 0x2A]
+ lsls r0, 16
+ cmp r0, 0
+ bge _080231E4
+ b _080232E2
+_080231E4:
+ strh r1, [r4, 0x2A]
+ ldr r0, =0x00000139
+ adds r3, r4, r0
+ movs r0, 0x4
+ strb r0, [r3]
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r1, r4, r2
+ movs r0, 0
+ strb r0, [r1]
+ ldr r2, =gUnknown_082F326C
+ ldrb r1, [r3]
+ lsls r0, r1, 3
+ subs r0, r1
+ adds r0, r2
+ ldrb r0, [r0]
+ movs r2, 0x9D
+ lsls r2, 1
+ adds r1, r4, r2
+ strb r0, [r1]
+ movs r0, 0xD6
+ bl PlaySE
+ b _080232DC
+ .pool
+_0802321C:
+ ldr r7, =gUnknown_082F326C
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r6, r4, r0
+ ldr r1, =0x00000139
+ adds r5, r4, r1
+ ldrb r1, [r5]
+ lsls r0, r1, 3
+ subs r0, r1
+ ldrb r2, [r6]
+ adds r0, r2
+ adds r0, r7
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ strh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x12
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1A
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1E
+ bl SetGpuReg
+ ldrb r0, [r6]
+ adds r0, 0x1
+ strb r0, [r6]
+ movs r1, 0x9D
+ lsls r1, 1
+ adds r2, r4, r1
+ lsls r0, 24
+ lsrs r0, 24
+ ldrb r1, [r2]
+ cmp r0, r1
+ bcc _080232E2
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _080232DC
+ subs r0, 0x1
+ strb r0, [r5]
+ ldrb r1, [r5]
+ lsls r0, r1, 3
+ subs r0, r1
+ adds r0, r7
+ ldrb r0, [r0]
+ strb r0, [r2]
+ movs r0, 0
+ strb r0, [r6]
+ b _080232E2
+ .pool
+_0802329C:
+ movs r0, 0
+ strh r0, [r4, 0x2C]
+ movs r0, 0x12
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x1A
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x1E
+ movs r1, 0
+ bl SetGpuReg
+ bl sub_8010434
+ b _080232DC
+_080232BE:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080232E2
+ movs r0, 0xC
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r1, 0
+ movs r0, 0x6
+ strh r0, [r4, 0x12]
+ strb r1, [r4, 0xC]
+ b _080232E2
+_080232DC:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+ strb r0, [r4, 0xC]
+_080232E2:
+ movs r0, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80231B8
+
+ thumb_func_start sub_80232EC
+sub_80232EC: @ 80232EC
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0x1
+ beq _0802330C
+ cmp r0, 0x1
+ bgt _08023302
+ cmp r0, 0
+ beq _08023332
+ b _0802338C
+_08023302:
+ cmp r0, 0x2
+ beq _0802332A
+ cmp r0, 0x3
+ beq _08023338
+ b _0802338C
+_0802330C:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023392
+ movs r1, 0x80
+ lsls r1, 5
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r1, 0
+ movs r2, 0x78
+ movs r3, 0x50
+ bl sub_802EB24
+ b _0802338C
+_0802332A:
+ bl sub_802EB84
+ cmp r0, 0
+ bne _08023392
+_08023332:
+ bl sub_8010434
+ b _0802338C
+_08023338:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023392
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r4, r0
+ movs r0, 0
+ strb r0, [r1]
+ ldr r2, =0x00000139
+ adds r1, r4, r2
+ strb r0, [r1]
+ adds r2, 0x1
+ adds r1, r4, r2
+ strb r0, [r1]
+ adds r2, 0x1
+ adds r1, r4, r2
+ strb r0, [r1]
+ strh r0, [r4, 0x10]
+ ldrb r0, [r4, 0x8]
+ cmp r0, 0
+ bne _08023378
+ movs r0, 0xD
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ b _08023382
+ .pool
+_08023378:
+ movs r0, 0xE
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+_08023382:
+ movs r1, 0
+ movs r0, 0x7
+ strh r0, [r4, 0x12]
+ strb r1, [r4, 0xC]
+ b _08023392
+_0802338C:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+ strb r0, [r4, 0xC]
+_08023392:
+ movs r0, 0
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80232EC
+
+ thumb_func_start sub_802339C
+sub_802339C: @ 802339C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r4, r0, 0
+ movs r0, 0
+ mov r8, r0
+ movs r2, 0
+ adds r7, r2, 0
+ ldrb r1, [r4, 0x9]
+ cmp r7, r1
+ bcs _080234AA
+ movs r2, 0x5E
+ adds r2, r4
+ mov r9, r2
+ ldr r3, =gUnknown_082F325C
+ mov r10, r3
+_080233C0:
+ lsls r0, r7, 4
+ ldr r1, =gRecvCmds
+ adds r2, r0, r1
+ ldrh r1, [r2]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ movs r3, 0xBC
+ lsls r3, 6
+ cmp r0, r3
+ bne _0802349E
+ ldrh r0, [r2, 0x2]
+ cmp r0, 0x2
+ bne _0802349E
+ ldrb r1, [r2, 0x4]
+ movs r0, 0x4
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _08023496
+ mov r0, r9
+ ldrb r2, [r0]
+ lsrs r1, r2, 3
+ mov r3, r10
+ adds r0, r7, r3
+ ldrb r0, [r0]
+ orrs r1, r0
+ lsls r1, 3
+ movs r0, 0x7
+ ands r0, r2
+ orrs r0, r1
+ mov r1, r9
+ strb r0, [r1]
+ lsls r2, r7, 5
+ adds r3, r4, r2
+ mov r12, r3
+ mov r1, r12
+ adds r1, 0xB5
+ movs r0, 0x1
+ strb r0, [r1]
+ subs r1, 0x7
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ subs r1, 0x8
+ ldrh r0, [r4, 0x28]
+ ldrh r1, [r1]
+ subs r0, r1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ mov r5, r12
+ adds r5, 0xAA
+ ldrh r1, [r5]
+ subs r0, r1, 0x1
+ adds r6, r2, 0
+ cmp r3, r0
+ blt _08023468
+ adds r0, r1, 0x1
+ cmp r3, r0
+ bgt _08023468
+ mov r1, r12
+ adds r1, 0xA8
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ strh r3, [r5]
+ mov r0, r12
+ adds r0, 0xAC
+ ldrh r1, [r1]
+ ldrh r2, [r0]
+ cmp r1, r2
+ bls _08023476
+ strh r1, [r0]
+ b _08023476
+ .pool
+_08023468:
+ adds r0, r4, r6
+ adds r2, r0, 0
+ adds r2, 0xA8
+ movs r1, 0
+ strh r1, [r2]
+ adds r0, 0xAA
+ strh r3, [r0]
+_08023476:
+ adds r1, r4, r6
+ ldrh r0, [r4, 0x28]
+ adds r3, r1, 0
+ adds r3, 0xA6
+ movs r2, 0
+ strh r0, [r3]
+ adds r1, 0xB4
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bls _0802349E
+ strb r2, [r1]
+ b _0802349E
+_08023496:
+ lsls r0, r7, 5
+ adds r0, r4, r0
+ adds r0, 0xB5
+ strb r1, [r0]
+_0802349E:
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r3, [r4, 0x9]
+ cmp r7, r3
+ bcc _080233C0
+_080234AA:
+ mov r0, r8
+ cmp r0, 0x1
+ bls _080234E0
+ movs r7, 0
+ ldrb r1, [r4, 0x9]
+ cmp r7, r1
+ bcs _080234E0
+ movs r3, 0x2
+_080234BA:
+ lsls r0, r7, 5
+ adds r1, r4, r0
+ adds r2, r1, 0
+ adds r2, 0xB5
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _080234D4
+ orrs r0, r3
+ strb r0, [r2]
+ adds r1, 0xB0
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_080234D4:
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r2, [r4, 0x9]
+ cmp r7, r2
+ bcc _080234BA
+_080234E0:
+ mov r3, r8
+ cmp r3, 0
+ beq _08023548
+ ldrh r0, [r4, 0x2E]
+ add r0, r8
+ strh r0, [r4, 0x2E]
+ ldr r1, =gUnknown_082F3264
+ mov r0, r8
+ subs r0, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ add r0, r8
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldrh r0, [r4, 0x34]
+ add r0, r8
+ strh r0, [r4, 0x34]
+ ldrh r0, [r4, 0x1A]
+ add r0, r8
+ strh r0, [r4, 0x1A]
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ movs r3, 0x1A
+ ldrsh r2, [r4, r3]
+ subs r0, r2
+ cmp r0, 0
+ ble _08023534
+ lsls r2, 8
+ ldr r1, [r4, 0x20]
+ adds r0, r2, 0
+ bl sub_81515FC
+ adds r2, r0, 0
+ asrs r2, 8
+ adds r0, r4, 0
+ adds r0, 0x24
+ strb r2, [r0]
+ b _08023548
+ .pool
+_08023534:
+ adds r1, r4, 0
+ adds r1, 0x24
+ movs r0, 0x20
+ strb r0, [r1]
+ adds r2, r4, 0
+ adds r2, 0x5E
+ ldrb r0, [r2]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r2]
+_08023548:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802339C
+
+ thumb_func_start sub_8023558
+sub_8023558: @ 8023558
+ push {r4-r6,lr}
+ adds r3, r0, 0
+ movs r6, 0
+ movs r1, 0
+ adds r4, r1, 0
+ ldrb r0, [r3, 0x9]
+ cmp r4, r0
+ bcs _080235B0
+ adds r5, r3, 0
+ adds r5, 0x64
+_0802356C:
+ lsls r0, r4, 5
+ adds r1, r3, r0
+ adds r0, r1, 0
+ adds r0, 0xB5
+ ldrb r2, [r0]
+ cmp r2, 0
+ beq _080235A4
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ adds r0, r1, 0
+ adds r0, 0xB4
+ ldrb r0, [r0]
+ adds r1, r0, 0x1
+ movs r0, 0x2
+ ands r0, r2
+ cmp r0, 0
+ beq _08023594
+ movs r0, 0x4
+ orrs r1, r0
+_08023594:
+ lsls r0, r4, 1
+ adds r0, r4
+ lsls r1, r0
+ lsls r0, r1, 16
+ lsrs r1, r0, 16
+ ldrh r0, [r5]
+ orrs r1, r0
+ strh r1, [r5]
+_080235A4:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldrb r1, [r3, 0x9]
+ cmp r4, r1
+ bcc _0802356C
+_080235B0:
+ adds r0, r3, 0
+ adds r0, 0x24
+ ldrb r1, [r0]
+ adds r0, 0x3C
+ strh r1, [r0]
+ cmp r6, 0
+ bne _080235D4
+ ldr r2, =0x0000013b
+ adds r0, r3, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080236A0
+ movs r4, 0x9C
+ lsls r4, 1
+ adds r1, r3, r4
+ b _08023612
+ .pool
+_080235D4:
+ ldr r5, =0x0000013b
+ adds r2, r3, r5
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _0802361A
+ ldr r0, =0x00000139
+ adds r1, r3, r0
+ ldrb r2, [r1]
+ cmp r6, r2
+ beq _0802360C
+ subs r0, r6, 0x1
+ strb r0, [r1]
+ ldr r1, =gUnknown_082F3290
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r4, 0x9D
+ lsls r4, 1
+ adds r1, r3, r4
+ strb r0, [r1]
+ b _08023640
+ .pool
+_0802360C:
+ movs r5, 0x9C
+ lsls r5, 1
+ adds r1, r3, r5
+_08023612:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08023640
+_0802361A:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r3, r0
+ movs r0, 0
+ strb r0, [r1]
+ subs r0, r6, 0x1
+ ldr r4, =0x00000139
+ adds r1, r3, r4
+ strb r0, [r1]
+ ldr r1, =gUnknown_082F3290
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r5, 0x9D
+ lsls r5, 1
+ adds r1, r3, r5
+ strb r0, [r1]
+ movs r0, 0x1
+ strb r0, [r2]
+_08023640:
+ ldr r0, =0x0000013b
+ adds r4, r3, r0
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _080236A0
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r1, r3, r2
+ movs r5, 0x9D
+ lsls r5, 1
+ adds r2, r3, r5
+ ldrb r0, [r1]
+ ldrb r5, [r2]
+ cmp r0, r5
+ bcc _0802367C
+ movs r0, 0
+ strb r0, [r1]
+ ldr r5, =0x00000139
+ adds r1, r3, r5
+ strb r0, [r1]
+ strb r0, [r2]
+ strb r0, [r4]
+ movs r1, 0
+ b _08023690
+ .pool
+_0802367C:
+ ldr r2, =gUnknown_082F3290
+ ldrb r1, [r1]
+ ldr r4, =0x00000139
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, 0x1
+ adds r1, r0
+ adds r1, r2
+ ldrb r1, [r1]
+_08023690:
+ adds r0, r3, 0
+ adds r0, 0x5F
+ strb r1, [r0]
+ b _080236A8
+ .pool
+_080236A0:
+ adds r1, r3, 0
+ adds r1, 0x5F
+ movs r0, 0
+ strb r0, [r1]
+_080236A8:
+ ldrh r1, [r3, 0x26]
+ adds r0, r3, 0
+ adds r0, 0x62
+ strh r1, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8023558
+
+ thumb_func_start sub_80236B8
+sub_80236B8: @ 80236B8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r5, r0, 0
+ ldr r3, =gMain
+ ldrh r1, [r3, 0x2E]
+ movs r4, 0x1
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080236DA
+ adds r2, r5, 0
+ adds r2, 0x5E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+_080236DA:
+ ldrh r1, [r3, 0x2C]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080236FA
+ ldrb r0, [r5, 0x8]
+ lsls r0, 5
+ adds r0, r5, r0
+ adds r1, r0, 0
+ adds r1, 0xB2
+ ldrh r0, [r1]
+ ldrh r2, [r5, 0x28]
+ cmp r0, r2
+ bcs _080236FA
+ adds r0, 0x1
+ strh r0, [r1]
+_080236FA:
+ ldrb r0, [r5, 0x8]
+ adds r7, r5, 0
+ adds r7, 0x5E
+ cmp r0, 0
+ beq _08023710
+ ldrb r1, [r7]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ bne _08023710
+ b _0802384C
+_08023710:
+ adds r4, r5, 0
+ adds r4, 0x5C
+ movs r0, 0x2
+ strh r0, [r4]
+ ldrh r0, [r5, 0x28]
+ movs r1, 0x1E
+ bl __umodsi3
+ lsls r0, 16
+ mov r8, r4
+ adds r6, r5, 0
+ adds r6, 0x25
+ cmp r0, 0
+ bne _08023768
+ movs r0, 0x2E
+ ldrsh r2, [r5, r0]
+ ldr r1, =gUnknown_082F4444
+ ldrb r0, [r5, 0x9]
+ subs r0, 0x2
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r2, r0
+ ble _08023754
+ ldrh r0, [r5, 0x30]
+ adds r0, 0x1
+ strh r0, [r5, 0x30]
+ ldrb r0, [r6]
+ movs r1, 0x10
+ orrs r0, r1
+ b _0802375C
+ .pool
+_08023754:
+ ldrb r1, [r6]
+ movs r0, 0x11
+ negs r0, r0
+ ands r0, r1
+_0802375C:
+ strb r0, [r6]
+ movs r0, 0
+ strh r0, [r5, 0x2E]
+ ldrh r0, [r5, 0x32]
+ adds r0, 0x1
+ strh r0, [r5, 0x32]
+_08023768:
+ ldrh r0, [r5, 0x28]
+ movs r1, 0xF
+ bl __umodsi3
+ lsls r0, 16
+ cmp r0, 0
+ bne _080237DE
+ movs r0, 0x34
+ ldrsh r2, [r5, r0]
+ ldr r3, =gUnknown_082F4434
+ ldrb r0, [r5, 0x9]
+ subs r0, 0x2
+ lsls r1, r0, 2
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r2, r0
+ bge _08023798
+ ldrb r1, [r6]
+ movs r0, 0x1F
+ ands r0, r1
+ strb r0, [r6]
+ b _080237D8
+ .pool
+_08023798:
+ adds r0, r3, 0x1
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ cmp r2, r0
+ bge _080237AC
+ ldrb r0, [r6]
+ movs r1, 0x1F
+ ands r1, r0
+ movs r0, 0x20
+ b _080237D4
+_080237AC:
+ adds r0, r3, 0x2
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ cmp r2, r0
+ bge _080237BC
+ movs r0, 0x2
+ strh r0, [r5, 0x34]
+ b _080237D8
+_080237BC:
+ adds r0, r3, 0x3
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ cmp r2, r0
+ bge _080237CC
+ movs r0, 0x3
+ strh r0, [r5, 0x34]
+ b _080237D8
+_080237CC:
+ ldrb r0, [r6]
+ movs r1, 0x1F
+ ands r1, r0
+ movs r0, 0x80
+_080237D4:
+ orrs r1, r0
+ strb r1, [r6]
+_080237D8:
+ movs r0, 0
+ strh r0, [r5, 0x34]
+ b _0802380A
+_080237DE:
+ ldrh r0, [r5, 0x10]
+ adds r0, 0x1
+ strh r0, [r5, 0x10]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x3C
+ bls _0802380A
+ cmp r0, 0x46
+ bls _080237FA
+ bl sub_8011AC8
+ movs r0, 0
+ strh r0, [r5, 0x10]
+ b _0802380A
+_080237FA:
+ ldrb r0, [r7]
+ movs r4, 0xF8
+ ands r4, r0
+ cmp r4, 0
+ bne _0802380A
+ bl sub_8011AC8
+ strh r4, [r5, 0x10]
+_0802380A:
+ ldrh r1, [r5, 0x28]
+ ldr r0, =0x00008c9f
+ cmp r1, r0
+ bls _0802381A
+ ldrb r0, [r7]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r7]
+_0802381A:
+ ldrb r1, [r6]
+ lsls r1, 27
+ lsrs r1, 31
+ lsls r1, 1
+ ldrb r2, [r7]
+ movs r0, 0x3
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r7]
+ ldrb r0, [r6]
+ lsrs r0, 5
+ adds r2, r5, 0
+ adds r2, 0x66
+ strh r0, [r2]
+ adds r4, r5, 0
+ adds r4, 0x42
+ adds r0, r4, 0
+ mov r1, r8
+ movs r2, 0xC
+ bl memcpy
+ adds r0, r4, 0
+ bl sub_800FE50
+_0802384C:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80236B8
+
+ thumb_func_start sub_802385C
+sub_802385C: @ 802385C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r4, 0
+ ldr r3, =gRecvCmds
+ ldrb r0, [r5, 0x9]
+ cmp r4, r0
+ bcs _08023880
+ movs r1, 0
+_0802386C:
+ lsls r0, r4, 5
+ adds r0, r5, r0
+ adds r0, 0xB5
+ strb r1, [r0]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldrb r0, [r5, 0x9]
+ cmp r4, r0
+ bcc _0802386C
+_08023880:
+ adds r2, r3, 0
+ ldrh r0, [r2]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r1, r0
+ movs r0, 0xBC
+ lsls r0, 6
+ cmp r1, r0
+ bne _08023898
+ ldrh r0, [r2, 0x2]
+ cmp r0, 0x2
+ beq _080238AC
+_08023898:
+ adds r2, r5, 0
+ adds r2, 0x25
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ b _080238EA
+ .pool
+_080238AC:
+ adds r4, r5, 0
+ adds r4, 0x4E
+ adds r0, r4, 0
+ adds r1, r3, 0
+ movs r2, 0xE
+ bl memcpy
+ ldrh r0, [r4, 0x6]
+ strh r0, [r5, 0x2A]
+ movs r0, 0x5
+ ldrsb r0, [r4, r0]
+ strh r0, [r5, 0x2C]
+ ldrh r0, [r4, 0x8]
+ strh r0, [r5, 0x28]
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ adds r0, r5, 0
+ bl sub_80216E0
+ ldrb r1, [r4, 0x4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080238EA
+ adds r0, r5, 0
+ adds r0, 0x25
+ ldrb r1, [r0]
+ movs r2, 0x8
+ orrs r1, r2
+ strb r1, [r0]
+_080238EA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802385C
+
+ thumb_func_start sub_80238F0
+sub_80238F0: @ 80238F0
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r0, 0x5C
+ movs r1, 0
+ movs r2, 0xC
+ bl memset
+ adds r0, r4, 0
+ adds r0, 0x4E
+ movs r1, 0
+ movs r2, 0xE
+ bl memset
+ adds r0, r4, 0
+ bl sub_802385C
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x12
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1A
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1E
+ bl SetGpuReg
+ adds r0, r4, 0
+ adds r0, 0x25
+ ldrb r1, [r0]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08023978
+ ldrh r1, [r4, 0x28]
+ ldr r0, =0x00008c9f
+ cmp r1, r0
+ bls _08023964
+ adds r0, 0x1
+ strh r0, [r4, 0x28]
+ movs r0, 0x10
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ b _0802396E
+ .pool
+_08023964:
+ movs r0, 0xF
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+_0802396E:
+ movs r1, 0
+ movs r0, 0
+ strh r0, [r4, 0x10]
+ strb r1, [r4, 0xC]
+ b _08023992
+_08023978:
+ ldrh r0, [r4, 0x26]
+ adds r0, 0x1
+ strh r0, [r4, 0x26]
+ adds r0, r4, 0
+ bl sub_802339C
+ adds r0, r4, 0
+ bl sub_8023558
+ adds r0, r4, 0
+ bl sub_80236B8
+ movs r0, 0
+_08023992:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80238F0
+
+ thumb_func_start sub_8023998
+sub_8023998: @ 8023998
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r0, 0x5C
+ movs r1, 0
+ movs r2, 0xC
+ bl memset
+ adds r0, r4, 0
+ adds r0, 0x4E
+ movs r1, 0
+ movs r2, 0xE
+ bl memset
+ adds r0, r4, 0
+ bl sub_802385C
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x12
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1A
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1E
+ bl SetGpuReg
+ adds r0, r4, 0
+ adds r0, 0x25
+ ldrb r1, [r0]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08023A20
+ ldrh r1, [r4, 0x28]
+ ldr r0, =0x00008c9f
+ cmp r1, r0
+ bls _08023A0C
+ adds r0, 0x1
+ strh r0, [r4, 0x28]
+ movs r0, 0x10
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ b _08023A16
+ .pool
+_08023A0C:
+ movs r0, 0xF
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+_08023A16:
+ movs r1, 0
+ movs r0, 0
+ strh r0, [r4, 0x10]
+ strb r1, [r4, 0xC]
+ b _08023A28
+_08023A20:
+ adds r0, r4, 0
+ bl sub_80236B8
+ movs r0, 0
+_08023A28:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023998
+
+ thumb_func_start sub_8023A30
+sub_8023A30: @ 8023A30
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0x5
+ bls _08023A3C
+ b _08023BB2
+_08023A3C:
+ lsls r0, 2
+ ldr r1, =_08023A4C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08023A4C:
+ .4byte _08023A64
+ .4byte _08023A8C
+ .4byte _08023ADC
+ .4byte _08023B5C
+ .4byte _08023B7A
+ .4byte _08023B94
+_08023A64:
+ movs r0, 0x8
+ strh r0, [r4, 0x12]
+ movs r0, 0xD6
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ ldr r2, =0x000003ff
+ movs r1, 0x8
+ bl BlendPalettes
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r4, r0
+ movs r0, 0x2
+ strb r0, [r1]
+ b _08023BB2
+ .pool
+_08023A8C:
+ movs r1, 0x9C
+ lsls r1, 1
+ adds r5, r4, r1
+ ldrb r0, [r5]
+ subs r0, 0x1
+ strb r0, [r5]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ beq _08023AA2
+ b _08023BB8
+_08023AA2:
+ movs r0, 0x1
+ negs r0, r0
+ ldr r2, =0x000003ff
+ movs r1, 0
+ bl BlendPalettes
+ ldr r2, =0x00000139
+ adds r1, r4, r2
+ movs r0, 0x4
+ strb r0, [r1]
+ movs r0, 0
+ strb r0, [r5]
+ ldr r2, =gUnknown_082F326C
+ ldrb r1, [r1]
+ lsls r0, r1, 3
+ subs r0, r1
+ adds r0, r2
+ ldrb r0, [r0]
+ movs r2, 0x9D
+ lsls r2, 1
+ adds r1, r4, r2
+ strb r0, [r1]
+ b _08023BB2
+ .pool
+_08023ADC:
+ ldr r7, =gUnknown_082F326C
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r6, r4, r0
+ ldr r1, =0x00000139
+ adds r5, r4, r1
+ ldrb r1, [r5]
+ lsls r0, r1, 3
+ subs r0, r1
+ ldrb r2, [r6]
+ adds r0, r2
+ adds r0, r7
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ strh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x12
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1A
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1E
+ bl SetGpuReg
+ ldrb r0, [r6]
+ adds r0, 0x1
+ strb r0, [r6]
+ movs r1, 0x9D
+ lsls r1, 1
+ adds r2, r4, r1
+ lsls r0, 24
+ lsrs r0, 24
+ ldrb r1, [r2]
+ cmp r0, r1
+ bcc _08023BB8
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _08023BB2
+ subs r0, 0x1
+ strb r0, [r5]
+ ldrb r1, [r5]
+ lsls r0, r1, 3
+ subs r0, r1
+ adds r0, r7
+ ldrb r0, [r0]
+ strb r0, [r2]
+ movs r0, 0
+ strb r0, [r6]
+ b _08023BB8
+ .pool
+_08023B5C:
+ movs r0, 0
+ strh r0, [r4, 0x2C]
+ movs r0, 0x12
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x1A
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x1E
+ movs r1, 0
+ bl SetGpuReg
+ b _08023BB2
+_08023B7A:
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r1, r4, r2
+ adds r0, r4, 0
+ bl sub_80218D4
+ cmp r0, 0
+ beq _08023BB8
+ bl sub_8010434
+ movs r0, 0
+ strh r0, [r4, 0x10]
+ b _08023BB2
+_08023B94:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023BB8
+ movs r0, 0x11
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r1, 0
+ movs r0, 0
+ strh r0, [r4, 0x10]
+ strb r1, [r4, 0xC]
+ b _08023BBA
+_08023BB2:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+ strb r0, [r4, 0xC]
+_08023BB8:
+ movs r0, 0
+_08023BBA:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023A30
+
+ thumb_func_start sub_8023BC0
+sub_8023BC0: @ 8023BC0
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ adds r6, r1, 0
+ ldrb r0, [r5, 0xC]
+ cmp r0, 0x1
+ beq _08023C04
+ cmp r0, 0x1
+ bgt _08023BD8
+ cmp r0, 0
+ beq _08023BE2
+ b _08023C9C
+_08023BD8:
+ cmp r0, 0x2
+ beq _08023C2A
+ cmp r0, 0x3
+ beq _08023C5C
+ b _08023C9C
+_08023BE2:
+ movs r0, 0x9
+ strh r0, [r5, 0x12]
+ movs r0, 0x20
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0x8
+ movs r2, 0x1F
+ bl BlendPalettes
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ movs r0, 0x4
+ strb r0, [r1]
+ b _08023C9C
+_08023C04:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r4, r5, r0
+ ldrb r0, [r4]
+ subs r0, 0x1
+ strb r0, [r4]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ bne _08023CA2
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ movs r2, 0x1F
+ bl BlendPalettes
+ movs r0, 0
+ strb r0, [r4]
+ b _08023C9C
+_08023C2A:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ adds r0, r5, 0
+ bl sub_80218D4
+ cmp r0, 0
+ beq _08023CA2
+ bl sub_8010434
+ movs r0, 0
+ strh r0, [r5, 0x10]
+ movs r0, 0x12
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x1A
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x1E
+ movs r1, 0
+ bl SetGpuReg
+ b _08023C9C
+_08023C5C:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023CA2
+ ldr r0, =gStringVar1
+ ldr r1, [r5, 0x1C]
+ movs r2, 0
+ movs r3, 0x6
+ bl ConvertIntToDecimalStringN
+ movs r4, 0
+ str r4, [sp]
+ adds r0, r6, 0
+ movs r1, 0x7
+ movs r2, 0x1
+ movs r3, 0
+ bl sub_8024644
+ movs r0, 0x13
+ strb r0, [r5, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r0, 0
+ strh r4, [r5, 0x10]
+ b _08023CA0
+ .pool
+_08023C9C:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+_08023CA0:
+ strb r0, [r5, 0xC]
+_08023CA2:
+ movs r0, 0
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023BC0
+
+ thumb_func_start sub_8023CAC
+sub_8023CAC: @ 8023CAC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ adds r7, r0, 0
+ ldrb r0, [r7, 0xC]
+ cmp r0, 0x7
+ bls _08023CC2
+ b _0802402E
+_08023CC2:
+ lsls r0, 2
+ ldr r1, =_08023CD0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08023CD0:
+ .4byte _08023CF0
+ .4byte _08023D2A
+ .4byte _08023D38
+ .4byte _08023DA0
+ .4byte _08023F20
+ .4byte _08023FD0
+ .4byte _08023FDC
+ .4byte _08024010
+_08023CF0:
+ adds r4, r7, 0
+ adds r4, 0x42
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x4
+ bl memset
+ ldrb r0, [r7, 0x8]
+ lsls r0, 5
+ adds r0, r7, r0
+ adds r2, r0, 0
+ adds r2, 0xB2
+ ldrh r1, [r7, 0x28]
+ ldrh r0, [r2]
+ cmp r0, r1
+ bls _08023D12
+ strh r1, [r2]
+_08023D12:
+ ldrb r0, [r7, 0x8]
+ lsls r0, 5
+ adds r0, r7, r0
+ adds r0, 0xB2
+ ldrh r0, [r0]
+ strh r0, [r4]
+ movs r0, 0
+ adds r1, r4, 0
+ movs r2, 0x2
+ bl SendBlock
+ b _0802402E
+_08023D2A:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ bne _08023D36
+ b _08024034
+_08023D36:
+ b _08024004
+_08023D38:
+ bl GetBlockReceivedStatus
+ ldr r2, =gUnknown_082F4448
+ ldrb r3, [r7, 0x9]
+ subs r1, r3, 0x2
+ adds r1, r2
+ lsls r0, 24
+ lsrs r0, 24
+ ldrb r1, [r1]
+ cmp r0, r1
+ beq _08023D50
+ b _08024034
+_08023D50:
+ movs r0, 0
+ mov r8, r0
+ adds r4, r7, 0
+ adds r4, 0x42
+ cmp r8, r3
+ bcs _08023D7E
+ ldr r2, =gBlockRecvBuffer
+_08023D5E:
+ mov r3, r8
+ lsls r1, r3, 5
+ adds r1, r7, r1
+ lsls r0, r3, 8
+ adds r0, r2
+ ldrh r0, [r0]
+ adds r1, 0xB2
+ strh r0, [r1]
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldrb r6, [r7, 0x9]
+ cmp r8, r6
+ bcc _08023D5E
+_08023D7E:
+ movs r0, 0
+ strh r0, [r7, 0x10]
+ strh r0, [r4]
+ bl ResetBlockReceivedFlags
+ ldrb r0, [r7, 0x8]
+ cmp r0, 0
+ bne _08023D9C
+ movs r0, 0x3
+ b _08024032
+ .pool
+_08023D9C:
+ movs r0, 0x6
+ b _08024032
+_08023DA0:
+ adds r0, r7, 0
+ adds r0, 0x68
+ movs r1, 0
+ movs r2, 0x30
+ bl memset
+ ldrh r1, [r7, 0x28]
+ adds r0, r7, 0
+ adds r0, 0x6C
+ strh r1, [r0]
+ movs r0, 0x18
+ ldrsh r4, [r7, r0]
+ ldrh r0, [r7, 0x28]
+ movs r1, 0x3C
+ bl __udivsi3
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r4, 0
+ bl __divsi3
+ adds r1, r7, 0
+ adds r1, 0x6E
+ strh r0, [r1]
+ movs r1, 0x30
+ ldrsh r0, [r7, r1]
+ lsls r0, 8
+ movs r4, 0xC8
+ lsls r4, 6
+ adds r1, r4, 0
+ bl sub_8151574
+ adds r2, r0, 0
+ movs r3, 0x32
+ ldrsh r1, [r7, r3]
+ lsls r1, 8
+ bl sub_81515FC
+ adds r2, r0, r4
+ asrs r2, 8
+ movs r1, 0x7F
+ adds r0, r2, 0
+ ands r0, r1
+ adds r1, r7, 0
+ adds r1, 0x70
+ strh r0, [r1]
+ lsls r2, 8
+ movs r1, 0xC8
+ lsls r1, 7
+ adds r0, r2, 0
+ bl sub_81515FC
+ adds r2, r0, 0
+ ldrb r1, [r7, 0x9]
+ ldr r0, [r7, 0x1C]
+ muls r0, r1
+ lsls r4, r0, 8
+ adds r0, r4, 0
+ adds r1, r2, 0
+ bl sub_8151574
+ adds r4, r0, 0
+ asrs r0, r4, 8
+ str r0, [r7, 0x68]
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x3
+ bl __umodsi3
+ adds r1, r7, 0
+ adds r1, 0x8F
+ strb r0, [r1]
+ movs r6, 0
+ mov r8, r6
+ mov r9, r1
+ ldrb r0, [r7, 0x9]
+ cmp r8, r0
+ bcc _08023E44
+ b _0802402E
+_08023E44:
+ adds r0, r7, 0
+ adds r0, 0x88
+ add r0, r8
+ mov r1, r8
+ strb r1, [r0]
+ adds r0, r7, 0
+ adds r0, 0x90
+ add r0, r8
+ strb r1, [r0]
+ mov r3, r8
+ lsls r2, r3, 1
+ adds r1, r7, 0
+ adds r1, 0x74
+ adds r1, r2
+ lsls r0, r3, 5
+ adds r3, r7, r0
+ adds r5, r3, 0
+ adds r5, 0xAE
+ ldrh r0, [r5]
+ strh r0, [r1]
+ adds r1, r7, 0
+ adds r1, 0x72
+ ldrh r6, [r1]
+ adds r0, r6
+ strh r0, [r1]
+ mov r1, r9
+ ldrb r0, [r1]
+ adds r6, r2, 0
+ cmp r0, 0x1
+ beq _08023EAE
+ cmp r0, 0x1
+ bgt _08023E8A
+ cmp r0, 0
+ beq _08023E90
+ b _08023F04
+_08023E8A:
+ cmp r0, 0x2
+ beq _08023ECC
+ b _08023F04
+_08023E90:
+ ldrh r0, [r5]
+ cmp r0, 0
+ beq _08023ED2
+ adds r0, r3, 0
+ adds r0, 0xAC
+ ldrh r2, [r0]
+ lsls r2, 8
+ adds r0, r2, 0
+ movs r1, 0xC8
+ lsls r1, 7
+ bl sub_8151574
+ adds r2, r0, 0
+ ldrh r4, [r5]
+ b _08023EFA
+_08023EAE:
+ ldrh r0, [r5]
+ cmp r0, 0
+ beq _08023ED2
+ adds r0, r3, 0
+ adds r0, 0xB0
+ ldrh r2, [r0]
+ lsls r2, 8
+ adds r0, r2, 0
+ movs r1, 0xC8
+ lsls r1, 7
+ bl sub_8151574
+ adds r2, r0, 0
+ ldrh r4, [r5]
+ b _08023EFA
+_08023ECC:
+ ldrh r0, [r5]
+ cmp r0, 0
+ bne _08023ED6
+_08023ED2:
+ movs r4, 0
+ b _08023F04
+_08023ED6:
+ adds r1, r3, 0
+ adds r1, 0xB2
+ ldrh r0, [r1]
+ ldrh r2, [r7, 0x28]
+ cmp r0, r2
+ bcc _08023EE8
+ movs r4, 0xC8
+ lsls r4, 7
+ b _08023F04
+_08023EE8:
+ ldrh r2, [r1]
+ lsls r2, 8
+ adds r0, r2, 0
+ movs r1, 0xC8
+ lsls r1, 7
+ bl sub_8151574
+ adds r2, r0, 0
+ ldrh r4, [r7, 0x28]
+_08023EFA:
+ lsls r4, 8
+ adds r1, r4, 0
+ bl sub_81515FC
+ adds r4, r0, 0
+_08023F04:
+ asrs r4, 4
+ adds r0, r7, 0
+ adds r0, 0x7E
+ adds r0, r6
+ strh r4, [r0]
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldrb r3, [r7, 0x9]
+ cmp r8, r3
+ bcc _08023E44
+ b _0802402E
+_08023F20:
+ movs r6, 0
+ mov r8, r6
+ ldrb r0, [r7, 0x9]
+ subs r0, 0x1
+ adds r1, r7, 0
+ adds r1, 0x68
+ str r1, [sp, 0xC]
+ cmp r8, r0
+ bge _08023FC4
+_08023F32:
+ ldrb r0, [r7, 0x9]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ mov r2, r8
+ adds r2, 0x1
+ str r2, [sp, 0x8]
+ cmp r4, r8
+ bls _08023FB4
+ adds r3, r7, 0
+ adds r3, 0x74
+ str r3, [sp]
+ adds r6, r7, 0
+ adds r6, 0x88
+ str r6, [sp, 0x4]
+ movs r0, 0x90
+ adds r0, r7
+ mov r10, r0
+ movs r1, 0x7E
+ adds r1, r7
+ mov r9, r1
+_08023F5C:
+ subs r2, r4, 0x1
+ mov r12, r2
+ lsls r6, r2, 1
+ ldr r0, [sp]
+ adds r3, r0, r6
+ lsls r5, r4, 1
+ adds r1, r0, r5
+ ldrh r2, [r3]
+ ldrh r0, [r1]
+ cmp r2, r0
+ bcs _08023F86
+ ldrh r0, [r1]
+ strh r2, [r1]
+ strh r0, [r3]
+ ldr r1, [sp, 0x4]
+ adds r2, r1, r4
+ ldrb r3, [r2]
+ add r1, r12
+ ldrb r0, [r1]
+ strb r0, [r2]
+ strb r3, [r1]
+_08023F86:
+ mov r2, r9
+ adds r3, r2, r6
+ adds r1, r2, r5
+ ldrh r2, [r3]
+ ldrh r6, [r1]
+ cmp r2, r6
+ bcs _08023FAA
+ ldrh r0, [r1]
+ strh r2, [r1]
+ strh r0, [r3]
+ mov r0, r10
+ adds r2, r0, r4
+ ldrb r3, [r2]
+ mov r1, r10
+ add r1, r12
+ ldrb r0, [r1]
+ strb r0, [r2]
+ strb r3, [r1]
+_08023FAA:
+ mov r1, r12
+ lsls r0, r1, 24
+ lsrs r4, r0, 24
+ cmp r4, r8
+ bhi _08023F5C
+_08023FB4:
+ ldr r2, [sp, 0x8]
+ lsls r0, r2, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldrb r0, [r7, 0x9]
+ subs r0, 0x1
+ cmp r8, r0
+ blt _08023F32
+_08023FC4:
+ movs r0, 0
+ ldr r1, [sp, 0xC]
+ movs r2, 0x30
+ bl SendBlock
+ b _0802402E
+_08023FD0:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024034
+ b _08024004
+_08023FDC:
+ bl GetBlockReceivedStatus
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08024034
+ adds r4, r7, 0
+ adds r4, 0x68
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x30
+ bl memset
+ ldr r1, =gBlockRecvBuffer
+ adds r0, r4, 0
+ movs r2, 0x30
+ bl memcpy
+ bl ResetBlockReceivedFlags
+_08024004:
+ movs r0, 0
+ strh r0, [r7, 0x10]
+ b _0802402E
+ .pool
+_08024010:
+ bl sub_8020E58
+ movs r0, 0x12
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r0, 0
+ movs r1, 0xB
+ strh r1, [r7, 0x12]
+ strb r0, [r7, 0xC]
+ adds r1, r7, 0
+ adds r1, 0x24
+ strb r0, [r1]
+ b _08024034
+_0802402E:
+ ldrb r0, [r7, 0xC]
+ adds r0, 0x1
+_08024032:
+ strb r0, [r7, 0xC]
+_08024034:
+ movs r0, 0
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023CAC
+
+ thumb_func_start sub_8024048
+sub_8024048: @ 8024048
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ adds r6, r1, 0
+ ldrb r0, [r5, 0xC]
+ cmp r0, 0x4
+ bhi _08024124
+ lsls r0, 2
+ ldr r1, =_08024064
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08024064:
+ .4byte _08024078
+ .4byte _0802408A
+ .4byte _0802409C
+ .4byte _080240CC
+ .4byte _080240DC
+_08024078:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ adds r0, r5, 0
+ bl sub_8022070
+ cmp r0, 0
+ bne _08024124
+ b _0802412A
+_0802408A:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ movs r0, 0x1E
+ strb r0, [r1]
+ b _08024124
+_0802409C:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _080240AE
+ subs r0, 0x1
+ strb r0, [r1]
+ b _0802412A
+_080240AE:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0802412A
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r5, 0
+ bl sub_802222C
+ b _08024124
+ .pool
+_080240CC:
+ ldrh r0, [r5, 0x12]
+ cmp r0, 0xC
+ bhi _08024124
+ adds r0, 0x1
+ movs r1, 0
+ strh r0, [r5, 0x12]
+ strb r1, [r5, 0xC]
+ b _0802412A
+_080240DC:
+ ldr r0, =gStringVar1
+ ldr r1, [r5, 0x1C]
+ movs r2, 0
+ movs r3, 0x6
+ bl ConvertIntToDecimalStringN
+ ldr r4, =gStringVar2
+ bl GetBerryPowder
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0
+ movs r3, 0x6
+ bl ConvertIntToDecimalStringN
+ movs r4, 0
+ str r4, [sp]
+ adds r0, r6, 0
+ movs r1, 0x2
+ movs r2, 0x3
+ movs r3, 0
+ bl sub_8024644
+ movs r0, 0x13
+ strb r0, [r5, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ strb r4, [r5, 0xC]
+ b _0802412A
+ .pool
+_08024124:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+ strb r0, [r5, 0xC]
+_0802412A:
+ movs r0, 0
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024048
+
+ thumb_func_start sub_8024134
+sub_8024134: @ 8024134
+ push {r4,r5,lr}
+ sub sp, 0x10
+ adds r5, r0, 0
+ adds r4, r1, 0
+ ldrb r0, [r5, 0xC]
+ cmp r0, 0x4
+ bhi _08024218
+ lsls r0, 2
+ ldr r1, =_08024150
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08024150:
+ .4byte _08024164
+ .4byte _080241A0
+ .4byte _080241A6
+ .4byte _080241F0
+ .4byte _08024204
+_08024164:
+ ldrh r1, [r5, 0x28]
+ ldr r0, =0x00008c9f
+ cmp r1, r0
+ bls _08024176
+ movs r1, 0x9C
+ lsls r1, 1
+ adds r0, r5, r1
+ bl sub_8022554
+_08024176:
+ movs r0, 0x1
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r1, 0x8
+ movs r2, 0
+ movs r3, 0
+ bl sub_8024644
+ movs r4, 0
+ movs r0, 0x13
+ strb r0, [r5, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ strb r4, [r5, 0xC]
+ b _0802421E
+ .pool
+_080241A0:
+ bl sub_8010434
+ b _08024218
+_080241A6:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802421E
+ movs r0, 0
+ movs r1, 0
+ bl DrawDialogueFrame
+ ldr r2, =gText_SavingDontTurnOffPower
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized2
+ movs r0, 0
+ movs r1, 0x3
+ bl CopyWindowToVram
+ ldr r0, =sub_8153688
+ movs r1, 0
+ bl CreateTask
+ b _08024218
+ .pool
+_080241F0:
+ ldr r0, =sub_8153688
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024218
+ b _0802421E
+ .pool
+_08024204:
+ movs r0, 0x14
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r1, 0
+ movs r0, 0xF
+ strh r0, [r5, 0x12]
+ strb r1, [r5, 0xC]
+ b _0802421E
+_08024218:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+ strb r0, [r5, 0xC]
+_0802421E:
+ movs r0, 0
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024134
+
+ thumb_func_start sub_8024228
+sub_8024228: @ 8024228
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ adds r6, r1, 0
+ ldrb r0, [r5, 0xC]
+ cmp r0, 0x1
+ beq _0802426A
+ cmp r0, 0x1
+ bgt _08024240
+ cmp r0, 0
+ beq _08024246
+ b _080242D0
+_08024240:
+ cmp r0, 0x2
+ beq _08024270
+ b _080242D0
+_08024246:
+ movs r0, 0x1
+ str r0, [sp]
+ adds r0, r6, 0
+ movs r1, 0x4
+ movs r2, 0
+ movs r3, 0
+ bl sub_8024644
+ movs r0, 0x14
+ strb r0, [r5, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r0, 0
+ strb r0, [r5, 0xC]
+ b _080242D8
+_0802426A:
+ bl DisplayYesNoMenuDefaultYes
+ b _080242D0
+_08024270:
+ bl Menu_ProcessInputNoWrapClearOnChoose
+ lsls r0, 24
+ asrs r4, r0, 24
+ movs r0, 0x2
+ negs r0, r0
+ cmp r4, r0
+ beq _080242D6
+ adds r0, r5, 0
+ adds r0, 0x42
+ movs r1, 0
+ movs r2, 0xC
+ bl memset
+ cmp r4, 0
+ bne _080242A2
+ bl HasAtLeastOneBerry
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802429E
+ strh r4, [r5, 0x14]
+ b _080242A6
+_0802429E:
+ movs r0, 0x3
+ b _080242A4
+_080242A2:
+ movs r0, 0x1
+_080242A4:
+ strh r0, [r5, 0x14]
+_080242A6:
+ movs r0, 0
+ movs r1, 0x1
+ bl ClearDialogWindowAndFrame
+ movs r4, 0
+ str r4, [sp]
+ adds r0, r6, 0
+ movs r1, 0x8
+ movs r2, 0
+ movs r3, 0
+ bl sub_8024644
+ movs r0, 0x15
+ strb r0, [r5, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ strb r4, [r5, 0xC]
+ b _080242D6
+_080242D0:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+ strb r0, [r5, 0xC]
+_080242D6:
+ movs r0, 0
+_080242D8:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024228
+
+ thumb_func_start sub_80242E0
+sub_80242E0: @ 80242E0
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ movs r5, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0x1
+ beq _08024306
+ cmp r0, 0x1
+ bgt _080242F6
+ cmp r0, 0
+ beq _08024300
+ b _080243AC
+_080242F6:
+ cmp r0, 0x2
+ beq _08024328
+ cmp r0, 0x3
+ beq _08024336
+ b _080243AC
+_08024300:
+ bl sub_8010434
+ b _080243AC
+_08024306:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080243B2
+ ldrh r0, [r4, 0x14]
+ adds r1, r4, 0
+ adds r1, 0x42
+ strh r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x4E
+ strh r5, [r0]
+ movs r0, 0
+ movs r2, 0x2
+ bl SendBlock
+ b _080243AC
+_08024328:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080243B2
+ strh r5, [r4, 0x10]
+ b _080243AC
+_08024336:
+ bl GetBlockReceivedStatus
+ ldr r2, =gUnknown_082F4448
+ ldrb r3, [r4, 0x9]
+ subs r1, r3, 0x2
+ adds r1, r2
+ lsls r0, 24
+ lsrs r0, 24
+ ldrb r1, [r1]
+ cmp r0, r1
+ bne _080243B2
+ adds r7, r4, 0
+ adds r7, 0x42
+ adds r6, r4, 0
+ adds r6, 0x4E
+ cmp r5, r3
+ bcs _08024374
+ adds r1, r6, 0
+ ldr r2, =gBlockRecvBuffer
+_0802435C:
+ lsls r0, r5, 8
+ adds r0, r2
+ ldrh r0, [r0]
+ ldrh r3, [r1]
+ adds r0, r3
+ strh r0, [r1]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldrb r0, [r4, 0x9]
+ cmp r5, r0
+ bcc _0802435C
+_08024374:
+ ldrh r0, [r6]
+ cmp r0, 0
+ beq _08024390
+ movs r0, 0x17
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ b _0802439A
+ .pool
+_08024390:
+ movs r0, 0x16
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+_0802439A:
+ bl ResetBlockReceivedFlags
+ movs r1, 0
+ movs r0, 0
+ strh r0, [r7]
+ strh r0, [r6]
+ strh r0, [r4, 0x10]
+ strb r1, [r4, 0xC]
+ b _080243B4
+_080243AC:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+ strb r0, [r4, 0xC]
+_080243B2:
+ movs r0, 0
+_080243B4:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80242E0
+
+ thumb_func_start sub_80243BC
+sub_80243BC: @ 80243BC
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldrb r4, [r5, 0xC]
+ cmp r4, 0x1
+ beq _080243EA
+ cmp r4, 0x1
+ bgt _080243D2
+ cmp r4, 0
+ beq _080243DC
+ b _08024434
+_080243D2:
+ cmp r4, 0x2
+ beq _080243F6
+ cmp r4, 0x3
+ beq _0802441A
+ b _08024434
+_080243DC:
+ movs r0, 0x1
+ negs r0, r0
+ str r4, [sp]
+ movs r1, 0x1
+ movs r2, 0
+ movs r3, 0x10
+ b _08024410
+_080243EA:
+ bl UpdatePaletteFade
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024434
+ b _0802443A
+_080243F6:
+ movs r0, 0
+ movs r1, 0x1
+ bl ClearDialogWindowAndFrame
+ adds r0, r5, 0
+ bl sub_8021488
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0x10
+ movs r3, 0
+_08024410:
+ bl BeginNormalPaletteFade
+ bl UpdatePaletteFade
+ b _08024434
+_0802441A:
+ bl UpdatePaletteFade
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802443A
+ movs r0, 0x7
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r0, 0
+ strh r4, [r5, 0x12]
+ b _08024438
+_08024434:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+_08024438:
+ strb r0, [r5, 0xC]
+_0802443A:
+ movs r0, 0
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80243BC
+
+ thumb_func_start sub_8024444
+sub_8024444: @ 8024444
+ push {r4,r5,lr}
+ sub sp, 0x10
+ adds r5, r0, 0
+ ldrb r4, [r5, 0xC]
+ cmp r4, 0x1
+ beq _080244BC
+ cmp r4, 0x1
+ bgt _0802445A
+ cmp r4, 0
+ beq _08024460
+ b _080244F6
+_0802445A:
+ cmp r4, 0x2
+ beq _080244D4
+ b _080244F6
+_08024460:
+ movs r0, 0
+ movs r1, 0
+ bl DrawDialogueFrame
+ ldrh r1, [r5, 0x14]
+ cmp r1, 0x3
+ bne _08024490
+ ldr r0, =gUnknown_082F32A4
+ ldr r2, [r0, 0x14]
+ ldrb r3, [r5, 0xB]
+ str r4, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ str r1, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x1
+ bl AddTextPrinterParameterized2
+ b _080244AC
+ .pool
+_08024490:
+ ldr r0, =gUnknown_082F32A4
+ ldr r2, [r0, 0x18]
+ ldrb r3, [r5, 0xB]
+ str r4, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x1
+ bl AddTextPrinterParameterized2
+_080244AC:
+ movs r0, 0
+ movs r1, 0x3
+ bl CopyWindowToVram
+ b _080244F6
+ .pool
+_080244BC:
+ movs r0, 0
+ bl IsTextPrinterActive
+ lsls r0, 16
+ cmp r0, 0
+ bne _080244FC
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ movs r0, 0x78
+ strb r0, [r1]
+ b _080244F6
+_080244D4:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ ldrb r0, [r1]
+ adds r4, r0, 0
+ cmp r4, 0
+ beq _080244E8
+ subs r0, 0x1
+ strb r0, [r1]
+ b _080244FC
+_080244E8:
+ movs r0, 0x18
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ strb r4, [r5, 0xC]
+ b _080244FC
+_080244F6:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+ strb r0, [r5, 0xC]
+_080244FC:
+ movs r0, 0
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024444
+
+ thumb_func_start sub_8024508
+sub_8024508: @ 8024508
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldrb r4, [r5, 0xC]
+ cmp r4, 0x1
+ beq _08024528
+ cmp r4, 0x1
+ bgt _0802451C
+ cmp r4, 0
+ beq _08024522
+ b _08024558
+_0802451C:
+ cmp r4, 0x2
+ beq _08024538
+ b _08024558
+_08024522:
+ bl sub_8010434
+ b _08024558
+_08024528:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802455E
+ bl sub_800AC34
+ b _08024558
+_08024538:
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0802455E
+ movs r0, 0x19
+ strb r0, [r5, 0xE]
+ movs r0, 0x5
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ strb r4, [r5, 0xC]
+ b _0802455E
+ .pool
+_08024558:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+ strb r0, [r5, 0xC]
+_0802455E:
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024508
+
+ thumb_func_start sub_8024568
+sub_8024568: @ 8024568
+ push {lr}
+ movs r0, 0
+ bl sub_8020C0C
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024568
+
+ thumb_func_start sub_8024578
+sub_8024578: @ 8024578
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r5, 0
+ movs r0, 0x33
+ bl IncrementGameStat
+ strb r5, [r4, 0xD]
+ movs r1, 0
+ strh r5, [r4, 0x10]
+ movs r0, 0x2
+ strh r0, [r4, 0x12]
+ strh r5, [r4, 0x14]
+ str r5, [r4, 0x1C]
+ strh r5, [r4, 0x18]
+ strh r5, [r4, 0x1A]
+ str r5, [r4, 0x20]
+ adds r0, r4, 0
+ adds r0, 0x24
+ strb r1, [r0]
+ adds r1, r4, 0
+ adds r1, 0x25
+ movs r0, 0
+ strb r0, [r1]
+ strh r5, [r4, 0x26]
+ strh r5, [r4, 0x28]
+ strh r5, [r4, 0x2E]
+ ldr r0, =0x0000ffff
+ strh r0, [r4, 0x32]
+ strh r5, [r4, 0x30]
+ strh r5, [r4, 0x34]
+ movs r6, 0
+ movs r3, 0
+_080245B8:
+ lsls r0, r5, 5
+ adds r2, r4, r0
+ adds r1, r2, 0
+ adds r1, 0xA4
+ ldr r0, =0x0000ffff
+ strh r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0xA6
+ strh r3, [r0]
+ adds r0, 0x2
+ strh r3, [r0]
+ adds r1, 0x6
+ movs r0, 0x1
+ strh r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0xAC
+ strh r3, [r0]
+ adds r0, 0x2
+ strh r3, [r0]
+ adds r0, 0x2
+ strh r3, [r0]
+ adds r0, 0x2
+ strh r3, [r0]
+ adds r0, 0x2
+ strb r6, [r0]
+ adds r0, 0x1
+ strb r6, [r0]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x4
+ bls _080245B8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8024578
+
+ thumb_func_start sub_8024604
+sub_8024604: @ 8024604
+ push {r4-r6,lr}
+ sub sp, 0x8
+ str r2, [sp, 0x4]
+ ldr r5, [sp, 0x18]
+ ldr r6, [sp, 0x1C]
+ ldr r4, [sp, 0x20]
+ mov r2, sp
+ strh r4, [r2]
+ add r4, sp, 0x4
+ ldrb r2, [r4]
+ strb r2, [r0]
+ ldrb r2, [r4, 0x1]
+ strb r2, [r0, 0x1]
+ ldrb r2, [r4, 0x2]
+ strb r2, [r0, 0x2]
+ ldrb r2, [r4, 0x3]
+ strb r2, [r0, 0x3]
+ strb r3, [r0, 0x4]
+ strb r5, [r0, 0x5]
+ strb r6, [r0, 0x6]
+ mov r2, sp
+ ldrb r2, [r2]
+ strb r2, [r0, 0x7]
+ mov r2, sp
+ ldrb r2, [r2, 0x1]
+ strb r2, [r0, 0x8]
+ strb r1, [r0, 0x9]
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024604
+
+ thumb_func_start sub_8024644
+sub_8024644: @ 8024644
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r5, [sp, 0x10]
+ mov r4, sp
+ strh r3, [r4]
+ strb r1, [r0]
+ strb r2, [r0, 0x1]
+ mov r1, sp
+ ldrb r1, [r1]
+ strb r1, [r0, 0x2]
+ mov r1, sp
+ ldrb r1, [r1, 0x1]
+ strb r1, [r0, 0x3]
+ strb r5, [r0, 0x4]
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024644
+
+ .align 2, 0 @ don't pad with nop
diff --git a/asm/contest_painting_effects.s b/asm/contest_painting_effects.s
deleted file mode 100644
index 801e840b9..000000000
--- a/asm/contest_painting_effects.s
+++ /dev/null
@@ -1,1152 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
-
-
- thumb_func_start sub_8126058
-sub_8126058: @ 8126058
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldrb r1, [r0, 0x1D]
- lsrs r5, r1, 3
- ldrb r1, [r0, 0x1E]
- lsrs r1, 3
- str r1, [sp, 0x8]
- ldr r1, [r0, 0x4]
- str r1, [sp]
- ldr r2, [r0, 0x10]
- str r2, [sp, 0x4]
- ldrh r0, [r0, 0x16]
- cmp r0, 0x2
- bne _08126108
- movs r1, 0
- ldr r0, [sp, 0x8]
- cmp r1, r0
- bcc _08126086
- b _08126194
-_08126086:
- movs r0, 0
- adds r2, r1, 0x1
- mov r10, r2
- cmp r0, r5
- bcs _081260FA
- adds r2, r1, 0
- muls r2, r5
- mov r9, r2
- lsls r1, 3
- mov r8, r1
-_0812609A:
- movs r4, 0
- lsls r6, r0, 4
- adds r7, r0, 0x1
- add r0, r9
- lsls r0, 6
- ldr r1, [sp, 0x4]
- adds r1, r0
- mov r12, r1
-_081260AA:
- lsls r0, r4, 3
- mov r2, r12
- adds r3, r2, r0
- mov r1, r8
- adds r0, r1, r4
- lsls r0, 3
- muls r0, r5
- lsls r0, 1
- ldr r2, [sp]
- adds r0, r2, r0
- adds r2, r0, r6
- ldrh r0, [r2, 0x2]
- lsls r0, 8
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r3]
- ldrh r0, [r2, 0x6]
- lsls r0, 8
- ldrh r1, [r2, 0x4]
- orrs r0, r1
- strh r0, [r3, 0x2]
- ldrh r0, [r2, 0xA]
- lsls r0, 8
- ldrh r1, [r2, 0x8]
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r2, 0xE]
- lsls r0, 8
- ldrh r1, [r2, 0xC]
- orrs r0, r1
- strh r0, [r3, 0x6]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x7
- bls _081260AA
- lsls r0, r7, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _0812609A
-_081260FA:
- mov r1, r10
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bcc _08126086
- b _08126194
-_08126108:
- movs r1, 0
- ldr r0, [sp, 0x8]
- cmp r1, r0
- bcs _08126194
-_08126110:
- movs r0, 0
- adds r2, r1, 0x1
- mov r10, r2
- cmp r0, r5
- bcs _08126188
- adds r2, r1, 0
- muls r2, r5
- mov r9, r2
- lsls r1, 3
- mov r8, r1
-_08126124:
- movs r4, 0
- lsls r6, r0, 4
- adds r7, r0, 0x1
- add r0, r9
- lsls r0, 5
- ldr r1, [sp, 0x4]
- adds r1, r0
- mov r12, r1
-_08126134:
- lsls r0, r4, 2
- mov r2, r12
- adds r3, r2, r0
- mov r1, r8
- adds r0, r1, r4
- lsls r0, 3
- muls r0, r5
- lsls r0, 1
- ldr r2, [sp]
- adds r0, r2, r0
- adds r2, r0, r6
- ldrh r1, [r2, 0x2]
- lsls r1, 4
- ldrh r0, [r2]
- orrs r1, r0
- ldrh r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrh r0, [r2, 0x6]
- lsls r0, 12
- orrs r1, r0
- strh r1, [r3]
- ldrh r1, [r2, 0xA]
- lsls r1, 4
- ldrh r0, [r2, 0x8]
- orrs r1, r0
- ldrh r0, [r2, 0xC]
- lsls r0, 8
- orrs r1, r0
- ldrh r0, [r2, 0xE]
- lsls r0, 12
- orrs r1, r0
- strh r1, [r3, 0x2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x7
- bls _08126134
- lsls r0, r7, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _08126124
-_08126188:
- mov r1, r10
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bcc _08126110
-_08126194:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8126058
-
- thumb_func_start sub_81261A4
-sub_81261A4: @ 81261A4
- push {lr}
- ldr r2, =gUnknown_03006188
- ldrb r1, [r0, 0x18]
- lsls r1, 4
- strh r1, [r2]
- ldr r3, =gUnknown_03006184
- ldrh r2, [r2]
- lsls r2, 1
- ldr r1, [r0, 0x8]
- adds r1, r2
- str r1, [r3]
- ldr r2, =gUnknown_03006168
- ldr r1, [r0, 0x4]
- str r1, [r2]
- ldr r2, =gUnknown_03006164
- ldrb r1, [r0, 0x19]
- strb r1, [r2]
- ldr r2, =gUnknown_03006178
- ldrb r1, [r0, 0x1A]
- strb r1, [r2]
- ldr r2, =gUnknown_03006174
- ldrb r1, [r0, 0x1B]
- strb r1, [r2]
- ldr r2, =gUnknown_0300616C
- ldrb r1, [r0, 0x1C]
- strb r1, [r2]
- ldr r2, =gUnknown_03006180
- ldrb r1, [r0, 0x1D]
- strb r1, [r2]
- ldr r2, =gUnknown_03006170
- ldrb r1, [r0, 0x1E]
- strb r1, [r2]
- ldrh r0, [r0, 0x14]
- cmp r0, 0x5
- bhi _0812626A
- lsls r0, 2
- ldr r1, =_0812621C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0812621C:
- .4byte _08126234
- .4byte _0812623C
- .4byte _08126244
- .4byte _0812624E
- .4byte _08126258
- .4byte _08126262
-_08126234:
- movs r0, 0
- bl sub_81263A4
- b _0812626A
-_0812623C:
- movs r0, 0x1
- bl sub_81263A4
- b _0812626A
-_08126244:
- bl sub_8126270
- bl sub_8126714
- b _0812626A
-_0812624E:
- bl sub_8126370
- bl sub_8126664
- b _0812626A
-_08126258:
- bl sub_8126334
- bl sub_81265B4
- b _0812626A
-_08126262:
- bl sub_8126318
- bl sub_81264FC
-_0812626A:
- pop {r0}
- bx r0
- thumb_func_end sub_81261A4
-
- thumb_func_start sub_8126270
-sub_8126270: @ 8126270
- ldr r2, =gUnknown_03006184
- ldr r1, [r2]
- movs r0, 0
- strh r0, [r1]
- ldr r0, [r2]
- ldr r2, =0x000018c6
- adds r1, r2, 0
- strh r1, [r0, 0x2]
- ldr r2, =0x000077bd
- adds r1, r2, 0
- strh r1, [r0, 0x4]
- ldr r2, =0x00002d6b
- adds r1, r2, 0
- strh r1, [r0, 0x6]
- ldr r2, =0x000018dd
- adds r1, r2, 0
- strh r1, [r0, 0x8]
- ldr r2, =0x00001ba6
- adds r1, r2, 0
- strh r1, [r0, 0xA]
- ldr r2, =0x000074c6
- adds r1, r2, 0
- strh r1, [r0, 0xC]
- ldr r2, =0x00001bbd
- adds r1, r2, 0
- strh r1, [r0, 0xE]
- ldr r2, =0x000074dd
- adds r1, r2, 0
- strh r1, [r0, 0x10]
- ldr r2, =0x000077a6
- adds r1, r2, 0
- strh r1, [r0, 0x12]
- ldr r2, =0x0000197d
- adds r1, r2, 0
- strh r1, [r0, 0x14]
- ldr r2, =0x00001bab
- adds r1, r2, 0
- strh r1, [r0, 0x16]
- ldr r2, =0x00007566
- adds r1, r2, 0
- strh r1, [r0, 0x18]
- ldr r2, =0x00002cdd
- adds r1, r2, 0
- strh r1, [r0, 0x1A]
- ldr r2, =0x00002fa6
- adds r1, r2, 0
- strh r1, [r0, 0x1C]
- ldr r2, =0x000074cb
- adds r1, r2, 0
- strh r1, [r0, 0x1E]
- bx lr
- .pool
- thumb_func_end sub_8126270
-
- thumb_func_start sub_8126318
-sub_8126318: @ 8126318
- ldr r2, =gUnknown_03006184
- ldr r0, [r2]
- movs r1, 0
- strh r1, [r0]
- ldr r2, [r2]
- strh r1, [r2, 0x2]
- ldr r1, =0x00007fff
- adds r0, r1, 0
- strh r0, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end sub_8126318
-
- thumb_func_start sub_8126334
-sub_8126334: @ 8126334
- push {r4,r5,lr}
- ldr r1, =gUnknown_03006184
- ldr r0, [r1]
- movs r2, 0
- strh r2, [r0]
- ldr r0, [r1]
- strh r2, [r0, 0x2]
- movs r4, 0
- adds r5, r1, 0
-_08126346:
- ldr r0, [r5]
- lsls r2, r4, 1
- adds r2, r0
- adds r0, r4, 0x2
- lsls r3, r0, 1
- lsls r1, r0, 11
- lsls r0, 6
- orrs r1, r0
- orrs r1, r3
- strh r1, [r2, 0x4]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xD
- bls _08126346
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8126334
-
- thumb_func_start sub_8126370
-sub_8126370: @ 8126370
- push {r4,lr}
- ldr r2, =gUnknown_03006184
- ldr r1, [r2]
- movs r0, 0
- strh r0, [r1]
- movs r3, 0
- adds r4, r2, 0
-_0812637E:
- ldr r0, [r4]
- lsls r2, r3, 1
- adds r2, r0
- lsls r0, r3, 10
- lsls r1, r3, 5
- orrs r0, r1
- orrs r0, r3
- strh r0, [r2, 0x2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1F
- bls _0812637E
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8126370
-
- thumb_func_start sub_81263A4
-sub_81263A4: @ 81263A4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- movs r1, 0xDF
- mov r9, r1
- cmp r0, 0
- bne _081263BC
- movs r2, 0xFF
- mov r9, r2
-_081263BC:
- movs r6, 0
- ldr r3, =gUnknown_03006184
- mov r12, r3
- mov r0, r9
- lsls r4, r0, 1
- ldr r5, =gUnknown_0300616C
- cmp r6, r9
- bcs _081263E0
- movs r2, 0
-_081263CE:
- ldr r0, [r3]
- lsls r1, r6, 1
- adds r1, r0
- strh r2, [r1]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r9
- bcc _081263CE
-_081263E0:
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4, r0
- ldr r2, =0x00003def
- adds r1, r2, 0
- strh r1, [r0]
- movs r3, 0
- ldrb r5, [r5]
- cmp r3, r5
- bcs _081264E4
-_081263F4:
- ldr r2, =gUnknown_03006168
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r3
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- ldr r1, [r2]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r6, 0
- ldr r0, =gUnknown_03006174
- adds r2, r0, 0
- adds r3, 0x1
- mov r10, r3
- ldrb r3, [r2]
- cmp r6, r3
- bcs _081264D6
- ldr r0, =gUnknown_03006188
- mov r8, r0
-_08126424:
- ldrh r0, [r4]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08126464
- mov r1, r8
- ldrh r0, [r1]
- strh r0, [r4]
- adds r6, 0x1
- adds r7, r4, 0x2
- b _081264CA
- .pool
-_08126464:
- adds r0, r4, 0
- bl sub_81267C4
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0x1
- adds r6, 0x1
- adds r7, r4, 0x2
- cmp r3, r9
- bcs _081264C0
- ldr r0, =gUnknown_03006184
- ldr r2, [r0]
- ldrh r1, [r2, 0x2]
- mov r12, r0
- cmp r1, 0
- bne _08126494
- strh r5, [r2, 0x2]
- mov r2, r8
- ldrh r0, [r2]
- adds r0, 0x1
- b _081264BE
- .pool
-_08126494:
- mov r2, r12
- ldr r1, [r2]
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r5
- beq _081264B8
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r9
- bcs _081264C0
- lsls r0, r3, 1
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, 0
- bne _08126494
- strh r5, [r1]
-_081264B8:
- mov r1, r8
- ldrh r0, [r1]
- adds r0, r3
-_081264BE:
- strh r0, [r4]
-_081264C0:
- ldr r2, =gUnknown_03006174
- cmp r3, r9
- bne _081264CA
- mov r3, r9
- strh r3, [r4]
-_081264CA:
- lsls r0, r6, 24
- lsrs r6, r0, 24
- adds r4, r7, 0
- ldrb r0, [r2]
- cmp r6, r0
- bcc _08126424
-_081264D6:
- mov r1, r10
- lsls r0, r1, 24
- lsrs r3, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r3, r0
- bcc _081263F4
-_081264E4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81263A4
-
- thumb_func_start sub_81264FC
-sub_81264FC: @ 81264FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081265A0
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_08126510:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r6, 0
- ldr r0, =gUnknown_03006174
- adds r3, r0, 0
- adds r7, r2, 0x1
- ldrb r0, [r3]
- cmp r6, r0
- bcs _08126594
- ldr r5, =gUnknown_03006188
-_0812653C:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0812656C
- ldrh r0, [r5]
- strh r0, [r4]
- b _08126586
- .pool
-_0812656C:
- adds r0, r4, 0
- bl ConvertToBlackOrWhite
- lsls r0, 16
- cmp r0, 0
- bne _0812657E
- ldrh r0, [r5]
- adds r0, 0x1
- b _08126582
-_0812657E:
- ldrh r0, [r5]
- adds r0, 0x2
-_08126582:
- strh r0, [r4]
- ldr r3, =gUnknown_03006174
-_08126586:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r6, r0
- bcc _0812653C
-_08126594:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08126510
-_081265A0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81264FC
-
- thumb_func_start sub_81265B4
-sub_81265B4: @ 81265B4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08126650
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_081265CA:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, =gUnknown_03006174
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _08126644
- ldr r6, =gUnknown_03006188
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_081265FA:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _08126624
- ldrh r0, [r6]
- strh r0, [r4]
- b _08126634
- .pool
-_08126624:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_8126908
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_08126634:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r5, r0
- bcc _081265FA
-_08126644:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _081265CA
-_08126650:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81265B4
-
- thumb_func_start sub_8126664
-sub_8126664: @ 8126664
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08126700
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_0812667A:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, =gUnknown_03006174
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _081266F4
- ldr r6, =gUnknown_03006188
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_081266AA:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _081266D4
- ldrh r0, [r6]
- strh r0, [r4]
- b _081266E4
- .pool
-_081266D4:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_812693C
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_081266E4:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r5, r0
- bcc _081266AA
-_081266F4:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _0812667A
-_08126700:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8126664
-
- thumb_func_start sub_8126714
-sub_8126714: @ 8126714
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081267B0
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_0812672A:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, =gUnknown_03006174
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _081267A4
- ldr r6, =gUnknown_03006188
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_0812675A:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _08126784
- ldrh r0, [r6]
- strh r0, [r4]
- b _08126794
- .pool
-_08126784:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_8126838
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_08126794:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r5, r0
- bcc _0812675A
-_081267A4:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _0812672A
-_081267B0:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8126714
-
- thumb_func_start sub_81267C4
-sub_81267C4: @ 81267C4
- push {r4,lr}
- ldrh r0, [r0]
- movs r1, 0x1F
- movs r4, 0x1F
- ands r4, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r1
- lsrs r2, r0, 26
- ands r2, r1
- movs r1, 0x3
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _081267E8
- movs r0, 0x1C
- ands r0, r4
- adds r4, r0, 0x4
-_081267E8:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _081267F6
- movs r0, 0x1C
- ands r0, r3
- adds r3, r0, 0x4
-_081267F6:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08126804
- movs r0, 0x1C
- ands r0, r2
- adds r2, r0, 0x4
-_08126804:
- cmp r4, 0x5
- bhi _0812680A
- movs r4, 0x6
-_0812680A:
- cmp r4, 0x1E
- bls _08126810
- movs r4, 0x1E
-_08126810:
- cmp r3, 0x5
- bhi _08126816
- movs r3, 0x6
-_08126816:
- cmp r3, 0x1E
- bls _0812681C
- movs r3, 0x1E
-_0812681C:
- cmp r2, 0x5
- bhi _08126822
- movs r2, 0x6
-_08126822:
- cmp r2, 0x1E
- bls _08126828
- movs r2, 0x1E
-_08126828:
- lsls r0, r2, 10
- lsls r1, r3, 5
- orrs r0, r1
- orrs r4, r0
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81267C4
-
- thumb_func_start sub_8126838
-sub_8126838: @ 8126838
- push {lr}
- ldrh r0, [r0]
- movs r1, 0x1F
- movs r3, 0x1F
- ands r3, r0
- lsls r0, 16
- lsrs r2, r0, 21
- ands r2, r1
- lsrs r0, 26
- ands r0, r1
- cmp r3, 0xB
- bhi _0812685C
- cmp r2, 0xA
- bhi _0812685C
- cmp r0, 0xA
- bhi _0812685C
- movs r0, 0x1
- b _08126902
-_0812685C:
- cmp r3, 0x13
- bls _08126880
- cmp r2, 0x13
- bls _08126868
- cmp r0, 0x13
- bhi _0812688C
-_08126868:
- cmp r3, 0x13
- bls _08126880
- cmp r2, 0x13
- bls _08126876
- cmp r0, 0xE
- bhi _0812688C
- b _081268C4
-_08126876:
- cmp r0, 0x13
- bls _08126880
- cmp r2, 0xE
- bhi _0812688C
- b _081268A0
-_08126880:
- cmp r2, 0x13
- bls _08126890
- cmp r0, 0x13
- bls _08126890
- cmp r3, 0xE
- bls _081268E8
-_0812688C:
- movs r0, 0x2
- b _08126902
-_08126890:
- cmp r3, 0x13
- bls _081268B4
- cmp r2, 0xB
- bls _081268A8
- cmp r0, 0xB
- bls _081268A4
- cmp r2, r0
- bcs _081268C4
-_081268A0:
- movs r0, 0x8
- b _08126902
-_081268A4:
- movs r0, 0xA
- b _08126902
-_081268A8:
- cmp r0, 0xB
- bls _081268B0
- movs r0, 0xD
- b _08126902
-_081268B0:
- movs r0, 0x4
- b _08126902
-_081268B4:
- cmp r2, 0x13
- bls _081268D8
- cmp r3, 0xB
- bls _081268CC
- cmp r0, 0xB
- bls _081268C8
- cmp r3, r0
- bcc _081268E8
-_081268C4:
- movs r0, 0x7
- b _08126902
-_081268C8:
- movs r0, 0xB
- b _08126902
-_081268CC:
- cmp r0, 0xB
- bls _081268D4
- movs r0, 0xE
- b _08126902
-_081268D4:
- movs r0, 0x5
- b _08126902
-_081268D8:
- cmp r0, 0x13
- bls _08126900
- cmp r3, 0xB
- bls _081268EC
- cmp r2, 0xB
- bls _081268F4
- cmp r3, r2
- bcs _081268A0
-_081268E8:
- movs r0, 0x9
- b _08126902
-_081268EC:
- cmp r2, 0xB
- bls _081268F4
- movs r0, 0xC
- b _08126902
-_081268F4:
- cmp r0, 0xB
- bls _081268FC
- movs r0, 0xF
- b _08126902
-_081268FC:
- movs r0, 0x6
- b _08126902
-_08126900:
- movs r0, 0x3
-_08126902:
- pop {r1}
- bx r1
- thumb_func_end sub_8126838
-
- thumb_func_start sub_8126908
-sub_8126908: @ 8126908
- push {lr}
- ldrh r1, [r0]
- movs r3, 0x1F
- movs r0, 0x1F
- ands r0, r1
- lsls r1, 16
- lsrs r2, r1, 21
- ands r2, r3
- lsrs r1, 26
- ands r1, r3
- adds r0, r2
- adds r0, r1
- movs r1, 0x3
- bl __divsi3
- movs r1, 0x1E
- ands r0, r1
- lsls r0, 16
- cmp r0, 0
- beq _08126934
- lsrs r0, 17
- b _08126936
-_08126934:
- movs r0, 0x1
-_08126936:
- pop {r1}
- bx r1
- thumb_func_end sub_8126908
-
- thumb_func_start sub_812693C
-sub_812693C: @ 812693C
- push {lr}
- ldrh r1, [r0]
- movs r3, 0x1F
- movs r0, 0x1F
- ands r0, r1
- lsls r1, 16
- lsrs r2, r1, 21
- ands r2, r3
- lsrs r1, 26
- ands r1, r3
- adds r0, r2
- adds r0, r1
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_812693C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s
new file mode 100755
index 000000000..505f305b9
--- /dev/null
+++ b/asm/dodrio_berry_picking.s
@@ -0,0 +1,11806 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_802493C
+sub_802493C: @ 802493C
+ push {r4-r6,lr}
+ adds r5, r1, 0
+ lsls r0, 16
+ lsrs r6, r0, 16
+ ldr r1, =gUnknown_03000DB0
+ movs r0, 0
+ str r0, [r1]
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08024A10
+ ldr r4, =gUnknown_02022C98
+ ldr r0, =0x00003330
+ bl AllocZeroed
+ str r0, [r4]
+ cmp r0, 0
+ beq _08024A10
+ bl sub_8024A1C
+ ldr r0, [r4]
+ bl sub_8024A30
+ ldr r0, [r4]
+ str r5, [r0]
+ bl GetMultiplayerId
+ ldr r1, [r4]
+ adds r1, 0x28
+ strb r0, [r1]
+ ldr r1, [r4]
+ ldr r2, =0x000032cc
+ adds r0, r1, r2
+ adds r2, r1, 0
+ adds r2, 0x28
+ ldrb r3, [r2]
+ lsls r2, r3, 4
+ subs r2, r3
+ lsls r2, 2
+ adds r1, r2
+ ldr r2, =0x000031a0
+ adds r1, r2
+ movs r2, 0x3C
+ bl memcpy
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x28
+ ldrb r1, [r1]
+ lsls r1, 2
+ ldr r2, =0x0000318c
+ adds r1, r2
+ adds r0, r1
+ movs r1, 0x64
+ muls r1, r6
+ ldr r2, =gPlayerParty
+ adds r1, r2
+ bl sub_80261F8
+ ldr r0, =sub_8024BC8
+ movs r1, 0x1
+ bl CreateTask
+ ldr r0, =sub_80261CC
+ bl SetMainCallback2
+ bl sub_80273F0
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ adds r1, r2, 0
+ adds r1, 0x44
+ adds r2, 0x48
+ bl sub_8026B5C
+ bl StopMapMusic
+ ldr r0, =0x0000021e
+ bl PlayNewMapMusic
+ b _08024A16
+ .pool
+_08024A10:
+ adds r0, r5, 0
+ bl SetMainCallback2
+_08024A16:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802493C
+
+ thumb_func_start sub_8024A1C
+sub_8024A1C: @ 8024A1C
+ push {lr}
+ bl ResetTasks
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024A1C
+
+ thumb_func_start sub_8024A30
+sub_8024A30: @ 8024A30
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x28
+ adds r2, r0, 0
+ movs r0, 0
+ strb r0, [r2, 0xC]
+ strb r0, [r2, 0x10]
+ strb r0, [r2, 0x14]
+ strb r0, [r2, 0x18]
+ strb r0, [r2, 0x1C]
+ movs r3, 0x8E
+ lsls r3, 1
+ adds r1, r2, r3
+ str r0, [r1]
+ movs r7, 0x90
+ lsls r7, 1
+ adds r1, r2, r7
+ str r0, [r1]
+ adds r1, r2, 0
+ adds r1, 0x30
+ strb r0, [r1]
+ adds r1, 0x10
+ strb r0, [r1]
+ subs r1, 0x4
+ strb r0, [r1]
+ adds r3, 0x10
+ adds r1, r2, r3
+ str r0, [r1]
+ movs r5, 0
+ adds r1, r2, 0
+ adds r1, 0x98
+ movs r3, 0
+_08024A76:
+ adds r0, r1, r5
+ strb r3, [r0]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _08024A76
+ movs r5, 0
+ adds r7, r2, 0
+ adds r7, 0xA8
+ str r7, [sp]
+ adds r0, r2, 0
+ adds r0, 0xB0
+ str r0, [sp, 0xC]
+ movs r1, 0x4A
+ adds r1, r2
+ mov r10, r1
+ movs r3, 0x4C
+ adds r3, r2
+ mov r9, r3
+ movs r7, 0x4E
+ adds r7, r2
+ mov r12, r7
+ subs r0, 0x60
+ str r0, [sp, 0x24]
+ adds r6, r2, 0
+ adds r6, 0x54
+ adds r1, r2, 0
+ adds r1, 0xD0
+ str r1, [sp, 0x1C]
+ adds r3, r2, 0
+ adds r3, 0xDC
+ str r3, [sp, 0x20]
+ adds r7, r2, 0
+ adds r7, 0xC4
+ str r7, [sp, 0x14]
+ adds r0, 0xA4
+ str r0, [sp, 0x4]
+ adds r1, 0x25
+ str r1, [sp, 0x8]
+ subs r3, 0xBC
+ str r3, [sp, 0x10]
+ movs r7, 0x24
+ adds r7, r2
+ mov r8, r7
+ subs r0, 0xC0
+ str r0, [sp, 0x18]
+ movs r3, 0
+ movs r1, 0x86
+ lsls r1, 1
+ adds r4, r2, r1
+ movs r7, 0x98
+ lsls r7, 1
+ adds r2, r7
+_08024AE2:
+ ldr r1, [sp]
+ adds r0, r1, r5
+ strb r3, [r0]
+ ldr r7, [sp, 0xC]
+ adds r0, r7, r5
+ strb r3, [r0]
+ lsls r0, r5, 1
+ adds r0, r5
+ lsls r0, 2
+ mov r7, r10
+ adds r1, r7, r0
+ strh r3, [r1]
+ mov r7, r9
+ adds r1, r7, r0
+ strh r3, [r1]
+ mov r7, r12
+ adds r1, r7, r0
+ strh r3, [r1]
+ ldr r7, [sp, 0x24]
+ adds r1, r7, r0
+ strh r3, [r1]
+ adds r0, r6, r0
+ strh r3, [r0]
+ adds r0, r4, r5
+ strb r3, [r0]
+ lsls r0, r5, 2
+ adds r0, r2, r0
+ str r3, [r0]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x4
+ bls _08024AE2
+ movs r5, 0
+ movs r3, 0
+ movs r4, 0xFF
+ ldr r6, [sp, 0x1C]
+_08024B2C:
+ adds r0, r6, r5
+ strb r3, [r0]
+ ldr r1, [sp, 0x20]
+ adds r0, r1, r5
+ strb r3, [r0]
+ ldr r7, [sp, 0x14]
+ adds r0, r7, r5
+ strb r3, [r0]
+ lsls r1, r5, 1
+ ldr r0, [sp, 0x4]
+ adds r2, r0, r1
+ ldrb r0, [r2]
+ orrs r0, r4
+ strb r0, [r2]
+ ldr r7, [sp, 0x8]
+ adds r1, r7, r1
+ ldrb r0, [r1]
+ orrs r0, r4
+ strb r0, [r1]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xA
+ bls _08024B2C
+ bl GetMultiplayerId
+ movs r1, 0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08024B6A
+ movs r1, 0x1
+_08024B6A:
+ ldr r0, [sp, 0x10]
+ strb r1, [r0]
+ bl GetLinkPlayerCount
+ mov r1, r8
+ strb r0, [r1]
+ bl GetMultiplayerId
+ ldr r3, [sp, 0x18]
+ strb r0, [r3]
+ movs r5, 0x1
+ mov r7, r8
+ ldrb r7, [r7]
+ cmp r5, r7
+ bcs _08024BB6
+ ldr r7, [sp, 0x18]
+ mov r6, r8
+_08024B8C:
+ adds r4, r7, r5
+ subs r0, r5, 0x1
+ adds r0, r7, r0
+ ldrb r0, [r0]
+ adds r0, 0x1
+ strb r0, [r4]
+ ldrb r2, [r4]
+ ldrb r1, [r6]
+ subs r0, r1, 0x1
+ cmp r2, r0
+ ble _08024BAA
+ adds r0, r2, 0
+ bl __umodsi3
+ strb r0, [r4]
+_08024BAA:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldrb r0, [r6]
+ cmp r5, r0
+ bcc _08024B8C
+_08024BB6:
+ add sp, 0x28
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024A30
+
+ thumb_func_start sub_8024BC8
+sub_8024BC8: @ 8024BC8
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r1, r0, 24
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xC]
+ cmp r0, 0x7
+ bls _08024BDC
+ b _08024D34
+_08024BDC:
+ lsls r0, 2
+ ldr r1, =_08024BF0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08024BF0:
+ .4byte _08024C10
+ .4byte _08024C24
+ .4byte _08024C4C
+ .4byte _08024C5A
+ .4byte _08024C80
+ .4byte _08024CD4
+ .4byte _08024CE6
+ .4byte _08024D10
+_08024C10:
+ movs r0, 0
+ bl SetVBlankCallback
+ ldr r0, =sub_8025910
+ movs r1, 0x4
+ bl sub_802620C
+ b _08024D20
+ .pool
+_08024C24:
+ ldr r0, =sub_8025910
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024C32
+ b _08024D40
+_08024C32:
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ movs r1, 0xB0
+ lsls r1, 1
+ adds r0, r1
+ bl sub_8029274
+ ldr r1, [r4]
+ b _08024D24
+ .pool
+_08024C4C:
+ bl sub_802A770
+ cmp r0, 0
+ bne _08024D40
+ bl sub_8010434
+ b _08024D20
+_08024C5A:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024D40
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08024D20
+ bl sub_800E0E8
+ movs r0, 0
+ movs r1, 0
+ bl CreateWirelessStatusIndicatorSprite
+ b _08024D20
+ .pool
+_08024C80:
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ bl sub_80283A8
+ movs r4, 0
+ cmp r4, r5
+ bcs _08024CBA
+_08024C92:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x34
+ adds r0, r4
+ ldrb r2, [r0]
+ lsls r0, r2, 2
+ ldr r3, =0x0000318c
+ adds r0, r3
+ adds r0, r1, r0
+ adds r1, 0x24
+ ldrb r3, [r1]
+ adds r1, r4, 0
+ bl sub_8028408
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08024C92
+_08024CBA:
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ adds r0, 0x24
+ ldrb r1, [r0]
+ movs r0, 0
+ bl sub_802868C
+ ldr r1, [r4]
+ b _08024D24
+ .pool
+_08024CD4:
+ bl sub_8028A34
+ bl sub_8028A88
+ bl sub_8028D44
+ bl sub_8028734
+ b _08024D20
+_08024CE6:
+ movs r4, 0x1
+ negs r4, r4
+ adds r0, r4, 0
+ movs r1, 0x10
+ movs r2, 0
+ bl BlendPalettes
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r0, =sub_80261E4
+ bl SetVBlankCallback
+ b _08024D20
+ .pool
+_08024D10:
+ bl UpdatePaletteFade
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08024D40
+_08024D20:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+_08024D24:
+ ldrb r0, [r1, 0xC]
+ adds r0, 0x1
+ strb r0, [r1, 0xC]
+ b _08024D40
+ .pool
+_08024D34:
+ adds r0, r1, 0
+ bl DestroyTask
+ ldr r0, =sub_802589C
+ bl sub_802621C
+_08024D40:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8024BC8
+
+ thumb_func_start sub_8024D4C
+sub_8024D4C: @ 8024D4C
+ push {lr}
+ bl sub_8025D04
+ ldr r1, =gUnknown_082F7AC4
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x18]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ ldr r0, =gUnknown_03000DB0
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08024D70
+ bl sub_8026AF4
+_08024D70:
+ bl sub_8025D50
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8024D4C
+
+ thumb_func_start sub_8024D84
+sub_8024D84: @ 8024D84
+ push {lr}
+ bl sub_8025E0C
+ ldr r1, =gUnknown_082F7AF4
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x18]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ ldr r0, =gUnknown_03000DB0
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08024DA8
+ bl sub_8026B28
+_08024DA8:
+ bl sub_8025ED8
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8024D84
+
+ thumb_func_start sub_8024DBC
+sub_8024DBC: @ 8024DBC
+ push {r4,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ cmp r0, 0
+ beq _08024DD4
+ cmp r0, 0x1
+ beq _08024DEA
+ b _08024DF8
+ .pool
+_08024DD4:
+ movs r0, 0x1
+ bl sub_8028504
+ movs r0, 0x1
+ bl sub_80292E0
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08024DF8
+_08024DEA:
+ bl sub_802A770
+ cmp r0, 0
+ bne _08024DF8
+ movs r0, 0x1
+ bl sub_8026240
+_08024DF8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024DBC
+
+ thumb_func_start sub_8024E00
+sub_8024E00: @ 8024E00
+ push {r4,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ cmp r0, 0
+ bne _08024E20
+ bl sub_80262C0
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08024E30
+ .pool
+_08024E20:
+ movs r0, 0x8C
+ lsls r0, 1
+ adds r1, r0
+ movs r0, 0x1
+ str r0, [r1]
+ movs r0, 0x2
+ bl sub_8026240
+_08024E30:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024E00
+
+ thumb_func_start sub_8024E38
+sub_8024E38: @ 8024E38
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ ldrb r0, [r0, 0x10]
+ adds r4, r1, 0
+ cmp r0, 0x5
+ bhi _08024F08
+ lsls r0, 2
+ ldr r1, =_08024E5C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08024E5C:
+ .4byte _08024E74
+ .4byte _08024E90
+ .4byte _08024EA0
+ .4byte _08024EC4
+ .4byte _08024ED8
+ .4byte _08024EF8
+_08024E74:
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x7
+ movs r1, 0x8
+ movs r2, 0x78
+ movs r3, 0x50
+ bl sub_802EB24
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08024EF0
+ .pool
+_08024E90:
+ bl sub_8010434
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08024EF0
+ .pool
+_08024EA0:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024F08
+ ldr r2, =gUnknown_02022C98
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ movs r3, 0
+ strb r0, [r1, 0x10]
+ ldr r0, [r2]
+ adds r0, 0x30
+ strb r3, [r0]
+ b _08024F08
+ .pool
+_08024EC4:
+ bl sub_802EB84
+ cmp r0, 0
+ bne _08024F08
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08024EF0
+ .pool
+_08024ED8:
+ ldr r1, [r4]
+ adds r1, 0x30
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bls _08024F08
+ bl sub_8010434
+ ldr r1, [r4]
+_08024EF0:
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08024F08
+_08024EF8:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024F08
+ movs r0, 0x3
+ bl sub_8026240
+_08024F08:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024E38
+
+ thumb_func_start sub_8024F10
+sub_8024F10: @ 8024F10
+ push {lr}
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x10]
+ cmp r0, 0
+ bne _08024F2E
+ movs r2, 0x8E
+ lsls r2, 1
+ adds r0, r1, r2
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _08024F2E
+ movs r0, 0x4
+ bl sub_8026240
+_08024F2E:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8024F10
+
+ thumb_func_start sub_8024F38
+sub_8024F38: @ 8024F38
+ push {r4,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x10]
+ cmp r0, 0
+ bne _08024FF6
+ adds r0, r2, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bhi _08024FE8
+ adds r0, r2, 0
+ adds r0, 0xA8
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08024FEE
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08024F88
+ ldr r1, =0x000031cc
+ adds r0, r2, r1
+ ldrb r1, [r0]
+ cmp r1, 0
+ bne _08024FEE
+ ldr r3, =0x000031d0
+ adds r0, r2, r3
+ strb r1, [r0]
+ movs r0, 0x2
+ b _08024FC2
+ .pool
+_08024F88:
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08024FA8
+ ldr r3, =0x000031cc
+ adds r0, r2, r3
+ ldrb r1, [r0]
+ cmp r1, 0
+ bne _08024FEE
+ adds r3, 0x4
+ adds r0, r2, r3
+ strb r1, [r0]
+ movs r0, 0x1
+ b _08024FC2
+ .pool
+_08024FA8:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _08024FD4
+ ldr r3, =0x000031cc
+ adds r0, r2, r3
+ ldrb r1, [r0]
+ cmp r1, 0
+ bne _08024FEE
+ adds r3, 0x4
+ adds r0, r2, r3
+ strb r1, [r0]
+ movs r0, 0x3
+_08024FC2:
+ bl sub_8027518
+ ldr r1, [r4]
+ ldr r2, =0x000031cc
+ adds r1, r2
+ strb r0, [r1]
+ b _08024FEE
+ .pool
+_08024FD4:
+ movs r0, 0
+ bl sub_8027518
+ ldr r1, [r4]
+ ldr r3, =0x000031cc
+ adds r1, r3
+ strb r0, [r1]
+ b _08024FEE
+ .pool
+_08024FE8:
+ movs r0, 0xB
+ bl sub_8026240
+_08024FEE:
+ bl sub_802671C
+ bl sub_8025F48
+_08024FF6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024F38
+
+ thumb_func_start sub_8024FFC
+sub_8024FFC: @ 8024FFC
+ push {lr}
+ ldr r0, =gUnknown_02022C98
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bhi _080250C4
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0802504C
+ adds r0, r2, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r2, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080250CA
+ ldr r3, =0x000032f8
+ adds r1, r2, r3
+ movs r0, 0x2
+ strb r0, [r1]
+ b _080250CA
+ .pool
+_0802504C:
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08025080
+ adds r0, r2, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r2, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080250CA
+ ldr r3, =0x000032f8
+ adds r1, r2, r3
+ movs r0, 0x1
+ strb r0, [r1]
+ b _080250CA
+ .pool
+_08025080:
+ movs r0, 0x20
+ ands r0, r1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ beq _080250B8
+ adds r0, r2, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r2, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080250CA
+ ldr r3, =0x000032f8
+ adds r1, r2, r3
+ movs r0, 0x3
+ strb r0, [r1]
+ b _080250CA
+ .pool
+_080250B8:
+ ldr r3, =0x000032f8
+ adds r0, r2, r3
+ strb r1, [r0]
+ b _080250CA
+ .pool
+_080250C4:
+ movs r0, 0xB
+ bl sub_8026240
+_080250CA:
+ bl sub_8026044
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024FFC
+
+ thumb_func_start sub_80250D4
+sub_80250D4: @ 80250D4
+ push {r4,r5,lr}
+ bl sub_802671C
+ bl sub_8025F48
+ bl sub_8026C50
+ cmp r0, 0x1
+ bne _080250F2
+ bl sub_80272A4
+ movs r0, 0x5
+ bl sub_8026240
+ b _08025150
+_080250F2:
+ ldr r0, =gUnknown_02022C98
+ ldr r2, [r0]
+ movs r1, 0x96
+ lsls r1, 1
+ adds r4, r2, r1
+ movs r1, 0x1
+ str r1, [r4]
+ movs r3, 0x1
+ adds r1, r2, 0
+ adds r1, 0x24
+ adds r5, r0, 0
+ ldrb r1, [r1]
+ cmp r3, r1
+ bcs _08025150
+ movs r1, 0x9A
+ lsls r1, 1
+ adds r0, r2, r1
+ ldr r0, [r0]
+ cmp r0, 0x1
+ beq _08025124
+ movs r0, 0
+ str r0, [r4]
+ b _08025150
+ .pool
+_08025124:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r2, [r5]
+ adds r0, r2, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r3, r0
+ bcs _08025150
+ lsls r0, r3, 2
+ movs r4, 0x98
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r1, r0
+ ldr r0, [r1]
+ cmp r0, 0x1
+ beq _08025124
+ movs r0, 0x96
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0
+ str r0, [r1]
+_08025150:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80250D4
+
+ thumb_func_start sub_8025158
+sub_8025158: @ 8025158
+ push {lr}
+ bl sub_8026044
+ bl sub_8026C90
+ cmp r0, 0x1
+ bne _0802516C
+ movs r0, 0x5
+ bl sub_8026240
+_0802516C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025158
+
+ thumb_func_start sub_8025170
+sub_8025170: @ 8025170
+ push {r4,lr}
+ bl GetBlockReceivedStatus
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_800A9D8
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ beq _0802518C
+ movs r0, 0
+ b _08025192
+_0802518C:
+ bl ResetBlockReceivedFlags
+ movs r0, 0x1
+_08025192:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8025170
+
+ thumb_func_start sub_8025198
+sub_8025198: @ 8025198
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022C98
+ ldr r1, [r5]
+ ldrb r4, [r1, 0x10]
+ cmp r4, 0x1
+ beq _080251D0
+ cmp r4, 0x1
+ bgt _080251B4
+ cmp r4, 0
+ beq _080251BA
+ b _0802520C
+ .pool
+_080251B4:
+ cmp r4, 0x2
+ beq _080251DC
+ b _0802520C
+_080251BA:
+ adds r1, 0x4A
+ movs r0, 0
+ movs r2, 0x3C
+ bl SendBlock
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025226
+ ldr r0, [r5]
+ strb r4, [r0, 0x8]
+ b _08025202
+_080251D0:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025226
+ b _08025202
+_080251DC:
+ bl sub_8025170
+ cmp r0, 0
+ beq _080251EE
+ ldr r0, [r5]
+ adds r1, r0, 0
+ adds r1, 0x24
+ ldrb r1, [r1]
+ strb r1, [r0, 0x8]
+_080251EE:
+ ldr r2, [r5]
+ adds r1, r2, 0
+ adds r1, 0x24
+ ldrb r0, [r2, 0x8]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bcc _08025226
+ ldrb r0, [r2, 0x14]
+ adds r0, 0x1
+ strb r0, [r2, 0x14]
+_08025202:
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08025226
+_0802520C:
+ movs r0, 0x1
+ bl WaitFanfare
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025226
+ movs r0, 0x6
+ bl sub_8026240
+ ldr r0, =0x0000020b
+ movs r1, 0x4
+ bl FadeOutAndPlayNewMapMusic
+_08025226:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025198
+
+ thumb_func_start sub_8025230
+sub_8025230: @ 8025230
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022C98
+ ldr r2, [r5]
+ ldrb r4, [r2, 0x10]
+ cmp r4, 0x1
+ beq _08025274
+ cmp r4, 0x1
+ bgt _0802524C
+ cmp r4, 0
+ beq _08025252
+ b _080252DC
+ .pool
+_0802524C:
+ cmp r4, 0x2
+ beq _08025282
+ b _080252DC
+_08025252:
+ ldrb r0, [r2, 0x14]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r1, 0x4A
+ adds r1, r2, r1
+ movs r0, 0
+ movs r2, 0x3C
+ bl SendBlock
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025316
+ ldr r0, [r5]
+ strb r4, [r0, 0x8]
+ ldr r1, [r5]
+ b _080252CC
+_08025274:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025316
+ ldr r1, [r5]
+ b _080252CC
+_08025282:
+ bl sub_8025170
+ cmp r0, 0
+ beq _080252B4
+ movs r4, 0
+ b _080252AA
+_0802528E:
+ ldr r0, [r5]
+ adds r0, 0x4A
+ ldr r1, =gBlockRecvBuffer
+ movs r2, 0x3C
+ bl memcpy
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ strb r0, [r1, 0x8]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+_080252AA:
+ ldr r0, [r5]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r4, r0
+ bcc _0802528E
+_080252B4:
+ ldr r3, =gUnknown_02022C98
+ ldr r2, [r3]
+ adds r1, r2, 0
+ adds r1, 0x24
+ ldrb r0, [r2, 0x8]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bcc _08025316
+ ldrb r0, [r2, 0x14]
+ adds r0, 0x1
+ strb r0, [r2, 0x14]
+ ldr r1, [r3]
+_080252CC:
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08025316
+ .pool
+_080252DC:
+ movs r0, 0x1
+ bl WaitFanfare
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025316
+ ldr r0, =gUnknown_02022C98
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x28
+ ldrb r0, [r0]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r0, r2, 0
+ adds r0, 0x54
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r3, 0x8A
+ lsls r3, 1
+ adds r0, r2, r3
+ strh r1, [r0]
+ movs r0, 0x6
+ bl sub_8026240
+ ldr r0, =0x0000020b
+ movs r1, 0x4
+ bl FadeOutAndPlayNewMapMusic
+_08025316:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025230
+
+ thumb_func_start sub_8025324
+sub_8025324: @ 8025324
+ push {r4,r5,lr}
+ sub sp, 0x4
+ movs r1, 0x1
+ mov r0, sp
+ strb r1, [r0]
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x10]
+ cmp r0, 0x4
+ bls _0802533A
+ b _08025458
+_0802533A:
+ lsls r0, 2
+ ldr r1, =_0802534C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802534C:
+ .4byte _08025360
+ .4byte _08025384
+ .4byte _0802539C
+ .4byte _080253BC
+ .4byte _080253DC
+_08025360:
+ bl sub_802749C
+ movs r0, 0x1
+ bl sub_80289E8
+ bl sub_8028DFC
+ movs r0, 0x1
+ bl sub_8028EC8
+ movs r0, 0x2
+ bl sub_80292E0
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08025448
+ .pool
+_08025384:
+ bl sub_802A770
+ cmp r0, 0
+ bne _08025466
+ movs r0, 0x5
+ bl sub_80292E0
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08025448
+ .pool
+_0802539C:
+ bl sub_802A794
+ mov r1, sp
+ strb r0, [r1]
+ movs r0, 0
+ movs r2, 0x1
+ bl SendBlock
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025466
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08025448
+ .pool
+_080253BC:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025466
+ ldr r3, =gUnknown_02022C98
+ ldr r1, [r3]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ movs r2, 0
+ strb r0, [r1, 0x10]
+ ldr r0, [r3]
+ strb r2, [r0, 0x8]
+ b _08025466
+ .pool
+_080253DC:
+ bl sub_8025170
+ cmp r0, 0
+ beq _08025422
+ movs r2, 0
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcs _08025422
+ adds r3, r1, 0
+ movs r5, 0x86
+ lsls r5, 1
+ ldr r4, =gBlockRecvBuffer
+_080253FA:
+ ldr r1, [r3]
+ adds r1, r2, r1
+ adds r1, r5
+ lsls r0, r2, 8
+ adds r0, r4
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r1, [r3]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ strb r0, [r1, 0x8]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, [r3]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcc _080253FA
+_08025422:
+ ldr r4, =gUnknown_02022C98
+ ldr r2, [r4]
+ adds r1, r2, 0
+ adds r1, 0x24
+ ldrb r0, [r2, 0x8]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bcc _08025466
+ ldrb r0, [r2, 0x14]
+ adds r0, 0x1
+ strb r0, [r2, 0x14]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x77
+ bls _08025466
+ movs r0, 0x6
+ bl sub_80292E0
+ ldr r1, [r4]
+_08025448:
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08025466
+ .pool
+_08025458:
+ bl sub_802A770
+ cmp r0, 0
+ bne _08025466
+ movs r0, 0x7
+ bl sub_8026240
+_08025466:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025324
+
+ thumb_func_start sub_8025470
+sub_8025470: @ 8025470
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ cmp r0, 0x7
+ bls _08025480
+ b _08025606
+_08025480:
+ lsls r0, 2
+ ldr r1, =_08025494
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08025494:
+ .4byte _080254B4
+ .4byte _080254D4
+ .4byte _080254F0
+ .4byte _08025504
+ .4byte _08025520
+ .4byte _0802553C
+ .4byte _08025564
+ .4byte _08025578
+_080254B4:
+ bl sub_8027748
+ ldr r1, =0x00000bb7
+ cmp r0, r1
+ bls _080254C4
+ movs r0, 0x4
+ bl sub_80292E0
+_080254C4:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _080255E8
+ .pool
+_080254D4:
+ bl sub_802A770
+ cmp r0, 0
+ beq _080254DE
+ b _0802563C
+_080254DE:
+ movs r0, 0x3
+ bl sub_80292E0
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _080255E8
+ .pool
+_080254F0:
+ bl sub_8028FCC
+ bl sub_80272E8
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _080255E8
+ .pool
+_08025504:
+ bl sub_802A794
+ lsls r0, 24
+ lsrs r0, 24
+ mov r1, sp
+ strb r0, [r1]
+ cmp r0, 0
+ bne _08025516
+ b _0802563C
+_08025516:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _080255E8
+ .pool
+_08025520:
+ bl sub_802A770
+ cmp r0, 0
+ beq _0802552A
+ b _0802563C
+_0802552A:
+ movs r0, 0x5
+ bl sub_80292E0
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _080255E8
+ .pool
+_0802553C:
+ bl sub_802A794
+ mov r1, sp
+ strb r0, [r1]
+ movs r0, 0
+ movs r2, 0x1
+ bl SendBlock
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802563C
+ ldr r2, =gUnknown_02022C98
+ ldr r1, [r2]
+ movs r0, 0
+ strb r0, [r1, 0x8]
+ ldr r1, [r2]
+ b _080255E8
+ .pool
+_08025564:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802563C
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _080255E8
+ .pool
+_08025578:
+ bl sub_8025170
+ cmp r0, 0
+ beq _080255BE
+ movs r2, 0
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcs _080255BE
+ adds r3, r1, 0
+ movs r5, 0x86
+ lsls r5, 1
+ ldr r4, =gBlockRecvBuffer
+_08025596:
+ ldr r1, [r3]
+ adds r1, r2, r1
+ adds r1, r5
+ lsls r0, r2, 8
+ adds r0, r4
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r1, [r3]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ strb r0, [r1, 0x8]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, [r3]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcc _08025596
+_080255BE:
+ ldr r4, =gUnknown_02022C98
+ ldr r2, [r4]
+ adds r1, r2, 0
+ adds r1, 0x24
+ ldrb r0, [r2, 0x8]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bcc _080255F8
+ ldrb r0, [r2, 0x14]
+ adds r0, 0x1
+ strb r0, [r2, 0x14]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x77
+ bls _0802563C
+ bl sub_8027608
+ movs r0, 0x6
+ bl sub_80292E0
+ ldr r1, [r4]
+_080255E8:
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _0802563C
+ .pool
+_080255F8:
+ bl sub_8027554
+ b _0802563C
+_080255FE:
+ movs r0, 0x8
+ bl sub_8026240
+ b _0802563C
+_08025606:
+ bl sub_802A770
+ cmp r0, 0
+ bne _0802563C
+ movs r2, 0
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcs _08025636
+ movs r4, 0x86
+ lsls r4, 1
+ adds r3, r1, r4
+ adds r1, r0, 0
+_08025624:
+ adds r0, r3, r2
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _080255FE
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, r1
+ bcc _08025624
+_08025636:
+ movs r0, 0xA
+ bl sub_8026240
+_0802563C:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025470
+
+ thumb_func_start sub_8025644
+sub_8025644: @ 8025644
+ push {r4,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ cmp r0, 0x1
+ beq _08025672
+ cmp r0, 0x1
+ bgt _08025660
+ cmp r0, 0
+ beq _08025666
+ b _08025692
+ .pool
+_08025660:
+ cmp r0, 0x2
+ beq _0802567C
+ b _08025692
+_08025666:
+ bl sub_800AC34
+ movs r0, 0x7
+ bl sub_80292E0
+ b _08025688
+_08025672:
+ bl sub_802A770
+ cmp r0, 0
+ bne _080256A0
+ b _08025688
+_0802567C:
+ bl sub_802A794
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bne _080256A0
+_08025688:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _080256A0
+_08025692:
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080256A0
+ movs r0, 0x9
+ bl sub_8026240
+_080256A0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025644
+
+ thumb_func_start sub_80256AC
+sub_80256AC: @ 80256AC
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ ldrb r1, [r0, 0x10]
+ cmp r1, 0x1
+ beq _080256E0
+ cmp r1, 0x1
+ bgt _080256C8
+ cmp r1, 0
+ beq _080256CE
+ b _08025728
+ .pool
+_080256C8:
+ cmp r1, 0x2
+ beq _080256F8
+ b _08025728
+_080256CE:
+ movs r0, 0x1
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ b _0802571A
+_080256E0:
+ bl UpdatePaletteFade
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0802574C
+ b _0802571A
+ .pool
+_080256F8:
+ bl sub_8028B80
+ bl sub_80287E4
+ ldr r0, [r4]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ bl sub_8028614
+ bl sub_8028E84
+ ldr r1, =gUnknown_03000DB0
+ movs r0, 0x1
+ str r0, [r1]
+ movs r0, 0x8
+ bl sub_80292E0
+_0802571A:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _0802574C
+ .pool
+_08025728:
+ bl sub_802A770
+ cmp r0, 0
+ bne _0802574C
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl SetMainCallback2
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x4]
+ bl DestroyTask
+ ldr r0, [r4]
+ bl Free
+ bl FreeAllWindowBuffers
+_0802574C:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80256AC
+
+ thumb_func_start sub_8025758
+sub_8025758: @ 8025758
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r4, =gUnknown_02022C98
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ cmp r0, 0x6
+ bls _08025768
+ b _0802585C
+_08025768:
+ lsls r0, 2
+ ldr r1, =_0802577C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802577C:
+ .4byte _08025798
+ .4byte _08025838
+ .4byte _080257B0
+ .4byte _08025802
+ .4byte _08025808
+ .4byte _08025818
+ .4byte _08025838
+_08025798:
+ movs r0, 0x9
+ bl sub_80292E0
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ b _08025848
+_080257B0:
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ b _08025848
+_08025802:
+ bl StopMapMusic
+ b _08025848
+_08025808:
+ ldr r0, =0x0000021e
+ bl PlayNewMapMusic
+ bl sub_8028E4C
+ b _08025848
+ .pool
+_08025818:
+ movs r4, 0x1
+ negs r4, r4
+ adds r0, r4, 0
+ movs r1, 0x10
+ movs r2, 0
+ bl BlendPalettes
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ b _08025848
+_08025838:
+ bl UpdatePaletteFade
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0802588C
+_08025848:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _0802588C
+ .pool
+_0802585C:
+ ldrb r0, [r1, 0x4]
+ bl DestroyTask
+ ldr r0, =sub_802589C
+ bl sub_802621C
+ bl sub_802903C
+ ldr r0, [r4]
+ bl sub_8024A30
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08025882
+ ldr r0, [r4]
+ adds r0, 0x24
+ movs r1, 0x1
+ strb r1, [r0]
+_08025882:
+ bl sub_80273F0
+ movs r0, 0
+ bl sub_8028EC8
+_0802588C:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025758
+
+ thumb_func_start sub_802589C
+sub_802589C: @ 802589C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ ldrb r0, [r0, 0x10]
+ adds r4, r1, 0
+ cmp r0, 0x1
+ beq _080258C8
+ cmp r0, 0x1
+ bgt _080258BC
+ cmp r0, 0
+ beq _080258C2
+ b _080258E0
+ .pool
+_080258BC:
+ cmp r0, 0x2
+ beq _080258CE
+ b _080258E0
+_080258C2:
+ bl sub_8026264
+ b _080258D2
+_080258C8:
+ bl sub_80286E4
+ b _080258D6
+_080258CE:
+ bl sub_8028828
+_080258D2:
+ cmp r0, 0x1
+ bne _08025904
+_080258D6:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08025904
+_080258E0:
+ ldr r0, [r4]
+ adds r0, 0x20
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080258F8
+ ldr r0, =sub_8024D4C
+ bl sub_802621C
+ b _080258FE
+ .pool
+_080258F8:
+ ldr r0, =sub_8024D84
+ bl sub_802621C
+_080258FE:
+ adds r0, r5, 0
+ bl DestroyTask
+_08025904:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802589C
+
+ thumb_func_start sub_8025910
+sub_8025910: @ 8025910
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r5, r0, r1
+ movs r0, 0
+ ldrsh r4, [r5, r0]
+ cmp r4, 0x1
+ beq _0802596C
+ cmp r4, 0x1
+ bgt _08025938
+ cmp r4, 0
+ beq _0802593E
+ b _080259E8
+ .pool
+_08025938:
+ cmp r4, 0x2
+ beq _0802597E
+ b _080259E8
+_0802593E:
+ ldr r6, =gUnknown_02022C98
+ ldr r1, [r6]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldrb r0, [r0]
+ lsls r0, 2
+ ldr r2, =0x0000318c
+ adds r0, r2
+ adds r1, r0
+ movs r0, 0
+ movs r2, 0x1
+ bl SendBlock
+ lsls r0, 24
+ cmp r0, 0
+ beq _080259E8
+ ldr r0, [r6]
+ strb r4, [r0, 0x8]
+ b _08025976
+ .pool
+_0802596C:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080259E8
+_08025976:
+ ldrh r0, [r5]
+ adds r0, 0x1
+ strh r0, [r5]
+ b _080259E8
+_0802597E:
+ bl sub_8025170
+ cmp r0, 0
+ beq _080259C4
+ movs r2, 0
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcs _080259C4
+ adds r3, r1, 0
+ ldr r5, =gBlockRecvBuffer
+ ldr r4, =0x0000318c
+_0802599A:
+ ldr r0, [r3]
+ lsls r1, r2, 2
+ adds r1, r0
+ adds r1, r4
+ lsls r0, r2, 8
+ adds r0, r5
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r1, [r3]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ strb r0, [r1, 0x8]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, [r3]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcc _0802599A
+_080259C4:
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x24
+ ldrb r0, [r0, 0x8]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bcc _080259E8
+ adds r0, r6, 0
+ bl DestroyTask
+ movs r0, 0x6
+ bl sub_80292E0
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+_080259E8:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025910
+
+ thumb_func_start sub_80259FC
+sub_80259FC: @ 80259FC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x18
+ ldr r6, =gUnknown_02022C98
+ ldr r0, [r6]
+ adds r1, r0, 0
+ adds r1, 0x24
+ ldrb r7, [r1]
+ ldr r2, =0x000031a0
+ adds r1, r0, r2
+ ldr r3, =0x000031cc
+ adds r2, r0, r3
+ ldr r4, =0x00003208
+ adds r3, r0, r4
+ ldr r5, =0x00003244
+ adds r4, r0, r5
+ str r4, [sp]
+ adds r5, 0x3C
+ adds r4, r0, r5
+ str r4, [sp, 0x4]
+ adds r5, 0x3C
+ adds r4, r0, r5
+ str r4, [sp, 0x8]
+ adds r4, r0, 0
+ adds r4, 0x40
+ str r4, [sp, 0xC]
+ movs r5, 0x90
+ lsls r5, 1
+ adds r4, r0, r5
+ str r4, [sp, 0x10]
+ movs r4, 0x96
+ lsls r4, 1
+ adds r0, r4
+ str r0, [sp, 0x14]
+ movs r0, 0
+ bl sub_8028164
+ ldr r1, [r6]
+ ldr r5, =0x000031b0
+ adds r2, r1, r5
+ str r0, [r2]
+ movs r0, 0x94
+ lsls r0, 1
+ adds r1, r0
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r5, 0x1
+ cmp r5, r7
+ bcs _08025AA4
+_08025A60:
+ ldr r1, [r6]
+ adds r0, r1, 0
+ adds r0, 0xA8
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08025A9A
+ lsls r0, r5, 4
+ subs r0, r5
+ lsls r4, r0, 2
+ adds r1, r4, r1
+ ldr r2, =0x000031cc
+ adds r1, r2
+ adds r0, r5, 0
+ bl sub_8028318
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _08025A9A
+ ldr r0, [r6]
+ adds r0, r4
+ ldr r3, =0x000031cc
+ adds r0, r3
+ strb r1, [r0]
+ ldr r0, [r6]
+ movs r4, 0x94
+ lsls r4, 1
+ adds r0, r4
+ strb r1, [r0]
+_08025A9A:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _08025A60
+_08025AA4:
+ ldr r5, =gUnknown_02022C98
+ ldr r1, [r5]
+ movs r6, 0x92
+ lsls r6, 1
+ adds r1, r6
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3B
+ bls _08025B02
+ ldr r1, [r5]
+ movs r2, 0x94
+ lsls r2, 1
+ adds r0, r1, r2
+ ldrb r4, [r0]
+ cmp r4, 0
+ beq _08025AF0
+ bl sub_8011AC8
+ ldr r0, [r5]
+ adds r0, r6
+ movs r1, 0
+ strb r1, [r0]
+ b _08025B02
+ .pool
+_08025AF0:
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ cmp r0, 0x46
+ bls _08025B02
+ bl sub_8011AC8
+ ldr r0, [r5]
+ adds r0, r6
+ strb r4, [r0]
+_08025B02:
+ movs r5, 0
+ cmp r5, r7
+ bcs _08025BF6
+ ldr r3, =0x000031cc
+ mov r12, r3
+ ldr r4, =gUnknown_02022C98
+ mov r8, r4
+_08025B10:
+ mov r6, r8
+ ldr r2, [r6]
+ lsls r0, r5, 4
+ subs r1, r0, r5
+ lsls r1, 2
+ adds r1, r2, r1
+ add r1, r12
+ ldrb r1, [r1]
+ adds r6, r0, 0
+ cmp r1, 0
+ beq _08025B36
+ adds r0, r2, 0
+ adds r0, 0xA8
+ adds r1, r0, r5
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08025B36
+ movs r0, 0x1
+ strb r0, [r1]
+_08025B36:
+ adds r3, r4, 0
+ ldr r1, [r3]
+ adds r0, r1, 0
+ adds r0, 0xA8
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0x3
+ bgt _08025B54
+ cmp r0, 0x1
+ bge _08025B5A
+ b _08025BEC
+ .pool
+_08025B54:
+ cmp r0, 0x4
+ beq _08025BA8
+ b _08025BEC
+_08025B5A:
+ adds r1, 0xB0
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ movs r2, 0
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bls _08025BEC
+ ldr r0, [r3]
+ adds r0, 0xB0
+ adds r0, r5
+ strb r2, [r0]
+ ldr r0, [r3]
+ adds r0, 0xA8
+ adds r0, r5
+ strb r2, [r0]
+ ldr r0, [r3]
+ subs r1, r6, r5
+ lsls r1, 2
+ adds r0, r1
+ add r0, r12
+ strb r2, [r0]
+ ldr r0, [r3]
+ adds r0, r1
+ ldr r6, =0x000031d0
+ adds r0, r6
+ strb r2, [r0]
+ ldr r0, [r3]
+ adds r0, r1
+ ldr r1, =0x000031d4
+ adds r0, r1
+ b _08025BEA
+ .pool
+_08025BA8:
+ adds r1, 0xB0
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ movs r2, 0
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x27
+ bls _08025BEC
+ ldr r0, [r4]
+ adds r0, 0xB0
+ adds r0, r5
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, 0xA8
+ adds r0, r5
+ strb r2, [r0]
+ ldr r0, [r4]
+ subs r1, r6, r5
+ lsls r1, 2
+ adds r0, r1
+ add r0, r12
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, r1
+ ldr r3, =0x000031d0
+ adds r0, r3
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, r1
+ ldr r6, =0x000031d4
+ adds r0, r6
+_08025BEA:
+ strb r2, [r0]
+_08025BEC:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _08025B10
+_08025BF6:
+ add sp, 0x18
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80259FC
+
+ thumb_func_start sub_8025C0C
+sub_8025C0C: @ 8025C0C
+ push {r4-r7,lr}
+ sub sp, 0x18
+ ldr r5, =gUnknown_02022C98
+ ldr r0, [r5]
+ adds r1, r0, 0
+ adds r1, 0x24
+ ldrb r6, [r1]
+ ldr r2, =0x000031a0
+ adds r1, r0, r2
+ ldr r3, =0x000031cc
+ adds r2, r0, r3
+ ldr r4, =0x00003208
+ adds r3, r0, r4
+ ldr r7, =0x00003244
+ adds r4, r0, r7
+ str r4, [sp]
+ adds r7, 0x3C
+ adds r4, r0, r7
+ str r4, [sp, 0x4]
+ adds r7, 0x3C
+ adds r4, r0, r7
+ str r4, [sp, 0x8]
+ adds r4, r0, 0
+ adds r4, 0x40
+ str r4, [sp, 0xC]
+ movs r7, 0x90
+ lsls r7, 1
+ adds r4, r0, r7
+ str r4, [sp, 0x10]
+ movs r4, 0x96
+ lsls r4, 1
+ adds r0, r4
+ str r0, [sp, 0x14]
+ movs r0, 0
+ bl sub_8028164
+ ldr r1, [r5]
+ ldr r7, =0x000031b0
+ adds r2, r1, r7
+ str r0, [r2]
+ movs r0, 0x94
+ lsls r0, 1
+ adds r1, r0
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r4, 0x1
+ cmp r4, r6
+ bcs _08025C9C
+_08025C6C:
+ adds r0, r4, 0
+ bl sub_8028374
+ cmp r0, 0
+ beq _08025C92
+ ldr r0, =gUnknown_02022C98
+ ldr r2, [r0]
+ lsls r1, r4, 2
+ movs r3, 0x98
+ lsls r3, 1
+ adds r0, r2, r3
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+ movs r7, 0x94
+ lsls r7, 1
+ adds r1, r2, r7
+ movs r0, 0
+ strb r0, [r1]
+_08025C92:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r6
+ bcc _08025C6C
+_08025C9C:
+ ldr r5, =gUnknown_02022C98
+ ldr r1, [r5]
+ movs r6, 0x92
+ lsls r6, 1
+ adds r1, r6
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3B
+ bls _08025CFA
+ ldr r1, [r5]
+ movs r2, 0x94
+ lsls r2, 1
+ adds r0, r1, r2
+ ldrb r4, [r0]
+ cmp r4, 0
+ beq _08025CE8
+ bl sub_8011AC8
+ ldr r0, [r5]
+ adds r0, r6
+ movs r1, 0
+ strb r1, [r0]
+ b _08025CFA
+ .pool
+_08025CE8:
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ cmp r0, 0x46
+ bls _08025CFA
+ bl sub_8011AC8
+ ldr r0, [r5]
+ adds r0, r6
+ strb r4, [r0]
+_08025CFA:
+ add sp, 0x18
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025C0C
+
+ thumb_func_start sub_8025D04
+sub_8025D04: @ 8025D04
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022C98
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x18]
+ cmp r0, 0x4
+ beq _08025D40
+ cmp r0, 0x4
+ bgt _08025D20
+ cmp r0, 0x3
+ beq _08025D26
+ b _08025D4A
+ .pool
+_08025D20:
+ cmp r0, 0xB
+ beq _08025D46
+ b _08025D4A
+_08025D26:
+ bl sub_8026BB8
+ adds r4, r0, 0
+ cmp r4, 0x1
+ bne _08025D4A
+ bl sub_8026C28
+ ldr r0, [r5]
+ movs r1, 0x8E
+ lsls r1, 1
+ adds r0, r1
+ str r4, [r0]
+ b _08025D4A
+_08025D40:
+ bl sub_80259FC
+ b _08025D4A
+_08025D46:
+ bl sub_8025C0C
+_08025D4A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025D04
+
+ thumb_func_start sub_8025D50
+sub_8025D50: @ 8025D50
+ push {r4-r6,lr}
+ sub sp, 0x14
+ ldr r0, =gUnknown_02022C98
+ ldr r5, [r0]
+ ldrb r0, [r5, 0x18]
+ cmp r0, 0x4
+ beq _08025D68
+ cmp r0, 0xB
+ beq _08025DB8
+ b _08025DF4
+ .pool
+_08025D68:
+ ldr r1, =0x000032cc
+ adds r0, r5, r1
+ ldr r2, =0x000031cc
+ adds r1, r5, r2
+ ldr r3, =0x00003208
+ adds r2, r5, r3
+ ldr r4, =0x00003244
+ adds r3, r5, r4
+ movs r6, 0xCA
+ lsls r6, 6
+ adds r4, r5, r6
+ str r4, [sp]
+ adds r6, 0x3C
+ adds r4, r5, r6
+ str r4, [sp, 0x4]
+ adds r4, r5, 0
+ adds r4, 0x40
+ ldrb r4, [r4]
+ str r4, [sp, 0x8]
+ movs r6, 0x90
+ lsls r6, 1
+ adds r4, r5, r6
+ ldr r4, [r4]
+ str r4, [sp, 0xC]
+ adds r6, 0xC
+ adds r4, r5, r6
+ ldr r4, [r4]
+ str r4, [sp, 0x10]
+ bl sub_8027E30
+ b _08025DF4
+ .pool
+_08025DB8:
+ ldr r1, =0x000032cc
+ adds r0, r5, r1
+ ldr r2, =0x000031cc
+ adds r1, r5, r2
+ ldr r3, =0x00003208
+ adds r2, r5, r3
+ ldr r4, =0x00003244
+ adds r3, r5, r4
+ movs r6, 0xCA
+ lsls r6, 6
+ adds r4, r5, r6
+ str r4, [sp]
+ adds r6, 0x3C
+ adds r4, r5, r6
+ str r4, [sp, 0x4]
+ adds r4, r5, 0
+ adds r4, 0x40
+ ldrb r4, [r4]
+ str r4, [sp, 0x8]
+ movs r6, 0x90
+ lsls r6, 1
+ adds r4, r5, r6
+ ldr r4, [r4]
+ str r4, [sp, 0xC]
+ adds r6, 0xC
+ adds r4, r5, r6
+ ldr r4, [r4]
+ str r4, [sp, 0x10]
+ bl sub_8027E30
+_08025DF4:
+ add sp, 0x14
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025D50
+
+ thumb_func_start sub_8025E0C
+sub_8025E0C: @ 8025E0C
+ push {r4-r6,lr}
+ sub sp, 0x18
+ ldr r0, =gUnknown_02022C98
+ ldr r5, [r0]
+ ldrb r0, [r5, 0x18]
+ cmp r0, 0x4
+ beq _08025E24
+ cmp r0, 0xB
+ beq _08025E7C
+ b _08025EC0
+ .pool
+_08025E24:
+ adds r0, r5, 0
+ adds r0, 0x28
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ subs r1, r0
+ lsls r1, 2
+ ldr r2, =0x000031a0
+ adds r1, r2
+ adds r1, r5, r1
+ ldr r3, =0x000031cc
+ adds r2, r5, r3
+ ldr r4, =0x00003208
+ adds r3, r5, r4
+ ldr r6, =0x00003244
+ adds r4, r5, r6
+ str r4, [sp]
+ adds r6, 0x3C
+ adds r4, r5, r6
+ str r4, [sp, 0x4]
+ adds r6, 0x3C
+ adds r4, r5, r6
+ str r4, [sp, 0x8]
+ adds r4, r5, 0
+ adds r4, 0x40
+ str r4, [sp, 0xC]
+ movs r6, 0x90
+ lsls r6, 1
+ adds r4, r5, r6
+ str r4, [sp, 0x10]
+ adds r6, 0xC
+ adds r4, r5, r6
+ str r4, [sp, 0x14]
+ bl sub_8028164
+ b _08025EC0
+ .pool
+_08025E7C:
+ adds r0, r5, 0
+ adds r0, 0x28
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ subs r1, r0
+ lsls r1, 2
+ ldr r2, =0x000031a0
+ adds r1, r2
+ adds r1, r5, r1
+ ldr r3, =0x000031cc
+ adds r2, r5, r3
+ ldr r4, =0x00003208
+ adds r3, r5, r4
+ ldr r6, =0x00003244
+ adds r4, r5, r6
+ str r4, [sp]
+ adds r6, 0x3C
+ adds r4, r5, r6
+ str r4, [sp, 0x4]
+ adds r6, 0x3C
+ adds r4, r5, r6
+ str r4, [sp, 0x8]
+ adds r4, r5, 0
+ adds r4, 0x40
+ str r4, [sp, 0xC]
+ movs r6, 0x90
+ lsls r6, 1
+ adds r4, r5, r6
+ str r4, [sp, 0x10]
+ adds r6, 0xC
+ adds r4, r5, r6
+ str r4, [sp, 0x14]
+ bl sub_8028164
+_08025EC0:
+ add sp, 0x18
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025E0C
+
+ thumb_func_start sub_8025ED8
+sub_8025ED8: @ 8025ED8
+ push {r4,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x18]
+ cmp r0, 0x4
+ beq _08025F0E
+ cmp r0, 0x4
+ bgt _08025EF4
+ cmp r0, 0x3
+ beq _08025EFA
+ b _08025F40
+ .pool
+_08025EF4:
+ cmp r0, 0xB
+ beq _08025F24
+ b _08025F40
+_08025EFA:
+ movs r0, 0x1
+ bl sub_8027DD0
+ ldr r0, [r4]
+ movs r1, 0x8E
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+ b _08025F40
+_08025F0E:
+ ldr r2, =0x000032f8
+ adds r1, r2
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08025F40
+ bl sub_80282EC
+ b _08025F40
+ .pool
+_08025F24:
+ movs r2, 0x90
+ lsls r2, 1
+ adds r0, r1, r2
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08025F40
+ adds r2, 0xC
+ adds r0, r1, r2
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08025F40
+ movs r0, 0x1
+ bl sub_8028350
+_08025F40:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025ED8
+
+ thumb_func_start sub_8025F48
+sub_8025F48: @ 8025F48
+ push {r4-r6,lr}
+ ldr r6, =gUnknown_02022C98
+ ldr r2, [r6]
+ adds r0, r2, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r1, r2, r0
+ ldr r3, =0x000031cc
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08025F88
+ bl IsSEPlaying
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _08025FEA
+ ldr r0, [r6]
+ movs r2, 0xA2
+ lsls r2, 1
+ adds r0, r2
+ strb r1, [r0]
+ b _08025FEA
+ .pool
+_08025F88:
+ ldr r3, =0x000031d0
+ adds r0, r1, r3
+ ldrb r4, [r0]
+ cmp r4, 0x1
+ bne _08025FB8
+ movs r1, 0xA2
+ lsls r1, 1
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08025FEA
+ movs r0, 0x1F
+ bl m4aSongNumStop
+ movs r0, 0x1F
+ bl PlaySE
+ ldr r0, [r6]
+ movs r2, 0xA2
+ lsls r2, 1
+ adds r0, r2
+ b _08025FE8
+ .pool
+_08025FB8:
+ ldr r3, =0x000031d4
+ adds r0, r1, r3
+ ldrb r4, [r0]
+ cmp r4, 0x1
+ bne _08025FEA
+ movs r5, 0xA2
+ lsls r5, 1
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08025FEA
+ bl IsSEPlaying
+ lsls r0, 24
+ cmp r0, 0
+ bne _08025FEA
+ movs r0, 0x16
+ bl PlaySE
+ movs r0, 0x1
+ bl sub_80284CC
+ ldr r0, [r6]
+ adds r0, r5
+_08025FE8:
+ strb r4, [r0]
+_08025FEA:
+ ldr r0, =gUnknown_02022C98
+ ldr r2, [r0]
+ movs r5, 0xAA
+ lsls r5, 1
+ adds r1, r2, r5
+ ldrb r1, [r1]
+ adds r4, r0, 0
+ cmp r1, 0
+ bne _0802601C
+ adds r0, r2, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _0802601C
+ bl StopMapMusic
+ ldr r0, [r4]
+ adds r0, r5
+ movs r1, 0x1
+ b _0802603A
+ .pool
+_0802601C:
+ ldr r0, [r4]
+ movs r1, 0xAA
+ lsls r1, 1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0802603C
+ movs r0, 0xB
+ bl PlayFanfareByFanfareNum
+ ldr r0, [r4]
+ movs r2, 0xAA
+ lsls r2, 1
+ adds r0, r2
+ movs r1, 0x2
+_0802603A:
+ strb r1, [r0]
+_0802603C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025F48
+
+ thumb_func_start sub_8026044
+sub_8026044: @ 8026044
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r6, =gUnknown_02022C98
+ ldr r2, [r6]
+ adds r0, r2, 0
+ adds r0, 0x44
+ ldrb r0, [r0]
+ mov r8, r0
+ adds r0, r2, 0
+ adds r0, 0x48
+ ldrb r7, [r0]
+ subs r0, 0x20
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r1, r2, r0
+ ldr r3, =0x000031cc
+ adds r0, r1, r3
+ ldrb r3, [r0]
+ cmp r3, 0
+ bne _0802609C
+ ldr r4, =0x000031d0
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _080260FE
+ adds r4, 0x4
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _080260FE
+ movs r1, 0xA2
+ lsls r1, 1
+ adds r0, r2, r1
+ strb r3, [r0]
+ b _080260FE
+ .pool
+_0802609C:
+ ldr r3, =0x000031d0
+ adds r0, r1, r3
+ ldrb r4, [r0]
+ cmp r4, 0x1
+ bne _080260CC
+ movs r1, 0xA2
+ lsls r1, 1
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080260FE
+ movs r0, 0x1F
+ bl m4aSongNumStop
+ movs r0, 0x1F
+ bl PlaySE
+ ldr r0, [r6]
+ movs r3, 0xA2
+ lsls r3, 1
+ adds r0, r3
+ b _080260FC
+ .pool
+_080260CC:
+ ldr r4, =0x000031d4
+ adds r0, r1, r4
+ ldrb r4, [r0]
+ cmp r4, 0x1
+ bne _080260FE
+ movs r5, 0xA2
+ lsls r5, 1
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080260FE
+ bl IsSEPlaying
+ lsls r0, 24
+ cmp r0, 0
+ bne _080260FE
+ movs r0, 0x16
+ bl PlaySE
+ movs r0, 0x1
+ bl sub_80284CC
+ ldr r0, [r6]
+ adds r0, r5
+_080260FC:
+ strb r4, [r0]
+_080260FE:
+ mov r4, r8
+ cmp r4, r7
+ bcs _08026172
+ ldr r5, =gUnknown_02022C98
+_08026106:
+ ldr r2, [r5]
+ adds r0, r2, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ ldr r1, =0x000031a0
+ adds r0, r1
+ adds r0, r2, r0
+ adds r1, r0, 0
+ adds r1, 0x14
+ adds r0, 0x1F
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _0802615C
+ movs r3, 0xA4
+ lsls r3, 1
+ adds r0, r2, r3
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08026168
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ adds r0, 0x4A
+ bl PlaySE
+ ldr r0, [r5]
+ movs r1, 0xA4
+ lsls r1, 1
+ adds r0, r1
+ adds r0, r4
+ movs r1, 0x1
+ b _08026166
+ .pool
+_0802615C:
+ movs r3, 0xA4
+ lsls r3, 1
+ adds r0, r2, r3
+ adds r0, r4
+ movs r1, 0
+_08026166:
+ strb r1, [r0]
+_08026168:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r7
+ bcc _08026106
+_08026172:
+ ldr r0, =gUnknown_02022C98
+ ldr r2, [r0]
+ movs r5, 0xAA
+ lsls r5, 1
+ adds r1, r2, r5
+ ldrb r1, [r1]
+ adds r4, r0, 0
+ cmp r1, 0
+ bne _080261A0
+ adds r0, r2, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _080261A0
+ bl StopMapMusic
+ ldr r0, [r4]
+ adds r0, r5
+ movs r1, 0x1
+ b _080261BE
+ .pool
+_080261A0:
+ ldr r0, [r4]
+ movs r1, 0xAA
+ lsls r1, 1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080261C0
+ movs r0, 0xB
+ bl PlayFanfareByFanfareNum
+ ldr r0, [r4]
+ movs r3, 0xAA
+ lsls r3, 1
+ adds r0, r3
+ movs r1, 0x2
+_080261BE:
+ strb r1, [r0]
+_080261C0:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026044
+
+ thumb_func_start sub_80261CC
+sub_80261CC: @ 80261CC
+ push {lr}
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80261CC
+
+ thumb_func_start sub_80261E4
+sub_80261E4: @ 80261E4
+ push {lr}
+ bl TransferPlttBuffer
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80261E4
+
+ thumb_func_start sub_80261F8
+sub_80261F8: @ 80261F8
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r0, r1, 0
+ bl IsMonShiny
+ strb r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80261F8
+
+ thumb_func_start sub_802620C
+sub_802620C: @ 802620C
+ push {lr}
+ lsls r1, 24
+ lsrs r1, 24
+ bl CreateTask
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802620C
+
+ thumb_func_start sub_802621C
+sub_802621C: @ 802621C
+ push {lr}
+ movs r1, 0x1
+ bl CreateTask
+ ldr r1, =gUnknown_02022C98
+ ldr r3, [r1]
+ movs r2, 0
+ strb r0, [r3, 0x4]
+ ldr r0, [r1]
+ strb r2, [r0, 0x10]
+ ldr r0, [r1]
+ strb r2, [r0, 0xC]
+ ldr r0, [r1]
+ strb r2, [r0, 0x14]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802621C
+
+ thumb_func_start sub_8026240
+sub_8026240: @ 8026240
+ push {r4,lr}
+ ldr r2, =gUnknown_02022C98
+ ldr r1, [r2]
+ ldrb r3, [r1, 0x18]
+ movs r4, 0
+ strb r3, [r1, 0x1C]
+ ldr r1, [r2]
+ strb r0, [r1, 0x18]
+ ldr r0, [r2]
+ strb r4, [r0, 0x10]
+ ldr r0, [r2]
+ strb r4, [r0, 0x14]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026240
+
+ thumb_func_start sub_8026264
+sub_8026264: @ 8026264
+ push {r4,lr}
+ ldr r3, =gUnknown_02022C98
+ ldr r1, [r3]
+ ldrb r0, [r1, 0x14]
+ lsrs r2, r0, 2
+ adds r0, 0x1
+ strb r0, [r1, 0x14]
+ cmp r2, 0
+ beq _080262B8
+ ldr r3, [r3]
+ ldrb r0, [r3, 0x14]
+ movs r1, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _080262B8
+ ldr r1, =gUnknown_082F7A94
+ adds r0, r3, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ subs r0, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcc _080262A0
+ movs r0, 0x1
+ b _080262BA
+ .pool
+_080262A0:
+ lsls r4, r2, 3
+ adds r1, r4, 0
+ movs r0, 0x14
+ bl SetGpuReg
+ negs r4, r4
+ lsls r4, 16
+ lsrs r4, 16
+ movs r0, 0x18
+ adds r1, r4, 0
+ bl SetGpuReg
+_080262B8:
+ movs r0, 0
+_080262BA:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026264
+
+ thumb_func_start sub_80262C0
+sub_80262C0: @ 80262C0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r2, =gUnknown_02022C98
+ ldr r0, [r2]
+ adds r1, r0, 0
+ adds r1, 0x44
+ adds r0, 0x48
+ ldrb r5, [r0]
+ ldrb r1, [r1]
+ cmp r1, r5
+ bcs _0802630C
+ mov r8, r2
+ ldr r0, =0x000032e0
+ mov r12, r0
+ movs r7, 0
+ movs r6, 0x1
+_080262E2:
+ mov r2, r8
+ ldr r0, [r2]
+ mov r2, r12
+ adds r4, r0, r2
+ ldr r2, =0x000032eb
+ adds r0, r2
+ adds r2, r0, r1
+ movs r3, 0
+ adds r0, r1, 0
+ ands r0, r6
+ cmp r0, 0
+ bne _080262FC
+ movs r3, 0x1
+_080262FC:
+ strb r3, [r2]
+ adds r0, r4, r1
+ strb r7, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, r5
+ bcc _080262E2
+_0802630C:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80262C0
+
+ thumb_func_start sub_8026324
+sub_8026324: @ 8026324
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x44
+ ldrb r0, [r0]
+ str r0, [sp]
+ adds r0, r1, 0
+ adds r0, 0x48
+ ldrb r0, [r0]
+ str r0, [sp, 0x4]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ str r0, [sp, 0x8]
+ adds r0, r1, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _08026358
+ b _08026614
+_08026358:
+ movs r6, 0
+ ldr r0, [sp, 0x8]
+ cmp r6, r0
+ bcs _08026440
+_08026360:
+ ldr r3, =gUnknown_02022C98
+ lsls r0, r6, 4
+ subs r1, r0, r6
+ lsls r1, 2
+ ldr r2, [r3]
+ adds r1, r2
+ ldr r4, =0x000031cc
+ adds r4, r1
+ mov r8, r4
+ ldrb r1, [r4]
+ mov r9, r0
+ adds r0, r6, 0x1
+ str r0, [sp, 0xC]
+ cmp r1, 0
+ beq _08026434
+ adds r0, r2, 0
+ adds r0, 0xA8
+ adds r0, r6
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _08026434
+ ldr r1, [sp]
+ mov r10, r1
+ ldr r2, [sp, 0x4]
+ cmp r10, r2
+ bcs _08026434
+ adds r7, r3, 0
+_08026396:
+ ldr r0, =gUnknown_082F449C
+ add r0, r10
+ ldrb r5, [r0]
+ ldr r1, [r7]
+ lsls r4, r5, 1
+ adds r0, r1, 0
+ adds r0, 0xF4
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, r6
+ beq _08026434
+ adds r0, r1, 0
+ adds r0, 0xF5
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, r6
+ beq _08026434
+ mov r0, r8
+ ldrb r1, [r0]
+ adds r0, r6, 0
+ adds r2, r5, 0
+ bl sub_8026634
+ cmp r0, 0x1
+ bne _08026410
+ movs r2, 0
+ ldr r3, =gUnknown_02022C98
+ mov r8, r4
+_080263CE:
+ ldr r0, [r3]
+ mov r4, r8
+ adds r1, r2, r4
+ adds r0, 0xF4
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0xFF
+ bne _08026404
+ strb r6, [r1]
+ ldr r0, [r3]
+ adds r0, 0xA8
+ adds r0, r6
+ movs r1, 0x2
+ strb r1, [r0]
+ ldr r0, [r3]
+ adds r0, 0xC4
+ adds r0, r5
+ movs r1, 0x1
+ strb r1, [r0]
+ b _08026434
+ .pool
+_08026404:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x1
+ bls _080263CE
+ b _08026434
+_08026410:
+ ldr r0, [r7]
+ mov r2, r9
+ subs r1, r2, r6
+ lsls r1, 2
+ adds r0, r1
+ ldr r4, =0x000031d4
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08026434
+ mov r0, r10
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ ldr r0, [sp, 0x4]
+ cmp r10, r0
+ bcc _08026396
+_08026434:
+ ldr r1, [sp, 0xC]
+ lsls r0, r1, 24
+ lsrs r6, r0, 24
+ ldr r2, [sp, 0x8]
+ cmp r6, r2
+ bcc _08026360
+_08026440:
+ ldr r4, [sp]
+ mov r10, r4
+ ldr r0, [sp, 0x4]
+ cmp r10, r0
+ bcc _0802644C
+ b _08026614
+_0802644C:
+ ldr r1, =gUnknown_02022C98
+ mov r9, r1
+_08026450:
+ movs r6, 0xFF
+ ldr r0, =gUnknown_082F449C
+ add r0, r10
+ ldrb r5, [r0]
+ mov r2, r9
+ ldr r0, [r2]
+ adds r0, 0xC4
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08026468
+ b _08026602
+_08026468:
+ adds r0, r5, 0
+ bl sub_8026D8C
+ mov r1, r9
+ ldr r4, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r4, 0
+ adds r1, 0x90
+ adds r1, r0
+ ldrb r0, [r1]
+ movs r1, 0x7
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x1
+ bls _0802648E
+ movs r3, 0x2
+_0802648E:
+ ldr r2, =gUnknown_082F7A88
+ ldr r0, =0x000031b4
+ adds r1, r4, r0
+ adds r1, r5
+ lsls r0, r3, 1
+ adds r0, r3
+ ldrb r1, [r1]
+ adds r0, r1
+ adds r0, r2
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ adds r0, 0xD0
+ adds r0, r5
+ ldrb r0, [r0]
+ subs r2, r1, r0
+ cmp r2, 0x5
+ bgt _080264BC
+ adds r1, r4, 0
+ adds r1, 0x9C
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, r2
+ strb r0, [r1]
+_080264BC:
+ mov r2, r9
+ ldr r1, [r2]
+ adds r1, 0x9C
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ movs r2, 0
+ strb r0, [r1]
+ movs r4, 0xFF
+ ands r0, r4
+ cmp r0, 0x5
+ bhi _080264D6
+ b _08026602
+_080264D6:
+ mov r1, r9
+ ldr r0, [r1]
+ adds r0, 0x9C
+ adds r0, r5
+ strb r2, [r0]
+ ldr r3, [r1]
+ lsls r1, r5, 1
+ adds r0, r3, 0
+ adds r0, 0xF4
+ adds r2, r0, r1
+ ldrb r0, [r2]
+ mov r8, r1
+ cmp r0, 0xFF
+ bne _08026518
+ adds r0, r3, 0
+ adds r0, 0xF5
+ add r0, r8
+ ldrb r0, [r0]
+ cmp r0, 0xFF
+ bne _08026500
+ b _08026602
+_08026500:
+ b _08026528
+ .pool
+_08026518:
+ adds r0, r3, 0
+ adds r0, 0xF5
+ add r0, r8
+ ldrb r0, [r0]
+ cmp r0, 0xFF
+ bne _08026528
+ ldrb r4, [r2]
+ b _0802654E
+_08026528:
+ mov r2, r9
+ ldr r1, [r2]
+ adds r0, r1, 0
+ adds r0, 0xF4
+ add r0, r8
+ ldrb r7, [r0]
+ adds r1, 0xF5
+ add r1, r8
+ ldrb r6, [r1]
+ bl Random
+ movs r1, 0x1
+ ands r1, r0
+ cmp r1, 0
+ bne _0802654A
+ adds r4, r7, 0
+ b _0802654E
+_0802654A:
+ adds r4, r6, 0
+ adds r6, r7, 0
+_0802654E:
+ mov r1, r9
+ ldr r0, [r1]
+ ldr r2, =0x000032eb
+ adds r0, r2
+ adds r0, r5
+ movs r1, 0x7
+ strb r1, [r0]
+ mov r1, r9
+ ldr r0, [r1]
+ adds r0, 0xC4
+ adds r0, r5
+ movs r1, 0x2
+ strb r1, [r0]
+ mov r2, r9
+ ldr r0, [r2]
+ adds r0, 0xA8
+ adds r0, r4
+ movs r1, 0x3
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, 0xB8
+ adds r0, r5
+ strb r4, [r0]
+ ldr r1, [r2]
+ lsls r0, r4, 4
+ subs r0, r4
+ lsls r0, 2
+ adds r1, r0
+ ldr r2, =0x000031d0
+ adds r1, r2
+ movs r0, 0x1
+ strb r0, [r1]
+ mov r2, r9
+ ldr r1, [r2]
+ lsls r0, r6, 4
+ subs r0, r6
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, =0x000031d4
+ adds r1, r0
+ movs r2, 0x1
+ strb r2, [r1]
+ mov r0, r9
+ ldr r1, [r0]
+ lsls r0, r4, 1
+ adds r1, 0x86
+ adds r1, r0
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ movs r0, 0
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl sub_8026F1C
+ movs r0, 0x1
+ bl sub_8027234
+ adds r0, r4, 0
+ bl sub_8026D1C
+ mov r1, r9
+ ldr r0, [r1]
+ adds r1, r0, 0
+ adds r1, 0xE8
+ adds r1, r5
+ ldr r2, =0x000032e0
+ adds r0, r2
+ adds r0, r5
+ ldrb r0, [r0]
+ strb r0, [r1]
+ mov r4, r9
+ ldr r0, [r4]
+ adds r0, r2
+ adds r0, r5
+ movs r1, 0x3
+ strb r1, [r0]
+ ldr r1, [r4]
+ adds r1, 0xF4
+ add r1, r8
+ ldrb r0, [r1]
+ movs r2, 0xFF
+ orrs r0, r2
+ strb r0, [r1]
+ ldr r1, [r4]
+ adds r1, 0xF5
+ add r1, r8
+ ldrb r0, [r1]
+ orrs r0, r2
+ strb r0, [r1]
+_08026602:
+ mov r0, r10
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ ldr r4, [sp, 0x4]
+ cmp r10, r4
+ bcs _08026614
+ b _08026450
+_08026614:
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026324
+
+ thumb_func_start sub_8026634
+sub_8026634: @ 8026634
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 24
+ lsrs r3, r1, 24
+ lsls r2, 24
+ lsrs r6, r2, 24
+ movs r7, 0
+ ldr r2, =gUnknown_02022C98
+ ldr r1, [r2]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, =0x000032e0
+ adds r1, r0
+ mov r12, r2
+ cmp r3, 0x2
+ beq _08026670
+ cmp r3, 0x2
+ bgt _08026676
+ cmp r3, 0x1
+ beq _08026674
+ b _08026676
+ .pool
+_08026670:
+ movs r7, 0x1
+ b _08026676
+_08026674:
+ movs r7, 0x2
+_08026676:
+ adds r0, r1, 0
+ adds r0, 0xB
+ adds r0, r6
+ ldrb r0, [r0]
+ subs r0, 0x6
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _080266D4
+ ldr r0, =gUnknown_082F449C+0x113
+ lsls r1, r4, 1
+ adds r1, r4
+ adds r1, r7, r1
+ lsls r2, r5, 4
+ subs r2, r5
+ adds r1, r2
+ adds r1, r0
+ ldrb r1, [r1]
+ cmp r6, r1
+ bne _0802670A
+ mov r0, r12
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0xC4
+ adds r0, r6
+ ldrb r0, [r0]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _080266D0
+ lsls r0, r4, 4
+ subs r0, r4
+ lsls r0, 2
+ adds r0, r1, r0
+ ldr r1, =0x000031d4
+ adds r0, r1
+ movs r1, 0x1
+ strb r1, [r0]
+ b _0802670A
+ .pool
+_080266D0:
+ movs r0, 0x1
+ b _0802670C
+_080266D4:
+ ldr r0, =gUnknown_082F449C+0x113
+ lsls r1, r4, 1
+ adds r1, r4
+ adds r1, r7, r1
+ lsls r2, r5, 4
+ subs r2, r5
+ adds r1, r2
+ adds r1, r0
+ ldrb r1, [r1]
+ cmp r6, r1
+ bne _0802670A
+ mov r1, r12
+ ldr r0, [r1]
+ adds r0, 0xA8
+ adds r0, r4
+ movs r1, 0x4
+ strb r1, [r0]
+ mov r0, r12
+ ldr r1, [r0]
+ lsls r0, r4, 4
+ subs r0, r4
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, =0x000031d4
+ adds r1, r0
+ movs r0, 0x1
+ strb r0, [r1]
+_0802670A:
+ movs r0, 0
+_0802670C:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8026634
+
+ thumb_func_start sub_802671C
+sub_802671C: @ 802671C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r2, =gUnknown_02022C98
+ ldr r4, [r2]
+ adds r0, r4, 0
+ adds r0, 0x44
+ ldrb r1, [r0]
+ adds r0, 0x4
+ ldrb r0, [r0]
+ mov r9, r0
+ movs r3, 0
+ mov r10, r3
+ movs r5, 0x90
+ lsls r5, 1
+ adds r0, r4, r5
+ str r3, [r0]
+ adds r5, r1, 0
+ mov r0, r9
+ subs r0, 0x1
+ cmp r5, r0
+ blt _0802674E
+ b _08026974
+_0802674E:
+ mov r8, r2
+_08026750:
+ mov r0, r8
+ ldr r4, [r0]
+ adds r0, r4, 0
+ adds r0, 0xC4
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bls _08026762
+ b _0802686C
+_08026762:
+ movs r1, 0x90
+ lsls r1, 1
+ adds r0, r4, r1
+ movs r2, 0x1
+ str r2, [r0]
+ ldr r1, =0x000032eb
+ adds r0, r4, r1
+ adds r6, r0, r5
+ ldrb r0, [r6]
+ cmp r0, 0x9
+ bls _080267FC
+ movs r7, 0
+ movs r0, 0xA
+ strb r0, [r6]
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, 0xC4
+ adds r0, r5
+ movs r1, 0x3
+ strb r1, [r0]
+ mov r1, r8
+ ldr r0, [r1]
+ movs r6, 0xA4
+ lsls r6, 1
+ adds r0, r6
+ adds r1, r0, r5
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _080267AC
+ strb r2, [r1]
+ ldr r2, =0x000032e0
+ adds r0, r4, r2
+ adds r0, r5
+ ldrb r0, [r0]
+ adds r0, 0x4A
+ bl PlaySE
+_080267AC:
+ mov r0, r8
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _080267C2
+ mov r2, r10
+ cmp r2, 0x1
+ beq _080267C2
+ b _08026964
+_080267C2:
+ movs r0, 0x1
+ mov r10, r0
+ adds r0, r1, r6
+ adds r0, r5
+ strb r7, [r0]
+ mov r1, r8
+ ldr r0, [r1]
+ adds r1, r0, 0
+ adds r1, 0x40
+ ldrb r0, [r1]
+ cmp r0, 0x9
+ bhi _080267DE
+ adds r0, 0x1
+ strb r0, [r1]
+_080267DE:
+ movs r0, 0x3
+ adds r1, r5, 0
+ movs r2, 0
+ bl sub_8026F1C
+ movs r0, 0
+ bl sub_8027234
+ b _08026964
+ .pool
+_080267FC:
+ adds r0, r5, 0
+ bl sub_8026D8C
+ mov r2, r8
+ ldr r7, [r2]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r7, 0
+ adds r1, 0x90
+ adds r1, r0
+ ldrb r0, [r1]
+ movs r1, 0x7
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x1
+ bls _08026822
+ movs r3, 0x2
+_08026822:
+ ldr r2, =gUnknown_082F7A88
+ ldr r0, =0x000032e0
+ adds r1, r4, r0
+ adds r1, r5
+ lsls r0, r3, 1
+ adds r0, r3
+ ldrb r1, [r1]
+ adds r0, r1
+ adds r0, r2
+ ldrb r2, [r0]
+ adds r1, r7, 0
+ adds r1, 0xD0
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ movs r3, 0
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, r2
+ bcc _0802685C
+ ldrb r0, [r6]
+ adds r0, 0x1
+ strb r0, [r6]
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, 0xD0
+ adds r0, r5
+ strb r3, [r0]
+_0802685C:
+ bl sub_8026324
+ b _08026964
+ .pool
+_0802686C:
+ cmp r0, 0x2
+ bne _080268F4
+ movs r2, 0x90
+ lsls r2, 1
+ adds r0, r4, r2
+ movs r6, 0x1
+ str r6, [r0]
+ adds r1, r4, 0
+ adds r1, 0xDC
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ movs r3, 0
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x13
+ bls _08026964
+ mov r0, r8
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0xB8
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, r0
+ ldr r1, =0x000031d0
+ adds r2, r1
+ strb r3, [r2]
+ mov r2, r8
+ ldr r0, [r2]
+ adds r0, 0xDC
+ adds r0, r5
+ strb r3, [r0]
+ ldr r0, [r2]
+ adds r0, 0xD0
+ adds r0, r5
+ strb r3, [r0]
+ ldr r0, [r2]
+ adds r0, 0xC4
+ adds r0, r5
+ strb r3, [r0]
+ ldr r1, =0x000032eb
+ adds r0, r4, r1
+ adds r0, r5
+ strb r6, [r0]
+ adds r0, r5, 0
+ bl sub_8026D8C
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r5, 0
+ bl sub_8026DB0
+ ldr r2, =0x000032e0
+ adds r1, r4, r2
+ adds r1, r5
+ strb r0, [r1]
+ b _08026964
+ .pool
+_080268F4:
+ cmp r0, 0x3
+ bne _08026964
+ adds r1, r4, 0
+ adds r1, 0xDC
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ movs r2, 0
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x13
+ bls _08026964
+ mov r0, r8
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bhi _08026964
+ adds r0, r1, 0
+ adds r0, 0xDC
+ adds r0, r5
+ strb r2, [r0]
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, 0xD0
+ adds r0, r5
+ strb r2, [r0]
+ ldr r0, [r1]
+ adds r0, 0xC4
+ adds r0, r5
+ strb r2, [r0]
+ ldr r2, =0x000032eb
+ adds r0, r4, r2
+ adds r0, r5
+ movs r1, 0x1
+ strb r1, [r0]
+ mov r0, r8
+ ldr r1, [r0]
+ adds r1, 0xE8
+ adds r1, r5
+ subs r2, 0xB
+ adds r4, r2
+ adds r4, r5
+ ldrb r0, [r4]
+ strb r0, [r1]
+ adds r0, r5, 0
+ bl sub_8026D8C
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r5, 0
+ bl sub_8026DB0
+ strb r0, [r4]
+_08026964:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ mov r0, r9
+ subs r0, 0x1
+ cmp r5, r0
+ bge _08026974
+ b _08026750
+_08026974:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802671C
+
+ thumb_func_start sub_8026988
+sub_8026988: @ 8026988
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r1, r0, 0
+ adds r1, 0x44
+ adds r0, 0x48
+ ldrb r0, [r0]
+ mov r8, r0
+ ldrb r6, [r1]
+ cmp r6, r8
+ bcs _08026A7A
+ ldr r0, =gUnknown_082F449C
+ mov r9, r0
+_080269A8:
+ ldr r0, =gUnknown_02022C98
+ ldr r3, [r0]
+ adds r0, r3, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ ldr r2, =0x000031a0
+ adds r0, r2
+ adds r7, r3, r0
+ movs r0, 0xB
+ adds r2, r1, 0
+ muls r2, r0
+ adds r2, r6, r2
+ adds r3, 0x24
+ ldrb r1, [r3]
+ subs r1, 0x1
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 3
+ subs r0, r1
+ adds r2, r0
+ add r2, r9
+ ldrb r4, [r2]
+ adds r0, r7, 0
+ adds r0, 0x1F
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080269FC
+ adds r0, r6, 0
+ movs r1, 0
+ bl sub_8028BF8
+ b _08026A04
+ .pool
+_080269FC:
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl sub_8028BF8
+_08026A04:
+ adds r0, r7, 0
+ adds r0, 0x1F
+ adds r5, r0, r4
+ ldrb r0, [r5]
+ cmp r0, 0x9
+ bls _08026A30
+ adds r0, r7, 0
+ adds r0, 0x14
+ adds r0, r4
+ ldrb r1, [r0]
+ adds r1, 0x3
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl sub_8028CA4
+ ldrb r1, [r5]
+ lsls r1, 25
+ movs r0, 0xFF
+ lsls r0, 24
+ adds r1, r0
+ b _08026A52
+_08026A30:
+ adds r0, r7, 0
+ adds r0, 0x14
+ adds r3, r0, r4
+ ldrb r0, [r3]
+ cmp r0, 0x3
+ bne _08026A5C
+ movs r0, 0x7
+ strb r0, [r5]
+ adds r0, r6, 0
+ movs r1, 0x6
+ bl sub_8028CA4
+ ldrb r1, [r5]
+ lsls r1, 25
+ movs r2, 0xFF
+ lsls r2, 24
+ adds r1, r2
+_08026A52:
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl sub_8028C7C
+ b _08026A70
+_08026A5C:
+ ldrb r1, [r3]
+ adds r0, r6, 0
+ bl sub_8028CA4
+ ldrb r1, [r5]
+ lsls r1, 25
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl sub_8028C7C
+_08026A70:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, r8
+ bcc _080269A8
+_08026A7A:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026988
+
+ thumb_func_start sub_8026A88
+sub_8026A88: @ 8026A88
+ push {r4-r6,lr}
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ movs r4, 0
+ cmp r4, r5
+ bcs _08026ABA
+ adds r6, r1, 0
+_08026A9A:
+ lsls r0, r4, 4
+ subs r0, r4
+ lsls r0, 2
+ ldr r1, [r6]
+ adds r0, r1
+ ldr r1, =0x000031cc
+ adds r0, r1
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ bl sub_80286B4
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08026A9A
+_08026ABA:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026A88
+
+ thumb_func_start sub_8026AC8
+sub_8026AC8: @ 8026AC8
+ push {r4,r5,lr}
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ movs r4, 0
+ cmp r4, r5
+ bcs _08026AEA
+_08026AD8:
+ adds r0, r4, 0
+ movs r1, 0x4
+ bl sub_80286B4
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08026AD8
+_08026AEA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026AC8
+
+ thumb_func_start sub_8026AF4
+sub_8026AF4: @ 8026AF4
+ push {lr}
+ bl sub_8026988
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _08026B10
+ bl sub_8026AC8
+ b _08026B14
+ .pool
+_08026B10:
+ bl sub_8026A88
+_08026B14:
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x40
+ ldrb r0, [r0]
+ bl sub_80288D4
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026AF4
+
+ thumb_func_start sub_8026B28
+sub_8026B28: @ 8026B28
+ push {lr}
+ bl sub_8026988
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _08026B44
+ bl sub_8026AC8
+ b _08026B48
+ .pool
+_08026B44:
+ bl sub_8026A88
+_08026B48:
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x40
+ ldrb r0, [r0]
+ bl sub_80288D4
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026B28
+
+ thumb_func_start sub_8026B5C
+sub_8026B5C: @ 8026B5C
+ push {lr}
+ adds r3, r1, 0
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x1
+ cmp r0, 0x4
+ bhi _08026BB4
+ lsls r0, 2
+ ldr r1, =_08026B78
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08026B78:
+ .4byte _08026B8C
+ .4byte _08026B94
+ .4byte _08026B9C
+ .4byte _08026BA4
+ .4byte _08026BAC
+_08026B8C:
+ movs r0, 0x4
+ strb r0, [r3]
+ movs r0, 0x7
+ b _08026BB2
+_08026B94:
+ movs r0, 0x3
+ strb r0, [r3]
+ movs r0, 0x8
+ b _08026BB2
+_08026B9C:
+ movs r0, 0x2
+ strb r0, [r3]
+ movs r0, 0x9
+ b _08026BB2
+_08026BA4:
+ movs r0, 0x1
+ strb r0, [r3]
+ movs r0, 0xA
+ b _08026BB2
+_08026BAC:
+ movs r0, 0
+ strb r0, [r3]
+ movs r0, 0xB
+_08026BB2:
+ strb r0, [r2]
+_08026BB4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026B5C
+
+ thumb_func_start sub_8026BB8
+sub_8026BB8: @ 8026BB8
+ push {r4-r6,lr}
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ movs r4, 0x1
+ cmp r4, r5
+ bcs _08026C1E
+ adds r6, r1, 0
+_08026BCA:
+ ldr r0, [r6]
+ movs r1, 0xAC
+ lsls r1, 1
+ adds r0, r1
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08026BEC
+ adds r0, r4, 0
+ bl sub_8027DFC
+ ldr r1, [r6]
+ movs r2, 0xAC
+ lsls r2, 1
+ adds r1, r2
+ adds r1, r4
+ strb r0, [r1]
+_08026BEC:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08026BCA
+ cmp r4, r5
+ bcs _08026C1E
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ movs r2, 0xAC
+ lsls r2, 1
+ adds r1, r0, r2
+_08026C04:
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08026C14
+ movs r0, 0
+ b _08026C20
+ .pool
+_08026C14:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08026C04
+_08026C1E:
+ movs r0, 0x1
+_08026C20:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026BB8
+
+ thumb_func_start sub_8026C28
+sub_8026C28: @ 8026C28
+ push {r4,lr}
+ movs r1, 0
+ ldr r4, =gUnknown_02022C98
+ movs r3, 0xAC
+ lsls r3, 1
+ movs r2, 0
+_08026C34:
+ ldr r0, [r4]
+ adds r0, r3
+ adds r0, r1
+ strb r2, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x4
+ bls _08026C34
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026C28
+
+ thumb_func_start sub_8026C50
+sub_8026C50: @ 8026C50
+ push {r4,lr}
+ ldr r3, =gUnknown_02022C98
+ ldr r1, [r3]
+ adds r2, r1, 0
+ adds r2, 0x40
+ ldrb r0, [r2]
+ cmp r0, 0x9
+ bls _08026C88
+ movs r4, 0x90
+ lsls r4, 1
+ adds r0, r1, r4
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08026C88
+ movs r0, 0xA
+ strb r0, [r2]
+ ldr r0, [r3]
+ movs r1, 0x96
+ lsls r1, 1
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _08026C88
+ movs r0, 0x1
+ b _08026C8A
+ .pool
+_08026C88:
+ movs r0, 0
+_08026C8A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026C50
+
+ thumb_func_start sub_8026C90
+sub_8026C90: @ 8026C90
+ push {r4-r6,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r1, [r4]
+ adds r2, r1, 0
+ adds r2, 0x40
+ ldrb r0, [r2]
+ cmp r0, 0x9
+ bls _08026D14
+ adds r0, r1, 0
+ adds r0, 0x44
+ ldrb r3, [r0]
+ adds r0, 0x4
+ ldrb r5, [r0]
+ movs r0, 0xA
+ strb r0, [r2]
+ ldr r4, [r4]
+ mov r12, r4
+ movs r0, 0x96
+ lsls r0, 1
+ add r0, r12
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _08026D14
+ adds r4, r3, 0
+ cmp r4, r5
+ bcs _08026D04
+ mov r0, r12
+ adds r0, 0x28
+ ldrb r3, [r0]
+ lsls r1, r3, 4
+ subs r1, r3
+ lsls r1, 2
+ ldr r6, =gUnknown_082F449C
+ subs r0, 0x4
+ ldrb r2, [r0]
+ subs r2, 0x1
+ add r1, r12
+ movs r0, 0xB
+ muls r3, r0
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r0, 3
+ subs r2, r0, r2
+ ldr r0, =0x000031bf
+ adds r1, r0
+_08026CEA:
+ adds r0, r4, r3
+ adds r0, r2
+ adds r0, r6
+ ldrb r0, [r0]
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ cmp r0, 0xA
+ bne _08026D14
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08026CEA
+_08026D04:
+ movs r0, 0x1
+ b _08026D16
+ .pool
+_08026D14:
+ movs r0, 0
+_08026D16:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026C90
+
+ thumb_func_start sub_8026D1C
+sub_8026D1C: @ 8026D1C
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r0, =gUnknown_082F7A9C
+ mov r8, r0
+ ldr r0, =gUnknown_02022C98
+ ldr r6, [r0]
+ adds r0, r6, 0
+ adds r0, 0x90
+ adds r0, r5
+ mov r9, r0
+ ldrb r7, [r0]
+ adds r0, r7, 0
+ movs r1, 0x7
+ bl __umodsi3
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ add r4, r8
+ adds r0, r7, 0
+ movs r1, 0x7
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldrb r4, [r4]
+ adds r0, r4
+ lsls r0, 24
+ lsls r5, 1
+ adds r6, 0x86
+ adds r6, r5
+ ldrh r1, [r6]
+ lsrs r0, 24
+ cmp r1, r0
+ bcc _08026D76
+ adds r0, r7, 0x1
+ mov r1, r9
+ strb r0, [r1]
+_08026D76:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026D1C
+
+ thumb_func_start sub_8026D8C
+sub_8026D8C: @ 8026D8C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, =gUnknown_082F449C+0x1AC
+ ldr r1, =gUnknown_02022C98
+ ldr r1, [r1]
+ adds r1, 0x24
+ ldrb r1, [r1]
+ subs r1, 0x1
+ movs r2, 0xB
+ muls r1, r2
+ adds r0, r1
+ adds r0, r3
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_8026D8C
+
+ thumb_func_start sub_8026DB0
+sub_8026DB0: @ 8026DB0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ ldr r4, =gUnknown_02022C98
+ ldr r1, [r4]
+ adds r1, 0x24
+ ldrb r2, [r1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r3, =gUnknown_082F449C+0x15E
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r0, r2, 4
+ subs r0, r2
+ adds r1, r0
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ mov r12, r0
+ adds r0, r3, 0x1
+ adds r0, r1, r0
+ ldrb r7, [r0]
+ adds r3, 0x2
+ adds r1, r3
+ ldrb r1, [r1]
+ mov r8, r1
+ movs r3, 0
+ ldr r1, =gUnknown_082F449C+0x1E3
+ lsls r0, r2, 2
+ adds r2, r0, r2
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08026E18
+ adds r6, r1, 0
+_08026DFE:
+ adds r0, r3, r2
+ adds r0, r6
+ ldrb r0, [r0]
+ cmp r5, r0
+ beq _08026E3C
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r0, r3, r2
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08026DFE
+_08026E18:
+ ldr r0, [r4]
+ adds r0, 0x90
+ mov r1, r12
+ adds r2, r0, r1
+ adds r1, r0, r7
+ ldrb r0, [r2]
+ ldrb r3, [r1]
+ cmp r0, r3
+ bls _08026E46
+ adds r1, r0, 0
+ b _08026E48
+ .pool
+_08026E3C:
+ ldr r0, [r4]
+ adds r0, 0x90
+ adds r0, r7
+ ldrb r0, [r0]
+ b _08026E5A
+_08026E46:
+ ldrb r1, [r1]
+_08026E48:
+ ldr r0, [r4]
+ adds r0, 0x90
+ mov r2, r8
+ adds r4, r0, r2
+ ldrb r0, [r4]
+ cmp r0, r1
+ bls _08026E58
+ adds r1, r0, 0
+_08026E58:
+ adds r0, r1, 0
+_08026E5A:
+ adds r1, r5, 0
+ bl sub_8026E70
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026DB0
+
+ thumb_func_start sub_8026E70
+sub_8026E70: @ 8026E70
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, =gUnknown_02022C98
+ ldr r2, [r2]
+ adds r2, 0xE8
+ adds r2, r1
+ ldrb r4, [r2]
+ movs r1, 0x7
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x6
+ bhi _08026EDE
+ lsls r0, 2
+ ldr r1, =_08026EA4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08026EA4:
+ .4byte _08026EDE
+ .4byte _08026ED6
+ .4byte _08026EE2
+ .4byte _08026EC0
+ .4byte _08026EC6
+ .4byte _08026ECC
+ .4byte _08026ED2
+_08026EC0:
+ cmp r4, 0
+ beq _08026ED6
+ b _08026EDE
+_08026EC6:
+ cmp r4, 0
+ beq _08026EE2
+ b _08026EDE
+_08026ECC:
+ cmp r4, 0x2
+ beq _08026ED6
+ b _08026EE2
+_08026ED2:
+ cmp r4, 0
+ bne _08026EDA
+_08026ED6:
+ movs r0, 0x1
+ b _08026EE4
+_08026EDA:
+ cmp r4, 0x1
+ beq _08026EE2
+_08026EDE:
+ movs r0, 0
+ b _08026EE4
+_08026EE2:
+ movs r0, 0x2
+_08026EE4:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026E70
+
+ thumb_func_start sub_8026EEC
+sub_8026EEC: @ 8026EEC
+ push {r4-r6,lr}
+ movs r6, 0
+ movs r5, 0
+ adds r4, r0, 0
+ b _08026EFE
+_08026EF6:
+ ldrh r0, [r4, 0x6]
+ adds r6, r0
+ adds r4, 0xC
+ adds r5, 0x1
+_08026EFE:
+ bl GetLinkPlayerCount
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r5, r0
+ blt _08026EF6
+ cmp r6, 0xA
+ bgt _08026F12
+ movs r0, 0
+ b _08026F14
+_08026F12:
+ movs r0, 0x1
+_08026F14:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026EEC
+
+ thumb_func_start sub_8026F1C
+sub_8026F1C: @ 8026F1C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ lsls r1, 24
+ lsrs r4, r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r6, =gUnknown_02022C98
+ ldr r1, [r6]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r5, [r0]
+ cmp r3, 0
+ bge _08026F3A
+ b _0802722C
+_08026F3A:
+ cmp r3, 0x2
+ ble _08026F48
+ cmp r3, 0x3
+ beq _08026F78
+ b _0802722C
+ .pool
+_08026F48:
+ ldr r3, =0x000031b4
+ adds r0, r1, r3
+ adds r0, r4
+ ldrb r4, [r0]
+ lsls r4, 1
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r4, r0
+ adds r0, r1, 0
+ adds r0, 0x4A
+ adds r0, r4
+ ldrh r0, [r0]
+ ldr r1, =0x00004e20
+ bl sub_8027A28
+ ldr r1, [r6]
+ adds r1, 0x4A
+ adds r1, r4
+ b _0802722A
+ .pool
+_08026F78:
+ adds r0, r1, 0
+ adds r0, 0x4A
+ bl sub_8026EEC
+ cmp r0, 0
+ beq _08026F86
+ b _0802722C
+_08026F86:
+ cmp r5, 0x3
+ bne _08026F8C
+ b _08027154
+_08026F8C:
+ cmp r5, 0x3
+ bgt _08026F98
+ cmp r5, 0x2
+ bne _08026F96
+ b _080271E8
+_08026F96:
+ b _0802722C
+_08026F98:
+ cmp r5, 0x4
+ bne _08026F9E
+ b _08027090
+_08026F9E:
+ cmp r5, 0x5
+ beq _08026FA4
+ b _0802722C
+_08026FA4:
+ cmp r4, 0x9
+ bls _08026FAA
+ b _0802722C
+_08026FAA:
+ lsls r0, r4, 2
+ ldr r1, =_08026FB8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08026FB8:
+ .4byte _08026FE0
+ .4byte _08026FF8
+ .4byte _08027004
+ .4byte _0802701C
+ .4byte _08027028
+ .4byte _08027040
+ .4byte _0802704C
+ .4byte _08027060
+ .4byte _0802706C
+ .4byte _08027084
+_08026FE0:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x68
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x74
+ b _08027226
+ .pool
+_08026FF8:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x74
+ b _08027226
+ .pool
+_08027004:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x74
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x80
+ b _08027226
+ .pool
+_0802701C:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x80
+ b _08027226
+ .pool
+_08027028:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x80
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x50
+ b _08027226
+ .pool
+_08027040:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x50
+ b _08027226
+ .pool
+_0802704C:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x50
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ b _08027224
+ .pool
+_08027060:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08027224
+ .pool
+_0802706C:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x5C
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x68
+ b _08027226
+ .pool
+_08027084:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x68
+ b _08027226
+ .pool
+_08027090:
+ subs r0, r4, 0x1
+ cmp r0, 0x7
+ bls _08027098
+ b _0802722C
+_08027098:
+ lsls r0, 2
+ ldr r1, =_080270A8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_080270A8:
+ .4byte _080270C8
+ .4byte _080270E0
+ .4byte _080270EC
+ .4byte _08027104
+ .4byte _08027110
+ .4byte _08027124
+ .4byte _08027130
+ .4byte _08027148
+_080270C8:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x68
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x74
+ b _08027226
+ .pool
+_080270E0:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x74
+ b _08027226
+ .pool
+_080270EC:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x74
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x50
+ b _08027226
+ .pool
+_08027104:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x50
+ b _08027226
+ .pool
+_08027110:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x50
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ b _08027224
+ .pool
+_08027124:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08027224
+ .pool
+_08027130:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x5C
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x68
+ b _08027226
+ .pool
+_08027148:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x68
+ b _08027226
+ .pool
+_08027154:
+ subs r0, r4, 0x2
+ cmp r0, 0x5
+ bhi _0802722C
+ lsls r0, 2
+ ldr r1, =_08027168
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08027168:
+ .4byte _08027180
+ .4byte _08027198
+ .4byte _080271A4
+ .4byte _080271BC
+ .4byte _080271C8
+ .4byte _080271DC
+_08027180:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x5C
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x68
+ b _08027226
+ .pool
+_08027198:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x68
+ b _08027226
+ .pool
+_080271A4:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x68
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x50
+ b _08027226
+ .pool
+_080271BC:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x50
+ b _08027226
+ .pool
+_080271C8:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x50
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ b _08027224
+ .pool
+_080271DC:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08027224
+ .pool
+_080271E8:
+ cmp r4, 0x4
+ beq _0802720E
+ cmp r4, 0x4
+ bgt _080271F6
+ cmp r4, 0x3
+ beq _08027200
+ b _0802722C
+_080271F6:
+ cmp r4, 0x5
+ beq _08027214
+ cmp r4, 0x6
+ beq _08027222
+ b _0802722C
+_08027200:
+ ldr r1, [r6]
+ adds r2, r1, 0
+ adds r2, 0x50
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ b _08027224
+_0802720E:
+ ldr r1, [r6]
+ adds r1, 0x50
+ b _08027226
+_08027214:
+ ldr r1, [r6]
+ adds r2, r1, 0
+ adds r2, 0x50
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ b _08027224
+_08027222:
+ ldr r1, [r6]
+_08027224:
+ adds r1, 0x5C
+_08027226:
+ ldrh r0, [r1]
+ adds r0, 0x1
+_0802722A:
+ strh r0, [r1]
+_0802722C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026F1C
+
+ thumb_func_start sub_8027234
+sub_8027234: @ 8027234
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ ldr r4, =gUnknown_02022C98
+ ldr r3, [r4]
+ adds r0, r3, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ bne _0802729E
+ cmp r1, 0x1
+ bne _08027280
+ movs r5, 0x89
+ lsls r5, 1
+ adds r1, r3, r5
+ ldrh r0, [r1]
+ adds r2, r0, 0x1
+ strh r2, [r1]
+ movs r0, 0x8A
+ lsls r0, 1
+ adds r1, r3, r0
+ lsls r0, r2, 16
+ lsrs r0, 16
+ ldrh r3, [r1]
+ cmp r0, r3
+ bls _08027268
+ strh r2, [r1]
+_08027268:
+ ldr r0, [r4]
+ adds r2, r0, r5
+ ldrh r0, [r2]
+ ldr r1, =0x0000270f
+ cmp r0, r1
+ bls _0802729E
+ strh r1, [r2]
+ b _0802729E
+ .pool
+_08027280:
+ movs r2, 0x89
+ lsls r2, 1
+ adds r0, r3, r2
+ movs r5, 0x8A
+ lsls r5, 1
+ adds r1, r3, r5
+ ldrh r0, [r0]
+ ldrh r3, [r1]
+ cmp r0, r3
+ bls _08027296
+ strh r0, [r1]
+_08027296:
+ ldr r0, [r4]
+ adds r0, r2
+ movs r1, 0
+ strh r1, [r0]
+_0802729E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027234
+
+ thumb_func_start sub_80272A4
+sub_80272A4: @ 80272A4
+ push {r4,r5,lr}
+ movs r3, 0
+ ldr r2, =gUnknown_02022C98
+ ldr r0, [r2]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r3, r0
+ bcs _080272DC
+ adds r5, r2, 0
+ movs r4, 0x8A
+ lsls r4, 1
+_080272BA:
+ ldr r2, [r5]
+ lsls r0, r3, 1
+ adds r0, r3
+ lsls r0, 2
+ adds r1, r2, 0
+ adds r1, 0x54
+ adds r1, r0
+ adds r0, r2, r4
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r2, 0x24
+ ldrb r2, [r2]
+ cmp r3, r2
+ bcc _080272BA
+_080272DC:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80272A4
+
+ thumb_func_start sub_80272E8
+sub_80272E8: @ 80272E8
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ movs r5, 0
+ ldr r7, =gUnknown_02022C98
+ movs r4, 0
+ ldr r0, =0x000031bf
+ mov r10, r0
+_080272FC:
+ movs r2, 0
+ lsls r6, r5, 4
+ lsls r1, r5, 1
+ mov r8, r1
+ lsls r0, r5, 3
+ mov r12, r0
+ adds r1, r5, 0x1
+ mov r9, r1
+ subs r0, r6, r5
+ lsls r3, r0, 2
+_08027310:
+ ldr r0, [r7]
+ adds r1, r2, r3
+ add r0, r10
+ adds r0, r1
+ strb r4, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xA
+ bls _08027310
+ ldr r0, [r7]
+ subs r1, r6, r5
+ lsls r1, 2
+ adds r0, r1
+ ldr r2, =0x000031cc
+ adds r0, r2
+ strb r4, [r0]
+ ldr r0, [r7]
+ adds r0, r1
+ ldr r1, =0x000031d0
+ adds r0, r1
+ strb r4, [r0]
+ ldr r0, [r7]
+ adds r0, 0x90
+ adds r0, r5
+ strb r4, [r0]
+ ldr r1, [r7]
+ adds r0, r1, 0
+ adds r0, 0x86
+ add r0, r8
+ strh r4, [r0]
+ add r1, r12
+ ldr r2, =0x00003308
+ adds r1, r2
+ strb r4, [r1]
+ ldr r2, [r7]
+ ldr r1, =0x0000330c
+ adds r0, r2, r1
+ add r0, r12
+ str r4, [r0]
+ mov r0, r8
+ adds r1, r0, r5
+ lsls r1, 2
+ adds r0, r2, 0
+ adds r0, 0x4A
+ adds r0, r1
+ strh r4, [r0]
+ adds r0, r2, 0
+ adds r0, 0x4C
+ adds r0, r1
+ strh r4, [r0]
+ adds r0, r2, 0
+ adds r0, 0x4E
+ adds r0, r1
+ strh r4, [r0]
+ adds r0, r2, 0
+ adds r0, 0x50
+ adds r0, r1
+ strh r4, [r0]
+ adds r0, r2, 0
+ adds r0, 0x52
+ adds r0, r1
+ strh r4, [r0]
+ adds r0, r2, 0
+ adds r0, 0x54
+ adds r0, r1
+ strh r4, [r0]
+ mov r1, r9
+ lsls r0, r1, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x4
+ bls _080272FC
+ ldr r2, =gUnknown_02022C98
+ ldr r0, [r2]
+ movs r1, 0xAA
+ lsls r1, 1
+ adds r0, r1
+ movs r2, 0
+ strb r2, [r0]
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ movs r1, 0x89
+ lsls r1, 1
+ adds r3, r0, r1
+ movs r1, 0
+ strh r2, [r3]
+ adds r0, 0x40
+ strb r1, [r0]
+ bl sub_8026A88
+ bl sub_8026988
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80272E8
+
+ thumb_func_start sub_80273F0
+sub_80273F0: @ 80273F0
+ push {r4,r5,lr}
+ movs r4, 0
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ beq _0802740C
+ cmp r0, 0x5
+ beq _08027410
+ b _08027412
+ .pool
+_0802740C:
+ movs r4, 0x1
+ b _08027412
+_08027410:
+ movs r4, 0x2
+_08027412:
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0xA
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0
+ lsls r1, r4, 2
+ ldr r5, =gUnknown_02022C98
+ ldr r2, =gUnknown_082F7AA4
+ adds r1, r4
+ lsls r1, 1
+ adds r0, r1
+ adds r0, r2
+ ldrb r2, [r0]
+_08027436:
+ ldr r1, [r5]
+ lsls r0, r3, 1
+ adds r0, r3
+ lsls r0, 2
+ adds r1, 0x52
+ adds r1, r0
+ strh r2, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x4
+ bls _08027436
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80273F0
+
+ thumb_func_start sub_802745C
+sub_802745C: @ 802745C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gUnknown_02022C98
+ ldr r2, [r1]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r0, r2, 0
+ adds r0, 0x4A
+ adds r0, r1
+ ldrh r3, [r0]
+ adds r0, r2, 0
+ adds r0, 0x4C
+ adds r0, r1
+ ldrh r0, [r0]
+ adds r2, 0x4E
+ adds r2, r1
+ adds r3, r0
+ ldrh r2, [r2]
+ adds r0, r3, r2
+ ldr r1, =0x0000270f
+ cmp r0, r1
+ bls _0802748E
+ adds r0, r1, 0
+_0802748E:
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802745C
+
+ thumb_func_start sub_802749C
+sub_802749C: @ 802749C
+ push {r4-r6,lr}
+ ldr r5, =gUnknown_02022C98
+ ldr r0, [r5]
+ adds r0, 0x28
+ ldrb r0, [r0]
+ bl sub_802745C
+ ldr r1, =0x0000270f
+ bl sub_8027A38
+ adds r4, r0, 0
+ ldr r0, [r5]
+ adds r0, 0x28
+ ldrb r0, [r0]
+ bl sub_80276C0
+ ldr r1, =0x000f4236
+ bl sub_8027A38
+ adds r2, r0, 0
+ ldr r3, =gSaveBlock2Ptr
+ ldr r0, [r3]
+ movs r6, 0x83
+ lsls r6, 2
+ adds r1, r0, r6
+ ldr r0, [r1]
+ cmp r0, r2
+ bcs _080274D6
+ str r2, [r1]
+_080274D6:
+ ldr r0, [r3]
+ movs r2, 0x84
+ lsls r2, 2
+ adds r1, r0, r2
+ ldrh r0, [r1]
+ cmp r0, r4
+ bcs _080274E6
+ strh r4, [r1]
+_080274E6:
+ ldr r0, [r3]
+ ldr r6, =0x00000212
+ adds r2, r0, r6
+ ldr r0, [r5]
+ movs r1, 0x8A
+ lsls r1, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ ldrh r0, [r2]
+ cmp r0, r1
+ bcs _080274FE
+ strh r1, [r2]
+_080274FE:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802749C
+
+ thumb_func_start sub_8027518
+sub_8027518: @ 8027518
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ adds r0, 0x9B
+ ldrb r6, [r0]
+ movs r3, 0x3
+ adds r5, r1, 0
+ adds r4, r5, 0
+_0802752C:
+ ldr r0, [r4]
+ adds r0, 0x98
+ adds r2, r0, r3
+ subs r1, r3, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ strb r0, [r2]
+ lsls r1, 24
+ lsrs r3, r1, 24
+ cmp r3, 0
+ bne _0802752C
+ ldr r0, [r5]
+ adds r0, 0x98
+ strb r7, [r0]
+ adds r0, r6, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8027518
+
+ thumb_func_start sub_8027554
+sub_8027554: @ 8027554
+ push {r4,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r3, [r4]
+ adds r0, r3, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ adds r0, 0x88
+ adds r2, r0, r1
+ ldrb r0, [r2]
+ cmp r0, 0
+ bne _080275FC
+ ldr r0, =gMain
+ ldrh r2, [r0, 0x2E]
+ movs r0, 0x40
+ ands r0, r2
+ cmp r0, 0
+ beq _08027594
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r3, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ movs r1, 0x2
+ b _080275CA
+ .pool
+_08027594:
+ movs r0, 0x20
+ ands r0, r2
+ cmp r0, 0
+ beq _080275B0
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r3, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ movs r1, 0x3
+ b _080275CA
+ .pool
+_080275B0:
+ movs r0, 0x10
+ ands r0, r2
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0
+ beq _080275E8
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r3, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ movs r1, 0x1
+_080275CA:
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x28
+ adds r0, 0xB0
+ ldrb r1, [r1]
+ adds r0, r1
+ movs r1, 0x6
+ strb r1, [r0]
+ movs r0, 0xD4
+ bl PlaySE
+ b _08027600
+ .pool
+_080275E8:
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r3, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ strb r2, [r0]
+ b _08027600
+ .pool
+_080275FC:
+ subs r0, 0x1
+ strb r0, [r2]
+_08027600:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027554
+
+ thumb_func_start sub_8027608
+sub_8027608: @ 8027608
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldrb r2, [r0]
+ lsls r0, r2, 4
+ subs r0, r2
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, =0x000031cc
+ adds r1, r0
+ movs r0, 0
+ strb r0, [r1]
+ bx lr
+ .pool
+ thumb_func_end sub_8027608
+
+ thumb_func_start sub_802762C
+sub_802762C: @ 802762C
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldrb r2, [r0]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r1, 0x52
+ adds r1, r0
+ ldrh r0, [r1]
+ adds r0, 0x85
+ lsls r0, 16
+ lsrs r0, 16
+ bx lr
+ .pool
+ thumb_func_end sub_802762C
+
+ thumb_func_start sub_8027650
+sub_8027650: @ 8027650
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_8027650
+
+ thumb_func_start sub_8027660
+sub_8027660: @ 8027660
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0802768C
+ ldr r0, =gUnknown_02022C98
+ lsls r1, r2, 4
+ subs r1, r2
+ lsls r1, 2
+ ldr r2, =0x000031a0
+ adds r1, r2
+ ldr r0, [r0]
+ b _08027694
+ .pool
+_0802768C:
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r0, 2
+ ldr r1, =gLinkPlayers + 8
+_08027694:
+ adds r0, r1
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8027660
+
+ thumb_func_start sub_80276A0
+sub_80276A0: @ 80276A0
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ ldr r2, =gUnknown_02022C98
+ ldr r3, [r2]
+ lsrs r1, 23
+ lsls r2, r0, 1
+ adds r2, r0
+ lsls r2, 2
+ adds r1, r2
+ adds r3, 0x4A
+ adds r3, r1
+ ldrh r0, [r3]
+ bx lr
+ .pool
+ thumb_func_end sub_80276A0
+
+ thumb_func_start sub_80276C0
+sub_80276C0: @ 80276C0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r5, 0
+ movs r3, 0
+ ldr r0, =gUnknown_02022C98
+ mov r9, r0
+ ldr r2, =gUnknown_082F7B24
+ mov r10, r2
+ ldr r2, [r0]
+ lsls r1, r4, 1
+ adds r0, r1, r4
+ lsls r0, 2
+ str r0, [sp]
+ adds r6, r2, 0
+ adds r6, 0x4A
+ mov r12, r1
+ mov r8, r10
+_080276EE:
+ lsls r1, r3, 1
+ ldr r7, [sp]
+ adds r0, r1, r7
+ adds r0, r6, r0
+ ldrh r2, [r0]
+ add r1, r8
+ movs r7, 0
+ ldrsh r0, [r1, r7]
+ muls r0, r2
+ adds r5, r0
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x2
+ bls _080276EE
+ mov r0, r9
+ ldr r1, [r0]
+ mov r2, r12
+ adds r0, r2, r4
+ lsls r0, 2
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r1, [r1]
+ mov r3, r10
+ movs r7, 0x6
+ ldrsh r0, [r3, r7]
+ muls r0, r1
+ cmp r5, r0
+ bls _08027734
+ subs r0, r5, r0
+ b _08027736
+ .pool
+_08027734:
+ movs r0, 0
+_08027736:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80276C0
+
+ thumb_func_start sub_8027748
+sub_8027748: @ 8027748
+ push {r4-r6,lr}
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r6, [r0]
+ movs r0, 0
+ bl sub_80276C0
+ adds r5, r0, 0
+ movs r4, 0x1
+ cmp r4, r6
+ bcs _08027776
+_08027760:
+ adds r0, r4, 0
+ bl sub_80276C0
+ cmp r0, r5
+ bls _0802776C
+ adds r5, r0, 0
+_0802776C:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r6
+ bcc _08027760
+_08027776:
+ ldr r1, =0x000f4236
+ adds r0, r5, 0
+ bl sub_8027A38
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8027748
+
+ thumb_func_start sub_802778C
+sub_802778C: @ 802778C
+ push {r4,r5,lr}
+ lsls r0, 24
+ ldr r1, =gUnknown_02022C98
+ ldr r2, [r1]
+ adds r1, r2, 0
+ adds r1, 0x24
+ ldrb r5, [r1]
+ lsrs r4, r0, 23
+ adds r2, 0x4A
+ adds r0, r2, r4
+ ldrh r3, [r0]
+ movs r1, 0
+ cmp r1, r5
+ bcs _080277C4
+_080277A8:
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4, r0
+ adds r0, r2, r0
+ ldrh r0, [r0]
+ cmp r0, r3
+ bls _080277BA
+ adds r3, r0, 0
+_080277BA:
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, r5
+ bcc _080277A8
+_080277C4:
+ adds r0, r3, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802778C
+
+ thumb_func_start sub_80277D0
+sub_80277D0: @ 80277D0
+ push {r4-r7,lr}
+ sub sp, 0x14
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r6, 0x1
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ movs r4, 0
+ cmp r4, r5
+ bcs _080277FE
+_080277E8:
+ adds r0, r4, 0
+ bl sub_80276C0
+ lsls r1, r4, 2
+ add r1, sp
+ str r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _080277E8
+_080277FE:
+ lsls r7, 2
+ mov r12, r7
+ cmp r6, 0
+ beq _08027838
+ subs r7, r5, 0x1
+_08027808:
+ movs r6, 0
+ movs r4, 0
+ cmp r6, r7
+ bge _08027834
+ adds r5, r7, 0
+_08027812:
+ lsls r0, r4, 2
+ mov r2, sp
+ adds r1, r2, r0
+ adds r4, 0x1
+ lsls r0, r4, 2
+ adds r3, r2, r0
+ ldr r0, [r1]
+ ldr r2, [r3]
+ cmp r0, r2
+ bcs _0802782C
+ str r2, [r1]
+ str r0, [r3]
+ movs r6, 0x1
+_0802782C:
+ lsls r0, r4, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ blt _08027812
+_08027834:
+ cmp r6, 0
+ bne _08027808
+_08027838:
+ mov r0, sp
+ add r0, r12
+ ldr r0, [r0]
+ add sp, 0x14
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_80277D0
+
+ thumb_func_start sub_802784C
+sub_802784C: @ 802784C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ movs r0, 0
+ mov r10, r0
+ mov r8, r0
+ mov r9, r0
+ ldr r6, =gUnknown_02022C98
+ ldr r0, [r6]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ bl sub_8027748
+ bl sub_8027748
+ cmp r0, 0
+ bne _080278A0
+ movs r4, 0
+ cmp r9, r5
+ bcs _080278A0
+ adds r2, r6, 0
+ ldr r1, =0x00003308
+ mov r12, r1
+ movs r7, 0
+ movs r6, 0x4
+ ldr r3, =0x0000330c
+_08027884:
+ ldr r0, [r2]
+ lsls r1, r4, 3
+ adds r0, r1
+ add r0, r12
+ strb r6, [r0]
+ ldr r0, [r2]
+ adds r0, r3
+ adds r0, r1
+ str r7, [r0]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08027884
+_080278A0:
+ movs r4, 0
+ cmp r4, r5
+ bcs _080278CA
+_080278A6:
+ adds r0, r4, 0
+ bl sub_80276C0
+ ldr r1, =0x000f4236
+ bl sub_8027A38
+ ldr r1, =gUnknown_02022C98
+ ldr r1, [r1]
+ lsls r2, r4, 3
+ ldr r3, =0x0000330c
+ adds r1, r3
+ adds r1, r2
+ str r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _080278A6
+_080278CA:
+ mov r0, r10
+ bl sub_80277D0
+ adds r6, r0, 0
+ mov r3, r8
+ movs r4, 0
+ cmp r4, r5
+ bcs _08027916
+ ldr r7, =gUnknown_02022C98
+ mov r10, r7
+_080278DE:
+ mov r0, r10
+ ldr r2, [r0]
+ lsls r1, r4, 3
+ ldr r7, =0x0000330c
+ adds r0, r2, r7
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r6, r0
+ bne _0802790C
+ adds r0, r2, r1
+ ldr r1, =0x00003308
+ adds r0, r1
+ strb r3, [r0]
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ mov r0, r9
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+_0802790C:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _080278DE
+_08027916:
+ mov r10, r8
+ cmp r9, r5
+ bcc _080278CA
+ movs r0, 0
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802784C
+
+ thumb_func_start sub_802793C
+sub_802793C: @ 802793C
+ lsls r1, 24
+ ldr r2, =gUnknown_02022C98
+ ldr r2, [r2]
+ lsrs r1, 21
+ ldr r3, =0x00003308
+ adds r2, r3
+ adds r2, r1
+ ldr r1, [r2]
+ ldr r2, [r2, 0x4]
+ str r1, [r0]
+ str r2, [r0, 0x4]
+ bx lr
+ .pool
+ thumb_func_end sub_802793C
+
+ thumb_func_start sub_802795C
+sub_802795C: @ 802795C
+ push {r4-r7,lr}
+ sub sp, 0x14
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r7, 0
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ mov r0, sp
+ movs r1, 0
+ movs r2, 0x14
+ bl memset
+ movs r4, 0
+ cmp r7, r5
+ bcs _08027994
+_0802797E:
+ adds r0, r4, 0
+ bl sub_80276C0
+ lsls r1, r4, 2
+ add r1, sp
+ str r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _0802797E
+_08027994:
+ lsls r0, r6, 2
+ add r0, sp
+ ldr r1, [r0]
+ movs r4, 0
+_0802799C:
+ cmp r4, r6
+ beq _080279B0
+ lsls r0, r4, 2
+ add r0, sp
+ ldr r0, [r0]
+ cmp r1, r0
+ bcs _080279B0
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+_080279B0:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x4
+ bls _0802799C
+ adds r0, r7, 0
+ add sp, 0x14
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802795C
+
+ thumb_func_start sub_80279C8
+sub_80279C8: @ 80279C8
+ push {r4-r6,lr}
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x28
+ ldrb r4, [r0]
+ bl sub_802762C
+ lsls r0, 16
+ lsrs r5, r0, 16
+ adds r6, r5, 0
+ adds r0, r4, 0
+ bl sub_80276C0
+ adds r4, r0, 0
+ bl sub_8027748
+ cmp r4, r0
+ beq _080279F4
+ movs r0, 0x3
+ b _08027A22
+ .pool
+_080279F4:
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl CheckBagHasSpace
+ lsls r0, 24
+ cmp r0, 0
+ bne _08027A06
+ movs r0, 0x2
+ b _08027A22
+_08027A06:
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl AddBagItem
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl CheckBagHasSpace
+ lsls r0, 24
+ cmp r0, 0
+ beq _08027A20
+ movs r0, 0
+ b _08027A22
+_08027A20:
+ movs r0, 0x1
+_08027A22:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80279C8
+
+ thumb_func_start sub_8027A28
+sub_8027A28: @ 8027A28
+ push {lr}
+ adds r2, r0, 0
+ adds r0, r1, 0
+ cmp r2, r0
+ bcs _08027A34
+ adds r0, r2, 0x1
+_08027A34:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8027A28
+
+ thumb_func_start sub_8027A38
+sub_8027A38: @ 8027A38
+ push {lr}
+ adds r2, r0, 0
+ adds r0, r1, 0
+ cmp r2, r0
+ bcs _08027A44
+ adds r0, r2, 0
+_08027A44:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8027A38
+
+ thumb_func_start sub_8027A48
+sub_8027A48: @ 8027A48
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gUnknown_02022C98
+ ldr r1, [r1]
+ adds r1, 0x34
+ adds r1, r0
+ ldrb r0, [r1]
+ bx lr
+ .pool
+ thumb_func_end sub_8027A48
+
+ thumb_func_start sub_8027A5C
+sub_8027A5C: @ 8027A5C
+ push {r4-r6,lr}
+ movs r5, 0
+ ldr r6, =gSpecialVar_Result
+_08027A62:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x5
+ bl GetMonData
+ cmp r0, 0
+ beq _08027A94
+ adds r0, r4, 0
+ movs r1, 0x41
+ bl GetMonData
+ cmp r0, 0x55
+ bne _08027A94
+ movs r0, 0x1
+ strh r0, [r6]
+ b _08027AA0
+ .pool
+_08027A94:
+ adds r5, 0x1
+ cmp r5, 0x5
+ ble _08027A62
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0
+ strh r0, [r1]
+_08027AA0:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8027A5C
+
+ thumb_func_start sub_8027AAC
+sub_8027AAC: @ 8027AAC
+ push {r4,lr}
+ ldr r4, =sub_8027ACC
+ adds r0, r4, 0
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ bl _call_via_r4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8027AAC
+
+ thumb_func_start sub_8027ACC
+sub_8027ACC: @ 8027ACC
+ push {r4-r7,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r7, r0, r1
+ movs r1, 0
+ ldrsh r0, [r7, r1]
+ cmp r0, 0x1
+ beq _08027B94
+ cmp r0, 0x1
+ bgt _08027AF4
+ cmp r0, 0
+ beq _08027AFE
+ b _08027BE2
+ .pool
+_08027AF4:
+ cmp r0, 0x2
+ beq _08027BA0
+ cmp r0, 0x3
+ beq _08027BC8
+ b _08027BE2
+_08027AFE:
+ ldr r0, =gUnknown_082F7B2C
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ ldr r1, =gText_BerryPickingRecords
+ movs r0, 0x1
+ movs r2, 0
+ bl GetStringWidth
+ adds r4, r0, 0
+ movs r6, 0
+ ldr r5, =gUnknown_082F7B34
+_08027B18:
+ ldr r1, [r5]
+ movs r0, 0x1
+ movs r2, 0
+ bl GetStringWidth
+ adds r0, 0x32
+ cmp r0, r4
+ ble _08027B2A
+ adds r4, r0, 0
+_08027B2A:
+ adds r5, 0x4
+ adds r6, 0x1
+ cmp r6, 0x2
+ bls _08027B18
+ adds r0, r4, 0x7
+ cmp r0, 0
+ bge _08027B3A
+ adds r0, 0x7
+_08027B3A:
+ asrs r4, r0, 3
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _08027B46
+ adds r4, 0x1
+_08027B46:
+ movs r1, 0x1E
+ subs r1, r4
+ lsrs r0, r1, 31
+ adds r1, r0
+ asrs r1, 1
+ lsls r1, 24
+ lsrs r1, 16
+ ldr r2, =0xffff00ff
+ ldr r0, [sp]
+ ands r0, r2
+ orrs r0, r1
+ lsls r2, r4, 24
+ ldr r1, =0x00ffffff
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp]
+ mov r0, sp
+ bl AddWindow
+ strh r0, [r7, 0x2]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r4, 0
+ bl sub_8027BEC
+ ldrb r0, [r7, 0x2]
+ movs r1, 0x3
+ b _08027BB6
+ .pool
+_08027B94:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08027BE2
+ b _08027BBA
+_08027BA0:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _08027BE2
+ ldrb r0, [r7, 0x2]
+ bl rbox_fill_rectangle
+ ldrb r0, [r7, 0x2]
+ movs r1, 0x1
+_08027BB6:
+ bl CopyWindowToVram
+_08027BBA:
+ ldrh r0, [r7]
+ adds r0, 0x1
+ strh r0, [r7]
+ b _08027BE2
+ .pool
+_08027BC8:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08027BE2
+ ldrb r0, [r7, 0x2]
+ bl RemoveWindow
+ adds r0, r4, 0
+ bl DestroyTask
+ bl EnableBothScriptContexts
+_08027BE2:
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027ACC
+
+ thumb_func_start sub_8027BEC
+sub_8027BEC: @ 8027BEC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x20
+ str r1, [sp, 0x18]
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r0, =gSaveBlock2Ptr
+ ldr r1, [r0]
+ movs r2, 0x84
+ lsls r2, 2
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ str r0, [sp, 0xC]
+ subs r2, 0x4
+ adds r0, r1, r2
+ ldr r0, [r0]
+ str r0, [sp, 0x10]
+ ldr r0, =0x00000212
+ adds r1, r0
+ ldrh r0, [r1]
+ str r0, [sp, 0x14]
+ ldr r4, =0x0000021d
+ adds r0, r7, 0
+ adds r1, r4, 0
+ movs r2, 0xD0
+ bl LoadUserWindowBorderGfx_
+ adds r0, r7, 0
+ adds r1, r4, 0
+ movs r2, 0xD
+ bl DrawTextBorderOuter
+ adds r0, r7, 0
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r4, =gText_BerryPickingRecords
+ ldr r0, [sp, 0x18]
+ lsls r2, r0, 3
+ movs r0, 0x1
+ adds r1, r4, 0
+ bl GetStringCenterAlignXOffset
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ movs r0, 0x1
+ str r0, [sp]
+ movs r0, 0xFF
+ str r0, [sp, 0x4]
+ movs r0, 0
+ str r0, [sp, 0x8]
+ adds r0, r7, 0
+ movs r1, 0x1
+ adds r2, r4, 0
+ bl AddTextPrinterParameterized
+ movs r6, 0
+ ldr r2, =gStringVar1
+ mov r8, r2
+ movs r0, 0xFF
+ mov r10, r0
+ mov r9, r6
+ mov r2, sp
+ adds r2, 0xC
+ str r2, [sp, 0x1C]
+_08027C76:
+ lsls r4, r6, 2
+ ldr r0, [sp, 0x1C]
+ ldm r0!, {r1}
+ str r0, [sp, 0x1C]
+ ldr r0, =gUnknown_082F7B40
+ adds r0, r6, r0
+ ldrb r3, [r0]
+ mov r0, r8
+ movs r2, 0
+ bl ConvertIntToDecimalStringN
+ movs r0, 0x1
+ mov r1, r8
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ adds r5, r0, 0
+ ldr r0, =gUnknown_082F7B34
+ adds r4, r0
+ ldr r2, [r4]
+ ldr r0, =gUnknown_082F7B44
+ lsls r4, r6, 1
+ adds r0, r4, r0
+ ldrb r0, [r0]
+ str r0, [sp]
+ mov r0, r10
+ str r0, [sp, 0x4]
+ mov r0, r9
+ str r0, [sp, 0x8]
+ adds r0, r7, 0
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r2, [sp, 0x18]
+ lsls r3, r2, 3
+ subs r3, r5
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r0, =gUnknown_082F7B4A
+ adds r4, r0
+ ldrb r0, [r4]
+ str r0, [sp]
+ mov r0, r10
+ str r0, [sp, 0x4]
+ mov r2, r9
+ str r2, [sp, 0x8]
+ adds r0, r7, 0
+ movs r1, 0x1
+ mov r2, r8
+ bl AddTextPrinterParameterized
+ adds r6, 0x1
+ cmp r6, 0x2
+ ble _08027C76
+ adds r0, r7, 0
+ bl PutWindowTilemap
+ add sp, 0x20
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8027BEC
+
+ thumb_func_start sub_8027D20
+sub_8027D20: @ 8027D20
+ push {lr}
+ bl GetLinkPlayerCount
+ ldr r1, =gUnknown_02022C98
+ ldr r1, [r1]
+ adds r1, 0x24
+ strb r0, [r1]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8027D20
+
+ thumb_func_start sub_8027D38
+sub_8027D38: @ 8027D38
+ push {r4-r7,lr}
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r4, [r0]
+ cmp r4, 0x4
+ bhi _08027D66
+ ldr r5, =gUnknown_082F7B90
+_08027D48:
+ lsls r0, r4, 3
+ subs r0, r4
+ lsls r0, 2
+ ldr r1, =gLinkPlayers + 8
+ adds r0, r1
+ lsls r1, r4, 2
+ adds r1, r5
+ ldr r1, [r1]
+ bl StringCopy
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x4
+ bls _08027D48
+_08027D66:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x24
+ movs r2, 0x5
+ strb r2, [r1]
+ movs r1, 0
+ mov r12, r0
+_08027D74:
+ movs r4, 0
+ mov r2, r12
+ ldr r0, [r2]
+ adds r0, 0x24
+ adds r5, r1, 0x1
+ ldrb r0, [r0]
+ cmp r4, r0
+ bcs _08027DB2
+ ldr r7, =gUnknown_02022C98
+ lsls r3, r1, 1
+ ldr r6, =gUnknown_082F7B50
+_08027D8A:
+ ldr r2, [r7]
+ lsls r0, r4, 1
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r3, r0
+ adds r1, r2, 0
+ adds r1, 0x4A
+ adds r1, r0
+ lsls r0, r4, 3
+ adds r0, r3, r0
+ adds r0, r6
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r2, 0x24
+ ldrb r2, [r2]
+ cmp r4, r2
+ bcc _08027D8A
+_08027DB2:
+ lsls r0, r5, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x3
+ bls _08027D74
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8027D38
+
+ thumb_func_start sub_8027DD0
+sub_8027DD0: @ 8027DD0
+ push {lr}
+ sub sp, 0x8
+ ldr r3, =0xffffff00
+ ldr r1, [sp]
+ ands r1, r3
+ movs r2, 0x1
+ orrs r1, r2
+ str r1, [sp]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, [sp, 0x4]
+ ands r1, r3
+ orrs r1, r0
+ str r1, [sp, 0x4]
+ mov r0, sp
+ bl sub_800FE50
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8027DD0
+
+ thumb_func_start sub_8027DFC
+sub_8027DFC: @ 8027DFC
+ push {lr}
+ adds r2, r0, 0
+ ldr r3, =gRecvCmds
+ ldrh r0, [r3]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r1, r0
+ movs r0, 0xBC
+ lsls r0, 6
+ cmp r1, r0
+ bne _08027E1E
+ lsls r0, r2, 4
+ adds r1, r3, 0x2
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ beq _08027E28
+_08027E1E:
+ movs r0, 0
+ b _08027E2A
+ .pool
+_08027E28:
+ ldrb r0, [r1, 0x4]
+_08027E2A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8027DFC
+
+ thumb_func_start sub_8027E30
+sub_8027E30: @ 8027E30
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x20
+ ldr r4, [sp, 0x48]
+ lsls r4, 24
+ str r4, [sp, 0x1C]
+ movs r4, 0x14
+ adds r4, r0
+ mov r9, r4
+ mov r5, sp
+ movs r4, 0x2
+ strb r4, [r5]
+ mov r10, sp
+ mov r5, r9
+ ldrb r4, [r5, 0xB]
+ movs r7, 0xF
+ adds r5, r7, 0
+ ands r5, r4
+ mov r6, r10
+ ldrb r6, [r6, 0x1]
+ mov r8, r6
+ movs r4, 0x10
+ negs r4, r4
+ mov r6, r8
+ ands r4, r6
+ orrs r4, r5
+ mov r5, r10
+ strb r4, [r5, 0x1]
+ mov r8, sp
+ mov r6, r9
+ ldrb r5, [r6, 0xC]
+ lsls r5, 4
+ ands r4, r7
+ orrs r4, r5
+ mov r5, r8
+ strb r4, [r5, 0x1]
+ ldrb r5, [r6, 0xD]
+ movs r6, 0xF
+ ands r5, r6
+ mov r4, r10
+ ldrb r4, [r4, 0x2]
+ mov r8, r4
+ movs r4, 0x10
+ negs r4, r4
+ mov r6, r8
+ ands r4, r6
+ orrs r4, r5
+ mov r5, r10
+ strb r4, [r5, 0x2]
+ mov r8, sp
+ mov r6, r9
+ ldrb r5, [r6, 0xE]
+ lsls r5, 4
+ ands r4, r7
+ orrs r4, r5
+ mov r5, r8
+ strb r4, [r5, 0x2]
+ ldrb r5, [r6, 0xF]
+ movs r6, 0xF
+ ands r5, r6
+ mov r4, r10
+ ldrb r4, [r4, 0x3]
+ mov r8, r4
+ movs r4, 0x10
+ negs r4, r4
+ mov r6, r8
+ ands r4, r6
+ orrs r4, r5
+ mov r5, r10
+ strb r4, [r5, 0x3]
+ mov r8, sp
+ mov r6, r9
+ ldrb r5, [r6, 0x10]
+ lsls r5, 4
+ ands r4, r7
+ orrs r4, r5
+ mov r5, r8
+ strb r4, [r5, 0x3]
+ ldrb r5, [r6, 0x11]
+ movs r6, 0xF
+ ands r5, r6
+ mov r4, r10
+ ldrb r4, [r4, 0x4]
+ mov r8, r4
+ movs r4, 0x10
+ negs r4, r4
+ mov r6, r8
+ ands r4, r6
+ orrs r4, r5
+ mov r5, r10
+ strb r4, [r5, 0x4]
+ mov r8, sp
+ mov r6, r9
+ ldrb r5, [r6, 0x12]
+ lsls r5, 4
+ ands r4, r7
+ orrs r4, r5
+ mov r5, r8
+ strb r4, [r5, 0x4]
+ ldrb r4, [r6, 0x13]
+ movs r6, 0xF
+ ands r4, r6
+ mov r6, r8
+ ldrb r5, [r6, 0x5]
+ movs r6, 0x10
+ negs r6, r6
+ ands r6, r5
+ orrs r6, r4
+ str r6, [sp, 0xC]
+ mov r4, r8
+ strb r6, [r4, 0x5]
+ mov r5, sp
+ mov r6, r9
+ ldrb r4, [r6, 0x14]
+ lsls r4, 4
+ ldr r6, [sp, 0xC]
+ ands r6, r7
+ orrs r6, r4
+ strb r6, [r5, 0x5]
+ mov r7, sp
+ movs r4, 0x3
+ mov r8, r4
+ ldrb r0, [r0, 0x14]
+ mov r5, r8
+ ands r0, r5
+ ldrb r5, [r7, 0x6]
+ movs r6, 0x4
+ negs r6, r6
+ mov r10, r6
+ mov r4, r10
+ ands r4, r5
+ orrs r4, r0
+ strb r4, [r7, 0x6]
+ mov r5, r9
+ ldrb r0, [r5, 0x1]
+ mov r6, r8
+ ands r0, r6
+ lsls r0, 2
+ movs r5, 0xD
+ negs r5, r5
+ ands r5, r4
+ orrs r5, r0
+ strb r5, [r7, 0x6]
+ mov r0, r9
+ ldrb r4, [r0, 0x2]
+ ands r4, r6
+ lsls r4, 4
+ movs r0, 0x31
+ negs r0, r0
+ ands r0, r5
+ orrs r0, r4
+ strb r0, [r7, 0x6]
+ mov r5, sp
+ mov r6, r9
+ ldrb r4, [r6, 0x3]
+ lsls r4, 6
+ movs r6, 0x3F
+ ands r0, r6
+ orrs r0, r4
+ strb r0, [r5, 0x6]
+ mov r4, r9
+ ldrb r0, [r4, 0x4]
+ mov r5, r8
+ ands r0, r5
+ ldrb r5, [r7, 0x7]
+ mov r4, r10
+ ands r4, r5
+ orrs r4, r0
+ strb r4, [r7, 0x7]
+ mov r6, r9
+ ldrb r0, [r6, 0x5]
+ mov r5, r8
+ ands r0, r5
+ lsls r0, 2
+ movs r5, 0xD
+ negs r5, r5
+ ands r5, r4
+ orrs r5, r0
+ strb r5, [r7, 0x7]
+ ldrb r4, [r6, 0x6]
+ mov r6, r8
+ ands r4, r6
+ lsls r4, 4
+ movs r0, 0x31
+ negs r0, r0
+ ands r0, r5
+ orrs r0, r4
+ strb r0, [r7, 0x7]
+ mov r5, sp
+ mov r6, r9
+ ldrb r4, [r6, 0x7]
+ lsls r4, 6
+ movs r6, 0x3F
+ ands r0, r6
+ orrs r0, r4
+ strb r0, [r5, 0x7]
+ mov r8, sp
+ mov r0, r9
+ ldrb r4, [r0, 0x8]
+ movs r7, 0x3
+ adds r0, r7, 0
+ ands r0, r4
+ mov r4, r8
+ ldrb r5, [r4, 0x8]
+ mov r4, r10
+ ands r4, r5
+ orrs r4, r0
+ mov r5, r8
+ strb r4, [r5, 0x8]
+ mov r6, r9
+ ldrb r5, [r6, 0x9]
+ adds r0, r7, 0
+ ands r0, r5
+ lsls r0, 2
+ movs r5, 0xD
+ negs r5, r5
+ ands r5, r4
+ orrs r5, r0
+ mov r0, r8
+ strb r5, [r0, 0x8]
+ ldrb r0, [r1]
+ adds r4, r7, 0
+ ands r4, r0
+ lsls r4, 4
+ movs r0, 0x31
+ negs r0, r0
+ ands r0, r5
+ orrs r0, r4
+ mov r4, r8
+ strb r0, [r4, 0x8]
+ mov r5, sp
+ ldrb r4, [r2]
+ lsls r4, 6
+ movs r6, 0x3F
+ ands r0, r6
+ orrs r0, r4
+ strb r0, [r5, 0x8]
+ ldrb r4, [r3]
+ adds r0, r7, 0
+ ands r0, r4
+ ldrb r4, [r5, 0x9]
+ mov r6, r10
+ ands r6, r4
+ orrs r6, r0
+ mov r10, r6
+ strb r6, [r5, 0x9]
+ ldr r0, [sp, 0x40]
+ ldrb r4, [r0]
+ adds r0, r7, 0
+ ands r0, r4
+ lsls r0, 2
+ movs r4, 0xD
+ negs r4, r4
+ ands r6, r4
+ orrs r6, r0
+ str r6, [sp, 0x10]
+ strb r6, [r5, 0x9]
+ mov r4, sp
+ ldr r5, [sp, 0x44]
+ ldrb r0, [r5]
+ adds r6, r7, 0
+ ands r6, r0
+ lsls r0, r6, 4
+ subs r7, 0x34
+ ldr r5, [sp, 0x10]
+ ands r7, r5
+ orrs r7, r0
+ strb r7, [r4, 0x9]
+ mov r5, sp
+ ldrb r0, [r1, 0x4]
+ movs r6, 0x1
+ mov r12, r6
+ mov r4, r12
+ ands r4, r0
+ lsls r4, 6
+ movs r0, 0x41
+ negs r0, r0
+ mov r10, r0
+ ands r0, r7
+ orrs r0, r4
+ strb r0, [r5, 0x9]
+ ldrb r4, [r2, 0x4]
+ lsls r4, 7
+ movs r5, 0x7F
+ ands r0, r5
+ orrs r0, r4
+ mov r4, r8
+ strb r0, [r4, 0x9]
+ ldrb r4, [r3, 0x4]
+ mov r0, r12
+ ands r0, r4
+ mov r5, r8
+ ldrb r4, [r5, 0xA]
+ movs r7, 0x2
+ negs r7, r7
+ adds r5, r7, 0
+ ands r5, r4
+ orrs r5, r0
+ mov r6, r8
+ strb r5, [r6, 0xA]
+ mov r9, sp
+ ldr r4, [sp, 0x40]
+ ldrb r0, [r4, 0x4]
+ mov r4, r12
+ ands r4, r0
+ lsls r4, 1
+ movs r6, 0x3
+ negs r6, r6
+ mov r8, r6
+ mov r0, r8
+ ands r0, r5
+ orrs r0, r4
+ mov r4, r9
+ strb r0, [r4, 0xA]
+ ldr r6, [sp, 0x44]
+ ldrb r5, [r6, 0x4]
+ mov r4, r12
+ ands r4, r5
+ lsls r4, 2
+ movs r5, 0x5
+ negs r5, r5
+ ands r0, r5
+ orrs r0, r4
+ mov r4, r9
+ strb r0, [r4, 0xA]
+ mov r4, sp
+ ldrb r1, [r1, 0x8]
+ mov r0, r12
+ ands r0, r1
+ lsls r0, 2
+ ldrb r1, [r4, 0xB]
+ ands r5, r1
+ orrs r5, r0
+ strb r5, [r4, 0xB]
+ ldrb r1, [r2, 0x8]
+ mov r0, r12
+ ands r0, r1
+ lsls r0, 3
+ movs r1, 0x9
+ negs r1, r1
+ ands r1, r5
+ orrs r1, r0
+ strb r1, [r4, 0xB]
+ ldrb r2, [r3, 0x8]
+ mov r0, r12
+ ands r0, r2
+ lsls r0, 4
+ movs r2, 0x11
+ negs r2, r2
+ ands r2, r1
+ orrs r2, r0
+ strb r2, [r4, 0xB]
+ mov r3, sp
+ ldr r5, [sp, 0x40]
+ ldrb r0, [r5, 0x8]
+ mov r1, r12
+ ands r1, r0
+ lsls r1, 5
+ movs r0, 0x21
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, 0xB]
+ mov r2, sp
+ ldrb r1, [r6, 0x8]
+ mov r6, r12
+ ands r6, r1
+ lsls r1, r6, 6
+ mov r3, r10
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2, 0xB]
+ ldr r4, [sp, 0x1C]
+ lsrs r3, r4, 21
+ ldrb r1, [r2, 0xA]
+ movs r0, 0x7
+ ands r0, r1
+ orrs r0, r3
+ strb r0, [r2, 0xA]
+ mov r1, sp
+ ldr r5, [sp, 0x4C]
+ movs r6, 0x1
+ ands r5, r6
+ lsls r2, r5, 1
+ ldrb r0, [r1, 0xB]
+ mov r3, r8
+ ands r3, r0
+ orrs r3, r2
+ mov r8, r3
+ strb r3, [r1, 0xB]
+ mov r0, sp
+ ldr r4, [sp, 0x50]
+ ands r4, r6
+ mov r5, r8
+ ands r5, r7
+ orrs r5, r4
+ strb r5, [r0, 0xB]
+ bl sub_800FE50
+ add sp, 0x20
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027E30
+
+ thumb_func_start sub_8028164
+sub_8028164: @ 8028164
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r7, r1, 0
+ adds r5, r2, 0
+ adds r6, r3, 0
+ ldr r0, [sp, 0x1C]
+ mov r12, r0
+ ldr r1, [sp, 0x20]
+ mov r8, r1
+ ldr r0, [sp, 0x24]
+ mov r9, r0
+ adds r2, r7, 0
+ adds r2, 0x14
+ ldr r4, =gRecvCmds
+ ldrh r0, [r4]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r1, r0
+ movs r0, 0xBC
+ lsls r0, 6
+ cmp r1, r0
+ bne _0802819C
+ adds r3, r4, 0x2
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0x2
+ beq _080281A4
+_0802819C:
+ movs r0, 0
+ b _080282DE
+ .pool
+_080281A4:
+ ldrb r0, [r3, 0x1]
+ lsls r0, 28
+ lsrs r0, 28
+ strb r0, [r2, 0xB]
+ ldrb r0, [r3, 0x1]
+ lsrs r0, 4
+ strb r0, [r2, 0xC]
+ ldrb r0, [r3, 0x2]
+ lsls r0, 28
+ lsrs r0, 28
+ strb r0, [r2, 0xD]
+ ldrb r0, [r3, 0x2]
+ lsrs r0, 4
+ strb r0, [r2, 0xE]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 28
+ lsrs r0, 28
+ strb r0, [r2, 0xF]
+ ldrb r0, [r3, 0x3]
+ lsrs r0, 4
+ strb r0, [r2, 0x10]
+ ldrb r0, [r3, 0x4]
+ lsls r0, 28
+ lsrs r0, 28
+ strb r0, [r2, 0x11]
+ ldrb r0, [r3, 0x4]
+ lsrs r0, 4
+ strb r0, [r2, 0x12]
+ ldrb r0, [r3, 0x5]
+ lsls r0, 28
+ lsrs r0, 28
+ strb r0, [r2, 0x13]
+ ldrb r0, [r3, 0x5]
+ lsrs r0, 4
+ strb r0, [r2, 0x14]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 28
+ lsrs r0, 28
+ strb r0, [r2, 0x15]
+ ldrb r0, [r3, 0x6]
+ lsls r0, 30
+ lsrs r0, 30
+ strb r0, [r7, 0x14]
+ ldrb r0, [r3, 0x6]
+ lsls r0, 28
+ lsrs r0, 30
+ strb r0, [r2, 0x1]
+ ldrb r0, [r3, 0x6]
+ lsls r0, 26
+ lsrs r0, 30
+ strb r0, [r2, 0x2]
+ ldrb r0, [r3, 0x6]
+ lsrs r0, 6
+ strb r0, [r2, 0x3]
+ ldrb r0, [r3, 0x7]
+ lsls r0, 30
+ lsrs r0, 30
+ strb r0, [r2, 0x4]
+ ldrb r0, [r3, 0x7]
+ lsls r0, 28
+ lsrs r0, 30
+ strb r0, [r2, 0x5]
+ ldrb r0, [r3, 0x7]
+ lsls r0, 26
+ lsrs r0, 30
+ strb r0, [r2, 0x6]
+ ldrb r0, [r3, 0x7]
+ lsrs r0, 6
+ strb r0, [r2, 0x7]
+ ldrb r0, [r3, 0x8]
+ lsls r0, 30
+ lsrs r0, 30
+ strb r0, [r2, 0x8]
+ ldrb r0, [r3, 0x8]
+ lsls r0, 28
+ lsrs r0, 30
+ strb r0, [r2, 0x9]
+ ldrb r0, [r3, 0x6]
+ lsls r0, 30
+ lsrs r0, 30
+ strb r0, [r2, 0xA]
+ ldrb r0, [r3, 0x8]
+ lsls r0, 26
+ lsrs r0, 30
+ strb r0, [r5]
+ ldrb r0, [r3, 0x9]
+ lsls r0, 25
+ lsrs r0, 31
+ strb r0, [r5, 0x4]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 29
+ lsrs r0, 31
+ strb r0, [r5, 0x8]
+ ldrb r0, [r3, 0x8]
+ lsrs r0, 6
+ strb r0, [r6]
+ ldrb r0, [r3, 0x9]
+ lsrs r0, 7
+ strb r0, [r6, 0x4]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 28
+ lsrs r0, 31
+ strb r0, [r6, 0x8]
+ ldrb r0, [r3, 0x9]
+ lsls r0, 30
+ lsrs r0, 30
+ mov r1, r12
+ strb r0, [r1]
+ ldrb r0, [r3, 0xA]
+ lsls r0, 31
+ lsrs r0, 31
+ strb r0, [r1, 0x4]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 27
+ lsrs r0, 31
+ strb r0, [r1, 0x8]
+ ldrb r0, [r3, 0x9]
+ lsls r0, 28
+ lsrs r0, 30
+ mov r1, r8
+ strb r0, [r1]
+ ldrb r0, [r3, 0xA]
+ lsls r0, 30
+ lsrs r0, 31
+ strb r0, [r1, 0x4]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 26
+ lsrs r0, 31
+ strb r0, [r1, 0x8]
+ ldrb r0, [r3, 0x9]
+ lsls r0, 26
+ lsrs r0, 30
+ mov r1, r9
+ strb r0, [r1]
+ ldrb r0, [r3, 0xA]
+ lsls r0, 29
+ lsrs r0, 31
+ strb r0, [r1, 0x4]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 25
+ lsrs r0, 31
+ strb r0, [r1, 0x8]
+ ldrb r0, [r3, 0xA]
+ lsrs r0, 3
+ ldr r1, [sp, 0x28]
+ strb r0, [r1]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 30
+ lsrs r0, 31
+ ldr r1, [sp, 0x2C]
+ str r0, [r1]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 31
+ lsrs r0, 31
+ ldr r1, [sp, 0x30]
+ str r0, [r1]
+ movs r0, 0x1
+_080282DE:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8028164
+
+ thumb_func_start sub_80282EC
+sub_80282EC: @ 80282EC
+ push {lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, =0xffffff00
+ ldr r1, [sp]
+ ands r1, r3
+ movs r2, 0x3
+ orrs r1, r2
+ str r1, [sp]
+ ldr r1, [sp, 0x4]
+ ands r1, r3
+ orrs r1, r0
+ str r1, [sp, 0x4]
+ mov r0, sp
+ bl sub_800FE50
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80282EC
+
+ thumb_func_start sub_8028318
+sub_8028318: @ 8028318
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ ldr r3, =gRecvCmds
+ ldrh r0, [r3]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r1, r0
+ movs r0, 0xBC
+ lsls r0, 6
+ cmp r1, r0
+ bne _0802833C
+ lsls r0, r2, 4
+ adds r1, r3, 0x2
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0x3
+ beq _08028344
+_0802833C:
+ movs r0, 0
+ b _0802834A
+ .pool
+_08028344:
+ ldrb r0, [r1, 0x4]
+ strb r0, [r4]
+ movs r0, 0x1
+_0802834A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8028318
+
+ thumb_func_start sub_8028350
+sub_8028350: @ 8028350
+ push {lr}
+ sub sp, 0x8
+ ldr r2, =0xffffff00
+ ldr r1, [sp]
+ ands r1, r2
+ movs r2, 0x4
+ orrs r1, r2
+ str r1, [sp]
+ str r0, [sp, 0x4]
+ mov r0, sp
+ bl sub_800FE50
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028350
+
+ thumb_func_start sub_8028374
+sub_8028374: @ 8028374
+ push {lr}
+ adds r2, r0, 0
+ ldr r3, =gRecvCmds
+ ldrh r0, [r3]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r1, r0
+ movs r0, 0xBC
+ lsls r0, 6
+ cmp r1, r0
+ bne _08028396
+ lsls r0, r2, 4
+ adds r1, r3, 0x2
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0x4
+ beq _080283A0
+_08028396:
+ movs r0, 0
+ b _080283A2
+ .pool
+_080283A0:
+ ldr r0, [r1, 0x4]
+_080283A2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8028374
+
+ thumb_func_start sub_80283A8
+sub_80283A8: @ 80283A8
+ push {r4,r5,lr}
+ sub sp, 0x18
+ movs r5, 0xC0
+ lsls r5, 6
+ adds r0, r5, 0
+ bl AllocZeroed
+ adds r4, r0, 0
+ ldr r0, =gUnknown_082FB2D8
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp, 0x8]
+ str r1, [sp, 0xC]
+ ldr r0, =gUnknown_082FB2E0
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp, 0x10]
+ str r1, [sp, 0x14]
+ ldr r0, =gDodrioBerryPkmnGfx
+ adds r1, r4, 0
+ bl LZ77UnCompWram
+ cmp r4, 0
+ beq _080283E8
+ str r4, [sp]
+ str r5, [sp, 0x4]
+ mov r0, sp
+ bl LoadSpriteSheet
+ adds r0, r4, 0
+ bl Free
+_080283E8:
+ add r0, sp, 0x8
+ bl LoadSpritePalette
+ add r0, sp, 0x10
+ bl LoadSpritePalette
+ add sp, 0x18
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80283A8
+
+ thumb_func_start sub_8028408
+sub_8028408: @ 8028408
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0x30
+ adds r6, r1, 0
+ mov r8, r2
+ adds r5, r3, 0
+ lsls r6, 24
+ lsrs r6, 24
+ mov r1, r8
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ lsls r5, 24
+ lsrs r5, 24
+ add r1, sp, 0x18
+ movs r3, 0
+ strh r3, [r1]
+ ldrb r2, [r0]
+ mov r0, sp
+ adds r0, 0x1A
+ strh r2, [r0]
+ ldr r0, =gUnknown_082FB1E0
+ str r0, [sp, 0x1C]
+ ldr r0, =gUnknown_082FB228
+ str r0, [sp, 0x20]
+ str r3, [sp, 0x24]
+ ldr r0, =gDummySpriteAffineAnimTable
+ str r0, [sp, 0x28]
+ ldr r0, =sub_80284A8
+ str r0, [sp, 0x2C]
+ mov r0, sp
+ movs r2, 0x18
+ bl memcpy
+ movs r0, 0x4
+ bl AllocZeroed
+ ldr r1, =gUnknown_02022C9C
+ mov r2, r8
+ lsls r4, r2, 2
+ adds r4, r1
+ str r0, [r4]
+ adds r0, r6, 0
+ adds r1, r5, 0
+ bl sub_8028F14
+ adds r1, r0, 0
+ lsls r1, 16
+ asrs r1, 16
+ mov r0, sp
+ movs r2, 0x88
+ movs r3, 0x3
+ bl CreateSprite
+ ldr r1, [r4]
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1]
+ movs r0, 0x1
+ mov r1, r8
+ bl sub_8028654
+ add sp, 0x30
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028408
+
+ thumb_func_start sub_80284A8
+sub_80284A8: @ 80284A8
+ push {lr}
+ movs r2, 0x2E
+ ldrsh r1, [r0, r2]
+ cmp r1, 0x1
+ beq _080284BC
+ cmp r1, 0x1
+ ble _080284C6
+ cmp r1, 0x2
+ beq _080284C2
+ b _080284C6
+_080284BC:
+ bl sub_802853C
+ b _080284C6
+_080284C2:
+ bl sub_80285AC
+_080284C6:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80284A8
+
+ thumb_func_start sub_80284CC
+sub_80284CC: @ 80284CC
+ push {lr}
+ bl GetMultiplayerId
+ ldr r1, =gUnknown_02022C9C
+ lsls r0, 24
+ lsrs r0, 22
+ adds r0, r1
+ ldr r0, [r0]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ movs r2, 0
+ movs r1, 0x1
+ strh r1, [r0, 0x2E]
+ strh r2, [r0, 0x30]
+ strh r2, [r0, 0x32]
+ strh r2, [r0, 0x34]
+ strh r2, [r0, 0x36]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80284CC
+
+ thumb_func_start sub_8028504
+sub_8028504: @ 8028504
+ push {lr}
+ bl GetMultiplayerId
+ ldr r1, =gUnknown_02022C9C
+ lsls r0, 24
+ lsrs r0, 22
+ adds r0, r1
+ ldr r0, [r0]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ movs r2, 0
+ movs r1, 0x2
+ strh r1, [r0, 0x2E]
+ strh r2, [r0, 0x30]
+ strh r2, [r0, 0x32]
+ strh r2, [r0, 0x34]
+ strh r2, [r0, 0x36]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028504
+
+ thumb_func_start sub_802853C
+sub_802853C: @ 802853C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r2, r0, 16
+ lsrs r0, 31
+ adds r0, r2, r0
+ asrs r1, r0, 1
+ adds r0, r1, 0
+ cmp r1, 0
+ bge _08028558
+ adds r0, r1, 0x3
+_08028558:
+ asrs r0, 2
+ lsls r0, 2
+ subs r0, r1, r0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r2, 0x2
+ ble _080285A2
+ cmp r0, 0x2
+ bgt _0802856E
+ cmp r0, 0x1
+ bge _08028572
+_0802856E:
+ movs r0, 0x1
+ b _08028574
+_08028572:
+ movs r0, 0xFF
+_08028574:
+ lsls r0, 24
+ asrs r0, 24
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ strh r0, [r4, 0x20]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x27
+ ble _080285A2
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+ bl sub_8027650
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0
+ bl sub_8028F14
+ strh r0, [r4, 0x20]
+_080285A2:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802853C
+
+ thumb_func_start sub_80285AC
+sub_80285AC: @ 80285AC
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldrh r0, [r5, 0x30]
+ adds r0, 0x1
+ strh r0, [r5, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0xD
+ bl __divsi3
+ lsls r0, 16
+ asrs r1, r0, 16
+ adds r0, r1, 0
+ cmp r1, 0
+ bge _080285CC
+ adds r0, r1, 0x3
+_080285CC:
+ asrs r0, 2
+ lsls r0, 2
+ subs r0, r1, r0
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r1, 0x30
+ ldrsh r0, [r5, r1]
+ movs r1, 0xD
+ bl __modsi3
+ lsls r0, 16
+ cmp r0, 0
+ bne _080285F0
+ cmp r4, 0
+ beq _080285F0
+ movs r0, 0xD4
+ bl PlaySE
+_080285F0:
+ movs r1, 0x30
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x67
+ ble _080285FE
+ movs r0, 0
+ strh r0, [r5, 0x2E]
+ movs r4, 0
+_080285FE:
+ bl GetMultiplayerId
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r4, 0
+ bl sub_80286B4
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80285AC
+
+ thumb_func_start sub_8028614
+sub_8028614: @ 8028614
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ cmp r4, r5
+ bcs _08028646
+ ldr r6, =gUnknown_02022C9C
+_08028622:
+ lsls r0, r4, 2
+ adds r0, r6
+ ldr r0, [r0]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ cmp r0, 0
+ beq _0802863C
+ bl DestroySpriteAndFreeResources
+_0802863C:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08028622
+_08028646:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028614
+
+ thumb_func_start sub_8028654
+sub_8028654: @ 8028654
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ ldr r3, =gSprites
+ ldr r2, =gUnknown_02022C9C
+ lsrs r1, 22
+ adds r1, r2
+ ldr r1, [r1]
+ ldrh r1, [r1]
+ lsls r2, r1, 4
+ adds r2, r1
+ lsls r2, 2
+ adds r2, r3
+ adds r2, 0x3E
+ movs r1, 0x1
+ ands r0, r1
+ lsls r0, 2
+ ldrb r3, [r2]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r3
+ orrs r1, r0
+ strb r1, [r2]
+ bx lr
+ .pool
+ thumb_func_end sub_8028654
+
+ thumb_func_start sub_802868C
+sub_802868C: @ 802868C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ movs r4, 0
+ cmp r4, r5
+ bcs _080286AE
+_0802869C:
+ adds r0, r6, 0
+ adds r1, r4, 0
+ bl sub_8028654
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _0802869C
+_080286AE:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802868C
+
+ thumb_func_start sub_80286B4
+sub_80286B4: @ 80286B4
+ push {lr}
+ lsls r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, =gUnknown_02022C9C
+ lsrs r0, 22
+ adds r0, r2
+ ldr r0, [r0]
+ ldrh r2, [r0]
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ ldr r2, =gSprites
+ adds r0, r2
+ bl StartSpriteAnim
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80286B4
+
+ thumb_func_start nullsub_15
+nullsub_15: @ 80286E0
+ bx lr
+ thumb_func_end nullsub_15
+
+ thumb_func_start sub_80286E4
+sub_80286E4: @ 80286E4
+ push {r4-r7,lr}
+ movs r4, 0
+ ldr r0, =gSprites
+ mov r12, r0
+ movs r6, 0
+ ldr r5, =gUnknown_02022CF4
+_080286F0:
+ ldr r3, [r5]
+ lsls r1, r4, 1
+ adds r0, r3, 0
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ add r1, r12
+ lsls r0, r4, 4
+ adds r0, 0x30
+ strh r0, [r1, 0x20]
+ lsls r2, r4, 3
+ movs r7, 0x8
+ negs r7, r7
+ adds r0, r7, 0
+ subs r0, r2
+ strh r0, [r1, 0x22]
+ adds r3, 0xC
+ adds r3, r4
+ strb r6, [r3]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x9
+ bls _080286F0
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80286E4
+
+ thumb_func_start sub_8028734
+sub_8028734: @ 8028734
+ push {r4-r6,lr}
+ sub sp, 0x28
+ movs r4, 0xC0
+ lsls r4, 1
+ adds r0, r4, 0
+ bl AllocZeroed
+ adds r6, r0, 0
+ ldr r0, =gUnknown_082FB2E8
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp, 0x20]
+ str r1, [sp, 0x24]
+ ldr r0, =gDodrioBerryStatusGfx
+ adds r1, r6, 0
+ bl LZ77UnCompWram
+ cmp r6, 0
+ beq _080287C4
+ str r6, [sp, 0x18]
+ add r5, sp, 0x18
+ movs r0, 0x80
+ lsls r0, 9
+ orrs r0, r4
+ str r0, [r5, 0x4]
+ mov r1, sp
+ ldr r0, =gUnknown_082FB2F0
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r4, =gUnknown_02022CF4
+ movs r0, 0x40
+ bl AllocZeroed
+ str r0, [r4]
+ adds r0, r5, 0
+ bl LoadSpriteSheet
+ add r0, sp, 0x20
+ bl LoadSpritePalette
+ movs r4, 0
+_0802878A:
+ lsls r1, r4, 20
+ movs r0, 0xC0
+ lsls r0, 14
+ adds r1, r0
+ asrs r1, 16
+ lsls r0, r4, 3
+ movs r3, 0x8
+ negs r3, r3
+ adds r2, r3, 0
+ subs r2, r0
+ lsls r2, 16
+ asrs r2, 16
+ mov r0, sp
+ movs r3, 0
+ bl CreateSprite
+ ldr r1, =gUnknown_02022CF4
+ ldr r1, [r1]
+ lsls r2, r4, 1
+ adds r1, 0x2A
+ adds r1, r2
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x9
+ bls _0802878A
+_080287C4:
+ adds r0, r6, 0
+ bl Free
+ add sp, 0x28
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028734
+
+ thumb_func_start sub_80287E4
+sub_80287E4: @ 80287E4
+ push {r4,r5,lr}
+ movs r4, 0
+_080287E8:
+ ldr r5, =gUnknown_02022CF4
+ ldr r0, [r5]
+ lsls r1, r4, 1
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ cmp r0, 0
+ beq _08028806
+ bl DestroySpriteAndFreeResources
+_08028806:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x9
+ bls _080287E8
+ ldr r0, [r5]
+ bl Free
+ movs r0, 0
+ str r0, [r5]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80287E4
+
+ thumb_func_start sub_8028828
+sub_8028828: @ 8028828
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ movs r3, 0
+ movs r6, 0
+ ldr r0, =gUnknown_02022CF4
+ mov r9, r0
+_0802883A:
+ mov r7, r9
+ ldr r2, [r7]
+ lsls r5, r6, 1
+ adds r0, r2, 0
+ adds r0, 0x2A
+ adds r0, r5
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r4, r0, r1
+ adds r0, r2, 0
+ adds r0, 0x16
+ adds r0, r5
+ movs r1, 0x2
+ strh r1, [r0]
+ adds r0, r2, 0
+ adds r0, 0xC
+ adds r2, r0, r6
+ ldrb r1, [r2]
+ cmp r1, 0
+ beq _08028870
+ movs r7, 0x22
+ ldrsh r0, [r4, r7]
+ cmp r0, 0x8
+ beq _080288A6
+_08028870:
+ movs r3, 0x1
+ movs r7, 0x22
+ ldrsh r0, [r4, r7]
+ cmp r0, 0x8
+ bne _08028896
+ cmp r1, 0
+ bne _080288A6
+ strb r3, [r2]
+ mov r1, r9
+ ldr r0, [r1]
+ adds r0, 0x16
+ adds r0, r5
+ ldr r1, =0x0000fff0
+ strh r1, [r0]
+ movs r0, 0x24
+ str r3, [sp]
+ bl PlaySE
+ ldr r3, [sp]
+_08028896:
+ mov r7, r9
+ ldr r0, [r7]
+ adds r0, 0x16
+ adds r0, r5
+ ldrh r0, [r0]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+_080288A6:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x9
+ bls _0802883A
+ cmp r3, 0
+ bne _080288C4
+ movs r0, 0x1
+ b _080288C6
+ .pool
+_080288C4:
+ movs r0, 0
+_080288C6:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8028828
+
+ thumb_func_start sub_80288D4
+sub_80288D4: @ 80288D4
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xA
+ bls _08028910
+ movs r4, 0
+_080288E0:
+ ldr r0, =gUnknown_02022CF4
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ movs r1, 0x1
+ bl StartSpriteAnim
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x9
+ bls _080288E0
+ b _080289DA
+ .pool
+_08028910:
+ movs r4, 0
+ movs r0, 0xA
+ subs r0, r5
+ cmp r4, r0
+ bge _080289D6
+ ldr r6, =gSprites
+_0802891C:
+ cmp r5, 0x6
+ bls _08028984
+ ldr r0, =gUnknown_02022CF4
+ ldr r2, [r0]
+ ldr r1, =0x0000fffa
+ adds r0, r1, 0
+ ldrh r1, [r2, 0x3E]
+ adds r0, r1
+ adds r0, r5
+ movs r1, 0
+ strh r0, [r2, 0x3E]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1E
+ bls _0802894C
+ strh r1, [r2, 0x3E]
+ b _0802899E
+ .pool
+_0802894C:
+ cmp r0, 0xA
+ bls _0802896A
+ lsls r1, r4, 1
+ adds r0, r2, 0
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ movs r1, 0x2
+ bl StartSpriteAnim
+ b _0802899E
+_0802896A:
+ lsls r1, r4, 1
+ adds r0, r2, 0
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ movs r1, 0
+ bl StartSpriteAnim
+ b _0802899E
+_08028984:
+ ldr r0, =gUnknown_02022CF4
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ movs r1, 0
+ bl StartSpriteAnim
+_0802899E:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0xA
+ subs r0, r5
+ cmp r4, r0
+ blt _0802891C
+ b _080289D6
+ .pool
+_080289B4:
+ ldr r0, =gUnknown_02022CF4
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ movs r1, 0x1
+ bl StartSpriteAnim
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+_080289D6:
+ cmp r4, 0x9
+ bls _080289B4
+_080289DA:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80288D4
+
+ thumb_func_start sub_80289E8
+sub_80289E8: @ 80289E8
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0
+ ldr r7, =gSprites
+ movs r1, 0x1
+ ands r0, r1
+ lsls r4, r0, 2
+ movs r6, 0x5
+ negs r6, r6
+ ldr r5, =gUnknown_02022CF4
+_080289FE:
+ ldr r0, [r5]
+ lsls r1, r3, 1
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r7
+ adds r1, 0x3E
+ ldrb r2, [r1]
+ adds r0, r6, 0
+ ands r0, r2
+ orrs r0, r4
+ strb r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x9
+ bls _080289FE
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80289E8
+
+ thumb_func_start sub_8028A34
+sub_8028A34: @ 8028A34
+ push {r4,r5,lr}
+ sub sp, 0x10
+ movs r5, 0x90
+ lsls r5, 3
+ adds r0, r5, 0
+ bl AllocZeroed
+ adds r4, r0, 0
+ ldr r0, =gUnknown_082FB314
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp, 0x8]
+ str r1, [sp, 0xC]
+ ldr r0, =gDodrioBerrySpritesGfx
+ adds r1, r4, 0
+ bl LZ77UnCompWram
+ cmp r4, 0
+ beq _08028A6A
+ str r4, [sp]
+ movs r0, 0x80
+ lsls r0, 10
+ orrs r0, r5
+ str r0, [sp, 0x4]
+ mov r0, sp
+ bl LoadSpriteSheet
+_08028A6A:
+ add r0, sp, 0x8
+ bl LoadSpritePalette
+ adds r0, r4, 0
+ bl Free
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028A34
+
+ thumb_func_start sub_8028A88
+sub_8028A88: @ 8028A88
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x30
+ mov r1, sp
+ ldr r0, =gUnknown_082FB324
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ add r2, sp, 0x18
+ adds r1, r2, 0
+ ldr r0, =gUnknown_082FB33C
+ ldm r0!, {r3-r5}
+ stm r1!, {r3-r5}
+ ldm r0!, {r3-r5}
+ stm r1!, {r3-r5}
+ movs r5, 0
+ mov r9, r2
+_08028AB0:
+ movs r0, 0x4
+ bl AllocZeroed
+ ldr r1, =gUnknown_02022CB8
+ lsls r4, r5, 2
+ adds r4, r1
+ str r0, [r4]
+ lsls r0, r5, 3
+ lsls r1, r5, 4
+ adds r1, r0
+ mov r0, sp
+ movs r2, 0x8
+ movs r3, 0x1
+ bl CreateSprite
+ ldr r1, [r4]
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1]
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_8028BF8
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xA
+ bls _08028AB0
+ movs r5, 0
+ ldr r7, =gUnknown_02022CE4
+ ldr r4, =gUnknown_082FB31C
+ mov r8, r4
+_08028AF0:
+ movs r0, 0x4
+ bl AllocZeroed
+ lsls r1, r5, 2
+ adds r4, r1, r7
+ str r0, [r4]
+ adds r6, r1, 0
+ cmp r5, 0x3
+ bne _08028B2C
+ mov r0, r8
+ movs r2, 0x6
+ ldrsh r1, [r0, r2]
+ mov r0, r9
+ movs r2, 0x31
+ movs r3, 0
+ bl CreateSprite
+ ldr r1, [r7, 0xC]
+ b _08028B40
+ .pool
+_08028B2C:
+ lsls r0, r5, 1
+ add r0, r8
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ mov r0, r9
+ movs r2, 0x34
+ movs r3, 0
+ bl CreateSprite
+ ldr r1, [r4]
+_08028B40:
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1]
+ adds r0, r6, r7
+ ldr r0, [r0]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ adds r1, r5, 0
+ bl StartSpriteAnim
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _08028AF0
+ movs r0, 0x1
+ bl sub_8028C30
+ add sp, 0x30
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028A88
+
+ thumb_func_start sub_8028B80
+sub_8028B80: @ 8028B80
+ push {r4-r6,lr}
+ movs r5, 0
+ ldr r6, =gUnknown_02022CB8
+_08028B86:
+ lsls r0, r5, 2
+ adds r4, r0, r6
+ ldr r0, [r4]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ cmp r0, 0
+ beq _08028BA0
+ bl DestroySprite
+_08028BA0:
+ ldr r0, [r4]
+ bl Free
+ movs r0, 0
+ str r0, [r4]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xA
+ bls _08028B86
+ movs r5, 0
+ ldr r6, =gUnknown_02022CE4
+_08028BB8:
+ lsls r0, r5, 2
+ adds r4, r0, r6
+ ldr r0, [r4]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ cmp r0, 0
+ beq _08028BD2
+ bl DestroySprite
+_08028BD2:
+ ldr r0, [r4]
+ bl Free
+ movs r0, 0
+ str r0, [r4]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _08028BB8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028B80
+
+ thumb_func_start sub_8028BF8
+sub_8028BF8: @ 8028BF8
+ lsls r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r3, =gSprites
+ ldr r2, =gUnknown_02022CB8
+ lsrs r0, 22
+ adds r0, r2
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r3
+ adds r2, 0x3E
+ movs r0, 0x1
+ ands r1, r0
+ lsls r1, 2
+ ldrb r3, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2]
+ bx lr
+ .pool
+ thumb_func_end sub_8028BF8
+
+ thumb_func_start sub_8028C30
+sub_8028C30: @ 8028C30
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0
+ ldr r7, =gSprites
+ ldr r6, =gUnknown_02022CE4
+ movs r1, 0x1
+ ands r0, r1
+ lsls r4, r0, 2
+ movs r5, 0x5
+ negs r5, r5
+_08028C46:
+ lsls r0, r3, 2
+ adds r0, r6
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r7
+ adds r1, 0x3E
+ ldrb r2, [r1]
+ adds r0, r5, 0
+ ands r0, r2
+ orrs r0, r4
+ strb r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x3
+ bls _08028C46
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028C30
+
+ thumb_func_start sub_8028C7C
+sub_8028C7C: @ 8028C7C
+ lsls r0, 24
+ lsls r1, 24
+ ldr r3, =gSprites
+ ldr r2, =gUnknown_02022CB8
+ lsrs r0, 22
+ adds r0, r2
+ ldr r0, [r0]
+ ldrh r2, [r0]
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r3
+ lsrs r1, 21
+ strh r1, [r0, 0x22]
+ bx lr
+ .pool
+ thumb_func_end sub_8028C7C
+
+ thumb_func_start sub_8028CA4
+sub_8028CA4: @ 8028CA4
+ push {lr}
+ lsls r0, 16
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, =gUnknown_02022CB8
+ lsrs r0, 14
+ adds r0, r2
+ ldr r0, [r0]
+ ldrh r2, [r0]
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ ldr r2, =gSprites
+ adds r0, r2
+ bl StartSpriteAnim
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028CA4
+
+ thumb_func_start sub_8028CD0
+sub_8028CD0: @ 8028CD0
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gSprites
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r1
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ adds r1, 0x32
+ strh r1, [r2, 0x20]
+ movs r0, 0x32
+ strh r0, [r2, 0x22]
+ bx lr
+ .pool
+ thumb_func_end sub_8028CD0
+
+ thumb_func_start sub_8028CF4
+sub_8028CF4: @ 8028CF4
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ adds r0, 0x42
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x1
+ beq _08028D36
+ movs r3, 0
+ ldr r7, =gUnknown_082FB354
+ ldr r6, =gUnknown_02022CB0
+ movs r5, 0
+_08028D0A:
+ lsls r0, r3, 2
+ adds r2, r0, r6
+ ldr r1, [r2]
+ ldrh r0, [r1, 0x2]
+ adds r0, 0x1
+ strh r0, [r1, 0x2]
+ adds r1, r3, r7
+ lsls r0, 16
+ lsrs r0, 16
+ ldrb r1, [r1]
+ cmp r0, r1
+ bls _08028D2C
+ ldrh r0, [r4, 0x20]
+ subs r0, 0x1
+ strh r0, [r4, 0x20]
+ ldr r0, [r2]
+ strh r5, [r0, 0x2]
+_08028D2C:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x1
+ bls _08028D0A
+_08028D36:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028CF4
+
+ thumb_func_start sub_8028D44
+sub_8028D44: @ 8028D44
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x28
+ movs r4, 0x80
+ lsls r4, 3
+ adds r0, r4, 0
+ bl AllocZeroed
+ adds r6, r0, 0
+ ldr r0, =gUnknown_082FB360
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp, 0x20]
+ str r1, [sp, 0x24]
+ ldr r0, =gDodrioBerryPlatformGfx
+ adds r1, r6, 0
+ bl LZ77UnCompWram
+ cmp r6, 0
+ beq _08028DD2
+ str r6, [sp, 0x18]
+ add r0, sp, 0x18
+ movs r1, 0xA0
+ lsls r1, 11
+ orrs r1, r4
+ str r1, [r0, 0x4]
+ mov r2, sp
+ ldr r1, =gUnknown_082FB368
+ ldm r1!, {r3-r5}
+ stm r2!, {r3-r5}
+ ldm r1!, {r3-r5}
+ stm r2!, {r3-r5}
+ bl LoadSpriteSheet
+ add r0, sp, 0x20
+ bl LoadSpritePalette
+ movs r5, 0
+ ldr r7, =gUnknown_082FB356
+ adds r0, r7, 0x2
+ mov r9, r0
+ ldr r1, =gUnknown_02022CB0
+ mov r8, r1
+_08028D9E:
+ movs r0, 0x4
+ bl AllocZeroed
+ lsls r2, r5, 2
+ mov r3, r8
+ adds r4, r2, r3
+ str r0, [r4]
+ adds r0, r2, r7
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ add r2, r9
+ movs r0, 0
+ ldrsh r2, [r2, r0]
+ mov r0, sp
+ movs r3, 0x4
+ bl CreateSprite
+ ldr r1, [r4]
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x1
+ bls _08028D9E
+_08028DD2:
+ adds r0, r6, 0
+ bl Free
+ add sp, 0x28
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028D44
+
+ thumb_func_start sub_8028DFC
+sub_8028DFC: @ 8028DFC
+ push {r4-r7,lr}
+ movs r3, 0
+ ldr r0, =gUnknown_02022CB0
+ mov r12, r0
+ ldr r4, =gUnknown_082FB356
+ adds r7, r4, 0x2
+ ldr r6, =gSprites
+ movs r5, 0x1
+_08028E0C:
+ lsls r2, r3, 2
+ mov r1, r12
+ adds r0, r2, r1
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ adds r0, r1, 0
+ adds r0, 0x42
+ strh r5, [r0]
+ adds r0, r2, r4
+ ldrh r0, [r0]
+ strh r0, [r1, 0x20]
+ adds r2, r7
+ ldrh r0, [r2]
+ strh r0, [r1, 0x22]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x1
+ bls _08028E0C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028DFC
+
+ thumb_func_start sub_8028E4C
+sub_8028E4C: @ 8028E4C
+ push {r4,r5,lr}
+ movs r2, 0
+ ldr r5, =gUnknown_02022CB0
+ ldr r4, =gSprites
+ movs r3, 0
+_08028E56:
+ lsls r0, r2, 2
+ adds r0, r5
+ ldr r0, [r0]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ adds r0, 0x42
+ strh r3, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x1
+ bls _08028E56
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028E4C
+
+ thumb_func_start sub_8028E84
+sub_8028E84: @ 8028E84
+ push {r4-r6,lr}
+ movs r5, 0
+ ldr r6, =gUnknown_02022CB0
+_08028E8A:
+ lsls r0, r5, 2
+ adds r4, r0, r6
+ ldr r0, [r4]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ cmp r0, 0
+ beq _08028EA4
+ bl DestroySprite
+_08028EA4:
+ ldr r0, [r4]
+ bl Free
+ movs r0, 0
+ str r0, [r4]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x1
+ bls _08028E8A
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028E84
+
+ thumb_func_start sub_8028EC8
+sub_8028EC8: @ 8028EC8
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0
+ ldr r7, =gSprites
+ ldr r6, =gUnknown_02022CB0
+ movs r1, 0x1
+ ands r0, r1
+ lsls r4, r0, 2
+ movs r5, 0x5
+ negs r5, r5
+_08028EDE:
+ lsls r0, r3, 2
+ adds r0, r6
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r7
+ adds r1, 0x3E
+ ldrb r2, [r1]
+ adds r0, r5, 0
+ ands r0, r2
+ orrs r0, r4
+ strb r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x1
+ bls _08028EDE
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028EC8
+
+ thumb_func_start sub_8028F14
+sub_8028F14: @ 8028F14
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ movs r3, 0
+ subs r0, r1, 0x1
+ cmp r0, 0x4
+ bhi _08028FC6
+ lsls r0, 2
+ ldr r1, =_08028F34
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08028F34:
+ .4byte _08028FB4
+ .4byte _08028F48
+ .4byte _08028F52
+ .4byte _08028F66
+ .4byte _08028F8E
+_08028F48:
+ cmp r2, 0
+ beq _08028F7E
+ cmp r2, 0x1
+ bne _08028FC6
+ b _08028F82
+_08028F52:
+ cmp r2, 0x1
+ beq _08028FB8
+ cmp r2, 0x1
+ bgt _08028F60
+ cmp r2, 0
+ beq _08028FB4
+ b _08028FC6
+_08028F60:
+ cmp r2, 0x2
+ bne _08028FC6
+ b _08028FC4
+_08028F66:
+ cmp r2, 0x1
+ beq _08028F82
+ cmp r2, 0x1
+ bgt _08028F74
+ cmp r2, 0
+ beq _08028F7E
+ b _08028FC6
+_08028F74:
+ cmp r2, 0x2
+ beq _08028F86
+ cmp r2, 0x3
+ beq _08028F8A
+ b _08028FC6
+_08028F7E:
+ movs r3, 0xC
+ b _08028FC6
+_08028F82:
+ movs r3, 0x12
+ b _08028FC6
+_08028F86:
+ movs r3, 0x18
+ b _08028FC6
+_08028F8A:
+ movs r3, 0x6
+ b _08028FC6
+_08028F8E:
+ cmp r2, 0x4
+ bhi _08028FC6
+ lsls r0, r2, 2
+ ldr r1, =_08028FA0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08028FA0:
+ .4byte _08028FB4
+ .4byte _08028FB8
+ .4byte _08028FBC
+ .4byte _08028FC0
+ .4byte _08028FC4
+_08028FB4:
+ movs r3, 0xF
+ b _08028FC6
+_08028FB8:
+ movs r3, 0x15
+ b _08028FC6
+_08028FBC:
+ movs r3, 0x1B
+ b _08028FC6
+_08028FC0:
+ movs r3, 0x3
+ b _08028FC6
+_08028FC4:
+ movs r3, 0x9
+_08028FC6:
+ lsls r0, r3, 3
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8028F14
+
+ thumb_func_start sub_8028FCC
+sub_8028FCC: @ 8028FCC
+ push {r4,lr}
+ movs r4, 0
+_08028FD0:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8028BF8
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8028C7C
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0xA
+ bls _08028FD0
+ movs r0, 0
+ bl sub_80289E8
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8028FCC
+
+ thumb_func_start sub_8028FF8
+sub_8028FF8: @ 8028FF8
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ bl GetWindowFrameTilesPal
+ ldr r1, [r0]
+ movs r2, 0x90
+ lsls r2, 1
+ movs r0, 0
+ movs r3, 0x1
+ bl LoadBgTiles
+ adds r0, r4, 0
+ bl GetWindowFrameTilesPal
+ ldr r0, [r0, 0x4]
+ movs r1, 0xA0
+ movs r2, 0x20
+ bl LoadPalette
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8028FF8
+
+ thumb_func_start sub_802902C
+sub_802902C: @ 802902C
+ push {lr}
+ movs r0, 0
+ movs r1, 0xA
+ movs r2, 0xB0
+ bl LoadUserWindowBorderGfx_
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802902C
+
+ thumb_func_start sub_802903C
+sub_802903C: @ 802903C
+ ldr r3, =gUnknown_02022CF8
+ ldr r0, [r3]
+ movs r2, 0xC0
+ lsls r2, 6
+ adds r1, r0, r2
+ movs r2, 0
+ str r2, [r1]
+ ldr r1, =0x00003014
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r3]
+ adds r1, 0x4
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r3]
+ adds r1, 0x8
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r3]
+ adds r1, 0x4
+ adds r0, r1
+ strb r2, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802903C
+
+ thumb_func_start sub_8029074
+sub_8029074: @ 8029074
+ push {r4-r6,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ movs r6, 0xA
+ ldrb r2, [r4, 0x1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ subs r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ movs r5, 0x1
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x1
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ ldrb r3, [r4, 0x2]
+ subs r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ ldrb r0, [r4, 0x3]
+ str r0, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x2
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x3]
+ ldrb r0, [r4, 0x1]
+ adds r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ subs r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x3
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ str r5, [sp]
+ ldrb r0, [r4, 0x4]
+ str r0, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x4
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x3]
+ ldrb r0, [r4, 0x1]
+ adds r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ str r5, [sp]
+ ldrb r0, [r4, 0x4]
+ str r0, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x6
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x4]
+ ldrb r0, [r4, 0x2]
+ adds r3, r0
+ lsls r3, 24
+ lsrs r3, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x7
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ ldrb r3, [r4, 0x4]
+ ldrb r0, [r4, 0x2]
+ adds r3, r0
+ lsls r3, 24
+ lsrs r3, 24
+ ldrb r0, [r4, 0x3]
+ str r0, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x8
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x3]
+ ldrb r0, [r4, 0x1]
+ adds r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x4]
+ ldrb r4, [r4, 0x2]
+ adds r3, r4
+ lsls r3, 24
+ lsrs r3, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x9
+ bl FillBgTilemapBufferRect
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8029074
+
+ thumb_func_start sub_8029174
+sub_8029174: @ 8029174
+ push {r4-r6,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ movs r6, 0xB
+ ldrb r2, [r4, 0x1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ subs r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ movs r5, 0x1
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xA
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ ldrb r3, [r4, 0x2]
+ subs r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ ldrb r0, [r4, 0x3]
+ str r0, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xB
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x3]
+ ldrb r0, [r4, 0x1]
+ adds r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ subs r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xC
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ str r5, [sp]
+ ldrb r0, [r4, 0x4]
+ str r0, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xD
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x3]
+ ldrb r0, [r4, 0x1]
+ adds r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ str r5, [sp]
+ ldrb r0, [r4, 0x4]
+ str r0, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xF
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x4]
+ ldrb r0, [r4, 0x2]
+ adds r3, r0
+ lsls r3, 24
+ lsrs r3, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x10
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ ldrb r3, [r4, 0x4]
+ ldrb r0, [r4, 0x2]
+ adds r3, r0
+ lsls r3, 24
+ lsrs r3, 24
+ ldrb r0, [r4, 0x3]
+ str r0, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x11
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x3]
+ ldrb r0, [r4, 0x1]
+ adds r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x4]
+ ldrb r4, [r4, 0x2]
+ adds r3, r4
+ lsls r3, 24
+ lsrs r3, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x12
+ bl FillBgTilemapBufferRect
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8029174
+
+ thumb_func_start sub_8029274
+sub_8029274: @ 8029274
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CF8
+ str r0, [r4]
+ movs r2, 0xC0
+ lsls r2, 6
+ adds r1, r0, r2
+ movs r2, 0
+ str r2, [r1]
+ ldr r3, =0x00003014
+ adds r1, r0, r3
+ strb r2, [r1]
+ ldr r1, =0x00003018
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r3, 0xC
+ adds r0, r3
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r1, 0xC
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, =sub_8029314
+ movs r1, 0x3
+ bl CreateTask
+ ldr r1, [r4]
+ ldr r2, =0x00003004
+ adds r1, r2
+ strb r0, [r1]
+ ldr r0, =sub_8029338
+ bl sub_802A72C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8029274
+
+ thumb_func_start sub_80292D4
+sub_80292D4: @ 80292D4
+ push {lr}
+ bl FreeAllWindowBuffers
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80292D4
+
+ thumb_func_start sub_80292E0
+sub_80292E0: @ 80292E0
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r4, 0
+ ldr r5, =gUnknown_082FB40C
+ adds r7, r5, 0x4
+_080292EC:
+ lsls r1, r4, 3
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ cmp r0, r6
+ bne _080292FE
+ adds r0, r1, r7
+ ldr r0, [r0]
+ bl sub_802A72C
+_080292FE:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x9
+ bls _080292EC
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80292E0
+
+ thumb_func_start sub_8029314
+sub_8029314: @ 8029314
+ push {lr}
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0802932E
+ bl sub_802A75C
+ bl _call_via_r0
+_0802932E:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8029314
+
+ thumb_func_start sub_8029338
+sub_8029338: @ 8029338
+ push {lr}
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r2, =0x00003014
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bhi _08029430
+ lsls r0, 2
+ ldr r1, =_08029360
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08029360:
+ .4byte _08029374
+ .4byte _0802937A
+ .4byte _08029394
+ .4byte _080293D8
+ .4byte _08029404
+_08029374:
+ bl sub_802A7A8
+ b _08029414
+_0802937A:
+ bl sub_802A8E8
+ cmp r0, 0x1
+ bne _0802943A
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r2, =0x00003014
+ adds r1, r2
+ b _0802941C
+ .pool
+_08029394:
+ ldr r1, =gDodrioBerryBgTilemap1
+ movs r0, 0x3
+ movs r2, 0
+ movs r3, 0
+ bl CopyToBgTilemapBuffer
+ ldr r1, =gDodrioBerryBgTilemap2Left
+ movs r0, 0x1
+ movs r2, 0
+ movs r3, 0
+ bl CopyToBgTilemapBuffer
+ ldr r1, =gDodrioBerryBgTilemap2Right
+ movs r0, 0x2
+ movs r2, 0
+ movs r3, 0
+ bl CopyToBgTilemapBuffer
+ movs r0, 0x3
+ bl CopyBgTilemapBufferToVram
+ movs r0, 0x1
+ bl CopyBgTilemapBufferToVram
+ movs r0, 0x2
+ bl CopyBgTilemapBufferToVram
+ b _08029414
+ .pool
+_080293D8:
+ movs r0, 0
+ bl ShowBg
+ movs r0, 0x3
+ bl ShowBg
+ movs r0, 0x1
+ bl ShowBg
+ movs r0, 0x2
+ bl ShowBg
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r2, =0x00003014
+ adds r1, r2
+ b _0802941C
+ .pool
+_08029404:
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x14]
+ lsrs r0, 3
+ bl sub_8028FF8
+ bl sub_802902C
+_08029414:
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x00003014
+ adds r1, r0
+_0802941C:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802943A
+ .pool
+_08029430:
+ movs r2, 0xC0
+ lsls r2, 6
+ adds r1, r2
+ movs r0, 0x1
+ str r0, [r1]
+_0802943A:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8029338
+
+ thumb_func_start sub_8029440
+sub_8029440: @ 8029440
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x1C
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r2, =0x00003014
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08029488
+ cmp r0, 0x1
+ bne _08029460
+ b _080295EC
+_08029460:
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xB4
+ bhi _0802946E
+ b _0802968E
+_0802946E:
+ bl sub_8027650
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r6, 0
+ cmp r6, r7
+ bcc _0802947E
+ b _08029666
+_0802947E:
+ b _08029640
+ .pool
+_08029488:
+ bl sub_8027650
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, =gUnknown_082FB3C8
+ subs r0, r7, 0x1
+ lsls r0, 2
+ adds r0, r1
+ ldr r5, [r0]
+ ldr r2, =0xffffff00
+ ldr r0, [sp, 0xC]
+ ands r0, r2
+ ldr r1, =0x00ffffff
+ ands r0, r1
+ movs r1, 0xE0
+ lsls r1, 19
+ orrs r0, r1
+ str r0, [sp, 0xC]
+ ldr r0, [sp, 0x10]
+ ands r0, r2
+ movs r1, 0x2
+ orrs r0, r1
+ ldr r1, =0xffff00ff
+ ands r0, r1
+ movs r1, 0xD0
+ lsls r1, 4
+ orrs r0, r1
+ ldr r1, =0x0000ffff
+ ands r0, r1
+ movs r1, 0x98
+ lsls r1, 13
+ orrs r0, r1
+ str r0, [sp, 0x10]
+ movs r6, 0
+ cmp r6, r7
+ bcs _080295B8
+ mov r3, sp
+ adds r3, 0xC
+ str r3, [sp, 0x18]
+ mov r10, r4
+ ldr r0, =0x00003008
+ mov r9, r0
+_080294DC:
+ movs r1, 0
+ mov r8, r1
+ adds r0, r6, 0
+ bl sub_8027A48
+ lsls r0, 24
+ lsrs r0, 24
+ adds r4, r0, 0
+ bl sub_8027660
+ adds r1, r0, 0
+ movs r0, 0x1
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ movs r1, 0x38
+ subs r1, r0
+ lsrs r1, 1
+ str r1, [sp, 0x14]
+ ldrb r0, [r5]
+ lsls r0, 8
+ ldr r2, =0xffff00ff
+ ldr r1, [sp, 0xC]
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp, 0xC]
+ ldrb r2, [r5, 0x1]
+ lsls r2, 16
+ ldr r0, =0xff00ffff
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp, 0xC]
+ add r0, sp, 0xC
+ bl AddWindow
+ mov r2, r10
+ ldr r1, [r2]
+ add r1, r9
+ adds r1, r6
+ strb r0, [r1]
+ ldr r0, [r2]
+ add r0, r9
+ adds r0, r6
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ mov r3, r10
+ ldr r0, [r3]
+ add r0, r9
+ adds r0, r6
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ bl GetMultiplayerId
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bne _0802955A
+ movs r0, 0x2
+ mov r8, r0
+_0802955A:
+ adds r0, r4, 0
+ bl sub_8027660
+ adds r4, r0, 0
+ mov r1, r10
+ ldr r0, [r1]
+ add r0, r9
+ adds r0, r6
+ ldrb r0, [r0]
+ ldr r3, [sp, 0x14]
+ lsls r2, r3, 24
+ lsrs r2, 24
+ mov r3, r8
+ lsls r1, r3, 1
+ add r1, r8
+ ldr r3, =gUnknown_082FB380
+ adds r1, r3
+ str r1, [sp]
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x1
+ bl AddTextPrinterParameterized3
+ mov r2, r10
+ ldr r0, [r2]
+ add r0, r9
+ adds r0, r6
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r3, [sp, 0x18]
+ ldrh r0, [r3, 0x6]
+ adds r0, 0xE
+ strh r0, [r3, 0x6]
+ add r0, sp, 0xC
+ bl sub_8029174
+ adds r5, 0x4
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, r7
+ bcc _080294DC
+_080295B8:
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _0802962A
+ .pool
+_080295EC:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802968E
+ bl sub_8027650
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r6, 0
+ cmp r6, r7
+ bcs _0802961C
+_08029604:
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ adds r0, r6
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, r7
+ bcc _08029604
+_0802961C:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r2, =0x00003014
+ adds r1, r2
+_0802962A:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802968E
+ .pool
+_08029640:
+ ldr r5, =gUnknown_02022CF8
+ ldr r0, [r5]
+ ldr r4, =0x00003008
+ adds r0, r4
+ adds r0, r6
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r5]
+ adds r0, r4
+ adds r0, r6
+ ldrb r0, [r0]
+ bl RemoveWindow
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, r7
+ bcc _08029640
+_08029666:
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ movs r3, 0xC0
+ lsls r3, 6
+ adds r0, r3
+ movs r1, 0x1
+ str r1, [r0]
+_0802968E:
+ add sp, 0x1C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8029440
+
+ thumb_func_start sub_80296A8
+sub_80296A8: @ 80296A8
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x6C
+ lsls r0, 24
+ movs r1, 0
+ mov r8, r1
+ movs r6, 0
+ lsrs r7, r0, 24
+ add r4, sp, 0x2C
+ ldr r1, =gUnknown_082FB45C
+ adds r0, r4, 0
+ movs r2, 0x5
+ bl memcpy
+ movs r5, 0
+ cmp r5, r7
+ bcs _080296F8
+ add r4, sp, 0x34
+_080296D2:
+ mov r0, sp
+ adds r0, r5
+ adds r0, 0x2C
+ strb r5, [r0]
+ add r0, sp, 0x5C
+ adds r1, r5, 0
+ bl sub_802793C
+ lsls r2, r5, 3
+ adds r2, r4, r2
+ ldr r0, [sp, 0x5C]
+ ldr r1, [sp, 0x60]
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _080296D2
+_080296F8:
+ bl sub_8027748
+ cmp r0, 0
+ beq _0802972E
+_08029700:
+ movs r5, 0
+ cmp r5, r7
+ bcs _08029728
+ add r2, sp, 0x34
+ add r1, sp, 0x2C
+_0802970A:
+ lsls r0, r5, 3
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ cmp r0, r8
+ bne _0802971E
+ adds r0, r1, r6
+ strb r5, [r0]
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+_0802971E:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _0802970A
+_08029728:
+ mov r8, r6
+ cmp r6, r7
+ bcc _08029700
+_0802972E:
+ movs r5, 0
+ ldr r4, =gText_SpacePoints
+ cmp r5, r7
+ bcs _08029754
+ add r1, sp, 0x34
+ add r6, sp, 0x38
+ subs r3, r7, 0x1
+_0802973C:
+ lsls r2, r5, 3
+ adds r0, r6, r2
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0802974A
+ adds r0, r1, r2
+ strb r3, [r0]
+_0802974A:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _0802973C
+_08029754:
+ movs r0, 0x1
+ adds r1, r4, 0
+ movs r2, 0
+ bl GetStringWidth
+ movs r1, 0xD8
+ subs r1, r0
+ str r1, [sp, 0x64]
+ movs r5, 0
+ cmp r5, r7
+ bcs _08029860
+ mov r2, sp
+ adds r2, 0x34
+ str r2, [sp, 0x68]
+ ldr r3, =0x00003009
+ mov r10, r3
+_08029774:
+ movs r0, 0
+ mov r8, r0
+ mov r0, sp
+ adds r0, r5
+ adds r0, 0x2C
+ ldrb r0, [r0]
+ adds r4, r0, 0
+ lsls r1, r4, 3
+ add r0, sp, 0x38
+ adds r0, r1
+ ldr r0, [r0]
+ mov r9, r0
+ ldr r2, =gUnknown_02022CF8
+ ldr r0, [r2]
+ add r0, r10
+ ldrb r0, [r0]
+ ldr r2, =gUnknown_082FB3DC
+ ldr r3, [sp, 0x68]
+ adds r1, r3, r1
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r2
+ ldr r2, [r1]
+ ldr r3, =gUnknown_082FB402
+ lsls r1, r5, 1
+ adds r1, r3
+ ldrb r6, [r1]
+ str r6, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ mov r3, r8
+ str r3, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x8
+ bl AddTextPrinterParameterized
+ bl GetMultiplayerId
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bne _080297CC
+ movs r0, 0x2
+ mov r8, r0
+_080297CC:
+ adds r0, r4, 0
+ bl sub_8027660
+ adds r3, r0, 0
+ ldr r1, =gUnknown_02022CF8
+ ldr r0, [r1]
+ add r0, r10
+ ldrb r0, [r0]
+ mov r2, r8
+ lsls r1, r2, 1
+ add r1, r8
+ ldr r2, =gUnknown_082FB380
+ adds r1, r2
+ str r1, [sp]
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [sp, 0x4]
+ str r3, [sp, 0x8]
+ movs r1, 0x1
+ movs r2, 0x1C
+ adds r3, r6, 0
+ bl AddTextPrinterParameterized3
+ add r0, sp, 0xC
+ mov r1, r9
+ movs r2, 0
+ movs r3, 0x7
+ bl ConvertIntToDecimalStringN
+ movs r0, 0x1
+ add r1, sp, 0xC
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ adds r3, r0, 0
+ ldr r2, =gUnknown_02022CF8
+ ldr r0, [r2]
+ add r0, r10
+ ldrb r0, [r0]
+ ldr r1, [sp, 0x64]
+ subs r3, r1, r3
+ lsls r3, 24
+ lsrs r3, 24
+ str r6, [sp]
+ movs r2, 0xFF
+ str r2, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ add r2, sp, 0xC
+ bl AddTextPrinterParameterized
+ ldr r2, =gUnknown_02022CF8
+ ldr r0, [r2]
+ add r0, r10
+ ldrb r0, [r0]
+ ldr r1, [sp, 0x64]
+ lsls r3, r1, 24
+ str r6, [sp]
+ movs r2, 0xFF
+ str r2, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ ldr r2, =gText_SpacePoints
+ lsrs r3, 24
+ bl AddTextPrinterParameterized
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _08029774
+_08029860:
+ add sp, 0x6C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80296A8
+
+ thumb_func_start sub_802988C
+sub_802988C: @ 802988C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ bl sub_8027650
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0xC]
+ ldr r6, =gUnknown_02022CF8
+ ldr r1, [r6]
+ ldr r2, =0x00003014
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, 0xB
+ bls _080298B2
+ b _08029FA8
+_080298B2:
+ lsls r0, 2
+ ldr r1, =_080298C8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_080298C8:
+ .4byte _080298F8
+ .4byte _08029914
+ .4byte _0802996C
+ .4byte _08029B6C
+ .4byte _08029BB8
+ .4byte _08029BFC
+ .4byte _08029C60
+ .4byte _08029C9C
+ .4byte _08029CE0
+ .4byte _08029DA0
+ .4byte _08029F08
+ .4byte _08029F5C
+_080298F8:
+ bl sub_802784C
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x0000301c
+ adds r2, r1, r0
+ movs r0, 0
+ strh r0, [r2]
+ b _08029F8A
+ .pool
+_08029914:
+ ldr r6, =gUnknown_082F7BBC
+ adds r0, r6, 0
+ bl AddWindow
+ ldr r4, =gUnknown_02022CF8
+ ldr r1, [r4]
+ ldr r2, =0x00003008
+ mov r8, r2
+ add r1, r8
+ strb r0, [r1]
+ movs r0, 0x8
+ adds r0, r6
+ mov r9, r0
+ bl AddWindow
+ ldr r1, [r4]
+ ldr r5, =0x00003009
+ adds r1, r5
+ strb r0, [r1]
+ ldr r0, [r4]
+ add r0, r8
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ adds r0, r6, 0
+ bl sub_8029174
+ mov r0, r9
+ bl sub_8029174
+ b _08029F88
+ .pool
+_0802996C:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r5, =0x00003008
+ adds r0, r5
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r4]
+ ldr r1, =0x00003009
+ mov r9, r1
+ add r0, r9
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r2, =gText_BerryPickingResults
+ mov r8, r2
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x1
+ mov r1, r8
+ bl GetStringWidth
+ adds r1, r0, 0
+ movs r0, 0xE0
+ subs r0, r1
+ lsrs r3, r0, 1
+ ldr r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ lsls r3, 24
+ lsrs r3, 24
+ movs r1, 0x1
+ str r1, [sp]
+ movs r6, 0xFF
+ str r6, [sp, 0x4]
+ movs r5, 0
+ str r5, [sp, 0x8]
+ mov r2, r8
+ bl AddTextPrinterParameterized
+ ldr r0, [r4]
+ add r0, r9
+ ldrb r0, [r0]
+ ldr r2, =gText_10P30P50P50P
+ movs r1, 0x11
+ str r1, [sp]
+ str r6, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x44
+ bl AddTextPrinterParameterized
+ mov r9, r5
+ ldr r0, [sp, 0xC]
+ cmp r9, r0
+ bcc _080299E2
+ b _08029B2A
+_080299E2:
+ movs r4, 0
+ bl GetMultiplayerId
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r9, r0
+ bne _080299F2
+ movs r4, 0x2
+_080299F2:
+ mov r0, r9
+ bl sub_8027660
+ adds r6, r0, 0
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r1, =0x00003009
+ adds r0, r1
+ ldrb r0, [r0]
+ mov r2, r9
+ lsls r5, r2, 1
+ ldr r2, =gUnknown_082FB3F8
+ adds r1, r5, r2
+ ldrb r3, [r1]
+ lsls r1, r4, 1
+ adds r1, r4
+ ldr r2, =gUnknown_082FB380
+ adds r1, r2
+ str r1, [sp]
+ movs r4, 0x1
+ negs r4, r4
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r1, 0x1
+ movs r2, 0
+ bl AddTextPrinterParameterized3
+ movs r7, 0
+ mov r8, r5
+ mov r0, r9
+ adds r0, 0x1
+ str r0, [sp, 0x10]
+ ldr r1, =gStringVar4
+ mov r10, r1
+_08029A36:
+ mov r0, r9
+ adds r1, r7, 0
+ bl sub_80276A0
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, =0x0000270f
+ bl sub_8027A38
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r7, 0
+ bl sub_802778C
+ ldr r1, =0x0000270f
+ bl sub_8027A38
+ lsls r0, 16
+ lsrs r6, r0, 16
+ mov r0, r10
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0x4
+ bl ConvertIntToDecimalStringN
+ movs r0, 0x1
+ mov r1, r10
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ adds r5, r0, 0
+ cmp r6, r4
+ bne _08029AE0
+ cmp r6, 0
+ beq _08029AE0
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r1, r7, 1
+ ldr r2, =gUnknown_082FB3F0
+ adds r1, r2
+ ldrb r2, [r1]
+ subs r2, r5
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r1, =gUnknown_082FB3F8
+ add r1, r8
+ ldrb r3, [r1]
+ ldr r1, =gUnknown_082FB383
+ str r1, [sp]
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [sp, 0x4]
+ mov r1, r10
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ bl AddTextPrinterParameterized3
+ b _08029B10
+ .pool
+_08029AE0:
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r1, r7, 1
+ ldr r2, =gUnknown_082FB3F0
+ adds r1, r2
+ ldrb r3, [r1]
+ subs r3, r5
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r1, =gUnknown_082FB3F8
+ add r1, r8
+ ldrb r1, [r1]
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ ldr r2, =gStringVar4
+ bl AddTextPrinterParameterized
+_08029B10:
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0x3
+ bls _08029A36
+ ldr r1, [sp, 0x10]
+ lsls r0, r1, 24
+ lsrs r0, 24
+ mov r9, r0
+ ldr r2, [sp, 0xC]
+ cmp r9, r2
+ bcs _08029B2A
+ b _080299E2
+_08029B2A:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r0, [r4]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r4]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _08029F8E
+ .pool
+_08029B6C:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08029B90
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+ ldr r0, [r4]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+_08029B90:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ movs r0, 0
+ bl sub_8028C30
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _08029F8E
+ .pool
+_08029BB8:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x0000301c
+ adds r2, r0, r1
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1D
+ bhi _08029BD0
+ b _08029FF8
+_08029BD0:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08029BDE
+ b _08029FF8
+_08029BDE:
+ movs r0, 0
+ strh r0, [r2]
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ bl sub_8028C30
+ b _08029F88
+ .pool
+_08029BFC:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r5, =0x00003008
+ adds r0, r5
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r4]
+ ldr r1, =0x00003009
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r6, =gText_AnnouncingRankings
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x1
+ adds r1, r6, 0
+ bl GetStringWidth
+ adds r1, r0, 0
+ movs r0, 0xE0
+ subs r0, r1
+ lsrs r3, r0, 1
+ ldr r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ lsls r3, 24
+ lsrs r3, 24
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r6, 0
+ bl AddTextPrinterParameterized
+ b _08029F88
+ .pool
+_08029C60:
+ ldr r0, [sp, 0xC]
+ bl sub_80296A8
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r0, [r4]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r4]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _08029F8E
+ .pool
+_08029C9C:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08029CC0
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+ ldr r0, [r4]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+_08029CC0:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _08029F8E
+ .pool
+_08029CE0:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x0000301c
+ adds r2, r0, r1
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1D
+ bhi _08029CF8
+ b _08029FF8
+_08029CF8:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08029D06
+ b _08029FF8
+_08029D06:
+ movs r0, 0
+ strh r0, [r2]
+ movs r0, 0x5
+ bl PlaySE
+ bl sub_8027748
+ ldr r1, =0x00000bb7
+ cmp r0, r1
+ bhi _08029D3C
+ ldr r0, [r4]
+ ldr r2, =0x00003014
+ adds r0, r2
+ movs r1, 0x7F
+ strb r1, [r0]
+ b _08029D4C
+ .pool
+_08029D3C:
+ bl StopMapMusic
+ ldr r1, [r4]
+ ldr r0, =0x00003014
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+_08029D4C:
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0xF
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x5
+ bl FillBgTilemapBufferRect_Palette0
+ ldr r5, =gUnknown_02022CF8
+ ldr r0, [r5]
+ ldr r4, =0x00003009
+ adds r0, r4
+ ldrb r0, [r0]
+ bl RemoveWindow
+ ldr r6, =gUnknown_082F7BCC
+ adds r0, r6, 0
+ bl AddWindow
+ ldr r1, [r5]
+ adds r1, r4
+ strb r0, [r1]
+ ldr r0, [r5]
+ adds r0, r4
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ adds r0, r6, 0
+ bl sub_8029174
+ b _08029FF8
+ .pool
+_08029DA0:
+ ldr r0, =0x0000016f
+ bl PlayNewMapMusic
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r6, =0x00003008
+ adds r0, r6
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r4]
+ ldr r1, =0x00003009
+ mov r10, r1
+ add r0, r10
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r5, =gText_AnnouncingPrizes
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x1
+ adds r1, r5, 0
+ bl GetStringWidth
+ adds r1, r0, 0
+ movs r0, 0xE0
+ subs r0, r1
+ lsrs r3, r0, 1
+ ldr r0, [r4]
+ adds r0, r6
+ ldrb r0, [r0]
+ lsls r3, 24
+ lsrs r3, 24
+ movs r2, 0x1
+ mov r9, r2
+ str r2, [sp]
+ movs r1, 0xFF
+ mov r8, r1
+ str r1, [sp, 0x4]
+ movs r6, 0
+ str r6, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r5, 0
+ bl AddTextPrinterParameterized
+ bl DynamicPlaceholderTextUtil_Reset
+ bl sub_802762C
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r5, =gStringVar1
+ adds r1, r5, 0
+ bl CopyItemName
+ movs r0, 0
+ adds r1, r5, 0
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ ldr r7, =gStringVar4
+ ldr r1, =gText_FirstPlacePrize
+ adds r0, r7, 0
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+ ldr r0, [r4]
+ add r0, r10
+ ldrb r0, [r0]
+ mov r2, r9
+ str r2, [sp]
+ mov r1, r8
+ str r1, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r7, 0
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ bl sub_80279C8
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r6, r4, 0
+ cmp r4, 0
+ beq _08029EC8
+ cmp r4, 0x3
+ beq _08029EC8
+ bl DynamicPlaceholderTextUtil_Reset
+ bl sub_802762C
+ lsls r0, 16
+ lsrs r0, 16
+ adds r1, r5, 0
+ bl CopyItemName
+ movs r0, 0
+ adds r1, r5, 0
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ cmp r4, 0x2
+ bne _08029E9C
+ ldr r1, =gText_CantHoldAnyMore
+ adds r0, r7, 0
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+ b _08029EA8
+ .pool
+_08029E9C:
+ cmp r6, 0x1
+ bne _08029EA8
+ ldr r1, =gText_FilledStorageSpace
+ adds r0, r7, 0
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+_08029EA8:
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ ldr r2, =gStringVar4
+ movs r1, 0x29
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+_08029EC8:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r0, [r4]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r4]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _08029F8E
+ .pool
+_08029F08:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08029F2C
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+ ldr r0, [r4]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+_08029F2C:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, =0x0000020b
+ movs r1, 0x14
+ movs r2, 0xA
+ bl FadeOutAndFadeInNewMapMusic
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _08029F8E
+ .pool
+_08029F5C:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x0000301c
+ adds r2, r0, r1
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1D
+ bls _08029FF8
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08029FF8
+ movs r0, 0
+ strh r0, [r2]
+ movs r0, 0x5
+ bl PlaySE
+_08029F88:
+ ldr r1, [r4]
+_08029F8A:
+ ldr r2, =0x00003014
+ adds r1, r2
+_08029F8E:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08029FF8
+ .pool
+_08029FA8:
+ ldr r5, =0x00003008
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r6]
+ ldr r4, =0x00003009
+ adds r0, r4
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r6]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl RemoveWindow
+ ldr r0, [r6]
+ adds r0, r4
+ ldrb r0, [r0]
+ bl RemoveWindow
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, [r6]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+_08029FF8:
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802988C
+
+ thumb_func_start sub_802A010
+sub_802A010: @ 802A010
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ ldr r1, =gUnknown_02022CF8
+ ldr r2, [r1]
+ ldr r3, =0x00003014
+ adds r0, r2, r3
+ ldrb r6, [r0]
+ adds r7, r1, 0
+ cmp r6, 0x1
+ beq _0802A0CC
+ cmp r6, 0x1
+ bgt _0802A040
+ cmp r6, 0
+ beq _0802A04E
+ b _0802A2FC
+ .pool
+_0802A040:
+ cmp r6, 0x2
+ bne _0802A046
+ b _0802A194
+_0802A046:
+ cmp r6, 0x3
+ bne _0802A04C
+ b _0802A1D0
+_0802A04C:
+ b _0802A2FC
+_0802A04E:
+ ldr r0, =gUnknown_082F7BD4
+ mov r9, r0
+ bl AddWindow
+ ldr r1, [r7]
+ ldr r4, =0x00003008
+ adds r1, r4
+ strb r0, [r1]
+ movs r1, 0x8
+ add r1, r9
+ mov r8, r1
+ mov r0, r8
+ bl AddWindow
+ ldr r1, [r7]
+ ldr r2, =0x00003009
+ adds r1, r2
+ strb r0, [r1]
+ ldr r0, [r7]
+ adds r0, r4
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r7]
+ ldr r3, =0x00003009
+ adds r0, r3
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ mov r0, r9
+ bl sub_8029174
+ mov r0, r8
+ bl sub_8029074
+ ldr r1, [r7]
+ ldr r0, =0x00003014
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ ldr r0, [r7]
+ ldr r1, =0x00003020
+ adds r0, r1
+ strb r6, [r0]
+ ldr r0, [r7]
+ ldr r2, =0x00003024
+ adds r0, r2
+ strb r6, [r0]
+ b _0802A35E
+ .pool
+_0802A0CC:
+ ldr r3, =0x00003008
+ mov r8, r3
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r7]
+ ldr r1, =0x00003009
+ mov r10, r1
+ add r0, r10
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r7]
+ add r0, r8
+ ldrb r0, [r0]
+ ldr r2, =gText_WantToPlayAgain
+ movs r1, 0x5
+ str r1, [sp]
+ movs r3, 0xFF
+ mov r9, r3
+ str r3, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r10
+ ldrb r0, [r0]
+ ldr r2, =gText_Yes
+ str r6, [sp]
+ mov r3, r9
+ str r3, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x8
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r10
+ ldrb r0, [r0]
+ ldr r2, =gText_No
+ movs r1, 0x11
+ str r1, [sp]
+ mov r3, r9
+ str r3, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x8
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r10
+ ldrb r0, [r0]
+ ldr r2, =gText_SelectorArrow2
+ str r6, [sp]
+ mov r3, r9
+ str r3, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r8
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r0, [r7]
+ add r0, r10
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r7]
+ ldr r2, =0x00003014
+ adds r1, r2
+ b _0802A2EA
+ .pool
+_0802A194:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802A1B6
+ ldr r0, [r7]
+ ldr r3, =0x00003008
+ adds r0, r3
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+ ldr r0, [r7]
+ ldr r1, =0x00003009
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+_0802A1B6:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r1, [r7]
+ ldr r2, =0x00003014
+ adds r1, r2
+ b _0802A2EA
+ .pool
+_0802A1D0:
+ ldr r3, =0x00003020
+ adds r0, r2, r3
+ ldrb r5, [r0]
+ cmp r5, 0
+ bne _0802A1DC
+ movs r5, 0x1
+_0802A1DC:
+ ldr r0, =0x00003009
+ mov r8, r0
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r7]
+ add r0, r8
+ ldrb r0, [r0]
+ ldr r2, =gText_Yes
+ movs r1, 0x1
+ str r1, [sp]
+ movs r3, 0xFF
+ mov r10, r3
+ str r3, [sp, 0x4]
+ movs r1, 0
+ mov r9, r1
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x8
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r8
+ ldrb r0, [r0]
+ ldr r2, =gText_No
+ movs r1, 0x11
+ str r1, [sp]
+ mov r3, r10
+ str r3, [sp, 0x4]
+ mov r1, r9
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x8
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r8
+ ldrb r0, [r0]
+ ldr r2, =gText_SelectorArrow2
+ subs r1, r5, 0x1
+ lsls r1, 4
+ adds r1, 0x1
+ lsls r1, 24
+ lsrs r1, 24
+ str r1, [sp]
+ mov r3, r10
+ str r3, [sp, 0x4]
+ mov r1, r9
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r8
+ ldrb r0, [r0]
+ movs r1, 0x3
+ bl CopyWindowToVram
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r5, 0x1
+ movs r2, 0x1
+ ands r2, r1
+ cmp r2, 0
+ beq _0802A294
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, [r7]
+ ldr r3, =0x00003020
+ adds r1, r0, r3
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _0802A2E4
+ strb r5, [r1]
+ b _0802A2E4
+ .pool
+_0802A294:
+ movs r0, 0xC0
+ ands r0, r1
+ cmp r0, 0
+ beq _0802A2CC
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, [r7]
+ ldr r2, =0x00003020
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ beq _0802A2C2
+ cmp r0, 0x1
+ bgt _0802A2BC
+ cmp r0, 0
+ beq _0802A2C2
+ b _0802A35E
+ .pool
+_0802A2BC:
+ cmp r0, 0x2
+ beq _0802A2C8
+ b _0802A35E
+_0802A2C2:
+ movs r0, 0x2
+ strb r0, [r1]
+ b _0802A35E
+_0802A2C8:
+ strb r5, [r1]
+ b _0802A35E
+_0802A2CC:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0802A35E
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, [r7]
+ ldr r3, =0x00003020
+ adds r0, r3
+ movs r1, 0x2
+ strb r1, [r0]
+_0802A2E4:
+ ldr r1, [r7]
+ ldr r0, =0x00003014
+ adds r1, r0
+_0802A2EA:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802A35E
+ .pool
+_0802A2FC:
+ ldr r0, [r7]
+ ldr r2, =0x00003020
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ ldr r3, =0x00003024
+ adds r0, r3
+ strb r1, [r0]
+ ldr r0, [r7]
+ ldr r6, =0x00003008
+ adds r0, r6
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r7]
+ ldr r1, =0x00003009
+ adds r0, r1
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r7]
+ adds r0, r6
+ ldrb r0, [r0]
+ bl RemoveWindow
+ ldr r0, [r7]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ bl RemoveWindow
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, [r7]
+ movs r3, 0xC0
+ lsls r3, 6
+ adds r0, r3
+ movs r1, 0x1
+ str r1, [r0]
+_0802A35E:
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802A010
+
+ thumb_func_start sub_802A380
+sub_802A380: @ 802A380
+ push {r4-r6,lr}
+ sub sp, 0x10
+ ldr r5, =gUnknown_02022CF8
+ ldr r0, [r5]
+ ldr r6, =0x00003014
+ adds r0, r6
+ ldrb r4, [r0]
+ cmp r4, 0x1
+ beq _0802A3D8
+ cmp r4, 0x1
+ bgt _0802A3A4
+ cmp r4, 0
+ beq _0802A3AE
+ b _0802A420
+ .pool
+_0802A3A4:
+ cmp r4, 0x2
+ beq _0802A3EC
+ cmp r4, 0x3
+ beq _0802A404
+ b _0802A420
+_0802A3AE:
+ movs r0, 0
+ movs r1, 0
+ bl DrawDialogueFrame
+ ldr r2, =gText_SavingDontTurnOffPower
+ str r4, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized2
+ b _0802A410
+ .pool
+_0802A3D8:
+ movs r0, 0
+ movs r1, 0x3
+ bl CopyWindowToVram
+ ldr r1, [r5]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _0802A414
+ .pool
+_0802A3EC:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802A448
+ ldr r0, =sub_8153688
+ movs r1, 0
+ bl CreateTask
+ b _0802A410
+ .pool
+_0802A404:
+ ldr r0, =sub_8153688
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802A448
+_0802A410:
+ ldr r1, [r5]
+ adds r1, r6
+_0802A414:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802A448
+ .pool
+_0802A420:
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+_0802A448:
+ add sp, 0x10
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802A380
+
+ thumb_func_start sub_802A454
+sub_802A454: @ 802A454
+ push {r4-r6,lr}
+ sub sp, 0xC
+ ldr r1, =gUnknown_02022CF8
+ ldr r2, [r1]
+ ldr r6, =0x00003014
+ adds r0, r2, r6
+ ldrb r0, [r0]
+ adds r5, r1, 0
+ cmp r0, 0x1
+ beq _0802A4AC
+ cmp r0, 0x1
+ bgt _0802A47C
+ cmp r0, 0
+ beq _0802A482
+ b _0802A520
+ .pool
+_0802A47C:
+ cmp r0, 0x2
+ beq _0802A4F4
+ b _0802A520
+_0802A482:
+ ldr r4, =gUnknown_082F7BEC
+ adds r0, r4, 0
+ bl AddWindow
+ ldr r1, [r5]
+ ldr r2, =0x00003008
+ adds r1, r2
+ strb r0, [r1]
+ ldr r0, [r5]
+ adds r0, r2
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ adds r0, r4, 0
+ bl sub_8029174
+ b _0802A510
+ .pool
+_0802A4AC:
+ ldr r4, =0x00003008
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r5]
+ adds r0, r4
+ ldrb r0, [r0]
+ ldr r2, =gText_CommunicationStandby3
+ movs r1, 0x5
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r5]
+ adds r0, r4
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r5]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _0802A514
+ .pool
+_0802A4F4:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802A50A
+ ldr r0, [r5]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+_0802A50A:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+_0802A510:
+ ldr r1, [r5]
+ adds r1, r6
+_0802A514:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802A52C
+ .pool
+_0802A520:
+ ldr r0, [r5]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+_0802A52C:
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802A454
+
+ thumb_func_start sub_802A534
+sub_802A534: @ 802A534
+ push {r4,r5,lr}
+ sub sp, 0x8
+ ldr r5, =gUnknown_02022CF8
+ ldr r0, [r5]
+ ldr r4, =0x00003008
+ adds r0, r4
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r5]
+ adds r0, r4
+ ldrb r0, [r0]
+ bl RemoveWindow
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, [r5]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802A534
+
+ thumb_func_start sub_802A588
+sub_802A588: @ 802A588
+ push {r4-r7,lr}
+ sub sp, 0xC
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r7, =0x00003014
+ adds r2, r1, r7
+ ldrb r5, [r2]
+ adds r6, r0, 0
+ cmp r5, 0x1
+ beq _0802A610
+ cmp r5, 0x1
+ bgt _0802A5B0
+ cmp r5, 0
+ beq _0802A5BA
+ b _0802A6A4
+ .pool
+_0802A5B0:
+ cmp r5, 0x2
+ beq _0802A658
+ cmp r5, 0x3
+ beq _0802A684
+ b _0802A6A4
+_0802A5BA:
+ ldr r4, =gUnknown_082F7BE4
+ adds r0, r4, 0
+ bl AddWindow
+ ldr r1, [r6]
+ ldr r2, =0x00003008
+ adds r1, r2
+ strb r0, [r1]
+ ldr r0, [r6]
+ adds r0, r2
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ adds r0, r4, 0
+ bl sub_8029174
+ ldr r1, [r6]
+ adds r1, r7
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ ldr r0, [r6]
+ ldr r2, =0x0000301c
+ adds r1, r0, r2
+ movs r2, 0
+ strh r5, [r1]
+ ldr r1, =0x00003020
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r1, 0x4
+ adds r0, r1
+ strb r2, [r0]
+ b _0802A6EA
+ .pool
+_0802A610:
+ ldr r4, =0x00003008
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r6]
+ adds r0, r4
+ ldrb r0, [r0]
+ ldr r2, =gText_SomeoneDroppedOut
+ movs r1, 0x5
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r6]
+ adds r0, r4
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r6]
+ ldr r2, =0x00003014
+ adds r1, r2
+ b _0802A678
+ .pool
+_0802A658:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802A66E
+ ldr r0, [r6]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+_0802A66E:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r1, [r6]
+ adds r1, r7
+_0802A678:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802A6EA
+ .pool
+_0802A684:
+ ldr r0, =0x0000301c
+ adds r1, r0
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x77
+ bls _0802A6EA
+ ldrb r0, [r2]
+ adds r0, 0x1
+ strb r0, [r2]
+ b _0802A6EA
+ .pool
+_0802A6A4:
+ ldr r0, [r6]
+ ldr r1, =0x00003024
+ adds r0, r1
+ movs r1, 0x5
+ strb r1, [r0]
+ ldr r0, [r6]
+ ldr r4, =0x00003008
+ adds r0, r4
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r6]
+ adds r0, r4
+ ldrb r0, [r0]
+ bl RemoveWindow
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, [r6]
+ movs r2, 0xC0
+ lsls r2, 6
+ adds r0, r2
+ movs r1, 0x1
+ str r1, [r0]
+_0802A6EA:
+ add sp, 0xC
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802A588
+
+ thumb_func_start unused_0
+unused_0: @ 802A6FC
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003004
+ adds r0, r1
+ ldrb r0, [r0]
+ bl DestroyTask
+ ldr r0, [r4]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end unused_0
+
+ thumb_func_start nullsub_16
+nullsub_16: @ 802A728
+ bx lr
+ thumb_func_end nullsub_16
+
+ thumb_func_start sub_802A72C
+sub_802A72C: @ 802A72C
+ push {r4,lr}
+ ldr r2, =gUnknown_02022CF8
+ ldr r1, [r2]
+ ldr r3, =0x00003014
+ adds r1, r3
+ movs r3, 0
+ strb r3, [r1]
+ ldr r1, [r2]
+ movs r4, 0xC0
+ lsls r4, 6
+ adds r2, r1, r4
+ str r3, [r2]
+ ldr r2, =0x00003028
+ adds r1, r2
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802A72C
+
+ thumb_func_start sub_802A75C
+sub_802A75C: @ 802A75C
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r1, =0x00003028
+ adds r0, r1
+ ldr r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802A75C
+
+ thumb_func_start sub_802A770
+sub_802A770: @ 802A770
+ push {lr}
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x1
+ beq _0802A78C
+ movs r0, 0x1
+ b _0802A78E
+ .pool
+_0802A78C:
+ movs r0, 0
+_0802A78E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802A770
+
+ thumb_func_start sub_802A794
+sub_802A794: @ 802A794
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r1, =0x00003024
+ adds r0, r1
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802A794
+
+ thumb_func_start sub_802A7A8
+sub_802A7A8: @ 802A7A8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ movs r3, 0xC0
+ lsls r3, 19
+ movs r4, 0xC0
+ lsls r4, 9
+ add r0, sp, 0x4
+ mov r8, r0
+ mov r2, sp
+ movs r6, 0
+ ldr r1, =0x040000d4
+ movs r5, 0x80
+ lsls r5, 5
+ ldr r7, =0x81000800
+ movs r0, 0x81
+ lsls r0, 24
+ mov r12, r0
+_0802A7CE:
+ strh r6, [r2]
+ mov r0, sp
+ str r0, [r1]
+ str r3, [r1, 0x4]
+ str r7, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r3, r5
+ subs r4, r5
+ cmp r4, r5
+ bhi _0802A7CE
+ strh r6, [r2]
+ mov r2, sp
+ str r2, [r1]
+ str r3, [r1, 0x4]
+ lsrs r0, r4, 1
+ mov r2, r12
+ orrs r0, r2
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ movs r0, 0xE0
+ lsls r0, 19
+ movs r3, 0x80
+ lsls r3, 3
+ movs r4, 0
+ str r4, [sp, 0x4]
+ ldr r2, =0x040000d4
+ mov r1, r8
+ str r1, [r2]
+ str r0, [r2, 0x4]
+ lsrs r0, r3, 2
+ movs r1, 0x85
+ lsls r1, 24
+ orrs r0, r1
+ str r0, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ movs r1, 0xA0
+ lsls r1, 19
+ mov r0, sp
+ strh r4, [r0]
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ lsrs r3, 1
+ movs r0, 0x81
+ lsls r0, 24
+ orrs r3, r0
+ str r3, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ movs r0, 0
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0
+ bl ResetBgsAndClearDma3BusyFlags
+ ldr r1, =gUnknown_082F7BA4
+ movs r0, 0
+ movs r2, 0x4
+ bl InitBgsFromTemplates
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ bl InitStandardTextBoxWindows
+ bl sub_8197200
+ movs r1, 0x82
+ lsls r1, 5
+ movs r0, 0
+ bl SetGpuReg
+ ldr r4, =gUnknown_02022CF8
+ ldr r1, [r4]
+ movs r0, 0x3
+ bl SetBgTilemapBuffer
+ ldr r1, [r4]
+ movs r2, 0x80
+ lsls r2, 5
+ adds r1, r2
+ movs r0, 0x1
+ bl SetBgTilemapBuffer
+ ldr r1, [r4]
+ movs r0, 0x80
+ lsls r0, 6
+ adds r1, r0
+ movs r0, 0x2
+ bl SetBgTilemapBuffer
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802A7A8
+
+ thumb_func_start sub_802A8E8
+sub_802A8E8: @ 802A8E8
+ push {lr}
+ sub sp, 0x4
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r2, =0x00003018
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, 0x5
+ bhi _0802A982
+ lsls r0, 2
+ ldr r1, =_0802A910
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802A910:
+ .4byte _0802A928
+ .4byte _0802A938
+ .4byte _0802A93E
+ .4byte _0802A94C
+ .4byte _0802A964
+ .4byte _0802A972
+_0802A928:
+ ldr r0, =gDodrioBerryBgPal1
+ movs r1, 0
+ movs r2, 0x40
+ bl LoadPalette
+ b _0802A98A
+ .pool
+_0802A938:
+ bl reset_temp_tile_data_buffers
+ b _0802A98A
+_0802A93E:
+ ldr r1, =gDodrioBerryBgGfx1
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x3
+ b _0802A954
+ .pool
+_0802A94C:
+ ldr r1, =gDodrioBerryBgGfx2
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x1
+_0802A954:
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ b _0802A98A
+ .pool
+_0802A964:
+ bl free_temp_tile_data_buffers_if_possible
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0802A98A
+ b _0802A998
+_0802A972:
+ movs r0, 0x3
+ bl stdpal_get
+ movs r1, 0xD0
+ movs r2, 0x20
+ bl LoadPalette
+ b _0802A98A
+_0802A982:
+ movs r0, 0
+ strb r0, [r1]
+ movs r0, 0x1
+ b _0802A99A
+_0802A98A:
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x00003018
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+_0802A998:
+ movs r0, 0
+_0802A99A:
+ add sp, 0x4
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802A8E8
+
+ .align 2, 0 @ don't pad with nop
diff --git a/asm/m4a_1.s b/asm/m4a_1.s
index 361f66c1a..cab4ed174 100644
--- a/asm/m4a_1.s
+++ b/asm/m4a_1.s
@@ -1907,3 +1907,28 @@ _081DDD90:
thumb_func_end ply_mod
.align 2, 0 @ Don't pad with nop.
+
+ .bss
+gUnknown_03001300:
+ .space 0x40
+ .size gUnknown_03001300, .-gUnknown_03001300
+
+ .global gMPlayTrack_BGM
+gMPlayTrack_BGM:
+ .space 0x320
+ .size gMPlayTrack_BGM, .-gMPlayTrack_BGM
+
+ .global gMPlayTrack_SE1
+gMPlayTrack_SE1:
+ .space 0xF0
+ .size gMPlayTrack_SE1, .-gMPlayTrack_SE1
+
+ .global gMPlayTrack_SE2
+gMPlayTrack_SE2:
+ .space 0x2D0
+ .size gMPlayTrack_SE2, .-gMPlayTrack_SE2
+
+ .global gMPlayTrack_SE3
+gMPlayTrack_SE3:
+ .space 0x50
+ .size gMPlayTrack_SE3, .-gMPlayTrack_SE3
diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc
index 6ccd8d505..32d9de82c 100644
--- a/asm/macros/battle_anim_script.inc
+++ b/asm/macros/battle_anim_script.inc
@@ -153,19 +153,19 @@
.byte \param4
.endm
- .macro loopsewithpan se:req, param1:req, param2:req, param3:req
+ .macro loopsewithpan se:req, pan:req, wait:req, times:req
.byte 0x1c
.2byte \se
- .byte \param1
- .byte \param2
- .byte \param3
+ .byte \pan
+ .byte \wait
+ .byte \times
.endm
- .macro waitplaysewithpan se:req, param1:req, param2:req
+ .macro waitplaysewithpan se:req, pan:req, wait:req
.byte 0x1d
.2byte \se
- .byte \param1
- .byte \param2
+ .byte \pan
+ .byte \wait
.endm
.macro setbldcnt param0:req
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
index ed32e4643..997af51cc 100644
--- a/asm/macros/battle_script.inc
+++ b/asm/macros/battle_script.inc
@@ -403,6 +403,38 @@
.byte \param0
.byte \param1
.endm
+
+ @ Help macros for 5 uses of moveend command
+
+ @ All cases
+ .macro moveendall
+ setbyte sMOVEEND_STATE, 0
+ moveend 0, 0
+ .endm
+
+ @ Chosen case
+ .macro moveendcase case:req
+ setbyte sMOVEEND_STATE, \case
+ moveend 1, 0
+ .endm
+
+ @ All cases from (inclusive)
+ .macro moveendfrom from:req
+ setbyte sMOVEEND_STATE, \from
+ moveend 0, 0
+ .endm
+
+ @ All cases from 0 to (not inclusive)
+ .macro moveendto to:req
+ setbyte sMOVEEND_STATE, 0
+ moveend 2, \to
+ .endm
+
+ @ Cases from (inclusive) to (not inclusive)
+ .macro moveendfromto from:req, to:req
+ setbyte sMOVEEND_STATE, \from
+ moveend 2, \to
+ .endm
.macro typecalc2
.byte 0x4a
@@ -1092,7 +1124,7 @@
.byte 0xdd
.endm
- .macro asistattackselect param0:req
+ .macro assistattackselect param0:req
.byte 0xde
.4byte \param0
.endm
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index 8b3466fe7..e00bdb600 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -77,7 +77,7 @@
.endm
@ Executes a script stored in a default RAM location.
- .macro gotoram
+ .macro returnram
.byte 0x0c
.endm
@@ -1440,7 +1440,7 @@
.endm
@ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020375C0.
- .macro execram
+ .macro gotoram
.byte 0xcf
.endm
diff --git a/asm/pokemon_jump.s b/asm/pokemon_jump.s
new file mode 100755
index 000000000..074a87474
--- /dev/null
+++ b/asm/pokemon_jump.s
@@ -0,0 +1,9040 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_802A9A8
+sub_802A9A8: @ 802A9A8
+ push {r4-r7,lr}
+ adds r6, r1, 0
+ lsls r0, 16
+ lsrs r7, r0, 16
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802AA3C
+ ldr r5, =gUnknown_02022CFC
+ ldr r0, =0x000083b0
+ bl Alloc
+ str r0, [r5]
+ cmp r0, 0
+ beq _0802AA3C
+ bl ResetTasks
+ ldr r0, =sub_802ACA0
+ movs r1, 0x1
+ bl CreateTask
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, [r5]
+ movs r1, 0
+ strh r1, [r0, 0x8]
+ str r6, [r0]
+ strb r4, [r0, 0x4]
+ bl GetMultiplayerId
+ ldr r1, [r5]
+ strb r0, [r1, 0x6]
+ ldr r0, [r5]
+ ldrb r2, [r0, 0x6]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 2
+ ldr r2, =0x000082a8
+ adds r1, r2
+ adds r0, r1
+ movs r1, 0x64
+ muls r1, r7
+ ldr r2, =gPlayerParty
+ adds r1, r2
+ bl sub_802AC2C
+ ldr r0, [r5]
+ bl sub_802AA60
+ ldr r2, [r5]
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl SetWordTaskArg
+ ldr r0, =sub_802AC6C
+ bl SetMainCallback2
+ b _0802AA42
+ .pool
+_0802AA3C:
+ adds r0, r6, 0
+ bl SetMainCallback2
+_0802AA42:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802A9A8
+
+ thumb_func_start sub_802AA48
+sub_802AA48: @ 802AA48
+ push {lr}
+ bl sub_802D0AC
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ bl Free
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AA48
+
+ thumb_func_start sub_802AA60
+sub_802AA60: @ 802AA60
+ push {r4,lr}
+ adds r4, r0, 0
+ bl GetLinkPlayerCount
+ movs r2, 0
+ strb r0, [r4, 0x5]
+ adds r1, r4, 0
+ adds r1, 0x70
+ movs r0, 0x5
+ strb r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x72
+ strh r2, [r0]
+ bl sub_802AB20
+ adds r0, r4, 0
+ bl sub_802AA94
+ ldrb r0, [r4, 0x5]
+ cmp r0, 0x5
+ bne _0802AA8E
+ bl sub_802E3A8
+_0802AA8E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802AA60
+
+ thumb_func_start sub_802AA94
+sub_802AA94: @ 802AA94
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r0, 0x6
+ str r0, [r4, 0x14]
+ str r0, [r4, 0x18]
+ adds r0, r4, 0
+ adds r0, 0x4A
+ movs r6, 0
+ movs r5, 0
+ strh r5, [r0]
+ str r5, [r4, 0x1C]
+ str r5, [r4, 0x5C]
+ bl GetMultiplayerId
+ movs r1, 0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802AABA
+ movs r1, 0x1
+_0802AABA:
+ adds r0, r4, 0
+ adds r0, 0x47
+ strb r1, [r0]
+ strh r5, [r4, 0x8]
+ strh r5, [r4, 0xA]
+ strh r5, [r4, 0xC]
+ strh r5, [r4, 0xE]
+ str r5, [r4, 0x58]
+ strh r5, [r4, 0x3A]
+ subs r0, 0x3
+ strb r6, [r0]
+ str r5, [r4, 0x54]
+ adds r0, 0x2
+ strb r6, [r0]
+ adds r0, 0x3
+ strb r6, [r0]
+ subs r0, 0x1
+ movs r1, 0x1
+ strb r1, [r0]
+ str r5, [r4, 0x78]
+ adds r0, 0x29
+ strb r6, [r0]
+ adds r0, 0x3
+ strh r5, [r0]
+ str r1, [r4, 0x60]
+ subs r0, 0x27
+ strb r6, [r0]
+ str r5, [r4, 0x68]
+ str r5, [r4, 0x64]
+ str r5, [r4, 0x2C]
+ str r5, [r4, 0x30]
+ bl sub_802AB98
+ bl sub_802C0E8
+ movs r2, 0
+ adds r5, r4, 0
+ adds r5, 0x7C
+ movs r3, 0
+ adds r1, r4, 0
+ adds r1, 0x9A
+_0802AB0C:
+ adds r0, r5, r2
+ strb r3, [r0]
+ strh r3, [r1]
+ adds r1, 0x2
+ adds r2, 0x1
+ cmp r2, 0x4
+ ble _0802AB0C
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802AA94
+
+ thumb_func_start sub_802AB20
+sub_802AB20: @ 802AB20
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r7, =gUnknown_02022CFC
+ movs r6, 0
+ movs r5, 0
+ ldr r0, =gPkmnJumpSpecies
+ mov r8, r0
+ movs r4, 0x4
+_0802AB32:
+ ldr r0, [r7]
+ adds r0, r5
+ ldr r1, =0x000082a8
+ adds r0, r1
+ ldrh r0, [r0]
+ bl sub_802AC00
+ lsls r0, 16
+ ldr r1, [r7]
+ adds r1, r6
+ asrs r0, 14
+ add r0, r8
+ ldrh r0, [r0, 0x2]
+ ldr r2, =0x000082f0
+ adds r1, r2
+ strh r0, [r1]
+ adds r6, 0x28
+ adds r5, 0xC
+ subs r4, 0x1
+ cmp r4, 0
+ bge _0802AB32
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldr r0, =0x000083ac
+ adds r3, r1, r0
+ ldrb r2, [r1, 0x6]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ ldr r2, =0x000082e4
+ adds r0, r2
+ adds r1, r0
+ str r1, [r3]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AB20
+
+ thumb_func_start sub_802AB98
+sub_802AB98: @ 802AB98
+ push {r4-r7,lr}
+ movs r5, 0
+ ldr r6, =gUnknown_02022CFC
+ movs r4, 0
+ movs r3, 0
+_0802ABA2:
+ ldr r2, [r6]
+ adds r1, r2, r3
+ ldr r7, =0x000082f2
+ adds r0, r1, r7
+ strh r4, [r0]
+ adds r7, 0x2
+ adds r0, r1, r7
+ strh r4, [r0]
+ ldr r0, =0x000082f6
+ adds r1, r0
+ strh r4, [r1]
+ ldr r1, =0x000082e4
+ adds r0, r2, r1
+ adds r0, r3
+ str r4, [r0]
+ subs r7, 0xC
+ adds r0, r2, r7
+ adds r0, r3
+ ldr r1, =0x7fffffff
+ str r1, [r0]
+ ldr r1, =0x000082f8
+ adds r0, r2, r1
+ adds r0, r3
+ str r4, [r0]
+ adds r2, 0x8B
+ adds r2, r5
+ movs r0, 0x9
+ strb r0, [r2]
+ adds r3, 0x28
+ adds r5, 0x1
+ cmp r5, 0x4
+ ble _0802ABA2
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AB98
+
+ thumb_func_start sub_802AC00
+sub_802AC00: @ 802AC00
+ push {lr}
+ lsls r0, 16
+ lsrs r3, r0, 16
+ movs r1, 0
+ ldr r2, =gPkmnJumpSpecies
+_0802AC0A:
+ ldrh r0, [r2]
+ cmp r0, r3
+ bne _0802AC1C
+ lsls r0, r1, 16
+ asrs r0, 16
+ b _0802AC28
+ .pool
+_0802AC1C:
+ adds r2, 0x4
+ adds r1, 0x1
+ cmp r1, 0x63
+ bls _0802AC0A
+ movs r0, 0x1
+ negs r0, r0
+_0802AC28:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802AC00
+
+ thumb_func_start sub_802AC2C
+sub_802AC2C: @ 802AC2C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ adds r0, r4, 0
+ movs r1, 0xB
+ bl GetMonData
+ strh r0, [r5]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl GetMonData
+ str r0, [r5, 0x4]
+ adds r0, r4, 0
+ movs r1, 0
+ bl GetMonData
+ str r0, [r5, 0x8]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802AC2C
+
+ thumb_func_start sub_802AC58
+sub_802AC58: @ 802AC58
+ push {lr}
+ bl TransferPlttBuffer
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802AC58
+
+ thumb_func_start sub_802AC6C
+sub_802AC6C: @ 802AC6C
+ push {lr}
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802AC6C
+
+ thumb_func_start sub_802AC84
+sub_802AC84: @ 802AC84
+ push {lr}
+ movs r1, 0x1
+ bl CreateTask
+ ldr r2, =gUnknown_02022CFC
+ ldr r1, [r2]
+ movs r3, 0
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ strh r3, [r0, 0x8]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AC84
+
+ thumb_func_start sub_802ACA0
+sub_802ACA0: @ 802ACA0
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrh r0, [r0, 0x8]
+ adds r2, r1, 0
+ cmp r0, 0x5
+ bls _0802ACB6
+ b _0802AE08
+_0802ACB6:
+ lsls r0, 2
+ ldr r1, =_0802ACC8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802ACC8:
+ .4byte _0802ACE0
+ .4byte _0802AD0C
+ .4byte _0802AD3C
+ .4byte _0802AD68
+ .4byte _0802ADA4
+ .4byte _0802ADD0
+_0802ACE0:
+ movs r0, 0
+ bl SetVBlankCallback
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ ldr r0, =sub_802BD84
+ movs r1, 0x5
+ bl sub_802BE60
+ movs r0, 0x4
+ bl FadeOutMapMusic
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ b _0802ADC0
+ .pool
+_0802AD0C:
+ ldr r0, =sub_802BD84
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802AE08
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ adds r0, 0xA4
+ bl sub_802D074
+ bl sub_800E0E8
+ movs r0, 0
+ movs r1, 0
+ bl CreateWirelessStatusIndicatorSprite
+ ldr r1, [r4]
+ b _0802ADC0
+ .pool
+_0802AD3C:
+ bl sub_802D0F0
+ cmp r0, 0
+ bne _0802AE08
+ bl IsNotWaitingForBGMStop
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0802AE08
+ ldr r0, =0x0000021a
+ movs r1, 0x8
+ bl FadeOutAndPlayNewMapMusic
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ b _0802ADC0
+ .pool
+_0802AD68:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802AE08
+ movs r4, 0x1
+ negs r4, r4
+ adds r0, r4, 0
+ movs r1, 0x10
+ movs r2, 0
+ bl BlendPalettes
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ adds r1, r4, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r0, =sub_802AC58
+ bl SetVBlankCallback
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ b _0802ADC0
+ .pool
+_0802ADA4:
+ bl UpdatePaletteFade
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ bne _0802AE08
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ strb r2, [r0, 0x7]
+ ldr r1, [r1]
+_0802ADC0:
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802AE08
+ .pool
+_0802ADD0:
+ ldr r0, [r2]
+ ldrb r1, [r0, 0x7]
+ adds r1, 0x1
+ strb r1, [r0, 0x7]
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0x13
+ bls _0802AE08
+ adds r0, r1, 0
+ adds r0, 0x47
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802ADF8
+ ldr r0, =sub_802AF80
+ bl sub_802AC84
+ b _0802ADFE
+ .pool
+_0802ADF8:
+ ldr r0, =sub_802B194
+ bl sub_802AC84
+_0802ADFE:
+ bl sub_802BE80
+ adds r0, r4, 0
+ bl DestroyTask
+_0802AE08:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802ACA0
+
+ thumb_func_start sub_802AE14
+sub_802AE14: @ 802AE14
+ push {lr}
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _0802AE34
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldr r0, =0x00001111
+ str r0, [r1, 0x30]
+ movs r0, 0x1
+ str r0, [r1, 0x2C]
+ b _0802AE46
+ .pool
+_0802AE34:
+ ldr r0, =gUnknown_02022CFC
+ ldr r2, [r0]
+ subs r1, 0x1
+ movs r0, 0x1
+ lsls r0, r1
+ subs r0, 0x1
+ str r0, [r2, 0x30]
+ movs r0, 0
+ str r0, [r2, 0x2C]
+_0802AE46:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AE14
+
+ thumb_func_start sub_802AE50
+sub_802AE50: @ 802AE50
+ push {r4-r6,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ adds r1, 0x70
+ movs r2, 0
+ strb r0, [r1]
+ ldr r0, [r4]
+ movs r3, 0
+ strh r2, [r0, 0x8]
+ strh r2, [r0, 0xA]
+ adds r0, 0x48
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0x49
+ strb r3, [r0]
+ movs r3, 0x1
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x5]
+ cmp r3, r0
+ bge _0802AE94
+ adds r6, r4, 0
+ ldr r5, =0x000082fc
+ movs r4, 0
+ movs r2, 0x28
+_0802AE82:
+ ldr r1, [r6]
+ adds r0, r1, r5
+ adds r0, r2
+ str r4, [r0]
+ adds r2, 0x28
+ adds r3, 0x1
+ ldrb r1, [r1, 0x5]
+ cmp r3, r1
+ blt _0802AE82
+_0802AE94:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AE50
+
+ thumb_func_start sub_802AEA4
+sub_802AEA4: @ 802AEA4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ movs r4, 0x1
+ movs r0, 0
+ str r0, [sp, 0x4]
+ ldr r7, =gUnknown_02022CFC
+ ldr r0, [r7]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ bge _0802AF48
+ adds r1, r7, 0
+ mov r10, r1
+ movs r2, 0x2
+ add r2, sp
+ mov r8, r2
+ ldr r3, =0x0000830c
+ mov r9, r3
+ movs r6, 0x28
+_0802AED0:
+ mov r1, r10
+ ldr r0, [r1]
+ adds r1, r0, r6
+ ldr r2, =0x000082f4
+ adds r1, r2
+ ldrh r5, [r1]
+ add r0, r9
+ adds r1, r4, 0
+ mov r2, sp
+ mov r3, r8
+ bl sub_802E264
+ cmp r0, 0
+ beq _0802AF10
+ ldr r2, [r7]
+ lsls r1, r4, 1
+ adds r0, r2, 0
+ adds r0, 0x90
+ adds r0, r1
+ mov r3, r8
+ ldrh r1, [r3]
+ strh r1, [r0]
+ adds r2, 0x8B
+ adds r2, r4
+ mov r0, sp
+ ldrb r0, [r0]
+ strb r0, [r2]
+ ldr r0, [r7]
+ adds r0, r6
+ ldr r1, =0x000082f6
+ adds r0, r1
+ strh r5, [r0]
+_0802AF10:
+ mov r2, r10
+ ldr r1, [r2]
+ ldr r3, =0x000082fc
+ adds r0, r1, r3
+ adds r0, r6
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0802AF36
+ adds r0, r1, 0
+ adds r0, 0x8B
+ adds r0, r4
+ adds r1, 0x70
+ ldrb r0, [r0]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bne _0802AF36
+ ldr r0, [sp, 0x4]
+ adds r0, 0x1
+ str r0, [sp, 0x4]
+_0802AF36:
+ movs r1, 0x28
+ add r9, r1
+ adds r6, 0x28
+ adds r4, 0x1
+ ldr r7, =gUnknown_02022CFC
+ ldr r0, [r7]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ blt _0802AED0
+_0802AF48:
+ ldr r2, =gUnknown_02022CFC
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x5]
+ subs r0, 0x1
+ ldr r3, [sp, 0x4]
+ cmp r3, r0
+ bne _0802AF5C
+ adds r1, 0x49
+ movs r0, 0x1
+ strb r0, [r1]
+_0802AF5C:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AEA4
+
+ thumb_func_start sub_802AF80
+sub_802AF80: @ 802AF80
+ push {r4,r5,lr}
+ bl sub_802AEA4
+ bl sub_802C43C
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x48
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0802AFB2
+ adds r0, r1, 0
+ adds r0, 0x49
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802AFB2
+ adds r0, r1, 0
+ adds r0, 0x4C
+ ldrb r0, [r0]
+ bl sub_802AE50
+ movs r0, 0x3
+ bl sub_802AE14
+_0802AFB2:
+ ldr r4, =gUnknown_02022CFC
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0x48
+ ldrb r5, [r0]
+ cmp r5, 0x1
+ bne _0802AFEE
+ ldr r1, =gUnknown_082FB5F4
+ adds r0, 0x28
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _0802AFEE
+ ldr r0, [r4]
+ adds r0, 0x48
+ strb r1, [r0]
+ ldr r1, [r4]
+ ldrb r2, [r1, 0x6]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ ldr r2, =0x000082fc
+ adds r1, r2
+ adds r1, r0
+ str r5, [r1]
+_0802AFEE:
+ bl sub_802C1DC
+ bl sub_802B008
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AF80
+
+ thumb_func_start sub_802B008
+sub_802B008: @ 802B008
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldr r0, [r1, 0x2C]
+ cmp r0, 0
+ bne _0802B01E
+ ldr r2, =0x000082e4
+ adds r0, r1, r2
+ adds r1, 0x70
+ bl sub_802E138
+_0802B01E:
+ ldr r1, [r4]
+ ldr r2, [r1, 0x30]
+ ldr r0, =0x00001111
+ cmp r2, r0
+ beq _0802B030
+ ldr r0, [r1, 0x2C]
+ adds r0, 0x1
+ ands r0, r2
+ str r0, [r1, 0x2C]
+_0802B030:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802B008
+
+ thumb_func_start sub_802B044
+sub_802B044: @ 802B044
+ ldr r2, =gUnknown_02022CFC
+ ldr r1, [r2]
+ adds r1, 0x70
+ movs r3, 0
+ strb r0, [r1]
+ ldr r0, [r2]
+ strh r3, [r0, 0x8]
+ strh r3, [r0, 0xA]
+ adds r0, 0x48
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r1, [r2]
+ ldrb r2, [r1, 0x6]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ ldr r2, =0x000082fc
+ adds r1, r2
+ adds r1, r0
+ str r3, [r1]
+ bx lr
+ .pool
+ thumb_func_end sub_802B044
+
+ thumb_func_start sub_802B078
+sub_802B078: @ 802B078
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x10
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldr r2, =0x000082f4
+ adds r1, r0, r2
+ ldrh r1, [r1]
+ mov r8, r1
+ ldr r3, =0x000082e4
+ adds r0, r3
+ mov r1, sp
+ bl sub_802E1BC
+ cmp r0, 0
+ beq _0802B128
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x6]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r3, =0x000082fc
+ adds r0, r2, r3
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0802B0C6
+ mov r0, sp
+ adds r1, r2, 0
+ adds r1, 0x70
+ ldrb r0, [r0]
+ ldrb r1, [r1]
+ cmp r0, r1
+ beq _0802B0C6
+ mov r0, sp
+ ldrb r0, [r0]
+ bl sub_802B044
+_0802B0C6:
+ ldr r3, =gUnknown_02022CFC
+ ldr r2, [r3]
+ ldr r0, [r2, 0x78]
+ ldr r1, [sp, 0x8]
+ cmp r0, r1
+ beq _0802B108
+ str r1, [r2, 0x78]
+ movs r4, 0x1
+ str r4, [r2, 0x5C]
+ mov r0, sp
+ ldrb r1, [r0, 0x1]
+ adds r0, r2, 0
+ adds r0, 0x71
+ strb r1, [r0]
+ ldr r0, [r3]
+ adds r1, r0, 0
+ adds r1, 0x71
+ ldrb r1, [r1]
+ cmp r1, 0
+ beq _0802B104
+ adds r0, 0x4D
+ strb r4, [r0]
+ b _0802B108
+ .pool
+_0802B104:
+ adds r0, 0x4D
+ strb r1, [r0]
+_0802B108:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ mov r0, sp
+ ldrh r0, [r0, 0x2]
+ adds r2, r1, 0
+ adds r2, 0x72
+ strh r0, [r2]
+ mov r0, sp
+ ldrh r2, [r0, 0x4]
+ adds r0, r1, 0
+ adds r0, 0x74
+ strh r2, [r0]
+ ldr r0, =0x000082f6
+ adds r1, r0
+ mov r2, r8
+ strh r2, [r1]
+_0802B128:
+ movs r4, 0x1
+ ldr r2, =gUnknown_02022CFC
+ ldr r0, [r2]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ bge _0802B176
+ adds r7, r2, 0
+ ldr r6, =0x0000830c
+ movs r5, 0x28
+_0802B13A:
+ ldr r1, [r7]
+ ldrb r3, [r1, 0x6]
+ cmp r4, r3
+ beq _0802B168
+ adds r0, r1, r5
+ ldr r3, =0x000082f4
+ adds r0, r3
+ ldrh r0, [r0]
+ mov r8, r0
+ adds r0, r1, r6
+ adds r1, r4, 0
+ str r2, [sp, 0xC]
+ bl sub_802E2D0
+ ldr r2, [sp, 0xC]
+ cmp r0, 0
+ beq _0802B168
+ ldr r0, [r7]
+ adds r0, r5
+ ldr r1, =0x000082f6
+ adds r0, r1
+ mov r3, r8
+ strh r3, [r0]
+_0802B168:
+ adds r6, 0x28
+ adds r5, 0x28
+ adds r4, 0x1
+ ldr r0, [r2]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ blt _0802B13A
+_0802B176:
+ add sp, 0x10
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802B078
+
+ thumb_func_start sub_802B194
+sub_802B194: @ 802B194
+ push {r4,lr}
+ bl sub_802B078
+ ldr r4, =gUnknown_02022CFC
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0x48
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802B1E0
+ ldr r1, =gUnknown_082FB618
+ adds r0, r2, 0
+ adds r0, 0x70
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _0802B1E0
+ ldr r0, [r4]
+ adds r0, 0x48
+ strb r1, [r0]
+ ldr r1, [r4]
+ ldrb r2, [r1, 0x6]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ ldr r2, =0x000082fc
+ adds r1, r2
+ adds r1, r0
+ movs r0, 0x1
+ str r0, [r1]
+ movs r0, 0x3
+ bl sub_802AE14
+_0802B1E0:
+ bl sub_802C1DC
+ bl sub_802B1FC
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802B194
+
+ thumb_func_start sub_802B1FC
+sub_802B1FC: @ 802B1FC
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r2, [r4]
+ ldr r0, [r2, 0x2C]
+ cmp r0, 0
+ bne _0802B224
+ ldrb r1, [r2, 0x6]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, =0x000082e4
+ adds r0, r1
+ adds r0, r2, r0
+ adds r1, r2, 0
+ adds r1, 0x70
+ ldrb r1, [r1]
+ adds r2, 0x42
+ ldrh r2, [r2]
+ bl sub_802E234
+_0802B224:
+ ldr r1, [r4]
+ ldr r2, [r1, 0x30]
+ ldr r0, =0x00001111
+ cmp r2, r0
+ beq _0802B236
+ ldr r0, [r1, 0x2C]
+ adds r0, 0x1
+ ands r0, r2
+ str r0, [r1, 0x2C]
+_0802B236:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802B1FC
+
+ thumb_func_start sub_802B248
+sub_802B248: @ 802B248
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0
+ beq _0802B260
+ cmp r0, 0x1
+ beq _0802B26E
+ b _0802B294
+ .pool
+_0802B260:
+ movs r0, 0x3
+ bl sub_802AE14
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B26E:
+ bl sub_802B7E0
+ cmp r0, 0
+ bne _0802B294
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x4A
+ ldrh r0, [r0]
+ adds r2, r1, 0
+ adds r2, 0x72
+ strh r0, [r2]
+ adds r1, 0x4C
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r0, 0
+ b _0802B296
+ .pool
+_0802B294:
+ movs r0, 0x1
+_0802B296:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B248
+
+ thumb_func_start sub_802B29C
+sub_802B29C: @ 802B29C
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0
+ beq _0802B2B4
+ cmp r0, 0x1
+ beq _0802B2CA
+ movs r0, 0x1
+ b _0802B2CE
+ .pool
+_0802B2B4:
+ movs r0, 0
+ bl sub_802AE14
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x72
+ ldrh r0, [r0]
+ str r0, [r1, 0x24]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B2CA:
+ bl sub_802B7E0
+_0802B2CE:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B29C
+
+ thumb_func_start sub_802B2D4
+sub_802B2D4: @ 802B2D4
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ cmp r0, 0
+ beq _0802B2EC
+ cmp r0, 0x1
+ beq _0802B300
+ b _0802B314
+ .pool
+_0802B2EC:
+ bl sub_802C0E8
+ movs r0, 0x5
+ bl sub_802AE14
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B314
+_0802B300:
+ adds r0, r1, 0
+ adds r0, 0x49
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802B314
+ adds r1, 0x4C
+ movs r0, 0x2
+ strb r0, [r1]
+ movs r0, 0
+ b _0802B316
+_0802B314:
+ movs r0, 0x1
+_0802B316:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B2D4
+
+ thumb_func_start sub_802B31C
+sub_802B31C: @ 802B31C
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0
+ beq _0802B334
+ cmp r0, 0x1
+ beq _0802B352
+ b _0802B35E
+ .pool
+_0802B334:
+ bl sub_802C0E8
+ movs r0, 0
+ bl sub_802AE14
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x72
+ ldrh r0, [r0]
+ adds r2, r1, 0
+ adds r2, 0x4A
+ strh r0, [r2]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B352:
+ bl sub_802C70C
+ cmp r0, 0
+ beq _0802B35E
+ movs r0, 0
+ b _0802B360
+_0802B35E:
+ movs r0, 0x1
+_0802B360:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B31C
+
+ thumb_func_start sub_802B368
+sub_802B368: @ 802B368
+ push {lr}
+ bl sub_802B8CC
+ cmp r0, 0
+ bne _0802B390
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x4A
+ ldrh r0, [r0]
+ adds r2, r1, 0
+ adds r2, 0x72
+ strh r0, [r2]
+ adds r1, 0x4C
+ movs r0, 0x1
+ strb r0, [r1]
+ b _0802B3AA
+ .pool
+_0802B390:
+ bl sub_802C538
+ cmp r0, 0
+ beq _0802B39C
+ movs r0, 0x1
+ b _0802B3AC
+_0802B39C:
+ bl sub_802C0B8
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ adds r0, 0x4C
+ movs r1, 0x3
+ strb r1, [r0]
+_0802B3AA:
+ movs r0, 0
+_0802B3AC:
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802B368
+
+ thumb_func_start sub_802B3B4
+sub_802B3B4: @ 802B3B4
+ push {lr}
+ bl sub_802B8CC
+ cmp r0, 0
+ beq _0802B3CE
+ bl sub_802C538
+ cmp r0, 0
+ beq _0802B3CA
+ movs r0, 0x1
+ b _0802B3D0
+_0802B3CA:
+ bl sub_802C0B8
+_0802B3CE:
+ movs r0, 0
+_0802B3D0:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B3B4
+
+ thumb_func_start sub_802B3D4
+sub_802B3D4: @ 802B3D4
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0x1
+ beq _0802B40C
+ cmp r0, 0x1
+ bgt _0802B3F0
+ cmp r0, 0
+ beq _0802B3F6
+ b _0802B468
+ .pool
+_0802B3F0:
+ cmp r0, 0x2
+ beq _0802B460
+ b _0802B468
+_0802B3F6:
+ bl sub_802C538
+ bl sub_802C5DC
+ cmp r0, 0
+ beq _0802B468
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B468
+_0802B40C:
+ bl sub_802B964
+ cmp r0, 0
+ bne _0802B468
+ bl sub_802C7BC
+ cmp r0, 0
+ beq _0802B42E
+ bl sub_802C7E0
+ ldr r1, [r4]
+ adds r2, r1, 0
+ adds r2, 0x72
+ strh r0, [r2]
+ adds r1, 0x4C
+ movs r0, 0x7
+ b _0802B454
+_0802B42E:
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x74
+ ldrh r0, [r0]
+ cmp r0, 0xC7
+ bls _0802B448
+ ldrh r0, [r1, 0xE]
+ adds r2, r1, 0
+ adds r2, 0x72
+ strh r0, [r2]
+ adds r1, 0x4C
+ movs r0, 0x8
+ b _0802B454
+_0802B448:
+ ldrh r0, [r1, 0xE]
+ adds r2, r1, 0
+ adds r2, 0x72
+ strh r0, [r2]
+ adds r1, 0x4C
+ movs r0, 0x4
+_0802B454:
+ strb r0, [r1]
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B460:
+ movs r0, 0
+ b _0802B46A
+ .pool
+_0802B468:
+ movs r0, 0x1
+_0802B46A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B3D4
+
+ thumb_func_start sub_802B470
+sub_802B470: @ 802B470
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0x1
+ beq _0802B4B0
+ cmp r0, 0x1
+ bgt _0802B48C
+ cmp r0, 0
+ beq _0802B492
+ b _0802B4C4
+ .pool
+_0802B48C:
+ cmp r0, 0x2
+ beq _0802B4C0
+ b _0802B4C4
+_0802B492:
+ bl sub_802C538
+ cmp r0, 0
+ bne _0802B49E
+ bl sub_802C0B8
+_0802B49E:
+ bl sub_802C5DC
+ cmp r0, 0
+ beq _0802B4C4
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B4C4
+_0802B4B0:
+ bl sub_802B964
+ cmp r0, 0
+ bne _0802B4C4
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B4C0:
+ movs r0, 0
+ b _0802B4C6
+_0802B4C4:
+ movs r0, 0x1
+_0802B4C6:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B470
+
+ thumb_func_start sub_802B4CC
+sub_802B4CC: @ 802B4CC
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r1, [r0, 0x8]
+ cmp r1, 0x1
+ beq _0802B500
+ cmp r1, 0x1
+ bgt _0802B4E8
+ cmp r1, 0
+ beq _0802B4F2
+ b _0802B560
+ .pool
+_0802B4E8:
+ cmp r1, 0x2
+ beq _0802B52C
+ cmp r1, 0x3
+ beq _0802B556
+ b _0802B560
+_0802B4F2:
+ movs r0, 0x4
+ bl sub_802AE14
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B500:
+ bl sub_802BB84
+ cmp r0, 0
+ bne _0802B560
+ ldr r4, =gUnknown_02022CFC
+ ldr r2, [r4]
+ ldr r0, [r2, 0x78]
+ adds r1, r2, 0
+ adds r1, 0x74
+ ldrh r1, [r1]
+ adds r2, 0x72
+ ldrh r2, [r2]
+ bl sub_802E354
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B560
+ .pool
+_0802B52C:
+ adds r0, 0x49
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802B560
+ bl sub_802C650
+ cmp r0, 0
+ beq _0802B544
+ ldr r0, [r4]
+ adds r0, 0x4C
+ movs r1, 0x5
+ b _0802B54A
+_0802B544:
+ ldr r0, [r4]
+ adds r0, 0x4C
+ movs r1, 0x6
+_0802B54A:
+ strb r1, [r0]
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B556:
+ movs r0, 0
+ b _0802B562
+ .pool
+_0802B560:
+ movs r0, 0x1
+_0802B562:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B4CC
+
+ thumb_func_start sub_802B568
+sub_802B568: @ 802B568
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0
+ beq _0802B580
+ cmp r0, 0x1
+ beq _0802B58E
+ b _0802B5C0
+ .pool
+_0802B580:
+ movs r0, 0
+ bl sub_802AE14
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B58E:
+ bl sub_802BB84
+ cmp r0, 0
+ bne _0802B5C0
+ ldr r4, =gUnknown_02022CFC
+ ldr r2, [r4]
+ ldr r0, [r2, 0x78]
+ adds r1, r2, 0
+ adds r1, 0x74
+ ldrh r1, [r1]
+ adds r2, 0x72
+ ldrh r2, [r2]
+ bl sub_802E354
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x45
+ ldrb r1, [r1]
+ adds r0, 0x42
+ strh r1, [r0]
+ movs r0, 0
+ b _0802B5C2
+ .pool
+_0802B5C0:
+ movs r0, 0x1
+_0802B5C2:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B568
+
+ thumb_func_start sub_802B5C8
+sub_802B5C8: @ 802B5C8
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ cmp r0, 0
+ beq _0802B5E0
+ cmp r0, 0x1
+ beq _0802B5F2
+ b _0802B61E
+ .pool
+_0802B5E0:
+ bl sub_802BD30
+ cmp r0, 0
+ bne _0802B61E
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B61E
+_0802B5F2:
+ adds r0, r1, 0
+ adds r0, 0x49
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802B61E
+ adds r0, r1, 0
+ bl sub_802AA94
+ bl Random
+ ldr r1, [r4]
+ lsls r0, 16
+ lsrs r0, 16
+ str r0, [r1, 0x24]
+ adds r3, r1, 0
+ adds r3, 0x72
+ movs r2, 0
+ strh r0, [r3]
+ adds r1, 0x4C
+ strb r2, [r1]
+ movs r0, 0
+ b _0802B620
+_0802B61E:
+ movs r0, 0x1
+_0802B620:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B5C8
+
+ thumb_func_start sub_802B628
+sub_802B628: @ 802B628
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0
+ beq _0802B640
+ cmp r0, 0x1
+ beq _0802B656
+ b _0802B65A
+ .pool
+_0802B640:
+ bl sub_802BD30
+ cmp r0, 0
+ bne _0802B65A
+ ldr r0, [r4]
+ bl sub_802AA94
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B656:
+ movs r0, 0
+ b _0802B65C
+_0802B65A:
+ movs r0, 0x1
+_0802B65C:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B628
+
+ thumb_func_start sub_802B664
+sub_802B664: @ 802B664
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ cmp r0, 0x1
+ beq _0802B68C
+ cmp r0, 0x1
+ bgt _0802B680
+ cmp r0, 0
+ beq _0802B686
+ b _0802B6B0
+ .pool
+_0802B680:
+ cmp r0, 0x2
+ beq _0802B69C
+ b _0802B6B0
+_0802B686:
+ movs r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B6B0
+_0802B68C:
+ movs r0, 0
+ bl sub_802AE14
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B6B0
+_0802B69C:
+ bl sub_802BC60
+ cmp r0, 0
+ bne _0802B6B0
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl SetMainCallback2
+ bl sub_802AA48
+_0802B6B0:
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B664
+
+ thumb_func_start sub_802B6B8
+sub_802B6B8: @ 802B6B8
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0
+ beq _0802B6D0
+ cmp r0, 0x1
+ beq _0802B6E0
+ b _0802B6FC
+ .pool
+_0802B6D0:
+ movs r0, 0x4
+ bl sub_802AE14
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B6FC
+_0802B6E0:
+ bl sub_802BA58
+ cmp r0, 0
+ bne _0802B6FC
+ ldr r0, [r4]
+ ldrh r1, [r0, 0xE]
+ adds r2, r0, 0
+ adds r2, 0x72
+ strh r1, [r2]
+ adds r0, 0x4C
+ movs r1, 0x8
+ strb r1, [r0]
+ movs r0, 0
+ b _0802B6FE
+_0802B6FC:
+ movs r0, 0x1
+_0802B6FE:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B6B8
+
+ thumb_func_start sub_802B704
+sub_802B704: @ 802B704
+ push {lr}
+ movs r0, 0
+ bl sub_802AE14
+ bl sub_802BA58
+ cmp r0, 0
+ beq _0802B718
+ movs r0, 0x1
+ b _0802B71A
+_0802B718:
+ movs r0, 0
+_0802B71A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B704
+
+ thumb_func_start sub_802B720
+sub_802B720: @ 802B720
+ push {r4,lr}
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrh r0, [r0, 0x8]
+ adds r4, r1, 0
+ cmp r0, 0x4
+ bhi _0802B7D8
+ lsls r0, 2
+ ldr r1, =_0802B740
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802B740:
+ .4byte _0802B754
+ .4byte _0802B770
+ .4byte _0802B780
+ .4byte _0802B798
+ .4byte _0802B7BC
+_0802B754:
+ ldr r2, [r4]
+ ldr r0, [r2, 0x78]
+ adds r1, r2, 0
+ adds r1, 0x74
+ ldrh r1, [r1]
+ adds r2, 0x72
+ ldrh r2, [r2]
+ bl sub_802E354
+ movs r0, 0x5
+ bl sub_802D0C8
+ ldr r1, [r4]
+ b _0802B7AC
+_0802B770:
+ bl sub_802D0F0
+ cmp r0, 0
+ bne _0802B7D8
+ movs r0, 0
+ bl sub_802AE14
+ b _0802B7A8
+_0802B780:
+ bl sub_802C70C
+ cmp r0, 0
+ beq _0802B7D8
+ ldr r0, =sub_8153688
+ movs r1, 0x6
+ bl CreateTask
+ b _0802B7A8
+ .pool
+_0802B798:
+ ldr r0, =sub_8153688
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802B7D8
+ bl sub_802DA14
+_0802B7A8:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+_0802B7AC:
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B7D8
+ .pool
+_0802B7BC:
+ bl sub_802DA44
+ cmp r0, 0
+ bne _0802B7D8
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ adds r0, 0x4C
+ movs r1, 0x4
+ strb r1, [r0]
+ movs r0, 0
+ b _0802B7DA
+ .pool
+_0802B7D8:
+ movs r0, 0x1
+_0802B7DA:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B720
+
+ thumb_func_start sub_802B7E0
+sub_802B7E0: @ 802B7E0
+ push {r4,r5,lr}
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrh r0, [r0, 0xA]
+ adds r4, r1, 0
+ cmp r0, 0x7
+ bhi _0802B8C4
+ lsls r0, 2
+ ldr r1, =_0802B800
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802B800:
+ .4byte _0802B820
+ .4byte _0802B82C
+ .4byte _0802B84C
+ .4byte _0802B866
+ .4byte _0802B878
+ .4byte _0802B880
+ .4byte _0802B8A0
+ .4byte _0802B8BA
+_0802B820:
+ movs r0, 0x2
+ bl sub_802D0C8
+ bl sub_802DDE0
+ b _0802B890
+_0802B82C:
+ bl sub_802D0F0
+ adds r5, r0, 0
+ cmp r5, 0
+ bne _0802B8C4
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x6]
+ bl sub_802DDF4
+ ldr r1, [r4]
+ strh r5, [r1, 0x3C]
+ b _0802B894
+ .pool
+_0802B84C:
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x3C]
+ adds r0, 0x1
+ strh r0, [r1, 0x3C]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x78
+ bls _0802B8C4
+ movs r0, 0x3
+ bl sub_802D0C8
+ ldr r1, [r4]
+ b _0802B894
+_0802B866:
+ bl sub_802D0F0
+ cmp r0, 0x1
+ beq _0802B8C4
+ bl sub_802DE08
+ cmp r0, 0x1
+ beq _0802B8C4
+ b _0802B890
+_0802B878:
+ movs r0, 0x9
+ bl sub_802D0C8
+ b _0802B890
+_0802B880:
+ bl sub_802D0F0
+ cmp r0, 0
+ bne _0802B8C4
+ bl sub_802C260
+ bl sub_802D764
+_0802B890:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+_0802B894:
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802B8C4
+ .pool
+_0802B8A0:
+ bl sub_802D788
+ cmp r0, 0
+ bne _0802B8C4
+ bl sub_802C270
+ bl sub_802BEA0
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+_0802B8BA:
+ movs r0, 0
+ b _0802B8C6
+ .pool
+_0802B8C4:
+ movs r0, 0x1
+_0802B8C6:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B7E0
+
+ thumb_func_start sub_802B8CC
+sub_802B8CC: @ 802B8CC
+ push {r4,r5,lr}
+ bl sub_802BEE4
+ ldr r5, =gUnknown_02022CFC
+ ldr r1, [r5]
+ ldrh r4, [r1, 0x36]
+ cmp r4, 0
+ beq _0802B8E8
+ movs r0, 0
+ strh r0, [r1, 0x36]
+ b _0802B95C
+ .pool
+_0802B8E8:
+ ldrh r0, [r1, 0xA]
+ cmp r0, 0x1
+ beq _0802B914
+ cmp r0, 0x1
+ bgt _0802B8F8
+ cmp r0, 0
+ beq _0802B902
+ b _0802B95A
+_0802B8F8:
+ cmp r0, 0x2
+ beq _0802B938
+ cmp r0, 0x3
+ beq _0802B94C
+ b _0802B95A
+_0802B902:
+ movs r0, 0
+ bl sub_802C130
+ cmp r0, 0
+ beq _0802B95A
+ ldr r1, [r5]
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+_0802B914:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0802B95A
+ bl sub_802C164
+ movs r0, 0x3
+ bl sub_802AE14
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ b _0802B944
+ .pool
+_0802B938:
+ movs r0, 0x1
+ bl sub_802C130
+ cmp r0, 0x1
+ bne _0802B95A
+ ldr r1, [r5]
+_0802B944:
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802B95A
+_0802B94C:
+ movs r0, 0
+ bl sub_802C130
+ cmp r0, 0x1
+ bne _0802B95A
+ ldr r0, [r5]
+ strh r4, [r0, 0xA]
+_0802B95A:
+ movs r0, 0x1
+_0802B95C:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B8CC
+
+ thumb_func_start sub_802B964
+sub_802B964: @ 802B964
+ push {r4-r6,lr}
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrh r0, [r0, 0xA]
+ adds r5, r1, 0
+ cmp r0, 0x4
+ bhi _0802BA50
+ lsls r0, 2
+ ldr r1, =_0802B984
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802B984:
+ .4byte _0802B998
+ .4byte _0802B9BC
+ .4byte _0802BA00
+ .4byte _0802BA24
+ .4byte _0802BA46
+_0802B998:
+ movs r4, 0
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ bge _0802B9B8
+ adds r6, r5, 0
+_0802B9A4:
+ adds r0, r4, 0
+ bl sub_802DDB8
+ cmp r0, 0x1
+ beq _0802BA50
+ adds r4, 0x1
+ ldr r0, [r6]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ blt _0802B9A4
+_0802B9B8:
+ ldr r1, [r5]
+ b _0802BA1C
+_0802B9BC:
+ movs r4, 0
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ bge _0802B9EC
+ adds r6, r5, 0
+ movs r5, 0
+_0802B9CA:
+ ldr r0, [r6]
+ adds r0, r5
+ ldr r1, =0x000082f4
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r0, 0x2
+ bne _0802B9E0
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_802DDA0
+_0802B9E0:
+ adds r5, 0x28
+ adds r4, 0x1
+ ldr r0, [r6]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ blt _0802B9CA
+_0802B9EC:
+ movs r0, 0x1
+ bl sub_802D0C8
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ b _0802BA18
+ .pool
+_0802BA00:
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x3C]
+ adds r0, 0x1
+ strh r0, [r1, 0x3C]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x64
+ bls _0802BA50
+ movs r0, 0x3
+ bl sub_802D0C8
+ ldr r1, [r5]
+_0802BA18:
+ movs r0, 0
+ strh r0, [r1, 0x3C]
+_0802BA1C:
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802BA50
+_0802BA24:
+ bl sub_802D0F0
+ adds r5, r0, 0
+ cmp r5, 0
+ bne _0802BA50
+ bl sub_802DDCC
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ adds r0, 0x71
+ strb r5, [r0]
+ bl sub_802C114
+ ldr r1, [r4]
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+_0802BA46:
+ movs r0, 0
+ b _0802BA52
+ .pool
+_0802BA50:
+ movs r0, 0x1
+_0802BA52:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B964
+
+ thumb_func_start sub_802BA58
+sub_802BA58: @ 802BA58
+ push {r4,lr}
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrh r0, [r0, 0xA]
+ adds r4, r1, 0
+ cmp r0, 0x6
+ bls _0802BA68
+ b _0802BB7C
+_0802BA68:
+ lsls r0, 2
+ ldr r1, =_0802BA7C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802BA7C:
+ .4byte _0802BA98
+ .4byte _0802BAB8
+ .4byte _0802BAD0
+ .4byte _0802BB00
+ .4byte _0802BAB8
+ .4byte _0802BAD0
+ .4byte _0802BB70
+_0802BA98:
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0x72
+ ldrh r0, [r0]
+ adds r1, r2, 0
+ adds r1, 0x3E
+ adds r2, 0x40
+ bl sub_802C808
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x3E]
+ adds r1, 0x40
+ ldrh r1, [r1]
+ bl sub_802D7E8
+ b _0802BAF0
+_0802BAB8:
+ bl sub_802D974
+ adds r2, r0, 0
+ cmp r2, 0
+ bne _0802BB7C
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ strh r2, [r1, 0x3C]
+ b _0802BAF2
+ .pool
+_0802BAD0:
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x3C]
+ adds r2, r0, 0x1
+ strh r2, [r1, 0x3C]
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _0802BAEC
+ lsls r0, r2, 16
+ lsrs r0, 16
+ cmp r0, 0xB4
+ bls _0802BB7C
+_0802BAEC:
+ bl sub_802DA14
+_0802BAF0:
+ ldr r1, [r4]
+_0802BAF2:
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802BB7C
+ .pool
+_0802BB00:
+ bl sub_802DA44
+ cmp r0, 0
+ bne _0802BB7C
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x3E]
+ adds r1, 0x40
+ ldrh r1, [r1]
+ bl sub_802C880
+ ldr r1, [r4]
+ adds r2, r1, 0
+ adds r2, 0x40
+ strh r0, [r2]
+ lsls r0, 16
+ cmp r0, 0
+ beq _0802BB58
+ ldrh r0, [r1, 0x3E]
+ ldrh r1, [r2]
+ bl AddBagItem
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802BB58
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x3E]
+ movs r1, 0x1
+ bl CheckBagHasSpace
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802BB50
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x3E]
+ bl sub_802D884
+ b _0802BB62
+ .pool
+_0802BB50:
+ ldr r1, [r4]
+ movs r0, 0x6
+ strh r0, [r1, 0xA]
+ b _0802BB7C
+_0802BB58:
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x3E]
+ bl sub_802D8FC
+_0802BB62:
+ ldr r1, [r4]
+ movs r0, 0x4
+ strh r0, [r1, 0xA]
+ b _0802BB7C
+ .pool
+_0802BB70:
+ bl sub_802DA44
+ cmp r0, 0
+ bne _0802BB7C
+ movs r0, 0
+ b _0802BB7E
+_0802BB7C:
+ movs r0, 0x1
+_0802BB7E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802BA58
+
+ thumb_func_start sub_802BB84
+sub_802BB84: @ 802BB84
+ push {r4,lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrh r0, [r0, 0xA]
+ cmp r0, 0x6
+ bhi _0802BC58
+ lsls r0, 2
+ ldr r1, =_0802BBA4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802BBA4:
+ .4byte _0802BBC0
+ .4byte _0802BBC4
+ .4byte _0802BBCE
+ .4byte _0802BC1C
+ .4byte _0802BC26
+ .4byte _0802BC3C
+ .4byte _0802BC4E
+_0802BBC0:
+ movs r0, 0x4
+ b _0802BC28
+_0802BBC4:
+ bl sub_802D0F0
+ cmp r0, 0
+ bne _0802BC58
+ b _0802BC2C
+_0802BBCE:
+ bl sub_802DA8C
+ lsls r0, 24
+ asrs r1, r0, 24
+ cmp r1, 0
+ beq _0802BC04
+ cmp r1, 0
+ bgt _0802BBE8
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _0802BBEC
+ b _0802BC58
+_0802BBE8:
+ cmp r1, 0x1
+ bne _0802BC58
+_0802BBEC:
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ adds r0, 0x45
+ movs r1, 0x1
+ strb r1, [r0]
+ movs r0, 0x6
+ bl sub_802D0C8
+ ldr r1, [r4]
+ b _0802BC30
+ .pool
+_0802BC04:
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ adds r0, 0x45
+ movs r1, 0x2
+ strb r1, [r0]
+ movs r0, 0x6
+ bl sub_802D0C8
+ ldr r1, [r4]
+ b _0802BC30
+ .pool
+_0802BC1C:
+ bl sub_802D0F0
+ cmp r0, 0
+ bne _0802BC58
+ b _0802BC2C
+_0802BC26:
+ movs r0, 0x8
+_0802BC28:
+ bl sub_802D0C8
+_0802BC2C:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+_0802BC30:
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802BC58
+ .pool
+_0802BC3C:
+ bl sub_802D0F0
+ cmp r0, 0
+ bne _0802BC58
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+_0802BC4E:
+ movs r0, 0
+ b _0802BC5A
+ .pool
+_0802BC58:
+ movs r0, 0x1
+_0802BC5A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802BB84
+
+ thumb_func_start sub_802BC60
+sub_802BC60: @ 802BC60
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrh r0, [r0, 0xA]
+ adds r4, r1, 0
+ cmp r0, 0x5
+ bhi _0802BD24
+ lsls r0, 2
+ ldr r1, =_0802BC84
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802BC84:
+ .4byte _0802BC9C
+ .4byte _0802BCA2
+ .4byte _0802BCB2
+ .4byte _0802BCC8
+ .4byte _0802BCEE
+ .4byte _0802BD14
+_0802BC9C:
+ bl sub_802DA14
+ b _0802BCFE
+_0802BCA2:
+ bl sub_802DA44
+ cmp r0, 0
+ bne _0802BD24
+ movs r0, 0x7
+ bl sub_802D0C8
+ b _0802BCFE
+_0802BCB2:
+ bl sub_802D0F0
+ adds r2, r0, 0
+ cmp r2, 0
+ bne _0802BD24
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ strh r2, [r1, 0x3C]
+ b _0802BD02
+ .pool
+_0802BCC8:
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x3C]
+ adds r0, 0x1
+ strh r0, [r1, 0x3C]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x78
+ bls _0802BD24
+ movs r1, 0x1
+ negs r1, r1
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, [r4]
+ b _0802BD02
+_0802BCEE:
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0802BD24
+ bl sub_800AC34
+_0802BCFE:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+_0802BD02:
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802BD24
+ .pool
+_0802BD14:
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0802BD24
+ movs r0, 0
+ b _0802BD26
+ .pool
+_0802BD24:
+ movs r0, 0x1
+_0802BD26:
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802BC60
+
+ thumb_func_start sub_802BD30
+sub_802BD30: @ 802BD30
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0xA]
+ cmp r0, 0x1
+ beq _0802BD66
+ cmp r0, 0x1
+ bgt _0802BD4C
+ cmp r0, 0
+ beq _0802BD52
+ b _0802BD7A
+ .pool
+_0802BD4C:
+ cmp r0, 0x2
+ beq _0802BD76
+ b _0802BD7A
+_0802BD52:
+ bl sub_802DA14
+ movs r0, 0
+ bl sub_802DD64
+ ldr r1, [r4]
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802BD7A
+_0802BD66:
+ bl sub_802DA44
+ cmp r0, 0
+ bne _0802BD7A
+ ldr r1, [r4]
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+_0802BD76:
+ movs r0, 0
+ b _0802BD7C
+_0802BD7A:
+ movs r0, 0x1
+_0802BD7C:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802BD30
+
+ thumb_func_start sub_802BD84
+sub_802BD84: @ 802BD84
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ lsls r0, 2
+ add r0, r10
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r6, r0, r1
+ mov r0, r10
+ movs r1, 0xE
+ bl GetWordTaskArg
+ mov r8, r0
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ beq _0802BDC8
+ cmp r0, 0x1
+ beq _0802BDDC
+ b _0802BE48
+ .pool
+_0802BDBC:
+ bl sub_802AB20
+ mov r0, r10
+ bl DestroyTask
+ b _0802BE48
+_0802BDC8:
+ movs r1, 0
+ adds r0, r6, 0
+ adds r0, 0x8
+_0802BDCE:
+ strh r1, [r0, 0x4]
+ subs r0, 0x2
+ cmp r0, r6
+ bge _0802BDCE
+ ldrh r0, [r6]
+ adds r0, 0x1
+ strh r0, [r6]
+_0802BDDC:
+ mov r3, r8
+ ldrb r1, [r3, 0x6]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, =0x000082a8
+ adds r0, r4
+ add r0, r8
+ bl sub_802E0AC
+ movs r2, 0
+ adds r5, r6, 0x4
+ mov r9, r2
+ movs r7, 0x83
+ lsls r7, 8
+ add r7, r8
+ add r4, r8
+_0802BDFE:
+ movs r1, 0
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _0802BE38
+ adds r0, r2, 0
+ adds r1, r4, 0
+ str r2, [sp]
+ bl sub_802E0D0
+ ldr r2, [sp]
+ cmp r0, 0
+ beq _0802BE38
+ ldr r1, =gLinkPlayers + 8
+ add r1, r9
+ adds r0, r7, 0
+ bl StringCopy
+ movs r0, 0x1
+ strh r0, [r5]
+ ldrh r0, [r6, 0x2]
+ adds r0, 0x1
+ strh r0, [r6, 0x2]
+ movs r3, 0x2
+ ldrsh r0, [r6, r3]
+ ldr r2, [sp]
+ mov r1, r8
+ ldrb r1, [r1, 0x5]
+ cmp r0, r1
+ beq _0802BDBC
+_0802BE38:
+ adds r5, 0x2
+ movs r3, 0x1C
+ add r9, r3
+ adds r7, 0x28
+ adds r4, 0xC
+ adds r2, 0x1
+ cmp r2, 0x4
+ ble _0802BDFE
+_0802BE48:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802BD84
+
+ thumb_func_start sub_802BE60
+sub_802BE60: @ 802BE60
+ push {lr}
+ lsls r1, 24
+ lsrs r1, 24
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gUnknown_02022CFC
+ ldr r2, [r1]
+ movs r1, 0xE
+ bl SetWordTaskArg
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802BE60
+
+ thumb_func_start sub_802BE80
+sub_802BE80: @ 802BE80
+ ldr r0, =gUnknown_02022CFC
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x4A
+ movs r1, 0
+ strh r1, [r0]
+ movs r0, 0x6
+ str r0, [r2, 0x14]
+ strh r1, [r2, 0x34]
+ str r1, [r2, 0x1C]
+ strh r1, [r2, 0x36]
+ str r1, [r2, 0x10]
+ bx lr
+ .pool
+ thumb_func_end sub_802BE80
+
+ thumb_func_start sub_802BEA0
+sub_802BEA0: @ 802BEA0
+ push {r4,lr}
+ ldr r3, =gUnknown_02022CFC
+ ldr r0, [r3]
+ adds r1, r0, 0
+ adds r1, 0x4A
+ movs r4, 0
+ movs r2, 0
+ strh r2, [r1]
+ ldr r1, =0x000006ff
+ strh r1, [r0, 0x34]
+ movs r1, 0x7
+ str r1, [r0, 0x14]
+ strh r2, [r0, 0x36]
+ str r2, [r0, 0x10]
+ adds r0, 0x51
+ strb r4, [r0]
+ ldr r0, [r3]
+ adds r0, 0x50
+ strb r4, [r0]
+ ldr r0, [r3]
+ str r2, [r0, 0x20]
+ adds r1, r0, 0
+ adds r1, 0x4E
+ strh r2, [r1]
+ str r2, [r0, 0x6C]
+ bl sub_802BF7C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802BEA0
+
+ thumb_func_start sub_802BEE4
+sub_802BEE4: @ 802BEE4
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x46
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802BF34
+ adds r1, 0x4A
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ bl sub_802BF48
+ ldr r3, [r4]
+ ldrh r1, [r3, 0x34]
+ adds r2, r1, r0
+ strh r2, [r3, 0x34]
+ lsls r1, r2, 16
+ ldr r0, =0x09fe0000
+ cmp r1, r0
+ bls _0802BF16
+ ldr r1, =0xfffff601
+ adds r0, r2, r1
+ strh r0, [r3, 0x34]
+_0802BF16:
+ ldr r1, [r4]
+ ldr r2, [r1, 0x14]
+ str r2, [r1, 0x18]
+ ldrh r0, [r1, 0x34]
+ lsrs r0, 8
+ str r0, [r1, 0x14]
+ cmp r0, 0x6
+ bls _0802BF34
+ cmp r2, 0x6
+ bhi _0802BF34
+ ldrh r0, [r1, 0x36]
+ adds r0, 0x1
+ strh r0, [r1, 0x36]
+ bl sub_802BF7C
+_0802BF34:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802BEE4
+
+ thumb_func_start sub_802BF48
+sub_802BF48: @ 802BF48
+ push {lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r2, [r0]
+ ldr r0, [r2, 0x10]
+ cmp r0, 0
+ beq _0802BF5C
+ movs r0, 0
+ b _0802BF72
+ .pool
+_0802BF5C:
+ ldr r3, [r2, 0x1C]
+ ldrh r1, [r2, 0x34]
+ ldr r0, =0x000005ff
+ cmp r1, r0
+ bhi _0802BF70
+ ldr r0, [r2, 0x20]
+ adds r0, 0x50
+ str r0, [r2, 0x20]
+ lsrs r0, 8
+ adds r3, r0
+_0802BF70:
+ adds r0, r3, 0
+_0802BF72:
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802BF48
+
+ thumb_func_start sub_802BF7C
+sub_802BF7C: @ 802BF7C
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r3, [r4]
+ movs r0, 0
+ str r0, [r3, 0x20]
+ adds r1, r3, 0
+ adds r1, 0x4E
+ ldrh r0, [r1]
+ cmp r0, 0
+ beq _0802BFC0
+ subs r0, 0x1
+ strh r0, [r1]
+ ldr r0, [r3, 0x6C]
+ cmp r0, 0
+ beq _0802C08A
+ bl sub_802C098
+ movs r1, 0x3
+ ands r1, r0
+ cmp r1, 0
+ beq _0802BFB0
+ ldr r1, [r4]
+ b _0802C086
+ .pool
+_0802BFB0:
+ ldr r1, [r4]
+ ldr r0, [r1, 0x28]
+ cmp r0, 0x36
+ bls _0802BFBC
+ movs r0, 0x1E
+ b _0802C088
+_0802BFBC:
+ movs r0, 0x52
+ b _0802C088
+_0802BFC0:
+ adds r2, r3, 0
+ adds r2, 0x50
+ ldrb r1, [r2]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _0802C014
+ ldr r0, =gUnknown_082FB63C
+ ldrb r1, [r2]
+ lsls r1, 1
+ adds r1, r0
+ adds r0, r3, 0
+ adds r0, 0x51
+ ldrb r2, [r0]
+ lsls r0, r2, 3
+ subs r0, r2
+ ldrh r1, [r1]
+ adds r0, r1
+ str r0, [r3, 0x28]
+ bl sub_802C098
+ ldr r2, [r4]
+ ldr r3, =gUnknown_082FB64C
+ movs r1, 0x3
+ ands r1, r0
+ lsls r1, 1
+ adds r1, r3
+ ldrh r0, [r1]
+ adds r0, 0x2
+ adds r1, r2, 0
+ adds r1, 0x4E
+ strh r0, [r1]
+ adds r2, 0x50
+ ldrb r0, [r2]
+ adds r0, 0x1
+ strb r0, [r2]
+ b _0802C082
+ .pool
+_0802C014:
+ lsls r0, r1, 24
+ lsrs r0, 24
+ cmp r0, 0x8
+ bne _0802C030
+ adds r1, r3, 0
+ adds r1, 0x51
+ ldrb r0, [r1]
+ cmp r0, 0x2
+ bhi _0802C02C
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802C030
+_0802C02C:
+ movs r0, 0x1
+ str r0, [r3, 0x6C]
+_0802C030:
+ ldr r2, =gUnknown_082FB63C
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ mov r12, r0
+ mov r3, r12
+ adds r3, 0x50
+ ldrb r0, [r3]
+ movs r1, 0xF
+ subs r1, r0
+ lsls r1, 1
+ adds r1, r2
+ mov r0, r12
+ adds r0, 0x51
+ ldrb r2, [r0]
+ lsls r0, r2, 3
+ subs r0, r2
+ ldrh r1, [r1]
+ adds r0, r1
+ mov r1, r12
+ str r0, [r1, 0x28]
+ ldrb r0, [r3]
+ adds r0, 0x1
+ strb r0, [r3]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xF
+ bls _0802C082
+ bl sub_802C098
+ movs r1, 0x3
+ ands r1, r0
+ cmp r1, 0
+ bne _0802C07A
+ ldr r1, [r4]
+ ldr r0, [r1, 0x28]
+ subs r0, 0x5
+ str r0, [r1, 0x28]
+_0802C07A:
+ ldr r0, [r4]
+ adds r0, 0x50
+ movs r1, 0
+ strb r1, [r0]
+_0802C082:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+_0802C086:
+ ldr r0, [r1, 0x28]
+_0802C088:
+ str r0, [r1, 0x1C]
+_0802C08A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802BF7C
+
+ thumb_func_start sub_802C098
+sub_802C098: @ 802C098
+ ldr r0, =gUnknown_02022CFC
+ ldr r2, [r0]
+ ldr r1, [r2, 0x24]
+ ldr r0, =0x41c64e6d
+ muls r0, r1
+ ldr r1, =0x00006073
+ adds r0, r1
+ str r0, [r2, 0x24]
+ lsrs r0, 16
+ bx lr
+ .pool
+ thumb_func_end sub_802C098
+
+ thumb_func_start sub_802C0B8
+sub_802C0B8: @ 802C0B8
+ push {lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ movs r0, 0x1
+ str r0, [r1, 0x10]
+ movs r0, 0x6
+ str r0, [r1, 0x14]
+ ldr r0, =0x000005ff
+ strh r0, [r1, 0x34]
+ bl sub_802C270
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C0B8
+
+ thumb_func_start sub_802C0DC
+sub_802C0DC: @ 802C0DC
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldr r0, [r0, 0x10]
+ bx lr
+ .pool
+ thumb_func_end sub_802C0DC
+
+ thumb_func_start sub_802C0E8
+sub_802C0E8: @ 802C0E8
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022CFC
+ ldr r4, =0x000082f8
+ movs r3, 0
+ movs r2, 0
+ movs r1, 0x4
+_0802C0F4:
+ ldr r0, [r5]
+ adds r0, r4
+ adds r0, r2
+ str r3, [r0]
+ adds r2, 0x28
+ subs r1, 0x1
+ cmp r1, 0
+ bge _0802C0F4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C0E8
+
+ thumb_func_start sub_802C114
+sub_802C114: @ 802C114
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldr r1, =0x000083ac
+ adds r0, r1
+ ldr r1, [r0]
+ movs r2, 0
+ strh r2, [r1, 0x10]
+ ldr r0, [r0]
+ strh r2, [r0, 0x12]
+ bx lr
+ .pool
+ thumb_func_end sub_802C114
+
+ thumb_func_start sub_802C130
+sub_802C130: @ 802C130
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, =gUnknown_02022CFC
+ ldr r2, [r1]
+ ldrb r3, [r2, 0x6]
+ lsls r1, r3, 2
+ adds r1, r3
+ lsls r1, 3
+ adds r2, r1
+ ldr r1, =0x000082f4
+ adds r2, r1
+ ldrh r1, [r2]
+ cmp r1, r0
+ beq _0802C15C
+ movs r0, 0
+ b _0802C15E
+ .pool
+_0802C15C:
+ movs r0, 0x1
+_0802C15E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C130
+
+ thumb_func_start sub_802C164
+sub_802C164: @ 802C164
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldr r1, =0x000083ac
+ adds r2, r0, r1
+ ldr r1, [r2]
+ adds r0, 0x4A
+ ldrh r0, [r0]
+ strh r0, [r1, 0xE]
+ ldr r1, [r2]
+ ldrh r0, [r1, 0x10]
+ strh r0, [r1, 0x12]
+ ldr r1, [r2]
+ movs r0, 0x1
+ strh r0, [r1, 0x10]
+ bx lr
+ .pool
+ thumb_func_end sub_802C164
+
+ thumb_func_start sub_802C18C
+sub_802C18C: @ 802C18C
+ push {r4,lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r2, [r0]
+ ldr r0, =0x000083ac
+ adds r3, r2, r0
+ ldr r1, [r3]
+ ldrh r0, [r1, 0x10]
+ strh r0, [r1, 0x12]
+ ldr r0, [r3]
+ movs r4, 0x2
+ strh r4, [r0, 0x10]
+ ldr r1, [r3]
+ adds r2, 0x4A
+ ldrh r0, [r2]
+ strh r0, [r1, 0xE]
+ ldr r0, [r3]
+ str r4, [r0, 0x14]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C18C
+
+ thumb_func_start sub_802C1BC
+sub_802C1BC: @ 802C1BC
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldr r1, =0x000083ac
+ adds r0, r1
+ ldr r1, [r0]
+ ldrh r2, [r1, 0x10]
+ movs r3, 0
+ strh r2, [r1, 0x12]
+ ldr r0, [r0]
+ strh r3, [r0, 0x10]
+ bx lr
+ .pool
+ thumb_func_end sub_802C1BC
+
+ thumb_func_start sub_802C1DC
+sub_802C1DC: @ 802C1DC
+ push {r4,r5,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldr r0, [r1, 0x5C]
+ cmp r0, 0
+ beq _0802C21C
+ ldr r0, [r1, 0x78]
+ bl sub_802DD64
+ ldr r1, [r4]
+ movs r5, 0
+ str r5, [r1, 0x5C]
+ adds r0, r1, 0
+ adds r0, 0x4D
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802C21C
+ adds r0, r1, 0
+ adds r0, 0x71
+ ldrb r0, [r0]
+ bl sub_802DCCC
+ ldr r1, =gUnknown_082FB654
+ subs r0, 0x2
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ bl PlaySE
+ ldr r0, [r4]
+ adds r0, 0x4D
+ strb r5, [r0]
+_0802C21C:
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ adds r0, 0x74
+ ldrh r0, [r0]
+ bl sub_802DD74
+ bl sub_802C280
+ bl sub_802C240
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C1DC
+
+ thumb_func_start sub_802C240
+sub_802C240: @ 802C240
+ push {lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x46
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802C256
+ ldr r0, [r1, 0x14]
+ bl sub_802DC9C
+_0802C256:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C240
+
+ thumb_func_start sub_802C260
+sub_802C260: @ 802C260
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ adds r0, 0x46
+ movs r1, 0
+ strb r1, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802C260
+
+ thumb_func_start sub_802C270
+sub_802C270: @ 802C270
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ adds r0, 0x46
+ movs r1, 0x1
+ strb r1, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802C270
+
+ thumb_func_start sub_802C280
+sub_802C280: @ 802C280
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ movs r6, 0
+ ldr r2, =gUnknown_02022CFC
+ ldr r0, [r2]
+ ldrb r0, [r0, 0x5]
+ mov r9, r0
+ movs r5, 0
+ cmp r6, r9
+ bge _0802C360
+ mov r10, r2
+ mov r8, r5
+ movs r7, 0
+_0802C2A2:
+ mov r0, r10
+ ldr r3, [r0]
+ adds r1, r3, r7
+ ldr r2, =0x000082f4
+ adds r0, r1, r2
+ ldrh r2, [r0]
+ cmp r2, 0x1
+ beq _0802C2D4
+ cmp r2, 0x1
+ bgt _0802C2C4
+ cmp r2, 0
+ beq _0802C2CA
+ b _0802C354
+ .pool
+_0802C2C4:
+ cmp r2, 0x2
+ beq _0802C338
+ b _0802C354
+_0802C2CA:
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_802DC80
+ b _0802C354
+_0802C2D4:
+ ldr r0, =0x000082f6
+ adds r4, r1, r0
+ ldrh r0, [r4]
+ cmp r0, 0x1
+ bne _0802C2F6
+ ldr r0, =0x000082f2
+ adds r0, r1
+ adds r1, r3, 0
+ adds r1, 0x9A
+ add r1, r8
+ str r1, [sp]
+ ldrh r1, [r0]
+ mov r12, r1
+ ldr r0, [sp]
+ ldrh r0, [r0]
+ cmp r12, r0
+ beq _0802C31E
+_0802C2F6:
+ ldrb r3, [r3, 0x6]
+ cmp r5, r3
+ bne _0802C2FE
+ strh r2, [r4]
+_0802C2FE:
+ orrs r6, r2
+ mov r1, r10
+ ldr r2, [r1]
+ ldr r1, =0x000082e8
+ adds r0, r2, r1
+ adds r0, r7
+ ldr r1, =0x7fffffff
+ str r1, [r0]
+ adds r1, r2, 0
+ adds r1, 0x9A
+ add r1, r8
+ adds r2, r7
+ ldr r0, =0x000082f2
+ adds r2, r0
+ ldrh r0, [r2]
+ strh r0, [r1]
+_0802C31E:
+ adds r0, r5, 0
+ bl sub_802C398
+ b _0802C354
+ .pool
+_0802C338:
+ ldr r0, =0x000082f6
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0x2
+ beq _0802C354
+ ldrb r3, [r3, 0x6]
+ cmp r5, r3
+ bne _0802C34A
+ strh r2, [r1]
+_0802C34A:
+ orrs r6, r2
+ lsls r0, r5, 24
+ lsrs r0, 24
+ bl sub_802DD88
+_0802C354:
+ movs r1, 0x2
+ add r8, r1
+ adds r7, 0x28
+ adds r5, 0x1
+ cmp r5, r9
+ blt _0802C2A2
+_0802C360:
+ movs r0, 0x2
+ ands r0, r6
+ cmp r0, 0
+ beq _0802C378
+ movs r0, 0x83
+ lsls r0, 1
+ bl PlaySE
+ b _0802C386
+ .pool
+_0802C378:
+ movs r0, 0x1
+ ands r6, r0
+ cmp r6, 0
+ beq _0802C386
+ movs r0, 0xA
+ bl PlaySE
+_0802C386:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802C280
+
+ thumb_func_start sub_802C398
+sub_802C398: @ 802C398
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ ldr r0, =gUnknown_02022CFC
+ ldr r2, [r0]
+ ldr r0, [r2, 0x68]
+ cmp r0, 0
+ bne _0802C432
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ ldr r1, =0x000082e4
+ adds r0, r1
+ adds r5, r2, r0
+ ldr r1, [r5, 0x4]
+ ldr r0, =0x7fffffff
+ cmp r1, r0
+ beq _0802C3D0
+ adds r0, r1, 0x1
+ str r0, [r5, 0x4]
+ adds r3, r0, 0
+ b _0802C3E8
+ .pool
+_0802C3D0:
+ adds r0, r2, 0
+ adds r0, 0x4A
+ ldrh r1, [r0]
+ ldrh r0, [r5, 0xE]
+ subs r3, r1, r0
+ ldr r0, =0x0000fde7
+ cmp r3, r0
+ ble _0802C3E6
+ ldr r0, =0xffff0218
+ adds r3, r0
+ adds r3, r1
+_0802C3E6:
+ str r3, [r5, 0x4]
+_0802C3E8:
+ cmp r3, 0x3
+ ble _0802C432
+ subs r3, 0x4
+ cmp r3, 0x2F
+ bgt _0802C414
+ ldr r2, =gUnknown_082FB65C
+ ldrh r1, [r5, 0xC]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 4
+ adds r0, r3, r0
+ adds r0, r2
+ movs r4, 0
+ ldrsb r4, [r0, r4]
+ b _0802C416
+ .pool
+_0802C414:
+ movs r4, 0
+_0802C416:
+ adds r1, r4, 0
+ adds r0, r6, 0
+ bl sub_802DC80
+ cmp r4, 0
+ bne _0802C430
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x6]
+ cmp r6, r0
+ bne _0802C430
+ bl sub_802C1BC
+_0802C430:
+ str r4, [r5]
+_0802C432:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C398
+
+ thumb_func_start sub_802C43C
+sub_802C43C: @ 802C43C
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022CFC
+ ldr r1, [r5]
+ ldr r0, [r1, 0x14]
+ cmp r0, 0x8
+ bne _0802C4CE
+ ldr r0, [r1, 0x18]
+ cmp r0, 0x7
+ bne _0802C4CE
+ ldr r4, [r1, 0x58]
+ cmp r4, 0
+ bne _0802C46C
+ bl sub_802C780
+ ldr r0, [r5]
+ str r4, [r0, 0x54]
+ movs r1, 0x1
+ str r1, [r0, 0x58]
+ adds r0, 0x71
+ strb r4, [r0]
+ b _0802C4CE
+ .pool
+_0802C46C:
+ ldr r0, [r1, 0x54]
+ cmp r0, 0x5
+ bne _0802C480
+ ldrh r0, [r1, 0xC]
+ adds r0, 0x1
+ strh r0, [r1, 0xC]
+ ldrh r0, [r1, 0xC]
+ bl sub_802C7A0
+ b _0802C484
+_0802C480:
+ movs r0, 0
+ strh r0, [r1, 0xC]
+_0802C484:
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldr r0, [r1, 0x54]
+ cmp r0, 0x1
+ ble _0802C49E
+ movs r0, 0x1
+ str r0, [r1, 0x64]
+ adds r0, r1, 0
+ adds r0, 0x86
+ adds r1, 0x81
+ movs r2, 0x5
+ bl memcpy
+_0802C49E:
+ bl sub_802C780
+ ldr r0, [r4]
+ movs r2, 0
+ str r2, [r0, 0x54]
+ movs r1, 0x1
+ str r1, [r0, 0x58]
+ adds r0, 0x71
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r2, r0, 0
+ adds r2, 0x74
+ ldrh r1, [r2]
+ ldr r0, =0x0000270e
+ cmp r1, r0
+ bhi _0802C4C2
+ adds r0, r1, 0x1
+ strh r0, [r2]
+_0802C4C2:
+ movs r0, 0xA
+ bl sub_802C688
+ movs r0, 0x3
+ bl sub_802AE14
+_0802C4CE:
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldr r0, [r0, 0x64]
+ cmp r0, 0
+ beq _0802C504
+ bl sub_802C618
+ cmp r0, 0x1
+ beq _0802C4E8
+ ldr r0, [r4]
+ ldr r0, [r0, 0x14]
+ cmp r0, 0
+ bne _0802C504
+_0802C4E8:
+ ldr r0, [r4]
+ adds r0, 0x86
+ bl sub_802C73C
+ bl sub_802C790
+ bl sub_802C688
+ movs r0, 0x3
+ bl sub_802AE14
+ ldr r1, [r4]
+ movs r0, 0
+ str r0, [r1, 0x64]
+_0802C504:
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldr r0, [r0, 0x58]
+ cmp r0, 0
+ beq _0802C52A
+ bl sub_802C6B0
+ adds r2, r0, 0
+ ldr r1, [r4]
+ ldr r0, [r1, 0x54]
+ cmp r2, r0
+ ble _0802C52A
+ str r2, [r1, 0x54]
+ adds r0, r1, 0
+ adds r0, 0x81
+ adds r1, 0x7C
+ movs r2, 0x5
+ bl memcpy
+_0802C52A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C43C
+
+ thumb_func_start sub_802C538
+sub_802C538: @ 802C538
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022CFC
+ ldr r1, [r5]
+ ldr r0, [r1, 0x14]
+ cmp r0, 0x6
+ bne _0802C582
+ ldr r4, =0x000083ac
+ adds r0, r1, r4
+ ldr r1, [r0]
+ ldr r0, [r1]
+ cmp r0, 0
+ bne _0802C582
+ ldrh r0, [r1, 0x12]
+ cmp r0, 0x1
+ bne _0802C578
+ bl sub_802C0DC
+ adds r1, r0, 0
+ cmp r1, 0x1
+ bne _0802C578
+ ldr r0, [r5]
+ adds r0, r4
+ ldr r0, [r0]
+ str r1, [r0, 0x14]
+ b _0802C582
+ .pool
+_0802C574:
+ movs r0, 0
+ b _0802C5CA
+_0802C578:
+ bl sub_802C18C
+ movs r0, 0x3
+ bl sub_802AE14
+_0802C582:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldr r0, [r1, 0x14]
+ cmp r0, 0x7
+ bne _0802C5A8
+ ldr r0, [r1, 0x18]
+ cmp r0, 0x6
+ bne _0802C5A8
+ ldr r2, =0x000083ac
+ adds r0, r1, r2
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x10]
+ cmp r0, 0x2
+ beq _0802C5A8
+ movs r0, 0x1
+ str r0, [r1, 0x14]
+ movs r0, 0x3
+ bl sub_802AE14
+_0802C5A8:
+ movs r2, 0
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x5]
+ cmp r2, r1
+ bge _0802C5C8
+ adds r3, r1, 0
+ ldr r4, =0x000082f4
+ adds r1, r0, r4
+_0802C5BA:
+ ldrh r0, [r1]
+ cmp r0, 0x2
+ beq _0802C574
+ adds r1, 0x28
+ adds r2, 0x1
+ cmp r2, r3
+ blt _0802C5BA
+_0802C5C8:
+ movs r0, 0x1
+_0802C5CA:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802C538
+
+ thumb_func_start sub_802C5DC
+sub_802C5DC: @ 802C5DC
+ push {r4,lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrb r3, [r0, 0x5]
+ movs r4, 0
+ cmp r4, r3
+ bge _0802C600
+ ldr r1, =0x000082f8
+ adds r2, r0, r1
+ adds r1, r3, 0
+_0802C5F0:
+ ldr r0, [r2]
+ cmp r0, 0
+ beq _0802C5F8
+ adds r4, 0x1
+_0802C5F8:
+ adds r2, 0x28
+ subs r1, 0x1
+ cmp r1, 0
+ bne _0802C5F0
+_0802C600:
+ movs r0, 0
+ cmp r4, r3
+ bne _0802C608
+ movs r0, 0x1
+_0802C608:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802C5DC
+
+ thumb_func_start sub_802C618
+sub_802C618: @ 802C618
+ push {r4,lr}
+ movs r2, 0
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x5]
+ cmp r2, r1
+ bge _0802C648
+ adds r3, r1, 0
+ ldr r4, =0x000082f8
+ adds r1, r0, r4
+_0802C62C:
+ ldr r0, [r1]
+ cmp r0, 0x1
+ beq _0802C640
+ movs r0, 0
+ b _0802C64A
+ .pool
+_0802C640:
+ adds r1, 0x28
+ adds r2, 0x1
+ cmp r2, r3
+ blt _0802C62C
+_0802C648:
+ movs r0, 0x1
+_0802C64A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C618
+
+ thumb_func_start sub_802C650
+sub_802C650: @ 802C650
+ push {lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x45
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0802C668
+_0802C660:
+ movs r0, 0
+ b _0802C684
+ .pool
+_0802C668:
+ movs r2, 0x1
+ ldrb r0, [r1, 0x5]
+ cmp r2, r0
+ bge _0802C682
+ adds r3, r0, 0
+ adds r1, 0x92
+_0802C674:
+ ldrh r0, [r1]
+ cmp r0, 0x1
+ beq _0802C660
+ adds r1, 0x2
+ adds r2, 0x1
+ cmp r2, r3
+ blt _0802C674
+_0802C682:
+ movs r0, 0x1
+_0802C684:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C650
+
+ thumb_func_start sub_802C688
+sub_802C688: @ 802C688
+ push {lr}
+ ldr r1, =gUnknown_02022CFC
+ ldr r2, [r1]
+ ldr r1, [r2, 0x78]
+ adds r1, r0
+ str r1, [r2, 0x78]
+ movs r0, 0x1
+ str r0, [r2, 0x5C]
+ ldr r0, =0x00018695
+ cmp r1, r0
+ bls _0802C6A2
+ adds r0, 0x1
+ str r0, [r2, 0x78]
+_0802C6A2:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C688
+
+ thumb_func_start sub_802C6B0
+sub_802C6B0: @ 802C6B0
+ push {r4-r7,lr}
+ movs r5, 0
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrb r4, [r0, 0x5]
+ movs r2, 0
+ cmp r5, r4
+ bge _0802C702
+ mov r12, r1
+ movs r3, 0
+ ldr r7, =0x000082e4
+ movs r6, 0x1E
+ negs r6, r6
+_0802C6CA:
+ mov r0, r12
+ ldr r1, [r0]
+ adds r0, r1, r7
+ adds r0, r3
+ ldr r0, [r0]
+ cmp r0, r6
+ bne _0802C6F0
+ adds r0, r1, 0
+ adds r0, 0x7C
+ adds r0, r2
+ movs r1, 0x1
+ strb r1, [r0]
+ adds r5, 0x1
+ b _0802C6FA
+ .pool
+_0802C6F0:
+ adds r0, r1, 0
+ adds r0, 0x7C
+ adds r0, r2
+ movs r1, 0
+ strb r1, [r0]
+_0802C6FA:
+ adds r3, 0x28
+ adds r2, 0x1
+ cmp r2, r4
+ blt _0802C6CA
+_0802C702:
+ adds r0, r5, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C6B0
+
+ thumb_func_start sub_802C70C
+sub_802C70C: @ 802C70C
+ push {lr}
+ movs r2, 0
+ ldr r1, =gUnknown_03005000
+ ldr r3, =0x000009e6
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0802C728
+ ldr r3, =0x00000c1a
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0802C728
+ movs r2, 0x1
+_0802C728:
+ adds r0, r2, 0
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802C70C
+
+ thumb_func_start sub_802C73C
+sub_802C73C: @ 802C73C
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ ldr r6, =gUnknown_02022CFC
+ movs r5, 0x1
+_0802C74A:
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802C75A
+ adds r0, r5, 0
+ lsls r0, r1
+ orrs r2, r0
+ adds r3, 0x1
+_0802C75A:
+ adds r1, 0x1
+ cmp r1, 0x4
+ ble _0802C74A
+ ldr r0, [r6]
+ adds r0, 0x71
+ strb r2, [r0]
+ cmp r2, 0
+ beq _0802C772
+ ldr r0, [r6]
+ adds r0, 0x4D
+ movs r1, 0x1
+ strb r1, [r0]
+_0802C772:
+ adds r0, r3, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802C73C
+
+ thumb_func_start sub_802C780
+sub_802C780: @ 802C780
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ adds r0, 0x44
+ movs r1, 0
+ strb r1, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802C780
+
+ thumb_func_start sub_802C790
+sub_802C790: @ 802C790
+ ldr r1, =gUnknown_082FB6EC
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802C790
+
+ thumb_func_start sub_802C7A0
+sub_802C7A0: @ 802C7A0
+ push {lr}
+ lsls r0, 16
+ lsrs r1, r0, 16
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrh r2, [r0, 0xE]
+ cmp r1, r2
+ bls _0802C7B2
+ strh r1, [r0, 0xE]
+_0802C7B2:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C7A0
+
+ thumb_func_start sub_802C7BC
+sub_802C7BC: @ 802C7BC
+ push {lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldr r1, =gUnknown_082FB714
+ ldr r2, [r0, 0x78]
+ ldr r0, [r1]
+ cmp r2, r0
+ bcs _0802C7D8
+ movs r0, 0
+ b _0802C7DA
+ .pool
+_0802C7D8:
+ movs r0, 0x1
+_0802C7DA:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C7BC
+
+ thumb_func_start sub_802C7E0
+sub_802C7E0: @ 802C7E0
+ push {r4,lr}
+ bl sub_802C818
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ bl sub_802C838
+ lsls r0, 16
+ lsrs r0, 4
+ ldr r1, =0x00000fff
+ ands r4, r1
+ orrs r0, r4
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r4}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802C7E0
+
+ thumb_func_start sub_802C808
+sub_802C808: @ 802C808
+ lsls r0, 16
+ lsrs r3, r0, 28
+ strh r3, [r2]
+ lsls r0, 4
+ lsrs r0, 20
+ strh r0, [r1]
+ bx lr
+ thumb_func_end sub_802C808
+
+ thumb_func_start sub_802C818
+sub_802C818: @ 802C818
+ push {lr}
+ bl Random
+ lsls r0, 16
+ movs r1, 0xE0
+ lsls r1, 11
+ ands r1, r0
+ ldr r0, =gUnknown_082FB704
+ lsrs r1, 15
+ adds r1, r0
+ ldrh r0, [r1]
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802C818
+
+ thumb_func_start sub_802C838
+sub_802C838: @ 802C838
+ push {r4-r6,lr}
+ movs r5, 0
+ movs r4, 0
+ ldr r3, =gUnknown_02022CFC
+ ldr r0, [r3]
+ ldr r2, =gUnknown_082FB714
+ ldr r1, [r0, 0x78]
+ ldr r0, [r2]
+ cmp r1, r0
+ bcc _0802C874
+ ldr r5, [r2, 0x4]
+ adds r6, r3, 0
+ adds r3, r2, 0x4
+_0802C852:
+ adds r3, 0x8
+ adds r2, 0x8
+ adds r4, 0x1
+ cmp r4, 0x4
+ bhi _0802C874
+ ldr r0, [r6]
+ ldr r1, [r0, 0x78]
+ ldr r0, [r2]
+ cmp r1, r0
+ bcc _0802C874
+ ldr r5, [r3]
+ b _0802C852
+ .pool
+_0802C874:
+ lsls r0, r5, 16
+ lsrs r0, 16
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C838
+
+ thumb_func_start sub_802C880
+sub_802C880: @ 802C880
+ push {r4,r5,lr}
+ lsls r0, 16
+ lsrs r5, r0, 16
+ lsls r1, 16
+ lsrs r4, r1, 16
+ b _0802C892
+_0802C88C:
+ subs r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+_0802C892:
+ cmp r4, 0
+ beq _0802C8A4
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl CheckBagHasSpace
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802C88C
+_0802C8A4:
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C880
+
+ thumb_func_start sub_802C8AC
+sub_802C8AC: @ 802C8AC
+ push {lr}
+ bl GetLinkPlayerCount
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C8AC
+
+ thumb_func_start sub_802C8BC
+sub_802C8BC: @ 802C8BC
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x6]
+ bx lr
+ .pool
+ thumb_func_end sub_802C8BC
+
+ thumb_func_start sub_802C8C8
+sub_802C8C8: @ 802C8C8
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gUnknown_02022CFC
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, =0x000082a8
+ adds r1, r0
+ ldr r0, [r2]
+ adds r0, r1
+ bx lr
+ .pool
+ thumb_func_end sub_802C8C8
+
+ thumb_func_start sub_802C8E8
+sub_802C8E8: @ 802C8E8
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, =gUnknown_02022CFC
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, [r2]
+ adds r0, r1
+ movs r1, 0x83
+ lsls r1, 8
+ adds r0, r1
+ bx lr
+ .pool
+ thumb_func_end sub_802C8E8
+
+ thumb_func_start sub_802C908
+sub_802C908: @ 802C908
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_802AC00
+ lsls r0, 16
+ asrs r0, 16
+ mvns r0, r0
+ lsrs r0, 31
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C908
+
+ thumb_func_start sub_802C920
+sub_802C920: @ 802C920
+ push {r4,r5,lr}
+ movs r5, 0
+_0802C924:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x5
+ bl GetMonData
+ cmp r0, 0
+ beq _0802C95C
+ adds r0, r4, 0
+ movs r1, 0x41
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_802C908
+ cmp r0, 0
+ beq _0802C95C
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0x1
+ b _0802C966
+ .pool
+_0802C95C:
+ adds r5, 0x1
+ cmp r5, 0x5
+ ble _0802C924
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0
+_0802C966:
+ strh r0, [r1]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C920
+
+ thumb_func_start sub_802C974
+sub_802C974: @ 802C974
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r4, 0
+ ldr r5, =gUnknown_082FBE08
+_0802C97C:
+ adds r0, r5, 0
+ bl LoadCompressedSpriteSheet
+ adds r5, 0x8
+ adds r4, 0x1
+ cmp r4, 0x4
+ bls _0802C97C
+ movs r4, 0
+ ldr r5, =gUnknown_082FBE30
+_0802C98E:
+ adds r0, r5, 0
+ bl LoadSpritePalette
+ adds r5, 0x8
+ adds r4, 0x1
+ cmp r4, 0x1
+ bls _0802C98E
+ movs r0, 0x5
+ bl IndexOfSpritePaletteTag
+ strb r0, [r6, 0xE]
+ movs r0, 0x6
+ bl IndexOfSpritePaletteTag
+ strb r0, [r6, 0xF]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C974
+
+ thumb_func_start sub_802C9BC
+sub_802C9BC: @ 802C9BC
+ push {lr}
+ movs r2, 0
+ movs r1, 0x7
+ adds r0, 0x3C
+_0802C9C4:
+ strh r2, [r0]
+ subs r0, 0x2
+ subs r1, 0x1
+ cmp r1, 0
+ bge _0802C9C4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802C9BC
+
+ thumb_func_start sub_802C9D4
+sub_802C9D4: @ 802C9D4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x34
+ mov r9, r0
+ adds r7, r1, 0
+ ldr r0, [sp, 0x54]
+ lsls r2, 16
+ lsrs r2, 16
+ str r2, [sp, 0x28]
+ lsls r3, 16
+ lsrs r3, 16
+ str r3, [sp, 0x2C]
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r1, sp
+ ldr r0, =gUnknown_082FBE40
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ movs r0, 0x80
+ lsls r0, 6
+ bl Alloc
+ mov r8, r0
+ movs r0, 0x80
+ lsls r0, 4
+ bl Alloc
+ mov r10, r0
+ bl sub_802C8BC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r6, r0
+ bne _0802CA2C
+ movs r0, 0x3
+ b _0802CA32
+ .pool
+_0802CA2C:
+ adds r0, r6, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+_0802CA32:
+ str r0, [sp, 0x30]
+ mov r1, r8
+ cmp r1, 0
+ beq _0802CAF4
+ mov r2, r10
+ cmp r2, 0
+ beq _0802CAF4
+ ldrh r2, [r7]
+ lsls r0, r2, 3
+ ldr r1, =gMonStillFrontPicTable
+ adds r0, r1
+ ldr r3, [r7, 0x8]
+ mov r1, r8
+ bl HandleLoadSpecialPokePic
+ mov r3, r8
+ str r3, [sp, 0x18]
+ adds r4, r6, 0
+ add r0, sp, 0x18
+ ldr r5, =0xffff0000
+ lsls r1, r4, 16
+ movs r2, 0x80
+ lsls r2, 4
+ orrs r1, r2
+ str r1, [r0, 0x4]
+ bl LoadSpriteSheet
+ ldrh r0, [r7]
+ ldr r1, [r7, 0x4]
+ ldr r2, [r7, 0x8]
+ bl GetFrontSpritePalFromSpeciesAndPersonality
+ str r0, [sp, 0x20]
+ add r0, sp, 0x20
+ ldr r1, [r0, 0x4]
+ ands r1, r5
+ orrs r1, r4
+ str r1, [r0, 0x4]
+ bl LoadCompressedSpritePalette
+ mov r0, r8
+ bl Free
+ mov r0, r10
+ bl Free
+ mov r1, sp
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r0, r6
+ strh r0, [r1]
+ mov r0, sp
+ ldrh r0, [r0, 0x2]
+ adds r0, r6
+ strh r0, [r1, 0x2]
+ ldr r4, [sp, 0x28]
+ lsls r1, r4, 16
+ asrs r1, 16
+ ldr r0, [sp, 0x2C]
+ lsls r2, r0, 16
+ asrs r2, 16
+ mov r0, sp
+ ldr r3, [sp, 0x30]
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x40
+ beq _0802CAF4
+ lsls r0, r6, 2
+ ldr r2, =0x000081a8
+ add r2, r9
+ adds r2, r0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ str r0, [r2]
+ ldr r0, =0x000081fc
+ add r0, r9
+ adds r0, r6
+ add r1, sp, 0x30
+ ldrb r1, [r1]
+ strb r1, [r0]
+ b _0802CB00
+ .pool
+_0802CAF4:
+ lsls r0, r6, 2
+ ldr r1, =0x000081a8
+ add r1, r9
+ adds r1, r0
+ movs r0, 0
+ str r0, [r1]
+_0802CB00:
+ add sp, 0x34
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C9D4
+
+ thumb_func_start sub_802CB14
+sub_802CB14: @ 802CB14
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ lsls r6, r1, 2
+ ldr r0, =0x000081bc
+ adds r5, r4, r0
+ adds r5, r6
+ ldr r0, [r5]
+ bl sub_802C9BC
+ ldr r2, [r5]
+ ldr r0, =0x000081a8
+ adds r4, r0
+ adds r4, r6
+ ldr r1, [r4]
+ ldr r0, =gSprites
+ subs r1, r0
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r1, r0, 8
+ adds r0, r1
+ lsls r1, r0, 16
+ adds r0, r1
+ negs r0, r0
+ asrs r0, 2
+ strh r0, [r2, 0x3C]
+ ldr r1, [r5]
+ adds r1, 0x3E
+ ldrb r2, [r1]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1]
+ ldr r1, [r5]
+ movs r0, 0x60
+ strh r0, [r1, 0x22]
+ ldr r0, [r5]
+ ldr r1, =sub_802CB7C
+ str r1, [r0, 0x1C]
+ movs r1, 0x1
+ bl StartSpriteAnim
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CB14
+
+ thumb_func_start sub_802CB7C
+sub_802CB7C: @ 802CB7C
+ push {lr}
+ adds r2, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r2, r1]
+ cmp r0, 0x1
+ beq _0802CBA8
+ cmp r0, 0x1
+ bgt _0802CB92
+ cmp r0, 0
+ beq _0802CB98
+ b _0802CBE6
+_0802CB92:
+ cmp r0, 0x2
+ beq _0802CBC8
+ b _0802CBE6
+_0802CB98:
+ adds r0, r2, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _0802CBE6
+ b _0802CBD6
+_0802CBA8:
+ ldrh r1, [r2, 0x22]
+ subs r1, 0x1
+ strh r1, [r2, 0x22]
+ ldrh r0, [r2, 0x30]
+ adds r0, 0x1
+ strh r0, [r2, 0x30]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r1, 0x48
+ bgt _0802CBE6
+ movs r0, 0x48
+ strh r0, [r2, 0x22]
+ ldrh r0, [r2, 0x2E]
+ adds r0, 0x1
+ strh r0, [r2, 0x2E]
+ b _0802CBE6
+_0802CBC8:
+ ldrh r0, [r2, 0x30]
+ adds r0, 0x1
+ strh r0, [r2, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2F
+ ble _0802CBE6
+_0802CBD6:
+ adds r3, r2, 0
+ adds r3, 0x3E
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r3]
+ ldr r0, =SpriteCallbackDummy
+ str r0, [r2, 0x1C]
+_0802CBE6:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CB7C
+
+ thumb_func_start sub_802CBF0
+sub_802CBF0: @ 802CBF0
+ push {lr}
+ lsls r1, 2
+ ldr r2, =0x000081a8
+ adds r0, r2
+ adds r0, r1
+ ldr r2, [r0]
+ ldr r1, =sub_802CC40
+ str r1, [r2, 0x1C]
+ movs r1, 0
+ strh r1, [r2, 0x26]
+ ldr r0, [r0]
+ bl sub_802C9BC
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CBF0
+
+ thumb_func_start sub_802CC18
+sub_802CC18: @ 802CC18
+ push {lr}
+ movs r2, 0
+ lsls r1, 2
+ ldr r3, =0x000081a8
+ adds r0, r3
+ adds r0, r1
+ ldr r0, [r0]
+ ldr r1, [r0, 0x1C]
+ ldr r0, =sub_802CC40
+ cmp r1, r0
+ bne _0802CC30
+ movs r2, 0x1
+_0802CC30:
+ adds r0, r2, 0
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802CC18
+
+ thumb_func_start sub_802CC40
+sub_802CC40: @ 802CC40
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x30]
+ adds r0, 0x1
+ strh r0, [r2, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _0802CC6C
+ ldrh r0, [r2, 0x32]
+ adds r0, 0x1
+ strh r0, [r2, 0x32]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0802CC64
+ movs r0, 0x2
+ b _0802CC66
+_0802CC64:
+ ldr r0, =0x0000fffe
+_0802CC66:
+ strh r0, [r2, 0x26]
+ movs r0, 0
+ strh r0, [r2, 0x30]
+_0802CC6C:
+ movs r1, 0x32
+ ldrsh r0, [r2, r1]
+ cmp r0, 0xC
+ ble _0802CC7C
+ movs r0, 0
+ strh r0, [r2, 0x26]
+ ldr r0, =SpriteCallbackDummy
+ str r0, [r2, 0x1C]
+_0802CC7C:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CC40
+
+ thumb_func_start sub_802CC88
+sub_802CC88: @ 802CC88
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r1, 2
+ ldr r0, =0x000081a8
+ adds r4, r0
+ adds r4, r1
+ ldr r0, [r4]
+ bl sub_802C9BC
+ ldr r1, [r4]
+ ldr r0, =sub_802CD08
+ str r0, [r1, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CC88
+
+ thumb_func_start sub_802CCB0
+sub_802CCB0: @ 802CCB0
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0
+ beq _0802CCF4
+ movs r1, 0x5
+ negs r1, r1
+ mov r12, r1
+ ldr r1, =0x000081a8
+ adds r3, r4, r1
+ ldr r7, =sub_802CD08
+ ldr r6, =SpriteCallbackDummy
+ movs r5, 0xA
+ adds r4, r0, 0
+_0802CCD2:
+ ldr r2, [r3]
+ ldr r0, [r2, 0x1C]
+ cmp r0, r7
+ bne _0802CCEC
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ mov r0, r12
+ ands r0, r1
+ strb r0, [r2]
+ ldr r0, [r3]
+ str r6, [r0, 0x1C]
+ adds r0, 0x43
+ strb r5, [r0]
+_0802CCEC:
+ adds r3, 0x4
+ subs r4, 0x1
+ cmp r4, 0
+ bne _0802CCD2
+_0802CCF4:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CCB0
+
+ thumb_func_start sub_802CD08
+sub_802CD08: @ 802CD08
+ push {lr}
+ adds r3, r0, 0
+ ldrh r0, [r3, 0x2E]
+ adds r0, 0x1
+ strh r0, [r3, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ ble _0802CD36
+ movs r0, 0
+ strh r0, [r3, 0x2E]
+ adds r3, 0x3E
+ ldrb r2, [r3]
+ lsls r0, r2, 29
+ lsrs r0, 31
+ movs r1, 0x1
+ eors r1, r0
+ lsls r1, 2
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+_0802CD36:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802CD08
+
+ thumb_func_start sub_802CD3C
+sub_802CD3C: @ 802CD3C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r3, r0, 16
+ movs r2, 0
+ cmp r2, r3
+ bge _0802CD66
+ ldr r0, =0x000081fc
+ adds r5, r4, r0
+ subs r0, 0x54
+ adds r4, r0
+_0802CD56:
+ ldm r4!, {r0}
+ adds r1, r5, r2
+ ldrb r1, [r1]
+ adds r0, 0x43
+ strb r1, [r0]
+ adds r2, 0x1
+ cmp r2, r3
+ blt _0802CD56
+_0802CD66:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CD3C
+
+ thumb_func_start sub_802CD70
+sub_802CD70: @ 802CD70
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r1, 2
+ ldr r0, =0x000081a8
+ adds r4, r0
+ adds r4, r1
+ ldr r0, [r4]
+ bl sub_802C9BC
+ ldr r1, [r4]
+ ldr r0, =sub_802CDD4
+ str r0, [r1, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CD70
+
+ thumb_func_start sub_802CD98
+sub_802CD98: @ 802CD98
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r3, r0, 16
+ movs r2, 0
+ cmp r2, r3
+ bge _0802CDCC
+ ldr r5, =sub_802CDD4
+ ldr r0, =0x000081a8
+ adds r1, r4, r0
+_0802CDB0:
+ ldr r0, [r1]
+ ldr r0, [r0, 0x1C]
+ cmp r0, r5
+ bne _0802CDC4
+ movs r0, 0x1
+ b _0802CDCE
+ .pool
+_0802CDC4:
+ adds r1, 0x4
+ adds r2, 0x1
+ cmp r2, r3
+ blt _0802CDB0
+_0802CDCC:
+ movs r0, 0
+_0802CDCE:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802CD98
+
+ thumb_func_start sub_802CDD4
+sub_802CDD4: @ 802CDD4
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r0, 0x2E
+ ldrsh r4, [r5, r0]
+ cmp r4, 0
+ beq _0802CDE6
+ cmp r4, 0x1
+ beq _0802CDF4
+ b _0802CE3C
+_0802CDE6:
+ movs r0, 0x22
+ bl PlaySE
+ strh r4, [r5, 0x30]
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+_0802CDF4:
+ ldrh r0, [r5, 0x30]
+ adds r0, 0x4
+ strh r0, [r5, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7F
+ ble _0802CE06
+ movs r0, 0
+ strh r0, [r5, 0x30]
+_0802CE06:
+ ldr r1, =gSineTable
+ movs r2, 0x30
+ ldrsh r0, [r5, r2]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ lsls r0, 16
+ asrs r0, 19
+ negs r0, r0
+ strh r0, [r5, 0x26]
+ movs r0, 0x30
+ ldrsh r1, [r5, r0]
+ cmp r1, 0
+ bne _0802CE3C
+ ldrh r0, [r5, 0x32]
+ adds r0, 0x1
+ strh r0, [r5, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bgt _0802CE38
+ strh r1, [r5, 0x2E]
+ b _0802CE3C
+ .pool
+_0802CE38:
+ ldr r0, =SpriteCallbackDummy
+ str r0, [r5, 0x1C]
+_0802CE3C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CDD4
+
+ thumb_func_start sub_802CE48
+sub_802CE48: @ 802CE48
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r3, 24
+ lsrs r4, r3, 24
+ ldr r0, =gUnknown_082FC00C
+ lsls r1, 16
+ asrs r1, 16
+ lsls r2, 16
+ asrs r2, 16
+ movs r3, 0x1
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x40
+ beq _0802CE88
+ ldr r0, =gSprites
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r0
+ adds r3, r1, 0
+ adds r3, 0x3E
+ ldrb r0, [r3]
+ movs r2, 0x4
+ orrs r0, r2
+ strb r0, [r3]
+ lsls r2, r4, 2
+ ldr r3, =0x000081bc
+ adds r0, r5, r3
+ adds r0, r2
+ str r1, [r0]
+_0802CE88:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CE48
+
+ thumb_func_start sub_802CE9C
+sub_802CE9C: @ 802CE9C
+ push {r4-r7,lr}
+ adds r7, r0, 0
+ movs r5, 0
+ movs r4, 0
+ ldr r6, =gUnknown_082FBE58
+_0802CEA6:
+ ldr r1, =gUnknown_082FBEB8
+ lsls r0, r4, 2
+ adds r0, r1
+ ldr r0, [r0]
+ ldr r2, =gUnknown_082FBEA8
+ lsls r1, r5, 1
+ adds r1, r2
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ movs r3, 0
+ ldrsh r2, [r6, r3]
+ movs r3, 0x2
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r1, r0, 24
+ lsls r0, r5, 2
+ ldr r3, =0x000081d0
+ adds r2, r7, r3
+ adds r2, r0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ str r0, [r2]
+ adds r5, 0x1
+ adds r6, 0x14
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _0802CEA6
+ movs r4, 0x3
+ movs r6, 0x3C
+_0802CEE8:
+ ldr r1, =gUnknown_082FBEB8
+ lsls r0, r4, 2
+ adds r0, r1
+ ldr r0, [r0]
+ ldr r2, =gUnknown_082FBEA8
+ lsls r1, r5, 1
+ adds r1, r2
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ ldr r2, =gUnknown_082FBE58
+ adds r2, r6, r2
+ movs r3, 0
+ ldrsh r2, [r2, r3]
+ movs r3, 0x2
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r1, r0, 24
+ lsls r0, r5, 2
+ ldr r3, =0x000081d0
+ adds r2, r7, r3
+ adds r2, r0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ str r0, [r2]
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r2, 0x1
+ orrs r1, r2
+ strb r1, [r0]
+ adds r5, 0x1
+ subs r6, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _0802CEE8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CE9C
+
+ thumb_func_start sub_802CF50
+sub_802CF50: @ 802CF50
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ str r0, [sp, 0x8]
+ cmp r1, 0x5
+ ble _0802CF70
+ movs r0, 0xA
+ subs r1, r0, r1
+ movs r0, 0x3
+ str r0, [sp]
+ ldr r2, [sp, 0x8]
+ ldrb r0, [r2, 0xF]
+ b _0802CF78
+_0802CF70:
+ movs r3, 0x2
+ str r3, [sp]
+ ldr r7, [sp, 0x8]
+ ldrb r0, [r7, 0xE]
+_0802CF78:
+ movs r6, 0
+ lsls r2, r1, 1
+ str r2, [sp, 0x4]
+ lsls r0, 4
+ mov r9, r0
+ lsls r1, 24
+ mov r8, r1
+ ldr r0, =gUnknown_082FBE58
+ adds r4, r2, r0
+ ldr r3, [sp]
+ lsls r3, 2
+ mov r10, r3
+ movs r5, 0x3
+_0802CF92:
+ lsls r0, r6, 2
+ ldr r7, [sp, 0x8]
+ ldr r1, =0x000081d0
+ adds r2, r7, r1
+ adds r2, r0
+ ldr r1, [r2]
+ ldrh r0, [r4]
+ strh r0, [r1, 0x22]
+ ldr r3, [r2]
+ ldrb r0, [r3, 0x5]
+ movs r7, 0xD
+ negs r7, r7
+ adds r1, r7, 0
+ ands r0, r1
+ mov r1, r10
+ orrs r0, r1
+ strb r0, [r3, 0x5]
+ ldr r3, [r2]
+ ldrb r1, [r3, 0x5]
+ movs r0, 0xF
+ ands r0, r1
+ mov r7, r9
+ orrs r0, r7
+ strb r0, [r3, 0x5]
+ ldr r0, [r2]
+ mov r2, r8
+ lsrs r1, r2, 24
+ bl StartSpriteAnim
+ adds r6, 0x1
+ adds r4, 0x14
+ subs r5, 0x1
+ cmp r5, 0
+ bge _0802CF92
+ movs r5, 0x3
+ ldr r0, =gUnknown_082FBE58
+ ldr r3, [sp, 0x4]
+ adds r0, r3, r0
+ adds r4, r0, 0
+ adds r4, 0x3C
+ ldr r7, [sp]
+ lsls r7, 2
+ mov r10, r7
+_0802CFE8:
+ lsls r0, r6, 2
+ ldr r1, [sp, 0x8]
+ ldr r3, =0x000081d0
+ adds r2, r1, r3
+ adds r2, r0
+ ldr r1, [r2]
+ ldrh r0, [r4]
+ strh r0, [r1, 0x22]
+ ldr r3, [r2]
+ ldrb r0, [r3, 0x5]
+ movs r7, 0xD
+ negs r7, r7
+ adds r1, r7, 0
+ ands r0, r1
+ mov r1, r10
+ orrs r0, r1
+ strb r0, [r3, 0x5]
+ ldr r3, [r2]
+ ldrb r1, [r3, 0x5]
+ movs r0, 0xF
+ ands r0, r1
+ mov r7, r9
+ orrs r0, r7
+ strb r0, [r3, 0x5]
+ ldr r0, [r2]
+ mov r2, r8
+ lsrs r1, r2, 24
+ bl StartSpriteAnim
+ adds r6, 0x1
+ subs r4, 0x14
+ subs r5, 0x1
+ cmp r5, 0
+ bge _0802CFE8
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CF50
+
+ thumb_func_start sub_802D044
+sub_802D044: @ 802D044
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x9
+ movs r1, 0x7
+ movs r2, 0x78
+ movs r3, 0x50
+ bl sub_802EB24
+ adds r0, r4, 0
+ bl sub_802CD3C
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D044
+
+ thumb_func_start sub_802D068
+sub_802D068: @ 802D068
+ push {lr}
+ bl sub_802EB84
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802D068
+
+ thumb_func_start sub_802D074
+sub_802D074: @ 802D074
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ str r0, [r4]
+ bl sub_802D0BC
+ ldr r0, =sub_802D12C
+ movs r1, 0x3
+ bl CreateTask
+ ldr r1, [r4]
+ strb r0, [r1, 0x6]
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x6]
+ movs r1, 0x2
+ bl SetWordTaskArg
+ ldr r0, =sub_802D150
+ bl sub_802D108
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D074
+
+ thumb_func_start sub_802D0AC
+sub_802D0AC: @ 802D0AC
+ push {lr}
+ bl FreeAllWindowBuffers
+ bl sub_8034CC8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D0AC
+
+ thumb_func_start sub_802D0BC
+sub_802D0BC: @ 802D0BC
+ movs r1, 0
+ strh r1, [r0, 0x4]
+ str r1, [r0]
+ movs r1, 0xFF
+ strh r1, [r0, 0x12]
+ bx lr
+ thumb_func_end sub_802D0BC
+
+ thumb_func_start sub_802D0C8
+sub_802D0C8: @ 802D0C8
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r5, 0
+ ldr r4, =gUnknown_082FE18C
+_0802D0D0:
+ ldr r0, [r4]
+ cmp r0, r6
+ bne _0802D0DC
+ ldr r0, [r4, 0x4]
+ bl sub_802D108
+_0802D0DC:
+ adds r4, 0x8
+ adds r5, 0x1
+ cmp r5, 0x9
+ bls _0802D0D0
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D0C8
+
+ thumb_func_start sub_802D0F0
+sub_802D0F0: @ 802D0F0
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ ldr r1, [r0]
+ movs r0, 0x1
+ eors r1, r0
+ negs r0, r1
+ orrs r0, r1
+ lsrs r0, 31
+ bx lr
+ .pool
+ thumb_func_end sub_802D0F0
+
+ thumb_func_start sub_802D108
+sub_802D108: @ 802D108
+ push {r4,lr}
+ adds r2, r0, 0
+ ldr r4, =gUnknown_02022D00
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x6]
+ movs r1, 0
+ bl SetWordTaskArg
+ ldr r1, [r4]
+ movs r0, 0
+ strh r0, [r1, 0x4]
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D108
+
+ thumb_func_start sub_802D12C
+sub_802D12C: @ 802D12C
+ push {lr}
+ lsls r0, 24
+ lsrs r1, r0, 24
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0802D148
+ adds r0, r1, 0
+ movs r1, 0
+ bl GetWordTaskArg
+ bl _call_via_r0
+_0802D148:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D12C
+
+ thumb_func_start sub_802D150
+sub_802D150: @ 802D150
+ push {r4-r6,lr}
+ sub sp, 0x8
+ ldr r6, =gUnknown_02022D00
+ ldr r1, [r6]
+ ldrh r5, [r1, 0x4]
+ cmp r5, 0x1
+ bne _0802D160
+ b _0802D298
+_0802D160:
+ cmp r5, 0x1
+ bgt _0802D170
+ cmp r5, 0
+ beq _0802D178
+ b _0802D2DA
+ .pool
+_0802D170:
+ cmp r5, 0x2
+ bne _0802D176
+ b _0802D2D6
+_0802D176:
+ b _0802D2DA
+_0802D178:
+ movs r0, 0
+ bl ResetBgsAndClearDma3BusyFlags
+ ldr r1, =gUnknown_082FE164
+ movs r0, 0
+ movs r2, 0x4
+ bl InitBgsFromTemplates
+ ldr r0, =gUnknown_082FE174
+ bl InitWindows
+ bl reset_temp_tile_data_buffers
+ ldr r0, [r6]
+ bl sub_802C974
+ bl sub_802DD08
+ ldr r0, =gPkmnJumpBgPal
+ movs r1, 0
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r1, =gPkmnJumpBgGfx
+ str r5, [sp]
+ movs r0, 0x3
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ ldr r1, =gPkmnJumpBgTilemap
+ movs r4, 0x1
+ str r4, [sp]
+ movs r0, 0x3
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ ldr r0, =gPkmnJumpVenusaurPal
+ movs r1, 0x30
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r1, =gPkmnJumpVenusaurGfx
+ str r5, [sp]
+ movs r0, 0x2
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ ldr r1, =gPkmnJumpVenusaurTilemap
+ str r4, [sp]
+ movs r0, 0x2
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ ldr r0, =gPkmnJumpResultsPal
+ movs r1, 0x10
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r1, =gPkmnJumpResultsGfx
+ str r5, [sp]
+ movs r0, 0x1
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ ldr r1, =gPkmnJumpResultsTilemap
+ str r4, [sp]
+ movs r0, 0x1
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ ldr r0, =gPkmnJumpPal3
+ movs r1, 0x20
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r1, [r6]
+ movs r0, 0xD3
+ lsls r0, 1
+ adds r1, r0
+ movs r0, 0
+ bl SetBgTilemapBuffer
+ movs r0, 0x20
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ bl sub_802DB8C
+ movs r0, 0
+ bl sub_802DD64
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0xE0
+ bl sub_8098C6C
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ movs r0, 0x2
+ bl CopyBgTilemapBufferToVram
+ movs r0, 0x1
+ bl CopyBgTilemapBufferToVram
+ bl ResetBgPositions
+ b _0802D2CC
+ .pool
+_0802D298:
+ bl free_temp_tile_data_buffers_if_possible
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D2DA
+ bl sub_802DBF8
+ ldr r0, [r6]
+ bl sub_802CE9C
+ ldr r0, [r6]
+ movs r1, 0x6
+ bl sub_802CF50
+ movs r0, 0x3
+ bl ShowBg
+ movs r0, 0
+ bl ShowBg
+ movs r0, 0x2
+ bl ShowBg
+ movs r0, 0x1
+ bl HideBg
+_0802D2CC:
+ ldr r1, [r6]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D2DA
+_0802D2D6:
+ movs r0, 0x1
+ str r0, [r1]
+_0802D2DA:
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D150
+
+ thumb_func_start sub_802D2E4
+sub_802D2E4: @ 802D2E4
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x4]
+ cmp r0, 0x1
+ beq _0802D310
+ cmp r0, 0x1
+ bgt _0802D300
+ cmp r0, 0
+ beq _0802D30A
+ b _0802D34A
+ .pool
+_0802D300:
+ cmp r0, 0x2
+ beq _0802D322
+ cmp r0, 0x3
+ beq _0802D33A
+ b _0802D34A
+_0802D30A:
+ bl sub_802DE1C
+ b _0802D330
+_0802D310:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D34A
+ movs r0, 0
+ bl sub_802DF70
+ b _0802D330
+_0802D322:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D34A
+ bl sub_802DFD4
+_0802D330:
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D34A
+_0802D33A:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D34A
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D34A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D2E4
+
+ thumb_func_start sub_802D350
+sub_802D350: @ 802D350
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x4]
+ cmp r0, 0x1
+ beq _0802D37C
+ cmp r0, 0x1
+ bgt _0802D36C
+ cmp r0, 0
+ beq _0802D376
+ b _0802D3B6
+ .pool
+_0802D36C:
+ cmp r0, 0x2
+ beq _0802D38E
+ cmp r0, 0x3
+ beq _0802D3A6
+ b _0802D3B6
+_0802D376:
+ bl sub_802DE1C
+ b _0802D39C
+_0802D37C:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D3B6
+ movs r0, 0x1
+ bl sub_802DF70
+ b _0802D39C
+_0802D38E:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D3B6
+ bl sub_802DFD4
+_0802D39C:
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D3B6
+_0802D3A6:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D3B6
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D3B6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D350
+
+ thumb_func_start sub_802D3BC
+sub_802D3BC: @ 802D3BC
+ push {r4,r5,lr}
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ ldrh r0, [r0, 0x4]
+ cmp r0, 0
+ beq _0802D3DC
+ cmp r0, 0x1
+ beq _0802D410
+ b _0802D43E
+ .pool
+_0802D3DC:
+ movs r4, 0
+ cmp r4, r5
+ bge _0802D3F8
+_0802D3E2:
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x1C
+ adds r0, r1
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ adds r4, 0x1
+ cmp r4, r5
+ blt _0802D3E2
+_0802D3F8:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, =gUnknown_02022D00
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D43E
+ .pool
+_0802D410:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D43E
+ movs r4, 0
+ cmp r4, r5
+ bge _0802D436
+_0802D420:
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x1C
+ adds r0, r1
+ ldrb r0, [r0]
+ bl RemoveWindow
+ adds r4, 0x1
+ cmp r4, r5
+ blt _0802D420
+_0802D436:
+ ldr r0, =gUnknown_02022D00
+ ldr r1, [r0]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D43E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D3BC
+
+ thumb_func_start sub_802D448
+sub_802D448: @ 802D448
+ push {r4,r5,lr}
+ sub sp, 0xC
+ ldr r5, =gUnknown_02022D00
+ ldr r0, [r5]
+ ldrh r4, [r0, 0x4]
+ cmp r4, 0x1
+ beq _0802D4A4
+ cmp r4, 0x1
+ bgt _0802D464
+ cmp r4, 0
+ beq _0802D46A
+ b _0802D4EC
+ .pool
+_0802D464:
+ cmp r4, 0x2
+ beq _0802D4DC
+ b _0802D4EC
+_0802D46A:
+ movs r0, 0x1
+ movs r1, 0x8
+ movs r2, 0x14
+ movs r3, 0x2
+ bl sub_802DA9C
+ ldr r1, [r5]
+ strh r0, [r1, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gText_WantToPlayAgain2
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ b _0802D4D2
+ .pool
+_0802D4A4:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D4EC
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ bl PutWindowTilemap
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x1
+ movs r2, 0xE
+ bl DrawTextBorderOuter
+ movs r0, 0x17
+ movs r1, 0x7
+ movs r2, 0
+ bl sub_802DB18
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+_0802D4D2:
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D4EC
+_0802D4DC:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D4EC
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D4EC:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D448
+
+ thumb_func_start sub_802D4F4
+sub_802D4F4: @ 802D4F4
+ push {r4,r5,lr}
+ sub sp, 0xC
+ ldr r5, =gUnknown_02022D00
+ ldr r0, [r5]
+ ldrh r4, [r0, 0x4]
+ cmp r4, 0x1
+ beq _0802D550
+ cmp r4, 0x1
+ bgt _0802D510
+ cmp r4, 0
+ beq _0802D516
+ b _0802D58E
+ .pool
+_0802D510:
+ cmp r4, 0x2
+ beq _0802D57E
+ b _0802D58E
+_0802D516:
+ movs r0, 0x2
+ movs r1, 0x7
+ movs r2, 0x1A
+ movs r3, 0x4
+ bl sub_802DA9C
+ ldr r1, [r5]
+ strh r0, [r1, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gText_SavingDontTurnOffPower
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ b _0802D574
+ .pool
+_0802D550:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D58E
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ bl PutWindowTilemap
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x1
+ movs r2, 0xE
+ bl DrawTextBorderOuter
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+_0802D574:
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D58E
+_0802D57E:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D58E
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D58E:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D4F4
+
+ thumb_func_start sub_802D598
+sub_802D598: @ 802D598
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022D00
+ ldr r0, [r5]
+ ldrh r4, [r0, 0x4]
+ cmp r4, 0
+ beq _0802D5B0
+ cmp r4, 0x1
+ beq _0802D5C8
+ b _0802D5DE
+ .pool
+_0802D5B0:
+ bl sub_802DA14
+ bl sub_8198C78
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D5DE
+_0802D5C8:
+ bl sub_802DA44
+ cmp r0, 0
+ bne _0802D5DE
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D5DE
+ ldr r0, [r5]
+ str r4, [r0]
+_0802D5DE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D598
+
+ thumb_func_start sub_802D5E4
+sub_802D5E4: @ 802D5E4
+ push {r4,r5,lr}
+ sub sp, 0xC
+ ldr r5, =gUnknown_02022D00
+ ldr r0, [r5]
+ ldrh r4, [r0, 0x4]
+ cmp r4, 0x1
+ beq _0802D640
+ cmp r4, 0x1
+ bgt _0802D600
+ cmp r4, 0
+ beq _0802D606
+ b _0802D67E
+ .pool
+_0802D600:
+ cmp r4, 0x2
+ beq _0802D66E
+ b _0802D67E
+_0802D606:
+ movs r0, 0x2
+ movs r1, 0x8
+ movs r2, 0x16
+ movs r3, 0x4
+ bl sub_802DA9C
+ ldr r1, [r5]
+ strh r0, [r1, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gText_SomeoneDroppedOut2
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ b _0802D664
+ .pool
+_0802D640:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D67E
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ bl PutWindowTilemap
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x1
+ movs r2, 0xE
+ bl DrawTextBorderOuter
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+_0802D664:
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D67E
+_0802D66E:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D67E
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D67E:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D5E4
+
+ thumb_func_start sub_802D688
+sub_802D688: @ 802D688
+ push {r4,r5,lr}
+ sub sp, 0xC
+ ldr r5, =gUnknown_02022D00
+ ldr r0, [r5]
+ ldrh r4, [r0, 0x4]
+ cmp r4, 0x1
+ beq _0802D6E4
+ cmp r4, 0x1
+ bgt _0802D6A4
+ cmp r4, 0
+ beq _0802D6AA
+ b _0802D722
+ .pool
+_0802D6A4:
+ cmp r4, 0x2
+ beq _0802D712
+ b _0802D722
+_0802D6AA:
+ movs r0, 0x7
+ movs r1, 0xA
+ movs r2, 0x10
+ movs r3, 0x2
+ bl sub_802DA9C
+ ldr r1, [r5]
+ strh r0, [r1, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gText_CommunicationStandby4
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ b _0802D708
+ .pool
+_0802D6E4:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D722
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ bl PutWindowTilemap
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x1
+ movs r2, 0xE
+ bl DrawTextBorderOuter
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+_0802D708:
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D722
+_0802D712:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D722
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D722:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D688
+
+ thumb_func_start sub_802D72C
+sub_802D72C: @ 802D72C
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022D00
+ ldr r0, [r5]
+ ldrh r4, [r0, 0x4]
+ cmp r4, 0
+ beq _0802D744
+ cmp r4, 0x1
+ beq _0802D752
+ b _0802D75E
+ .pool
+_0802D744:
+ bl sub_802D044
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D75E
+_0802D752:
+ bl sub_802D068
+ cmp r0, 0
+ bne _0802D75E
+ ldr r0, [r5]
+ str r4, [r0]
+_0802D75E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D72C
+
+ thumb_func_start sub_802D764
+sub_802D764: @ 802D764
+ push {lr}
+ ldr r1, =gUnknown_02022D00
+ ldr r0, [r1]
+ movs r2, 0
+ strb r2, [r0, 0xA]
+ ldr r0, [r1]
+ strb r2, [r0, 0xB]
+ ldr r2, [r1]
+ movs r0, 0x6
+ strb r0, [r2, 0xC]
+ ldr r0, [r1]
+ ldrb r0, [r0, 0xC]
+ bl sub_802DC9C
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D764
+
+ thumb_func_start sub_802D788
+sub_802D788: @ 802D788
+ push {r4,lr}
+ ldr r0, =gUnknown_02022D00
+ ldr r2, [r0]
+ ldrb r3, [r2, 0xA]
+ adds r4, r0, 0
+ cmp r3, 0
+ beq _0802D7A0
+ cmp r3, 0x1
+ beq _0802D7DA
+ b _0802D7DE
+ .pool
+_0802D7A0:
+ ldrb r0, [r2, 0xB]
+ adds r0, 0x1
+ strb r0, [r2, 0xB]
+ ldr r1, [r4]
+ ldrb r0, [r1, 0xB]
+ cmp r0, 0xA
+ bls _0802D7CA
+ strb r3, [r1, 0xB]
+ ldr r0, [r4]
+ ldrb r1, [r0, 0xC]
+ adds r1, 0x1
+ strb r1, [r0, 0xC]
+ ldr r1, [r4]
+ ldrb r0, [r1, 0xC]
+ cmp r0, 0x9
+ bls _0802D7CA
+ strb r3, [r1, 0xC]
+ ldr r1, [r4]
+ ldrb r0, [r1, 0xA]
+ adds r0, 0x1
+ strb r0, [r1, 0xA]
+_0802D7CA:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xC]
+ bl sub_802DC9C
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xC]
+ cmp r0, 0x7
+ bne _0802D7DE
+_0802D7DA:
+ movs r0, 0
+ b _0802D7E0
+_0802D7DE:
+ movs r0, 0x1
+_0802D7E0:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802D788
+
+ thumb_func_start sub_802D7E8
+sub_802D7E8: @ 802D7E8
+ push {r4,r5,lr}
+ sub sp, 0xC
+ adds r4, r1, 0
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r5, =gUnknown_02022D00
+ ldr r1, [r5]
+ adds r1, 0x26
+ adds r2, r4, 0
+ bl CopyItemNameHandlePlural
+ ldr r0, [r5]
+ adds r0, 0x66
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0x1
+ bl ConvertIntToDecimalStringN
+ bl DynamicPlaceholderTextUtil_Reset
+ ldr r1, [r5]
+ adds r1, 0x26
+ movs r0, 0
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ ldr r1, [r5]
+ adds r1, 0x66
+ movs r0, 0x1
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ ldr r0, [r5]
+ adds r0, 0xA6
+ ldr r1, =gText_AwesomeWonF701F700
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+ movs r0, 0x4
+ movs r1, 0x8
+ movs r2, 0x16
+ movs r3, 0x4
+ bl sub_802DA9C
+ ldr r2, [r5]
+ movs r4, 0
+ movs r3, 0
+ strh r0, [r2, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r2, 0xA6
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r3, [sp, 0x8]
+ movs r1, 0x1
+ bl AddTextPrinterParameterized
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r5]
+ ldr r0, =0x0000016f
+ strh r0, [r1, 0x14]
+ strb r4, [r1, 0xD]
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D7E8
+
+ thumb_func_start sub_802D884
+sub_802D884: @ 802D884
+ push {r4-r6,lr}
+ sub sp, 0xC
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, =gUnknown_02022D00
+ ldr r1, [r4]
+ adds r1, 0x26
+ bl CopyItemName
+ bl DynamicPlaceholderTextUtil_Reset
+ ldr r1, [r4]
+ adds r1, 0x26
+ movs r0, 0
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ ldr r0, [r4]
+ adds r0, 0xA6
+ ldr r1, =gText_FilledStorageSpace2
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+ movs r0, 0x4
+ movs r1, 0x8
+ movs r2, 0x16
+ movs r3, 0x4
+ bl sub_802DA9C
+ ldr r2, [r4]
+ movs r6, 0
+ movs r5, 0
+ strh r0, [r2, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r2, 0xA6
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r0, [r4]
+ strh r5, [r0, 0x14]
+ strb r6, [r0, 0xD]
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D884
+
+ thumb_func_start sub_802D8FC
+sub_802D8FC: @ 802D8FC
+ push {r4-r6,lr}
+ sub sp, 0xC
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, =gUnknown_02022D00
+ ldr r1, [r4]
+ adds r1, 0x26
+ bl CopyItemName
+ bl DynamicPlaceholderTextUtil_Reset
+ ldr r1, [r4]
+ adds r1, 0x26
+ movs r0, 0
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ ldr r0, [r4]
+ adds r0, 0xA6
+ ldr r1, =gText_CantHoldMore
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+ movs r0, 0x4
+ movs r1, 0x9
+ movs r2, 0x16
+ movs r3, 0x2
+ bl sub_802DA9C
+ ldr r2, [r4]
+ movs r6, 0
+ movs r5, 0
+ strh r0, [r2, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r2, 0xA6
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r0, [r4]
+ strh r5, [r0, 0x14]
+ strb r6, [r0, 0xD]
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D8FC
+
+ thumb_func_start sub_802D974
+sub_802D974: @ 802D974
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xD]
+ cmp r0, 0x1
+ beq _0802D9C8
+ cmp r0, 0x1
+ bgt _0802D990
+ cmp r0, 0
+ beq _0802D99A
+ b _0802DA0C
+ .pool
+_0802D990:
+ cmp r0, 0x2
+ beq _0802D9EE
+ cmp r0, 0x3
+ beq _0802DA02
+ b _0802DA0C
+_0802D99A:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802DA0C
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ bl PutWindowTilemap
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x1
+ movs r2, 0xE
+ bl DrawTextBorderOuter
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r1, [r4]
+ ldrb r0, [r1, 0xD]
+ adds r0, 0x1
+ strb r0, [r1, 0xD]
+ b _0802DA0C
+_0802D9C8:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802DA0C
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x14]
+ cmp r0, 0
+ bne _0802D9E0
+ ldrb r0, [r1, 0xD]
+ adds r0, 0x2
+ b _0802DA00
+_0802D9E0:
+ ldrh r0, [r1, 0x14]
+ bl PlayFanfare
+ ldr r1, [r4]
+ ldrb r0, [r1, 0xD]
+ adds r0, 0x1
+ strb r0, [r1, 0xD]
+_0802D9EE:
+ bl IsFanfareTaskInactive
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802DA0C
+ ldr r0, =gUnknown_02022D00
+ ldr r1, [r0]
+ ldrb r0, [r1, 0xD]
+ adds r0, 0x1
+_0802DA00:
+ strb r0, [r1, 0xD]
+_0802DA02:
+ movs r0, 0
+ b _0802DA0E
+ .pool
+_0802DA0C:
+ movs r0, 0x1
+_0802DA0E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802D974
+
+ thumb_func_start sub_802DA14
+sub_802DA14: @ 802DA14
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x12]
+ cmp r0, 0xFF
+ beq _0802DA38
+ lsls r0, 24
+ lsrs r0, 24
+ bl rbox_fill_rectangle
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x1
+ bl CopyWindowToVram
+ ldr r1, [r4]
+ movs r0, 0
+ strb r0, [r1, 0xD]
+_0802DA38:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DA14
+
+ thumb_func_start sub_802DA44
+sub_802DA44: @ 802DA44
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x12]
+ cmp r0, 0xFF
+ bne _0802DA58
+_0802DA50:
+ movs r0, 0
+ b _0802DA84
+ .pool
+_0802DA58:
+ ldrb r0, [r1, 0xD]
+ cmp r0, 0
+ bne _0802DA7E
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802DA82
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ bl RemoveWindow
+ ldr r1, [r4]
+ movs r0, 0xFF
+ strh r0, [r1, 0x12]
+ ldrb r0, [r1, 0xD]
+ adds r0, 0x1
+ strb r0, [r1, 0xD]
+ b _0802DA50
+_0802DA7E:
+ cmp r0, 0x1
+ beq _0802DA50
+_0802DA82:
+ movs r0, 0x1
+_0802DA84:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802DA44
+
+ thumb_func_start sub_802DA8C
+sub_802DA8C: @ 802DA8C
+ push {lr}
+ bl Menu_ProcessInputNoWrapClearOnChoose
+ lsls r0, 24
+ asrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802DA8C
+
+ thumb_func_start sub_802DA9C
+sub_802DA9C: @ 802DA9C
+ push {r4-r6,lr}
+ sub sp, 0x8
+ ldr r6, =0xffffff00
+ ldr r4, [sp]
+ ands r4, r6
+ lsls r0, 24
+ lsrs r0, 16
+ ldr r5, =0xffff00ff
+ ands r4, r5
+ orrs r4, r0
+ lsls r1, 24
+ lsrs r1, 8
+ ldr r0, =0xff00ffff
+ ands r4, r0
+ orrs r4, r1
+ lsls r2, 24
+ ldr r0, =0x00ffffff
+ ands r4, r0
+ orrs r4, r2
+ str r4, [sp]
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r0, [sp, 0x4]
+ ands r0, r6
+ orrs r0, r3
+ ands r0, r5
+ movs r1, 0xF0
+ lsls r1, 4
+ orrs r0, r1
+ ldr r1, =0x0000ffff
+ ands r0, r1
+ movs r1, 0x86
+ lsls r1, 15
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ mov r0, sp
+ bl AddWindow
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r0, r4, 24
+ lsrs r0, 24
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ adds r0, r4, 0
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802DA9C
+
+ thumb_func_start sub_802DB18
+sub_802DB18: @ 802DB18
+ push {r4,r5,lr}
+ sub sp, 0x8
+ adds r3, r2, 0
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r5, =0xffffff00
+ ldr r2, [sp]
+ ands r2, r5
+ lsls r0, 24
+ lsrs r0, 16
+ ldr r4, =0xffff00ff
+ ands r2, r4
+ orrs r2, r0
+ lsls r1, 24
+ lsrs r1, 8
+ ldr r0, =0xff00ffff
+ ands r2, r0
+ orrs r2, r1
+ ldr r0, =0x00ffffff
+ ands r2, r0
+ movs r0, 0xC0
+ lsls r0, 19
+ orrs r2, r0
+ str r2, [sp]
+ ldr r0, [sp, 0x4]
+ ands r0, r5
+ movs r1, 0x4
+ orrs r0, r1
+ ands r0, r4
+ movs r1, 0x80
+ lsls r1, 2
+ orrs r0, r1
+ ldr r1, =0x0000ffff
+ ands r0, r1
+ movs r1, 0xAC
+ lsls r1, 14
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ mov r0, sp
+ movs r1, 0x1
+ movs r2, 0xD
+ bl CreateYesNoMenu
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DB18
+
+ thumb_func_start sub_802DB8C
+sub_802DB8C: @ 802DB8C
+ push {r4,lr}
+ sub sp, 0x10
+ ldr r1, =gUnknown_082FE1DC
+ add r0, sp, 0xC
+ movs r2, 0x3
+ bl memcpy
+ movs r0, 0
+ bl PutWindowTilemap
+ movs r0, 0x1
+ bl PutWindowTilemap
+ movs r0, 0
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ movs r0, 0x1
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ add r0, sp, 0xC
+ str r0, [sp]
+ movs r4, 0
+ str r4, [sp, 0x4]
+ ldr r0, =gText_SpacePoints2
+ str r0, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x1
+ bl AddTextPrinterParameterized3
+ add r0, sp, 0xC
+ str r0, [sp]
+ str r4, [sp, 0x4]
+ ldr r0, =gText_SpaceTimes3
+ str r0, [sp, 0x8]
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x1
+ bl AddTextPrinterParameterized3
+ add sp, 0x10
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DB8C
+
+ thumb_func_start sub_802DBF8
+sub_802DBF8: @ 802DBF8
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r0, 16
+ mov r10, r0
+ ldr r1, =gUnknown_082FE260
+ subs r0, 0x2
+ lsls r0, 2
+ adds r0, r1
+ ldr r5, [r0]
+ movs r6, 0
+ cmp r6, r10
+ bge _0802DC62
+ ldr r0, =gMonFrontPicCoords
+ mov r9, r0
+ ldr r1, =gUnknown_02022D00
+ mov r8, r1
+_0802DC26:
+ lsls r4, r6, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ bl sub_802C8C8
+ adds r1, r0, 0
+ ldrh r0, [r1]
+ lsls r0, 2
+ add r0, r9
+ ldrb r3, [r0, 0x1]
+ mov r2, r8
+ ldr r0, [r2]
+ movs r7, 0
+ ldrsh r2, [r5, r7]
+ adds r3, 0x70
+ str r4, [sp]
+ bl sub_802C9D4
+ mov r1, r8
+ ldr r0, [r1]
+ movs r2, 0
+ ldrsh r1, [r5, r2]
+ movs r2, 0x70
+ adds r3, r4, 0
+ bl sub_802CE48
+ adds r5, 0x2
+ adds r6, 0x1
+ cmp r6, r10
+ blt _0802DC26
+_0802DC62:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DBF8
+
+ thumb_func_start sub_802DC80
+sub_802DC80: @ 802DC80
+ ldr r2, =gUnknown_02022D00
+ ldr r2, [r2]
+ lsls r0, 2
+ ldr r3, =0x000081a8
+ adds r2, r3
+ adds r2, r0
+ ldr r0, [r2]
+ strh r1, [r0, 0x26]
+ bx lr
+ .pool
+ thumb_func_end sub_802DC80
+
+ thumb_func_start sub_802DC9C
+sub_802DC9C: @ 802DC9C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ adds r1, r4, 0
+ bl sub_802CF50
+ ldr r0, =gUnknown_082FE1DF
+ adds r4, r0
+ ldrb r0, [r4]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 13
+ movs r0, 0x2
+ movs r2, 0
+ bl ChangeBgY
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DC9C
+
+ thumb_func_start sub_802DCCC
+sub_802DCCC: @ 802DCCC
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r5, 0
+ movs r6, 0
+_0802DCD6:
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _0802DCEA
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ adds r1, r5, 0
+ bl sub_802CB14
+ adds r6, 0x1
+_0802DCEA:
+ lsrs r4, 1
+ adds r5, 0x1
+ cmp r5, 0x4
+ ble _0802DCD6
+ subs r0, r6, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_802E00C
+ adds r0, r6, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802DCCC
+
+ thumb_func_start sub_802DD08
+sub_802DD08: @ 802DD08
+ push {r4,lr}
+ sub sp, 0x10
+ mov r1, sp
+ movs r0, 0x40
+ strb r0, [r1]
+ movs r0, 0x5
+ strb r0, [r1, 0x1]
+ movs r0, 0x8
+ strb r0, [r1, 0x2]
+ movs r0, 0x6C
+ strh r0, [r1, 0x4]
+ movs r4, 0x6
+ strh r4, [r1, 0x6]
+ ldr r0, =gUnknown_082FE1EC
+ str r0, [sp, 0x8]
+ ldr r0, =gUnknown_082FE1F4
+ str r0, [sp, 0xC]
+ movs r0, 0x2
+ bl sub_8034C54
+ movs r0, 0
+ movs r1, 0
+ mov r2, sp
+ bl sub_8034D14
+ mov r1, sp
+ movs r0, 0x4
+ strb r0, [r1, 0x1]
+ movs r0, 0x1E
+ strh r0, [r1, 0x4]
+ mov r0, sp
+ strh r4, [r0, 0x6]
+ movs r0, 0x1
+ movs r1, 0
+ mov r2, sp
+ bl sub_8034D14
+ add sp, 0x10
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DD08
+
+ thumb_func_start sub_802DD64
+sub_802DD64: @ 802DD64
+ push {lr}
+ adds r1, r0, 0
+ movs r0, 0
+ bl sub_8035044
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802DD64
+
+ thumb_func_start sub_802DD74
+sub_802DD74: @ 802DD74
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1
+ bl sub_8035044
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802DD74
+
+ thumb_func_start sub_802DD88
+sub_802DD88: @ 802DD88
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CBF0
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DD88
+
+ thumb_func_start sub_802DDA0
+sub_802DDA0: @ 802DDA0
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CC88
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DDA0
+
+ thumb_func_start sub_802DDB8
+sub_802DDB8: @ 802DDB8
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CC18
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802DDB8
+
+ thumb_func_start sub_802DDCC
+sub_802DDCC: @ 802DDCC
+ push {lr}
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CCB0
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DDCC
+
+ thumb_func_start sub_802DDE0
+sub_802DDE0: @ 802DDE0
+ push {lr}
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CD3C
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DDE0
+
+ thumb_func_start sub_802DDF4
+sub_802DDF4: @ 802DDF4
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CD70
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DDF4
+
+ thumb_func_start sub_802DE08
+sub_802DE08: @ 802DE08
+ push {lr}
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CD98
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802DE08
+
+ thumb_func_start sub_802DE1C
+sub_802DE1C: @ 802DE1C
+ push {r4-r7,lr}
+ sub sp, 0x8
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r7, r0, 16
+ ldr r1, =gUnknown_082FE234
+ subs r0, r7, 0x2
+ lsls r0, 2
+ adds r0, r1
+ ldr r4, [r0]
+ ldr r2, =0xffffff00
+ ldr r0, [sp]
+ ands r0, r2
+ ldr r1, =0x00ffffff
+ ands r0, r1
+ movs r1, 0x80
+ lsls r1, 20
+ orrs r0, r1
+ str r0, [sp]
+ ldr r0, [sp, 0x4]
+ ands r0, r2
+ movs r1, 0x2
+ orrs r0, r1
+ ldr r1, =0xffff00ff
+ ands r0, r1
+ movs r1, 0x80
+ lsls r1, 2
+ orrs r0, r1
+ ldr r1, =0x0000ffff
+ ands r0, r1
+ movs r1, 0xAC
+ lsls r1, 14
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ movs r5, 0
+ cmp r5, r7
+ bge _0802DEAC
+ mov r6, sp
+_0802DE6A:
+ ldrb r0, [r4]
+ lsls r0, 8
+ ldr r2, =0xffff00ff
+ ldr r1, [sp]
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ ldrb r2, [r4, 0x2]
+ lsls r2, 16
+ ldr r0, =0xff00ffff
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp]
+ mov r0, sp
+ bl AddWindow
+ ldr r1, =gUnknown_02022D00
+ ldr r1, [r1]
+ lsls r2, r5, 1
+ adds r1, 0x1C
+ adds r1, r2
+ strh r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ bl ClearWindowTilemap
+ ldrh r0, [r6, 0x6]
+ adds r0, 0x10
+ strh r0, [r6, 0x6]
+ adds r4, 0x4
+ adds r5, 0x1
+ cmp r5, r7
+ blt _0802DE6A
+_0802DEAC:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DE1C
+
+ thumb_func_start sub_802DED8
+sub_802DED8: @ 802DED8
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x10
+ adds r5, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ lsls r3, 24
+ lsrs r3, 24
+ add r0, sp, 0xC
+ strb r1, [r0]
+ strb r2, [r0, 0x1]
+ strb r3, [r0, 0x2]
+ ldr r6, =gUnknown_02022D00
+ ldr r0, [r6]
+ lsls r1, r5, 1
+ mov r8, r1
+ adds r0, 0x1C
+ add r0, r8
+ ldrb r0, [r0]
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ lsls r5, 24
+ lsrs r5, 24
+ adds r0, r5, 0
+ bl sub_802C8E8
+ adds r1, r0, 0
+ movs r2, 0x1
+ negs r2, r2
+ mov r9, r2
+ movs r0, 0x1
+ bl GetStringWidth
+ movs r4, 0x40
+ subs r4, r0
+ lsrs r4, 1
+ adds r0, r5, 0
+ bl sub_802C8E8
+ adds r1, r0, 0
+ ldr r0, [r6]
+ adds r0, 0x1C
+ add r0, r8
+ ldrb r0, [r0]
+ lsls r4, 24
+ lsrs r4, 24
+ add r2, sp, 0xC
+ str r2, [sp]
+ mov r2, r9
+ str r2, [sp, 0x4]
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r4, 0
+ movs r3, 0x1
+ bl AddTextPrinterParameterized3
+ ldr r0, [r6]
+ adds r0, 0x1C
+ add r0, r8
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ add sp, 0x10
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DED8
+
+ thumb_func_start sub_802DF70
+sub_802DF70: @ 802DF70
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r4, 0
+ bne _0802DF9A
+ movs r4, 0
+ cmp r4, r5
+ bge _0802DFCC
+_0802DF86:
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x2
+ movs r3, 0x3
+ bl sub_802DED8
+ adds r4, 0x1
+ cmp r4, r5
+ blt _0802DF86
+ b _0802DFCC
+_0802DF9A:
+ bl sub_802C8BC
+ lsls r0, 16
+ lsrs r6, r0, 16
+ movs r4, 0
+ cmp r4, r5
+ bge _0802DFCC
+_0802DFA8:
+ cmp r6, r4
+ beq _0802DFBA
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x2
+ movs r3, 0x3
+ bl sub_802DED8
+ b _0802DFC6
+_0802DFBA:
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x4
+ movs r3, 0x5
+ bl sub_802DED8
+_0802DFC6:
+ adds r4, 0x1
+ cmp r4, r5
+ blt _0802DFA8
+_0802DFCC:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802DF70
+
+ thumb_func_start sub_802DFD4
+sub_802DFD4: @ 802DFD4
+ push {r4,r5,lr}
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r5, r0, 16
+ movs r4, 0
+ cmp r4, r5
+ bge _0802DFFA
+_0802DFE4:
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x1C
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+ adds r4, 0x1
+ cmp r4, r5
+ blt _0802DFE4
+_0802DFFA:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DFD4
+
+ thumb_func_start sub_802E00C
+sub_802E00C: @ 802E00C
+ push {r4,lr}
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r4, r1, 24
+ ldr r0, =gUnknown_02022D00
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [r2, 0x18]
+ lsrs r1, 25
+ lsls r1, 16
+ movs r0, 0x1
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x1
+ ands r4, r0
+ lsls r4, 8
+ subs r4, 0x28
+ lsls r4, 8
+ adds r1, r4, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x1
+ bl ShowBg
+ ldr r0, =sub_802E090
+ movs r1, 0x4
+ bl CreateTask
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E00C
+
+ thumb_func_start sub_802E058
+sub_802E058: @ 802E058
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ ldr r0, [r4]
+ ldr r0, [r0, 0x18]
+ cmp r0, 0x1F
+ bls _0802E06C
+ movs r0, 0
+ b _0802E08A
+ .pool
+_0802E06C:
+ movs r0, 0x1
+ movs r1, 0x80
+ movs r2, 0x1
+ bl ChangeBgY
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ adds r0, 0x1
+ str r0, [r1, 0x18]
+ cmp r0, 0x1F
+ bls _0802E088
+ movs r0, 0x1
+ bl HideBg
+_0802E088:
+ movs r0, 0x1
+_0802E08A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802E058
+
+ thumb_func_start sub_802E090
+sub_802E090: @ 802E090
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_802E058
+ cmp r0, 0
+ bne _0802E0A4
+ adds r0, r4, 0
+ bl DestroyTask
+_0802E0A4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E090
+
+ thumb_func_start sub_802E0AC
+sub_802E0AC: @ 802E0AC
+ push {lr}
+ sub sp, 0xC
+ mov r2, sp
+ movs r1, 0x1
+ strb r1, [r2]
+ ldrh r1, [r0]
+ strh r1, [r2, 0x2]
+ ldr r1, [r0, 0x4]
+ str r1, [sp, 0x8]
+ ldr r0, [r0, 0x8]
+ str r0, [sp, 0x4]
+ mov r0, sp
+ bl sub_800FE50
+ add sp, 0xC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E0AC
+
+ thumb_func_start sub_802E0D0
+sub_802E0D0: @ 802E0D0
+ push {r4,lr}
+ sub sp, 0xC
+ adds r4, r1, 0
+ ldr r3, =gRecvCmds
+ lsls r2, r0, 4
+ adds r0, r2, r3
+ ldrh r1, [r0]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ movs r1, 0xBC
+ lsls r1, 6
+ cmp r0, r1
+ bne _0802E100
+ adds r1, r3, 0x2
+ adds r1, r2, r1
+ mov r0, sp
+ movs r2, 0xC
+ bl memcpy
+ mov r0, sp
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _0802E108
+_0802E100:
+ movs r0, 0
+ b _0802E118
+ .pool
+_0802E108:
+ mov r0, sp
+ ldrh r0, [r0, 0x2]
+ strh r0, [r4]
+ ldr r0, [sp, 0x8]
+ str r0, [r4, 0x4]
+ ldr r0, [sp, 0x4]
+ str r0, [r4, 0x8]
+ movs r0, 0x1
+_0802E118:
+ add sp, 0xC
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802E0D0
+
+ thumb_func_start sub_802E120
+sub_802E120: @ 802E120
+ push {lr}
+ sub sp, 0xC
+ mov r2, sp
+ movs r1, 0x2
+ strb r1, [r2]
+ str r0, [sp, 0x4]
+ mov r0, sp
+ bl sub_800FE50
+ add sp, 0xC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E120
+
+ thumb_func_start sub_802E138
+sub_802E138: @ 802E138
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0xC
+ mov r3, sp
+ movs r2, 0x3
+ strb r2, [r3]
+ ldr r3, [r1, 0x8]
+ lsls r3, 15
+ ldr r2, [sp, 0x8]
+ ldr r4, =0x00007fff
+ mov r8, r4
+ ands r2, r4
+ orrs r2, r3
+ str r2, [sp, 0x8]
+ mov r6, sp
+ ldrb r2, [r1, 0x1]
+ movs r5, 0x1F
+ adds r3, r5, 0
+ ands r3, r2
+ ldrb r4, [r6, 0x3]
+ movs r2, 0x20
+ negs r2, r2
+ ands r2, r4
+ orrs r2, r3
+ strb r2, [r6, 0x3]
+ mov r3, sp
+ ldrb r2, [r1]
+ strb r2, [r3, 0x1]
+ ldrh r2, [r1, 0x2]
+ strh r2, [r3, 0x6]
+ mov r4, sp
+ ldrh r2, [r1, 0x4]
+ mov r1, r8
+ ands r2, r1
+ ldrh r3, [r4, 0x8]
+ ldr r1, =0xffff8000
+ ands r1, r3
+ orrs r1, r2
+ strh r1, [r4, 0x8]
+ mov r2, sp
+ ldrh r1, [r0, 0x10]
+ strb r1, [r2, 0x2]
+ mov r3, sp
+ ldr r1, [r0, 0x14]
+ lsls r1, 5
+ ldrb r2, [r3, 0x3]
+ ands r5, r2
+ orrs r5, r1
+ strb r5, [r3, 0x3]
+ mov r1, sp
+ ldrh r0, [r0, 0xE]
+ strh r0, [r1, 0x4]
+ mov r0, sp
+ bl sub_800FE50
+ add sp, 0xC
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E138
+
+ thumb_func_start sub_802E1BC
+sub_802E1BC: @ 802E1BC
+ push {r4,r5,lr}
+ sub sp, 0xC
+ adds r5, r0, 0
+ adds r4, r1, 0
+ ldr r2, =gRecvCmds
+ ldrh r0, [r2]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r1, r0
+ movs r0, 0xBC
+ lsls r0, 6
+ cmp r1, r0
+ bne _0802E228
+ adds r1, r2, 0x2
+ mov r0, sp
+ movs r2, 0xC
+ bl memcpy
+ mov r0, sp
+ ldrb r0, [r0]
+ cmp r0, 0x3
+ bne _0802E228
+ ldr r0, [sp, 0x8]
+ lsrs r0, 15
+ str r0, [r4, 0x8]
+ mov r0, sp
+ ldrb r1, [r0, 0x3]
+ lsls r0, r1, 27
+ lsrs r0, 27
+ strb r0, [r4, 0x1]
+ mov r0, sp
+ ldrb r0, [r0, 0x1]
+ strb r0, [r4]
+ mov r0, sp
+ ldrh r0, [r0, 0x6]
+ strh r0, [r4, 0x2]
+ mov r0, sp
+ ldrh r0, [r0, 0x8]
+ lsls r0, 17
+ lsrs r0, 17
+ strh r0, [r4, 0x4]
+ mov r0, sp
+ ldrb r0, [r0, 0x2]
+ strh r0, [r5, 0x10]
+ lsls r1, 24
+ lsrs r1, 29
+ str r1, [r5, 0x14]
+ mov r0, sp
+ ldrh r0, [r0, 0x4]
+ strh r0, [r5, 0xE]
+ movs r0, 0x1
+ b _0802E22A
+ .pool
+_0802E228:
+ movs r0, 0
+_0802E22A:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802E1BC
+
+ thumb_func_start sub_802E234
+sub_802E234: @ 802E234
+ push {r4,lr}
+ sub sp, 0xC
+ mov r4, sp
+ movs r3, 0x4
+ strb r3, [r4]
+ ldrh r3, [r0, 0x10]
+ strb r3, [r4, 0x1]
+ ldr r3, [r0, 0x14]
+ strb r3, [r4, 0x2]
+ ldr r3, [r0, 0x18]
+ strb r3, [r4, 0x3]
+ mov r3, sp
+ ldrh r0, [r0, 0xE]
+ strh r0, [r3, 0x4]
+ mov r0, sp
+ strb r1, [r0, 0x6]
+ strh r2, [r0, 0x8]
+ bl sub_800FE50
+ add sp, 0xC
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E234
+
+ thumb_func_start sub_802E264
+sub_802E264: @ 802E264
+ push {r4-r6,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ adds r5, r2, 0
+ adds r6, r3, 0
+ ldr r3, =gRecvCmds
+ lsls r2, r1, 4
+ adds r0, r2, r3
+ ldrh r1, [r0]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ movs r1, 0xBC
+ lsls r1, 6
+ cmp r0, r1
+ bne _0802E2C4
+ adds r1, r3, 0x2
+ adds r1, r2, r1
+ mov r0, sp
+ movs r2, 0xC
+ bl memcpy
+ mov r0, sp
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bne _0802E2C4
+ mov r0, sp
+ ldrb r0, [r0, 0x1]
+ strh r0, [r4, 0x10]
+ mov r0, sp
+ ldrb r0, [r0, 0x2]
+ str r0, [r4, 0x14]
+ mov r0, sp
+ ldrb r0, [r0, 0x3]
+ str r0, [r4, 0x18]
+ mov r0, sp
+ ldrh r0, [r0, 0x4]
+ strh r0, [r4, 0xE]
+ mov r0, sp
+ ldrb r0, [r0, 0x6]
+ strb r0, [r5]
+ mov r0, sp
+ ldrh r0, [r0, 0x8]
+ strh r0, [r6]
+ movs r0, 0x1
+ b _0802E2C6
+ .pool
+_0802E2C4:
+ movs r0, 0
+_0802E2C6:
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802E264
+
+ thumb_func_start sub_802E2D0
+sub_802E2D0: @ 802E2D0
+ push {r4,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ ldr r3, =gRecvCmds
+ lsls r2, r1, 4
+ adds r0, r2, r3
+ ldrh r1, [r0]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ movs r1, 0xBC
+ lsls r1, 6
+ cmp r0, r1
+ bne _0802E320
+ adds r1, r3, 0x2
+ adds r1, r2, r1
+ mov r0, sp
+ movs r2, 0xC
+ bl memcpy
+ mov r0, sp
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bne _0802E320
+ mov r0, sp
+ ldrb r0, [r0, 0x1]
+ strh r0, [r4, 0x10]
+ mov r0, sp
+ ldrb r0, [r0, 0x2]
+ str r0, [r4, 0x14]
+ mov r0, sp
+ ldrb r0, [r0, 0x3]
+ str r0, [r4, 0x18]
+ mov r0, sp
+ ldrh r0, [r0, 0x4]
+ strh r0, [r4, 0xE]
+ movs r0, 0x1
+ b _0802E322
+ .pool
+_0802E320:
+ movs r0, 0
+_0802E322:
+ add sp, 0xC
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802E2D0
+
+ thumb_func_start sub_802E32C
+sub_802E32C: @ 802E32C
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ movs r1, 0xFE
+ lsls r1, 1
+ adds r0, r1
+ bx lr
+ .pool
+ thumb_func_end sub_802E32C
+
+ thumb_func_start ResetPokeJumpResults
+ResetPokeJumpResults: @ 802E33C
+ push {lr}
+ bl sub_802E32C
+ movs r1, 0
+ strh r1, [r0]
+ str r1, [r0, 0xC]
+ strh r1, [r0, 0x4]
+ strh r1, [r0, 0x6]
+ str r1, [r0, 0x8]
+ strh r1, [r0, 0x2]
+ pop {r0}
+ bx r0
+ thumb_func_end ResetPokeJumpResults
+
+ thumb_func_start sub_802E354
+sub_802E354: @ 802E354
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ lsls r1, 16
+ lsrs r5, r1, 16
+ lsls r2, 16
+ lsrs r6, r2, 16
+ bl sub_802E32C
+ adds r1, r0, 0
+ movs r2, 0
+ ldr r0, [r1, 0xC]
+ cmp r0, r4
+ bcs _0802E378
+ ldr r0, =0x00018696
+ cmp r4, r0
+ bhi _0802E378
+ str r4, [r1, 0xC]
+ movs r2, 0x1
+_0802E378:
+ ldrh r0, [r1]
+ cmp r0, r5
+ bcs _0802E388
+ ldr r0, =0x0000270f
+ cmp r5, r0
+ bhi _0802E388
+ strh r5, [r1]
+ movs r2, 0x1
+_0802E388:
+ ldrh r0, [r1, 0x4]
+ cmp r0, r6
+ bcs _0802E398
+ ldr r0, =0x0000270f
+ cmp r6, r0
+ bhi _0802E398
+ strh r6, [r1, 0x4]
+ movs r2, 0x1
+_0802E398:
+ adds r0, r2, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802E354
+
+ thumb_func_start sub_802E3A8
+sub_802E3A8: @ 802E3A8
+ push {lr}
+ bl sub_802E32C
+ adds r2, r0, 0
+ ldrh r1, [r2, 0x6]
+ ldr r0, =0x0000270e
+ cmp r1, r0
+ bhi _0802E3BC
+ adds r0, r1, 0x1
+ strh r0, [r2, 0x6]
+_0802E3BC:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E3A8
+
+ thumb_func_start sub_802E3C4
+sub_802E3C4: @ 802E3C4
+ push {r4,lr}
+ ldr r4, =sub_802E3E4
+ adds r0, r4, 0
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ bl _call_via_r4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E3C4
+
+ thumb_func_start sub_802E3E4
+sub_802E3E4: @ 802E3E4
+ push {r4-r7,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r7, r0, r1
+ movs r1, 0
+ ldrsh r0, [r7, r1]
+ cmp r0, 0x1
+ beq _0802E4A8
+ cmp r0, 0x1
+ bgt _0802E40C
+ cmp r0, 0
+ beq _0802E416
+ b _0802E4F6
+ .pool
+_0802E40C:
+ cmp r0, 0x2
+ beq _0802E4B4
+ cmp r0, 0x3
+ beq _0802E4DC
+ b _0802E4F6
+_0802E416:
+ ldr r0, =gUnknown_082FE270
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ ldr r1, =gText_PkmnJumpRecords
+ movs r0, 0x1
+ movs r2, 0
+ bl GetStringWidth
+ adds r4, r0, 0
+ movs r6, 0
+ ldr r5, =gUnknown_082FE278
+_0802E430:
+ ldr r1, [r5]
+ movs r0, 0x1
+ movs r2, 0
+ bl GetStringWidth
+ adds r0, 0x26
+ cmp r0, r4
+ ble _0802E442
+ adds r4, r0, 0
+_0802E442:
+ adds r5, 0x4
+ adds r6, 0x1
+ cmp r6, 0x2
+ bls _0802E430
+ adds r0, r4, 0x7
+ cmp r0, 0
+ bge _0802E452
+ adds r0, 0x7
+_0802E452:
+ asrs r4, r0, 3
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _0802E45E
+ adds r4, 0x1
+_0802E45E:
+ movs r1, 0x1E
+ subs r1, r4
+ lsrs r0, r1, 31
+ adds r1, r0
+ asrs r1, 1
+ lsls r1, 24
+ lsrs r1, 16
+ ldr r2, =0xffff00ff
+ ldr r0, [sp]
+ ands r0, r2
+ orrs r0, r1
+ lsls r2, r4, 24
+ ldr r1, =0x00ffffff
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp]
+ mov r0, sp
+ bl AddWindow
+ strh r0, [r7, 0x2]
+ ldrh r0, [r7, 0x2]
+ adds r1, r4, 0
+ bl sub_802E500
+ ldrb r0, [r7, 0x2]
+ movs r1, 0x3
+ b _0802E4CA
+ .pool
+_0802E4A8:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802E4F6
+ b _0802E4CE
+_0802E4B4:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _0802E4F6
+ ldrb r0, [r7, 0x2]
+ bl rbox_fill_rectangle
+ ldrb r0, [r7, 0x2]
+ movs r1, 0x1
+_0802E4CA:
+ bl CopyWindowToVram
+_0802E4CE:
+ ldrh r0, [r7]
+ adds r0, 0x1
+ strh r0, [r7]
+ b _0802E4F6
+ .pool
+_0802E4DC:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802E4F6
+ ldrb r0, [r7, 0x2]
+ bl RemoveWindow
+ adds r0, r4, 0
+ bl DestroyTask
+ bl EnableBothScriptContexts
+_0802E4F6:
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E3E4
+
+ thumb_func_start sub_802E500
+sub_802E500: @ 802E500
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x24
+ str r1, [sp, 0x1C]
+ lsls r0, 16
+ lsrs r0, 16
+ str r0, [sp, 0x18]
+ bl sub_802E32C
+ ldrh r1, [r0]
+ str r1, [sp, 0xC]
+ ldr r1, [r0, 0xC]
+ str r1, [sp, 0x10]
+ ldrh r0, [r0, 0x4]
+ str r0, [sp, 0x14]
+ ldr r0, [sp, 0x18]
+ lsls r4, r0, 24
+ lsrs r4, 24
+ ldr r5, =0x0000021d
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0xD0
+ bl LoadUserWindowBorderGfx_
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0xD
+ bl DrawTextBorderOuter
+ adds r0, r4, 0
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r5, =gText_PkmnJumpRecords
+ ldr r1, [sp, 0x1C]
+ lsls r2, r1, 3
+ movs r0, 0x1
+ adds r1, r5, 0
+ bl GetStringCenterAlignXOffset
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ movs r0, 0x1
+ str r0, [sp]
+ movs r0, 0xFF
+ str r0, [sp, 0x4]
+ movs r0, 0
+ str r0, [sp, 0x8]
+ adds r0, r4, 0
+ movs r1, 0x1
+ adds r2, r5, 0
+ bl AddTextPrinterParameterized
+ movs r6, 0
+ adds r7, r4, 0
+ movs r0, 0xFF
+ mov r10, r0
+ mov r9, r6
+ mov r1, sp
+ adds r1, 0xC
+ str r1, [sp, 0x20]
+ movs r0, 0xC8
+ lsls r0, 21
+ mov r8, r0
+ ldr r5, =gStringVar1
+_0802E58A:
+ ldr r1, =gUnknown_082FE278
+ lsls r0, r6, 2
+ adds r0, r1
+ ldr r2, [r0]
+ mov r1, r8
+ lsrs r4, r1, 24
+ str r4, [sp]
+ mov r0, r10
+ str r0, [sp, 0x4]
+ mov r1, r9
+ str r1, [sp, 0x8]
+ adds r0, r7, 0
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [sp, 0x20]
+ ldm r0!, {r1}
+ str r0, [sp, 0x20]
+ adds r0, r5, 0
+ movs r2, 0
+ movs r3, 0x5
+ bl ConvertIntToDecimalStringN
+ adds r0, r5, 0
+ bl sub_802E620
+ movs r0, 0x1
+ adds r1, r5, 0
+ movs r2, 0
+ bl GetStringWidth
+ ldr r1, [sp, 0x1C]
+ lsls r3, r1, 3
+ subs r3, r0
+ lsls r3, 24
+ lsrs r3, 24
+ str r4, [sp]
+ mov r0, r10
+ str r0, [sp, 0x4]
+ mov r1, r9
+ str r1, [sp, 0x8]
+ adds r0, r7, 0
+ movs r1, 0x1
+ adds r2, r5, 0
+ bl AddTextPrinterParameterized
+ movs r0, 0x80
+ lsls r0, 21
+ add r8, r0
+ adds r6, 0x1
+ ldr r1, [sp, 0x18]
+ lsls r0, r1, 24
+ cmp r6, 0x2
+ bls _0802E58A
+ lsrs r0, 24
+ bl PutWindowTilemap
+ add sp, 0x24
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E500
+
+ thumb_func_start sub_802E620
+sub_802E620: @ 802E620
+ push {lr}
+ adds r1, r0, 0
+ b _0802E628
+_0802E626:
+ adds r1, 0x1
+_0802E628:
+ ldrb r0, [r1]
+ cmp r0, 0xFF
+ beq _0802E636
+ cmp r0, 0
+ bne _0802E626
+ movs r0, 0xFF
+ strb r0, [r1]
+_0802E636:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E620
+
+ thumb_func_start sub_802E63C
+sub_802E63C: @ 802E63C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r0, =sub_802E6D0
+ bl CreateTask
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0, 0x8]
+ strh r5, [r0, 0xA]
+ ldr r0, =gUnknown_082FE748
+ lsls r5, 4
+ adds r5, r0
+ ldr r1, [r5]
+ adds r0, r4, 0
+ bl _call_via_r1
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802E63C
+
+ thumb_func_start sub_802E688
+sub_802E688: @ 802E688
+ push {lr}
+ ldr r0, =sub_802E6D0
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ beq _0802E6B4
+ ldr r0, =gTasks
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x2
+ strh r0, [r1, 0x8]
+ movs r0, 0x1
+ b _0802E6B6
+ .pool
+_0802E6B4:
+ movs r0, 0
+_0802E6B6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802E688
+
+ thumb_func_start sub_802E6BC
+sub_802E6BC: @ 802E6BC
+ push {lr}
+ ldr r0, =sub_802E6D0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802E6BC
+
+ thumb_func_start sub_802E6D0
+sub_802E6D0: @ 802E6D0
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r4, r0, r1
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x3
+ beq _0802E71C
+ cmp r0, 0x3
+ bgt _0802E6F8
+ cmp r0, 0x2
+ beq _0802E6FE
+ b _0802E752
+ .pool
+_0802E6F8:
+ cmp r0, 0x4
+ beq _0802E738
+ b _0802E752
+_0802E6FE:
+ ldr r1, =gUnknown_082FE748
+ movs r2, 0x2
+ ldrsh r0, [r4, r2]
+ lsls r0, 4
+ adds r1, 0x8
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r5, 0
+ bl _call_via_r1
+ movs r0, 0x3
+ strh r0, [r4]
+ b _0802E752
+ .pool
+_0802E71C:
+ ldr r0, =gUnknown_082FE748
+ movs r2, 0x2
+ ldrsh r1, [r4, r2]
+ lsls r1, 4
+ adds r0, 0xC
+ adds r1, r0
+ ldr r1, [r1]
+ adds r0, r5, 0
+ bl _call_via_r1
+ b _0802E752
+ .pool
+_0802E738:
+ ldr r0, =gUnknown_082FE748
+ movs r2, 0x2
+ ldrsh r1, [r4, r2]
+ lsls r1, 4
+ adds r0, 0x4
+ adds r1, r0
+ ldr r1, [r1]
+ adds r0, r5, 0
+ bl _call_via_r1
+ adds r0, r5, 0
+ bl DestroyTask
+_0802E752:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E6D0
+
+ thumb_func_start sub_802E75C
+sub_802E75C: @ 802E75C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ movs r1, 0x6
+ ldrsh r0, [r4, r1]
+ lsls r0, 3
+ ldr r1, =gUnknown_082FE6C8
+ adds r0, r1
+ bl LoadCompressedSpriteSheet
+ movs r2, 0x8
+ ldrsh r0, [r4, r2]
+ lsls r0, 3
+ ldr r1, =gUnknown_082FE6D8
+ adds r0, r1
+ bl LoadSpritePalette
+ movs r5, 0
+ movs r3, 0x10
+ ldrsh r0, [r4, r3]
+ cmp r5, r0
+ bge _0802E7C4
+_0802E790:
+ movs r0, 0x4
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, =gUnknown_082FE730
+ adds r0, r1
+ movs r2, 0x12
+ ldrsh r1, [r4, r2]
+ movs r3, 0x14
+ ldrsh r2, [r4, r3]
+ ldrb r3, [r4, 0xE]
+ bl CreateSprite
+ lsls r1, r5, 1
+ adds r1, r4
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1, 0x1A]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ cmp r5, r0
+ blt _0802E790
+_0802E7C4:
+ movs r5, 0
+ movs r2, 0x10
+ ldrsh r0, [r4, r2]
+ cmp r5, r0
+ bge _0802E820
+ movs r7, 0x3
+ movs r3, 0xD
+ negs r3, r3
+ mov r12, r3
+ ldr r6, =gSprites
+_0802E7D8:
+ lsls r0, r5, 1
+ adds r0, r4
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r6
+ ldrb r1, [r4, 0xC]
+ ands r1, r7
+ lsls r1, 2
+ ldrb r3, [r2, 0x5]
+ mov r0, r12
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2, 0x5]
+ adds r3, r2, 0
+ adds r3, 0x3E
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r3]
+ ldrh r0, [r4, 0xA]
+ strh r0, [r2, 0x30]
+ mov r3, r8
+ strh r3, [r2, 0x34]
+ strh r5, [r2, 0x36]
+ ldrh r0, [r4, 0x1A]
+ strh r0, [r2, 0x38]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ cmp r5, r0
+ blt _0802E7D8
+_0802E820:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E75C
+
+ thumb_func_start sub_802E83C
+sub_802E83C: @ 802E83C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0, 2
+ adds r4, r0
+ lsls r4, 3
+ ldr r1, =gTasks + 0x8
+ adds r4, r1
+ movs r5, 0
+ strh r5, [r4, 0x4]
+ strh r5, [r4, 0x6]
+ strh r5, [r4, 0x8]
+ movs r1, 0x3C
+ strh r1, [r4, 0xA]
+ strh r5, [r4, 0xC]
+ strh r5, [r4, 0xE]
+ movs r1, 0x3
+ strh r1, [r4, 0x10]
+ movs r1, 0x78
+ strh r1, [r4, 0x12]
+ movs r1, 0x58
+ strh r1, [r4, 0x14]
+ adds r1, r4, 0
+ bl sub_802E75C
+ movs r0, 0x1C
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r5, =gSprites
+ adds r0, r5
+ movs r1, 0x4
+ bl StartSpriteAnim
+ movs r0, 0x1C
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, =0x0000ffe0
+ strh r1, [r0, 0x24]
+ movs r0, 0x1E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x5
+ bl StartSpriteAnim
+ movs r0, 0x1E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x20
+ strh r1, [r0, 0x24]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E83C
+
+ thumb_func_start sub_802E8C8
+sub_802E8C8: @ 802E8C8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r5, 0
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, =gTasks + 0x8
+ adds r4, r1, r0
+ b _0802E8FC
+ .pool
+_0802E8E0:
+ lsls r0, r5, 1
+ adds r0, r4
+ movs r2, 0x1A
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ bl DestroySprite
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+_0802E8FC:
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ cmp r5, r0
+ blt _0802E8E0
+ ldr r1, =gUnknown_082FE6C8
+ movs r2, 0x6
+ ldrsh r0, [r4, r2]
+ lsls r0, 3
+ adds r0, r1
+ ldrh r0, [r0, 0x6]
+ bl FreeSpriteTilesByTag
+ ldr r1, =gUnknown_082FE6D8
+ movs r2, 0x8
+ ldrsh r0, [r4, r2]
+ lsls r0, 3
+ adds r0, r1
+ ldrh r0, [r0, 0x4]
+ bl FreeSpritePaletteByTag
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E8C8
+
+ thumb_func_start sub_802E938
+sub_802E938: @ 802E938
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r0, 0x34
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r5, r0, r1
+ movs r1, 0x16
+ ldrsh r0, [r5, r1]
+ movs r2, 0xA
+ ldrsh r1, [r5, r2]
+ bl __modsi3
+ cmp r0, 0
+ bne _0802EA4A
+ ldrh r2, [r5, 0x16]
+ movs r3, 0x16
+ ldrsh r1, [r5, r3]
+ movs r3, 0x14
+ ldrsh r0, [r5, r3]
+ cmp r1, r0
+ beq _0802EA4A
+ strh r2, [r5, 0x14]
+ movs r1, 0x32
+ ldrsh r0, [r6, r1]
+ cmp r0, 0x4
+ bhi _0802EA44
+ lsls r0, 2
+ ldr r1, =_0802E984
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802E984:
+ .4byte _0802E998
+ .4byte _0802E9A6
+ .4byte _0802E9A6
+ .4byte _0802E9BA
+ .4byte _0802EA04
+_0802E998:
+ adds r2, r6, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+_0802E9A6:
+ movs r0, 0x38
+ bl PlaySE
+ ldrh r1, [r6, 0x32]
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl StartSpriteAnim
+ b _0802EA44
+_0802E9BA:
+ movs r0, 0x15
+ bl PlaySE
+ ldrh r1, [r6, 0x32]
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl StartSpriteAnim
+ ldr r4, =gSprites
+ movs r2, 0x1C
+ ldrsh r0, [r5, r2]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ adds r1, 0x3E
+ ldrb r3, [r1]
+ movs r2, 0x5
+ negs r2, r2
+ adds r0, r2, 0
+ ands r0, r3
+ strb r0, [r1]
+ movs r3, 0x1E
+ ldrsh r1, [r5, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ ands r2, r1
+ strb r2, [r0]
+ b _0802EA44
+ .pool
+_0802EA04:
+ adds r1, r6, 0
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ movs r2, 0x4
+ orrs r0, r2
+ strb r0, [r1]
+ ldr r3, =gSprites
+ movs r0, 0x1C
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ orrs r1, r2
+ strb r1, [r0]
+ movs r0, 0x1E
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ orrs r1, r2
+ strb r1, [r0]
+ movs r0, 0x4
+ strh r0, [r5]
+ b _0802EA4A
+ .pool
+_0802EA44:
+ ldrh r0, [r6, 0x32]
+ adds r0, 0x1
+ strh r0, [r6, 0x32]
+_0802EA4A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E938
+
+ thumb_func_start sub_802EA50
+sub_802EA50: @ 802EA50
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0, 2
+ adds r4, r0
+ lsls r4, 3
+ ldr r5, =gTasks + 0x8
+ adds r6, r4, r5
+ movs r0, 0x38
+ bl PlaySE
+ ldr r2, =gSprites
+ movs r0, 0x1A
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r2, 0
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r1, =sub_802E938
+ str r1, [r0]
+ movs r0, 0x1A
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+ subs r5, 0x8
+ adds r4, r5
+ movs r0, 0x3
+ strh r0, [r4, 0x8]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EA50
+
+ thumb_func_start sub_802EAB0
+sub_802EAB0: @ 802EAB0
+ push {r4,r5,lr}
+ sub sp, 0xC
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, =gTasks + 0x8
+ adds r4, r1, r0
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802EB14
+ ldr r1, =gRecvCmds
+ ldrh r0, [r1, 0x2]
+ ldr r5, =0x00007fff
+ cmp r0, r5
+ bne _0802EAD8
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0x16]
+_0802EAD8:
+ bl GetMultiplayerId
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802EB1A
+ ldrh r0, [r4, 0x18]
+ adds r0, 0x1
+ strh r0, [r4, 0x18]
+ mov r0, sp
+ movs r1, 0
+ movs r2, 0xC
+ bl memset
+ mov r0, sp
+ strh r5, [r0]
+ mov r1, sp
+ ldrh r0, [r4, 0x18]
+ strh r0, [r1, 0x2]
+ mov r0, sp
+ bl sub_800FE50
+ b _0802EB1A
+ .pool
+_0802EB14:
+ ldrh r0, [r4, 0x16]
+ adds r0, 0x1
+ strh r0, [r4, 0x16]
+_0802EB1A:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802EAB0
+
+ thumb_func_start sub_802EB24
+sub_802EB24: @ 802EB24
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r5, r1, 0
+ adds r6, r2, 0
+ ldr r0, [sp, 0x18]
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r5, 16
+ lsrs r5, 16
+ lsls r6, 16
+ lsrs r6, 16
+ lsls r3, 16
+ lsrs r3, 16
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r0, =sub_802EB98
+ movs r1, 0x50
+ str r3, [sp]
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r4, [r1, 0xC]
+ strh r5, [r1, 0xE]
+ strh r6, [r1, 0x10]
+ ldr r3, [sp]
+ strh r3, [r1, 0x12]
+ mov r0, r8
+ strh r0, [r1, 0x14]
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EB24
+
+ thumb_func_start sub_802EB84
+sub_802EB84: @ 802EB84
+ push {lr}
+ ldr r0, =sub_802EB98
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802EB84
+
+ thumb_func_start sub_802EB98
+sub_802EB98: @ 802EB98
+ push {r4-r6,lr}
+ sub sp, 0xC
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r5, r0, r1
+ movs r1, 0
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ beq _0802EC08
+ cmp r0, 0x1
+ bgt _0802EBC0
+ cmp r0, 0
+ beq _0802EBC6
+ b _0802EC8A
+ .pool
+_0802EBC0:
+ cmp r0, 0x2
+ beq _0802EC4C
+ b _0802EC8A
+_0802EBC6:
+ ldrh r0, [r5, 0x4]
+ ldrh r1, [r5, 0x6]
+ bl sub_802EF50
+ ldrh r0, [r5, 0x4]
+ ldrh r1, [r5, 0x6]
+ movs r3, 0x8
+ ldrsh r2, [r5, r3]
+ movs r4, 0xA
+ ldrsh r3, [r5, r4]
+ ldrb r4, [r5, 0xC]
+ str r4, [sp]
+ bl sub_802EFA8
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0xE]
+ ldrh r0, [r5, 0x4]
+ ldrh r1, [r5, 0x6]
+ movs r3, 0x8
+ ldrsh r2, [r5, r3]
+ movs r4, 0xA
+ ldrsh r3, [r5, r4]
+ ldrb r4, [r5, 0xC]
+ str r4, [sp]
+ adds r4, r5, 0
+ adds r4, 0x10
+ str r4, [sp, 0x4]
+ adds r4, 0x2
+ str r4, [sp, 0x8]
+ bl sub_802EFFC
+ b _0802EC3E
+_0802EC08:
+ ldrb r0, [r5, 0xE]
+ bl sub_802EC98
+ cmp r0, 0
+ bne _0802EC8A
+ ldrb r0, [r5, 0xE]
+ ldrb r1, [r5, 0x10]
+ ldrb r2, [r5, 0x12]
+ bl sub_802EDCC
+ movs r0, 0xE
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, =gSprites
+ adds r0, r4
+ bl FreeSpriteOamMatrix
+ movs r3, 0xE
+ ldrsh r1, [r5, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl DestroySprite
+_0802EC3E:
+ ldrh r0, [r5]
+ adds r0, 0x1
+ strh r0, [r5]
+ b _0802EC8A
+ .pool
+_0802EC4C:
+ ldrb r0, [r5, 0x10]
+ bl sub_802EE30
+ cmp r0, 0
+ bne _0802EC8A
+ movs r4, 0x10
+ ldrsh r1, [r5, r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, =gSprites
+ adds r0, r4
+ bl DestroySprite
+ movs r0, 0x12
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl DestroySprite
+ ldrh r0, [r5, 0x4]
+ bl FreeSpriteTilesByTag
+ ldrh r0, [r5, 0x6]
+ bl FreeSpritePaletteByTag
+ adds r0, r6, 0
+ bl DestroyTask
+_0802EC8A:
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EB98
+
+ thumb_func_start sub_802EC98
+sub_802EC98: @ 802EC98
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, =gSprites
+ adds r4, r1, r0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x7
+ bls _0802ECB2
+ b _0802EDC4
+_0802ECB2:
+ lsls r0, 2
+ ldr r1, =_0802ECC4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802ECC4:
+ .4byte _0802ECE4
+ .4byte _0802ECF6
+ .4byte _0802ED1C
+ .4byte _0802ED2C
+ .4byte _0802ED4E
+ .4byte _0802ED86
+ .4byte _0802EDAC
+ .4byte _0802ED82
+_0802ECE4:
+ movs r1, 0x80
+ lsls r1, 4
+ adds r0, r4, 0
+ movs r2, 0x1A
+ bl sub_8007E18
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+_0802ECF6:
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _0802ED04
+ movs r0, 0x39
+ bl PlaySE
+_0802ED04:
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x13
+ ble _0802EDC4
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ adds r0, r4, 0
+ movs r1, 0x1
+ b _0802EDA2
+_0802ED1C:
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _0802EDC4
+ b _0802EDA6
+_0802ED2C:
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ ble _0802EDC4
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl StartSpriteAffineAnim
+ b _0802EDC4
+_0802ED4E:
+ ldrh r0, [r4, 0x22]
+ subs r0, 0x4
+ strh r0, [r4, 0x22]
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7
+ ble _0802EDC4
+ ldrh r1, [r4, 0x36]
+ movs r2, 0x36
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x1
+ bgt _0802ED7E
+ adds r1, 0x1
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ b _0802EDA6
+_0802ED7E:
+ movs r0, 0x7
+ strh r0, [r4, 0x2E]
+_0802ED82:
+ movs r0, 0
+ b _0802EDC6
+_0802ED86:
+ ldrh r0, [r4, 0x22]
+ adds r0, 0x4
+ strh r0, [r4, 0x22]
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7
+ ble _0802EDC4
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ adds r0, r4, 0
+ movs r1, 0x3
+_0802EDA2:
+ bl StartSpriteAffineAnim
+_0802EDA6:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ b _0802EDC2
+_0802EDAC:
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _0802EDC4
+ ldrh r0, [r4, 0x36]
+ adds r0, 0x1
+ strh r0, [r4, 0x36]
+ movs r0, 0x1
+_0802EDC2:
+ strh r0, [r4, 0x2E]
+_0802EDC4:
+ movs r0, 0x1
+_0802EDC6:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802EC98
+
+ thumb_func_start sub_802EDCC
+sub_802EDCC: @ 802EDCC
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r0, =gSprites
+ mov r8, r0
+ lsls r4, r1, 4
+ adds r4, r1
+ lsls r4, 2
+ adds r5, r4, r0
+ ldr r0, =0x0000ffd8
+ strh r0, [r5, 0x26]
+ lsls r3, r2, 4
+ adds r3, r2
+ lsls r3, 2
+ mov r1, r8
+ adds r2, r3, r1
+ strh r0, [r2, 0x26]
+ adds r5, 0x3E
+ ldrb r6, [r5]
+ movs r1, 0x5
+ negs r1, r1
+ adds r0, r1, 0
+ ands r0, r6
+ strb r0, [r5]
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ ands r1, r0
+ strb r1, [r2]
+ movs r0, 0x1C
+ add r8, r0
+ add r4, r8
+ ldr r0, =sub_802EE5C
+ str r0, [r4]
+ add r3, r8
+ str r0, [r3]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EDCC
+
+ thumb_func_start sub_802EE30
+sub_802EE30: @ 802EE30
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0
+ ldr r2, =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r2, 0x1C
+ adds r1, r2
+ ldr r1, [r1]
+ ldr r0, =sub_802EE5C
+ cmp r1, r0
+ bne _0802EE4E
+ movs r3, 0x1
+_0802EE4E:
+ adds r0, r3, 0
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802EE30
+
+ thumb_func_start sub_802EE5C
+sub_802EE5C: @ 802EE5C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r5, 0
+ adds r4, 0x2E
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x4
+ bhi _0802EF46
+ lsls r0, 2
+ ldr r1, =_0802EE7C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802EE7C:
+ .4byte _0802EE90
+ .4byte _0802EEA0
+ .4byte _0802EEC8
+ .4byte _0802EEFC
+ .4byte _0802EF34
+_0802EE90:
+ movs r0, 0x40
+ strh r0, [r4, 0x8]
+ ldrh r0, [r5, 0x26]
+ lsls r0, 4
+ strh r0, [r4, 0xA]
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+_0802EEA0:
+ ldrh r1, [r4, 0x8]
+ ldrh r2, [r4, 0xA]
+ adds r0, r1, r2
+ strh r0, [r4, 0xA]
+ adds r1, 0x1
+ strh r1, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 20
+ strh r0, [r5, 0x26]
+ cmp r0, 0
+ blt _0802EF46
+ movs r0, 0x39
+ bl PlaySE
+ movs r0, 0
+ strh r0, [r5, 0x26]
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+ b _0802EF46
+_0802EEC8:
+ ldrh r0, [r4, 0x2]
+ adds r0, 0xC
+ strh r0, [r4, 0x2]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7F
+ ble _0802EEE6
+ movs r0, 0x39
+ bl PlaySE
+ movs r0, 0
+ strh r0, [r4, 0x2]
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+_0802EEE6:
+ ldr r0, =gSineTable
+ movs r2, 0x2
+ ldrsh r1, [r4, r2]
+ lsls r1, 1
+ adds r1, r0
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ asrs r0, 4
+ b _0802EF2A
+ .pool
+_0802EEFC:
+ ldrh r0, [r4, 0x2]
+ adds r0, 0x10
+ strh r0, [r4, 0x2]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7F
+ ble _0802EF1A
+ movs r0, 0x39
+ bl PlaySE
+ movs r0, 0
+ strh r0, [r4, 0x2]
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+_0802EF1A:
+ ldr r1, =gSineTable
+ movs r2, 0x2
+ ldrsh r0, [r4, r2]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ lsls r0, 16
+ asrs r0, 21
+_0802EF2A:
+ negs r0, r0
+ strh r0, [r5, 0x26]
+ b _0802EF46
+ .pool
+_0802EF34:
+ ldrh r0, [r4, 0x2]
+ adds r0, 0x1
+ strh r0, [r4, 0x2]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x28
+ ble _0802EF46
+ ldr r0, =SpriteCallbackDummy
+ str r0, [r5, 0x1C]
+_0802EF46:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EE5C
+
+ thumb_func_start sub_802EF50
+sub_802EF50: @ 802EF50
+ push {r4,lr}
+ sub sp, 0x10
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r2, =gUnknown_082FEBCC
+ ldr r3, [r2, 0x4]
+ ldr r2, [r2]
+ str r2, [sp]
+ str r3, [sp, 0x4]
+ ldr r2, =gUnknown_082FEBD4
+ ldr r3, [r2, 0x4]
+ ldr r2, [r2]
+ str r2, [sp, 0x8]
+ str r3, [sp, 0xC]
+ lsls r0, 16
+ ldr r3, =0x0000ffff
+ ldr r2, [sp, 0x4]
+ ands r2, r3
+ orrs r2, r0
+ str r2, [sp, 0x4]
+ ldr r2, =0xffff0000
+ add r4, sp, 0x8
+ ldr r0, [r4, 0x4]
+ ands r0, r2
+ orrs r0, r1
+ str r0, [r4, 0x4]
+ mov r0, sp
+ bl LoadCompressedSpriteSheet
+ adds r0, r4, 0
+ bl LoadSpritePalette
+ add sp, 0x10
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EF50
+
+ thumb_func_start sub_802EFA8
+sub_802EFA8: @ 802EFA8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x18
+ mov r12, r3
+ ldr r3, [sp, 0x30]
+ lsls r1, 16
+ lsrs r1, 16
+ lsls r3, 24
+ lsrs r3, 24
+ mov r8, r3
+ mov r5, sp
+ ldr r4, =gUnknown_082FEC90
+ ldm r4!, {r3,r6,r7}
+ stm r5!, {r3,r6,r7}
+ ldm r4!, {r3,r6,r7}
+ stm r5!, {r3,r6,r7}
+ mov r4, sp
+ strh r0, [r4]
+ mov r0, sp
+ strh r1, [r0, 0x2]
+ lsls r2, 16
+ asrs r2, 16
+ mov r0, r12
+ lsls r6, r0, 16
+ asrs r6, 16
+ mov r0, sp
+ adds r1, r2, 0
+ adds r2, r6, 0
+ mov r3, r8
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ add sp, 0x18
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802EFA8
+
+ thumb_func_start sub_802EFFC
+sub_802EFFC: @ 802EFFC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x18
+ mov r12, r3
+ ldr r6, [sp, 0x38]
+ ldr r3, [sp, 0x3C]
+ mov r9, r3
+ ldr r4, [sp, 0x40]
+ mov r8, r4
+ lsls r1, 16
+ lsrs r1, 16
+ lsls r6, 24
+ lsrs r6, 24
+ mov r10, r6
+ mov r4, sp
+ ldr r3, =gUnknown_082FECA8
+ ldm r3!, {r5-r7}
+ stm r4!, {r5-r7}
+ ldm r3!, {r5-r7}
+ stm r4!, {r5-r7}
+ mov r3, sp
+ strh r0, [r3]
+ mov r0, sp
+ strh r1, [r0, 0x2]
+ lsls r2, 16
+ asrs r4, r2, 16
+ ldr r0, =0xffe00000
+ adds r2, r0
+ asrs r2, 16
+ mov r1, r12
+ lsls r5, r1, 16
+ asrs r5, 16
+ mov r0, sp
+ adds r1, r2, 0
+ adds r2, r5, 0
+ mov r3, r10
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ mov r3, r9
+ strh r0, [r3]
+ adds r4, 0x20
+ lsls r4, 16
+ asrs r4, 16
+ mov r0, sp
+ adds r1, r4, 0
+ adds r2, r5, 0
+ mov r3, r10
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ mov r4, r8
+ strh r0, [r4]
+ ldr r2, =gSprites
+ mov r5, r9
+ movs r6, 0
+ ldrsh r1, [r5, r6]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r3, 0x4
+ orrs r1, r3
+ strb r1, [r0]
+ movs r7, 0
+ ldrsh r1, [r4, r7]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ orrs r1, r3
+ strb r1, [r0]
+ movs r0, 0
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0x1
+ bl StartSpriteAnim
+ add sp, 0x18
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EFFC
+
+ .align 2, 0 @ don't pad with nop
diff --git a/asm/pokenav.s b/asm/pokenav.s
index af47d33e7..e453c814c 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -5961,7 +5961,7 @@ sub_81CC09C: @ 81CC09C
ldrb r0, [r4, 0x14]
movs r1, 0x1
movs r2, 0x4
- bl sub_8098858
+ bl DrawTextBorderOuter
ldrb r0, [r4, 0x14]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -7211,7 +7211,7 @@ sub_81CCA1C: @ 81CCA1C
ldrb r0, [r5, 0x8]
movs r1, 0x42
movs r2, 0x4
- bl sub_8098858
+ bl DrawTextBorderOuter
ldr r1, =gUnknown_08622888
str r4, [sp]
movs r0, 0x1
@@ -8696,7 +8696,7 @@ sub_81CD624: @ 81CD624
adds r1, r6, 0
movs r2, 0x2D
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
cmp r0, 0
beq _081CD690
ldr r1, =gText_EggNickname
@@ -8711,14 +8711,14 @@ _081CD690:
adds r1, r6, 0
movs r2, 0x2
adds r3, r5, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
adds r0, r5, 0
bl StringGetEnd10
adds r0, r4, 0
adds r1, r6, 0
movs r2, 0xB
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
lsls r0, 16
lsrs r7, r0, 16
cmp r4, 0xE
@@ -9185,7 +9185,7 @@ _081CDA5A:
adds r1, r7, 0
movs r2, 0x16
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
mov r1, r9
lsls r5, r1, 2
adds r4, r5, r1
@@ -9197,7 +9197,7 @@ _081CDA5A:
adds r1, r7, 0
movs r2, 0x2F
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
ldr r1, =0x00006429
add r1, r8
adds r1, r4
@@ -9206,7 +9206,7 @@ _081CDA5A:
adds r1, r7, 0
movs r2, 0x21
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
ldr r1, =0x0000642a
add r1, r8
adds r1, r4
@@ -9215,7 +9215,7 @@ _081CDA5A:
adds r1, r7, 0
movs r2, 0x18
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
ldr r1, =0x0000642b
add r1, r8
adds r1, r4
@@ -9224,7 +9224,7 @@ _081CDA5A:
adds r1, r7, 0
movs r2, 0x17
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
ldr r1, =0x0000642c
add r1, r8
adds r1, r4
@@ -9238,14 +9238,14 @@ _081CDA5A:
adds r1, r7, 0
movs r2, 0x30
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
cmp r0, 0xFF
beq _081CDB10
adds r0, r6, 0
adds r1, r7, 0
movs r2, 0x30
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
movs r1, 0x1D
bl __udivsi3
b _081CDB12
@@ -9258,7 +9258,7 @@ _081CDB12:
adds r1, r7, 0
movs r2, 0x8
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
ldr r1, =0x00006783
add r1, r8
add r1, r9
@@ -9355,7 +9355,7 @@ _081CDBD0:
adds r1, r6, 0
movs r2, 0x41
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
@@ -9363,13 +9363,13 @@ _081CDBD0:
adds r1, r6, 0
movs r2, 0x1
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
mov r8, r0
adds r0, r5, 0
adds r1, r6, 0
movs r2, 0
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
adds r5, r0, 0
lsls r0, r4, 3
ldr r1, =gMonFrontPicTable
diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s
deleted file mode 100644
index d61f3f270..000000000
--- a/asm/rom_8011DC0.s
+++ /dev/null
@@ -1,48288 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
-
-
- thumb_func_start sub_8016CA0
-sub_8016CA0: @ 8016CA0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r0, 2
- add r0, r10
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- movs r7, 0
- mov r0, sp
- adds r0, 0x10
- str r0, [sp, 0x18]
-_08016CC4:
- lsls r2, r7, 24
- lsrs r2, 24
- mov r0, sp
- ldr r1, [sp, 0x18]
- bl sub_800DE7C
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, sp
- ldrb r0, [r0, 0xA]
- lsls r0, 25
- lsrs r0, 25
- mov r2, r10
- lsls r1, r2, 2
- add r1, r10
- lsls r1, 3
- ldr r3, =gTasks
- adds r1, r3
- movs r5, 0x10
- ldrsh r1, [r1, r5]
- bl sub_8013D88
- cmp r0, 0
- bne _08016D00
- mov r1, sp
- ldr r0, =gUnknown_082F045C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
-_08016D00:
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _08016D18
- mov r1, sp
- ldr r0, =gUnknown_082F045C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
-_08016D18:
- cmp r4, 0
- bne _08016D9C
- lsls r0, r7, 3
- mov r8, r0
- adds r1, r7, 0x1
- mov r9, r1
- cmp r7, 0
- ble _08016D58
- movs r2, 0
- str r2, [sp, 0x1C]
- adds r4, r7, 0
-_08016D2E:
- ldr r0, [r6, 0x4]
- ldr r3, [sp, 0x1C]
- adds r0, r3
- mov r1, sp
- bl sub_8017630
- lsls r0, 24
- cmp r0, 0
- bne _08016D4C
- mov r1, sp
- ldr r0, =gUnknown_082F045C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
-_08016D4C:
- ldr r5, [sp, 0x1C]
- adds r5, 0x1C
- str r5, [sp, 0x1C]
- subs r4, 0x1
- cmp r4, 0
- bne _08016D2E
-_08016D58:
- ldr r1, [r6, 0x4]
- mov r0, r8
- subs r4, r0, r7
- lsls r4, 2
- adds r1, r4
- mov r0, sp
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r6, 0x4]
- adds r0, r4
- ldr r1, =gUnknown_082F045C
- bl sub_8017630
- ldr r3, [r6, 0x4]
- adds r3, r4
- movs r2, 0x1
- ands r2, r0
- ldrb r0, [r3, 0x18]
- movs r4, 0x2
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x18]
- b _08016DD4
- .pool
-_08016D9C:
- ldr r1, [r6]
- lsls r4, r7, 3
- subs r4, r7
- lsls r4, 2
- adds r1, r4
- mov r0, sp
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r6]
- adds r0, r4
- ldr r1, =gUnknown_082F045C
- bl sub_8017630
- ldr r3, [r6]
- adds r3, r4
- movs r2, 0x1
- ands r2, r0
- ldrb r0, [r3, 0x18]
- movs r4, 0x2
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x18]
- adds r7, 0x1
- mov r9, r7
-_08016DD4:
- mov r7, r9
- cmp r7, 0x3
- bgt _08016DDC
- b _08016CC4
-_08016DDC:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8016CA0
-
- thumb_func_start sub_8016DF0
-sub_8016DF0: @ 8016DF0
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r0, =sub_8016CA0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, =gTasks + 0x8
- adds r3, r1, r2
- str r4, [r3]
- str r5, [r3, 0x4]
- adds r2, r1
- strh r6, [r2, 0x8]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8016DF0
-
- thumb_func_start sub_8016E24
-sub_8016E24: @ 8016E24
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r0, 2
- add r0, r10
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- movs r3, 0
-_08016E42:
- lsls r4, r3, 3
- subs r0, r4, r3
- lsls r5, r0, 2
- ldr r0, [r6]
- adds r0, r5
- adds r1, r0, 0
- adds r1, 0x10
- lsls r2, r3, 24
- lsrs r2, 24
- str r3, [sp]
- bl sub_800DE7C
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0, 0xA]
- lsls r0, 25
- lsrs r0, 25
- mov r2, r10
- lsls r1, r2, 2
- add r1, r10
- lsls r1, 3
- ldr r7, =gTasks
- adds r1, r7
- movs r2, 0xC
- ldrsh r1, [r1, r2]
- bl sub_8013D88
- mov r8, r4
- ldr r3, [sp]
- cmp r0, 0
- bne _08016E8E
- ldr r1, [r6]
- adds r1, r5
- ldr r0, =gUnknown_082F045C
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
-_08016E8E:
- adds r4, r3, 0x1
- mov r9, r4
- cmp r3, 0
- ble _08016ED2
- str r5, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- adds r4, r3, 0
-_08016E9E:
- ldr r1, [r6]
- ldr r7, [sp, 0x8]
- adds r0, r1, r7
- ldr r2, [sp, 0x4]
- adds r1, r2
- str r3, [sp]
- bl sub_8017630
- lsls r0, 24
- ldr r3, [sp]
- cmp r0, 0
- bne _08016EC6
- ldr r1, [r6]
- ldr r5, [sp, 0x4]
- adds r1, r5
- ldr r0, =gUnknown_082F045C
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
-_08016EC6:
- ldr r7, [sp, 0x8]
- adds r7, 0x1C
- str r7, [sp, 0x8]
- subs r4, 0x1
- cmp r4, 0
- bne _08016E9E
-_08016ED2:
- mov r0, r8
- subs r4, r0, r3
- lsls r4, 2
- ldr r0, [r6]
- adds r0, r4
- ldr r1, =gUnknown_082F045C
- bl sub_8017630
- ldr r3, [r6]
- adds r3, r4
- movs r2, 0x1
- ands r2, r0
- ldrb r0, [r3, 0x18]
- movs r4, 0x2
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x18]
- mov r3, r9
- cmp r3, 0x3
- ble _08016E42
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8016E24
-
- thumb_func_start sub_8016F1C
-sub_8016F1C: @ 8016F1C
- push {lr}
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x7
- bne _08016F2C
- ldrb r1, [r0]
- movs r0, 0x20
- b _08016F34
-_08016F2C:
- cmp r1, 0x8
- bne _08016F3E
- ldrb r1, [r0]
- movs r0, 0x10
-_08016F34:
- ands r0, r1
- cmp r0, 0
- beq _08016F3E
- movs r0, 0x1
- b _08016F40
-_08016F3E:
- movs r0, 0
-_08016F40:
- pop {r1}
- bx r1
- thumb_func_end sub_8016F1C
-
- thumb_func_start sub_8016F44
-sub_8016F44: @ 8016F44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- movs r6, 0
- subs r0, 0x8
- movs r5, 0
- adds r1, r0
- mov r8, r1
-_08016F62:
- ldr r0, [r4]
- adds r0, r5
- adds r1, r0, 0
- adds r1, 0x10
- lsls r2, r6, 24
- lsrs r2, 24
- bl sub_800DF34
- lsls r0, 24
- cmp r0, 0
- beq _08016F86
- ldr r0, [r4]
- adds r0, r5
- mov r2, r8
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- bl sub_8016F1C
-_08016F86:
- ldr r0, [r4]
- adds r0, r5
- ldr r1, =gUnknown_082F045C
- bl sub_8017630
- ldr r3, [r4]
- adds r3, r5
- movs r2, 0x1
- ands r2, r0
- ldrb r0, [r3, 0x18]
- movs r7, 0x2
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x18]
- adds r5, 0x1C
- adds r6, 0x1
- cmp r6, 0x3
- ble _08016F62
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8016F44
-
- thumb_func_start sub_8016FC0
-sub_8016FC0: @ 8016FC0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, =sub_8016E24
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- ldr r1, =gTasks + 0x8
- adds r3, r2, r1
- str r4, [r3]
- adds r1, r2
- strh r5, [r1, 0x4]
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8016FC0
-
- thumb_func_start sub_8016FF0
-sub_8016FF0: @ 8016FF0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, =sub_8016F44
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- ldr r1, =gTasks + 0x8
- adds r3, r2, r1
- str r4, [r3]
- adds r1, r2
- strh r5, [r1, 0x4]
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8016FF0
-
- thumb_func_start sub_8017020
-sub_8017020: @ 8017020
- push {r4,lr}
- adds r4, r0, 0
- bl sub_81973A4
- movs r0, 0
- movs r1, 0x1
- bl DrawDialogueFrame
- ldr r0, =gStringVar4
- adds r1, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterWithCustomSpeedForMessage
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8017020
-
- thumb_func_start sub_801704C
-sub_801704C: @ 801704C
- push {lr}
- bl RunTextPrintersAndIsPrinter0Active
- lsls r0, 16
- cmp r0, 0
- beq _0801705C
- movs r0, 0
- b _0801705E
-_0801705C:
- movs r0, 0x1
-_0801705E:
- pop {r1}
- bx r1
- thumb_func_end sub_801704C
-
- thumb_func_start PrintOnTextbox
-PrintOnTextbox: @ 8017064
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _08017076
- cmp r0, 0x1
- beq _0801709C
- b _080170AE
-_08017076:
- bl sub_81973A4
- movs r0, 0
- movs r1, 0x1
- bl DrawDialogueFrame
- ldr r0, =gStringVar4
- adds r1, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- bl AddTextPrinterForMessage_2
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080170AE
- .pool
-_0801709C:
- bl RunTextPrintersAndIsPrinter0Active
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080170AE
- strb r0, [r4]
- movs r0, 0x1
- b _080170B0
-_080170AE:
- movs r0, 0
-_080170B0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end PrintOnTextbox
-
- thumb_func_start sub_80170B8
-sub_80170B8: @ 80170B8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _080170CA
- cmp r0, 0x1
- beq _080170E0
- b _0801710C
-_080170CA:
- cmp r5, 0
- beq _080170D4
- movs r0, 0x3
- negs r0, r0
- b _08017110
-_080170D4:
- bl DisplayYesNoMenuDefaultYes
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801710C
-_080170E0:
- cmp r5, 0
- beq _080170F2
- bl sub_8198C78
- movs r0, 0
- strb r0, [r4]
- movs r0, 0x3
- negs r0, r0
- b _08017110
-_080170F2:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x2
- bhi _0801710C
- strb r5, [r4]
- adds r0, r1, 0
- b _08017110
-_0801710C:
- movs r0, 0x2
- negs r0, r0
-_08017110:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80170B8
-
- thumb_func_start sub_8017118
-sub_8017118: @ 8017118
- push {r4,lr}
- sub sp, 0x8
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl DrawStdWindowFrame
- adds r0, r4, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r2, =gUnknown_082EFD94
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl sub_80173E0
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8017118
-
- thumb_func_start sub_8017168
-sub_8017168: @ 8017168
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl RemoveWindow
- pop {r0}
- bx r0
- thumb_func_end sub_8017168
-
- thumb_func_start sub_8017178
-sub_8017178: @ 8017178
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r7, r0, 0
- adds r5, r1, 0
- mov r9, r2
- ldrb r4, [r7]
- cmp r4, 0
- beq _08017194
- cmp r4, 0x1
- beq _08017228
- b _0801728E
-_08017194:
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [sp, 0x24]
- bl sub_81DB41C
- adds r1, r0, 0
- ldr r2, [sp]
- lsrs r0, r2, 24
- cmp r0, r1
- ble _080171B6
- lsls r1, 24
- ldr r0, =0x00ffffff
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
-_080171B6:
- ldr r2, [sp]
- lsrs r0, r2, 8
- lsls r0, 24
- lsrs r0, 24
- lsrs r1, r2, 24
- adds r0, r1
- cmp r0, 0x1D
- ble _080171DC
- movs r0, 0x1D
- subs r0, r1
- cmp r0, 0
- bge _080171D0
- movs r0, 0
-_080171D0:
- lsls r1, r0, 24
- lsrs r1, 16
- ldr r0, =0xffff00ff
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
-_080171DC:
- mov r0, sp
- bl AddWindow
- strb r0, [r5]
- ldrb r0, [r5]
- movs r1, 0
- bl DrawStdWindowFrame
- ldr r0, =gMultiuseListMenuTemplate
- adds r2, r0, 0
- ldr r1, [sp, 0x24]
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldrb r1, [r5]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- mov r1, r9
- strb r0, [r1]
- ldrb r0, [r5]
- movs r1, 0x1
- bl CopyWindowToVram
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
- b _0801728E
- .pool
-_08017228:
- mov r3, r9
- ldrb r0, [r3]
- bl ListMenu_ProcessInput
- mov r8, r0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- ands r4, r1
- cmp r4, 0
- beq _08017264
- mov r4, r9
- ldrb r0, [r4]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldrb r0, [r5]
- movs r1, 0x1
- bl ClearStdWindowAndFrame
- ldrb r0, [r5]
- bl RemoveWindow
- movs r0, 0
- strb r0, [r7]
- mov r0, r8
- b _08017292
- .pool
-_08017264:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0801728E
- mov r6, r9
- ldrb r0, [r6]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldrb r0, [r5]
- movs r1, 0x1
- bl ClearStdWindowAndFrame
- ldrb r0, [r5]
- bl RemoveWindow
- strb r4, [r7]
- movs r0, 0x2
- negs r0, r0
- b _08017292
-_0801728E:
- movs r0, 0x1
- negs r0, r0
-_08017292:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8017178
-
- thumb_func_start sub_80172A0
-sub_80172A0: @ 80172A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r10, r2
- mov r9, r3
- ldrb r4, [r5]
- cmp r4, 0x1
- beq _0801730C
- cmp r4, 0x1
- bgt _080172C2
- cmp r4, 0
- beq _080172C8
- b _0801739C
-_080172C2:
- cmp r4, 0x2
- beq _0801731C
- b _0801739C
-_080172C8:
- ldr r0, =gUnknown_082F0344
- bl sub_8017118
- mov r1, r9
- strb r0, [r1]
- ldr r0, [sp, 0x20]
- bl AddWindow
- strb r0, [r6]
- ldrb r0, [r6]
- movs r1, 0
- bl DrawStdWindowFrame
- ldr r0, =gMultiuseListMenuTemplate
- adds r2, r0, 0
- ldr r1, [sp, 0x24]
- ldm r1!, {r3,r4,r7}
- stm r2!, {r3,r4,r7}
- ldm r1!, {r3,r4,r7}
- stm r2!, {r3,r4,r7}
- ldrb r1, [r6]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0x1
- bl ListMenuInit
- mov r1, r10
- strb r0, [r1]
- b _08017314
- .pool
-_0801730C:
- ldrb r0, [r6]
- movs r1, 0x1
- bl CopyWindowToVram
-_08017314:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0801739C
-_0801731C:
- mov r3, r10
- ldrb r0, [r3]
- bl ListMenu_ProcessInput
- adds r1, r0, 0
- ldr r0, =gMain
- ldrh r2, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r2
- cmp r0, 0
- beq _0801739C
- cmp r1, 0x8
- beq _0801733E
- ands r4, r2
- mov r8, r4
- cmp r4, 0
- beq _08017368
-_0801733E:
- mov r4, r10
- ldrb r0, [r4]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldrb r0, [r6]
- bl RemoveWindow
- mov r7, r9
- ldrb r0, [r7]
- bl sub_8017168
- movs r0, 0
- strb r0, [r5]
- movs r0, 0x2
- negs r0, r0
- b _080173A0
- .pool
-_08017368:
- ldr r0, [sp, 0x28]
- bl sub_8017CB0
- adds r4, r0, 0
- cmp r4, 0
- blt _08017396
- mov r1, r10
- ldrb r0, [r1]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldrb r0, [r6]
- bl RemoveWindow
- mov r3, r9
- ldrb r0, [r3]
- bl sub_8017168
- mov r7, r8
- strb r7, [r5]
- adds r0, r4, 0
- b _080173A0
-_08017396:
- movs r0, 0x7
- bl PlaySE
-_0801739C:
- movs r0, 0x1
- negs r0, r0
-_080173A0:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80172A0
-
- thumb_func_start sub_80173B0
-sub_80173B0: @ 80173B0
- push {lr}
- sub sp, 0xC
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_80173B0
-
- thumb_func_start sub_80173D4
-sub_80173D4: @ 80173D4
- push {lr}
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80173D4
-
- thumb_func_start sub_80173E0
-sub_80173E0: @ 80173E0
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r5, [sp, 0x1C]
- ldr r4, [sp, 0x20]
- lsls r3, 24
- lsrs r3, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- str r2, [sp]
- mov r2, sp
- strb r0, [r2, 0x4]
- mov r0, sp
- strb r1, [r0, 0x5]
- strb r3, [r0, 0x6]
- strb r5, [r0, 0x7]
- strb r3, [r0, 0x8]
- strb r5, [r0, 0x9]
- ldrb r1, [r2, 0xC]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0xC]
- ldr r2, =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- cmp r4, 0x6
- bls _08017422
- b _0801756E
-_08017422:
- lsls r0, r4, 2
- ldr r1, =_08017434
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08017434:
- .4byte _08017450
- .4byte _0801747C
- .4byte _080174A8
- .4byte _080174D4
- .4byte _08017500
- .4byte _0801752C
- .4byte _08017544
-_08017450:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2, 0xC]
- ldrb r1, [r2, 0xD]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0xD]
- ands r0, r3
- movs r1, 0x30
- b _0801756A
-_0801747C:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2, 0xC]
- ldrb r1, [r2, 0xD]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0xD]
- ands r0, r3
- movs r1, 0x50
- b _0801756A
-_080174A8:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x60
- orrs r0, r1
- strb r0, [r2, 0xC]
- ldrb r1, [r2, 0xD]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0xD]
- ands r0, r3
- movs r1, 0x70
- b _0801756A
-_080174D4:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0xC]
- ldrb r1, [r2, 0xD]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0xD]
- ands r0, r3
- movs r1, 0x30
- b _0801756A
-_08017500:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0xC]
- ldrb r1, [r2, 0xD]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0xD]
- ands r0, r3
- movs r1, 0x30
- b _0801756A
-_0801752C:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r4, 0xF
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x70
- b _0801755A
-_08017544:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r4, 0xF
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0xE0
-_0801755A:
- orrs r0, r1
- strb r0, [r2, 0xC]
- mov r1, sp
- ldrb r0, [r1, 0xD]
- orrs r0, r4
- strb r0, [r1, 0xD]
- ands r0, r3
- movs r1, 0x90
-_0801756A:
- orrs r0, r1
- strb r0, [r2, 0xD]
-_0801756E:
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0
- bl AddTextPrinter
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80173E0
-
- thumb_func_start sub_8017580
-sub_8017580: @ 8017580
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- beq _080175D8
- ldr r2, =gUnknown_082F045C
- mov r8, r2
- movs r5, 0
- mov r9, r5
- movs r6, 0x4
- negs r6, r6
- mov r12, r6
- adds r2, r0, 0
- adds r2, 0x18
- adds r4, r0, 0
- movs r7, 0xFF
- mov r10, r7
- adds r3, r1, 0
-_080175AC:
- adds r1, r4, 0
- mov r0, r8
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- mov r0, r10
- strh r0, [r2]
- ldrb r1, [r2, 0x2]
- mov r0, r12
- ands r0, r1
- movs r1, 0x5
- negs r1, r1
- ands r0, r1
- strb r0, [r2, 0x2]
- mov r5, r9
- strb r5, [r2, 0x3]
- adds r2, 0x20
- adds r4, 0x20
- subs r3, 0x1
- cmp r3, 0
- bne _080175AC
-_080175D8:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8017580
-
- thumb_func_start sub_80175EC
-sub_80175EC: @ 80175EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, =gUnknown_082F045C
- mov r12, r1
- movs r5, 0x2
- negs r5, r5
- mov r8, r5
- adds r2, r0, 0
- adds r2, 0x18
- adds r3, r0, 0
- movs r4, 0x3
-_08017604:
- adds r1, r3, 0
- mov r0, r12
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldrb r1, [r2]
- mov r0, r8
- ands r0, r1
- strb r0, [r2]
- adds r2, 0x1C
- adds r3, 0x1C
- subs r4, 0x1
- cmp r4, 0
- bge _08017604
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80175EC
-
- thumb_func_start sub_8017630
-sub_8017630: @ 8017630
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r2, 0
- adds r4, r5, 0x2
- adds r3, r6, 0x2
-_0801763C:
- adds r0, r4, r2
- adds r1, r3, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _08017664
- adds r2, 0x1
- cmp r2, 0x1
- ble _0801763C
- movs r2, 0
- adds r4, r5, 0
- adds r4, 0x10
- adds r3, r6, 0
- adds r3, 0x10
-_08017658:
- adds r0, r4, r2
- adds r1, r3, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _08017668
-_08017664:
- movs r0, 0x1
- b _08017670
-_08017668:
- adds r2, 0x1
- cmp r2, 0x7
- ble _08017658
- movs r0, 0
-_08017670:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8017630
-
- thumb_func_start sub_8017678
-sub_8017678: @ 8017678
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r3, [r5, 0xA]
- movs r0, 0x7F
- ldrb r2, [r6, 0xA]
- adds r1, r0, 0
- ands r1, r3
- ands r0, r2
- cmp r1, r0
- bne _080176DC
- movs r0, 0x80
- adds r1, r0, 0
- ands r1, r3
- ands r0, r2
- cmp r1, r0
- bne _080176DC
- movs r2, 0
- adds r4, r5, 0x4
- adds r3, r6, 0x4
-_080176A0:
- adds r0, r4, r2
- adds r1, r3, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _080176DC
- adds r2, 0x1
- cmp r2, 0x3
- ble _080176A0
- ldrh r2, [r5, 0x8]
- ldr r0, =0x000003ff
- ldrh r3, [r6, 0x8]
- adds r1, r0, 0
- ands r1, r2
- ands r0, r3
- cmp r1, r0
- bne _080176DC
- ldrb r2, [r5, 0x9]
- movs r0, 0xFC
- ldrb r3, [r6, 0x9]
- adds r1, r0, 0
- ands r1, r2
- ands r0, r3
- cmp r1, r0
- bne _080176DC
- movs r0, 0
- b _080176DE
- .pool
-_080176DC:
- movs r0, 0x1
-_080176DE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8017678
-
- thumb_func_start sub_80176E4
-sub_80176E4: @ 80176E4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- movs r7, 0xFF
- movs r6, 0
- adds r4, r1, 0
- adds r4, 0x18
- adds r5, r1, 0
-_080176F6:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801771E
- mov r0, r8
- adds r1, r5, 0
- bl sub_8017630
- lsls r0, 24
- cmp r0, 0
- bne _0801771E
- lsls r0, r6, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
- movs r2, 0x2
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- strb r0, [r4]
-_0801771E:
- adds r4, 0x1C
- adds r5, 0x1C
- adds r6, 0x1
- cmp r6, 0x3
- ble _080176F6
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80176E4
-
- thumb_func_start sub_8017734
-sub_8017734: @ 8017734
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r3, r0, 0
- mov r8, r1
- lsls r2, 24
- lsrs r6, r2, 24
- ldrb r1, [r1, 0x18]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080177A8
- movs r5, 0
- cmp r5, r6
- bge _080177A8
- movs r0, 0x4
- negs r0, r0
- mov r9, r0
- movs r1, 0x2
- negs r1, r1
- mov r12, r1
- adds r2, r3, 0
- adds r2, 0x18
- adds r1, r3, 0
-_08017766:
- ldrb r0, [r2, 0x2]
- movs r3, 0x3
- ands r3, r0
- cmp r3, 0
- bne _0801779E
- mov r0, r8
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- strh r3, [r2]
- ldrb r1, [r2, 0x2]
- mov r0, r9
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- movs r0, 0x40
- strb r0, [r2, 0x3]
- mov r0, r8
- ldrb r1, [r0, 0x18]
- mov r0, r12
- ands r0, r1
- mov r1, r8
- strb r0, [r1, 0x18]
- lsls r0, r5, 24
- lsrs r0, 24
- b _080177AA
-_0801779E:
- adds r2, 0x20
- adds r1, 0x20
- adds r5, 0x1
- cmp r5, r6
- blt _08017766
-_080177A8:
- movs r0, 0xFF
-_080177AA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8017734
-
- thumb_func_start sub_80177B8
-sub_80177B8: @ 80177B8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r4, r1, 0
- adds r6, r3, 0
- ldr r3, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- lsls r1, 24
- lsrs r1, 24
- ldr r5, =gStringVar4
- adds r1, 0x1
- adds r0, r5, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_Colon
- adds r0, r5, 0
- bl StringAppend
- str r7, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- mov r0, r8
- movs r1, 0x1
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_80173E0
- adds r4, 0x12
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r6, 0xA]
- lsls r0, 25
- lsrs r2, r0, 25
- ldrb r1, [r6, 0x1A]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _08017884
- movs r0, 0x40
- ands r2, r0
- cmp r2, 0
- bne _08017884
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8018404
- str r7, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- mov r0, r8
- movs r1, 0x1
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_80173E0
- ldrb r1, [r6, 0x2]
- ldrb r0, [r6, 0x3]
- lsls r0, 8
- orrs r1, r0
- add r0, sp, 0x8
- movs r2, 0x2
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_UnkCtrlCodeF907
- adds r0, r5, 0
- bl StringCopy
- adds r0, r5, 0
- add r1, sp, 0x8
- bl StringAppend
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x88
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- str r7, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- mov r0, r8
- movs r1, 0x1
- adds r2, r5, 0
- bl sub_80173E0
-_08017884:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80177B8
-
- thumb_func_start sub_80178A0
-sub_80178A0: @ 80178A0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r5, r3, 0
- ldr r3, [sp, 0x2C]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r7, r3, 24
- ldrb r1, [r5, 0x1A]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801792A
- ldr r4, =gStringVar4
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8018404
- mov r0, r8
- str r0, [sp]
- str r7, [sp, 0x4]
- mov r0, r9
- movs r1, 0x1
- adds r2, r4, 0
- adds r3, r6, 0
- bl sub_80173E0
- ldrb r1, [r5, 0x2]
- ldrb r0, [r5, 0x3]
- lsls r0, 8
- orrs r1, r0
- add r0, sp, 0x8
- movs r2, 0x2
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_UnkCtrlCodeF907
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- add r1, sp, 0x8
- bl StringAppend
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x68
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- str r0, [sp]
- str r7, [sp, 0x4]
- mov r0, r9
- movs r1, 0x1
- adds r2, r4, 0
- bl sub_80173E0
-_0801792A:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80178A0
-
- thumb_func_start sub_8017940
-sub_8017940: @ 8017940
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x9
- bne _08017978
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- bne _08017978
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x3]
- cmp r0, 0x2
- beq _0801796E
- cmp r0, 0
- bne _08017978
-_0801796E:
- movs r0, 0x1
- b _0801797A
- .pool
-_08017978:
- movs r0, 0
-_0801797A:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8017940
-
- thumb_func_start sub_8017984
-sub_8017984: @ 8017984
- push {lr}
- cmp r0, 0x4
- beq _0801799C
- cmp r0, 0x4
- ble _080179A4
- cmp r0, 0x5
- beq _08017998
- cmp r0, 0x8
- beq _080179A0
- b _080179A4
-_08017998:
- movs r0, 0x1
- b _080179A6
-_0801799C:
- movs r0, 0x2
- b _080179A6
-_080179A0:
- movs r0, 0x3
- b _080179A6
-_080179A4:
- movs r0, 0
-_080179A6:
- pop {r1}
- bx r1
- thumb_func_end sub_8017984
-
- thumb_func_start sub_80179AC
-sub_80179AC: @ 80179AC
- push {r4,lr}
- sub sp, 0x20
- adds r4, r0, 0
- mov r0, sp
- adds r1, r4, 0
- bl sub_8018404
- adds r4, 0x2
- adds r0, r4, 0
- bl ReadAsU16
- lsls r0, 16
- lsrs r0, 16
- mov r1, sp
- bl sub_800E540
- add sp, 0x20
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80179AC
-
- thumb_func_start sub_80179D4
-sub_80179D4: @ 80179D4
- push {r4-r6,lr}
- adds r6, r3, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r2, 19
- adds r5, r0, r2
- ldrb r1, [r5, 0xA]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08017A4C
- cmp r4, 0
- bne _08017A4C
- ldr r4, =gStringVar1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8018404
- adds r0, r5, 0x2
- bl ReadAsU16
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl sub_800E540
- adds r2, r0, 0
- ldrb r1, [r5, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- bne _08017A38
- ldr r0, =gStringVar4
- ldr r3, =gUnknown_082EE6B8
- lsls r1, r6, 2
- lsls r2, 3
- adds r1, r2
- adds r1, r3
- ldr r1, [r1]
- bl StringExpandPlaceholders
- movs r0, 0x2
- b _08017B2A
- .pool
-_08017A38:
- ldr r0, =gUnknown_082EE17C
- lsls r1, r2, 2
- adds r1, r0
- ldr r0, [r1]
- bl sub_8017020
- movs r0, 0x1
- b _08017B2A
- .pool
-_08017A4C:
- ldr r0, =gStringVar1
- adds r1, r5, 0
- bl sub_8018404
- cmp r4, 0
- beq _08017A62
- adds r0, r5, r4
- ldrb r0, [r0, 0x3]
- lsrs r6, r0, 3
- movs r0, 0x1
- ands r6, r0
-_08017A62:
- ldrb r0, [r5, 0xA]
- lsls r0, 25
- lsrs r0, 25
- movs r1, 0x3F
- ands r1, r0
- cmp r1, 0x4
- beq _08017AB0
- cmp r1, 0x4
- bgt _08017A80
- cmp r1, 0x1
- beq _08017A8A
- b _08017B20
- .pool
-_08017A80:
- cmp r1, 0x5
- beq _08017AD0
- cmp r1, 0x8
- beq _08017AF4
- b _08017B20
-_08017A8A:
- ldr r5, =gStringVar4
- ldr r4, =gUnknown_082EEEAC
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r1, 14
- lsls r0, r6, 4
- adds r1, r0
- adds r1, r4
- ldr r1, [r1]
- b _08017B0E
- .pool
-_08017AB0:
- ldr r5, =gStringVar4
- ldr r4, =gUnknown_082EF1CC
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- lsls r1, r6, 4
- b _08017B08
- .pool
-_08017AD0:
- ldr r5, =gStringVar4
- ldr r4, =gUnknown_082EF010
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r1, 14
- lsls r0, r6, 4
- adds r1, r0
- adds r1, r4
- ldr r1, [r1]
- b _08017B0E
- .pool
-_08017AF4:
- ldr r5, =gStringVar4
- ldr r4, =gUnknown_082EF100
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- lsls r1, r6, 3
-_08017B08:
- adds r0, r1
- adds r0, r4
- ldr r1, [r0]
-_08017B0E:
- adds r0, r5, 0
- bl StringExpandPlaceholders
- b _08017B28
- .pool
-_08017B20:
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082EE6C8
- bl StringExpandPlaceholders
-_08017B28:
- movs r0, 0
-_08017B2A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80179D4
-
- thumb_func_start nullsub_14
-nullsub_14: @ 8017B38
- bx lr
- thumb_func_end nullsub_14
-
- thumb_func_start sub_8017B3C
-sub_8017B3C: @ 8017B3C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- ldr r4, [sp, 0x28]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r4, 24
- lsrs r4, 24
- ldrh r0, [r2, 0x8]
- lsls r0, 22
- lsrs r0, 22
- mov r8, r0
- ldrb r0, [r2, 0x9]
- lsrs r7, r0, 2
- ldrb r0, [r2, 0xB]
- lsrs r0, 1
- mov r9, r0
- str r5, [sp]
- str r4, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0x1
- adds r2, r3, 0
- movs r3, 0x8
- bl sub_80173E0
- movs r0, 0xCE
- lsls r0, 1
- cmp r8, r0
- bne _08017B94
- ldr r2, =gUnknown_082EF7D0
- str r5, [sp]
- str r4, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0x1
- movs r3, 0x44
- bl sub_80173E0
- b _08017BD4
- .pool
-_08017B94:
- adds r1, r7, 0x1
- adds r0, r6, 0
- movs r2, 0x44
- adds r3, r5, 0
- bl blit_move_info_icon
- movs r0, 0xB
- mov r2, r8
- muls r2, r0
- ldr r0, =gSpeciesNames
- adds r2, r0
- str r5, [sp]
- str r4, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0x1
- movs r3, 0x76
- bl sub_80173E0
- add r0, sp, 0x8
- mov r1, r9
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- str r5, [sp]
- str r4, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0x1
- add r2, sp, 0x8
- movs r3, 0xC6
- bl sub_80173E0
-_08017BD4:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8017B3C
-
- thumb_func_start sub_8017BE8
-sub_8017BE8: @ 8017BE8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r0, =gUnknown_02022C30
- ldr r0, [r0]
- mov r8, r0
- movs r0, 0x3
- negs r0, r0
- cmp r4, r0
- bne _08017C6C
- ldr r0, =gUnknown_082F03A4
- ldrb r0, [r0, 0x14]
- lsls r0, 28
- lsrs r0, 28
- cmp r7, r0
- bne _08017C6C
- bl sub_800F7DC
- adds r2, r0, 0
- ldrh r1, [r2, 0x8]
- ldr r0, =0x000003ff
- ands r0, r1
- cmp r0, 0
- beq _08017CA0
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- movs r0, 0x5
- str r0, [sp]
- mov r0, r9
- adds r1, r7, 0
- bl sub_8017B3C
- b _08017CA0
- .pool
-_08017C4C:
- mov r0, r12
- adds r1, r0, r4
- add r0, sp, 0x4
- bl sub_8018404
- mov r0, r8
- ldr r2, [r0]
- adds r2, r4
- movs r0, 0x6
- str r0, [sp]
- mov r0, r9
- adds r1, r7, 0
- add r3, sp, 0x4
- bl sub_8017B3C
- b _08017CA0
-_08017C6C:
- movs r5, 0
- movs r1, 0
- mov r2, r8
- ldr r2, [r2]
- mov r12, r2
- adds r2, 0x8
- movs r3, 0
- adds r6, r4, 0x1
-_08017C7C:
- ldrb r0, [r2, 0x12]
- lsls r0, 30
- lsrs r0, 30
- adds r4, r3, 0
- cmp r0, 0x1
- bne _08017C92
- ldrh r0, [r2]
- lsls r0, 22
- cmp r0, 0
- beq _08017C92
- adds r5, 0x1
-_08017C92:
- cmp r5, r6
- beq _08017C4C
- adds r2, 0x20
- adds r3, 0x20
- adds r1, 0x1
- cmp r1, 0x7
- ble _08017C7C
-_08017CA0:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8017BE8
-
- thumb_func_start sub_8017CB0
-sub_8017CB0: @ 8017CB0
- push {r4-r7,lr}
- movs r4, 0
- movs r3, 0
- movs r7, 0x3
- ldr r6, =0x000003ff
- adds r2, r0, 0
- adds r2, 0x8
- adds r5, r1, 0x1
-_08017CC0:
- ldrb r1, [r2, 0x12]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0x1
- bne _08017CD6
- ldrh r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08017CD6
- adds r4, 0x1
-_08017CD6:
- cmp r4, r5
- bne _08017CE4
- adds r0, r3, 0
- b _08017CF0
- .pool
-_08017CE4:
- adds r2, 0x20
- adds r3, 0x1
- cmp r3, 0x7
- ble _08017CC0
- movs r0, 0x1
- negs r0, r0
-_08017CF0:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8017CB0
-
- thumb_func_start sub_8017CF8
-sub_8017CF8: @ 8017CF8
- lsls r0, 5
- adds r0, r1
- ldrb r0, [r0, 0xB]
- lsls r0, 31
- lsrs r0, 31
- bx lr
- thumb_func_end sub_8017CF8
-
- thumb_func_start sub_8017D04
-sub_8017D04: @ 8017D04
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _08017D44
- movs r4, 0
- b _08017D2E
-_08017D14:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _08017D74
- adds r4, 0x1
-_08017D2E:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- blt _08017D14
- movs r0, 0x2
- b _08017D90
- .pool
-_08017D44:
- movs r4, 0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bge _08017D8E
- ldr r6, =gBaseStats
-_08017D50:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- bl GetMonData
- adds r1, r0, 0
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r0, r6
- ldrb r0, [r1, 0x6]
- cmp r0, r5
- beq _08017D74
- ldrb r0, [r1, 0x7]
- cmp r0, r5
- bne _08017D84
-_08017D74:
- movs r0, 0
- b _08017D90
- .pool
-_08017D84:
- adds r4, 0x1
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- blt _08017D50
-_08017D8E:
- movs r0, 0x1
-_08017D90:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8017D04
-
- thumb_func_start sub_8017D9C
-sub_8017D9C: @ 8017D9C
- push {lr}
- adds r3, r0, 0
- cmp r1, 0x44
- beq _08017DD8
- cmp r1, 0x44
- bgt _08017DAE
- cmp r1, 0x41
- beq _08017DB8
- b _08017DF6
-_08017DAE:
- cmp r1, 0x45
- beq _08017DC8
- cmp r1, 0x48
- beq _08017DE8
- b _08017DF6
-_08017DB8:
- ldr r0, =gUnknown_082EEA68
- lsls r1, r2, 2
- adds r1, r0
- ldr r1, [r1]
- b _08017DDA
- .pool
-_08017DC8:
- ldr r0, =gUnknown_082EED3C
- lsls r1, r2, 2
- adds r1, r0
- ldr r1, [r1]
- b _08017DDA
- .pool
-_08017DD8:
- ldr r1, =gUnknown_082EF7B0
-_08017DDA:
- adds r0, r3, 0
- bl StringExpandPlaceholders
- b _08017DF6
- .pool
-_08017DE8:
- ldr r0, =gUnknown_082EEB08
- lsls r1, r2, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r3, 0
- bl StringExpandPlaceholders
-_08017DF6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8017D9C
-
- thumb_func_start sub_8017E00
-sub_8017E00: @ 8017E00
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- adds r6, r4, 0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gLinkPlayers
- movs r0, 0x1
- adds r1, r3, 0
- eors r1, r0
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x13]
- cmp r4, 0x44
- beq _08017E54
- cmp r4, 0x44
- bgt _08017E38
- cmp r4, 0x41
- beq _08017E3E
- b _08017E94
- .pool
-_08017E38:
- cmp r6, 0x45
- beq _08017E78
- b _08017E94
-_08017E3E:
- ldr r2, =gUnknown_082EE984
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 3
- adds r1, r0
- b _08017E66
- .pool
-_08017E54:
- ldr r2, =gUnknown_082EE984
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 3
- adds r1, r0
- adds r2, 0x8
-_08017E66:
- adds r1, r2
- ldr r1, [r1]
- adds r0, r5, 0
- bl StringCopy
- b _08017E94
- .pool
-_08017E78:
- ldr r2, =gUnknown_082EE984
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 3
- adds r1, r0
- adds r2, 0x4
- adds r1, r2
- ldr r1, [r1]
- adds r0, r5, 0
- bl StringCopy
-_08017E94:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8017E00
-
- thumb_func_start sub_8017EA0
-sub_8017EA0: @ 8017EA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r5, r2, 0
- adds r6, r3, 0
- movs r2, 0
- mov r8, r2
- ldrh r0, [r5]
- subs r0, 0x40
- cmp r0, 0x8
- bls _08017EBA
- b _08017FC6
-_08017EBA:
- lsls r0, 2
- ldr r1, =_08017EC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08017EC8:
- .4byte _08017FBC
- .4byte _08017EEC
- .4byte _08017FC6
- .4byte _08017FC6
- .4byte _08017EFC
- .4byte _08017EF4
- .4byte _08017FC6
- .4byte _08017FC6
- .4byte _08017FAC
-_08017EEC:
- ldr r1, =gUnknown_082EE3DC
- b _08017FAE
- .pool
-_08017EF4:
- ldr r1, =gUnknown_082EE430
- b _08017FAE
- .pool
-_08017EFC:
- adds r0, r6, 0
- adds r0, 0x58
- ldr r4, =gUnknown_02022C40
- ldrh r1, [r4, 0xC]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r0, r6, 0
- adds r0, 0x68
- ldrh r2, [r4, 0xA]
- movs r1, 0xB
- muls r1, r2
- ldr r2, =gSpeciesNames
- adds r1, r2
- bl StringCopy
- movs r4, 0
- b _08017F2E
- .pool
-_08017F2C:
- adds r4, 0x1
-_08017F2E:
- cmp r4, 0x3
- bgt _08017F64
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- lsls r1, r4, 5
- adds r0, r1
- ldrh r0, [r0, 0x18]
- cmp r0, 0x2
- bne _08017F2C
- ldrh r1, [r5, 0x4]
- adds r0, r6, 0
- adds r0, 0x78
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldrh r1, [r5, 0x2]
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- adds r0, r6, 0
- adds r0, 0x88
- bl StringCopy
- ldrh r5, [r5, 0x2]
- mov r8, r5
-_08017F64:
- movs r0, 0xCE
- lsls r0, 1
- cmp r8, r0
- bne _08017F84
- ldr r1, =gUnknown_082EE4F0
- adds r0, r7, 0
- bl StringCopy
- b _08017FB4
- .pool
-_08017F84:
- movs r4, 0
- adds r5, r6, 0
- adds r5, 0x58
-_08017F8A:
- lsls r0, r4, 24
- lsrs r0, 24
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- adds r5, 0x10
- adds r4, 0x1
- cmp r4, 0x3
- ble _08017F8A
- ldr r1, =gUnknown_082EE47C
- adds r0, r7, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- b _08017FB4
- .pool
-_08017FAC:
- ldr r1, =gUnknown_082EE380
-_08017FAE:
- adds r0, r7, 0
- bl StringExpandPlaceholders
-_08017FB4:
- movs r2, 0x1
- b _08017FC6
- .pool
-_08017FBC:
- ldr r1, =gUnknown_082EE544
- adds r0, r7, 0
- bl StringExpandPlaceholders
- movs r2, 0x2
-_08017FC6:
- adds r0, r2, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8017EA0
-
- thumb_func_start sub_8017FD8
-sub_8017FD8: @ 8017FD8
- push {lr}
- adds r2, r0, 0
- ldr r0, =gRecvCmds
- ldrh r1, [r0, 0x2]
- cmp r1, 0
- beq _08017FFC
- cmp r1, 0x51
- beq _08017FEC
- cmp r1, 0x52
- bne _08017FFC
-_08017FEC:
- adds r0, r2, 0
- adds r0, 0x98
- strh r1, [r0]
- movs r0, 0x1
- b _08017FFE
- .pool
-_08017FFC:
- movs r0, 0
-_08017FFE:
- pop {r1}
- bx r1
- thumb_func_end sub_8017FD8
-
- thumb_func_start InUnionRoom
-InUnionRoom: @ 8018004
- push {lr}
- movs r2, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x00003c19
- cmp r1, r0
- bne _08018016
- movs r2, 0x1
-_08018016:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end InUnionRoom
-
- thumb_func_start sub_8018024
-sub_8018024: @ 8018024
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r6, r0
- bge _08018064
-_08018032:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- cmp r0, 0x1E
- bhi _0801805A
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _0801805A
- adds r6, 0x1
-_0801805A:
- adds r5, 0x1
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r5, r0
- blt _08018032
-_08018064:
- cmp r6, 0x1
- bgt _08018074
- movs r0, 0
- b _08018076
- .pool
-_08018074:
- movs r0, 0x1
-_08018076:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8018024
-
- thumb_func_start sub_801807C
-sub_801807C: @ 801807C
- movs r1, 0
- strh r1, [r0]
- strh r1, [r0, 0x2]
- str r1, [r0, 0x4]
- strh r1, [r0, 0xA]
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- strh r1, [r0, 0x10]
- str r1, [r0, 0x14]
- bx lr
- thumb_func_end sub_801807C
-
- thumb_func_start sub_8018090
-sub_8018090: @ 8018090
- push {lr}
- ldr r0, =gUnknown_02022C40
- bl sub_801807C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8018090
-
- thumb_func_start sub_80180A0
-sub_80180A0: @ 80180A0
- push {r4,r5,lr}
- adds r5, r1, 0
- movs r1, 0x64
- adds r4, r0, 0
- muls r4, r1
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- strh r0, [r5, 0xA]
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- strh r0, [r5, 0xC]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [r5, 0x4]
- ldrh r1, [r5, 0xA]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _080180E0
- movs r0, 0
- b _080180E2
- .pool
-_080180E0:
- movs r0, 0x1
-_080180E2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80180A0
-
- thumb_func_start sub_80180E8
-sub_80180E8: @ 80180E8
- push {r4,r5,lr}
- adds r5, r1, 0
- movs r1, 0x64
- adds r4, r0, 0
- muls r4, r1
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- strh r0, [r5, 0xE]
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- strh r0, [r5, 0x10]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [r5, 0x14]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80180E8
-
- thumb_func_start sub_8018120
-sub_8018120: @ 8018120
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 24
- movs r2, 0
- mov r8, r2
- cmp r1, 0
- bne _0801813E
- ldrh r7, [r0, 0xA]
- ldr r6, [r0, 0x4]
- b _08018142
-_08018136:
- lsls r0, r5, 16
- lsrs r0, 16
- mov r8, r0
- b _08018176
-_0801813E:
- ldrh r7, [r0, 0xE]
- ldr r6, [r0, 0x14]
-_08018142:
- movs r5, 0
- b _0801816E
-_08018146:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- cmp r0, r6
- bne _0801816C
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r7
- beq _08018136
-_0801816C:
- adds r5, 0x1
-_0801816E:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r5, r0
- blt _08018146
-_08018176:
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8018120
-
- thumb_func_start sub_801818C
-sub_801818C: @ 801818C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80173B0
- bl ScriptContext2_Disable
- bl sub_8098524
- ldr r1, =gUnknown_02022C2C
- movs r0, 0
- strb r0, [r1]
- cmp r4, 0
- beq _080181BC
- ldr r2, =gUnknown_02022C40
- ldrh r0, [r2, 0x2]
- ldrh r1, [r2, 0xA]
- ldrh r2, [r2, 0xC]
- bl sub_8010FCC
- movs r0, 0x40
- movs r1, 0
- movs r2, 0
- bl sub_8011090
-_080181BC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801818C
-
- thumb_func_start sub_80181CC
-sub_80181CC: @ 80181CC
- push {lr}
- bl ScriptContext2_Enable
- bl ScriptFreezeEventObjects
- pop {r0}
- bx r0
- thumb_func_end sub_80181CC
-
- thumb_func_start sub_80181DC
-sub_80181DC: @ 80181DC
- push {r4,lr}
- movs r3, 0x80
- movs r2, 0
- ldr r4, [r0, 0xC]
-_080181E4:
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r1, r4, r0
- ldrb r0, [r1, 0x18]
- lsls r0, 31
- cmp r0, 0
- beq _0801820C
- ldrb r0, [r1, 0xB]
- lsls r0, 31
- lsrs r0, 31
- lsls r0, 3
- orrs r3, r0
- ldrb r1, [r1, 0x2]
- movs r0, 0x7
- ands r0, r1
- orrs r3, r0
- lsls r0, r3, 24
- lsrs r3, r0, 24
- b _08018216
-_0801820C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080181E4
-_08018216:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80181DC
-
- thumb_func_start sub_8018220
-sub_8018220: @ 8018220
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gTrainerCards
- adds r1, r0
- mov r8, r1
- bl DynamicPlaceholderTextUtil_Reset
- mov r6, r9
- adds r6, 0xC0
- bl sub_8068BB0
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- muls r1, r0
- ldr r0, =gTrainerClassNames
- adds r1, r0
- adds r0, r6, 0
- bl StringCopy
- movs r0, 0
- adds r1, r6, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- mov r1, r8
- adds r1, 0x30
- movs r0, 0x1
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r4, 0xBA
- lsls r4, 1
- add r4, r9
- ldr r1, =gUnknown_082EFF50
- mov r2, r8
- ldrb r0, [r2, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- movs r0, 0x2
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- mov r5, r9
- adds r5, 0xDE
- mov r0, r8
- ldrh r1, [r0, 0xC]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r0, 0x3
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r2, 0xED
- add r2, r9
- mov r10, r2
- mov r0, r8
- ldrh r1, [r0, 0x10]
- mov r0, r10
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r4, r9
- adds r4, 0xFC
- mov r2, r8
- ldrh r1, [r2, 0x12]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r0, 0x4
- mov r1, r10
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r0, 0x5
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r4, 0xD2
- lsls r4, 1
- add r4, r9
- ldr r1, =gUnknown_082EFF64
- adds r0, r4, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r0, =gStringVar4
- adds r1, r4, 0
- bl StringCopy
- mov r0, r8
- ldrh r1, [r0, 0x14]
- ldr r4, =0x0000270f
- cmp r1, r4
- ble _0801830C
- adds r1, r4, 0
-_0801830C:
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- movs r0, 0
- adds r1, r6, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- mov r2, r8
- ldrh r1, [r2, 0x16]
- cmp r1, r4
- ble _08018328
- adds r1, r4, 0
-_08018328:
- mov r4, r9
- adds r4, 0xCF
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- movs r0, 0x2
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- mov r0, r8
- ldrh r1, [r0, 0x20]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- movs r0, 0x3
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r7, 0
- movs r6, 0x80
- lsls r6, 19
- mov r5, r8
- adds r5, 0x28
- mov r4, r10
-_08018360:
- ldrh r1, [r5]
- adds r0, r4, 0
- bl CopyEasyChatWord
- lsrs r0, r6, 24
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r2, 0x80
- lsls r2, 17
- adds r6, r2
- adds r5, 0x2
- adds r4, 0xF
- adds r7, 0x1
- cmp r7, 0x3
- ble _08018360
- movs r4, 0xD2
- lsls r4, 1
- add r4, r9
- ldr r1, =gUnknown_082EFFA4
- adds r0, r4, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r5, =gStringVar4
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringAppend
- ldr r0, [sp]
- cmp r0, 0x1
- bne _080183D0
- ldr r1, =gUnknown_082F0020
- adds r0, r4, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringAppend
- b _080183F0
- .pool
-_080183D0:
- ldr r2, [sp]
- cmp r2, 0
- bne _080183F0
- ldr r0, =gUnknown_082F0018
- mov r2, r8
- ldrb r1, [r2]
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r4, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringAppend
-_080183F0:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8018220
-
- thumb_func_start sub_8018404
-sub_8018404: @ 8018404
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r1, 0x10
- bl StringCopy7
- ldrb r1, [r4]
- lsls r1, 28
- lsrs r1, 28
- adds r0, r5, 0
- bl ConvertInternationalString
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8018404
-
- thumb_func_start sub_8018424
-sub_8018424: @ 8018424
- push {lr}
- bl ProcessSpriteCopyRequests
- bl LoadOam
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8018424
-
- thumb_func_start sub_8018438
-sub_8018438: @ 8018438
- push {lr}
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8018438
-
- thumb_func_start sub_8018450
-sub_8018450: @ 8018450
- push {r4-r7,lr}
- sub sp, 0xC
- adds r7, r0, 0
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r6, r0, r1
- ldrb r0, [r6]
- cmp r0, 0x1
- bne _08018466
- b _08018574
-_08018466:
- cmp r0, 0x1
- bgt _08018474
- cmp r0, 0
- beq _08018482
- b _08018644
- .pool
-_08018474:
- cmp r0, 0x2
- bne _0801847A
- b _080185F8
-_0801847A:
- cmp r0, 0x3
- bne _08018480
- b _08018618
-_08018480:
- b _08018644
-_08018482:
- movs r0, 0
- bl SetVBlankCallback
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- bl ScanlineEffect_Stop
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082F0598
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- movs r0, 0x3
- bl bgid_upload_textbox_1
- ldr r0, =gUnknown_082F05A8
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r1, 0xC0
- lsls r1, 7
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- b _08018610
- .pool
-_08018574:
- ldr r0, =gUnkTextboxBorderPal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x2
- bl stdpal_get
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0xC0
- bl sub_81978B0
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xE0
- bl LoadUserWindowBorderGfx
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xF0
- bl LoadUserWindowBorderGfx_
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r5, 0x11
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0x3
- bl sub_8018798
- lsls r0, r7, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80186EC
- b _08018610
- .pool
-_080185F8:
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_08018610:
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _08018644
-_08018618:
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- ldr r0, =0x0000021d
- bl PlayBGM
- ldr r0, =sub_8018424
- bl SetVBlankCallback
- movs r0, 0xC5
- bl EnableInterrupts
- movs r0, 0x1
- b _08018646
- .pool
-_08018644:
- movs r0, 0
-_08018646:
- add sp, 0xC
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8018450
-
- thumb_func_start c2_mystery_gift
-c2_mystery_gift: @ 8018650
- push {lr}
- movs r0, 0
- bl sub_8018450
- cmp r0, 0
- beq _0801866C
- ldr r0, =sub_8018438
- bl SetMainCallback2
- ldr r1, =gUnknown_02022C60
- movs r0, 0
- strb r0, [r1]
- bl task_add_00_mystery_gift
-_0801866C:
- bl RunTasks
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_mystery_gift
-
- thumb_func_start sub_801867C
-sub_801867C: @ 801867C
- push {lr}
- movs r0, 0x1
- bl sub_8018450
- cmp r0, 0
- beq _08018698
- ldr r0, =sub_8018438
- bl SetMainCallback2
- ldr r1, =gUnknown_02022C60
- movs r0, 0x1
- strb r0, [r1]
- bl sub_81D5014
-_08018698:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801867C
-
- thumb_func_start sub_80186A4
-sub_80186A4: @ 80186A4
- push {lr}
- ldr r1, =gUnknown_02022C60
- movs r0, 0
- strb r0, [r1]
- bl FreeAllWindowBuffers
- movs r0, 0
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0x1
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0x2
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0x3
- bl GetBgTilemapBuffer
- bl Free
- ldr r0, =CB2_InitTitleScreen
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80186A4
-
- thumb_func_start sub_80186EC
-sub_80186EC: @ 80186EC
- push {r4-r7,lr}
- sub sp, 0x14
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- cmp r4, 0
- bne _0801871C
- ldr r0, =gText_MysteryGift
- ldr r7, =gText_PickOKCancel
- cmp r5, 0
- bne _08018720
- ldr r7, =gText_PickOKExit
- b _08018720
- .pool
-_0801871C:
- ldr r0, =gJPText_MysteryGift
- ldr r7, =gJPText_DecideStop
-_08018720:
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- ldr r6, =gUnknown_082F0720
- str r6, [sp, 0x8]
- movs r5, 0x1
- negs r5, r5
- str r5, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x4
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- movs r0, 0
- adds r1, r7, 0
- movs r2, 0xDE
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- str r5, [sp, 0xC]
- str r7, [sp, 0x10]
- movs r0, 0
- movs r1, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl PutWindowTilemap
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80186EC
-
- thumb_func_start sub_8018784
-sub_8018784: @ 8018784
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- movs r2, 0xF
- bl sub_8098858
- pop {r0}
- bx r0
- thumb_func_end sub_8018784
-
- thumb_func_start sub_8018798
-sub_8018798: @ 8018798
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0
- mov r9, r0
- lsls r4, 24
- lsrs r0, r4, 24
- movs r1, 0x20
- str r1, [sp]
- movs r1, 0x2
- str r1, [sp, 0x4]
- movs r1, 0x11
- str r1, [sp, 0x8]
- movs r1, 0x3
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- mov r8, r4
- movs r4, 0x1
-_080187C8:
- movs r7, 0
- mov r0, r9
- adds r0, 0x2
- movs r1, 0x1
- add r1, r9
- mov r10, r1
- lsls r5, r0, 24
- movs r6, 0
-_080187D8:
- mov r1, r9
- ands r1, r4
- adds r0, r7, 0
- ands r0, r4
- cmp r1, r0
- beq _080187FC
- lsrs r2, r6, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- mov r1, r8
- lsrs r0, r1, 24
- movs r1, 0x1
- lsrs r3, r5, 24
- bl FillBgTilemapBufferRect
- b _08018812
-_080187FC:
- lsrs r2, r6, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- mov r1, r8
- lsrs r0, r1, 24
- movs r1, 0x2
- lsrs r3, r5, 24
- bl FillBgTilemapBufferRect
-_08018812:
- movs r0, 0x80
- lsls r0, 17
- adds r6, r0
- adds r7, 0x1
- cmp r7, 0x1F
- ble _080187D8
- mov r9, r10
- mov r1, r9
- cmp r1, 0x11
- ble _080187C8
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8018798
-
- thumb_func_start sub_8018838
-sub_8018838: @ 8018838
- push {lr}
- sub sp, 0xC
- cmp r0, 0
- beq _08018846
- cmp r0, 0x1
- beq _0801885E
- b _08018876
-_08018846:
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- b _08018876
-_0801885E:
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x1E
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect
-_08018876:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_8018838
-
- thumb_func_start sub_8018884
-sub_8018884: @ 8018884
- push {r4,lr}
- sub sp, 0x14
- adds r1, r0, 0
- ldr r4, =gStringVar4
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r0, =gUnknown_082F0728
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0xF
- bl sub_8098858
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8018884
-
- thumb_func_start sub_80188DC
-sub_80188DC: @ 80188DC
- push {lr}
- movs r0, 0x1
- bl rbox_fill_rectangle
- movs r0, 0x1
- bl ClearWindowTilemap
- movs r0, 0x1
- movs r1, 0x1
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_80188DC
-
- thumb_func_start mevent_0814257C
-mevent_0814257C: @ 80188F8
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r0, r1, 0
- ldrb r2, [r4]
- cmp r2, 0x1
- beq _08018920
- cmp r2, 0x1
- bgt _08018910
- cmp r2, 0
- beq _0801891A
- b _08018980
-_08018910:
- cmp r2, 0x2
- beq _08018954
- cmp r2, 0xFF
- beq _0801897C
- b _08018980
-_0801891A:
- bl sub_8018884
- b _08018944
-_08018920:
- movs r0, 0
- str r0, [sp]
- ldr r0, =gUnknown_02022C58
- str r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD0
- movs r2, 0x14
- movs r3, 0x1
- bl DrawDownArrow
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08018980
-_08018944:
- ldrb r0, [r4]
- adds r0, 0x1
- b _0801897E
- .pool
-_08018954:
- movs r0, 0x1
- str r0, [sp]
- ldr r0, =gUnknown_02022C58
- str r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD0
- movs r2, 0x14
- movs r3, 0x1
- bl DrawDownArrow
- movs r0, 0
- strb r0, [r4]
- bl sub_80188DC
- movs r0, 0x1
- b _08018982
- .pool
-_0801897C:
- movs r0, 0x2
-_0801897E:
- strb r0, [r4]
-_08018980:
- movs r0, 0
-_08018982:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end mevent_0814257C
-
- thumb_func_start sub_801898C
-sub_801898C: @ 801898C
- push {lr}
- sub sp, 0xC
- movs r0, 0
- str r0, [sp]
- ldr r0, =gUnknown_02022C58
- str r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD0
- movs r2, 0x14
- movs r3, 0x1
- bl DrawDownArrow
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801898C
-
- thumb_func_start sub_80189B4
-sub_80189B4: @ 80189B4
- push {lr}
- sub sp, 0xC
- movs r0, 0x1
- str r0, [sp]
- ldr r0, =gUnknown_02022C58
- str r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD0
- movs r2, 0x14
- movs r3, 0x1
- bl DrawDownArrow
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80189B4
-
- thumb_func_start sub_80189DC
-sub_80189DC: @ 80189DC
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _080189EC
- cmp r0, 0x1
- beq _08018A08
- b _08018A14
-_080189EC:
- bl sub_801898C
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08018A14
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08018A14
- .pool
-_08018A08:
- bl sub_80189B4
- movs r0, 0
- strb r0, [r4]
- movs r0, 0x1
- b _08018A16
-_08018A14:
- movs r0, 0
-_08018A16:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80189DC
-
- thumb_func_start sub_8018A1C
-sub_8018A1C: @ 8018A1C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- bne _08018A2C
- adds r0, r1, 0
- bl sub_8018884
-_08018A2C:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x78
- bhi _08018A3E
- movs r0, 0
- b _08018A48
-_08018A3E:
- movs r0, 0
- strb r0, [r4]
- bl sub_80188DC
- movs r0, 0x1
-_08018A48:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8018A1C
-
- thumb_func_start sub_8018A50
-sub_8018A50: @ 8018A50
- push {r4,r5,lr}
- sub sp, 0x24
- lsls r2, 24
- add r1, sp, 0x4
- ldr r0, =gUnknown_082F0638
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, =gUnknown_082F05E0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x1C]
- str r1, [sp, 0x20]
- cmp r2, 0
- bne _08018A80
- ldr r0, =gUnknown_082F0608
- b _08018A82
- .pool
-_08018A80:
- ldr r0, =gUnknown_082F0620
-_08018A82:
- str r0, [sp, 0x4]
- add r0, sp, 0x4
- bl sub_81DB41C
- adds r3, r0, 0
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _08018A96
- adds r3, 0x1
-_08018A96:
- lsls r1, r3, 24
- ldr r0, =0x00ffffff
- ldr r2, [sp, 0x1C]
- ands r2, r0
- orrs r2, r1
- str r2, [sp, 0x1C]
- cmp r3, 0x1D
- bgt _08018ACC
- movs r0, 0x1E
- subs r0, r3
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- lsls r0, 24
- lsrs r0, 16
- ldr r1, =0xffff00ff
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x1C]
- b _08018AD2
- .pool
-_08018ACC:
- ldr r0, =0xffff00ff
- ands r2, r0
- str r2, [sp, 0x1C]
-_08018AD2:
- add r0, sp, 0x1C
- movs r1, 0xE0
- str r1, [sp]
- add r1, sp, 0x4
- movs r2, 0x1
- movs r3, 0xA
- bl DoMysteryGiftListMenu
- adds r4, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08018AFA
- movs r0, 0x2
- bl ClearWindowTilemap
- movs r0, 0x2
- movs r1, 0x1
- bl CopyWindowToVram
-_08018AFA:
- adds r0, r4, 0
- add sp, 0x24
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8018A50
-
- thumb_func_start sub_8018B08
-sub_8018B08: @ 8018B08
- push {r4-r6,lr}
- sub sp, 0x1C
- adds r5, r0, 0
- adds r4, r1, 0
- adds r1, r3, 0
- lsls r2, 24
- lsrs r6, r2, 24
- ldrb r0, [r5]
- cmp r0, 0x1
- beq _08018B98
- cmp r0, 0x1
- bgt _08018B26
- cmp r0, 0
- beq _08018B30
- b _08018C3E
-_08018B26:
- cmp r0, 0x2
- beq _08018BE4
- cmp r0, 0xFF
- beq _08018C1A
- b _08018C3E
-_08018B30:
- ldr r0, =gStringVar4
- bl StringExpandPlaceholders
- cmp r6, 0
- bne _08018B48
- ldr r0, =gUnknown_082F05C8
- b _08018B4A
- .pool
-_08018B48:
- ldr r0, =gUnknown_082F05D0
-_08018B4A:
- bl AddWindow
- strh r0, [r4]
- ldrb r0, [r4]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldrb r0, [r4]
- movs r2, 0
- str r2, [sp]
- str r2, [sp, 0x4]
- ldr r1, =gUnknown_082F0728
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r1, =gStringVar4
- str r1, [sp, 0x10]
- movs r1, 0x1
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- ldrb r0, [r4]
- movs r1, 0x1
- movs r2, 0xF
- bl sub_8098858
- ldrb r0, [r4]
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r4]
- bl PutWindowTilemap
- b _08018BD6
- .pool
-_08018B98:
- ldr r0, =gUnknown_082F05E8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x14]
- str r1, [sp, 0x18]
- cmp r6, 0
- bne _08018BBC
- ldr r0, =0xff00ffff
- ldr r1, [sp, 0x14]
- ands r1, r0
- movs r0, 0x90
- lsls r0, 12
- b _08018BC6
- .pool
-_08018BBC:
- ldr r0, =0xff00ffff
- ldr r1, [sp, 0x14]
- ands r1, r0
- movs r0, 0xF0
- lsls r0, 12
-_08018BC6:
- orrs r1, r0
- str r1, [sp, 0x14]
- add r0, sp, 0x14
- movs r1, 0xA
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
-_08018BD6:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _08018C3E
- .pool
-_08018BE4:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r6, r0, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x2
- bhi _08018C3E
- movs r0, 0
- strb r0, [r5]
- ldrb r0, [r4]
- bl rbox_fill_rectangle
- ldrb r0, [r4]
- bl ClearWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x1
- bl CopyWindowToVram
- ldrb r0, [r4]
- bl RemoveWindow
- adds r0, r6, 0
- b _08018C42
-_08018C1A:
- movs r0, 0
- strb r0, [r5]
- ldrb r0, [r4]
- bl rbox_fill_rectangle
- ldrb r0, [r4]
- bl ClearWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x1
- bl CopyWindowToVram
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0x1
- negs r0, r0
- b _08018C42
-_08018C3E:
- movs r0, 0x2
- negs r0, r0
-_08018C42:
- add sp, 0x1C
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8018B08
-
- thumb_func_start sub_8018C4C
-sub_8018C4C: @ 8018C4C
- push {r4-r6,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _08018CE8
- cmp r0, 0x1
- bgt _08018C64
- cmp r0, 0
- beq _08018C6C
- b _08018D8C
-_08018C64:
- cmp r0, 0xFF
- bne _08018C6A
- b _08018D68
-_08018C6A:
- b _08018D8C
-_08018C6C:
- cmp r2, 0
- bne _08018C84
- ldr r0, =gStringVar4
- ldr r1, =gText_WhatToDoWithCards
- bl StringExpandPlaceholders
- b _08018C8C
- .pool
-_08018C84:
- ldr r0, =gStringVar4
- ldr r1, =gText_WhatToDoWithNews
- bl StringExpandPlaceholders
-_08018C8C:
- ldr r0, =gUnknown_082F05D8
- bl AddWindow
- strh r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldrb r0, [r5]
- movs r2, 0
- str r2, [sp]
- str r2, [sp, 0x4]
- ldr r1, =gUnknown_082F0728
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r1, =gStringVar4
- str r1, [sp, 0x10]
- movs r1, 0x1
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- ldrb r0, [r5]
- movs r1, 0x1
- movs r2, 0xF
- bl sub_8098858
- ldrb r0, [r5]
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r5]
- bl PutWindowTilemap
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _08018D8C
- .pool
-_08018CE8:
- cmp r3, 0
- beq _08018D10
- cmp r2, 0
- bne _08018D00
- ldr r0, =gUnknown_082F05F8
- ldr r1, =gUnknown_082F06C8
- b _08018D28
- .pool
-_08018D00:
- ldr r0, =gUnknown_082F0600
- ldr r1, =gUnknown_082F06F8
- b _08018D28
- .pool
-_08018D10:
- cmp r2, 0
- bne _08018D24
- ldr r0, =gUnknown_082F05F0
- ldr r1, =gUnknown_082F06B0
- b _08018D28
- .pool
-_08018D24:
- ldr r0, =gUnknown_082F05F8
- ldr r1, =gUnknown_082F06E0
-_08018D28:
- movs r2, 0xE0
- str r2, [sp]
- movs r2, 0x1
- movs r3, 0xA
- bl DoMysteryGiftListMenu
- adds r4, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08018D8C
- movs r0, 0
- strb r0, [r6]
- ldrb r0, [r5]
- bl rbox_fill_rectangle
- ldrb r0, [r5]
- bl ClearWindowTilemap
- ldrb r0, [r5]
- movs r1, 0x1
- bl CopyWindowToVram
- ldrb r0, [r5]
- bl RemoveWindow
- adds r0, r4, 0
- b _08018D90
- .pool
-_08018D68:
- movs r0, 0
- strb r0, [r6]
- ldrb r0, [r5]
- bl rbox_fill_rectangle
- ldrb r0, [r5]
- bl ClearWindowTilemap
- ldrb r0, [r5]
- movs r1, 0x1
- bl CopyWindowToVram
- ldrb r0, [r5]
- bl RemoveWindow
- movs r0, 0x2
- negs r0, r0
- b _08018D90
-_08018D8C:
- movs r0, 0x1
- negs r0, r0
-_08018D90:
- add sp, 0x14
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8018C4C
-
- thumb_func_start sub_8018D98
-sub_8018D98: @ 8018D98
- push {lr}
- cmp r0, 0
- beq _08018DA4
- bl sub_801B0CC
- b _08018DA8
-_08018DA4:
- bl sub_801B27C
-_08018DA8:
- pop {r1}
- bx r1
- thumb_func_end sub_8018D98
-
- thumb_func_start sub_8018DAC
-sub_8018DAC: @ 8018DAC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrb r0, [r5]
- cmp r0, 0
- beq _08018DBC
- cmp r0, 0x1
- beq _08018DE4
- b _08018E00
-_08018DBC:
- cmp r1, 0
- bne _08018DD4
- bl sav1_get_mevent_buffer_1
- adds r4, r0, 0
- bl sav1_get_mevent_buffer_2
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_801BAAC
- b _08018DDC
-_08018DD4:
- bl sub_801B00C
- bl sub_801C6C8
-_08018DDC:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _08018E00
-_08018DE4:
- cmp r1, 0
- bne _08018DF2
- bl sub_801BB74
-_08018DEC:
- cmp r0, 0
- bne _08018DF8
- b _08018E00
-_08018DF2:
- bl sub_801C758
- b _08018DEC
-_08018DF8:
- movs r0, 0
- strb r0, [r5]
- movs r0, 0x1
- b _08018E02
-_08018E00:
- movs r0, 0
-_08018E02:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8018DAC
-
- thumb_func_start sub_8018E08
-sub_8018E08: @ 8018E08
- push {lr}
- cmp r0, 0
- bne _08018E14
- bl sub_801B1E8
- b _08018E18
-_08018E14:
- bl sub_801B06C
-_08018E18:
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8018E08
-
- thumb_func_start sub_8018E20
-sub_8018E20: @ 8018E20
- push {lr}
- cmp r0, 0
- bne _08018E36
- adds r0, r1, 0
- bl sub_801BDA4
- cmp r0, 0
- beq _08018E40
- bl sub_801BB48
- b _08018E48
-_08018E36:
- adds r0, r1, 0
- bl sub_801CA50
- cmp r0, 0
- bne _08018E44
-_08018E40:
- movs r0, 0
- b _08018E4A
-_08018E44:
- bl sub_801C72C
-_08018E48:
- movs r0, 0x1
-_08018E4A:
- pop {r1}
- bx r1
- thumb_func_end sub_8018E20
-
- thumb_func_start sub_8018E50
-sub_8018E50: @ 8018E50
- push {lr}
- cmp r2, 0
- beq _08018E60
- ldr r3, =gText_OkayToDiscardNews
- b _08018E62
- .pool
-_08018E60:
- ldr r3, =gText_IfThrowAwayCardEventWontHappen
-_08018E62:
- movs r2, 0x1
- bl sub_8018B08
- lsls r0, 24
- asrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8018E50
-
- thumb_func_start mevent_message_was_thrown_away
-mevent_message_was_thrown_away: @ 8018E74
- push {lr}
- cmp r1, 0
- beq _08018E84
- ldr r1, =gText_WonderNewsThrownAway
- b _08018E86
- .pool
-_08018E84:
- ldr r1, =gText_WonderCardThrownAway
-_08018E86:
- bl mevent_0814257C
- pop {r1}
- bx r1
- .pool
- thumb_func_end mevent_message_was_thrown_away
-
- thumb_func_start mevent_save_game
-mevent_save_game: @ 8018E94
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0x4
- bhi _08018F04
- lsls r0, 2
- ldr r1, =_08018EAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08018EAC:
- .4byte _08018EC0
- .4byte _08018ECC
- .4byte _08018ED4
- .4byte _08018EE0
- .4byte _08018EF8
-_08018EC0:
- ldr r0, =gText_DataWillBeSaved
- bl sub_8018884
- b _08018EEC
- .pool
-_08018ECC:
- movs r0, 0
- bl TrySavingData
- b _08018EEC
-_08018ED4:
- ldr r0, =gText_SaveCompletedPressA
- bl sub_8018884
- b _08018EEC
- .pool
-_08018EE0:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08018F04
-_08018EEC:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08018F04
- .pool
-_08018EF8:
- movs r0, 0
- strb r0, [r4]
- bl sub_80188DC
- movs r0, 0x1
- b _08018F06
-_08018F04:
- movs r0, 0
-_08018F06:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end mevent_save_game
-
- thumb_func_start mevent_message
-mevent_message: @ 8018F0C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r2, 0
- str r2, [r4]
- cmp r3, 0xE
- bls _08018F22
- b _08019034
-_08018F22:
- lsls r0, r3, 2
- ldr r1, =_08018F30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08018F30:
- .4byte _08018F6C
- .4byte _08018F78
- .4byte _08018F84
- .4byte _08018F9C
- .4byte _08018FB4
- .4byte _08018FC0
- .4byte _08018FCC
- .4byte _08018FD8
- .4byte _08018FE4
- .4byte _08018FF0
- .4byte _08018FFC
- .4byte _08019014
- .4byte _08019020
- .4byte _0801902C
- .4byte _08019030
-_08018F6C:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_NothingSentOver
- b _08019034
- .pool
-_08018F78:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_RecordUploadedViaWireless
- b _08019034
- .pool
-_08018F84:
- movs r0, 0x1
- str r0, [r4]
- ldr r2, =gText_WonderCardReceivedFrom
- cmp r5, 0
- bne _08019034
- ldr r2, =gText_WonderCardReceived
- b _08019034
- .pool
-_08018F9C:
- movs r0, 0x1
- str r0, [r4]
- ldr r2, =gText_WonderNewsReceivedFrom
- cmp r5, 0
- bne _08019034
- ldr r2, =gText_WonderNewsReceived
- b _08019034
- .pool
-_08018FB4:
- movs r0, 0x1
- str r0, [r4]
- ldr r2, =gText_NewStampReceived
- b _08019034
- .pool
-_08018FC0:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_AlreadyHadCard
- b _08019034
- .pool
-_08018FCC:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_AlreadyHadStamp
- b _08019034
- .pool
-_08018FD8:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_AlreadyHadNews
- b _08019034
- .pool
-_08018FE4:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_NoMoreRoomForStamps
- b _08019034
- .pool
-_08018FF0:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_CommunicationCanceled
- b _08019034
- .pool
-_08018FFC:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_CantAcceptNewsFromTrainer
- cmp r6, 0
- bne _08019034
- ldr r2, =gText_CantAcceptCardFromTrainer
- b _08019034
- .pool
-_08019014:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_CommunicationError
- b _08019034
- .pool
-_08019020:
- movs r0, 0x1
- str r0, [r4]
- ldr r2, =gText_NewTrainerReceived
- b _08019034
- .pool
-_0801902C:
- movs r0, 0x1
- b _08019032
-_08019030:
- movs r0, 0
-_08019032:
- str r0, [r4]
-_08019034:
- adds r0, r2, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end mevent_message
-
- thumb_func_start mevent_08142CE8
-mevent_08142CE8: @ 801903C
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r0, r1, 0
- adds r5, r2, 0
- ldrb r4, [r6]
- cmp r4, 0x1
- beq _0801906E
- cmp r4, 0x1
- bgt _08019054
- cmp r4, 0
- beq _0801905A
- b _0801909A
-_08019054:
- cmp r4, 0x2
- beq _08019084
- b _0801909A
-_0801905A:
- cmp r0, 0
- beq _08019062
- bl sub_8018884
-_08019062:
- movs r0, 0xB9
- lsls r0, 1
- bl PlayFanfare
- strh r4, [r5]
- b _0801907C
-_0801906E:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF0
- bls _0801909A
-_0801907C:
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _0801909A
-_08019084:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _0801909A
- movs r0, 0
- strb r0, [r6]
- bl sub_80188DC
- movs r0, 0x1
- b _0801909C
-_0801909A:
- movs r0, 0
-_0801909C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end mevent_08142CE8
-
- thumb_func_start mevent_message_stamp_card_etc_send_status
-mevent_message_stamp_card_etc_send_status: @ 80190A4
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, =gText_CommunicationError
- movs r0, 0
- str r0, [r3]
- adds r4, r1, 0
- cmp r2, 0xE
- bhi _08019166
- lsls r0, r2, 2
- ldr r1, =_080190C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080190C8:
- .4byte _08019104
- .4byte _0801910C
- .4byte _08019114
- .4byte _0801911C
- .4byte _08019128
- .4byte _08019130
- .4byte _08019138
- .4byte _08019140
- .4byte _08019148
- .4byte _08019150
- .4byte _08019164
- .4byte _08019158
- .4byte _0801915C
- .4byte _0801915C
- .4byte _08019164
-_08019104:
- ldr r1, =gText_NothingSentOver
- b _08019166
- .pool
-_0801910C:
- ldr r1, =gText_RecordUploadedViaWireless
- b _08019166
- .pool
-_08019114:
- ldr r1, =gText_WonderCardSentTo
- b _0801911E
- .pool
-_0801911C:
- ldr r1, =gText_WonderNewsSentTo
-_0801911E:
- movs r0, 0x1
- str r0, [r3]
- b _08019166
- .pool
-_08019128:
- ldr r1, =gText_StampSentTo
- b _08019166
- .pool
-_08019130:
- ldr r1, =gText_OtherTrainerHasCard
- b _08019166
- .pool
-_08019138:
- ldr r1, =gText_OtherTrainerHasStamp
- b _08019166
- .pool
-_08019140:
- ldr r1, =gText_OtherTrainerHasNews
- b _08019166
- .pool
-_08019148:
- ldr r1, =gText_NoMoreRoomForStamps
- b _08019166
- .pool
-_08019150:
- ldr r1, =gText_OtherTrainerCanceled
- b _08019166
- .pool
-_08019158:
- adds r1, r4, 0
- b _08019166
-_0801915C:
- ldr r1, =gText_GiftSentTo
- b _08019166
- .pool
-_08019164:
- ldr r1, =gText_CantSendGiftToTrainer
-_08019166:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end mevent_message_stamp_card_etc_send_status
-
- thumb_func_start sub_8019174
-sub_8019174: @ 8019174
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- adds r1, r2, 0
- adds r2, r3, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- bl mevent_message_stamp_card_etc_send_status
- adds r1, r0, 0
- ldr r0, [sp]
- cmp r0, 0
- bne _0801919A
- adds r0, r4, 0
- bl mevent_0814257C
- b _080191A2
-_0801919A:
- adds r0, r4, 0
- adds r2, r5, 0
- bl mevent_08142CE8
-_080191A2:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8019174
-
- thumb_func_start task_add_00_mystery_gift
-task_add_00_mystery_gift: @ 80191AC
- push {r4,lr}
- ldr r0, =task00_mystery_gift
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- movs r0, 0
- strb r0, [r4, 0x8]
- strb r0, [r4, 0x9]
- strb r0, [r4, 0xA]
- strb r0, [r4, 0xB]
- strb r0, [r4, 0xC]
- strb r0, [r4, 0xD]
- movs r1, 0
- strh r0, [r4]
- strh r0, [r4, 0x2]
- strh r0, [r4, 0x4]
- strh r0, [r4, 0x6]
- strb r1, [r4, 0xE]
- movs r0, 0x40
- bl AllocZeroed
- str r0, [r4, 0x10]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_add_00_mystery_gift
-
- thumb_func_start task00_mystery_gift
-task00_mystery_gift: @ 80191F4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldrb r0, [r5, 0x8]
- cmp r0, 0x25
- bls _0801920E
- b _08019922
-_0801920E:
- lsls r0, 2
- ldr r1, =_08019220
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08019220:
- .4byte _080192B8
- .4byte _080192BE
- .4byte _08019300
- .4byte _08019338
- .4byte _0801935C
- .4byte _080193AC
- .4byte _0801940C
- .4byte _08019444
- .4byte _08019454
- .4byte _080194CC
- .4byte _080194F0
- .4byte _08019508
- .4byte _08019538
- .4byte _08019574
- .4byte _0801958C
- .4byte _080195BC
- .4byte _080198EC
- .4byte _0801961A
- .4byte _0801962A
- .4byte _08019922
- .4byte _0801963C
- .4byte _08019688
- .4byte _080196FE
- .4byte _0801972E
- .4byte _08019764
- .4byte _0801977E
- .4byte _08019792
- .4byte _0801979E
- .4byte _080197B2
- .4byte _080197C6
- .4byte _080197F8
- .4byte _0801982C
- .4byte _08019870
- .4byte _08019884
- .4byte _080198A0
- .4byte _080198B8
- .4byte _080198EC
- .4byte _0801990C
-_080192B8:
- movs r0, 0x1
- strb r0, [r5, 0x8]
- b _08019922
-_080192BE:
- adds r0, r5, 0
- adds r0, 0x9
- adds r1, r5, 0
- movs r2, 0
- bl sub_8018A50
- adds r1, r0, 0
- cmp r1, 0x1
- beq _080192E8
- cmp r1, 0x1
- bcc _080192DE
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080192FA
- b _08019922
-_080192DE:
- movs r0, 0
- strb r0, [r5, 0xC]
- bl sub_801B27C
- b _080192EE
-_080192E8:
- strb r1, [r5, 0xC]
- bl sub_801B0CC
-_080192EE:
- cmp r0, 0x1
- bne _080192F4
- b _08019820
-_080192F4:
- movs r0, 0x2
- strb r0, [r5, 0x8]
- b _08019922
-_080192FA:
- movs r0, 0x25
- strb r0, [r5, 0x8]
- b _08019922
-_08019300:
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _08019314
- adds r0, r5, 0
- adds r0, 0x9
- ldr r1, =gText_DontHaveCardNewOneInput
- b _0801931A
- .pool
-_08019314:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r1, =gText_DontHaveNewsNewOneInput
-_0801931A:
- bl mevent_0814257C
- cmp r0, 0
- bne _08019324
- b _08019922
-_08019324:
- movs r0, 0x3
- strb r0, [r5, 0x8]
- movs r0, 0
- movs r1, 0x1
- bl sub_80186EC
- b _08019922
- .pool
-_08019338:
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _0801934C
- ldr r0, =gText_WhereShouldCardBeAccessed
- bl sub_8018884
- b _08019352
- .pool
-_0801934C:
- ldr r0, =gText_WhereShouldNewsBeAccessed
- bl sub_8018884
-_08019352:
- movs r0, 0x4
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_0801935C:
- adds r0, r5, 0
- adds r0, 0x9
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8018A50
- adds r4, r0, 0
- cmp r4, 0x1
- beq _0801938A
- cmp r4, 0x1
- bcc _0801937C
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _08019396
- b _08019922
-_0801937C:
- bl sub_80188DC
- movs r1, 0
- movs r0, 0x5
- strb r0, [r5, 0x8]
- strb r1, [r5, 0xD]
- b _08019922
-_0801938A:
- bl sub_80188DC
- movs r0, 0x5
- strb r0, [r5, 0x8]
- strb r4, [r5, 0xD]
- b _08019922
-_08019396:
- bl sub_80188DC
- ldrb r0, [r5, 0xC]
- bl sub_8018D98
- cmp r0, 0
- beq _080193A6
- b _08019820
-_080193A6:
- strb r0, [r5, 0x8]
- movs r0, 0
- b _080198FE
-_080193AC:
- ldr r0, =gStringVar1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, =gStringVar2
- strb r1, [r0]
- ldr r0, =gStringVar3
- strb r1, [r0]
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- beq _080193D4
- cmp r0, 0x1
- beq _080193EE
- b _08019406
- .pool
-_080193D4:
- ldrb r0, [r5, 0xD]
- cmp r0, 0x1
- bne _080193E2
- movs r0, 0x15
- bl sub_8014EFC
- b _08019406
-_080193E2:
- cmp r0, 0
- bne _08019406
- movs r0, 0x15
- bl sub_80152A8
- b _08019406
-_080193EE:
- ldrb r0, [r5, 0xD]
- cmp r0, 0x1
- bne _080193FC
- movs r0, 0x16
- bl sub_8014EFC
- b _08019406
-_080193FC:
- cmp r0, 0
- bne _08019406
- movs r0, 0x16
- bl sub_80152A8
-_08019406:
- movs r0, 0x6
- strb r0, [r5, 0x8]
- b _08019922
-_0801940C:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801942C
- movs r0, 0x1
- bl sub_8018838
- movs r0, 0x7
- strb r0, [r5, 0x8]
- ldrb r0, [r5, 0xC]
- bl sub_801D484
- b _08019922
- .pool
-_0801942C:
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x5
- beq _08019436
- b _08019922
-_08019436:
- movs r0, 0x1
- bl sub_8018838
- b _080197C0
- .pool
-_08019444:
- ldr r0, =gText_Communicating
- bl sub_8018884
- movs r0, 0x8
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_08019454:
- adds r0, r5, 0
- bl sub_801D4A8
- subs r0, 0x2
- cmp r0, 0x4
- bls _08019462
- b _08019922
-_08019462:
- lsls r0, 2
- ldr r1, =_08019470
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08019470:
- .4byte _080194AE
- .4byte _080194A8
- .4byte _080194B4
- .4byte _08019492
- .4byte _08019484
-_08019484:
- bl task_add_05_task_del_08FA224_when_no_RfuFunc
- ldrh r0, [r5]
- strb r0, [r5, 0xE]
- movs r0, 0xD
- strb r0, [r5, 0x8]
- b _08019922
-_08019492:
- ldr r4, [r5, 0x10]
- bl sub_801D4F4
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x40
- bl memcpy
- bl sub_801D4E4
- b _08019922
-_080194A8:
- movs r0, 0xA
- strb r0, [r5, 0x8]
- b _08019922
-_080194AE:
- movs r0, 0x9
- strb r0, [r5, 0x8]
- b _08019922
-_080194B4:
- movs r0, 0xB
- strb r0, [r5, 0x8]
- ldr r0, =gStringVar1
- ldr r1, =gLinkPlayers + 8
- bl StringCopy
- b _08019922
- .pool
-_080194CC:
- adds r4, r5, 0
- adds r4, 0x9
- bl sub_801D4F4
- adds r3, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_8018B08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0x1
- beq _08019564
- cmp r1, 0x1
- bcs _08019552
- movs r0, 0
- b _08019566
-_080194F0:
- adds r4, r5, 0
- adds r4, 0x9
- bl sub_801D4F4
- adds r1, r0, 0
- adds r0, r4, 0
- bl mevent_0814257C
- cmp r0, 0
- bne _08019506
- b _08019922
-_08019506:
- b _0801956A
-_08019508:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r3, =gText_ThrowAwayWonderCard
- adds r1, r5, 0
- movs r2, 0
- bl sub_8018B08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0x1
- beq _08019564
- cmp r1, 0x1
- bcs _08019552
- bl sub_801B3F8
- cmp r0, 0x1
- bne _08019534
- movs r0, 0xC
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_08019534:
- movs r0, 0
- b _08019566
-_08019538:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r3, =gText_HaventReceivedCardsGift
- adds r1, r5, 0
- movs r2, 0
- bl sub_8018B08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0x1
- beq _08019564
- cmp r1, 0x1
- bcc _08019560
-_08019552:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08019564
- b _08019922
- .pool
-_08019560:
- movs r0, 0
- b _08019566
-_08019564:
- movs r0, 0x1
-_08019566:
- bl sub_801D500
-_0801956A:
- bl sub_801D4E4
- movs r0, 0x7
- strb r0, [r5, 0x8]
- b _08019922
-_08019574:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801957E
- b _08019922
-_0801957E:
- bl sub_800E084
- movs r0, 0xE
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_0801958C:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r1, =gText_CommunicationCompleted
- bl sub_8018A1C
- cmp r0, 0
- bne _0801959C
- b _08019922
-_0801959C:
- ldrb r0, [r5, 0xD]
- cmp r0, 0x1
- bne _080195AA
- ldr r0, =gStringVar1
- ldr r1, =gLinkPlayers + 8
- bl StringCopy
-_080195AA:
- movs r0, 0xF
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_080195BC:
- ldrb r1, [r5, 0xC]
- ldrb r2, [r5, 0xD]
- ldrb r3, [r5, 0xE]
- mov r0, sp
- bl mevent_message
- adds r1, r0, 0
- cmp r1, 0
- bne _080195D0
- ldr r1, [r5, 0x10]
-_080195D0:
- ldr r0, [sp]
- cmp r0, 0
- beq _080195E2
- adds r0, r5, 0
- adds r0, 0x9
- adds r2, r5, 0
- bl mevent_08142CE8
- b _080195EA
-_080195E2:
- adds r0, r5, 0
- adds r0, 0x9
- bl mevent_0814257C
-_080195EA:
- adds r1, r0, 0
- cmp r1, 0
- bne _080195F2
- b _08019922
-_080195F2:
- ldrb r0, [r5, 0xE]
- cmp r0, 0x3
- bne _0801960C
- ldrb r0, [r5, 0xD]
- cmp r0, 0x1
- bne _08019606
- movs r0, 0x1
- bl sub_801DB68
- b _0801960C
-_08019606:
- movs r0, 0x2
- bl sub_801DB68
-_0801960C:
- ldr r0, [sp]
- cmp r0, 0
- beq _08019614
- b _080198DC
-_08019614:
- strb r0, [r5, 0x8]
- movs r0, 0
- b _080198FE
-_0801961A:
- adds r0, r5, 0
- adds r0, 0x9
- bl mevent_save_game
- cmp r0, 0
- bne _08019628
- b _08019922
-_08019628:
- b _08019820
-_0801962A:
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r1, [r5, 0xC]
- bl sub_8018DAC
- cmp r0, 0
- bne _0801963A
- b _08019922
-_0801963A:
- b _080196F8
-_0801963C:
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _08019664
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08019652
- movs r0, 0x15
- strb r0, [r5, 0x8]
-_08019652:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0801965E
- b _08019922
-_0801965E:
- b _08019682
- .pool
-_08019664:
- ldr r0, =gMain
- ldrh r0, [r0, 0x2E]
- bl sub_801CCD0
- cmp r0, 0
- beq _0801967C
- cmp r0, 0x1
- beq _08019682
- b _08019922
- .pool
-_0801967C:
- bl sub_801CC38
- b _0801975E
-_08019682:
- movs r0, 0x1B
- strb r0, [r5, 0x8]
- b _08019922
-_08019688:
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _080196A2
- bl sub_801B308
- cmp r0, 0
- beq _080196B6
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r2, [r5, 0xC]
- adds r1, r5, 0
- movs r3, 0
- b _080196C0
-_080196A2:
- bl sub_801B128
- cmp r0, 0
- beq _080196B6
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r2, [r5, 0xC]
- adds r1, r5, 0
- movs r3, 0
- b _080196C0
-_080196B6:
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r2, [r5, 0xC]
- adds r1, r5, 0
- movs r3, 0x1
-_080196C0:
- bl sub_8018C4C
- adds r1, r0, 0
- cmp r1, 0x1
- beq _080196E2
- cmp r1, 0x1
- bcc _080196DC
- cmp r1, 0x2
- beq _080196E8
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080196EE
- b _08019922
-_080196DC:
- movs r0, 0x1C
- strb r0, [r5, 0x8]
- b _08019922
-_080196E2:
- movs r0, 0x1D
- strb r0, [r5, 0x8]
- b _08019922
-_080196E8:
- movs r0, 0x16
- strb r0, [r5, 0x8]
- b _08019922
-_080196EE:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- bne _080196F8
- bl sub_801CC80
-_080196F8:
- movs r0, 0x14
- strb r0, [r5, 0x8]
- b _08019922
-_080196FE:
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r2, [r5, 0xC]
- adds r1, r5, 0
- bl sub_8018E50
- adds r1, r0, 0
- cmp r1, 0
- beq _0801971A
- cmp r1, 0
- ble _08019748
- cmp r1, 0x1
- beq _0801975E
- b _08019922
-_0801971A:
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _08019758
- bl sub_801B3F8
- cmp r0, 0x1
- bne _08019758
- movs r0, 0x17
- strb r0, [r5, 0x8]
- b _08019922
-_0801972E:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r3, =gText_HaventReceivedGiftOkayToDiscard
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8018B08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0x1
- beq _0801975E
- cmp r1, 0x1
- bcc _08019758
-_08019748:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0801975E
- b _08019922
- .pool
-_08019758:
- movs r0, 0x18
- strb r0, [r5, 0x8]
- b _08019922
-_0801975E:
- movs r0, 0x15
- strb r0, [r5, 0x8]
- b _08019922
-_08019764:
- ldrb r0, [r5, 0xC]
- movs r1, 0x1
- bl sub_8018E20
- cmp r0, 0
- bne _08019772
- b _08019922
-_08019772:
- ldrb r0, [r5, 0xC]
- bl sub_8018E08
- movs r0, 0x19
- strb r0, [r5, 0x8]
- b _08019922
-_0801977E:
- adds r0, r5, 0
- adds r0, 0x9
- bl mevent_save_game
- cmp r0, 0
- bne _0801978C
- b _08019922
-_0801978C:
- movs r0, 0x1A
- strb r0, [r5, 0x8]
- b _08019922
-_08019792:
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r1, [r5, 0xC]
- bl mevent_message_was_thrown_away
- b _080198F6
-_0801979E:
- ldrb r0, [r5, 0xC]
- movs r1, 0
- bl sub_8018E20
- cmp r0, 0
- bne _080197AC
- b _08019922
-_080197AC:
- movs r0, 0
- strb r0, [r5, 0x8]
- b _08019922
-_080197B2:
- ldrb r0, [r5, 0xC]
- movs r1, 0x1
- bl sub_8018E20
- cmp r0, 0
- bne _080197C0
- b _08019922
-_080197C0:
- movs r0, 0x3
- strb r0, [r5, 0x8]
- b _08019922
-_080197C6:
- ldrb r0, [r5, 0xC]
- movs r1, 0x1
- bl sub_8018E20
- cmp r0, 0
- bne _080197D4
- b _08019922
-_080197D4:
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- beq _080197E0
- cmp r0, 0x1
- beq _080197E8
- b _080197EE
-_080197E0:
- movs r0, 0x15
- bl sub_8014A00
- b _080197EE
-_080197E8:
- movs r0, 0x16
- bl sub_8014A00
-_080197EE:
- movs r0, 0x1
- strb r0, [r5, 0xD]
- movs r0, 0x1E
- strb r0, [r5, 0x8]
- b _08019922
-_080197F8:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08019810
- movs r0, 0x1
- bl sub_8018838
- movs r0, 0x1F
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_08019810:
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x5
- beq _0801981A
- b _08019922
-_0801981A:
- movs r0, 0x1
- bl sub_8018838
-_08019820:
- movs r0, 0x12
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_0801982C:
- ldr r0, =gStringVar1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, =gStringVar2
- strb r1, [r0]
- ldr r0, =gStringVar3
- strb r1, [r0]
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _0801985C
- ldr r0, =gText_SendingWonderCard
- bl sub_8018884
- bl mevent_srv_new_wcard
- b _08019866
- .pool
-_0801985C:
- ldr r0, =gText_SendingWonderNews
- bl sub_8018884
- bl mevent_srv_init_wnews
-_08019866:
- movs r0, 0x20
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_08019870:
- adds r0, r5, 0
- bl sub_801D0C4
- cmp r0, 0x3
- bne _08019922
- ldrh r0, [r5]
- strb r0, [r5, 0xE]
- movs r0, 0x21
- strb r0, [r5, 0x8]
- b _08019922
-_08019884:
- bl task_add_05_task_del_08FA224_when_no_RfuFunc
- ldr r0, =gStringVar1
- ldr r1, =gLinkPlayers + 0x1C + 0x08 @ &gLinkPlayers[1].name
- bl StringCopy
- movs r0, 0x22
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_080198A0:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08019922
- bl sub_800E084
- movs r0, 0x23
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_080198B8:
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r2, [r5, 0xD]
- ldrb r3, [r5, 0xE]
- adds r1, r5, 0
- bl sub_8019174
- cmp r0, 0
- beq _08019922
- ldr r0, [r5, 0xC]
- ldr r1, =0x00ffff00
- ands r0, r1
- ldr r1, =0x00030100
- cmp r0, r1
- bne _080198FA
- movs r0, 0x3
- bl sub_801DB68
-_080198DC:
- movs r0, 0x11
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_080198EC:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r1, =gText_CommunicationError
- bl mevent_0814257C
-_080198F6:
- cmp r0, 0
- beq _08019922
-_080198FA:
- movs r0, 0
- strb r0, [r5, 0x8]
-_080198FE:
- movs r1, 0
- bl sub_80186EC
- b _08019922
- .pool
-_0801990C:
- bl CloseLink
- ldr r0, [r5, 0x10]
- bl Free
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, =sub_80186A4
- bl SetMainCallback2
-_08019922:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task00_mystery_gift
-
- thumb_func_start sub_8019930
-sub_8019930: @ 8019930
- ldr r0, =0x000001a9
- bx lr
- .pool
- thumb_func_end sub_8019930
-
- thumb_func_start bgid_upload_textbox_1
-bgid_upload_textbox_1: @ 8019938
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnkTextboxBorderGfx
- movs r2, 0x80
- lsls r2, 1
- movs r3, 0
- str r3, [sp]
- bl DecompressAndLoadBgGfxUsingHeap
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end bgid_upload_textbox_1
-
- thumb_func_start is_walking_or_running
-is_walking_or_running: @ 8019958
- push {lr}
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x3]
- cmp r0, 0x2
- beq _08019966
- cmp r0, 0
- bne _08019970
-_08019966:
- movs r0, 0x1
- b _08019972
- .pool
-_08019970:
- movs r0, 0
-_08019972:
- pop {r1}
- bx r1
- thumb_func_end is_walking_or_running
-
- thumb_func_start sub_8019978
-sub_8019978: @ 8019978
- ldr r3, =gUnknown_082F072C
- movs r2, 0x7
- ands r2, r1
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- adds r2, r1
- adds r2, r3
- ldrb r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_8019978
-
- thumb_func_start sub_8019990
-sub_8019990: @ 8019990
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r4, =gUnknown_082F0740
- mov r8, r4
- lsls r0, 2
- adds r4, r0, r4
- movs r6, 0
- ldrsh r5, [r4, r6]
- ldr r6, =gUnknown_082F0760
- lsls r1, 1
- adds r4, r1, r6
- ldrb r4, [r4]
- lsls r4, 24
- asrs r4, 24
- adds r5, r4
- adds r5, 0x7
- str r5, [r2]
- movs r2, 0x2
- add r8, r2
- add r0, r8
- movs r4, 0
- ldrsh r0, [r0, r4]
- adds r6, 0x1
- adds r1, r6
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- adds r0, r1
- adds r0, 0x7
- str r0, [r3]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019990
-
- thumb_func_start sub_80199E0
-sub_80199E0: @ 80199E0
- push {r4-r7,lr}
- mov r12, r3
- ldr r7, =gUnknown_082F0740
- lsls r5, r0, 2
- adds r0, r5, r7
- movs r4, 0
- ldrsh r3, [r0, r4]
- ldr r6, =gUnknown_082F0760
- lsls r4, r1, 1
- adds r0, r4, r6
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r3, r0
- adds r3, 0x7
- cmp r3, r2
- bne _08019A28
- adds r0, r7, 0x2
- adds r0, r5, r0
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r6, 0x1
- adds r0, r4, r0
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r1, r0
- adds r1, 0x7
- cmp r1, r12
- bne _08019A28
- movs r0, 0x1
- b _08019A2A
- .pool
-_08019A28:
- movs r0, 0
-_08019A2A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80199E0
-
- thumb_func_start sub_8019A30
-sub_8019A30: @ 8019A30
- push {lr}
- ldr r1, =0x000002bf
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8019A30
-
- thumb_func_start flag_set_x63
-flag_set_x63: @ 8019A4C
- push {lr}
- ldr r1, =0x000002bf
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end flag_set_x63
-
- thumb_func_start flag_clear_x63
-flag_clear_x63: @ 8019A64
- push {lr}
- ldr r1, =0x000002bf
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagClear
- pop {r0}
- bx r0
- .pool
- thumb_func_end flag_clear_x63
-
- thumb_func_start sub_8019A7C
-sub_8019A7C: @ 8019A7C
- push {lr}
- ldr r2, =0x00004010
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019A7C
-
- thumb_func_start sub_8019A98
-sub_8019A98: @ 8019A98
- push {lr}
- ldr r1, =gUnknown_082F0774
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl show_sprite
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019A98
-
- thumb_func_start sub_8019AB8
-sub_8019AB8: @ 8019AB8
- push {lr}
- ldr r1, =gUnknown_082F0774
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl RemoveEventObjectByLocalIdAndMap
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019AB8
-
- thumb_func_start sub_8019AD8
-sub_8019AD8: @ 8019AD8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r1, 0
- ldr r1, =gUnknown_082F0774
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- mov r3, sp
- bl TryGetEventObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08019B30
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl EventObjectIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- bne _08019B30
- ldrb r1, [r5]
- adds r0, r4, 0
- bl EventObjectSetHeldMovement
- lsls r0, 24
- cmp r0, 0
- bne _08019B30
- movs r0, 0x1
- b _08019B32
- .pool
-_08019B30:
- movs r0, 0
-_08019B32:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8019AD8
-
- thumb_func_start sub_8019B3C
-sub_8019B3C: @ 8019B3C
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_082F0774
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- mov r3, sp
- bl TryGetEventObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08019B9C
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl EventObjectClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- bne _08019B84
- movs r0, 0
- b _08019B9E
- .pool
-_08019B84:
- bl ScriptContext2_IsEnabled
- lsls r0, 24
- cmp r0, 0
- bne _08019B96
- adds r0, r4, 0
- bl UnfreezeEventObject
- b _08019B9C
-_08019B96:
- adds r0, r4, 0
- bl FreezeEventObject
-_08019B9C:
- movs r0, 0x1
-_08019B9E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8019B3C
-
- thumb_func_start sub_8019BA8
-sub_8019BA8: @ 8019BA8
- push {lr}
- ldr r2, =gUnknown_02022C68
- movs r1, 0
- str r1, [r2]
- ldr r1, =gUnknown_02022C64
- str r0, [r1]
- movs r1, 0
- movs r2, 0x7
-_08019BB8:
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strb r1, [r0, 0x2]
- strb r1, [r0, 0x3]
- adds r0, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _08019BB8
- bl sub_8019DF4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8019BA8
-
- thumb_func_start sub_8019BDC
-sub_8019BDC: @ 8019BDC
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0
- beq _08019BF0
- cmp r0, 0x1
- beq _08019C10
- b _08019C2E
-_08019BF0:
- ldr r1, =gUnknown_082F078C
- adds r0, r4, 0
- bl sub_8019AD8
- cmp r0, 0x1
- bne _08019C2E
- adds r0, r4, 0
- bl flag_set_x63
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _08019C2E
- .pool
-_08019C10:
- adds r0, r4, 0
- bl sub_8019B3C
- cmp r0, 0
- beq _08019C2E
- adds r0, r4, 0
- bl sub_8019AB8
- adds r0, r4, 0
- bl flag_set_x63
- movs r0, 0
- strb r0, [r5]
- movs r0, 0x1
- b _08019C30
-_08019C2E:
- movs r0, 0
-_08019C30:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8019BDC
-
- thumb_func_start sub_8019C38
-sub_8019C38: @ 8019C38
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0x2
- beq _08019CD4
- cmp r0, 0x2
- bgt _08019C54
- cmp r0, 0
- beq _08019C5A
- b _08019CE6
-_08019C54:
- cmp r0, 0x3
- beq _08019CBC
- b _08019CE6
-_08019C5A:
- bl is_walking_or_running
- cmp r0, 0
- beq _08019CE6
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- ldrsh r3, [r4, r0]
- adds r0, r5, 0
- movs r1, 0
- bl sub_80199E0
- cmp r0, 0x1
- beq _08019CE6
- mov r0, sp
- adds r1, r4, 0
- bl player_get_pos_including_state_based_drift
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- ldrsh r3, [r4, r0]
- adds r0, r5, 0
- movs r1, 0
- bl sub_80199E0
- cmp r0, 0x1
- beq _08019CE6
- ldrb r1, [r7, 0x1]
- adds r0, r5, 0
- bl sub_8019A7C
- adds r0, r5, 0
- bl sub_8019A98
- adds r0, r5, 0
- bl flag_clear_x63
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_08019CBC:
- ldr r1, =gUnknown_082F078E
- adds r0, r5, 0
- bl sub_8019AD8
- cmp r0, 0x1
- bne _08019CE6
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _08019CE6
- .pool
-_08019CD4:
- adds r0, r5, 0
- bl sub_8019B3C
- cmp r0, 0
- beq _08019CE6
- movs r0, 0
- strb r0, [r6]
- movs r0, 0x1
- b _08019CE8
-_08019CE6:
- movs r0, 0
-_08019CE8:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8019C38
-
- thumb_func_start sub_8019CF0
-sub_8019CF0: @ 8019CF0
- push {r4,lr}
- ldr r3, =gUnknown_02022C64
- lsls r0, 2
- ldr r4, [r3]
- adds r4, r0
- movs r0, 0x1
- strb r0, [r4, 0x3]
- adds r0, r1, 0
- adds r1, r2, 0
- bl sub_8019978
- strb r0, [r4, 0x1]
- ldrb r0, [r4]
- cmp r0, 0
- beq _08019D18
- movs r0, 0
- b _08019D1A
- .pool
-_08019D18:
- movs r0, 0x1
-_08019D1A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8019CF0
-
- thumb_func_start AGBAssert
-AGBAssert: @ 8019D20
- push {lr}
- ldr r1, =gUnknown_02022C64
- lsls r0, 2
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0x2
- strb r0, [r1, 0x3]
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _08019D3C
- movs r0, 0
- b _08019D3E
- .pool
-_08019D3C:
- movs r0, 0x1
-_08019D3E:
- pop {r1}
- bx r1
- thumb_func_end AGBAssert
-
- thumb_func_start sub_8019D44
-sub_8019D44: @ 8019D44
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r1, [r4]
- cmp r1, 0x1
- beq _08019DA6
- cmp r1, 0x1
- bgt _08019D5A
- cmp r1, 0
- beq _08019D64
- b _08019DC6
-_08019D5A:
- cmp r1, 0x2
- beq _08019D70
- cmp r1, 0x3
- beq _08019DB4
- b _08019DC6
-_08019D64:
- ldrb r0, [r4, 0x3]
- cmp r0, 0x1
- bne _08019DC6
- movs r0, 0x2
- strb r0, [r4]
- strb r1, [r4, 0x2]
-_08019D70:
- adds r0, r5, 0
- movs r1, 0
- bl sub_8019F8C
- adds r1, r0, 0
- cmp r1, 0
- bne _08019D96
- ldrb r0, [r4, 0x3]
- cmp r0, 0x2
- bne _08019D96
- strb r1, [r4]
- strb r1, [r4, 0x2]
- adds r0, r5, 0
- bl sub_8019AB8
- adds r0, r5, 0
- bl flag_set_x63
- b _08019DC6
-_08019D96:
- adds r0, r4, 0x2
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8019C38
- cmp r0, 0x1
- bne _08019DC6
- b _08019DC4
-_08019DA6:
- ldrb r0, [r4, 0x3]
- cmp r0, 0x2
- bne _08019DC6
- movs r1, 0
- movs r0, 0x3
- strb r0, [r4]
- strb r1, [r4, 0x2]
-_08019DB4:
- adds r0, r4, 0x2
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8019BDC
- cmp r0, 0x1
- bne _08019DC6
- movs r0, 0
-_08019DC4:
- strb r0, [r4]
-_08019DC6:
- movs r0, 0
- strb r0, [r4, 0x3]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8019D44
-
- thumb_func_start sub_8019DD0
-sub_8019DD0: @ 8019DD0
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gUnknown_02022C64
-_08019DD6:
- lsls r0, r4, 2
- ldr r1, [r5]
- adds r1, r0
- adds r0, r4, 0
- bl sub_8019D44
- adds r4, 0x1
- cmp r4, 0x7
- ble _08019DD6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019DD0
-
- thumb_func_start sub_8019DF4
-sub_8019DF4: @ 8019DF4
- push {r4,lr}
- ldr r4, =sub_8019DD0
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08019E18
- adds r0, r4, 0
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- b _08019E1A
- .pool
-_08019E18:
- movs r0, 0x10
-_08019E1A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8019DF4
-
- thumb_func_start sub_8019E20
-sub_8019E20: @ 8019E20
- push {lr}
- ldr r0, =sub_8019DD0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bhi _08019E34
- bl DestroyTask
-_08019E34:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019E20
-
- thumb_func_start sub_8019E3C
-sub_8019E3C: @ 8019E3C
- push {r4,lr}
- movs r4, 0
-_08019E40:
- adds r0, r4, 0
- bl sub_8019A30
- cmp r0, 0
- bne _08019E56
- adds r0, r4, 0
- bl sub_8019AB8
- adds r0, r4, 0
- bl flag_set_x63
-_08019E56:
- adds r4, 0x1
- cmp r4, 0x7
- ble _08019E40
- ldr r1, =gUnknown_02022C64
- movs r0, 0
- str r0, [r1]
- bl sub_8019E20
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019E3C
-
- thumb_func_start sub_8019E70
-sub_8019E70: @ 8019E70
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r0, [sp, 0x8]
- mov r9, r1
- movs r7, 0
- mov r0, r9
- lsls r0, 2
- mov r8, r0
- ldr r0, =gUnknown_082F0740
- mov r2, r8
- adds r1, r2, r0
- ldrh r1, [r1]
- mov r2, sp
- strh r1, [r2, 0xC]
- adds r0, 0x2
- add r0, r8
- ldrh r0, [r0]
- mov r10, r0
- ldr r6, =gUnknown_082F0760
-_08019E9E:
- mov r5, r8
- add r5, r9
- adds r5, r7
- adds r4, r5, 0
- subs r4, 0x38
- lsls r4, 24
- lsrs r4, 24
- movs r2, 0
- ldrsb r2, [r6, r2]
- mov r0, sp
- ldrh r0, [r0, 0xC]
- adds r2, r0, r2
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x1
- ldrsb r3, [r6, r3]
- add r3, r10
- lsls r3, 16
- asrs r3, 16
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x41
- adds r1, r4, 0
- bl sprite_new
- ldr r1, [sp, 0x8]
- adds r5, r1, r5
- strb r0, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8097C44
- adds r6, 0x2
- adds r7, 0x1
- cmp r7, 0x4
- ble _08019E9E
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019E70
-
- thumb_func_start sub_8019F04
-sub_8019F04: @ 8019F04
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r6, =gSprites
-_08019F0C:
- adds r0, r5, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- adds r4, 0x1
- cmp r4, 0x27
- ble _08019F0C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019F04
-
- thumb_func_start sub_8019F2C
-sub_8019F2C: @ 8019F2C
- push {r4-r7,lr}
- sub sp, 0x8
- movs r5, 0
- add r7, sp, 0x4
-_08019F34:
- movs r4, 0
- adds r6, r5, 0x1
-_08019F38:
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, sp
- adds r3, r7, 0
- bl sub_8019990
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- movs r2, 0
- bl sub_8088B94
- adds r4, 0x1
- cmp r4, 0x4
- ble _08019F38
- adds r5, r6, 0
- cmp r5, 0x7
- ble _08019F34
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8019F2C
-
- thumb_func_start sub_8019F64
-sub_8019F64: @ 8019F64
- push {lr}
- adds r1, r0, 0
- cmp r1, 0
- beq _08019F78
- ldr r0, =gUnknown_082F076F
- adds r0, r1, r0
- ldrb r0, [r0]
- b _08019F88
- .pool
-_08019F78:
- ldrb r1, [r2, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- beq _08019F86
- movs r0, 0x4
- b _08019F88
-_08019F86:
- movs r0, 0x1
-_08019F88:
- pop {r1}
- bx r1
- thumb_func_end sub_8019F64
-
- thumb_func_start sub_8019F8C
-sub_8019F8C: @ 8019F8C
- push {lr}
- adds r2, r0, 0
- lsls r0, r2, 2
- adds r0, r2
- adds r0, r1
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- bl sub_8097C8C
- pop {r1}
- bx r1
- thumb_func_end sub_8019F8C
-
- thumb_func_start sub_8019FA4
-sub_8019FA4: @ 8019FA4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- mov r9, r3
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r0, r5, 2
- adds r0, r5
- adds r7, r0, r6
- adds r0, r5, 0
- bl sub_8019F8C
- cmp r0, 0x1
- bne _08019FE2
- adds r4, r7, 0
- subs r4, 0x38
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_8097C44
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8097CC4
-_08019FE2:
- adds r0, r7, 0
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- bl sub_8097BB4
- adds r0, r6, 0
- adds r1, r5, 0
- mov r2, r9
- bl sub_8019F64
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_801A3B0
- add r3, sp, 0x4
- adds r0, r5, 0
- adds r1, r6, 0
- mov r2, sp
- bl sub_8019990
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- movs r2, 0x1
- bl sub_8088B94
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8019FA4
-
- thumb_func_start sub_801A02C
-sub_801A02C: @ 801A02C
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r0, r4, 2
- adds r0, r4
- adds r0, r5
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl sub_8097CC4
- add r3, sp, 0x4
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl sub_8019990
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- movs r2, 0
- bl sub_8088B94
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801A02C
-
- thumb_func_start sub_801A064
-sub_801A064: @ 801A064
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r7, r0, 0
- mov r8, r1
- mov r6, sp
- adds r6, 0x2
- mov r0, sp
- adds r1, r6, 0
- bl PlayerGetDestCoords
- add r4, sp, 0x4
- mov r5, sp
- adds r5, 0x6
- adds r0, r4, 0
- adds r1, r5, 0
- bl player_get_pos_including_state_based_drift
- lsls r0, r7, 2
- adds r0, r7
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- bl sub_8097C8C
- mov r10, r6
- mov r9, r4
- adds r6, r5, 0
- cmp r0, 0x1
- bne _0801A0F0
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- mov r0, r10
- movs r1, 0
- ldrsh r3, [r0, r1]
- adds r0, r7, 0
- movs r1, 0
- bl sub_80199E0
- cmp r0, 0x1
- beq _0801A15C
- movs r0, 0
- ldrsh r2, [r4, r0]
- movs r1, 0
- ldrsh r3, [r6, r1]
- adds r0, r7, 0
- movs r1, 0
- bl sub_80199E0
- cmp r0, 0x1
- beq _0801A15C
- mov r2, r8
- ldrb r0, [r2, 0xB]
- lsls r0, 31
- lsrs r0, 31
- ldrb r1, [r2, 0x2]
- bl sub_8019978
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- movs r1, 0
- mov r3, r8
- bl sub_8019FA4
-_0801A0F0:
- movs r5, 0x1
- mov r4, r8
- adds r4, 0x4
-_0801A0F6:
- ldrb r0, [r4]
- cmp r0, 0
- bne _0801A106
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_801A02C
- b _0801A154
-_0801A106:
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- mov r0, r10
- movs r1, 0
- ldrsh r3, [r0, r1]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80199E0
- cmp r0, 0
- bne _0801A154
- mov r0, r9
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- ldrsh r3, [r6, r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80199E0
- cmp r0, 0
- bne _0801A154
- ldrb r2, [r4]
- lsrs r0, r2, 3
- movs r1, 0x1
- ands r0, r1
- movs r1, 0x7
- ands r1, r2
- bl sub_8019978
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- adds r1, r5, 0
- mov r3, r8
- bl sub_8019FA4
-_0801A154:
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0x4
- ble _0801A0F6
-_0801A15C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801A064
-
- thumb_func_start sub_801A16C
-sub_801A16C: @ 801A16C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r0, [r4, 0xA]
- lsls r0, 25
- lsrs r0, 25
- subs r0, 0x40
- cmp r0, 0x14
- bhi _0801A20E
- lsls r0, 2
- ldr r1, =_0801A18C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801A18C:
- .4byte _0801A1E0
- .4byte _0801A200
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A200
- .4byte _0801A200
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A200
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A200
- .4byte _0801A200
- .4byte _0801A200
- .4byte _0801A1E0
-_0801A1E0:
- ldrb r1, [r4, 0xB]
- lsls r1, 31
- lsrs r1, 31
- ldrb r2, [r4, 0x2]
- adds r0, r5, 0
- bl sub_8019CF0
- movs r4, 0
-_0801A1F0:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_801A02C
- adds r4, 0x1
- cmp r4, 0x4
- bls _0801A1F0
- b _0801A20E
-_0801A200:
- adds r0, r5, 0
- bl AGBAssert
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_801A064
-_0801A20E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801A16C
-
- thumb_func_start sub_801A214
-sub_801A214: @ 801A214
- push {r4,r5,lr}
- adds r5, r0, 0
- bl AGBAssert
- movs r4, 0
-_0801A21E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_801A02C
- adds r4, 0x1
- cmp r4, 0x4
- ble _0801A21E
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801A214
-
- thumb_func_start sub_801A234
-sub_801A234: @ 801A234
- push {r4,r5,lr}
- ldr r2, =gUnknown_02022C68
- movs r1, 0
- str r1, [r2]
- movs r5, 0
- ldr r4, [r0]
-_0801A240:
- ldrb r0, [r4, 0x1A]
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0x1
- bne _0801A258
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_801A16C
- b _0801A264
- .pool
-_0801A258:
- cmp r1, 0x2
- bne _0801A264
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_801A214
-_0801A264:
- adds r4, 0x20
- adds r5, 0x1
- cmp r5, 0x7
- ble _0801A240
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801A234
-
- thumb_func_start sub_801A274
-sub_801A274: @ 801A274
- ldr r1, =gUnknown_02022C68
- movs r0, 0x96
- lsls r0, 1
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_801A274
-
- thumb_func_start sub_801A284
-sub_801A284: @ 801A284
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_02022C68
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- movs r0, 0x96
- lsls r0, 1
- cmp r1, r0
- bls _0801A29E
- adds r0, r2, 0
- bl sub_801A234
-_0801A29E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A284
-
- thumb_func_start sub_801A2A8
-sub_801A2A8: @ 801A2A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r5, r0, 0
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- bl is_walking_or_running
- cmp r0, 0
- bne _0801A2F0
- b _0801A396
-_0801A2C4:
- ldr r4, =gUnknown_082F076A
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r2, [r0]
- adds r0, r6, 0
- ldr r1, [sp, 0xC]
- bl sub_801A3B0
- ldr r0, [sp, 0x4]
- strh r6, [r0]
- mov r1, sp
- ldrh r2, [r1, 0xC]
- ldr r1, [sp, 0x8]
- strh r2, [r1]
- movs r0, 0x1
- b _0801A398
- .pool
-_0801A2F0:
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r0, =gUnknown_082F0740
- adds r7, r5, 0
- movs r1, 0
- mov r10, r1
- adds r2, r0, 0x2
- str r2, [sp, 0x10]
- str r0, [sp, 0x14]
-_0801A30E:
- movs r6, 0
- ldr r4, [sp, 0x14]
- movs r0, 0
- ldrsh r4, [r4, r0]
- mov r9, r4
- ldr r1, [sp, 0x10]
- mov r8, r1
- ldr r5, =gUnknown_082F0760
-_0801A31E:
- mov r2, r10
- adds r3, r2, r6
- mov r0, sp
- movs r4, 0
- ldrsh r1, [r0, r4]
- movs r0, 0
- ldrsb r0, [r5, r0]
- add r0, r9
- adds r0, 0x7
- cmp r1, r0
- bne _0801A372
- mov r1, sp
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- mov r4, r8
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r2, 0x1
- ldrsb r2, [r5, r2]
- adds r1, r2
- adds r1, 0x7
- cmp r0, r1
- bne _0801A372
- adds r0, r3, 0
- subs r0, 0x38
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8097C8C
- cmp r0, 0
- bne _0801A372
- adds r0, r4, 0
- bl sub_8097D9C
- cmp r0, 0
- bne _0801A372
- ldrb r1, [r7, 0x1A]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0801A2C4
-_0801A372:
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, 0x4
- ble _0801A31E
- adds r7, 0x20
- movs r4, 0x5
- add r10, r4
- ldr r0, [sp, 0x10]
- adds r0, 0x4
- str r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- adds r1, 0x4
- str r1, [sp, 0x14]
- ldr r2, [sp, 0xC]
- adds r2, 0x1
- str r2, [sp, 0xC]
- cmp r2, 0x7
- ble _0801A30E
-_0801A396:
- movs r0, 0
-_0801A398:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801A2A8
-
- thumb_func_start sub_801A3B0
-sub_801A3B0: @ 801A3B0
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r1, r2, 24
- lsrs r1, 24
- lsls r0, r3, 2
- adds r0, r3
- subs r0, 0x38
- adds r0, r4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8097B78
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801A3B0
-
- thumb_func_start sub_801A3D0
-sub_801A3D0: @ 801A3D0
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r3, r4, 5
- adds r3, r2
- adds r2, r3, 0
- bl sub_8019F64
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_801A3B0
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801A3D0
-
- thumb_func_start sub_801A3F4
-sub_801A3F4: @ 801A3F4
- push {lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801A414
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
-_0801A414:
- pop {r0}
- bx r0
- thumb_func_end sub_801A3F4
-
- thumb_func_start sub_801A418
-sub_801A418: @ 801A418
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_801A418
-
- thumb_func_start sub_801A42C
-sub_801A42C: @ 801A42C
- push {lr}
- ldr r0, =sub_801A43C
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A42C
-
- thumb_func_start sub_801A43C
-sub_801A43C: @ 801A43C
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r5, =gUnknown_03000DAC
- movs r0, 0x6C
- bl AllocZeroed
- str r0, [r5]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082F0D34
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, =gWirelessInfoScreenGfx
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r1, =gWirelessInfoScreenTilemap
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r0, =gUnknown_082F0D3C
- bl InitWindows
- bl DeactivateAllTextPrinters
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- bl ScanlineEffect_Stop
- bl m4aSoundVSyncOn
- ldr r0, =sub_801A418
- bl SetVBlankCallback
- ldr r0, =sub_801A6C0
- movs r1, 0
- bl CreateTask
- ldr r1, [r5]
- adds r1, 0x60
- strb r0, [r1]
- bl sub_8013C40
- ldr r1, [r5]
- adds r1, 0x61
- strb r0, [r1]
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1, 0x1C]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r0, =gWirelessInfoScreenPal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0xF0
- bl sub_81978B0
- bl DynamicPlaceholderTextUtil_Reset
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r0, =sub_801A3F4
- bl SetMainCallback2
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A43C
-
- thumb_func_start sub_801A584
-sub_801A584: @ 801A584
- push {r4,lr}
- bl FreeAllWindowBuffers
- movs r4, 0
-_0801A58C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetBgTilemapBuffer
- bl Free
- adds r4, 0x1
- cmp r4, 0x1
- ble _0801A58C
- ldr r0, =gUnknown_03000DAC
- ldr r0, [r0]
- bl Free
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A584
-
- thumb_func_start sub_801A5BC
-sub_801A5BC: @ 801A5BC
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _0801A5E4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xE
- bne _0801A5E0
- movs r0, 0
- strh r0, [r1]
-_0801A5E0:
- movs r0, 0
- strh r0, [r2]
-_0801A5E4:
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0x2
- lsls r0, 5
- ldr r1, =gWirelessInfoScreenPal
- adds r0, r1
- movs r1, 0
- movs r2, 0x10
- bl LoadPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A5BC
-
- thumb_func_start sub_801A600
-sub_801A600: @ 801A600
- push {r4,r5,lr}
- sub sp, 0x8
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r5, =gUnknown_082F0D5C
- ldr r4, [r5]
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xC0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x6
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl sub_801A8B0
- movs r1, 0
-_0801A644:
- adds r4, r1, 0x1
- lsls r0, r4, 2
- adds r0, r5
- ldr r2, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 25
- movs r1, 0x80
- lsls r1, 20
- adds r0, r1
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x1
- movs r3, 0
- bl sub_801A8B0
- adds r1, r4, 0
- cmp r4, 0x2
- ble _0801A644
- ldr r1, =gUnknown_082F0D5C
- adds r0, r4, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 25
- movs r1, 0x80
- lsls r1, 20
- adds r0, r1
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl sub_801A8B0
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A600
-
- thumb_func_start sub_801A6C0
-sub_801A6C0: @ 801A6C0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x5
- bls _0801A6E2
- b _0801A89C
-_0801A6E2:
- lsls r0, 2
- ldr r1, =_0801A6F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801A6F4:
- .4byte _0801A70C
- .4byte _0801A728
- .4byte _0801A74C
- .4byte _0801A768
- .4byte _0801A85C
- .4byte _0801A884
-_0801A70C:
- bl sub_801A600
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0801A89C
- .pool
-_0801A728:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1
- bl ShowBg
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl ShowBg
- b _0801A86C
-_0801A74C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0801A75A
- b _0801A89C
-_0801A75A:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- b _0801A876
- .pool
-_0801A768:
- ldr r0, =gUnknown_03000DAC
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x10
- adds r2, r0, 0
- adds r2, 0x20
- adds r3, r0, 0
- adds r3, 0x61
- ldrb r3, [r3]
- bl sub_801AA30
- lsls r1, r5, 2
- mov r8, r1
- cmp r0, 0
- beq _0801A7F8
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r4, 0
- ldr r6, =gStringVar4
- movs r7, 0x80
- lsls r7, 20
-_0801A796:
- ldr r0, =gUnknown_03000DAC
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- cmp r4, 0x3
- beq _0801A7CC
- lsrs r0, r7, 24
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x1
- adds r2, r6, 0
- movs r3, 0xC
- bl sub_801A8B0
- b _0801A7DE
- .pool
-_0801A7CC:
- movs r0, 0x62
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r1, 0x1
- adds r2, r6, 0
- movs r3, 0xC
- bl sub_801A8B0
-_0801A7DE:
- movs r2, 0xF0
- lsls r2, 21
- adds r7, r2
- adds r4, 0x1
- cmp r4, 0x3
- ble _0801A796
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
-_0801A7F8:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0801A80C
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0801A836
-_0801A80C:
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gTasks
- ldr r0, =gUnknown_03000DAC
- ldr r0, [r0]
- adds r0, 0x61
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0xFF
- strh r1, [r0, 0x26]
- mov r0, r8
- adds r1, r0, r5
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0801A836:
- mov r2, r8
- adds r1, r2, r5
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- adds r0, r1, 0
- adds r0, 0xE
- adds r1, 0x10
- bl sub_801A5BC
- b _0801A89C
- .pool
-_0801A85C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0801A86C:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
-_0801A876:
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _0801A89C
- .pool
-_0801A884:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0801A89C
- ldr r0, =sub_801A584
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
-_0801A89C:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A6C0
-
- thumb_func_start sub_801A8B0
-sub_801A8B0: @ 801A8B0
- push {r4-r7,lr}
- sub sp, 0x18
- mov r12, r2
- ldr r2, [sp, 0x2C]
- ldr r4, [sp, 0x30]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r3, 24
- lsrs r5, r3, 24
- lsls r2, 24
- lsrs r3, r2, 24
- lsls r4, 24
- lsrs r0, r4, 24
- cmp r0, 0x4
- bhi _0801A93A
- lsls r0, 2
- ldr r1, =_0801A8E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801A8E0:
- .4byte _0801A8F4
- .4byte _0801A902
- .4byte _0801A910
- .4byte _0801A91E
- .4byte _0801A92C
-_0801A8F4:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- movs r0, 0x3
- b _0801A938
-_0801A902:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x3
- b _0801A938
-_0801A910:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x4
- strb r0, [r1, 0x1]
- movs r0, 0x5
- b _0801A938
-_0801A91E:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x7
- strb r0, [r1, 0x1]
- movs r0, 0x6
- b _0801A938
-_0801A92C:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x2
-_0801A938:
- strb r0, [r1, 0x2]
-_0801A93A:
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- add r0, sp, 0x14
- str r0, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- mov r0, r12
- str r0, [sp, 0x10]
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl AddTextPrinterParameterized4
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801A8B0
-
- thumb_func_start sub_801A960
-sub_801A960: @ 801A960
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r12, r0
- adds r7, r1, 0
- ldrb r0, [r0, 0xA]
- lsls r0, 25
- lsrs r0, 25
- mov r8, r0
- movs r4, 0
- ldr r0, =gUnknown_082F0D70
- mov r9, r0
- movs r1, 0x1
- add r1, r9
- mov r10, r1
- mov r3, r12
- adds r3, 0x4
- str r3, [sp]
-_0801A98A:
- lsls r0, r4, 1
- adds r2, r0, r4
- mov r3, r9
- adds r1, r2, r3
- adds r5, r0, 0
- adds r6, r4, 0x1
- ldrb r1, [r1]
- cmp r8, r1
- bne _0801A9EE
- mov r0, r12
- ldrb r1, [r0, 0x1A]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801A9EE
- mov r0, r9
- adds r0, 0x2
- adds r3, r2, r0
- ldrb r0, [r3]
- cmp r0, 0
- bne _0801A9DC
- movs r2, 0
- movs r1, 0
- ldr r3, [sp]
-_0801A9BA:
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801A9C4
- adds r2, 0x1
-_0801A9C4:
- adds r1, 0x1
- cmp r1, 0x3
- ble _0801A9BA
- adds r2, 0x1
- adds r0, r5, r4
- add r0, r10
- ldrb r1, [r0]
- lsls r1, 2
- adds r1, r7
- b _0801A9E8
- .pool
-_0801A9DC:
- mov r1, r10
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r3]
-_0801A9E8:
- ldr r0, [r1]
- adds r0, r2
- str r0, [r1]
-_0801A9EE:
- adds r4, r6, 0
- cmp r4, 0x1E
- bls _0801A98A
- mov r0, r8
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801A960
-
- thumb_func_start sub_801AA08
-sub_801AA08: @ 801AA08
- push {r4,lr}
- movs r4, 0
- adds r3, r1, 0
- adds r2, r0, 0
-_0801AA10:
- ldr r1, [r2]
- ldr r0, [r3]
- cmp r1, r0
- beq _0801AA1C
- movs r0, 0x1
- b _0801AA28
-_0801AA1C:
- adds r3, 0x4
- adds r2, 0x4
- adds r4, 0x1
- cmp r4, 0x3
- ble _0801AA10
- movs r0, 0
-_0801AA28:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801AA08
-
- thumb_func_start sub_801AA30
-sub_801AA30: @ 801AA30
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r6, r0, 0
- mov r9, r1
- adds r5, r2, 0
- lsls r4, r3, 24
- lsrs r4, 24
- movs r0, 0
- mov r8, r0
- mov r0, sp
- movs r1, 0
- movs r2, 0x10
- bl memset
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- movs r4, 0
-_0801AA5E:
- lsls r1, r4, 5
- ldr r0, [r7]
- adds r0, r1
- mov r1, sp
- bl sub_801A960
- adds r1, r0, 0
- ldr r0, [r5]
- cmp r1, r0
- beq _0801AA78
- str r1, [r5]
- movs r2, 0x1
- mov r8, r2
-_0801AA78:
- adds r5, 0x4
- adds r4, 0x1
- cmp r4, 0xF
- ble _0801AA5E
- mov r0, sp
- mov r1, r9
- bl sub_801AA08
- cmp r0, 0
- bne _0801AA9C
- mov r3, r8
- cmp r3, 0x1
- beq _0801AAC4
- movs r0, 0
- b _0801AAC6
- .pool
-_0801AA9C:
- adds r1, r6, 0
- mov r0, sp
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- mov r1, r9
- mov r0, sp
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, [r6]
- ldr r1, [r6, 0x4]
- adds r0, r1
- ldr r1, [r6, 0x8]
- adds r0, r1
- ldr r1, [r6, 0xC]
- adds r0, r1
- str r0, [r6, 0xC]
-_0801AAC4:
- movs r0, 0x1
-_0801AAC6:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801AA30
-
- thumb_func_start sub_801AAD4
-sub_801AAD4: @ 801AAD4
- push {r4-r7,lr}
- movs r0, 0xA
- bl sub_8014210
- movs r4, 0
- movs r7, 0x64
- ldr r6, =gPlayerParty
- ldr r5, =gEnemyParty
-_0801AAE4:
- ldr r0, =gSelectedOrderFromParty
- adds r0, r4, r0
- ldrb r0, [r0]
- subs r0, 0x1
- adds r1, r0, 0
- muls r1, r7
- adds r1, r6
- adds r0, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r5, 0x64
- adds r4, 0x1
- cmp r4, 0x1
- ble _0801AAE4
- ldr r4, =gPlayerParty
- movs r0, 0xFA
- lsls r0, 1
- adds r5, r4, r0
-_0801AB0A:
- adds r0, r4, 0
- bl ZeroMonData
- adds r4, 0x64
- cmp r4, r5
- ble _0801AB0A
- ldr r4, =gPlayerParty
- movs r5, 0
- adds r6, r4, 0
- adds r6, 0x64
-_0801AB1E:
- ldr r1, =gEnemyParty
- adds r1, r5, r1
- adds r0, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r4, 0x64
- adds r5, 0x64
- cmp r4, r6
- ble _0801AB1E
- movs r0, 0x32
- bl IncrementGameStat
- bl CalculatePlayerPartyCount
- ldr r0, =gTrainerBattleOpponent_A
- movs r2, 0xC0
- lsls r2, 4
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, =CB2_InitBattle
- bl SetMainCallback2
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801AAD4
-
- thumb_func_start sub_801AB68
-sub_801AB68: @ 801AB68
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r5, r0, 0
- adds r7, r1, 0
- adds r6, r2, 0
- ldr r4, [sp, 0x38]
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- mov r9, r0
- movs r1, 0x1
- mov r10, r1
- ldr r0, =gUnknown_082F0DE4
- mov r8, r0
- ldrb r0, [r0]
- lsls r1, r0, 4
- orrs r1, r0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- str r3, [sp, 0x14]
- bl FillWindowPixelBuffer
- mov r1, r9
- str r1, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- lsls r4, 24
- asrs r4, 24
- str r4, [sp, 0xC]
- str r7, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r6, 0
- ldr r3, [sp, 0x14]
- bl AddTextPrinterParameterized4
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801AB68
-
- thumb_func_start sub_801ABDC
-sub_801ABDC: @ 801ABDC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0801ABF4
- cmp r0, 0x1
- beq _0801AC22
- b _0801AC36
-_0801ABF4:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xD
- bl sub_8098858
- str r5, [sp]
- movs r0, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_801AB68
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0801AC36
-_0801AC22:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _0801AC36
- strh r0, [r4]
- movs r0, 0x1
- b _0801AC38
-_0801AC36:
- movs r0, 0
-_0801AC38:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801ABDC
-
- thumb_func_start sub_801AC40
-sub_801AC40: @ 801AC40
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_801AC40
-
- thumb_func_start sub_801AC54
-sub_801AC54: @ 801AC54
- push {r4,lr}
- sub sp, 0xC
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x33
- bls _0801AC6A
- b _0801AFAE
-_0801AC6A:
- lsls r0, 2
- ldr r1, =_0801AC7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801AC7C:
- .4byte _0801AD4C
- .4byte _0801ADFC
- .4byte _0801AE24
- .4byte _0801AE48
- .4byte _0801AE98
- .4byte _0801AFAE
- .4byte _0801AF7C
- .4byte _0801AF58
- .4byte _0801AF7C
- .4byte _0801AF98
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AF24
- .4byte _0801AF40
-_0801AD4C:
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r4, =gUnknown_02022C6C
- movs r0, 0x4
- bl AllocZeroed
- str r0, [r4]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082F0DD0
- movs r0, 0
- movs r2, 0x1
- bl InitBgsFromTemplates
- bl reset_temp_tile_data_buffers
- ldr r0, =gUnknown_082F0DD4
- bl InitWindows
- lsls r0, 16
- cmp r0, 0
- bne _0801AD8C
- b _0801AFC2
-_0801AD8C:
- bl DeactivateAllTextPrinters
- movs r0, 0
- bl ClearWindowTilemap
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- bl sub_819789C
- ldr r0, =sub_801AC40
- bl SetVBlankCallback
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0801AF8A
- .pool
-_0801ADFC:
- ldr r0, =gUnknown_02022C6C
- ldr r0, [r0]
- ldr r1, =gText_CommStandbyAwaitingOtherPlayer
- movs r2, 0
- bl sub_801ABDC
- cmp r0, 0
- bne _0801AE0E
- b _0801AFAE
-_0801AE0E:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0801AF8A
- .pool
-_0801AE24:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0
- bl ShowBg
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0801AF8A
- .pool
-_0801AE48:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _0801AE54
- b _0801AFAE
-_0801AE54:
- ldr r4, =gBlockSendBuffer
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x20
- bl memset
- ldr r0, =gSelectedOrderFromParty
- ldrb r1, [r0]
- ldrb r0, [r0, 0x1]
- cmn r1, r0
- bne _0801AE78
- movs r0, 0x52
- b _0801AE7A
- .pool
-_0801AE78:
- movs r0, 0x51
-_0801AE7A:
- strb r0, [r4]
- ldr r1, =gBlockSendBuffer
- movs r0, 0
- movs r2, 0x20
- bl SendBlock
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0801AF8A
- .pool
-_0801AE98:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _0801AEA6
- b _0801AFAE
-_0801AEA6:
- ldr r1, =gBlockRecvBuffer
- ldrh r0, [r1]
- cmp r0, 0x51
- bne _0801AEE0
- movs r2, 0x80
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0x51
- bne _0801AEE0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x32
- b _0801AF16
- .pool
-_0801AEE0:
- bl sub_800AC34
- ldr r4, =gBlockRecvBuffer
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 16
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0x52
- bne _0801AF0C
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x6
- b _0801AF16
- .pool
-_0801AF0C:
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x8
-_0801AF16:
- strb r1, [r0]
- bl ResetBlockReceivedFlags
- b _0801AFAE
- .pool
-_0801AF24:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0801AFAE
- bl sub_800ADF8
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0801AF8A
- .pool
-_0801AF40:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801AFAE
- ldr r0, =sub_801AAD4
- bl SetMainCallback2
- b _0801AFAE
- .pool
-_0801AF58:
- ldr r0, =gUnknown_02022C6C
- ldr r0, [r0]
- ldr r1, =gText_RefusedBattle
- movs r2, 0x1
- bl sub_801ABDC
- cmp r0, 0
- beq _0801AFAE
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- b _0801AFAE
- .pool
-_0801AF7C:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801AFAE
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
-_0801AF8A:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0801AFAE
- .pool
-_0801AF98:
- ldr r0, =gUnknown_02022C6C
- ldr r0, [r0]
- ldr r1, =gText_BattleWasRefused
- movs r2, 0x1
- bl sub_801ABDC
- cmp r0, 0
- beq _0801AFAE
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
-_0801AFAE:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
-_0801AFC2:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801AC54
-
-@void sub_801AFD8() {
-@ CpuFill32(0, &gSaveBlock1Ptr->field_322C, 219);
-@ sub_801B180();
-@ sub_811F8BC();
-@}
- thumb_func_start sub_801AFD8
-sub_801AFD8: @ 801AFD8
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x0000322c
- adds r1, r0
- ldr r2, =0x050000db
- mov r0, sp
- bl CpuSet
- bl sub_801B180
- bl sub_811F8BC
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801AFD8
-
- thumb_func_start sub_801B00C
-sub_801B00C: @ 801B00C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003230
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_801B00C
-
- thumb_func_start sav1_get_mevent_buffer_1
-sav1_get_mevent_buffer_1: @ 801B020
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000033f0
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sav1_get_mevent_buffer_1
-
- thumb_func_start sav1_get_mevent_buffer_2
-sav1_get_mevent_buffer_2: @ 801B034
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xD5
- lsls r1, 6
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sav1_get_mevent_buffer_2
-
- thumb_func_start GetSaveBlock1Field356C
-GetSaveBlock1Field356C: @ 801B044
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000356c
- adds r0, r1
- bx lr
- .pool
- thumb_func_end GetSaveBlock1Field356C
-
- thumb_func_start GetSaveBlock1Field3564
-GetSaveBlock1Field3564: @ 801B058
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003564
- adds r0, r1
- bx lr
- .pool
- thumb_func_end GetSaveBlock1Field3564
-
- thumb_func_start sub_801B06C
-sub_801B06C: @ 801B06C
- push {lr}
- bl sub_801B14C
- pop {r0}
- bx r0
- thumb_func_end sub_801B06C
-
- thumb_func_start sub_801B078
-sub_801B078: @ 801B078
- push {r4-r7,lr}
- adds r7, r0, 0
- bl sub_801B114
- cmp r0, 0
- beq _0801B0C4
- bl sub_801B14C
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r5, =0x00003230
- adds r0, r5
- movs r6, 0xDE
- lsls r6, 1
- adds r1, r7, 0
- adds r2, r6, 0
- bl memcpy
- ldr r0, [r4]
- adds r0, r5
- adds r1, r6, 0
- bl CalcCRC16WithTable
- ldr r1, [r4]
- ldr r2, =0x0000322c
- adds r1, r2
- lsls r0, 16
- lsrs r0, 16
- str r0, [r1]
- movs r0, 0x1
- b _0801B0C6
- .pool
-_0801B0C4:
- movs r0, 0
-_0801B0C6:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801B078
-
- thumb_func_start sub_801B0CC
-sub_801B0CC: @ 801B0CC
- push {r4,lr}
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r1, =0x00003230
- adds r0, r1
- movs r1, 0xDE
- lsls r1, 1
- bl CalcCRC16WithTable
- lsls r0, 16
- lsrs r0, 16
- ldr r4, [r4]
- ldr r2, =0x0000322c
- adds r1, r4, r2
- ldr r1, [r1]
- cmp r0, r1
- bne _0801B10C
- ldr r1, =0x00003230
- adds r0, r4, r1
- bl sub_801B114
- cmp r0, 0
- beq _0801B10C
- movs r0, 0x1
- b _0801B10E
- .pool
-_0801B10C:
- movs r0, 0
-_0801B10E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801B0CC
-
- thumb_func_start sub_801B114
-sub_801B114: @ 801B114
- push {lr}
- ldrh r0, [r0]
- cmp r0, 0
- beq _0801B120
- movs r0, 0x1
- b _0801B122
-_0801B120:
- movs r0, 0
-_0801B122:
- pop {r1}
- bx r1
- thumb_func_end sub_801B114
-
- thumb_func_start sub_801B128
-sub_801B128: @ 801B128
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003230
- adds r0, r1
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _0801B144
- movs r0, 0x1
- b _0801B146
- .pool
-_0801B144:
- movs r0, 0
-_0801B146:
- pop {r1}
- bx r1
- thumb_func_end sub_801B128
-
- thumb_func_start sub_801B14C
-sub_801B14C: @ 801B14C
- push {r4,lr}
- sub sp, 0x4
- movs r4, 0
- str r4, [sp]
- bl sub_801B00C
- adds r1, r0, 0
- ldr r2, =0x0500006f
- mov r0, sp
- bl CpuSet
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000322c
- adds r0, r1
- str r4, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B14C
-
- thumb_func_start sub_801B180
-sub_801B180: @ 801B180
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl GetSaveBlock1Field356C
- adds r1, r0, 0
- ldr r2, =0x05000001
- mov r0, sp
- bl CpuSet
- bl sub_801DBC0
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B180
-
- thumb_func_start sub_801B1A4
-sub_801B1A4: @ 801B1A4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003230
- adds r4, r0, r1
- bl sub_801B0CC
- cmp r0, 0
- bne _0801B1C4
-_0801B1B8:
- movs r0, 0
- b _0801B1DC
- .pool
-_0801B1C4:
- movs r2, 0
- ldr r3, =0x000001bb
-_0801B1C8:
- adds r0, r4, r2
- adds r1, r5, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _0801B1B8
- adds r2, 0x1
- cmp r2, r3
- bls _0801B1C8
- movs r0, 0x1
-_0801B1DC:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801B1A4
-
- thumb_func_start sub_801B1E8
-sub_801B1E8: @ 801B1E8
- push {lr}
- bl sub_801B330
- bl sub_801B368
- bl sub_801B9F8
- bl ClearRamScript
- bl sub_809D4D8
- bl sub_809D570
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bec
- adds r0, r1
- bl ClearEReaderTrainer
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B1E8
-
- thumb_func_start sub_801B21C
-sub_801B21C: @ 801B21C
- push {r4-r7,lr}
- adds r7, r0, 0
- bl sub_801B2CC
- cmp r0, 0
- beq _0801B274
- bl sub_801B1E8
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r5, =0x000033f0
- adds r0, r5
- movs r6, 0xA6
- lsls r6, 1
- adds r1, r7, 0
- adds r2, r6, 0
- bl memcpy
- ldr r0, [r4]
- adds r0, r5
- adds r1, r6, 0
- bl CalcCRC16WithTable
- ldr r1, [r4]
- ldr r3, =0x000033ec
- adds r2, r1, r3
- lsls r0, 16
- lsrs r0, 16
- str r0, [r2]
- movs r0, 0xD5
- lsls r0, 6
- adds r2, r1, r0
- adds r1, r5
- ldrh r0, [r1, 0x2]
- strh r0, [r2, 0x6]
- movs r0, 0x1
- b _0801B276
- .pool
-_0801B274:
- movs r0, 0
-_0801B276:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801B21C
-
- thumb_func_start sub_801B27C
-sub_801B27C: @ 801B27C
- push {r4,r5,lr}
- ldr r5, =gSaveBlock1Ptr
- ldr r0, [r5]
- ldr r1, =0x000033ec
- adds r4, r0, r1
- adds r1, 0x4
- adds r0, r1
- movs r1, 0xA6
- lsls r1, 1
- bl CalcCRC16WithTable
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [r4]
- cmp r1, r0
- bne _0801B2C4
- ldr r0, [r5]
- ldr r1, =0x000033f0
- adds r0, r1
- bl sub_801B2CC
- cmp r0, 0
- beq _0801B2C4
- bl sub_80991F8
- cmp r0, 0
- beq _0801B2C4
- movs r0, 0x1
- b _0801B2C6
- .pool
-_0801B2C4:
- movs r0, 0
-_0801B2C6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801B27C
-
- thumb_func_start sub_801B2CC
-sub_801B2CC: @ 801B2CC
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2]
- cmp r0, 0
- beq _0801B302
- ldrb r1, [r2, 0x8]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r0, 0x2
- bhi _0801B302
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _0801B2F0
- cmp r0, 0x40
- beq _0801B2F0
- cmp r0, 0x80
- bne _0801B302
-_0801B2F0:
- lsls r0, r1, 26
- lsrs r0, 28
- cmp r0, 0x7
- bhi _0801B302
- ldrb r0, [r2, 0x9]
- cmp r0, 0x7
- bhi _0801B302
- movs r0, 0x1
- b _0801B304
-_0801B302:
- movs r0, 0
-_0801B304:
- pop {r1}
- bx r1
- thumb_func_end sub_801B2CC
-
- thumb_func_start sub_801B308
-sub_801B308: @ 801B308
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000033f0
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _0801B328
- movs r0, 0x1
- b _0801B32A
- .pool
-_0801B328:
- movs r0, 0
-_0801B32A:
- pop {r1}
- bx r1
- thumb_func_end sub_801B308
-
- thumb_func_start sub_801B330
-sub_801B330: @ 801B330
- push {r4,r5,lr}
- sub sp, 0x4
- movs r5, 0
- str r5, [sp]
- ldr r4, =gSaveBlock1Ptr
- ldr r1, [r4]
- ldr r0, =0x000033f0
- adds r1, r0
- ldr r2, =0x05000053
- mov r0, sp
- bl CpuSet
- ldr r0, [r4]
- ldr r1, =0x000033ec
- adds r0, r1
- str r5, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B330
-
- thumb_func_start sub_801B368
-sub_801B368: @ 801B368
- push {r4,lr}
- sub sp, 0x4
- movs r4, 0
- str r4, [sp]
- bl sav1_get_mevent_buffer_2
- adds r1, r0, 0
- ldr r2, =0x05000009
- mov r0, sp
- bl CpuSet
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000353c
- adds r0, r1
- str r4, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B368
-
- thumb_func_start sub_801B39C
-sub_801B39C: @ 801B39C
- push {lr}
- bl sub_801B27C
- cmp r0, 0
- bne _0801B3AA
- movs r0, 0
- b _0801B3B4
-_0801B3AA:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000033f0
- adds r0, r1
- ldrh r0, [r0]
-_0801B3B4:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801B39C
-
- thumb_func_start sub_801B3C0
-sub_801B3C0: @ 801B3C0
- push {lr}
- adds r2, r0, 0
- ldrb r1, [r2, 0x8]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x40
- bne _0801B3D4
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x8]
-_0801B3D4:
- pop {r0}
- bx r0
- thumb_func_end sub_801B3C0
-
- thumb_func_start sub_801B3D8
-sub_801B3D8: @ 801B3D8
- push {lr}
- lsls r0, 16
- ldr r1, =0xfc180000
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0x13
- bls _0801B3F0
- movs r0, 0
- b _0801B3F2
- .pool
-_0801B3F0:
- movs r0, 0x1
-_0801B3F2:
- pop {r1}
- bx r1
- thumb_func_end sub_801B3D8
-
- thumb_func_start sub_801B3F8
-sub_801B3F8: @ 801B3F8
- push {r4,lr}
- bl sub_801B39C
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl sub_801B3D8
- cmp r0, 0
- beq _0801B430
- ldr r1, =gUnknown_082F0DE8
- ldr r2, =0xfffffc18
- adds r0, r4, r2
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0801B430
- movs r0, 0x1
- b _0801B432
- .pool
-_0801B430:
- movs r0, 0
-_0801B432:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801B3F8
-
- thumb_func_start sub_801B438
-sub_801B438: @ 801B438
- push {lr}
- movs r3, 0
- cmp r3, r1
- bge _0801B45A
- adds r2, r0, 0
- adds r2, 0x8
-_0801B444:
- ldrh r0, [r2, 0xE]
- cmp r0, 0
- beq _0801B452
- ldrh r0, [r2]
- cmp r0, 0
- beq _0801B452
- adds r3, 0x1
-_0801B452:
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _0801B444
-_0801B45A:
- adds r0, r3, 0
- pop {r1}
- bx r1
- thumb_func_end sub_801B438
-
- thumb_func_start sub_801B460
-sub_801B460: @ 801B460
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0
- cmp r1, r2
- bge _0801B49A
- ldrh r6, [r4, 0x2]
- movs r0, 0x16
- adds r0, r5
- mov r12, r0
-_0801B474:
- lsls r3, r1, 1
- mov r7, r12
- ldrh r0, [r7]
- cmp r0, r6
- beq _0801B48C
- adds r0, r5, 0
- adds r0, 0x8
- adds r0, r3
- ldrh r0, [r0]
- ldrh r3, [r4]
- cmp r0, r3
- bne _0801B490
-_0801B48C:
- movs r0, 0x1
- b _0801B49C
-_0801B490:
- movs r7, 0x2
- add r12, r7
- adds r1, 0x1
- cmp r1, r2
- blt _0801B474
-_0801B49A:
- movs r0, 0
-_0801B49C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801B460
-
- thumb_func_start sub_801B4A4
-sub_801B4A4: @ 801B4A4
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _0801B4C4
- ldrh r1, [r1]
- cmp r1, 0
- beq _0801B4C4
- ldr r0, =0x0000019b
- cmp r1, r0
- bhi _0801B4C4
- movs r0, 0x1
- b _0801B4C6
- .pool
-_0801B4C4:
- movs r0, 0
-_0801B4C6:
- pop {r1}
- bx r1
- thumb_func_end sub_801B4A4
-
- thumb_func_start sub_801B4CC
-sub_801B4CC: @ 801B4CC
- push {lr}
- bl sub_801B27C
- cmp r0, 0
- beq _0801B500
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- ldr r0, =0x000033f0
- adds r2, r3, r0
- ldrb r1, [r2, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801B500
- movs r1, 0xD5
- lsls r1, 6
- adds r0, r3, r1
- ldrb r1, [r2, 0x9]
- bl sub_801B438
- b _0801B502
- .pool
-_0801B500:
- movs r0, 0
-_0801B502:
- pop {r1}
- bx r1
- thumb_func_end sub_801B4CC
-
- thumb_func_start sub_801B508
-sub_801B508: @ 801B508
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gSaveBlock1Ptr
- ldr r0, [r6]
- ldr r1, =0x000033f0
- adds r0, r1
- ldrb r4, [r0, 0x9]
- adds r0, r5, 0
- bl sub_801B4A4
- cmp r0, 0
- beq _0801B572
- ldr r0, [r6]
- movs r1, 0xD5
- lsls r1, 6
- adds r0, r1
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_801B460
- cmp r0, 0
- beq _0801B54C
- b _0801B572
- .pool
-_0801B540:
- ldrh r0, [r5, 0x2]
- strh r0, [r1]
- ldrh r0, [r5]
- strh r0, [r2]
- movs r0, 0x1
- b _0801B574
-_0801B54C:
- movs r3, 0
- cmp r3, r4
- bge _0801B572
- ldr r0, [r6]
- ldr r6, =0x00003548
- adds r2, r0, r6
- adds r6, 0xE
- adds r1, r0, r6
-_0801B55C:
- ldrh r0, [r2, 0xE]
- cmp r0, 0
- bne _0801B568
- ldrh r0, [r2]
- cmp r0, 0
- beq _0801B540
-_0801B568:
- adds r2, 0x2
- adds r1, 0x2
- adds r3, 0x1
- cmp r3, r4
- blt _0801B55C
-_0801B572:
- movs r0, 0
-_0801B574:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801B508
-
- thumb_func_start sub_801B580
-sub_801B580: @ 801B580
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- str r0, [sp]
- ldr r2, =0x05000019
- mov r0, sp
- adds r1, r5, 0
- bl CpuSet
- ldr r0, =0x00000101
- str r0, [r5]
- movs r0, 0x1
- strh r0, [r5, 0x4]
- str r0, [r5, 0x8]
- cmp r4, 0
- beq _0801B5C0
- movs r0, 0x5
- strh r0, [r5, 0xC]
- ldr r0, =0x00000201
- b _0801B5C8
- .pool
-_0801B5C0:
- movs r0, 0x4
- strh r0, [r5, 0xC]
- movs r0, 0x80
- lsls r0, 2
-_0801B5C8:
- str r0, [r5, 0x10]
- bl sub_801B27C
- cmp r0, 0
- beq _0801B5FC
- bl sav1_get_mevent_buffer_1
- ldrh r0, [r0]
- strh r0, [r5, 0x14]
- bl sav1_get_mevent_buffer_2
- adds r1, r5, 0
- adds r1, 0x20
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- bl sav1_get_mevent_buffer_1
- ldrb r1, [r0, 0x9]
- adds r0, r5, 0
- adds r0, 0x44
- strb r1, [r0]
- b _0801B5FE
-_0801B5FC:
- strh r0, [r5, 0x14]
-_0801B5FE:
- adds r4, r5, 0
- adds r4, 0x4C
- ldr r0, =gSaveBlock2Ptr
- mov r8, r0
- adds r6, r5, 0
- adds r6, 0x45
- adds r7, r5, 0
- adds r7, 0x50
- movs r1, 0x5C
- adds r1, r5
- mov r9, r1
- movs r2, 0x60
- adds r2, r5
- mov r10, r2
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00003564
- adds r2, r0, r3
- adds r1, r5, 0
- adds r1, 0x16
- movs r3, 0x3
-_0801B628:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _0801B628
- mov r0, r8
- ldr r1, [r0]
- adds r1, 0xA
- adds r0, r4, 0
- bl CopyTrainerId
- mov r2, r8
- ldr r1, [r2]
- adds r0, r6, 0
- bl StringCopy
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00002bb0
- adds r2, r0, r3
- adds r1, r7, 0
- movs r3, 0x5
-_0801B658:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _0801B658
- ldr r1, =RomHeaderGameCode
- mov r0, r9
- movs r2, 0x4
- bl memcpy
- ldr r0, =RomHeaderSoftwareVersion
- ldrb r0, [r0]
- mov r4, r10
- strb r0, [r4]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B580
-
- thumb_func_start sub_801B6A0
-sub_801B6A0: @ 801B6A0
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldr r1, [r2]
- ldr r0, =0x00000101
- cmp r1, r0
- bne _0801B6DC
- ldrh r1, [r2, 0x4]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0801B6DC
- ldr r0, [r2, 0x8]
- ands r0, r3
- cmp r0, 0
- beq _0801B6DC
- cmp r4, 0
- bne _0801B6E4
- ldrh r1, [r2, 0xC]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0801B6DC
- ldr r0, [r2, 0x10]
- movs r1, 0xE0
- lsls r1, 2
- ands r0, r1
- cmp r0, 0
- bne _0801B6E4
-_0801B6DC:
- movs r0, 0
- b _0801B6E6
- .pool
-_0801B6E4:
- movs r0, 0x1
-_0801B6E6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801B6A0
-
- thumb_func_start sub_801B6EC
-sub_801B6EC: @ 801B6EC
- push {lr}
- ldrh r1, [r1, 0x14]
- cmp r1, 0
- bne _0801B6F8
- movs r0, 0
- b _0801B704
-_0801B6F8:
- ldrh r0, [r0]
- cmp r0, r1
- beq _0801B702
- movs r0, 0x2
- b _0801B704
-_0801B702:
- movs r0, 0x1
-_0801B704:
- pop {r1}
- bx r1
- thumb_func_end sub_801B6EC
-
- thumb_func_start sub_801B708
-sub_801B708: @ 801B708
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r4, 0
- adds r5, 0x20
- adds r4, 0x44
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_801B438
- ldrb r2, [r4]
- subs r4, r2, r0
- cmp r4, 0
- bne _0801B728
- movs r0, 0x1
- b _0801B742
-_0801B728:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_801B460
- cmp r0, 0
- beq _0801B738
- movs r0, 0x3
- b _0801B742
-_0801B738:
- cmp r4, 0x1
- beq _0801B740
- movs r0, 0x2
- b _0801B742
-_0801B740:
- movs r0, 0x4
-_0801B742:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801B708
-
- thumb_func_start sub_801B748
-sub_801B748: @ 801B748
- push {r4,lr}
- movs r3, 0
- adds r2, r0, 0
- adds r2, 0x16
-_0801B750:
- ldrh r0, [r2]
- ldrh r4, [r1]
- cmp r0, r4
- beq _0801B75C
- movs r0, 0
- b _0801B768
-_0801B75C:
- adds r1, 0x2
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _0801B750
- movs r0, 0x1
-_0801B768:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801B748
-
- thumb_func_start sub_801B770
-sub_801B770: @ 801B770
- push {lr}
- adds r2, r0, 0
- adds r2, 0x20
- adds r0, 0x44
- ldrb r1, [r0]
- adds r0, r2, 0
- bl sub_801B438
- pop {r1}
- bx r1
- thumb_func_end sub_801B770
-
- thumb_func_start sub_801B784
-sub_801B784: @ 801B784
- push {lr}
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _0801B7D0
- lsls r0, r1, 2
- ldr r1, =_0801B79C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801B79C:
- .4byte _0801B7B0
- .4byte _0801B7B4
- .4byte _0801B7B8
- .4byte _0801B7BC
- .4byte _0801B7C8
-_0801B7B0:
- ldrh r0, [r2, 0x20]
- b _0801B7D2
-_0801B7B4:
- ldrh r0, [r2, 0x22]
- b _0801B7D2
-_0801B7B8:
- ldrh r0, [r2, 0x24]
- b _0801B7D2
-_0801B7BC:
- adds r0, r2, 0
- bl sub_801B770
- lsls r0, 16
- lsrs r0, 16
- b _0801B7D2
-_0801B7C8:
- adds r0, r2, 0
- adds r0, 0x44
- ldrb r0, [r0]
- b _0801B7D2
-_0801B7D0:
- movs r0, 0
-_0801B7D2:
- pop {r1}
- bx r1
- thumb_func_end sub_801B784
-
- thumb_func_start sub_801B7D8
-sub_801B7D8: @ 801B7D8
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, =gSaveBlock1Ptr
- ldr r0, [r2]
- ldr r1, =0x000033f0
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- adds r3, r2, 0
- cmp r0, 0x2
- bne _0801B850
- movs r2, 0
- cmp r4, 0x4
- bhi _0801B83A
- lsls r0, r4, 2
- ldr r1, =_0801B80C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801B80C:
- .4byte _0801B820
- .4byte _0801B828
- .4byte _0801B834
- .4byte _0801B83A
- .4byte _0801B83A
-_0801B820:
- ldr r0, [r3]
- movs r1, 0xD5
- lsls r1, 6
- b _0801B838
-_0801B828:
- ldr r0, [r3]
- ldr r1, =0x00003542
- b _0801B838
- .pool
-_0801B834:
- ldr r0, [r3]
- ldr r1, =0x00003544
-_0801B838:
- adds r2, r0, r1
-_0801B83A:
- cmp r2, 0
- beq _0801B850
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x000003e7
- cmp r0, r1
- bls _0801B850
- strh r1, [r2]
-_0801B850:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B7D8
-
- thumb_func_start mevent_081445C0
-mevent_081445C0: @ 801B860
- push {lr}
- cmp r0, 0x4
- bhi _0801B938
- lsls r0, 2
- ldr r1, =_0801B874
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801B874:
- .4byte _0801B888
- .4byte _0801B8AC
- .4byte _0801B8D0
- .4byte _0801B8F4
- .4byte _0801B918
-_0801B888:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =0x000033f0
- adds r0, r2, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _0801B938
- movs r1, 0xD5
- lsls r1, 6
- adds r0, r2, r1
- ldrh r0, [r0]
- b _0801B93A
- .pool
-_0801B8AC:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =0x000033f0
- adds r0, r2, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _0801B938
- movs r1, 0xD5
- lsls r1, 6
- adds r0, r2, r1
- ldrh r0, [r0, 0x2]
- b _0801B93A
- .pool
-_0801B8D0:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =0x000033f0
- adds r0, r2, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _0801B938
- movs r1, 0xD5
- lsls r1, 6
- adds r0, r2, r1
- ldrh r0, [r0, 0x4]
- b _0801B93A
- .pool
-_0801B8F4:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000033f0
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801B938
- bl sub_801B4CC
- lsls r0, 16
- lsrs r0, 16
- b _0801B93A
- .pool
-_0801B918:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000033f0
- adds r2, r0, r1
- ldrb r1, [r2, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801B938
- ldrb r0, [r2, 0x9]
- b _0801B93A
- .pool
-_0801B938:
- movs r0, 0
-_0801B93A:
- pop {r1}
- bx r1
- thumb_func_end mevent_081445C0
-
- thumb_func_start sub_801B940
-sub_801B940: @ 801B940
- ldr r1, =gUnknown_02022C70
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_801B940
-
- thumb_func_start sub_801B94C
-sub_801B94C: @ 801B94C
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- adds r4, r0, 0
- ldr r5, =gUnknown_02022C70
- movs r0, 0
- str r0, [r5]
- cmp r4, 0
- beq _0801B98A
- bl sub_801B27C
- cmp r0, 0
- beq _0801B988
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000033f0
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r4
- bne _0801B988
- movs r0, 0x1
- str r0, [r5]
- b _0801B98A
- .pool
-_0801B988:
- movs r0, 0
-_0801B98A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801B94C
-
- thumb_func_start sub_801B990
-sub_801B990: @ 801B990
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_02022C70
- ldr r0, [r0]
- cmp r0, 0
- beq _0801B9EC
- cmp r2, 0x1
- beq _0801B9DC
- cmp r2, 0x1
- bcc _0801B9C0
- cmp r2, 0x2
- bne _0801B9EC
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =0x00003584
- adds r2, r0
- movs r0, 0x2
- b _0801B9CA
- .pool
-_0801B9C0:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =0x00003570
- adds r2, r0
- movs r0, 0
-_0801B9CA:
- movs r3, 0x5
- bl sub_801BA8C
- b _0801B9EC
- .pool
-_0801B9DC:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =0x00003570
- adds r2, r0
- movs r0, 0x1
- movs r3, 0x5
- bl sub_801BA8C
-_0801B9EC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B990
-
- thumb_func_start sub_801B9F8
-sub_801B9F8: @ 801B9F8
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00003570
- adds r1, r0
- ldr r2, =0x0500000a
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B9F8
-
- thumb_func_start sub_801BA24
-sub_801BA24: @ 801BA24
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0
- cmp r1, r2
- bge _0801BA46
- ldr r0, [r4]
- cmp r0, r5
- beq _0801BA46
- adds r3, r4, 0
-_0801BA38:
- adds r3, 0x4
- adds r1, 0x1
- cmp r1, r2
- bge _0801BA46
- ldr r0, [r3]
- cmp r0, r5
- bne _0801BA38
-_0801BA46:
- cmp r1, r2
- bne _0801BA68
- subs r3, r1, 0x1
- cmp r3, 0
- ble _0801BA62
- lsls r0, r3, 2
- subs r0, 0x4
- adds r2, r0, r4
-_0801BA56:
- ldr r0, [r2]
- str r0, [r2, 0x4]
- subs r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bgt _0801BA56
-_0801BA62:
- str r5, [r4]
- movs r0, 0x1
- b _0801BA84
-_0801BA68:
- adds r3, r1, 0
- cmp r3, 0
- ble _0801BA80
- lsls r0, r3, 2
- subs r0, 0x4
- adds r2, r0, r4
-_0801BA74:
- ldr r0, [r2]
- str r0, [r2, 0x4]
- subs r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bgt _0801BA74
-_0801BA80:
- str r5, [r4]
- movs r0, 0
-_0801BA84:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801BA24
-
- thumb_func_start sub_801BA8C
-sub_801BA8C: @ 801BA8C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- adds r1, r2, 0
- adds r2, r3, 0
- bl sub_801BA24
- cmp r0, 0
- beq _0801BAA4
- adds r0, r4, 0
- bl sub_801B7D8
-_0801BAA4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801BA8C
-
- thumb_func_start sub_801BAAC
-sub_801BAAC: @ 801BAAC
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- cmp r5, 0
- beq _0801BAC8
- cmp r6, 0
- beq _0801BAC8
- ldr r7, =gUnknown_02022C74
- ldr r0, =0x0000145c
- bl AllocZeroed
- str r0, [r7]
- cmp r0, 0
- bne _0801BAD4
-_0801BAC8:
- movs r0, 0
- b _0801BB3E
- .pool
-_0801BAD4:
- movs r4, 0xA6
- lsls r4, 1
- adds r1, r5, 0
- adds r2, r4, 0
- bl memcpy
- ldr r1, [r7]
- adds r1, r4
- adds r0, r6, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r7]
- ldrb r1, [r2, 0x8]
- lsls r0, r1, 26
- lsrs r0, 28
- cmp r0, 0x7
- bls _0801BB06
- movs r0, 0x3D
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x8]
-_0801BB06:
- ldr r2, [r7]
- ldrb r1, [r2, 0x8]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r0, 0x2
- bls _0801BB1A
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x8]
-_0801BB1A:
- ldr r1, [r7]
- ldrb r0, [r1, 0x9]
- cmp r0, 0x7
- bls _0801BB26
- movs r0, 0
- strb r0, [r1, 0x9]
-_0801BB26:
- ldr r0, [r7]
- movs r1, 0xB8
- lsls r1, 1
- adds r2, r0, r1
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 28
- lsls r0, 4
- ldr r1, =gUnknown_082F1D60
- adds r0, r1
- str r0, [r2]
- movs r0, 0x1
-_0801BB3E:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801BAAC
-
- thumb_func_start sub_801BB48
-sub_801BB48: @ 801BB48
- push {r4,lr}
- ldr r4, =gUnknown_02022C74
- ldr r0, [r4]
- cmp r0, 0
- beq _0801BB64
- ldr r2, =0x0000145c
- movs r1, 0
- bl memset
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
-_0801BB64:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801BB48
-
- thumb_func_start sub_801BB74
-sub_801BB74: @ 801BB74
- push {r4-r6,lr}
- sub sp, 0x24
- ldr r5, =gUnknown_02022C74
- ldr r0, [r5]
- cmp r0, 0
- bne _0801BB8C
- movs r0, 0x1
- negs r0, r0
- b _0801BD98
- .pool
-_0801BB8C:
- movs r4, 0xBA
- lsls r4, 1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x7
- bls _0801BB9A
- b _0801BD70
-_0801BB9A:
- lsls r0, 2
- ldr r1, =_0801BBA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801BBA8:
- .4byte _0801BBC8
- .4byte _0801BBDA
- .4byte _0801BBE8
- .4byte _0801BC8C
- .4byte _0801BD14
- .4byte _0801BD1A
- .4byte _0801BD34
- .4byte _0801BD3A
-_0801BBC8:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0801BD86
-_0801BBDA:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0801BBE6
- b _0801BD86
-_0801BBE6:
- b _0801BD96
-_0801BBE8:
- movs r5, 0x1E
- str r5, [sp]
- movs r4, 0x14
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldr r5, =gUnknown_02022C74
- ldr r0, [r5]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0x8
- bl decompress_and_copy_tile_data_to_vram
- ldr r4, =gUnknown_082F0E1C
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r5]
- movs r2, 0xBB
- lsls r2, 1
- adds r1, r2
- strh r0, [r1]
- adds r0, r4, 0
- adds r0, 0x8
- bl AddWindow
- ldr r1, [r5]
- movs r2, 0xBC
- lsls r2, 1
- adds r1, r2
- strh r0, [r1]
- adds r4, 0x10
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r5]
- movs r2, 0xBD
- lsls r2, 1
- adds r1, r2
- strh r0, [r1]
- b _0801BD86
- .pool
-_0801BC8C:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _0801BC9A
- b _0801BD96
-_0801BC9A:
- movs r0, 0x1
- bl stdpal_get
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r5, =gUnknown_02022C74
- ldr r0, [r5]
- movs r4, 0xB8
- lsls r4, 1
- adds r0, r4
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- ldr r4, =0x0000045c
- adds r1, r4
- bl LZ77UnCompWram
- ldr r1, [r5]
- adds r1, r4
- movs r2, 0x1E
- str r2, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- str r6, [sp, 0xC]
- str r2, [sp, 0x10]
- str r0, [sp, 0x14]
- movs r0, 0x1
- str r0, [sp, 0x18]
- movs r0, 0x8
- str r0, [sp, 0x1C]
- str r6, [sp, 0x20]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- b _0801BD86
- .pool
-_0801BD14:
- bl sub_801BEF8
- b _0801BD86
-_0801BD1A:
- movs r0, 0
- bl sub_801C178
- movs r0, 0x1
- bl sub_801C178
- movs r0, 0x2
- bl sub_801C178
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _0801BD86
-_0801BD34:
- bl LoadMonIconPalettes
- b _0801BD86
-_0801BD3A:
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- bl sub_801C4C0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- b _0801BD86
- .pool
-_0801BD70:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0801BD96
- ldr r0, [r5]
- adds r0, r4
- strb r1, [r0]
- movs r0, 0x1
- b _0801BD98
-_0801BD86:
- ldr r0, =gUnknown_02022C74
- ldr r1, [r0]
- movs r0, 0xBA
- lsls r0, 1
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0801BD96:
- movs r0, 0
-_0801BD98:
- add sp, 0x24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801BB74
-
- thumb_func_start sub_801BDA4
-sub_801BDA4: @ 801BDA4
- push {r4,r5,lr}
- sub sp, 0x8
- adds r2, r0, 0
- ldr r5, =gUnknown_02022C74
- ldr r0, [r5]
- cmp r0, 0
- bne _0801BDBC
- movs r0, 0x1
- negs r0, r0
- b _0801BEEC
- .pool
-_0801BDBC:
- movs r4, 0xBA
- lsls r4, 1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _0801BDCA
- b _0801BEC4
-_0801BDCA:
- lsls r0, 2
- ldr r1, =_0801BDD8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801BDD8:
- .4byte _0801BDF0
- .4byte _0801BE02
- .4byte _0801BE0E
- .4byte _0801BE56
- .4byte _0801BE94
- .4byte _0801BE9E
-_0801BDF0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0801BEDA
-_0801BE02:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _0801BEDA
- b _0801BEEA
-_0801BE0E:
- movs r5, 0x1E
- str r5, [sp]
- movs r4, 0x14
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- b _0801BEDA
-_0801BE56:
- movs r0, 0x1
- bl HideBg
- movs r0, 0x2
- bl HideBg
- ldr r4, =gUnknown_02022C74
- ldr r0, [r4]
- movs r1, 0xBD
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r0, [r4]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r0, [r4]
- movs r1, 0xBB
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- bl RemoveWindow
- b _0801BEDA
- .pool
-_0801BE94:
- bl sub_801C61C
- bl FreeMonIconPalettes
- b _0801BEDA
-_0801BE9E:
- ldr r0, =gUnknown_02022C60
- ldrb r0, [r0]
- adds r1, r2, 0
- bl sub_80186EC
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _0801BEDA
- .pool
-_0801BEC4:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0801BEEA
- ldr r0, [r5]
- adds r0, r4
- strb r1, [r0]
- movs r0, 0x1
- b _0801BEEC
-_0801BEDA:
- ldr r0, =gUnknown_02022C74
- ldr r1, [r0]
- movs r0, 0xBA
- lsls r0, 1
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0801BEEA:
- movs r0, 0
-_0801BEEC:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801BDA4
-
- thumb_func_start sub_801BEF8
-sub_801BEF8: @ 801BEF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r5, 0
- mov r0, sp
- movs r1, 0
- movs r2, 0x6
- bl memset
- ldr r4, =gUnknown_02022C74
- ldr r1, [r4]
- ldr r2, =0x0000018b
- adds r0, r1, r2
- adds r1, 0xA
- movs r2, 0x28
- bl memcpy
- ldr r0, [r4]
- ldr r3, =0x000001b3
- adds r1, r0, r3
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, [r4]
- movs r2, 0xDA
- lsls r2, 1
- adds r0, r1, r2
- adds r1, 0x32
- movs r2, 0x28
- bl memcpy
- ldr r0, [r4]
- movs r3, 0xEE
- lsls r3, 1
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- strb r1, [r0]
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- ldr r2, =0x000f423f
- cmp r0, r2
- bls _0801BF54
- str r2, [r1, 0x4]
-_0801BF54:
- ldr r1, [r4]
- ldr r2, =0x000001dd
- adds r0, r1, r2
- ldr r1, [r1, 0x4]
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- adds r6, r4, 0
-_0801BF66:
- ldr r2, [r6]
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r5
- adds r0, r4, r2
- movs r3, 0xF2
- lsls r3, 1
- adds r0, r3
- adds r1, r2
- adds r1, 0x5A
- movs r2, 0x28
- bl memcpy
- ldr r1, [r6]
- movs r0, 0x83
- lsls r0, 2
- adds r1, r0
- adds r1, r4
- movs r2, 0x1
- negs r2, r2
- adds r7, r2, 0
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _0801BF66
- ldr r6, =gUnknown_02022C74
- ldr r1, [r6]
- movs r3, 0xA2
- lsls r3, 2
- adds r0, r1, r3
- adds r1, 0xFA
- movs r2, 0x28
- bl memcpy
- ldr r0, [r6]
- movs r4, 0xAC
- lsls r4, 2
- adds r0, r4
- movs r1, 0x1
- negs r1, r1
- adds r4, r1, 0
- movs r1, 0xFF
- strb r1, [r0]
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- beq _0801C018
- cmp r0, 0x1
- bgt _0801BFF0
- cmp r0, 0
- beq _0801BFF6
- b _0801C168
- .pool
-_0801BFF0:
- cmp r0, 0x2
- beq _0801C028
- b _0801C168
-_0801BFF6:
- ldr r2, =0x000002b1
- adds r0, r1, r2
- movs r3, 0x91
- lsls r3, 1
- adds r1, r3
- movs r2, 0x28
- bl memcpy
- ldr r1, [r6]
- ldr r0, =0x000002d9
- adds r1, r0
- b _0801C01C
- .pool
-_0801C018:
- ldr r2, =0x000002b1
- adds r1, r2
-_0801C01C:
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- b _0801C168
- .pool
-_0801C028:
- ldr r3, =0x000002b1
- adds r0, r1, r3
- ldrb r1, [r0]
- orrs r1, r7
- strb r1, [r0]
- mov r3, sp
- ldr r1, [r6]
- movs r4, 0xA6
- lsls r4, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- ldr r2, =0x000003e7
- cmp r0, r2
- bls _0801C046
- adds r0, r2, 0
-_0801C046:
- strh r0, [r3]
- mov r3, sp
- movs r4, 0xA7
- lsls r4, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, r2
- bls _0801C058
- adds r0, r2, 0
-_0801C058:
- strh r0, [r3, 0x2]
- mov r3, sp
- movs r4, 0xA8
- lsls r4, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, r2
- bls _0801C06A
- adds r0, r2, 0
-_0801C06A:
- strh r0, [r3, 0x4]
- movs r5, 0
-_0801C06E:
- lsls r4, r5, 1
- adds r4, r5
- lsls r4, 4
- movs r0, 0xB7
- lsls r0, 2
- adds r4, r0
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x2A
- movs r1, 0xFF
- movs r2, 0x4
- bl memset
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x1
- movs r1, 0xFF
- movs r2, 0x29
- bl memset
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x7
- bls _0801C06E
- movs r5, 0
- movs r6, 0
- ldr r1, =gUnknown_02022C74
- mov r8, r1
- movs r2, 0x91
- lsls r2, 1
- mov r10, r2
- ldr r7, =0x00000175
- movs r3, 0xB7
- lsls r3, 2
- mov r9, r3
-_0801C0B6:
- mov r4, r8
- ldr r2, [r4]
- mov r0, r10
- adds r1, r2, r0
- adds r0, r1, r5
- ldrb r3, [r0]
- cmp r3, 0xF7
- beq _0801C0F8
- ldr r1, =0x00000175
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- adds r0, r6, r0
- ldr r4, =0x000002dd
- adds r1, r2, r4
- adds r1, r0
- strb r3, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- b _0801C15E
- .pool
-_0801C0F8:
- adds r0, r5, 0x1
- adds r0, r1, r0
- ldrb r3, [r0]
- cmp r3, 0x2
- bls _0801C108
- adds r0, r5, 0x2
- lsls r0, 16
- b _0801C15C
-_0801C108:
- adds r0, r2, r7
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- add r0, r9
- adds r0, r2, r0
- adds r0, 0x2A
- lsls r1, r3, 1
- add r1, sp
- ldrh r1, [r1]
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r0, r8
- ldr r1, [r0]
- adds r0, r1, r7
- ldrb r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 4
- adds r0, r1, r0
- adds r4, r5, 0x2
- add r1, r10
- adds r1, r4
- ldrb r1, [r1]
- add r0, r9
- strb r1, [r0]
- mov r2, r8
- ldr r1, [r2]
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, r7
- ldrb r0, [r0]
- cmp r0, 0x7
- bhi _0801C168
- movs r6, 0
- lsls r0, r4, 16
-_0801C15C:
- lsrs r5, r0, 16
-_0801C15E:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x27
- bls _0801C0B6
-_0801C168:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801BEF8
-
- thumb_func_start sub_801C178
-sub_801C178: @ 801C178
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r7, =gUnknown_02022C74
- ldr r0, [r7]
- lsls r1, r4, 1
- movs r2, 0xBB
- lsls r2, 1
- adds r0, r2
- adds r0, r1
- ldrh r0, [r0]
- lsls r6, r0, 24
- lsrs r5, r6, 24
- adds r0, r5, 0
- bl PutWindowTilemap
- adds r0, r5, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- cmp r4, 0x1
- beq _0801C2A0
- cmp r4, 0x1
- bgt _0801C1C4
- cmp r4, 0
- beq _0801C1D0
- mov r9, r6
- b _0801C498
- .pool
-_0801C1C4:
- mov r0, r8
- cmp r0, 0x2
- bne _0801C1CC
- b _0801C304
-_0801C1CC:
- mov r9, r6
- b _0801C498
-_0801C1D0:
- ldr r2, [r7]
- movs r1, 0xB8
- lsls r1, 1
- mov r10, r1
- adds r0, r2, r1
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r0, 28
- lsls r1, r0, 1
- adds r1, r0
- ldr r0, =gUnknown_082F0E10
- mov r8, r0
- add r1, r8
- str r1, [sp]
- ldr r1, [sp, 0xC]
- str r1, [sp, 0x4]
- ldr r0, =0x0000018b
- adds r2, r0
- str r2, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- ldr r4, [r7]
- movs r1, 0xDA
- lsls r1, 1
- mov r9, r1
- add r4, r9
- movs r0, 0x3
- movs r1, 0x2
- bl GetFontAttribute
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x3
- adds r1, r4, 0
- bl GetStringWidth
- movs r1, 0xA0
- subs r1, r0
- cmp r1, 0
- bge _0801C22E
- movs r1, 0
-_0801C22E:
- lsls r2, r1, 24
- lsrs r2, 24
- ldr r3, [r7]
- mov r1, r10
- adds r0, r3, r1
- ldr r0, [r0]
- ldrb r1, [r0]
- lsls r1, 28
- lsrs r1, 28
- lsls r0, r1, 1
- adds r0, r1
- add r0, r8
- str r0, [sp]
- ldr r0, [sp, 0xC]
- str r0, [sp, 0x4]
- add r3, r9
- str r3, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x3
- movs r3, 0x11
- bl AddTextPrinterParameterized3
- ldr r2, [r7]
- ldr r0, [r2, 0x4]
- mov r9, r6
- cmp r0, 0
- bne _0801C266
- b _0801C498
-_0801C266:
- mov r1, r10
- adds r0, r2, r1
- ldr r0, [r0]
- ldrb r1, [r0]
- lsls r1, 28
- lsrs r1, 28
- lsls r0, r1, 1
- adds r0, r1
- add r0, r8
- str r0, [sp]
- ldr r0, [sp, 0xC]
- str r0, [sp, 0x4]
- ldr r1, =0x000001dd
- adds r0, r2, r1
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0xA6
- movs r3, 0x11
- bl AddTextPrinterParameterized3
- b _0801C498
- .pool
-_0801C2A0:
- mov r9, r6
-_0801C2A2:
- ldr r2, [sp, 0xC]
- lsls r4, r2, 24
- asrs r4, 24
- lsls r3, r4, 4
- adds r3, 0x2
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gUnknown_02022C74
- ldr r2, [r0]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldrb r0, [r0]
- lsrs r0, 4
- lsls r1, r0, 1
- adds r1, r0
- ldr r0, =gUnknown_082F0E10
- adds r1, r0
- str r1, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r4
- movs r1, 0xF2
- lsls r1, 1
- adds r0, r1
- adds r2, r0
- str r2, [sp, 0x8]
- mov r2, r9
- lsrs r0, r2, 24
- movs r1, 0x3
- movs r2, 0
- bl AddTextPrinterParameterized3
- adds r4, 0x1
- lsls r4, 24
- lsrs r0, r4, 24
- str r0, [sp, 0xC]
- asrs r4, 24
- cmp r4, 0x3
- ble _0801C2A2
- b _0801C498
- .pool
-_0801C304:
- ldr r4, =gUnknown_082F0E18
- ldr r2, [r7]
- ldrb r0, [r2, 0x8]
- lsls r0, 30
- lsrs r0, 30
- adds r0, r4
- ldrb r3, [r0]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- lsls r0, 28
- lsrs r0, 28
- lsls r1, r0, 1
- adds r1, r0
- ldr r0, =gUnknown_082F0E10
- mov r10, r0
- add r1, r10
- str r1, [sp]
- ldr r1, [sp, 0xC]
- str r1, [sp, 0x4]
- movs r1, 0xA2
- lsls r1, 2
- adds r0, r2, r1
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x3
- movs r2, 0
- bl AddTextPrinterParameterized3
- ldr r2, [r7]
- ldrb r1, [r2, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- beq _0801C398
- lsls r0, r1, 30
- lsrs r0, 30
- adds r0, r4
- ldrb r3, [r0]
- adds r3, 0x10
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r1, 28
- lsrs r1, 28
- lsls r0, r1, 1
- adds r0, r1
- add r0, r10
- str r0, [sp]
- ldr r0, [sp, 0xC]
- str r0, [sp, 0x4]
- ldr r1, =0x000002b1
- adds r0, r2, r1
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x3
- movs r2, 0
- bl AddTextPrinterParameterized3
- mov r9, r6
- b _0801C498
- .pool
-_0801C398:
- movs r2, 0
- mov r8, r2
- lsls r0, r1, 30
- lsrs r0, 30
- adds r0, r4
- ldrb r0, [r0]
- adds r4, r0, 0
- adds r4, 0x10
- movs r0, 0x3
- movs r1, 0x2
- bl GetFontAttribute
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, [r7]
- ldr r1, =0x00000175
- adds r0, r1
- mov r9, r6
- ldr r1, [sp, 0xC]
- ldrb r0, [r0]
- cmp r1, r0
- bge _0801C498
- str r5, [sp, 0x10]
- lsls r0, r4, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- mov r10, r2
-_0801C3CE:
- mov r0, r8
- lsls r2, r0, 24
- lsrs r2, 24
- ldr r3, [r7]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r1, 28
- lsrs r1, 28
- lsls r0, r1, 1
- adds r0, r1
- ldr r1, =gUnknown_082F0E10
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r1, [sp, 0xC]
- lsls r0, r1, 24
- asrs r6, r0, 24
- lsls r0, r6, 1
- adds r0, r6
- lsls r5, r0, 4
- movs r0, 0xB7
- lsls r0, 2
- adds r4, r5, r0
- adds r3, r4
- adds r3, 0x1
- str r3, [sp, 0x8]
- ldr r0, [sp, 0x10]
- movs r1, 0x3
- ldr r3, [sp, 0x14]
- bl AddTextPrinterParameterized3
- ldr r1, [r7]
- adds r0, r1, r5
- ldr r2, =0x00000306
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0801C482
- adds r1, r4
- adds r1, 0x1
- movs r0, 0x3
- mov r2, r10
- bl GetStringWidth
- add r8, r0
- mov r0, r8
- lsls r2, r0, 24
- lsrs r2, 24
- ldr r3, [r7]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r1, 28
- lsrs r1, 28
- lsls r0, r1, 1
- adds r0, r1
- ldr r1, =gUnknown_082F0E10
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r3, r4
- adds r3, 0x2A
- str r3, [sp, 0x8]
- ldr r0, [sp, 0x10]
- movs r1, 0x3
- ldr r3, [sp, 0x14]
- bl AddTextPrinterParameterized3
- ldr r1, [r7]
- adds r1, r4
- adds r1, 0x2A
- movs r0, 0x3
- mov r2, r10
- bl GetStringWidth
- ldr r1, [r7]
- adds r1, r5
- movs r2, 0xB7
- lsls r2, 2
- adds r1, r2
- ldrb r1, [r1]
- adds r0, r1
- add r8, r0
-_0801C482:
- adds r1, r6, 0x1
- lsls r1, 24
- lsrs r0, r1, 24
- str r0, [sp, 0xC]
- asrs r1, 24
- ldr r0, [r7]
- ldr r2, =0x00000175
- adds r0, r2
- ldrb r0, [r0]
- cmp r1, r0
- blt _0801C3CE
-_0801C498:
- mov r1, r9
- lsrs r0, r1, 24
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801C178
-
- thumb_func_start sub_801C4C0
-sub_801C4C0: @ 801C4C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r7, 0
- ldr r4, =gUnknown_02022C74
- ldr r0, [r4]
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r4]
- movs r2, 0xA9
- lsls r2, 1
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0
- beq _0801C52C
- bl sub_80D2E84
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =SpriteCallbackDummy
- str r7, [sp]
- str r7, [sp, 0x4]
- movs r2, 0xDC
- movs r3, 0x14
- bl sub_80D2D78
- ldr r1, [r4]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- strb r0, [r1]
- ldr r2, =gSprites
- ldr r0, [r4]
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0, 0x5]
-_0801C52C:
- ldr r1, [r4]
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- beq _0801C5EE
- ldrb r1, [r1, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801C5EE
- ldr r0, =gUnknown_082F1D00
- bl LoadCompressedSpriteSheetUsingHeap
- ldr r0, [r4]
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- lsrs r0, 4
- lsls r0, 3
- ldr r1, =gUnknown_082F1D08
- adds r0, r1
- bl LoadSpritePalette
- ldr r0, [r4]
- ldrb r0, [r0, 0x9]
- cmp r7, r0
- bcs _0801C5EE
- adds r6, r4, 0
- ldr r0, =0x0000017d
- mov r10, r0
- movs r1, 0
- mov r9, r1
- movs r2, 0xFF
- mov r8, r2
-_0801C572:
- ldr r1, [r6]
- lsls r4, r7, 1
- add r1, r10
- adds r1, r4
- ldrb r0, [r1]
- mov r2, r8
- orrs r0, r2
- strb r0, [r1]
- ldr r1, [r6]
- movs r0, 0xBF
- lsls r0, 1
- adds r1, r0
- adds r1, r4
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- lsls r1, r7, 5
- movs r0, 0xD8
- subs r5, r0, r1
- ldr r0, =gUnknown_082F1D48
- adds r1, r5, 0
- movs r2, 0x90
- movs r3, 0x8
- bl CreateSprite
- ldr r1, [r6]
- add r1, r10
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r6]
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, 0
- beq _0801C5E0
- bl sub_80D2E84
- lsls r0, 16
- lsrs r0, 16
- mov r2, r9
- str r2, [sp]
- str r2, [sp, 0x4]
- ldr r1, =SpriteCallbackDummy
- adds r2, r5, 0
- movs r3, 0x88
- bl sub_80D2D78
- ldr r1, [r6]
- movs r2, 0xBF
- lsls r2, 1
- adds r1, r2
- adds r1, r4
- strb r0, [r1]
-_0801C5E0:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, [r6]
- ldrb r0, [r0, 0x9]
- cmp r7, r0
- bcc _0801C572
-_0801C5EE:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801C4C0
-
- thumb_func_start sub_801C61C
-sub_801C61C: @ 801C61C
- push {r4-r7,lr}
- movs r5, 0
- ldr r4, =gUnknown_02022C74
- ldr r0, [r4]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0801C640
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl sub_80D2EF8
-_0801C640:
- ldr r0, [r4]
- ldrb r2, [r0, 0x9]
- cmp r2, 0
- beq _0801C6B4
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801C6B4
- cmp r5, r2
- bcs _0801C6A4
- adds r6, r4, 0
- ldr r7, =gSprites
-_0801C65A:
- ldr r0, [r6]
- lsls r4, r5, 1
- ldr r1, =0x0000017d
- adds r0, r1
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0801C678
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- bl DestroySprite
-_0801C678:
- ldr r0, [r6]
- movs r2, 0xBF
- lsls r2, 1
- adds r0, r2
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0801C696
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- bl sub_80D2EF8
-_0801C696:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r6]
- ldrb r0, [r0, 0x9]
- cmp r5, r0
- bcc _0801C65A
-_0801C6A4:
- movs r4, 0x80
- lsls r4, 8
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
-_0801C6B4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801C61C
-
- thumb_func_start sub_801C6C8
-sub_801C6C8: @ 801C6C8
- push {r4-r6,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _0801C6DE
- ldr r5, =gUnknown_02022C78
- ldr r0, =0x000013a4
- bl AllocZeroed
- str r0, [r5]
- cmp r0, 0
- bne _0801C6EC
-_0801C6DE:
- movs r0, 0
- b _0801C71C
- .pool
-_0801C6EC:
- movs r6, 0xDE
- lsls r6, 1
- adds r1, r4, 0
- adds r2, r6, 0
- bl memcpy
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- cmp r0, 0x7
- bls _0801C704
- movs r0, 0
- strb r0, [r1, 0x3]
-_0801C704:
- ldr r2, [r5]
- adds r3, r2, r6
- ldrb r0, [r2, 0x3]
- lsls r0, 4
- ldr r1, =gUnknown_082F24C8
- adds r0, r1
- str r0, [r3]
- ldr r0, =0x000001c1
- adds r1, r2, r0
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0x1
-_0801C71C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801C6C8
-
- thumb_func_start sub_801C72C
-sub_801C72C: @ 801C72C
- push {r4,lr}
- ldr r4, =gUnknown_02022C78
- ldr r0, [r4]
- cmp r0, 0
- beq _0801C748
- ldr r2, =0x000013a4
- movs r1, 0
- bl memset
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
-_0801C748:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801C72C
-
- thumb_func_start sub_801C758
-sub_801C758: @ 801C758
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r5, =gUnknown_02022C78
- ldr r0, [r5]
- cmp r0, 0
- bne _0801C778
- movs r0, 0x1
- negs r0, r0
- b _0801CA3A
- .pool
-_0801C778:
- movs r4, 0xE0
- lsls r4, 1
- adds r0, r4
- ldrb r0, [r0]
- lsrs r0, 1
- cmp r0, 0x6
- bls _0801C788
- b _0801CA04
-_0801C788:
- lsls r0, 2
- ldr r1, =_0801C798
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801C798:
- .4byte _0801C7B4
- .4byte _0801C7C6
- .4byte _0801C82C
- .4byte _0801C8D4
- .4byte _0801C990
- .4byte _0801C996
- .4byte _0801C9A8
-_0801C7B4:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0801CA1E
-_0801C7C6:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _0801C7D2
- b _0801CA38
-_0801C7D2:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x40
- movs r1, 0xF0
- bl SetGpuReg
- ldr r1, =0x00001a98
- movs r0, 0x44
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x1F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x1B
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- b _0801CA1E
- .pool
-_0801C82C:
- movs r5, 0x1E
- str r5, [sp]
- movs r4, 0x14
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r5, =gUnknown_02022C78
- ldr r0, [r5]
- movs r1, 0xDE
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0x8
- bl decompress_and_copy_tile_data_to_vram
- ldr r4, =gUnknown_082F1DE8
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r5]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r2
- strh r0, [r1]
- adds r4, 0x8
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r5]
- movs r3, 0xE5
- lsls r3, 1
- adds r1, r3
- strh r0, [r1]
- b _0801CA1E
- .pool
-_0801C8D4:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- beq _0801C8E2
- b _0801CA38
-_0801C8E2:
- movs r0, 0x1
- bl stdpal_get
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r0, =gUnknown_02022C78
- mov r8, r0
- ldr r0, [r0]
- movs r4, 0xDE
- lsls r4, 1
- adds r0, r4
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- mov r2, r8
- ldr r1, [r2]
- adds r4, r1, r4
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- movs r6, 0xE9
- lsls r6, 2
- adds r1, r6
- bl LZ77UnCompWram
- mov r3, r8
- ldr r1, [r3]
- adds r1, r6
- movs r4, 0x1E
- str r4, [sp]
- movs r5, 0x3
- str r5, [sp, 0x4]
- str r7, [sp, 0x8]
- str r7, [sp, 0xC]
- str r4, [sp, 0x10]
- str r5, [sp, 0x14]
- movs r0, 0x1
- mov r10, r0
- str r0, [sp, 0x18]
- movs r2, 0x8
- mov r9, r2
- str r2, [sp, 0x1C]
- str r7, [sp, 0x20]
- movs r2, 0
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
- mov r3, r8
- ldr r1, [r3]
- adds r1, r6
- str r4, [sp]
- movs r0, 0x17
- str r0, [sp, 0x4]
- str r7, [sp, 0x8]
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- str r0, [sp, 0x14]
- mov r0, r10
- str r0, [sp, 0x18]
- mov r2, r9
- str r2, [sp, 0x1C]
- str r7, [sp, 0x20]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0x3
- bl CopyRectToBgTilemapBufferRect
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0801CA1E
- .pool
-_0801C990:
- bl sub_801CDCC
- b _0801CA1E
-_0801C996:
- bl sub_801CE7C
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- b _0801CA1E
-_0801C9A8:
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r4, =gUnknown_02022C78
- ldr r1, [r4]
- movs r3, 0xE5
- lsls r3, 2
- adds r0, r1, r3
- movs r2, 0xE3
- lsls r2, 1
- adds r1, r2
- bl AddScrollIndicatorArrowPair
- ldr r1, [r4]
- ldr r3, =0x000001c1
- adds r2, r1, r3
- movs r1, 0
- strb r0, [r2]
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- b _0801CA1E
- .pool
-_0801CA04:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0801CA38
- ldr r0, [r5]
- adds r0, r4
- ldrb r2, [r0]
- movs r1, 0x1
- ands r1, r2
- strb r1, [r0]
- movs r0, 0x1
- b _0801CA3A
-_0801CA1E:
- ldr r0, =gUnknown_02022C78
- ldr r2, [r0]
- movs r0, 0xE0
- lsls r0, 1
- adds r2, r0
- ldrb r3, [r2]
- lsrs r1, r3, 1
- adds r1, 0x1
- lsls r1, 1
- movs r0, 0x1
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_0801CA38:
- movs r0, 0
-_0801CA3A:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801C758
-
- thumb_func_start sub_801CA50
-sub_801CA50: @ 801CA50
- push {r4,r5,lr}
- sub sp, 0x8
- adds r2, r0, 0
- ldr r5, =gUnknown_02022C78
- ldr r0, [r5]
- cmp r0, 0
- bne _0801CA68
- movs r0, 0x1
- negs r0, r0
- b _0801CC2A
- .pool
-_0801CA68:
- movs r4, 0xE0
- lsls r4, 1
- adds r0, r4
- ldrb r0, [r0]
- lsrs r0, 1
- cmp r0, 0x5
- bls _0801CA78
- b _0801CBF4
-_0801CA78:
- lsls r0, 2
- ldr r1, =_0801CA88
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801CA88:
- .4byte _0801CAA0
- .4byte _0801CAB2
- .4byte _0801CAF4
- .4byte _0801CB54
- .4byte _0801CB84
- .4byte _0801CBC0
-_0801CAA0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0801CC0E
-_0801CAB2:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _0801CABE
- b _0801CC28
-_0801CABE:
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
- b _0801CC0E
-_0801CAF4:
- movs r4, 0x1E
- str r4, [sp]
- movs r5, 0x14
- str r5, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- movs r5, 0x18
- str r5, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0801CC0E
-_0801CB54:
- movs r0, 0x1
- bl HideBg
- movs r0, 0x2
- bl HideBg
- ldr r4, =gUnknown_02022C78
- ldr r0, [r4]
- movs r1, 0xE5
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r0, [r4]
- movs r2, 0xE4
- lsls r2, 1
- adds r0, r2
- ldrb r0, [r0]
- bl RemoveWindow
- b _0801CC0E
- .pool
-_0801CB84:
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r4, =gUnknown_02022C78
- ldr r0, [r4]
- ldr r2, =0x000001c1
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0801CC0E
- bl RemoveScrollIndicatorArrowPair
- ldr r0, [r4]
- ldr r2, =0x000001c1
- adds r1, r0, r2
- movs r0, 0xFF
- strb r0, [r1]
- b _0801CC0E
- .pool
-_0801CBC0:
- ldr r0, =gUnknown_02022C60
- ldrb r0, [r0]
- adds r1, r2, 0
- bl sub_80186EC
- movs r0, 0x3
- bl sub_8018798
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _0801CC0E
- .pool
-_0801CBF4:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0801CC28
- ldr r0, [r5]
- adds r0, r4
- ldrb r2, [r0]
- movs r1, 0x1
- ands r1, r2
- strb r1, [r0]
- movs r0, 0x1
- b _0801CC2A
-_0801CC0E:
- ldr r0, =gUnknown_02022C78
- ldr r2, [r0]
- movs r0, 0xE0
- lsls r0, 1
- adds r2, r0
- ldrb r3, [r2]
- lsrs r1, r3, 1
- adds r1, 0x1
- lsls r1, 1
- movs r0, 0x1
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_0801CC28:
- movs r0, 0
-_0801CC2A:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801CA50
-
- thumb_func_start sub_801CC38
-sub_801CC38: @ 801CC38
- push {r4,r5,lr}
- ldr r4, =gUnknown_02022C78
- ldr r2, [r4]
- movs r5, 0xE0
- lsls r5, 1
- adds r0, r2, r5
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0801CC72
- ldr r0, =0x000001c1
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0801CC72
- bl RemoveScrollIndicatorArrowPair
- ldr r0, [r4]
- ldr r2, =0x000001c1
- adds r1, r0, r2
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
-_0801CC72:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801CC38
-
- thumb_func_start sub_801CC80
-sub_801CC80: @ 801CC80
- push {r4,lr}
- ldr r4, =gUnknown_02022C78
- ldr r2, [r4]
- movs r1, 0xE0
- lsls r1, 1
- adds r0, r2, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801CCC0
- movs r3, 0xE5
- lsls r3, 2
- adds r0, r2, r3
- movs r3, 0xE3
- lsls r3, 1
- adds r1, r2, r3
- bl AddScrollIndicatorArrowPair
- ldr r1, [r4]
- ldr r2, =0x000001c1
- adds r1, r2
- strb r0, [r1]
- ldr r1, [r4]
- movs r3, 0xE0
- lsls r3, 1
- adds r1, r3
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_0801CCC0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801CC80
-
- thumb_func_start sub_801CCD0
-sub_801CCD0: @ 801CCD0
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r3, r4, 0
- ldr r2, =gUnknown_02022C78
- ldr r0, [r2]
- mov r12, r0
- movs r0, 0xE1
- lsls r0, 1
- add r0, r12
- ldrb r1, [r0]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- adds r6, r2, 0
- cmp r0, 0
- beq _0801CD00
- bl sub_801CFA4
-_0801CCF6:
- movs r0, 0xFF
- b _0801CDC6
- .pool
-_0801CD00:
- cmp r4, 0x2
- beq _0801CD1C
- cmp r4, 0x2
- bgt _0801CD0E
- cmp r4, 0x1
- beq _0801CD18
- b _0801CCF6
-_0801CD0E:
- cmp r3, 0x40
- beq _0801CD20
- cmp r3, 0x80
- beq _0801CD50
- b _0801CCF6
-_0801CD18:
- movs r0, 0
- b _0801CDC6
-_0801CD1C:
- movs r0, 0x1
- b _0801CDC6
-_0801CD20:
- movs r0, 0xE3
- lsls r0, 1
- add r0, r12
- ldrh r0, [r0]
- cmp r0, 0
- beq _0801CCF6
- movs r0, 0xE0
- lsls r0, 1
- add r0, r12
- ldrb r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0801CCF6
- ldr r2, =0x000001c3
- add r2, r12
- ldrb r1, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- b _0801CD7E
- .pool
-_0801CD50:
- movs r0, 0xE3
- lsls r0, 1
- add r0, r12
- movs r1, 0xE2
- lsls r1, 1
- add r1, r12
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- beq _0801CCF6
- movs r0, 0xE0
- lsls r0, 1
- add r0, r12
- ldrb r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0801CCF6
- ldr r2, =0x000001c3
- add r2, r12
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
-_0801CD7E:
- strb r0, [r2]
- ldr r2, [r6]
- movs r4, 0xE1
- lsls r4, 1
- adds r2, r4
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r3, [r6]
- adds r3, r4
- ldrb r1, [r3]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldr r1, [r6]
- adds r4, 0x1
- adds r1, r4
- ldrb r3, [r1]
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- ands r2, r0
- cmp r2, 0
- beq _0801CDC4
- movs r0, 0x3
- b _0801CDC6
- .pool
-_0801CDC4:
- movs r0, 0x2
-_0801CDC6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801CCD0
-
- thumb_func_start sub_801CDCC
-sub_801CDCC: @ 801CDCC
- push {r4-r6,lr}
- movs r5, 0
- ldr r4, =gUnknown_02022C78
- ldr r1, [r4]
- movs r2, 0xE7
- lsls r2, 1
- adds r0, r1, r2
- adds r1, 0x4
- movs r2, 0x28
- bl memcpy
- ldr r0, [r4]
- movs r3, 0xFB
- lsls r3, 1
- adds r1, r0, r3
- movs r0, 0xFF
- strb r0, [r1]
- adds r6, r4, 0
-_0801CDF0:
- ldr r2, [r6]
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r5
- adds r0, r4, r2
- ldr r3, =0x000001f7
- adds r0, r3
- adds r1, r2
- adds r1, 0x2C
- movs r2, 0x28
- bl memcpy
- ldr r0, [r6]
- ldr r1, =0x0000021f
- adds r0, r1
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
- cmp r5, 0x7
- bls _0801CE34
- ldr r1, [r6]
- ldr r2, =0x000001f7
- adds r0, r1, r2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0801CE34
- movs r3, 0xE2
- lsls r3, 1
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0801CE34:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x9
- bls _0801CDF0
- ldr r2, =gUnknown_02022C78
- ldr r1, [r2]
- movs r4, 0xE5
- lsls r4, 2
- adds r1, r4
- ldr r0, =gUnknown_082F1DF8
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, [r0]
- str r0, [r1]
- ldr r2, [r2]
- movs r5, 0xE2
- lsls r5, 1
- adds r0, r2, r5
- ldrh r1, [r0]
- movs r3, 0xE7
- lsls r3, 2
- adds r0, r2, r3
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801CDCC
-
- thumb_func_start sub_801CE7C
-sub_801CE7C: @ 801CE7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- movs r5, 0
- ldr r6, =gUnknown_02022C78
- ldr r0, [r6]
- movs r7, 0xE4
- lsls r7, 1
- adds r0, r7
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r6]
- movs r4, 0xE5
- lsls r4, 1
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r6]
- adds r0, r7
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r4, [r6]
- movs r0, 0xE7
- lsls r0, 1
- mov r8, r0
- add r4, r8
- movs r0, 0x3
- movs r1, 0x2
- bl GetFontAttribute
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x3
- adds r1, r4, 0
- bl GetStringWidth
- movs r1, 0xE0
- subs r1, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- cmp r1, 0
- bge _0801CEEC
- movs r1, 0
-_0801CEEC:
- ldr r4, [r6]
- adds r0, r4, r7
- ldrb r0, [r0]
- lsls r2, r1, 24
- lsrs r2, 24
- movs r3, 0xDE
- lsls r3, 1
- adds r1, r4, r3
- ldr r1, [r1]
- ldrb r1, [r1]
- lsls r1, 28
- lsrs r1, 28
- lsls r3, r1, 1
- adds r3, r1
- ldr r1, =gUnknown_082F1DE0
- adds r3, r1
- str r3, [sp]
- str r5, [sp, 0x4]
- add r4, r8
- str r4, [sp, 0x8]
- movs r1, 0x3
- movs r3, 0x6
- bl AddTextPrinterParameterized3
-_0801CF1C:
- ldr r6, =gUnknown_02022C78
- ldr r4, [r6]
- movs r1, 0xE5
- lsls r1, 1
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r3, r5, 4
- adds r3, 0x2
- lsls r3, 24
- lsrs r3, 24
- movs r2, 0xDE
- lsls r2, 1
- adds r1, r4, r2
- ldr r1, [r1]
- ldrb r1, [r1]
- lsrs r1, 4
- lsls r2, r1, 1
- adds r2, r1
- ldr r1, =gUnknown_082F1DE0
- adds r2, r1
- str r2, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r5
- ldr r2, =0x000001f7
- adds r1, r2
- adds r4, r1
- str r4, [sp, 0x8]
- movs r1, 0x3
- movs r2, 0
- bl AddTextPrinterParameterized3
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x9
- bls _0801CF1C
- ldr r0, [r6]
- movs r3, 0xE4
- lsls r3, 1
- adds r0, r3
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, [r6]
- movs r1, 0xE5
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801CE7C
-
- thumb_func_start sub_801CFA4
-sub_801CFA4: @ 801CFA4
- push {r4-r6,lr}
- ldr r0, =gUnknown_02022C78
- ldr r1, [r0]
- movs r2, 0xE1
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- lsrs r4, r0, 1
- lsls r4, 8
- ldr r6, =0x000001c3
- adds r0, r1, r6
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801CFE4
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x1
- bl ChangeBgY
- movs r0, 0x3
- adds r1, r4, 0
- movs r2, 0x1
- bl ChangeBgY
- b _0801CFF8
- .pool
-_0801CFE4:
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x2
- bl ChangeBgY
- movs r0, 0x3
- adds r1, r4, 0
- movs r2, 0x2
- bl ChangeBgY
-_0801CFF8:
- ldr r3, =gUnknown_02022C78
- ldr r0, [r3]
- ldr r2, =0x000001c3
- adds r5, r0, r2
- ldrb r4, [r5]
- lsrs r1, r4, 1
- movs r6, 0xE1
- lsls r6, 1
- adds r0, r6
- ldrb r0, [r0]
- lsrs r0, 1
- adds r1, r0
- lsls r1, 1
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r4
- orrs r0, r1
- strb r0, [r5]
- ldr r1, [r3]
- adds r2, r1, r2
- ldrb r2, [r2]
- lsrs r0, r2, 1
- cmp r0, 0xF
- bls _0801D070
- adds r0, r6, 0
- ands r0, r2
- cmp r0, 0
- beq _0801D044
- movs r0, 0xE3
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- b _0801D04E
- .pool
-_0801D044:
- movs r2, 0xE3
- lsls r2, 1
- adds r1, r2
- ldrh r0, [r1]
- subs r0, 0x1
-_0801D04E:
- strh r0, [r1]
- ldr r0, [r3]
- movs r6, 0xE1
- lsls r6, 1
- adds r2, r0, r6
- ldrb r1, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldr r1, =0x000001c3
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- strb r0, [r2]
-_0801D070:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801CFA4
-
- thumb_func_start mevent_srv_init_wnews
-mevent_srv_init_wnews: @ 801D07C
- push {r4,lr}
- ldr r4, =gUnknown_02022C7C
- movs r0, 0x60
- bl AllocZeroed
- str r0, [r4]
- ldr r1, =gUnknown_082F298C
- movs r2, 0
- movs r3, 0x1
- bl mevent_srv_init_common
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mevent_srv_init_wnews
-
- thumb_func_start mevent_srv_new_wcard
-mevent_srv_new_wcard: @ 801D0A0
- push {r4,lr}
- ldr r4, =gUnknown_02022C7C
- movs r0, 0x60
- bl AllocZeroed
- str r0, [r4]
- ldr r1, =gUnknown_082F29EC
- movs r2, 0
- movs r3, 0x1
- bl mevent_srv_init_common
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mevent_srv_new_wcard
-
- thumb_func_start sub_801D0C4
-sub_801D0C4: @ 801D0C4
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r4, =gUnknown_02022C7C
- ldr r0, [r4]
- cmp r0, 0
- bne _0801D0D8
- movs r0, 0x3
- b _0801D0F8
- .pool
-_0801D0D8:
- bl mevent_dispatch_08145600
- adds r5, r0, 0
- cmp r5, 0x3
- bne _0801D0F6
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- strh r1, [r6]
- bl mevent_srv_free_resources
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
-_0801D0F6:
- adds r0, r5, 0
-_0801D0F8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801D0C4
-
- thumb_func_start mevent_srv_init_common
-mevent_srv_init_common: @ 801D100
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r4, r0, 0
- adds r6, r1, 0
- mov r8, r2
- mov r9, r3
- movs r5, 0
- str r5, [r4]
- str r5, [r4, 0x8]
- movs r0, 0xA6
- lsls r0, 1
- bl AllocZeroed
- str r0, [r4, 0x18]
- movs r0, 0xDE
- lsls r0, 1
- bl AllocZeroed
- str r0, [r4, 0x1C]
- movs r0, 0x80
- lsls r0, 3
- bl AllocZeroed
- str r0, [r4, 0x14]
- movs r0, 0x64
- bl AllocZeroed
- str r0, [r4, 0x20]
- str r6, [r4, 0x10]
- str r5, [r4, 0xC]
- adds r4, 0x38
- adds r0, r4, 0
- mov r1, r8
- mov r2, r9
- bl sub_801D8D8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end mevent_srv_init_common
-
- thumb_func_start mevent_srv_free_resources
-mevent_srv_free_resources: @ 801D158
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x18]
- bl Free
- ldr r0, [r4, 0x1C]
- bl Free
- ldr r0, [r4, 0x14]
- bl Free
- ldr r0, [r4, 0x20]
- bl Free
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end mevent_srv_free_resources
-
- thumb_func_start mevent_srv_814501C
-mevent_srv_814501C: @ 801D17C
- push {lr}
- adds r0, 0x38
- bl sub_801D904
- pop {r0}
- bx r0
- thumb_func_end mevent_srv_814501C
-
- thumb_func_start sub_801D188
-sub_801D188: @ 801D188
- push {lr}
- cmp r0, 0
- bne _0801D190
- adds r0, r1, 0
-_0801D190:
- pop {r1}
- bx r1
- thumb_func_end sub_801D188
-
- thumb_func_start sub_801D194
-sub_801D194: @ 801D194
- push {lr}
- cmp r1, r0
- bcs _0801D19E
- movs r0, 0
- b _0801D1A8
-_0801D19E:
- cmp r1, r0
- beq _0801D1A6
- movs r0, 0x2
- b _0801D1A8
-_0801D1A6:
- movs r0, 0x1
-_0801D1A8:
- pop {r1}
- bx r1
- thumb_func_end sub_801D194
-
- thumb_func_start sub_801D1AC
-sub_801D1AC: @ 801D1AC
- movs r1, 0x4
- str r1, [r0, 0x8]
- movs r0, 0
- bx lr
- thumb_func_end sub_801D1AC
-
- thumb_func_start sub_801D1B4
-sub_801D1B4: @ 801D1B4
- movs r0, 0x3
- bx lr
- thumb_func_end sub_801D1B4
-
- thumb_func_start sub_801D1B8
-sub_801D1B8: @ 801D1B8
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x38
- bl sub_801D8C0
- cmp r0, 0
- beq _0801D1CA
- movs r0, 0x4
- str r0, [r4, 0x8]
-_0801D1CA:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D1B8
-
- thumb_func_start sub_801D1D4
-sub_801D1D4: @ 801D1D4
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x38
- bl sub_801D8CC
- cmp r0, 0
- beq _0801D1E6
- movs r0, 0x4
- str r0, [r4, 0x8]
-_0801D1E6:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D1D4
-
- thumb_func_start sub_801D1F0
-sub_801D1F0: @ 801D1F0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0xC]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r2, [r5, 0x10]
- adds r3, r2, r1
- adds r0, 0x1
- str r0, [r5, 0xC]
- ldr r0, [r3]
- cmp r0, 0x1E
- bls _0801D20C
- b _0801D464
-_0801D20C:
- lsls r0, 2
- ldr r1, =_0801D21C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801D21C:
- .4byte _0801D298
- .4byte _0801D2A2
- .4byte _0801D2A8
- .4byte _0801D2E2
- .4byte _0801D2D8
- .4byte _0801D2BA
- .4byte _0801D2C6
- .4byte _0801D2EC
- .4byte _0801D300
- .4byte _0801D308
- .4byte _0801D31E
- .4byte _0801D32E
- .4byte _0801D33A
- .4byte _0801D360
- .4byte _0801D348
- .4byte _0801D390
- .4byte _0801D378
- .4byte _0801D3DC
- .4byte _0801D3A8
- .4byte _0801D3C0
- .4byte _0801D3CE
- .4byte _0801D406
- .4byte _0801D3EA
- .4byte _0801D3F8
- .4byte _0801D40E
- .4byte _0801D418
- .4byte _0801D422
- .4byte _0801D43C
- .4byte _0801D450
- .4byte _0801D458
- .4byte _0801D2CC
-_0801D298:
- movs r0, 0x1
- str r0, [r5, 0x8]
- ldr r0, [r3, 0x4]
- str r0, [r5, 0x4]
- b _0801D464
-_0801D2A2:
- movs r0, 0x3
- str r0, [r5, 0x8]
- b _0801D464
-_0801D2A8:
- adds r0, r5, 0
- adds r0, 0x38
- ldr r1, [r3, 0x4]
- ldr r2, [r5, 0x14]
- bl sub_801D928
- movs r0, 0x2
- str r0, [r5, 0x8]
- b _0801D464
-_0801D2BA:
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- movs r2, 0x64
- bl memcpy
- b _0801D464
-_0801D2C6:
- ldr r0, [r5, 0x20]
- movs r1, 0
- b _0801D2D0
-_0801D2CC:
- ldr r0, [r5, 0x20]
- movs r1, 0x1
-_0801D2D0:
- bl sub_801B6A0
- str r0, [r5, 0x4]
- b _0801D464
-_0801D2D8:
- ldr r1, [r5, 0x4]
- ldr r0, [r3, 0x4]
- cmp r1, r0
- beq _0801D2E2
- b _0801D464
-_0801D2E2:
- movs r0, 0
- str r0, [r5, 0xC]
- ldr r0, [r3, 0x8]
- str r0, [r5, 0x10]
- b _0801D464
-_0801D2EC:
- ldr r0, [r3, 0x8]
- ldr r1, [r5, 0x18]
- bl sub_801D188
- adds r2, r0, 0
- ldr r1, [r5, 0x20]
- bl sub_801B6EC
- str r0, [r5, 0x4]
- b _0801D464
-_0801D300:
- ldr r0, [r5, 0x14]
- ldr r0, [r0]
- str r0, [r5, 0x4]
- b _0801D464
-_0801D308:
- ldr r0, [r3, 0x8]
- adds r1, r5, 0
- adds r1, 0x34
- bl sub_801D188
- adds r2, r0, 0
- ldr r1, [r5, 0x20]
- bl sub_801B708
- str r0, [r5, 0x4]
- b _0801D464
-_0801D31E:
- ldr r0, [r5, 0x20]
- ldr r1, [r3, 0x4]
- bl sub_801B784
- lsls r0, 16
- lsrs r0, 16
- str r0, [r5, 0x4]
- b _0801D464
-_0801D32E:
- ldr r0, [r5, 0x20]
- ldr r1, [r3, 0x8]
- bl sub_801B748
- str r0, [r5, 0x4]
- b _0801D464
-_0801D33A:
- ldr r0, [r3, 0x8]
- ldr r1, [r5, 0x14]
- ldr r1, [r1]
- bl sub_801D194
- str r0, [r5, 0x4]
- b _0801D464
-_0801D348:
- ldr r0, [r3, 0x8]
- ldr r1, [r5, 0x1C]
- bl sub_801D188
- adds r2, r0, 0
- movs r3, 0xDE
- lsls r3, 1
- adds r0, r5, 0
- movs r1, 0x17
- bl mevent_srv_814501C
- b _0801D464
-_0801D360:
- ldr r0, [r3, 0x8]
- ldr r1, [r5, 0x18]
- bl sub_801D188
- adds r2, r0, 0
- movs r3, 0xA6
- lsls r3, 1
- adds r0, r5, 0
- movs r1, 0x16
- bl mevent_srv_814501C
- b _0801D464
-_0801D378:
- ldr r0, [r3, 0x8]
- adds r1, r5, 0
- adds r1, 0x34
- bl sub_801D188
- adds r2, r0, 0
- adds r0, r5, 0
- movs r1, 0x18
- movs r3, 0x4
- bl mevent_srv_814501C
- b _0801D464
-_0801D390:
- ldr r2, [r3, 0x8]
- cmp r2, 0
- bne _0801D39C
- ldr r2, [r5, 0x24]
- ldr r3, [r5, 0x28]
- b _0801D39E
-_0801D39C:
- ldr r3, [r3, 0x4]
-_0801D39E:
- adds r0, r5, 0
- movs r1, 0x19
- bl mevent_srv_814501C
- b _0801D464
-_0801D3A8:
- ldr r2, [r3, 0x8]
- cmp r2, 0
- bne _0801D3B4
- ldr r2, [r5, 0x2C]
- ldr r3, [r5, 0x30]
- b _0801D3B6
-_0801D3B4:
- ldr r3, [r3, 0x4]
-_0801D3B6:
- adds r0, r5, 0
- movs r1, 0x10
- bl mevent_srv_814501C
- b _0801D464
-_0801D3C0:
- ldr r2, [r3, 0x8]
- adds r0, r5, 0
- movs r1, 0x1A
- movs r3, 0xBC
- bl mevent_srv_814501C
- b _0801D464
-_0801D3CE:
- ldr r2, [r3, 0x8]
- ldr r3, [r3, 0x4]
- adds r0, r5, 0
- movs r1, 0x15
- bl mevent_srv_814501C
- b _0801D464
-_0801D3DC:
- ldr r2, [r3, 0x8]
- ldr r3, [r3, 0x4]
- adds r0, r5, 0
- movs r1, 0x1C
- bl mevent_srv_814501C
- b _0801D464
-_0801D3EA:
- ldr r0, [r5, 0x18]
- ldr r1, [r3, 0x8]
- movs r2, 0xA6
- lsls r2, 1
- bl memcpy
- b _0801D464
-_0801D3F8:
- ldr r0, [r5, 0x1C]
- ldr r1, [r3, 0x8]
- movs r2, 0xDE
- lsls r2, 1
- bl memcpy
- b _0801D464
-_0801D406:
- ldr r0, [r3, 0x8]
- ldr r0, [r0]
- str r0, [r5, 0x34]
- b _0801D464
-_0801D40E:
- ldr r0, [r3, 0x8]
- str r0, [r5, 0x24]
- ldr r0, [r3, 0x4]
- str r0, [r5, 0x28]
- b _0801D464
-_0801D418:
- ldr r0, [r3, 0x8]
- str r0, [r5, 0x2C]
- ldr r0, [r3, 0x4]
- str r0, [r5, 0x30]
- b _0801D464
-_0801D422:
- ldr r4, [r5, 0x18]
- bl sav1_get_mevent_buffer_1
- adds r1, r0, 0
- movs r2, 0xA6
- lsls r2, 1
- adds r0, r4, 0
- bl memcpy
- ldr r0, [r5, 0x18]
- bl sub_801B3C0
- b _0801D464
-_0801D43C:
- ldr r4, [r5, 0x1C]
- bl sub_801B00C
- adds r1, r0, 0
- movs r2, 0xDE
- lsls r2, 1
- adds r0, r4, 0
- bl memcpy
- b _0801D464
-_0801D450:
- bl sub_8099244
- str r0, [r5, 0x24]
- b _0801D464
-_0801D458:
- ldr r2, [r3, 0x8]
- ldr r3, [r3, 0x4]
- adds r0, r5, 0
- movs r1, 0x1B
- bl mevent_srv_814501C
-_0801D464:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801D1F0
-
- thumb_func_start mevent_dispatch_08145600
-mevent_dispatch_08145600: @ 801D46C
- push {lr}
- ldr r2, =gUnknown_082F2548
- ldr r1, [r0, 0x8]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r1}
- bx r1
- .pool
- thumb_func_end mevent_dispatch_08145600
-
- thumb_func_start sub_801D484
-sub_801D484: @ 801D484
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gUnknown_02022C80
- movs r0, 0x50
- bl AllocZeroed
- str r0, [r4]
- movs r1, 0x1
- movs r2, 0
- bl mevent_srv_ish_init
- ldr r0, [r4]
- str r5, [r0, 0x4C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801D484
-
- thumb_func_start sub_801D4A8
-sub_801D4A8: @ 801D4A8
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r4, =gUnknown_02022C80
- ldr r0, [r4]
- cmp r0, 0
- bne _0801D4BC
- movs r0, 0x6
- b _0801D4DC
- .pool
-_0801D4BC:
- bl mevent_srv_ish_exec
- adds r5, r0, 0
- cmp r5, 0x6
- bne _0801D4DA
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- strh r1, [r6]
- bl sub_801D55C
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
-_0801D4DA:
- adds r0, r5, 0
-_0801D4DC:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801D4A8
-
- thumb_func_start sub_801D4E4
-sub_801D4E4: @ 801D4E4
- ldr r0, =gUnknown_02022C80
- ldr r1, [r0]
- ldr r0, [r1, 0xC]
- adds r0, 0x1
- str r0, [r1, 0xC]
- bx lr
- .pool
- thumb_func_end sub_801D4E4
-
- thumb_func_start sub_801D4F4
-sub_801D4F4: @ 801D4F4
- ldr r0, =gUnknown_02022C80
- ldr r0, [r0]
- ldr r0, [r0, 0x20]
- bx lr
- .pool
- thumb_func_end sub_801D4F4
-
- thumb_func_start sub_801D500
-sub_801D500: @ 801D500
- ldr r1, =gUnknown_02022C80
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bx lr
- .pool
- thumb_func_end sub_801D500
-
- thumb_func_start mevent_srv_ish_init
-mevent_srv_ish_init: @ 801D50C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r6, r1, 0
- mov r8, r2
- movs r0, 0
- str r0, [r4]
- str r0, [r4, 0x8]
- str r0, [r4, 0xC]
- movs r5, 0x80
- lsls r5, 3
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4, 0x14]
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4, 0x18]
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4, 0x1C]
- movs r0, 0x40
- bl AllocZeroed
- str r0, [r4, 0x20]
- adds r4, 0x24
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, r8
- bl sub_801D8D8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end mevent_srv_ish_init
-
- thumb_func_start sub_801D55C
-sub_801D55C: @ 801D55C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x14]
- bl Free
- ldr r0, [r4, 0x18]
- bl Free
- ldr r0, [r4, 0x1C]
- bl Free
- ldr r0, [r4, 0x20]
- bl Free
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801D55C
-
- thumb_func_start sub_801D580
-sub_801D580: @ 801D580
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x1C]
- ldr r1, [r4, 0x18]
- movs r2, 0x80
- lsls r2, 3
- bl memcpy
- movs r0, 0
- str r0, [r4, 0x10]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801D580
-
- thumb_func_start sub_801D59C
-sub_801D59C: @ 801D59C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- movs r0, 0
- str r0, [sp]
- ldr r1, [r4, 0x14]
- ldr r2, =0x05000100
- mov r0, sp
- bl CpuSet
- ldr r2, [r4, 0x14]
- str r5, [r2]
- adds r4, 0x24
- adds r0, r4, 0
- adds r1, r6, 0
- movs r3, 0x4
- bl sub_801D904
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801D59C
-
- thumb_func_start sub_801D5D0
-sub_801D5D0: @ 801D5D0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x1C]
- ldr r1, =gUnknown_082F2598
- movs r2, 0x80
- lsls r2, 3
- bl memcpy
- movs r1, 0
- str r1, [r4, 0x10]
- movs r0, 0x4
- str r0, [r4, 0x8]
- str r1, [r4, 0xC]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801D5D0
-
- thumb_func_start sub_801D5F8
-sub_801D5F8: @ 801D5F8
- movs r0, 0x6
- bx lr
- thumb_func_end sub_801D5F8
-
- thumb_func_start sub_801D5FC
-sub_801D5FC: @ 801D5FC
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x24
- bl sub_801D8C0
- cmp r0, 0
- beq _0801D612
- movs r0, 0x4
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
-_0801D612:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D5FC
-
- thumb_func_start sub_801D61C
-sub_801D61C: @ 801D61C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x24
- bl sub_801D8CC
- cmp r0, 0
- beq _0801D632
- movs r0, 0x4
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
-_0801D632:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D61C
-
- thumb_func_start sub_801D63C
-sub_801D63C: @ 801D63C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x10]
- lsls r2, r0, 3
- ldr r1, [r4, 0x1C]
- adds r2, r1, r2
- adds r0, 0x1
- str r0, [r4, 0x10]
- ldr r0, [r2]
- cmp r0, 0x15
- bls _0801D654
- b _0801D804
-_0801D654:
- lsls r0, 2
- ldr r1, =_0801D664
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801D664:
- .4byte _0801D804
- .4byte _0801D6BC
- .4byte _0801D6C4
- .4byte _0801D6D4
- .4byte _0801D70E
- .4byte _0801D716
- .4byte _0801D6FE
- .4byte _0801D708
- .4byte _0801D764
- .4byte _0801D790
- .4byte _0801D788
- .4byte _0801D72C
- .4byte _0801D742
- .4byte _0801D758
- .4byte _0801D77C
- .4byte _0801D7B8
- .4byte _0801D7BC
- .4byte _0801D7C4
- .4byte _0801D7D0
- .4byte _0801D6EA
- .4byte _0801D6D8
- .4byte _0801D7F0
-_0801D6BC:
- ldr r0, [r2, 0x4]
- str r0, [r4, 0x4]
- movs r0, 0x1
- b _0801D7FE
-_0801D6C4:
- adds r0, r4, 0
- adds r0, 0x24
- ldr r1, [r2, 0x4]
- ldr r2, [r4, 0x18]
- bl sub_801D928
- movs r0, 0x2
- b _0801D7FE
-_0801D6D4:
- movs r0, 0x3
- b _0801D7FE
-_0801D6D8:
- adds r0, r4, 0
- adds r0, 0x24
- ldr r2, [r4, 0x14]
- movs r1, 0x14
- movs r3, 0
- bl sub_801D904
- movs r0, 0x3
- b _0801D7FE
-_0801D6EA:
- ldrb r0, [r2, 0x4]
- bl GetGameStat
- adds r2, r0, 0
- adds r0, r4, 0
- movs r1, 0x12
- bl sub_801D59C
- movs r0, 0x3
- b _0801D7FE
-_0801D6FE:
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _0801D706
- b _0801D804
-_0801D706:
- b _0801D70E
-_0801D708:
- ldr r0, [r4, 0x4]
- cmp r0, 0x1
- bne _0801D804
-_0801D70E:
- adds r0, r4, 0
- bl sub_801D580
- b _0801D804
-_0801D716:
- ldr r0, [r4, 0x20]
- ldr r1, [r4, 0x18]
- movs r2, 0x40
- bl memcpy
- movs r0, 0x5
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
- movs r0, 0x2
- b _0801D806
-_0801D72C:
- ldr r0, [r4, 0x20]
- ldr r1, [r4, 0x18]
- movs r2, 0x40
- bl memcpy
- movs r0, 0x5
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
- movs r0, 0x3
- b _0801D806
-_0801D742:
- ldr r0, [r4, 0x20]
- ldr r1, [r4, 0x18]
- movs r2, 0x40
- bl memcpy
- movs r0, 0x5
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
- movs r0, 0x5
- b _0801D806
-_0801D758:
- movs r0, 0x5
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
- movs r0, 0x4
- b _0801D806
-_0801D764:
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x4C]
- bl sub_801B580
- adds r0, r4, 0
- adds r0, 0x24
- ldr r2, [r4, 0x14]
- movs r1, 0x11
- movs r3, 0x64
- bl sub_801D904
- b _0801D804
-_0801D77C:
- ldr r2, [r4, 0x4]
- adds r0, r4, 0
- movs r1, 0x13
- bl sub_801D59C
- b _0801D804
-_0801D788:
- ldr r0, [r4, 0x18]
- bl sub_801B21C
- b _0801D804
-_0801D790:
- ldr r0, [r4, 0x18]
- bl sub_801B1A4
- cmp r0, 0
- bne _0801D7AC
- ldr r0, [r4, 0x18]
- bl sub_801B078
- adds r0, r4, 0
- movs r1, 0x13
- movs r2, 0
- bl sub_801D59C
- b _0801D804
-_0801D7AC:
- adds r0, r4, 0
- movs r1, 0x13
- movs r2, 0x1
- bl sub_801D59C
- b _0801D804
-_0801D7B8:
- movs r0, 0x6
- b _0801D7FE
-_0801D7BC:
- ldr r0, [r4, 0x18]
- bl sub_801B508
- b _0801D804
-_0801D7C4:
- ldr r0, [r4, 0x18]
- movs r1, 0xFA
- lsls r1, 2
- bl sub_80992A0
- b _0801D804
-_0801D7D0:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bec
- adds r0, r1
- ldr r1, [r4, 0x18]
- movs r2, 0xBC
- bl memcpy
- bl ValidateEReaderTrainer
- b _0801D804
- .pool
-_0801D7F0:
- ldr r0, =gDecompressionBuffer
- ldr r1, [r4, 0x18]
- movs r2, 0x80
- lsls r2, 3
- bl memcpy
- movs r0, 0x7
-_0801D7FE:
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
-_0801D804:
- movs r0, 0x1
-_0801D806:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801D63C
-
- thumb_func_start sub_801D810
-sub_801D810: @ 801D810
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1, 0xC]
- cmp r0, 0
- beq _0801D822
- movs r0, 0x4
- str r0, [r1, 0x8]
- movs r0, 0
- str r0, [r1, 0xC]
-_0801D822:
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_801D810
-
- thumb_func_start sub_801D828
-sub_801D828: @ 801D828
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0xC]
- cmp r0, 0
- beq _0801D838
- cmp r0, 0x1
- beq _0801D846
- b _0801D858
-_0801D838:
- ldr r0, [r4, 0x18]
- bl sub_8153870
- ldr r0, [r4, 0xC]
- adds r0, 0x1
- str r0, [r4, 0xC]
- b _0801D858
-_0801D846:
- adds r0, r4, 0x4
- bl sub_8153884
- adds r1, r0, 0
- cmp r1, 0
- bne _0801D858
- movs r0, 0x4
- str r0, [r4, 0x8]
- str r1, [r4, 0xC]
-_0801D858:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D828
-
- thumb_func_start sub_801D860
-sub_801D860: @ 801D860
- push {r4,lr}
- adds r4, r0, 0
- ldr r3, =gDecompressionBuffer
- adds r0, r4, 0x4
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- ldr r2, =gSaveBlock1Ptr
- ldr r2, [r2]
- bl _call_via_r3
- cmp r0, 0x1
- bne _0801D880
- movs r0, 0x4
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
-_0801D880:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801D860
-
- thumb_func_start mevent_srv_ish_exec
-mevent_srv_ish_exec: @ 801D894
- push {r4,r5,lr}
- sub sp, 0x20
- mov r2, sp
- ldr r1, =gUnknown_082F255C
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3,r4}
- stm r2!, {r3,r4}
- ldr r1, [r0, 0x8]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- bl _call_via_r1
- add sp, 0x20
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end mevent_srv_ish_exec
-
- thumb_func_start sub_801D8C0
-sub_801D8C0: @ 801D8C0
- push {lr}
- ldr r1, [r0, 0x20]
- bl _call_via_r1
- pop {r1}
- bx r1
- thumb_func_end sub_801D8C0
-
- thumb_func_start sub_801D8CC
-sub_801D8CC: @ 801D8CC
- push {lr}
- ldr r1, [r0, 0x24]
- bl _call_via_r1
- pop {r1}
- bx r1
- thumb_func_end sub_801D8CC
-
- thumb_func_start sub_801D8D8
-sub_801D8D8: @ 801D8D8
- movs r3, 0
- strb r1, [r0, 0x4]
- strb r2, [r0, 0x5]
- str r3, [r0]
- strh r3, [r0, 0x12]
- strh r3, [r0, 0x14]
- strh r3, [r0, 0x10]
- strh r3, [r0, 0xA]
- strh r3, [r0, 0xC]
- strh r3, [r0, 0x8]
- str r3, [r0, 0x1C]
- str r3, [r0, 0x18]
- ldr r1, =sub_801DA5C
- str r1, [r0, 0x24]
- ldr r1, =sub_801D988
- str r1, [r0, 0x20]
- bx lr
- .pool
- thumb_func_end sub_801D8D8
-
- thumb_func_start sub_801D904
-sub_801D904: @ 801D904
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- str r0, [r4]
- strh r1, [r4, 0xE]
- strh r0, [r4, 0x10]
- strh r0, [r4, 0x12]
- cmp r3, 0
- beq _0801D91A
- strh r3, [r4, 0x14]
- b _0801D920
-_0801D91A:
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r4, 0x14]
-_0801D920:
- str r2, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801D904
-
- thumb_func_start sub_801D928
-sub_801D928: @ 801D928
- movs r3, 0
- str r3, [r0]
- strh r1, [r0, 0x6]
- strh r3, [r0, 0x8]
- strh r3, [r0, 0xA]
- strh r3, [r0, 0xC]
- str r2, [r0, 0x18]
- bx lr
- thumb_func_end sub_801D928
-
- thumb_func_start sub_801D938
-sub_801D938: @ 801D938
- push {lr}
- adds r3, r0, 0
- adds r0, r1, 0
- lsls r3, 8
- ldr r1, =gBlockRecvBuffer
- adds r3, r1
- adds r1, r3, 0
- bl memcpy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801D938
-
- thumb_func_start sub_801D954
-sub_801D954: @ 801D954
- push {r4,lr}
- adds r4, r0, 0
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0801D96E
- movs r0, 0
- b _0801D970
-_0801D96E:
- movs r0, 0x1
-_0801D970:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D954
-
- thumb_func_start sub_801D978
-sub_801D978: @ 801D978
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl ResetBlockReceivedFlag
- pop {r0}
- bx r0
- thumb_func_end sub_801D978
-
- thumb_func_start sub_801D988
-sub_801D988: @ 801D988
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r6, [r5]
- cmp r6, 0x1
- beq _0801D9EC
- cmp r6, 0x1
- bgt _0801D99E
- cmp r6, 0
- beq _0801D9A4
- b _0801DA52
-_0801D99E:
- cmp r6, 0x2
- beq _0801DA38
- b _0801DA52
-_0801D9A4:
- ldrb r0, [r5, 0x5]
- bl sub_801D954
- cmp r0, 0
- beq _0801DA52
- ldrb r0, [r5, 0x5]
- mov r4, sp
- mov r1, sp
- movs r2, 0x8
- bl sub_801D938
- ldrh r1, [r4, 0x4]
- strh r1, [r5, 0xC]
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0xA]
- lsls r1, 16
- movs r0, 0x80
- lsls r0, 19
- cmp r1, r0
- bls _0801D9D2
-_0801D9CC:
- bl sub_8010198
- b _0801DA52
-_0801D9D2:
- mov r1, sp
- ldrh r0, [r5, 0x6]
- ldrh r1, [r1]
- cmp r0, r1
- bne _0801D9CC
- strh r6, [r5, 0x8]
- ldrb r0, [r5, 0x5]
- bl sub_801D978
- ldr r0, [r5]
- adds r0, 0x1
- str r0, [r5]
- b _0801DA52
-_0801D9EC:
- ldrb r0, [r5, 0x5]
- bl sub_801D954
- cmp r0, 0
- beq _0801DA52
- ldrh r0, [r5, 0x8]
- lsls r1, r0, 6
- subs r1, r0
- lsls r3, r1, 2
- ldrh r0, [r5, 0xC]
- subs r2, r0, r3
- cmp r2, 0xFC
- bhi _0801DA1E
- ldrb r0, [r5, 0x5]
- ldr r1, [r5, 0x18]
- adds r1, r3
- bl sub_801D938
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- ldr r0, [r5]
- adds r0, 0x1
- str r0, [r5]
- b _0801DA30
-_0801DA1E:
- ldrb r0, [r5, 0x5]
- ldr r1, [r5, 0x18]
- adds r1, r3
- movs r2, 0xFC
- bl sub_801D938
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_0801DA30:
- ldrb r0, [r5, 0x5]
- bl sub_801D978
- b _0801DA52
-_0801DA38:
- ldr r0, [r5, 0x18]
- ldrh r1, [r5, 0xC]
- bl CalcCRC16WithTable
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r5, 0xA]
- cmp r0, r1
- bne _0801D9CC
- movs r0, 0
- str r0, [r5]
- movs r0, 0x1
- b _0801DA54
-_0801DA52:
- movs r0, 0
-_0801DA54:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801D988
-
- thumb_func_start sub_801DA5C
-sub_801DA5C: @ 801DA5C
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r5, [r4]
- cmp r5, 0x1
- beq _0801DAC8
- cmp r5, 0x1
- bgt _0801DA72
- cmp r5, 0
- beq _0801DA7C
- b _0801DB5E
-_0801DA72:
- cmp r5, 0x2
- beq _0801DB1C
- cmp r5, 0x3
- beq _0801DB46
- b _0801DB5E
-_0801DA7C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801DB5E
- ldrh r1, [r4, 0xE]
- ldr r2, =0xffff0000
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldrh r1, [r4, 0x14]
- ldr r0, [sp, 0x4]
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
- ldr r0, [r4, 0x1C]
- bl CalcCRC16WithTable
- lsls r0, 16
- ldr r2, =0x0000ffff
- ldr r1, [sp]
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- lsrs r1, 16
- strh r1, [r4, 0x12]
- strh r5, [r4, 0x10]
- movs r0, 0
- mov r1, sp
- movs r2, 0x8
- bl SendBlock
- b _0801DB3E
- .pool
-_0801DAC8:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801DB5E
- ldrb r0, [r4, 0x4]
- bl sub_801D954
- cmp r0, 0
- beq _0801DB5E
- ldrb r0, [r4, 0x4]
- bl sub_801D978
- ldrh r1, [r4, 0x10]
- lsls r0, r1, 6
- subs r0, r1
- lsls r3, r0, 2
- ldrh r0, [r4, 0x14]
- subs r0, r3
- cmp r0, 0xFC
- bhi _0801DB08
- ldr r1, [r4, 0x1C]
- adds r1, r3
- lsls r2, r0, 16
- lsrs r2, 16
- movs r0, 0
- bl SendBlock
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- b _0801DB3E
-_0801DB08:
- ldr r1, [r4, 0x1C]
- adds r1, r3
- movs r0, 0
- movs r2, 0xFC
- bl SendBlock
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- b _0801DB5E
-_0801DB1C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801DB5E
- ldr r0, [r4, 0x1C]
- ldrh r1, [r4, 0x14]
- bl CalcCRC16WithTable
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4, 0x12]
- cmp r0, r1
- beq _0801DB3E
- bl sub_8010198
- b _0801DB5E
-_0801DB3E:
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- b _0801DB5E
-_0801DB46:
- ldrb r0, [r4, 0x4]
- bl sub_801D954
- cmp r0, 0
- beq _0801DB5E
- ldrb r0, [r4, 0x4]
- bl sub_801D978
- movs r0, 0
- str r0, [r4]
- movs r0, 0x1
- b _0801DB60
-_0801DB5E:
- movs r0, 0
-_0801DB60:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801DA5C
-
- thumb_func_start sub_801DB68
-sub_801DB68: @ 801DB68
- push {r4,r5,lr}
- adds r4, r0, 0
- bl GetSaveBlock1Field356C
- adds r5, r0, 0
- movs r0, 0x3
- adds r1, r4, 0
- ands r1, r0
- ldrb r2, [r5]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5]
- cmp r4, 0x2
- bhi _0801DB8E
- cmp r4, 0x1
- bcs _0801DB94
- b _0801DBB8
-_0801DB8E:
- cmp r4, 0x3
- beq _0801DBA6
- b _0801DBB8
-_0801DB94:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- bl __umodsi3
- adds r0, 0x10
- b _0801DBB6
-_0801DBA6:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- bl __umodsi3
- adds r0, 0x1
-_0801DBB6:
- strb r0, [r5, 0x1]
-_0801DBB8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801DB68
-
- thumb_func_start sub_801DBC0
-sub_801DBC0: @ 801DBC0
- push {lr}
- bl GetSaveBlock1Field356C
- movs r1, 0
- strb r1, [r0]
- strb r1, [r0, 0x1]
- ldr r0, =0x0000402e
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801DBC0
-
- thumb_func_start sub_801DBDC
-sub_801DBDC: @ 801DBDC
- push {r4,lr}
- ldr r0, =0x0000402e
- bl GetVarPointer
- adds r4, r0, 0
- bl GetSaveBlock1Field356C
- adds r2, r0, 0
- ldr r0, [r2]
- lsls r0, 24
- lsrs r0, 29
- cmp r0, 0x4
- bls _0801DC10
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- ldr r1, =0x01f30000
- cmp r0, r1
- bls _0801DC10
- ldrb r0, [r2]
- movs r1, 0x1F
- ands r1, r0
- strb r1, [r2]
- movs r0, 0
- strh r0, [r4]
-_0801DC10:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801DBDC
-
- thumb_func_start sub_801DC20
-sub_801DC20: @ 801DC20
- push {r4-r6,lr}
- ldr r6, =gSpecialVar_Result
- bl GetSaveBlock1Field356C
- adds r4, r0, 0
- bl IsMysteryEventEnabled
- cmp r0, 0
- beq _0801DC3A
- bl sub_801B0CC
- cmp r0, 0
- bne _0801DC44
-_0801DC3A:
- movs r0, 0
- b _0801DCA6
- .pool
-_0801DC44:
- adds r0, r4, 0
- bl sub_801DD44
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x6
- bhi _0801DCA4
- lsls r0, r5, 2
- ldr r1, =_0801DC60
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801DC60:
- .4byte _0801DCA4
- .4byte _0801DC7C
- .4byte _0801DC7C
- .4byte _0801DCA4
- .4byte _0801DC86
- .4byte _0801DC96
- .4byte _0801DCA4
-_0801DC7C:
- adds r0, r4, 0
- bl sub_801DCAC
- strh r0, [r6]
- b _0801DCA4
-_0801DC86:
- adds r0, r4, 0
- bl sub_801DCAC
- strh r0, [r6]
- adds r0, r4, 0
- bl sub_801DCD8
- b _0801DCA4
-_0801DC96:
- adds r0, r4, 0
- bl sub_801DCAC
- strh r0, [r6]
- adds r0, r4, 0
- bl sub_801DCCC
-_0801DCA4:
- adds r0, r5, 0
-_0801DCA6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801DC20
-
- thumb_func_start sub_801DCAC
-sub_801DCAC: @ 801DCAC
- push {r4,lr}
- ldrb r2, [r0]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrb r4, [r0, 0x1]
- adds r4, 0x84
- movs r1, 0
- strb r1, [r0, 0x1]
- bl sub_801DD10
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801DCAC
-
- thumb_func_start sub_801DCCC
-sub_801DCCC: @ 801DCCC
- ldrb r2, [r0]
- movs r1, 0x1D
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- bx lr
- thumb_func_end sub_801DCCC
-
- thumb_func_start sub_801DCD8
-sub_801DCD8: @ 801DCD8
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, [r3]
- lsls r0, 27
- lsrs r0, 29
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- lsls r0, 2
- ldrb r1, [r3]
- movs r4, 0x1D
- negs r4, r4
- adds r2, r4, 0
- ands r2, r1
- orrs r2, r0
- strb r2, [r3]
- ldr r0, [r3]
- lsls r0, 27
- lsrs r0, 29
- cmp r0, 0x4
- bls _0801DD0A
- ands r2, r4
- movs r0, 0x10
- orrs r2, r0
- strb r2, [r3]
-_0801DD0A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801DCD8
-
- thumb_func_start sub_801DD10
-sub_801DD10: @ 801DD10
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, [r3]
- lsls r0, 24
- lsrs r0, 29
- adds r0, 0x1
- lsls r0, 5
- ldrb r1, [r3]
- movs r4, 0x1F
- adds r2, r4, 0
- ands r2, r1
- orrs r2, r0
- strb r2, [r3]
- ldr r0, [r3]
- lsls r0, 24
- lsrs r0, 29
- cmp r0, 0x5
- bls _0801DD3C
- ands r2, r4
- movs r0, 0xA0
- orrs r2, r0
- strb r2, [r3]
-_0801DD3C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801DD10
-
- thumb_func_start sub_801DD44
-sub_801DD44: @ 801DD44
- push {lr}
- adds r2, r0, 0
- ldrb r1, [r2]
- movs r0, 0xE0
- ands r0, r1
- cmp r0, 0xA0
- bne _0801DD56
- movs r0, 0x6
- b _0801DD92
-_0801DD56:
- ldr r1, [r2]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r0, 0x1
- beq _0801DD78
- cmp r0, 0x1
- bgt _0801DD6A
- cmp r0, 0
- beq _0801DD74
- b _0801DD90
-_0801DD6A:
- cmp r0, 0x2
- beq _0801DD7C
- cmp r0, 0x3
- beq _0801DD80
- b _0801DD90
-_0801DD74:
- movs r0, 0x3
- b _0801DD92
-_0801DD78:
- movs r0, 0x1
- b _0801DD92
-_0801DD7C:
- movs r0, 0x2
- b _0801DD92
-_0801DD80:
- lsls r0, r1, 27
- lsrs r0, 29
- cmp r0, 0x2
- bhi _0801DD8C
- movs r0, 0x4
- b _0801DD92
-_0801DD8C:
- movs r0, 0x5
- b _0801DD92
-_0801DD90:
- movs r0, 0
-_0801DD92:
- pop {r1}
- bx r1
- thumb_func_end sub_801DD44
-
- thumb_func_start sub_801DD98
-sub_801DD98: @ 801DD98
- push {r4,lr}
- ldr r4, =gUnknown_02022C84
- movs r0, 0xDE
- lsls r0, 1
- bl Alloc
- str r0, [r4]
- bl sub_801DDD0
- ldr r1, =gKeyRepeatStartDelay
- movs r0, 0x14
- strh r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, =c2_081284E0
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801DD98
-
- thumb_func_start sub_801DDD0
-sub_801DDD0: @ 801DDD0
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r5, 0
- movs r0, 0
- strh r0, [r4, 0x4]
- strh r0, [r4, 0x6]
- strb r5, [r4, 0x10]
- strb r5, [r4, 0x11]
- strb r5, [r4, 0x12]
- strb r5, [r4, 0x14]
- strb r5, [r4, 0x15]
- strb r5, [r4, 0x16]
- movs r0, 0xFF
- strb r0, [r4, 0x1A]
- bl GetLinkPlayerCount
- strb r0, [r4, 0xD]
- bl GetMultiplayerId
- strb r0, [r4, 0x13]
- strb r5, [r4, 0x17]
- strb r5, [r4, 0x18]
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r4, r1
- bl sub_801EF1C
- ldr r7, =gSaveBlock1Ptr
- ldr r6, =0x00003c88
- adds r4, 0xB9
- movs r5, 0x9
-_0801DE0E:
- ldr r1, [r7]
- adds r1, r6
- adds r0, r4, 0
- bl StringCopy
- adds r6, 0x15
- adds r4, 0x15
- subs r5, 0x1
- cmp r5, 0
- bge _0801DE0E
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801DDD0
-
- thumb_func_start sub_801DE30
-sub_801DE30: @ 801DE30
- push {r4,lr}
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- ldrb r0, [r0, 0xE]
- bl DestroyTask
- ldr r0, [r4]
- ldrb r0, [r0, 0xF]
- bl DestroyTask
- ldr r0, [r4]
- bl Free
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801DE30
-
- thumb_func_start c2_081284E0
-c2_081284E0: @ 801DE54
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r6, r0, r1
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _0801DE8C
- cmp r0, 0x1
- bgt _0801DE74
- cmp r0, 0
- beq _0801DE7A
- b _0801DF04
- .pool
-_0801DE74:
- cmp r0, 0x2
- beq _0801DEC8
- b _0801DF04
-_0801DE7A:
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl sub_801F4D0
- b _0801DEBC
-_0801DE8C:
- bl sub_801F5B8
- bl sub_801F534
- adds r5, r0, 0
- cmp r5, 0
- bne _0801DF04
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_801DF20
- bl SetVBlankCallback
-_0801DEBC:
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _0801DF04
- .pool
-_0801DEC8:
- bl UpdatePaletteFade
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0801DF04
- ldr r0, =sub_801DF38
- bl SetMainCallback2
- ldr r0, =sub_801DF54
- movs r1, 0x8
- bl CreateTask
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- strb r0, [r1, 0xE]
- ldr r0, =sub_801F2B4
- movs r1, 0x7
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0xF]
- bl sub_800E0E8
- movs r0, 0xE8
- movs r1, 0x96
- bl CreateWirelessStatusIndicatorSprite
-_0801DF04:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_081284E0
-
- thumb_func_start sub_801DF20
-sub_801DF20: @ 801DF20
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl ScanlineEffect_InitHBlankDmaTransfer
- pop {r0}
- bx r0
- thumb_func_end sub_801DF20
-
- thumb_func_start sub_801DF38
-sub_801DF38: @ 801DF38
- push {lr}
- bl RunTasks
- bl sub_801F5B8
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_801DF38
-
- thumb_func_start sub_801DF54
-sub_801DF54: @ 801DF54
- push {r4,lr}
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- ldrb r0, [r0, 0x17]
- cmp r0, 0x2
- beq _0801DF7A
- cmp r0, 0x2
- bgt _0801DF70
- cmp r0, 0x1
- beq _0801DF76
- b _0801DF8A
- .pool
-_0801DF70:
- cmp r0, 0x3
- beq _0801DF7E
- b _0801DF8A
-_0801DF76:
- movs r0, 0x6
- b _0801DF80
-_0801DF7A:
- movs r0, 0x7
- b _0801DF80
-_0801DF7E:
- movs r0, 0x8
-_0801DF80:
- bl sub_801EBD4
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0x17]
-_0801DF8A:
- ldr r1, =gUnknown_082F2A7C
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrh r0, [r0, 0x4]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801DF54
-
- thumb_func_start sub_801DFAC
-sub_801DFAC: @ 801DFAC
- push {r4,lr}
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- ldrh r1, [r0, 0x6]
- cmp r1, 0x1
- beq _0801DFE0
- cmp r1, 0x1
- bgt _0801DFC8
- cmp r1, 0
- beq _0801DFCE
- b _0801E028
- .pool
-_0801DFC8:
- cmp r1, 0x2
- beq _0801E018
- b _0801E028
-_0801DFCE:
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r1
- bl sub_801EF24
- ldr r1, [r4]
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
-_0801DFE0:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E028
- bl sub_8011A9C
- cmp r0, 0
- bne _0801E028
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- movs r0, 0xC8
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- movs r2, 0x28
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _0801E028
- ldr r1, [r4]
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E028
- .pool
-_0801E018:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E028
- movs r0, 0x1
- bl sub_801EBD4
-_0801E028:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801DFAC
-
- thumb_func_start sub_801E030
-sub_801E030: @ 801E030
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022C84
- ldr r3, [r5]
- ldrh r0, [r3, 0x6]
- cmp r0, 0
- beq _0801E048
- cmp r0, 0x1
- beq _0801E0F6
- b _0801E118
- .pool
-_0801E048:
- ldr r1, =gMain
- ldrh r2, [r1, 0x2E]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0801E068
- ldrb r0, [r3, 0x15]
- cmp r0, 0
- beq _0801E118
- movs r0, 0x4
- bl sub_801EBD4
- b _0801E118
- .pool
-_0801E068:
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _0801E078
- movs r0, 0x2
- bl sub_801EBD4
- b _0801E118
-_0801E078:
- ldrh r1, [r1, 0x30]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0801E0A4
- ldrb r0, [r3, 0x15]
- cmp r0, 0
- beq _0801E09C
- bl sub_801ED68
- movs r0, 0x8
- movs r1, 0
- bl sub_801F5EC
- ldr r1, [r5]
- movs r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E118
-_0801E09C:
- movs r0, 0x3
- bl sub_801EBD4
- b _0801E118
-_0801E0A4:
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _0801E0C0
- bl sub_801EC94
- movs r0, 0x8
- movs r1, 0
- bl sub_801F5EC
- movs r0, 0x2
- movs r1, 0x1
- b _0801E0EC
-_0801E0C0:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _0801E0E0
- ldrb r0, [r3, 0x10]
- cmp r0, 0x3
- beq _0801E0D8
- bl sub_801ED94
- movs r0, 0x8
- b _0801E0EA
-_0801E0D8:
- movs r0, 0x5
- bl sub_801EBD4
- b _0801E118
-_0801E0E0:
- bl sub_801EBE4
- cmp r0, 0
- beq _0801E118
- movs r0, 0x1
-_0801E0EA:
- movs r1, 0
-_0801E0EC:
- bl sub_801F5EC
- ldr r0, [r5]
- strh r4, [r0, 0x6]
- b _0801E118
-_0801E0F6:
- movs r0, 0
- bl sub_801F644
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl sub_801F644
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r4, 0
- bne _0801E118
- cmp r1, 0
- bne _0801E118
- ldr r0, [r5]
- strh r1, [r0, 0x6]
-_0801E118:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801E030
-
- thumb_func_start sub_801E120
-sub_801E120: @ 801E120
- push {r4-r6,lr}
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrh r0, [r0, 0x6]
- cmp r0, 0x4
- bls _0801E12E
- b _0801E23A
-_0801E12E:
- lsls r0, 2
- ldr r1, =_0801E140
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E140:
- .4byte _0801E154
- .4byte _0801E15E
- .4byte _0801E17C
- .4byte _0801E208
- .4byte _0801E21C
-_0801E154:
- movs r0, 0x3
- movs r1, 0
- bl sub_801F5EC
- b _0801E16A
-_0801E15E:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E23A
-_0801E16A:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E23A
- .pool
-_0801E17C:
- bl Menu_ProcessInput
- lsls r0, 24
- asrs r0, 8
- lsrs r6, r0, 16
- asrs r4, r0, 16
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _0801E1B4
- adds r0, 0x1
- cmp r4, r0
- beq _0801E1D4
- movs r0, 0x4
- movs r1, 0
- bl sub_801F5EC
- ldr r5, =gUnknown_02022C84
- ldr r2, [r5]
- ldrb r0, [r2, 0x10]
- cmp r0, r4
- beq _0801E1DC
- cmp r4, 0x3
- ble _0801E1EC
- b _0801E1DC
- .pool
-_0801E1B4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0801E23A
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl Menu_MoveCursor
- b _0801E23A
- .pool
-_0801E1D4:
- movs r0, 0x4
- movs r1, 0
- bl sub_801F5EC
-_0801E1DC:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x3
- strh r0, [r1, 0x6]
- b _0801E23A
- .pool
-_0801E1EC:
- movs r1, 0
- strb r1, [r2, 0x11]
- ldr r0, [r5]
- strb r1, [r0, 0x12]
- movs r0, 0x5
- movs r1, 0x1
- bl sub_801F5EC
- ldr r0, [r5]
- strb r6, [r0, 0x10]
- ldr r1, [r5]
- movs r0, 0x4
- strh r0, [r1, 0x6]
- b _0801E23A
-_0801E208:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E23A
- movs r0, 0x1
- bl sub_801EBD4
- b _0801E23A
-_0801E21C:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E23A
- movs r0, 0x1
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E23A
- movs r0, 0x1
- bl sub_801EBD4
-_0801E23A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_801E120
-
- thumb_func_start sub_801E240
-sub_801E240: @ 801E240
- push {r4,r5,lr}
- ldr r1, =gUnknown_02022C84
- ldr r0, [r1]
- ldrh r0, [r0, 0x6]
- adds r2, r1, 0
- cmp r0, 0xA
- bls _0801E250
- b _0801E458
-_0801E250:
- lsls r0, 2
- ldr r1, =_0801E264
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E264:
- .4byte _0801E290
- .4byte _0801E2A8
- .4byte _0801E2C4
- .4byte _0801E322
- .4byte _0801E3D4
- .4byte _0801E424
- .4byte _0801E458
- .4byte _0801E458
- .4byte _0801E378
- .4byte _0801E338
- .4byte _0801E35C
-_0801E290:
- movs r0, 0x6
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E458
- .pool
-_0801E2A8:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801E2B6
- b _0801E458
-_0801E2B6:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x2
- strh r0, [r1, 0x6]
- b _0801E458
- .pool
-_0801E2C4:
- bl sub_801FF08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0801E2E6
- cmp r1, 0
- bgt _0801E2DE
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0801E396
- b _0801E458
-_0801E2DE:
- cmp r1, 0x1
- beq _0801E2E4
- b _0801E458
-_0801E2E4:
- b _0801E396
-_0801E2E6:
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- ldrb r0, [r1, 0x13]
- cmp r0, 0
- bne _0801E310
- movs r2, 0xC8
- lsls r2, 1
- adds r0, r1, r2
- bl sub_801EFD0
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- ldr r1, [r4]
- movs r0, 0x9
- strh r0, [r1, 0x6]
- b _0801E458
- .pool
-_0801E310:
- movs r2, 0xC8
- lsls r2, 1
- adds r0, r1, r2
- bl sub_801EF7C
- ldr r1, [r4]
- movs r0, 0x4
- strh r0, [r1, 0x6]
- b _0801E458
-_0801E322:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801E330
- b _0801E458
-_0801E330:
- movs r0, 0x1
- bl sub_801EBD4
- b _0801E458
-_0801E338:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801E346
- b _0801E458
-_0801E346:
- movs r0, 0x14
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0xA
- strh r0, [r1, 0x6]
- b _0801E458
- .pool
-_0801E35C:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801E36A
- b _0801E458
-_0801E36A:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x8
- strh r0, [r1, 0x6]
- b _0801E458
- .pool
-_0801E378:
- bl sub_801FF08
- lsls r0, 24
- asrs r5, r0, 24
- cmp r5, 0
- beq _0801E3AC
- cmp r5, 0
- bgt _0801E392
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _0801E396
- b _0801E458
-_0801E392:
- cmp r5, 0x1
- bne _0801E458
-_0801E396:
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x3
- strh r0, [r1, 0x6]
- b _0801E458
- .pool
-_0801E3AC:
- bl sub_80104B0
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r1
- bl sub_801EFD0
- ldr r0, [r4]
- movs r1, 0x4
- strh r1, [r0, 0x6]
- movs r2, 0xDC
- lsls r2, 1
- adds r0, r2
- strh r5, [r0]
- b _0801E458
- .pool
-_0801E3D4:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E414
- bl sub_8011A9C
- cmp r0, 0
- bne _0801E414
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- movs r0, 0xC8
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- movs r2, 0x28
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _0801E414
- ldr r1, [r4]
- ldrb r0, [r1, 0x13]
- cmp r0, 0
- bne _0801E410
- movs r0, 0x6
- b _0801E412
- .pool
-_0801E410:
- movs r0, 0x5
-_0801E412:
- strh r0, [r1, 0x6]
-_0801E414:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801E458
- b _0801E42C
- .pool
-_0801E424:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801E438
-_0801E42C:
- movs r0, 0x9
- bl sub_801EBD4
- b _0801E458
- .pool
-_0801E438:
- ldr r3, [r2]
- movs r1, 0xDC
- lsls r1, 1
- adds r2, r3, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- movs r1, 0x96
- lsls r1, 17
- cmp r0, r1
- bls _0801E458
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x4
- strh r0, [r3, 0x6]
-_0801E458:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801E240
-
- thumb_func_start sub_801E460
-sub_801E460: @ 801E460
- push {r4,lr}
- ldr r1, =gUnknown_02022C84
- ldr r0, [r1]
- ldrh r0, [r0, 0x6]
- adds r2, r1, 0
- cmp r0, 0x7
- bls _0801E470
- b _0801E5BC
-_0801E470:
- lsls r0, 2
- ldr r1, =_0801E484
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E484:
- .4byte _0801E4A4
- .4byte _0801E4C8
- .4byte _0801E4E8
- .4byte _0801E50C
- .4byte _0801E540
- .4byte _0801E560
- .4byte _0801E584
- .4byte _0801E5A8
-_0801E4A4:
- ldr r0, =sub_801F2B4
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _0801E4B2
- b _0801E5BC
-_0801E4B2:
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- b _0801E59A
- .pool
-_0801E4C8:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E5BC
- movs r0, 0x12
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- b _0801E59A
- .pool
-_0801E4E8:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E5BC
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r1
- bl sub_801EFA8
- ldr r1, [r4]
- b _0801E59A
- .pool
-_0801E50C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E5BC
- bl sub_8011A9C
- cmp r0, 0
- bne _0801E5BC
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- movs r0, 0xC8
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- movs r2, 0x28
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _0801E5BC
- ldr r1, [r4]
- b _0801E59A
- .pool
-_0801E540:
- bl GetBlockReceivedStatus
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0801E5BC
- bl sub_8011A9C
- cmp r0, 0
- bne _0801E5BC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- b _0801E59A
- .pool
-_0801E560:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E5BC
- bl sub_8011A9C
- adds r4, r0, 0
- cmp r4, 0
- bne _0801E5BC
- bl sub_800AC34
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- strh r4, [r1, 0xA]
- b _0801E59A
- .pool
-_0801E584:
- ldr r1, [r2]
- ldrh r0, [r1, 0xA]
- cmp r0, 0x95
- bhi _0801E590
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0801E590:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801E5BC
- ldr r1, [r2]
-_0801E59A:
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E5BC
- .pool
-_0801E5A8:
- ldr r1, [r2]
- ldrh r0, [r1, 0xA]
- cmp r0, 0x95
- bls _0801E5B8
- movs r0, 0x9
- bl sub_801EBD4
- b _0801E5BC
-_0801E5B8:
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0801E5BC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801E460
-
- thumb_func_start sub_801E5C4
-sub_801E5C4: @ 801E5C4
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022C84
- ldr r1, [r5]
- ldrh r0, [r1, 0x6]
- cmp r0, 0x1
- beq _0801E604
- cmp r0, 0x1
- bgt _0801E5E0
- cmp r0, 0
- beq _0801E5EA
- b _0801E662
- .pool
-_0801E5E0:
- cmp r0, 0x2
- beq _0801E62E
- cmp r0, 0x3
- beq _0801E650
- b _0801E662
-_0801E5EA:
- ldr r0, =sub_801F2B4
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0801E662
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- b _0801E640
- .pool
-_0801E604:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E662
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E662
- bl sub_8011A9C
- adds r4, r0, 0
- cmp r4, 0
- bne _0801E662
- bl sub_800AC34
- ldr r1, [r5]
- strh r4, [r1, 0xA]
- b _0801E642
-_0801E62E:
- ldrh r0, [r1, 0xA]
- cmp r0, 0x95
- bhi _0801E638
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0801E638:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801E662
-_0801E640:
- ldr r1, [r5]
-_0801E642:
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E662
- .pool
-_0801E650:
- ldrh r0, [r1, 0xA]
- cmp r0, 0x95
- bls _0801E65E
- movs r0, 0x9
- bl sub_801EBD4
- b _0801E662
-_0801E65E:
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0801E662:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801E5C4
-
- thumb_func_start sub_801E668
-sub_801E668: @ 801E668
- push {r4,lr}
- ldr r1, =gUnknown_02022C84
- ldr r0, [r1]
- ldrh r0, [r0, 0x6]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _0801E75C
- lsls r0, 2
- ldr r1, =_0801E688
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E688:
- .4byte _0801E69C
- .4byte _0801E6C8
- .4byte _0801E6F0
- .4byte _0801E724
- .4byte _0801E748
-_0801E69C:
- ldr r0, =sub_801F2B4
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0801E75C
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- beq _0801E6BA
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
-_0801E6BA:
- ldr r1, [r4]
- b _0801E73A
- .pool
-_0801E6C8:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E75C
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- beq _0801E6E6
- movs r0, 0x13
- movs r1, 0
- bl sub_801F5EC
-_0801E6E6:
- ldr r1, [r4]
- b _0801E73A
- .pool
-_0801E6F0:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0801E75C
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E75C
- bl sub_8011A9C
- adds r4, r0, 0
- cmp r4, 0
- bne _0801E75C
- bl sub_800AC34
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- strh r4, [r1, 0xA]
- b _0801E73A
- .pool
-_0801E724:
- ldr r1, [r2]
- ldrh r0, [r1, 0xA]
- cmp r0, 0x95
- bhi _0801E730
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0801E730:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801E75C
- ldr r1, [r2]
-_0801E73A:
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E75C
- .pool
-_0801E748:
- ldr r1, [r2]
- ldrh r0, [r1, 0xA]
- cmp r0, 0x95
- bls _0801E758
- movs r0, 0x9
- bl sub_801EBD4
- b _0801E75C
-_0801E758:
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0801E75C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801E668
-
- thumb_func_start sub_801E764
-sub_801E764: @ 801E764
- push {r4,lr}
- ldr r1, =gUnknown_02022C84
- ldr r0, [r1]
- ldrh r0, [r0, 0x6]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _0801E830
- lsls r0, 2
- ldr r1, =_0801E784
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E784:
- .4byte _0801E798
- .4byte _0801E7C0
- .4byte _0801E7F4
- .4byte _0801E802
- .4byte _0801E820
-_0801E798:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801E7AC
- movs r0, 0x1
- bl sub_801EBD4
- b _0801E830
- .pool
-_0801E7AC:
- ldr r0, [r4]
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r1
- bl sub_801EF4C
- ldr r1, [r4]
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
-_0801E7C0:
- bl IsLinkTaskFinished
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0801E830
- bl sub_8011A9C
- cmp r0, 0
- bne _0801E830
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- movs r0, 0xC8
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- movs r2, 0x28
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _0801E830
- ldr r1, [r4]
- b _0801E812
- .pool
-_0801E7F4:
- bl sub_801EE10
- movs r0, 0x8
- movs r1, 0
- bl sub_801F5EC
- b _0801E80E
-_0801E802:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E830
-_0801E80E:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
-_0801E812:
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E830
- .pool
-_0801E820:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E830
- movs r0, 0x1
- bl sub_801EBD4
-_0801E830:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801E764
-
- thumb_func_start sub_801E838
-sub_801E838: @ 801E838
- push {r4,lr}
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrh r0, [r0, 0x6]
- cmp r0, 0x6
- bls _0801E846
- b _0801E968
-_0801E846:
- lsls r0, 2
- ldr r1, =_0801E858
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E858:
- .4byte _0801E874
- .4byte _0801E8A4
- .4byte _0801E8F8
- .4byte _0801E910
- .4byte _0801E920
- .4byte _0801E934
- .4byte _0801E94C
-_0801E874:
- bl sub_801EDC4
- cmp r0, 0
- beq _0801E890
- movs r0, 0x9
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x2
- b _0801E966
- .pool
-_0801E890:
- movs r0, 0xD
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x5
- b _0801E966
- .pool
-_0801E8A4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801E8CC
- bl sub_801EDE0
- movs r0, 0xB
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x3
- b _0801E966
- .pool
-_0801E8CC:
- movs r4, 0x2
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0801E8DA
- movs r0, 0xA
- b _0801E95A
-_0801E8DA:
- bl sub_801EBE4
- cmp r0, 0
- beq _0801E968
- movs r0, 0x1
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- strh r4, [r0, 0x6]
- b _0801E968
- .pool
-_0801E8F8:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E968
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x1
- b _0801E966
- .pool
-_0801E910:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E968
- movs r0, 0xA
- b _0801E95A
-_0801E920:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E968
- movs r0, 0x1
- bl sub_801EBD4
- b _0801E968
-_0801E934:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E968
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x6
- b _0801E966
- .pool
-_0801E94C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0801E968
- movs r0, 0x7
-_0801E95A:
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x4
-_0801E966:
- strh r0, [r1, 0x6]
-_0801E968:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801E838
-
- thumb_func_start sub_801E978
-sub_801E978: @ 801E978
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_02022C84
- ldr r0, [r1]
- ldrh r0, [r0, 0x6]
- adds r4, r1, 0
- cmp r0, 0xD
- bls _0801E98A
- b _0801EBC2
-_0801E98A:
- lsls r0, 2
- ldr r1, =_0801E99C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E99C:
- .4byte _0801E9D4
- .4byte _0801E9EE
- .4byte _0801EA14
- .4byte _0801EA58
- .4byte _0801EA7C
- .4byte _0801EA98
- .4byte _0801EADC
- .4byte _0801EB04
- .4byte _0801EB28
- .4byte _0801EB40
- .4byte _0801EB64
- .4byte _0801EB72
- .4byte _0801EB88
- .4byte _0801EBA8
-_0801E9D4:
- ldr r1, [r4]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- bne _0801E9DE
- b _0801EB82
-_0801E9DE:
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- ldr r1, [r4]
- movs r0, 0x1
- strh r0, [r1, 0x6]
- b _0801EBC2
-_0801E9EE:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801E9FC
- b _0801EBC2
-_0801E9FC:
- movs r0, 0xE
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x2
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EA14:
- bl sub_801FF08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0801EA40
- cmp r1, 0
- bgt _0801EA2E
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0801EA34
- b _0801EBC2
-_0801EA2E:
- cmp r1, 0x1
- beq _0801EA34
- b _0801EBC2
-_0801EA34:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- b _0801EB82
- .pool
-_0801EA40:
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x3
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EA58:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801EA66
- b _0801EBC2
-_0801EA66:
- movs r0, 0xF
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x4
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EA7C:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801EA8A
- b _0801EBC2
-_0801EA8A:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x5
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EA98:
- bl sub_801FF08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0801EAC4
- cmp r1, 0
- bgt _0801EAB2
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0801EAB8
- b _0801EBC2
-_0801EAB2:
- cmp r1, 0x1
- beq _0801EAB8
- b _0801EBC2
-_0801EAB8:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- b _0801EB82
- .pool
-_0801EAC4:
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x6
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EADC:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801EBC2
- movs r0, 0x10
- movs r1, 0
- bl sub_801F5EC
- bl sub_801EE2C
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x7
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EB04:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801EBC2
- bl SetContinueGameWarpStatusToDynamicWarp
- movs r0, 0
- bl TrySavingData
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x8
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EB28:
- movs r0, 0x11
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x9
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EB40:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801EBC2
- movs r0, 0x37
- bl PlaySE
- bl ClearContinueGameWarpStatus2
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0xA
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EB64:
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0x19]
- ldr r1, [r4]
- movs r0, 0xB
- strh r0, [r1, 0x6]
- b _0801EBC2
-_0801EB72:
- ldr r0, [r4]
- ldrb r1, [r0, 0x19]
- adds r1, 0x1
- strb r1, [r0, 0x19]
- ldr r1, [r4]
- ldrb r0, [r1, 0x19]
- cmp r0, 0x78
- bls _0801EBC2
-_0801EB82:
- movs r0, 0xC
- strh r0, [r1, 0x6]
- b _0801EBC2
-_0801EB88:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0xD
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EBA8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0801EBC2
- bl sub_801F544
- bl sub_801DE30
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
-_0801EBC2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801E978
-
- thumb_func_start sub_801EBD4
-sub_801EBD4: @ 801EBD4
- ldr r1, =gUnknown_02022C84
- ldr r1, [r1]
- movs r2, 0
- strh r0, [r1, 0x4]
- strh r2, [r1, 0x6]
- bx lr
- .pool
- thumb_func_end sub_801EBD4
-
- thumb_func_start sub_801EBE4
-sub_801EBE4: @ 801EBE4
- push {lr}
- ldr r0, =gMain
- ldrh r2, [r0, 0x30]
- movs r0, 0x40
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _0801EC6E
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _0801EC24
- ldr r0, =gUnknown_02022C84
- ldr r2, [r0]
- ldr r1, =gUnknown_082F2AA4
- ldrb r0, [r2, 0x10]
- adds r0, r1
- ldrb r1, [r2, 0x12]
- ldrb r0, [r0]
- cmp r1, r0
- bcs _0801EC20
- adds r0, r1, 0x1
- b _0801EC88
- .pool
-_0801EC20:
- strb r3, [r2, 0x12]
- b _0801EC8A
-_0801EC24:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- cmp r0, 0x3
- beq _0801EC6A
- movs r0, 0x20
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _0801EC52
- ldrb r0, [r1, 0x11]
- cmp r0, 0
- beq _0801EC4C
- subs r0, 0x1
- strb r0, [r1, 0x11]
- b _0801EC8A
- .pool
-_0801EC4C:
- movs r0, 0x4
- strb r0, [r1, 0x11]
- b _0801EC8A
-_0801EC52:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _0801EC6A
- ldrb r0, [r1, 0x11]
- cmp r0, 0x3
- bhi _0801EC66
- adds r0, 0x1
- strb r0, [r1, 0x11]
- b _0801EC8A
-_0801EC66:
- strb r3, [r1, 0x11]
- b _0801EC8A
-_0801EC6A:
- movs r0, 0
- b _0801EC8C
-_0801EC6E:
- ldr r0, =gUnknown_02022C84
- ldr r2, [r0]
- ldrb r0, [r2, 0x12]
- cmp r0, 0
- beq _0801EC80
- subs r0, 0x1
- b _0801EC88
- .pool
-_0801EC80:
- ldr r0, =gUnknown_082F2AA4
- ldrb r1, [r2, 0x10]
- adds r1, r0
- ldrb r0, [r1]
-_0801EC88:
- strb r0, [r2, 0x12]
-_0801EC8A:
- movs r0, 0x1
-_0801EC8C:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801EBE4
-
- thumb_func_start sub_801EC94
-sub_801EC94: @ 801EC94
- push {r4-r6,lr}
- sub sp, 0x18
- ldr r0, =gUnknown_02022C84
- ldr r5, [r0]
- ldrb r0, [r5, 0x10]
- cmp r0, 0x3
- beq _0801ECDC
- ldr r3, =gUnknown_082F2BA8
- ldrb r1, [r5, 0x12]
- lsls r1, 2
- adds r2, r0, 0
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r3
- ldr r4, [r1]
- ldrb r0, [r5, 0x11]
- cmp r0, 0
- beq _0801ECCE
- adds r1, r0, 0
-_0801ECBE:
- ldrb r0, [r4]
- cmp r0, 0xF9
- bne _0801ECC6
- adds r4, 0x1
-_0801ECC6:
- adds r4, 0x1
- subs r1, 0x1
- cmp r1, 0
- bne _0801ECBE
-_0801ECCE:
- movs r5, 0x1
- b _0801ED02
- .pool
-_0801ECDC:
- ldrb r0, [r5, 0x12]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r0
- adds r1, 0xB9
- adds r1, r5, r1
- mov r0, sp
- bl StringCopy
- movs r1, 0
- strb r1, [r0]
- movs r1, 0xFF
- strb r1, [r0, 0x1]
- mov r4, sp
- mov r0, sp
- bl StringLength_Multibyte
- adds r5, r0, 0
-_0801ED02:
- ldr r6, =gUnknown_02022C84
- ldr r1, [r6]
- ldrb r0, [r1, 0x15]
- strb r0, [r1, 0x14]
- cmp r4, 0
- beq _0801ED5A
- bl sub_801EE84
- adds r2, r0, 0
- subs r5, 0x1
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _0801ED56
- ldr r0, [r6]
- ldrb r0, [r0, 0x15]
- cmp r0, 0xE
- bhi _0801ED56
- adds r3, r6, 0
-_0801ED28:
- ldrb r0, [r4]
- cmp r0, 0xF9
- bne _0801ED34
- strb r0, [r2]
- adds r4, 0x1
- adds r2, 0x1
-_0801ED34:
- ldrb r0, [r4]
- strb r0, [r2]
- adds r4, 0x1
- adds r2, 0x1
- ldr r1, [r3]
- ldrb r0, [r1, 0x15]
- adds r0, 0x1
- strb r0, [r1, 0x15]
- subs r5, 0x1
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _0801ED56
- ldr r0, [r3]
- ldrb r0, [r0, 0x15]
- cmp r0, 0xE
- bls _0801ED28
-_0801ED56:
- movs r0, 0xFF
- strb r0, [r2]
-_0801ED5A:
- add sp, 0x18
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EC94
-
- thumb_func_start sub_801ED68
-sub_801ED68: @ 801ED68
- push {r4,lr}
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- ldrb r0, [r1, 0x15]
- strb r0, [r1, 0x14]
- ldr r0, [r4]
- ldrb r0, [r0, 0x15]
- cmp r0, 0
- beq _0801ED8A
- bl sub_801EEA8
- movs r1, 0xFF
- strb r1, [r0]
- ldr r1, [r4]
- ldrb r0, [r1, 0x15]
- subs r0, 0x1
- strb r0, [r1, 0x15]
-_0801ED8A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801ED68
-
- thumb_func_start sub_801ED94
-sub_801ED94: @ 801ED94
- push {lr}
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- ldrb r0, [r1, 0x15]
- subs r0, 0x1
- strb r0, [r1, 0x14]
- bl sub_801EEA8
- adds r2, r0, 0
- ldrb r0, [r2]
- cmp r0, 0xF9
- beq _0801EDB8
- ldr r1, =gUnknown_082F2AA8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801EDB8
- strb r0, [r2]
-_0801EDB8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801ED94
-
- thumb_func_start sub_801EDC4
-sub_801EDC4: @ 801EDC4
- push {lr}
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- cmp r0, 0
- bne _0801EDD8
- movs r0, 0
- b _0801EDDA
- .pool
-_0801EDD8:
- movs r0, 0x1
-_0801EDDA:
- pop {r1}
- bx r1
- thumb_func_end sub_801EDC4
-
- thumb_func_start sub_801EDE0
-sub_801EDE0: @ 801EDE0
- push {r4,lr}
- bl sub_801F114
- adds r1, r0, 0
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- ldrb r3, [r0, 0x12]
- lsls r2, r3, 2
- adds r2, r3
- lsls r2, 2
- adds r2, r3
- adds r2, 0xB9
- adds r0, r2
- bl StringCopy
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x18]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EDE0
-
- thumb_func_start sub_801EE10
-sub_801EE10: @ 801EE10
- ldr r1, =gUnknown_02022C84
- ldr r2, [r1]
- movs r0, 0xFF
- strb r0, [r2, 0x1A]
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0xF
- strb r0, [r2, 0x14]
- ldr r0, [r1]
- strb r3, [r0, 0x15]
- bx lr
- .pool
- thumb_func_end sub_801EE10
-
- thumb_func_start sub_801EE2C
-sub_801EE2C: @ 801EE2C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gSaveBlock1Ptr
- mov r8, r0
- ldr r7, =gUnknown_02022C84
- movs r6, 0xB9
- ldr r5, =0x00003c88
- movs r4, 0x9
-_0801EE3E:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r5
- ldr r1, [r7]
- adds r1, r6
- bl StringCopy
- adds r6, 0x15
- adds r5, 0x15
- subs r4, 0x1
- cmp r4, 0
- bge _0801EE3E
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EE2C
-
- thumb_func_start sub_801EE6C
-sub_801EE6C: @ 801EE6C
- ldr r2, =gUnknown_02022C84
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r0
- adds r1, 0xB9
- ldr r0, [r2]
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_801EE6C
-
- thumb_func_start sub_801EE84
-sub_801EE84: @ 801EE84
- push {lr}
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x1A
- ldrb r0, [r0, 0x1A]
- cmp r0, 0xFF
- beq _0801EE9C
-_0801EE94:
- adds r1, 0x1
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _0801EE94
-_0801EE9C:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801EE84
-
- thumb_func_start sub_801EEA8
-sub_801EEA8: @ 801EEA8
- push {lr}
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0x1A
- adds r1, r2, 0
- ldrb r0, [r0, 0x1A]
- cmp r0, 0xFF
- beq _0801EECC
-_0801EEBA:
- adds r2, r1, 0
- ldrb r0, [r2]
- cmp r0, 0xF9
- bne _0801EEC4
- adds r1, r2, 0x1
-_0801EEC4:
- adds r1, 0x1
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _0801EEBA
-_0801EECC:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801EEA8
-
- thumb_func_start sub_801EED8
-sub_801EED8: @ 801EED8
- push {r4,lr}
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- adds r0, 0x1A
- bl StringLength_Multibyte
- adds r2, r0, 0
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x1A
- movs r4, 0
- cmp r2, 0xA
- bls _0801EF0C
- subs r2, 0xA
- movs r3, 0
- cmp r4, r2
- bcs _0801EF0C
-_0801EEFA:
- ldrb r0, [r1]
- cmp r0, 0xF9
- bne _0801EF02
- adds r1, 0x1
-_0801EF02:
- adds r1, 0x1
- adds r4, 0x1
- adds r3, 0x1
- cmp r3, r2
- bcc _0801EEFA
-_0801EF0C:
- lsls r0, r4, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801EED8
-
- thumb_func_start sub_801EF1C
-sub_801EF1C: @ 801EF1C
- movs r1, 0
- strb r1, [r0]
- bx lr
- thumb_func_end sub_801EF1C
-
- thumb_func_start sub_801EF24
-sub_801EF24: @ 801EF24
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2
- strb r0, [r4]
- adds r0, r4, 0x1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- strb r0, [r4, 0x9]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EF24
-
- thumb_func_start sub_801EF4C
-sub_801EF4C: @ 801EF4C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- strb r0, [r4]
- adds r0, r4, 0x1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- adds r4, 0x9
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- adds r1, 0x1A
- adds r0, r4, 0
- bl StringCopy
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EF4C
-
- thumb_func_start sub_801EF7C
-sub_801EF7C: @ 801EF7C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3
- strb r0, [r4]
- adds r0, r4, 0x1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- strb r0, [r4, 0x9]
- bl sub_8011A50
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EF7C
-
- thumb_func_start sub_801EFA8
-sub_801EFA8: @ 801EFA8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x4
- strb r0, [r4]
- adds r0, r4, 0x1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- strb r0, [r4, 0x9]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EFA8
-
- thumb_func_start sub_801EFD0
-sub_801EFD0: @ 801EFD0
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x5
- strb r0, [r4]
- adds r0, r4, 0x1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- strb r0, [r4, 0x9]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EFD0
-
- thumb_func_start sub_801EFF8
-sub_801EFF8: @ 801EFF8
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- ldrb r0, [r5]
- adds r1, r0, 0
- adds r4, r5, 0x1
- adds r5, r4, 0
- adds r5, 0x8
- cmp r0, 0x2
- beq _0801F020
- cmp r0, 0x2
- bgt _0801F016
- cmp r0, 0x1
- beq _0801F044
- b _0801F0A8
-_0801F016:
- cmp r1, 0x3
- beq _0801F07A
- cmp r1, 0x5
- beq _0801F06E
- b _0801F0A8
-_0801F020:
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- ldrb r1, [r4, 0x8]
- cmp r0, r1
- beq _0801F0A8
- bl DynamicPlaceholderTextUtil_Reset
- movs r0, 0
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r1, =gText_F700JoinedChat
- b _0801F094
- .pool
-_0801F044:
- adds r0, r6, 0
- adds r1, r4, 0
- bl StringCopy
- movs r1, 0xFC
- strb r1, [r0]
- adds r0, 0x1
- movs r1, 0x13
- strb r1, [r0]
- adds r0, 0x1
- movs r1, 0x2A
- strb r1, [r0]
- adds r0, 0x1
- movs r1, 0xF0
- strb r1, [r0]
- adds r0, 0x1
- adds r1, r5, 0
- bl StringCopy
- movs r0, 0x1
- b _0801F0AA
-_0801F06E:
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r0, 0x79
- adds r1, r4, 0
- bl StringCopy
-_0801F07A:
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- ldrb r5, [r5]
- cmp r0, r5
- beq _0801F0A8
- bl DynamicPlaceholderTextUtil_Reset
- movs r0, 0
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r1, =gText_F700LeftChat
-_0801F094:
- adds r0, r6, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x1
- b _0801F0AA
- .pool
-_0801F0A8:
- movs r0, 0
-_0801F0AA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801EFF8
-
- thumb_func_start sub_801F0B0
-sub_801F0B0: @ 801F0B0
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- bx lr
- .pool
- thumb_func_end sub_801F0B0
-
- thumb_func_start sub_801F0BC
-sub_801F0BC: @ 801F0BC
- ldr r2, =gUnknown_02022C84
- ldr r3, [r2]
- ldrb r2, [r3, 0x11]
- strb r2, [r0]
- ldrb r0, [r3, 0x12]
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_801F0BC
-
- thumb_func_start sub_801F0D0
-sub_801F0D0: @ 801F0D0
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r0, 0x1A
- bx lr
- .pool
- thumb_func_end sub_801F0D0
-
- thumb_func_start sub_801F0DC
-sub_801F0DC: @ 801F0DC
- push {lr}
- bl sub_801F0D0
- bl StringLength_Multibyte
- pop {r1}
- bx r1
- thumb_func_end sub_801F0DC
-
- thumb_func_start sub_801F0EC
-sub_801F0EC: @ 801F0EC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r3, [r0, 0x15]
- ldrb r2, [r0, 0x14]
- subs r0, r3, r2
- cmp r0, 0
- bge _0801F108
- negs r0, r0
- str r3, [r4]
- b _0801F10A
- .pool
-_0801F108:
- str r2, [r4]
-_0801F10A:
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801F0EC
-
- thumb_func_start sub_801F114
-sub_801F114: @ 801F114
- push {lr}
- bl sub_801EED8
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x1A
- cmp r2, 0
- beq _0801F13A
-_0801F12A:
- ldrb r0, [r1]
- cmp r0, 0xF9
- bne _0801F132
- adds r1, 0x1
-_0801F132:
- adds r1, 0x1
- subs r2, 0x1
- cmp r2, 0
- bne _0801F12A
-_0801F13A:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801F114
-
- thumb_func_start sub_801F144
-sub_801F144: @ 801F144
- push {r4,lr}
- bl sub_801EED8
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x1A
- movs r2, 0
- movs r3, 0
- cmp r2, r4
- bcs _0801F174
-_0801F15E:
- ldrb r0, [r1]
- cmp r0, 0xF9
- bne _0801F166
- adds r1, 0x1
-_0801F166:
- adds r1, 0x1
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- adds r3, 0x1
- cmp r3, r4
- bcc _0801F15E
-_0801F174:
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801F144
-
- thumb_func_start sub_801F180
-sub_801F180: @ 801F180
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r0, 0x39
- bx lr
- .pool
- thumb_func_end sub_801F180
-
- thumb_func_start sub_801F18C
-sub_801F18C: @ 801F18C
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x16]
- bx lr
- .pool
- thumb_func_end sub_801F18C
-
- thumb_func_start sub_801F198
-sub_801F198: @ 801F198
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- bx lr
- .pool
- thumb_func_end sub_801F198
-
- thumb_func_start sub_801F1A4
-sub_801F1A4: @ 801F1A4
- push {lr}
- bl sub_801EEA8
- ldrb r1, [r0]
- cmp r1, 0xFF
- bhi _0801F1BE
- ldr r0, =gUnknown_082F2AA8
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, r1
- beq _0801F1BE
- cmp r0, 0
- bne _0801F1C8
-_0801F1BE:
- movs r0, 0x3
- b _0801F1CA
- .pool
-_0801F1C8:
- movs r0, 0
-_0801F1CA:
- pop {r1}
- bx r1
- thumb_func_end sub_801F1A4
-
- thumb_func_start sub_801F1D0
-sub_801F1D0: @ 801F1D0
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r0, 0x79
- bx lr
- .pool
- thumb_func_end sub_801F1D0
-
- thumb_func_start copy_strings_to_sav1
-copy_strings_to_sav1: @ 801F1DC
- push {r4,lr}
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r1, =0x00003c88
- adds r0, r1
- ldr r1, =gText_Hello
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003c9d
- adds r0, r1
- ldr r1, =gText_Pokemon2
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003cb2
- adds r0, r1
- ldr r1, =gText_Trade
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003cc7
- adds r0, r1
- ldr r1, =gText_Battle
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003cdc
- adds r0, r1
- ldr r1, =gText_Lets
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003cf1
- adds r0, r1
- ldr r1, =gText_Ok
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003d06
- adds r0, r1
- ldr r1, =gText_Sorry
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003d1b
- adds r0, r1
- ldr r1, =gText_YayUnkF9F9
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003d30
- adds r0, r1
- ldr r1, =gText_ThankYou
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003d45
- adds r0, r1
- ldr r1, =gText_ByeBye
- bl StringCopy
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end copy_strings_to_sav1
-
- thumb_func_start sub_801F2B4
-sub_801F2B4: @ 801F2B4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bls _0801F2CE
- b _0801F4C4
-_0801F2CE:
- lsls r0, 2
- ldr r1, =_0801F2E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801F2E0:
- .4byte _0801F300
- .4byte _0801F30E
- .4byte _0801F4A8
- .4byte _0801F35C
- .4byte _0801F448
- .4byte _0801F480
- .4byte _0801F494
- .4byte _0801F438
-_0801F300:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801F30A
- b _0801F49C
-_0801F30A:
- movs r0, 0x1
- strh r0, [r4]
-_0801F30E:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- strh r0, [r4, 0x8]
- ldr r3, =gUnknown_02022C84
- ldr r0, [r3]
- ldrb r1, [r0, 0xD]
- movs r5, 0x8
- ldrsh r0, [r4, r5]
- cmp r1, r0
- beq _0801F33C
- movs r0, 0x2
- strh r0, [r4]
- ldr r0, [r3]
- strb r2, [r0, 0xD]
- b _0801F4C4
- .pool
-_0801F33C:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x6]
- cmp r0, 0
- bne _0801F354
- bl sub_8011A9C
- cmp r0, 0
- beq _0801F354
- b _0801F4C4
-_0801F354:
- movs r0, 0
- strh r0, [r4, 0x2]
- movs r0, 0x3
- strh r0, [r4]
-_0801F35C:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bgt _0801F396
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0801F396
- movs r2, 0x1
-_0801F378:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bgt _0801F396
- movs r5, 0x6
- ldrsh r0, [r4, r5]
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- asrs r0, r1
- ands r0, r2
- cmp r0, 0
- beq _0801F378
-_0801F396:
- ldrh r1, [r4, 0x2]
- movs r5, 0x2
- ldrsh r0, [r4, r5]
- cmp r0, 0x5
- bne _0801F3A2
- b _0801F4C0
-_0801F3A2:
- strh r1, [r4, 0x4]
- lsls r0, r1, 24
- lsrs r0, 24
- bl ResetBlockReceivedFlag
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- lsls r0, 8
- ldr r1, =gBlockRecvBuffer
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0x4
- bhi _0801F3E4
- lsls r0, 2
- ldr r1, =_0801F3D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801F3D0:
- .4byte _0801F3E4
- .4byte _0801F3E8
- .4byte _0801F3EC
- .4byte _0801F3F0
- .4byte _0801F3F4
-_0801F3E4:
- movs r0, 0x3
- b _0801F3F6
-_0801F3E8:
- movs r0, 0x3
- b _0801F3F6
-_0801F3EC:
- movs r0, 0x4
- b _0801F3F6
-_0801F3F0:
- movs r0, 0x5
- b _0801F3F6
-_0801F3F4:
- movs r0, 0x6
-_0801F3F6:
- strh r0, [r4, 0xA]
- ldr r5, =gUnknown_02022C84
- ldr r0, [r5]
- adds r0, 0x39
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- bl sub_801EFF8
- cmp r0, 0
- beq _0801F42C
- ldr r0, [r5]
- ldrh r1, [r4, 0x2]
- strb r1, [r0, 0x16]
- movs r0, 0xC
- movs r1, 0x2
- bl sub_801F5EC
- movs r0, 0x7
- b _0801F42E
- .pool
-_0801F42C:
- ldrh r0, [r4, 0xA]
-_0801F42E:
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- b _0801F4C4
-_0801F438:
- movs r0, 0x2
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801F4C4
- ldrh r0, [r4, 0xA]
- b _0801F4C2
-_0801F448:
- ldr r6, =gUnknown_02022C84
- ldr r0, [r6]
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- bne _0801F47C
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0801F47C
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0801F474
- bl sub_80104B0
- ldr r1, [r6]
- movs r0, 0x1
- b _0801F49A
- .pool
-_0801F474:
- movs r5, 0x4
- ldrsh r0, [r4, r5]
- bl sub_8011DE0
-_0801F47C:
- movs r0, 0x3
- b _0801F4C2
-_0801F480:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- ldrb r0, [r1, 0x13]
- cmp r0, 0
- beq _0801F49C
- movs r0, 0x2
- b _0801F49A
- .pool
-_0801F494:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x3
-_0801F49A:
- strb r0, [r1, 0x17]
-_0801F49C:
- adds r0, r5, 0
- bl DestroyTask
- b _0801F4C4
- .pool
-_0801F4A8:
- bl sub_8011A9C
- cmp r0, 0
- bne _0801F4C4
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- ldrb r0, [r1, 0x13]
- cmp r0, 0
- bne _0801F4C0
- ldrb r0, [r1, 0xD]
- bl sub_80110B8
-_0801F4C0:
- movs r0, 0x1
-_0801F4C2:
- strh r0, [r4]
-_0801F4C4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801F2B4
-
- thumb_func_start sub_801F4D0
-sub_801F4D0: @ 801F4D0
- push {r4,lr}
- ldr r4, =gUnknown_02022C88
- ldr r0, =0x00002168
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- beq _0801F52C
- bl sub_8020890
- cmp r0, 0
- beq _0801F52C
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082F2C60
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_082F2C70
- bl InitWindows
- bl reset_temp_tile_data_buffers
- bl sub_8020770
- ldr r0, [r4]
- bl sub_801F574
- bl sub_801F580
- movs r0, 0
- movs r1, 0
- bl sub_801F5EC
- movs r0, 0x1
- b _0801F52E
- .pool
-_0801F52C:
- movs r0, 0
-_0801F52E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F4D0
-
- thumb_func_start sub_801F534
-sub_801F534: @ 801F534
- push {lr}
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_801F534
-
- thumb_func_start sub_801F544
-sub_801F544: @ 801F544
- push {r4,lr}
- bl sub_80208D0
- ldr r4, =gUnknown_02022C88
- ldr r0, [r4]
- cmp r0, 0
- beq _0801F55A
- bl Free
- movs r0, 0
- str r0, [r4]
-_0801F55A:
- bl FreeAllWindowBuffers
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801F544
-
- thumb_func_start sub_801F574
-sub_801F574: @ 801F574
- movs r2, 0
- movs r1, 0xFF
- strh r1, [r0, 0x18]
- strh r1, [r0, 0x1E]
- strh r2, [r0, 0x1A]
- bx lr
- thumb_func_end sub_801F574
-
- thumb_func_start sub_801F580
-sub_801F580: @ 801F580
- push {r4,r5,lr}
- ldr r1, =gUnknown_02022C88
- ldr r0, [r1]
- cmp r0, 0
- beq _0801F5A8
- movs r2, 0
- adds r4, r1, 0
- ldr r5, =sub_801FDD8
- movs r3, 0
-_0801F592:
- ldr r0, [r4]
- lsls r1, r2, 3
- adds r0, r1
- str r5, [r0]
- strb r3, [r0, 0x4]
- ldr r0, [r4]
- adds r0, r1
- strb r3, [r0, 0x5]
- adds r2, 0x1
- cmp r2, 0x2
- ble _0801F592
-_0801F5A8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801F580
-
- thumb_func_start sub_801F5B8
-sub_801F5B8: @ 801F5B8
- push {r4-r6,lr}
- ldr r1, =gUnknown_02022C88
- ldr r0, [r1]
- cmp r0, 0
- beq _0801F5E0
- movs r5, 0
- adds r6, r1, 0
-_0801F5C6:
- ldr r1, [r6]
- lsls r4, r5, 3
- adds r1, r4
- adds r0, r1, 0x5
- ldr r1, [r1]
- bl _call_via_r1
- ldr r1, [r6]
- adds r1, r4
- strb r0, [r1, 0x4]
- adds r5, 0x1
- cmp r5, 0x2
- ble _0801F5C6
-_0801F5E0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801F5B8
-
- thumb_func_start sub_801F5EC
-sub_801F5EC: @ 801F5EC
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- ldr r3, =gUnknown_02022C88
- ldr r0, [r3]
- lsrs r1, 21
- adds r0, r1
- ldr r2, =sub_801FDD8
- str r2, [r0]
- movs r4, 0
- adds r5, r3, 0
- adds r3, r1, 0
- mov r12, r4
- ldr r1, =gUnknown_082F2C98
- movs r7, 0x1
- adds r2, r1, 0x4
-_0801F60E:
- ldrh r0, [r1]
- cmp r0, r6
- bne _0801F634
- ldr r1, [r5]
- adds r1, r3
- ldr r0, [r2]
- str r0, [r1]
- strb r7, [r1, 0x4]
- ldr r0, [r5]
- adds r0, r3
- mov r1, r12
- strb r1, [r0, 0x5]
- b _0801F63E
- .pool
-_0801F634:
- adds r1, 0x8
- adds r2, 0x8
- adds r4, 0x1
- cmp r4, 0x14
- bls _0801F60E
-_0801F63E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801F5EC
-
- thumb_func_start sub_801F644
-sub_801F644: @ 801F644
- lsls r0, 24
- ldr r1, =gUnknown_02022C88
- ldr r1, [r1]
- lsrs r0, 21
- adds r1, r0
- ldrb r0, [r1, 0x4]
- bx lr
- .pool
- thumb_func_end sub_801F644
-
- thumb_func_start sub_801F658
-sub_801F658: @ 801F658
- push {r4,lr}
- adds r4, r0, 0
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0801F6EE
- ldrb r0, [r4]
- cmp r0, 0x6
- bhi _0801F6E4
- lsls r0, 2
- ldr r1, =_0801F67C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801F67C:
- .4byte _0801F698
- .4byte _0801F6A2
- .4byte _0801F6A8
- .4byte _0801F6AE
- .4byte _0801F6B4
- .4byte _0801F6BA
- .4byte _0801F6CC
-_0801F698:
- bl sub_8020480
- bl sub_8020538
- b _0801F6E8
-_0801F6A2:
- bl sub_8020584
- b _0801F6E8
-_0801F6A8:
- bl sub_80205B4
- b _0801F6E8
-_0801F6AE:
- bl task_tutorial_story_unknown
- b _0801F6E8
-_0801F6B4:
- bl sub_8020680
- b _0801F6E8
-_0801F6BA:
- bl sub_80206A4
- bl sub_80206D0
- bl sub_8020740
- bl sub_80206E8
- b _0801F6E8
-_0801F6CC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801F6E8
- bl sub_80208E8
- bl sub_8020A68
- bl sub_8020B20
- b _0801F6E8
-_0801F6E4:
- movs r0, 0
- b _0801F6F0
-_0801F6E8:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_0801F6EE:
- movs r0, 0x1
-_0801F6F0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F658
-
- thumb_func_start sub_801F6F8
-sub_801F6F8: @ 801F6F8
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801F708
- cmp r0, 0x1
- beq _0801F716
- b _0801F720
-_0801F708:
- bl sub_80203B0
- movs r0, 0x3
- movs r1, 0x3
- bl CopyWindowToVram
- b _0801F720
-_0801F716:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801F728
-_0801F720:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
-_0801F728:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F6F8
-
- thumb_func_start sub_801F730
-sub_801F730: @ 801F730
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801F740
- cmp r0, 0x1
- beq _0801F74E
- b _0801F758
-_0801F740:
- bl sub_802040C
- movs r0, 0x3
- movs r1, 0x3
- bl CopyWindowToVram
- b _0801F758
-_0801F74E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801F760
-_0801F758:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
-_0801F760:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F730
-
- thumb_func_start sub_801F768
-sub_801F768: @ 801F768
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _0801F79E
- cmp r0, 0x1
- bgt _0801F77C
- cmp r0, 0
- beq _0801F782
- b _0801F7C4
-_0801F77C:
- cmp r0, 0x2
- beq _0801F7AA
- b _0801F7C4
-_0801F782:
- movs r0, 0x1
- bl sub_802091C
- bl sub_8020320
- cmp r0, 0
- bne _0801F7CA
- bl sub_80201A4
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- b _0801F7C4
-_0801F79E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- beq _0801F7C4
- b _0801F7CA
-_0801F7AA:
- bl sub_8020368
- cmp r0, 0
- bne _0801F7CA
- bl sub_802093C
- movs r0, 0
- bl sub_802091C
- bl sub_8020B80
- movs r0, 0
- b _0801F7CC
-_0801F7C4:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_0801F7CA:
- movs r0, 0x1
-_0801F7CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F768
-
- thumb_func_start sub_801F7D4
-sub_801F7D4: @ 801F7D4
- push {lr}
- bl sub_802093C
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_801F7D4
-
- thumb_func_start sub_801F7E0
-sub_801F7E0: @ 801F7E0
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801F7F0
- cmp r0, 0x1
- beq _0801F814
- b _0801F81E
-_0801F7F0:
- movs r0, 0
- movs r1, 0
- bl sub_801FF18
- movs r0, 0x17
- movs r1, 0xB
- movs r2, 0x1
- bl sub_801FDDC
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- b _0801F81E
- .pool
-_0801F814:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801F826
-_0801F81E:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
-_0801F826:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F7E0
-
- thumb_func_start sub_801F82C
-sub_801F82C: @ 801F82C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801F83C
- cmp r0, 0x1
- beq _0801F84C
- b _0801F862
-_0801F83C:
- bl sub_8020094
- bl sub_801FEBC
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- b _0801F862
-_0801F84C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801F868
- bl sub_80200C8
- bl sub_801FEE4
- movs r0, 0
- b _0801F86A
-_0801F862:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_0801F868:
- movs r0, 0x1
-_0801F86A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F82C
-
- thumb_func_start sub_801F870
-sub_801F870: @ 801F870
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801F882
- cmp r0, 0x1
- beq _0801F8BA
- b _0801F8CC
-_0801F882:
- add r1, sp, 0x8
- add r0, sp, 0x4
- bl sub_801F0EC
- ldr r0, [sp, 0x4]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp, 0x8]
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0
- bl sub_80200EC
- bl sub_801F0D0
- adds r1, r0, 0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_8020118
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- b _0801F8CC
-_0801F8BA:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801F8D2
- bl sub_8020B80
- movs r0, 0
- b _0801F8D4
-_0801F8CC:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_0801F8D2:
- movs r0, 0x1
-_0801F8D4:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F870
-
- thumb_func_start sub_801F8DC
-sub_801F8DC: @ 801F8DC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _0801F938
- cmp r0, 0x1
- bgt _0801F8F2
- cmp r0, 0
- beq _0801F8FC
- b _0801F972
-_0801F8F2:
- cmp r0, 0x2
- beq _0801F95C
- cmp r0, 0x3
- beq _0801F96E
- b _0801F972
-_0801F8FC:
- bl sub_801F144
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_801F114
- adds r5, r0, 0
- bl StringLength_Multibyte
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x66
- bl sub_80200EC
- movs r0, 0x5
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x4
- bl sub_8020118
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- b _0801F972
-_0801F938:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801F978
- movs r0, 0x1
- movs r1, 0x10
- bl sub_801FF18
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- b _0801F972
- .pool
-_0801F95C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801F978
- movs r0, 0x1
- bl sub_80209AC
- b _0801F972
-_0801F96E:
- movs r0, 0
- b _0801F97A
-_0801F972:
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_0801F978:
- movs r0, 0x1
-_0801F97A:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801F8DC
-
- thumb_func_start sub_801F984
-sub_801F984: @ 801F984
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _0801F9E0
- cmp r0, 0x1
- bgt _0801F99A
- cmp r0, 0
- beq _0801F9A4
- b _0801FA1A
-_0801F99A:
- cmp r0, 0x2
- beq _0801FA00
- cmp r0, 0x3
- beq _0801FA16
- b _0801FA1A
-_0801F9A4:
- bl sub_801F144
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_801F114
- adds r5, r0, 0
- bl StringLength_Multibyte
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- bl sub_80200EC
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_8020118
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- b _0801FA1A
-_0801F9E0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801FA20
- bl sub_8020094
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- b _0801FA1A
- .pool
-_0801FA00:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801FA20
- movs r0, 0
- bl sub_80209AC
- bl sub_80200C8
- b _0801FA1A
-_0801FA16:
- movs r0, 0
- b _0801FA22
-_0801FA1A:
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_0801FA20:
- movs r0, 0x1
-_0801FA22:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801F984
-
- thumb_func_start sub_801FA2C
-sub_801FA2C: @ 801FA2C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FA3C
- cmp r0, 0x1
- beq _0801FA50
- b _0801FA5E
-_0801FA3C:
- bl sub_80201A4
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FA5E
-_0801FA50:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801FA5E
- movs r0, 0
- b _0801FA60
-_0801FA5E:
- movs r0, 0x1
-_0801FA60:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FA2C
-
- thumb_func_start sub_801FA68
-sub_801FA68: @ 801FA68
- push {r4-r6,lr}
- adds r6, r0, 0
- ldrb r0, [r6]
- cmp r0, 0x4
- bhi _0801FB3A
- lsls r0, 2
- ldr r1, =_0801FA80
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801FA80:
- .4byte _0801FA94
- .4byte _0801FAC0
- .4byte _0801FAF0
- .4byte _0801FB14
- .4byte _0801FADE
-_0801FA94:
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrh r5, [r0, 0x1A]
- bl sub_801F180
- adds r4, r0, 0
- bl sub_801F18C
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8020420
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- b _0801FB34
- .pool
-_0801FAC0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0801FB3A
- ldr r0, =gUnknown_02022C88
- ldr r1, [r0]
- ldrh r0, [r1, 0x1A]
- cmp r0, 0x8
- bhi _0801FAE8
- adds r0, 0x1
- strh r0, [r1, 0x1A]
- movs r0, 0x4
- strb r0, [r6]
-_0801FADE:
- movs r0, 0
- b _0801FB3C
- .pool
-_0801FAE8:
- strh r2, [r1, 0x1C]
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_0801FAF0:
- movs r0, 0
- movs r1, 0
- movs r2, 0x5
- movs r3, 0x11
- bl ScrollWindow
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, =gUnknown_02022C88
- ldr r1, [r0]
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- strh r0, [r1, 0x1C]
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_0801FB14:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801FB3A
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrh r0, [r0, 0x1C]
- cmp r0, 0x2
- bhi _0801FB34
- ldrb r0, [r6]
- subs r0, 0x1
- b _0801FB38
- .pool
-_0801FB34:
- ldrb r0, [r6]
- adds r0, 0x1
-_0801FB38:
- strb r0, [r6]
-_0801FB3A:
- movs r0, 0x1
-_0801FB3C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801FA68
-
- thumb_func_start sub_801FB44
-sub_801FB44: @ 801FB44
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FB54
- cmp r0, 0x1
- beq _0801FB60
- b _0801FB66
-_0801FB54:
- bl sub_80209E0
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FB66
-_0801FB60:
- bl sub_8020A1C
- b _0801FB68
-_0801FB66:
- movs r0, 0x1
-_0801FB68:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FB44
-
- thumb_func_start sub_801FB70
-sub_801FB70: @ 801FB70
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FB80
- cmp r0, 0x1
- beq _0801FBA0
- b _0801FBAA
-_0801FB80:
- movs r0, 0x3
- movs r1, 0x10
- bl sub_801FF18
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FBAA
- .pool
-_0801FBA0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FBAC
-_0801FBAA:
- movs r0, 0x1
-_0801FBAC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FB70
-
- thumb_func_start sub_801FBB4
-sub_801FBB4: @ 801FBB4
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FBC4
- cmp r0, 0x1
- beq _0801FBE4
- b _0801FBEE
-_0801FBC4:
- movs r0, 0x4
- movs r1, 0
- bl sub_801FF18
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FBEE
- .pool
-_0801FBE4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FBF0
-_0801FBEE:
- movs r0, 0x1
-_0801FBF0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FBB4
-
- thumb_func_start sub_801FBF8
-sub_801FBF8: @ 801FBF8
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FC08
- cmp r0, 0x1
- beq _0801FC38
- b _0801FC42
-_0801FC08:
- bl DynamicPlaceholderTextUtil_Reset
- bl sub_801F1D0
- adds r1, r0, 0
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r0, 0x5
- movs r1, 0
- bl sub_801FF18
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FC42
- .pool
-_0801FC38:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FC44
-_0801FC42:
- movs r0, 0x1
-_0801FC44:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FBF8
-
- thumb_func_start sub_801FC4C
-sub_801FC4C: @ 801FC4C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FC5C
- cmp r0, 0x1
- beq _0801FC88
- b _0801FC92
-_0801FC5C:
- movs r0, 0x6
- movs r1, 0
- bl sub_801FF18
- movs r0, 0x17
- movs r1, 0xA
- movs r2, 0x1
- bl sub_801FDDC
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FC92
- .pool
-_0801FC88:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FC94
-_0801FC92:
- movs r0, 0x1
-_0801FC94:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FC4C
-
- thumb_func_start sub_801FC9C
-sub_801FC9C: @ 801FC9C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FCAC
- cmp r0, 0x1
- beq _0801FCD8
- b _0801FCE2
-_0801FCAC:
- movs r0, 0x7
- movs r1, 0
- bl sub_801FF18
- movs r0, 0x17
- movs r1, 0xA
- movs r2, 0x1
- bl sub_801FDDC
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FCE2
- .pool
-_0801FCD8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FCE4
-_0801FCE2:
- movs r0, 0x1
-_0801FCE4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FC9C
-
- thumb_func_start sub_801FCEC
-sub_801FCEC: @ 801FCEC
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FCFC
- cmp r0, 0x1
- beq _0801FD1C
- b _0801FD26
-_0801FCFC:
- movs r0, 0x8
- movs r1, 0
- bl sub_801FF18
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FD26
- .pool
-_0801FD1C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FD28
-_0801FD26:
- movs r0, 0x1
-_0801FD28:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FCEC
-
- thumb_func_start sub_801FD30
-sub_801FD30: @ 801FD30
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FD40
- cmp r0, 0x1
- beq _0801FD74
- b _0801FD7E
-_0801FD40:
- bl DynamicPlaceholderTextUtil_Reset
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r0, 0x9
- movs r1, 0
- bl sub_801FF18
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FD7E
- .pool
-_0801FD74:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FD80
-_0801FD7E:
- movs r0, 0x1
-_0801FD80:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FD30
-
- thumb_func_start sub_801FD88
-sub_801FD88: @ 801FD88
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FD98
- cmp r0, 0x1
- beq _0801FDC4
- b _0801FDCE
-_0801FD98:
- movs r0, 0xA
- movs r1, 0
- bl sub_801FF18
- movs r0, 0x17
- movs r1, 0xA
- movs r2, 0x1
- bl sub_801FDDC
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FDCE
- .pool
-_0801FDC4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FDD0
-_0801FDCE:
- movs r0, 0x1
-_0801FDD0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FD88
-
- thumb_func_start sub_801FDD8
-sub_801FDD8: @ 801FDD8
- movs r0, 0
- bx lr
- thumb_func_end sub_801FDD8
-
- thumb_func_start sub_801FDDC
-sub_801FDDC: @ 801FDDC
- push {r4-r7,lr}
- sub sp, 0x14
- lsls r0, 24
- lsls r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r4, =0xffffff00
- ldr r2, [sp, 0xC]
- ands r2, r4
- lsrs r0, 16
- ldr r3, =0xffff00ff
- ands r2, r3
- orrs r2, r0
- lsrs r1, 8
- ldr r0, =0xff00ffff
- ands r2, r0
- orrs r2, r1
- ldr r0, =0x00ffffff
- ands r2, r0
- movs r0, 0xC0
- lsls r0, 19
- orrs r2, r0
- str r2, [sp, 0xC]
- ldr r0, [sp, 0x10]
- ands r0, r4
- movs r1, 0x4
- orrs r0, r1
- ands r0, r3
- movs r1, 0xE0
- lsls r1, 4
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0xA4
- lsls r1, 15
- orrs r0, r1
- str r0, [sp, 0x10]
- add r0, sp, 0xC
- bl AddWindow
- adds r1, r0, 0
- ldr r5, =gUnknown_02022C88
- ldr r0, [r5]
- movs r6, 0
- strh r1, [r0, 0x18]
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, 0xFF
- beq _0801FE94
- lsls r0, r1, 24
- lsrs r0, 24
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- ldr r2, =gText_Yes
- movs r1, 0x1
- str r1, [sp]
- movs r4, 0xFF
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- ldr r2, =gText_No
- movs r1, 0x11
- str r1, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- movs r1, 0x1
- movs r2, 0xD
- bl sub_8098858
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- movs r1, 0x2
- adds r2, r7, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
-_0801FE94:
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801FDDC
-
- thumb_func_start sub_801FEBC
-sub_801FEBC: @ 801FEBC
- push {r4,lr}
- ldr r4, =gUnknown_02022C88
- ldr r0, [r4]
- ldrh r0, [r0, 0x18]
- cmp r0, 0xFF
- beq _0801FEDA
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl ClearStdWindowAndFrameToTransparent
- ldr r0, [r4]
- ldrb r0, [r0, 0x18]
- bl ClearWindowTilemap
-_0801FEDA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801FEBC
-
- thumb_func_start sub_801FEE4
-sub_801FEE4: @ 801FEE4
- push {r4,lr}
- ldr r4, =gUnknown_02022C88
- ldr r0, [r4]
- ldrh r0, [r0, 0x18]
- cmp r0, 0xFF
- beq _0801FEFE
- lsls r0, 24
- lsrs r0, 24
- bl RemoveWindow
- ldr r1, [r4]
- movs r0, 0xFF
- strh r0, [r1, 0x18]
-_0801FEFE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801FEE4
-
- thumb_func_start sub_801FF08
-sub_801FF08: @ 801FF08
- push {lr}
- bl Menu_ProcessInput
- lsls r0, 24
- asrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_801FF08
-
- thumb_func_start sub_801FF18
-sub_801FF18: @ 801FF18
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x1C
- adds r7, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldr r1, =0xffffff00
- ldr r3, [sp, 0x14]
- ands r3, r1
- ldr r2, =0xffff00ff
- ands r3, r2
- movs r0, 0x80
- lsls r0, 4
- orrs r3, r0
- ldr r0, =0xff00ffff
- ands r3, r0
- movs r0, 0x80
- lsls r0, 13
- orrs r3, r0
- ldr r5, =0x00ffffff
- ands r3, r5
- movs r0, 0xA8
- lsls r0, 21
- orrs r3, r0
- str r3, [sp, 0x14]
- ldr r0, [sp, 0x18]
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- ands r0, r2
- movs r1, 0xE0
- lsls r1, 4
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0xD4
- lsls r1, 15
- orrs r0, r1
- str r0, [sp, 0x18]
- ldr r1, =gUnknown_082F2D40
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r1
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- beq _0801FF98
- lsls r0, r3, 16
- movs r1, 0xF9
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- ands r2, r3
- orrs r2, r0
- lsrs r1, r2, 24
- adds r1, 0x7
- lsls r1, 24
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x14]
-_0801FF98:
- add r0, sp, 0x14
- bl AddWindow
- ldr r5, =gUnknown_02022C88
- ldr r1, [r5]
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x1E]
- mov r8, r0
- cmp r0, 0xFF
- beq _08020082
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- beq _0801FFE0
- adds r0, r1, 0
- adds r0, 0x22
- ldr r1, [r4]
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r0, [r5]
- adds r6, r0, 0
- adds r6, 0x22
- b _0801FFE2
- .pool
-_0801FFE0:
- ldr r6, [r4]
-_0801FFE2:
- mov r0, r9
- lsls r1, r0, 8
- movs r0, 0
- movs r2, 0
- bl ChangeBgY
- mov r1, r8
- lsls r0, r1, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl PutWindowTilemap
- ldr r1, =gUnknown_082F2D40
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r1
- ldrb r0, [r4, 0x4]
- cmp r0, 0x1
- bne _08020050
- adds r0, r5, 0
- movs r1, 0xA
- movs r2, 0x2
- bl sub_80989E0
- ldrb r3, [r4, 0x5]
- adds r3, 0x8
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x6]
- adds r0, 0x8
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- ldrb r0, [r4, 0x7]
- str r0, [sp, 0xC]
- ldrb r0, [r4, 0x8]
- str r0, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r6, 0
- bl AddTextPrinterParameterized5
- b _0802007A
- .pool
-_08020050:
- adds r0, r5, 0
- movs r1, 0xA
- movs r2, 0x2
- bl sub_8098858
- ldrb r3, [r4, 0x5]
- ldrb r0, [r4, 0x6]
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- ldrb r0, [r4, 0x7]
- str r0, [sp, 0xC]
- ldrb r0, [r4, 0x8]
- str r0, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r6, 0
- bl AddTextPrinterParameterized5
-_0802007A:
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- mov r1, r8
- strh r1, [r0, 0x1E]
-_08020082:
- add sp, 0x1C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801FF18
-
- thumb_func_start sub_8020094
-sub_8020094: @ 8020094
- push {r4,lr}
- ldr r4, =gUnknown_02022C88
- ldr r0, [r4]
- ldrh r0, [r0, 0x1E]
- cmp r0, 0xFF
- beq _080200B2
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl ClearStdWindowAndFrameToTransparent
- ldr r0, [r4]
- ldrb r0, [r0, 0x1E]
- bl ClearWindowTilemap
-_080200B2:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020094
-
- thumb_func_start sub_80200C8
-sub_80200C8: @ 80200C8
- push {r4,lr}
- ldr r4, =gUnknown_02022C88
- ldr r0, [r4]
- ldrh r0, [r0, 0x1E]
- cmp r0, 0xFF
- beq _080200E2
- lsls r0, 24
- lsrs r0, 24
- bl RemoveWindow
- ldr r1, [r4]
- movs r0, 0xFF
- strh r0, [r1, 0x1E]
-_080200E2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80200C8
-
- thumb_func_start sub_80200EC
-sub_80200EC: @ 80200EC
- push {lr}
- sub sp, 0x8
- adds r3, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 19
- lsrs r3, 16
- lsls r1, 19
- lsrs r1, 16
- str r1, [sp]
- movs r0, 0xE
- str r0, [sp, 0x4]
- movs r0, 0x1
- adds r1, r2, 0
- adds r2, r3, 0
- movs r3, 0x1
- bl FillWindowPixelRect
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_80200EC
-
- thumb_func_start sub_8020118
-sub_8020118: @ 8020118
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- mov r10, r1
- ldr r1, [sp, 0x54]
- lsls r0, 16
- lsrs r5, r0, 16
- mov r9, r5
- lsls r2, 24
- lsrs r4, r2, 24
- mov r8, r4
- lsls r3, 24
- lsrs r7, r3, 24
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r4, 0
- beq _08020154
- bl sub_801F198
- adds r1, r0, 0
- subs r1, r5
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- adds r2, r4, 0
- bl sub_80200EC
-_08020154:
- add r0, sp, 0xC
- mov r1, r8
- strb r1, [r0]
- strb r7, [r0, 0x1]
- strb r6, [r0, 0x2]
- add r4, sp, 0x10
- movs r0, 0xFC
- strb r0, [r4]
- movs r0, 0x14
- strb r0, [r4, 0x1]
- movs r0, 0x8
- strb r0, [r4, 0x2]
- mov r0, sp
- adds r0, 0x13
- mov r1, r10
- bl StringCopy
- mov r0, r9
- lsls r2, r0, 27
- lsrs r2, 24
- add r1, sp, 0xC
- str r1, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8020118
-
- thumb_func_start sub_80201A4
-sub_80201A4: @ 80201A4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4C
- movs r0, 0x2
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- bl sub_801F0B0
- lsls r0, 24
- lsrs r2, r0, 24
- add r1, sp, 0xC
- movs r0, 0
- strb r0, [r1]
- movs r0, 0xE
- strb r0, [r1, 0x1]
- movs r0, 0xD
- strb r0, [r1, 0x2]
- cmp r2, 0x3
- beq _08020240
- add r1, sp, 0x10
- movs r0, 0xFC
- strb r0, [r1]
- movs r0, 0x14
- strb r0, [r1, 0x1]
- movs r0, 0x8
- strb r0, [r1, 0x2]
- str r0, [sp, 0x40]
- str r1, [sp, 0x44]
- cmp r2, 0x2
- bne _080201EC
- movs r1, 0x6
- str r1, [sp, 0x40]
-_080201EC:
- movs r7, 0
- movs r6, 0
- lsls r0, r2, 2
- ldr r1, =gUnknown_082F2BA8
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- ldr r0, [sp, 0x40]
- lsls r5, r0, 24
-_080201FE:
- ldr r1, [r4]
- cmp r1, 0
- bne _08020206
- b _0802030C
-_08020206:
- mov r0, sp
- adds r0, 0x13
- bl StringCopy
- lsls r3, r6, 24
- lsrs r3, 24
- add r1, sp, 0xC
- str r1, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- ldr r0, [sp, 0x44]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- lsrs r2, r5, 24
- bl AddTextPrinterParameterized3
- adds r4, 0x4
- adds r7, 0x1
- adds r0, r6, 0
- adds r0, 0xC
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r7, 0x9
- ble _080201FE
- b _0802030C
- .pool
-_08020240:
- movs r1, 0x4
- str r1, [sp, 0x40]
- movs r7, 0
- movs r6, 0
-_08020248:
- adds r0, r7, 0
- bl sub_801EE6C
- adds r5, r0, 0
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- cmp r0, 0x28
- bgt _08020286
- lsls r3, r6, 24
- lsrs r3, 24
- add r4, sp, 0xC
- str r4, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r4, 0x80
- lsls r4, 19
- lsrs r2, r4, 24
- bl AddTextPrinterParameterized3
- adds r0, r7, 0x1
- str r0, [sp, 0x48]
- adds r6, 0xC
- mov r10, r6
- b _08020300
-_08020286:
- adds r0, r5, 0
- bl StringLength_Multibyte
- adds r4, r0, 0
- mov r1, sp
- adds r1, 0x10
- str r1, [sp, 0x44]
- ldr r0, [sp, 0x40]
- lsls r0, 24
- mov r8, r0
- lsls r1, r6, 24
- mov r9, r1
- adds r0, r7, 0x1
- str r0, [sp, 0x48]
- adds r6, 0xC
- mov r10, r6
- ldr r7, [sp, 0x40]
- adds r7, 0x23
- ldr r6, [sp, 0x44]
-_080202AC:
- subs r4, 0x1
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl StringCopyN_Multibyte
- movs r0, 0
- adds r1, r6, 0
- movs r2, 0
- bl GetStringWidth
- cmp r0, 0x23
- bgt _080202AC
- mov r1, r8
- lsrs r2, r1, 24
- mov r0, r9
- lsrs r4, r0, 24
- add r1, sp, 0xC
- str r1, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- ldr r1, [sp, 0x44]
- str r1, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- adds r3, r4, 0
- bl AddTextPrinterParameterized3
- adds r2, r7, 0
- add r0, sp, 0xC
- str r0, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- ldr r0, =gText_Ellipsis
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- adds r3, r4, 0
- bl AddTextPrinterParameterized3
-_08020300:
- ldr r7, [sp, 0x48]
- mov r4, r10
- lsls r0, r4, 16
- lsrs r6, r0, 16
- cmp r7, 0x9
- ble _08020248
-_0802030C:
- add sp, 0x4C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80201A4
-
- thumb_func_start sub_8020320
-sub_8020320: @ 8020320
- push {r4,lr}
- ldr r1, =gUnknown_02022C88
- ldr r2, [r1]
- ldrh r3, [r2, 0x20]
- movs r4, 0x20
- ldrsh r0, [r2, r4]
- cmp r0, 0x37
- bgt _08020354
- adds r0, r3, 0
- adds r0, 0xC
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x37
- ble _08020348
- movs r0, 0x38
- strh r0, [r2, 0x20]
- b _08020354
- .pool
-_08020348:
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- bl sub_80207C0
- movs r0, 0x1
- b _08020360
-_08020354:
- ldr r0, [r1]
- movs r4, 0x20
- ldrsh r0, [r0, r4]
- bl sub_8020818
- movs r0, 0
-_08020360:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8020320
-
- thumb_func_start sub_8020368
-sub_8020368: @ 8020368
- push {r4,lr}
- ldr r1, =gUnknown_02022C88
- ldr r2, [r1]
- ldrh r3, [r2, 0x20]
- movs r4, 0x20
- ldrsh r0, [r2, r4]
- cmp r0, 0
- ble _0802039C
- adds r0, r3, 0
- subs r0, 0xC
- strh r0, [r2, 0x20]
- lsls r0, 16
- cmp r0, 0
- bgt _08020390
- movs r0, 0
- strh r0, [r2, 0x20]
- b _0802039C
- .pool
-_08020390:
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- bl sub_80207C0
- movs r0, 0x1
- b _080203A8
-_0802039C:
- ldr r0, [r1]
- movs r4, 0x20
- ldrsh r0, [r0, r4]
- bl sub_8020818
- movs r0, 0
-_080203A8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8020368
-
- thumb_func_start sub_80203B0
-sub_80203B0: @ 80203B0
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0x3
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0xD
- bl sub_8098858
- movs r5, 0xE
- str r5, [sp]
- movs r4, 0x5
- str r4, [sp, 0x4]
- ldr r0, =gUnknown_082F2DC8
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x2
- movs r2, 0x8
- movs r3, 0x1
- bl PrintTextArray
- bl sub_801F0B0
- lsls r0, 24
- lsrs r0, 24
- str r5, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x1
- bl sub_81983AC
- movs r0, 0x3
- bl PutWindowTilemap
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80203B0
-
- thumb_func_start sub_802040C
-sub_802040C: @ 802040C
- push {lr}
- movs r0, 0x3
- movs r1, 0
- bl ClearStdWindowAndFrameToTransparent
- movs r0, 0x3
- bl ClearWindowTilemap
- pop {r0}
- bx r0
- thumb_func_end sub_802040C
-
- thumb_func_start sub_8020420
-sub_8020420: @ 8020420
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r1, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r2, 24
- add r3, sp, 0xC
- movs r1, 0x1
- strb r1, [r3]
- lsrs r2, 23
- adds r1, r2, 0x2
- strb r1, [r3, 0x1]
- adds r1, r3, 0
- adds r2, 0x3
- strb r2, [r1, 0x2]
- lsls r4, r0, 4
- subs r4, r0
- lsls r3, r4, 16
- lsrs r3, 16
- movs r0, 0xA8
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x11
- movs r2, 0
- bl FillWindowPixelRect
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- add r0, sp, 0xC
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- adds r3, r4, 0
- bl AddTextPrinterParameterized3
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8020420
-
- thumb_func_start sub_8020480
-sub_8020480: @ 8020480
- push {lr}
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuRegBits
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r1, 0xE0
- lsls r1, 8
- movs r0, 0
- bl ClearGpuRegBits
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- ldr r1, =0x000040f0
- movs r0, 0x40
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0x90
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3D
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x3F
- bl SetGpuReg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020480
-
- thumb_func_start sub_8020538
-sub_8020538: @ 8020538
- push {r4,lr}
- ldr r4, =gUnknown_02022C88
- ldr r1, [r4]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00000928
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00001128
- adds r1, r0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00001928
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020538
-
- thumb_func_start sub_8020584
-sub_8020584: @ 8020584
- push {lr}
- sub sp, 0x8
- movs r1, 0xC0
- lsls r1, 19
- movs r0, 0
- movs r2, 0x20
- movs r3, 0x1
- bl RequestDma3Fill
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_8020584
-
- thumb_func_start sub_80205B4
-sub_80205B4: @ 80205B4
- push {lr}
- sub sp, 0x4
- ldr r0, =gUnknown_08DD4BD0
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_08DD4BB0
- movs r1, 0xC0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gUnknown_08DD4BF0
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gUnknown_08DD4C4C
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80205B4
-
- thumb_func_start task_tutorial_story_unknown
-task_tutorial_story_unknown: @ 8020604
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, =gLinkMiscMenu_Pal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gLinkMiscMenu_Gfx
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- adds r5, r0, 0
- cmp r5, 0
- beq _0802064E
- movs r1, 0x88
- lsls r1, 2
- adds r0, r5, r1
- ldr r4, =gUnknown_02022C88
- ldr r1, [r4]
- ldr r2, =0x00002128
- adds r1, r2
- movs r2, 0x8
- bl CpuFastSet
- movs r1, 0x84
- lsls r1, 3
- adds r0, r5, r1
- ldr r1, [r4]
- ldr r2, =0x00002148
- adds r1, r2
- movs r2, 0x8
- bl CpuFastSet
-_0802064E:
- ldr r1, =gLinkMiscMenu_Tilemap
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_tutorial_story_unknown
-
- thumb_func_start sub_8020680
-sub_8020680: @ 8020680
- push {lr}
- ldr r0, =gUnknown_082F2C20
- movs r1, 0x80
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =0x06004020
- movs r0, 0
- movs r2, 0x20
- movs r3, 0x1
- bl RequestDma3Fill
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020680
-
- thumb_func_start sub_80206A4
-sub_80206A4: @ 80206A4
- push {lr}
- ldr r0, =gUnknown_082F2C40
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80206A4
-
- thumb_func_start sub_80206D0
-sub_80206D0: @ 80206D0
- push {lr}
- movs r0, 0x2
- bl PutWindowTilemap
- bl sub_80201A4
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_80206D0
-
- thumb_func_start sub_80206E8
-sub_80206E8: @ 80206E8
- push {r4,lr}
- sub sp, 0xC
- add r1, sp, 0x8
- movs r0, 0
- strb r0, [r1]
- movs r0, 0xFF
- strb r0, [r1, 0x1]
- movs r4, 0
-_080206F8:
- ldr r0, =gUnknown_02022C88
- ldr r1, [r0]
- ldr r0, =0x00002128
- adds r1, r0
- lsls r2, r4, 19
- lsrs r2, 16
- movs r0, 0x8
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r3, 0
- bl BlitBitmapToWindow
- adds r4, 0x1
- cmp r4, 0xE
- ble _080206F8
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80206E8
-
- thumb_func_start sub_8020740
-sub_8020740: @ 8020740
- push {lr}
- movs r0, 0x3
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx
- movs r0, 0x3
- movs r1, 0xA
- movs r2, 0x20
- bl LoadUserWindowBorderGfx_
- ldr r0, =gUnknown_0860F074
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020740
-
- thumb_func_start sub_8020770
-sub_8020770: @ 8020770
- push {lr}
- sub sp, 0x10
- ldr r0, =0xa2600001
- str r0, [sp, 0x4]
- ldr r0, =0x04000014
- str r0, [sp]
- mov r2, sp
- movs r1, 0
- movs r0, 0x1
- strb r0, [r2, 0x8]
- mov r0, sp
- strb r1, [r0, 0x9]
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- strh r1, [r0, 0x20]
- str r1, [sp, 0xC]
- add r0, sp, 0xC
- ldr r1, =gScanlineEffectRegBuffers
- ldr r2, =0x010003c0
- bl CpuFastSet
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020770
-
- thumb_func_start sub_80207C0
-sub_80207C0: @ 80207C0
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- mov r1, sp
- strh r0, [r1]
- ldr r5, =gScanlineEffect
- ldrb r0, [r5, 0x14]
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 7
- ldr r4, =gScanlineEffectRegBuffers
- adds r1, r4
- ldr r2, =0x01000090
- mov r0, sp
- bl CpuSet
- mov r0, sp
- adds r0, 0x2
- movs r1, 0
- strh r1, [r0]
- ldrb r2, [r5, 0x14]
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 7
- movs r2, 0x90
- lsls r2, 1
- adds r4, r2
- adds r1, r4
- ldr r2, =0x01000010
- bl CpuSet
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80207C0
-
- thumb_func_start sub_8020818
-sub_8020818: @ 8020818
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, sp
- strh r4, [r0]
- ldr r5, =gScanlineEffectRegBuffers
- ldr r0, =0x01000090
- mov r9, r0
- mov r0, sp
- adds r1, r5, 0
- mov r2, r9
- bl CpuSet
- mov r0, sp
- adds r0, 0x2
- movs r6, 0
- strh r6, [r0]
- movs r2, 0x90
- lsls r2, 1
- adds r1, r5, r2
- ldr r2, =0x01000010
- mov r8, r2
- bl CpuSet
- add r0, sp, 0x4
- strh r4, [r0]
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r5, r2
- mov r2, r9
- bl CpuSet
- mov r0, sp
- adds r0, 0x6
- strh r6, [r0]
- movs r1, 0x8A
- lsls r1, 4
- adds r5, r1
- adds r1, r5, 0
- mov r2, r8
- bl CpuSet
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020818
-
- thumb_func_start sub_8020890
-sub_8020890: @ 8020890
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, =gUnknown_082F3134
-_08020896:
- adds r0, r4, 0
- bl LoadCompressedSpriteSheet
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x4
- bls _08020896
- ldr r0, =gUnknown_082F315C
- bl LoadSpritePalette
- ldr r4, =gUnknown_02022C8C
- movs r0, 0x18
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- beq _080208C8
- movs r0, 0x1
- b _080208CA
- .pool
-_080208C8:
- movs r0, 0
-_080208CA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8020890
-
- thumb_func_start sub_80208D0
-sub_80208D0: @ 80208D0
- push {lr}
- ldr r0, =gUnknown_02022C8C
- ldr r0, [r0]
- cmp r0, 0
- beq _080208DE
- bl Free
-_080208DE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80208D0
-
- thumb_func_start sub_80208E8
-sub_80208E8: @ 80208E8
- push {lr}
- ldr r0, =gUnknown_082F319C
- movs r1, 0xA
- movs r2, 0x18
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02022C8C
- ldr r2, [r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80208E8
-
- thumb_func_start sub_802091C
-sub_802091C: @ 802091C
- ldr r1, =gUnknown_02022C8C
- ldr r1, [r1]
- ldr r2, [r1]
- adds r2, 0x3E
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- ldrb r3, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- orrs r1, r0
- strb r1, [r2]
- bx lr
- .pool
- thumb_func_end sub_802091C
-
- thumb_func_start sub_802093C
-sub_802093C: @ 802093C
- push {r4,r5,lr}
- sub sp, 0x4
- bl sub_801F0B0
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r5, sp
- adds r5, 0x1
- mov r0, sp
- adds r1, r5, 0
- bl sub_801F0BC
- cmp r4, 0x3
- beq _0802097C
- ldr r4, =gUnknown_02022C8C
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- ldr r1, [r4]
- ldr r2, [r1]
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0xA
- strh r0, [r2, 0x20]
- ldr r2, [r1]
- b _08020992
- .pool
-_0802097C:
- ldr r4, =gUnknown_02022C8C
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- ldr r2, [r4]
- ldr r1, [r2]
- movs r0, 0x18
- strh r0, [r1, 0x20]
- ldr r2, [r2]
-_08020992:
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x18
- strh r0, [r2, 0x22]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802093C
-
- thumb_func_start sub_80209AC
-sub_80209AC: @ 80209AC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 2
- ldr r0, =gUnknown_082F2DF0+2
- adds r4, r0
- movs r0, 0
- bl IndexOfSpritePaletteTag
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 4
- ldr r0, =0x01010000
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x4
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80209AC
-
- thumb_func_start sub_80209E0
-sub_80209E0: @ 80209E0
- push {lr}
- bl sub_801F0B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08020A00
- ldr r0, =gUnknown_02022C8C
- ldr r0, [r0]
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _08020A0C
- .pool
-_08020A00:
- ldr r0, =gUnknown_02022C8C
- ldr r0, [r0]
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
-_08020A0C:
- ldr r0, =gUnknown_02022C8C
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0x14]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80209E0
-
- thumb_func_start sub_8020A1C
-sub_8020A1C: @ 8020A1C
- push {r4,lr}
- ldr r4, =gUnknown_02022C8C
- ldr r1, [r4]
- ldrh r0, [r1, 0x14]
- cmp r0, 0x3
- bls _08020A30
-_08020A28:
- movs r0, 0
- b _08020A62
- .pool
-_08020A30:
- adds r0, 0x1
- strh r0, [r1, 0x14]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bls _08020A60
- bl sub_801F0B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08020A54
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- b _08020A28
-_08020A54:
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- b _08020A28
-_08020A60:
- movs r0, 0x1
-_08020A62:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8020A1C
-
- thumb_func_start sub_8020A68
-sub_8020A68: @ 8020A68
- push {r4,r5,lr}
- ldr r0, =gUnknown_082F31BC
- movs r1, 0x4C
- movs r2, 0x98
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_02022C8C
- ldr r2, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, =gSprites
- adds r1, r4
- str r1, [r2, 0x8]
- ldr r0, =gUnknown_082F31D4
- movs r1, 0x40
- movs r2, 0x98
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r2, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020A68
-
- thumb_func_start sub_8020ABC
-sub_8020ABC: @ 8020ABC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_801F198
- adds r3, r0, 0
- cmp r3, 0xF
- bne _08020AD8
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _08020AEC
-_08020AD8:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- lsls r0, r3, 3
- adds r0, 0x4C
- strh r0, [r4, 0x20]
-_08020AEC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8020ABC
-
- thumb_func_start sub_8020AF4
-sub_8020AF4: @ 8020AF4
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _08020B1A
- strh r2, [r1, 0x2E]
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _08020B1A
- strh r2, [r1, 0x24]
-_08020B1A:
- pop {r0}
- bx r0
- thumb_func_end sub_8020AF4
-
- thumb_func_start sub_8020B20
-sub_8020B20: @ 8020B20
- push {r4,r5,lr}
- ldr r0, =gUnknown_082F322C
- movs r1, 0x8
- movs r2, 0x98
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_02022C8C
- ldr r2, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, =gSprites
- adds r1, r4
- str r1, [r2, 0xC]
- ldr r0, =gUnknown_082F3244
- movs r1, 0x20
- movs r2, 0x98
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r2, 0x10]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020B20
-
- thumb_func_start sub_8020B80
-sub_8020B80: @ 8020B80
- push {r4,lr}
- bl sub_801F0B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _08020BB8
- bl sub_801F0DC
- cmp r0, 0
- beq _08020BC2
- ldr r3, =gUnknown_02022C8C
- ldr r0, [r3]
- ldr r1, [r0, 0x10]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- ldr r0, [r0, 0x10]
- movs r1, 0x3
- bl StartSpriteAnim
- b _08020BF6
- .pool
-_08020BB8:
- bl sub_801F1A4
- adds r4, r0, 0
- cmp r4, 0x3
- bne _08020BD8
-_08020BC2:
- ldr r0, =gUnknown_02022C8C
- ldr r0, [r0]
- ldr r1, [r0, 0x10]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- b _08020BF6
- .pool
-_08020BD8:
- ldr r3, =gUnknown_02022C8C
- ldr r0, [r3]
- ldr r1, [r0, 0x10]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- ldr r0, [r0, 0x10]
- lsls r1, r4, 24
- lsrs r1, 24
- bl StartSpriteAnim
-_08020BF6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020B80
-
- thumb_func_start sub_8020C00
-sub_8020C00: @ 8020C00
- ldr r0, =gUnknown_02022C90
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8020C00
-
- thumb_func_start sub_8020C0C
-sub_8020C0C: @ 8020C0C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_02022C90
- ldr r0, [r5]
- cmp r0, 0
- bne _08020C20
- movs r0, 0x2
- b _08020C5C
- .pool
-_08020C20:
- cmp r4, 0
- bne _08020C26
- ldr r4, [r0]
-_08020C26:
- ldrb r0, [r0, 0xA]
- bl DestroyTask
- ldr r0, [r5]
- bl Free
- movs r0, 0
- str r0, [r5]
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, =CB2_ReturnToField
- cmp r4, r0
- bne _08020C5A
- ldr r2, =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0xC8
- lsls r0, 1
- bl PlayNewMapMusic
- ldr r0, =CB1_Overworld
- bl SetMainCallback1
-_08020C5A:
- movs r0, 0
-_08020C5C:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8020C0C
-
- thumb_func_start sub_8020C70
-sub_8020C70: @ 8020C70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0
- mov r8, r0
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08020C8E
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _08020CAC
-_08020C8E:
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, =gUnknown_03005000
- mov r1, r8
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x12]
- b _08020CF8
- .pool
-_08020CAC:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r8
- cmp r0, 0x1
- bls _08020CC8
- cmp r7, r8
- bcc _08020CDC
-_08020CC8:
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, =gUnknown_03005000
- movs r1, 0
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x12]
- b _08020CF8
- .pool
-_08020CDC:
- ldr r6, =gUnknown_02022C90
- ldr r0, =0x000041c0
- bl AllocZeroed
- adds r5, r0, 0
- str r5, [r6]
- cmp r5, 0
- bne _08020D10
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, =gUnknown_03005000
- strh r5, [r0, 0x10]
- strh r5, [r0, 0x12]
-_08020CF8:
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
- b _08020D74
- .pool
-_08020D10:
- str r4, [r5]
- movs r4, 0
- strb r7, [r5, 0x8]
- ldr r0, [r6]
- mov r1, r8
- strb r1, [r0, 0x9]
- ldr r0, [r6]
- bl sub_8020FC4
- ldr r1, [r6]
- movs r2, 0x1
- movs r0, 0x1
- strh r0, [r1, 0x12]
- strb r2, [r1, 0xE]
- ldr r1, [r6]
- movs r0, 0x6
- strb r0, [r1, 0xF]
- ldr r0, [r6]
- adds r0, 0x36
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x10
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl sub_8024604
- ldr r2, [r6]
- adds r2, 0x36
- movs r0, 0x4
- movs r1, 0x1
- bl sub_8022BEC
- ldr r0, =sub_8020F88
- bl SetMainCallback2
- ldr r0, =sub_8020FA0
- movs r1, 0x8
- bl CreateTask
- ldr r1, [r6]
- strb r0, [r1, 0xA]
- ldr r2, =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08020D74:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020C70
-
- thumb_func_start sub_8020D8C
-sub_8020D8C: @ 8020D8C
- push {r4,lr}
- sub sp, 0xC
- ldr r1, =gSpecialVar_ItemId
- ldrh r0, [r1]
- subs r0, 0x85
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2B
- bls _08020DA8
- movs r0, 0x85
- strh r0, [r1]
- b _08020DB0
- .pool
-_08020DA8:
- ldrh r0, [r1]
- movs r1, 0x1
- bl RemoveBagItem
-_08020DB0:
- ldr r4, =gUnknown_02022C90
- ldr r2, [r4]
- ldrb r0, [r2, 0x8]
- lsls r0, 5
- adds r0, r2, r0
- ldr r1, =gSpecialVar_ItemId
- ldrh r1, [r1]
- subs r1, 0x85
- adds r0, 0xA4
- movs r3, 0
- strh r1, [r0]
- movs r0, 0x1
- strb r0, [r2, 0xE]
- ldr r1, [r4]
- movs r0, 0x9
- strb r0, [r1, 0xF]
- ldr r0, [r4]
- adds r0, 0x36
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x10
- str r1, [sp]
- str r3, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r1, 0
- bl sub_8024604
- ldr r2, [r4]
- adds r2, 0x36
- movs r0, 0x4
- movs r1, 0x1
- bl sub_8022BEC
- ldr r0, =sub_8020FA0
- movs r1, 0x8
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0xA]
- ldr r0, =sub_8020F88
- bl SetMainCallback2
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020D8C
-
- thumb_func_start sub_8020E1C
-sub_8020E1C: @ 8020E1C
- push {lr}
- ldr r0, =gUnknown_02022C90
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- bl DestroyTask
- ldr r0, =sub_8020D8C
- bl sub_81AABF0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020E1C
-
- thumb_func_start sub_8020E3C
-sub_8020E3C: @ 8020E3C
- push {lr}
- ldr r0, =sub_8020F74
- bl SetVBlankCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020E3C
-
- thumb_func_start sub_8020E4C
-sub_8020E4C: @ 8020E4C
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- pop {r0}
- bx r0
- thumb_func_end sub_8020E4C
-
- thumb_func_start sub_8020E58
-sub_8020E58: @ 8020E58
- push {r4-r6,lr}
- ldr r4, =gUnknown_02022C90
- ldr r0, [r4]
- adds r0, 0x6C
- ldrh r2, [r0]
- lsls r2, 8
- movs r1, 0xF0
- lsls r1, 6
- adds r0, r2, 0
- bl sub_81515FC
- adds r2, r0, 0
- ldr r0, [r4]
- adds r0, 0x72
- ldrh r3, [r0]
- lsls r3, 8
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_81515FC
- adds r3, r0, 0
- ldr r0, =0x0000ffff
- ands r3, r0
- ldr r2, [r4]
- strh r3, [r2, 0x16]
- ldrb r0, [r2, 0x9]
- cmp r0, 0x3
- beq _08020EDC
- cmp r0, 0x3
- bgt _08020EA4
- cmp r0, 0x2
- beq _08020EAE
- b _08020F48
- .pool
-_08020EA4:
- cmp r0, 0x4
- beq _08020EEC
- cmp r0, 0x5
- beq _08020F20
- b _08020F48
-_08020EAE:
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- movs r0, 0xF6
- lsls r0, 1
- adds r1, r0
- lsls r0, r3, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bls _08020F48
- adds r2, 0x25
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r5]
- ldr r1, [r4]
- ldrh r1, [r1, 0x16]
- movs r2, 0xF6
- lsls r2, 1
- b _08020F14
- .pool
-_08020EDC:
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- movs r6, 0xF7
- lsls r6, 1
- b _08020F28
- .pool
-_08020EEC:
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- movs r0, 0xF8
- lsls r0, 1
- adds r1, r0
- lsls r0, r3, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bls _08020F48
- adds r2, 0x25
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r5]
- ldr r1, [r4]
- ldrh r1, [r1, 0x16]
- movs r2, 0xF8
- lsls r2, 1
-_08020F14:
- adds r0, r2
- strh r1, [r0]
- b _08020F48
- .pool
-_08020F20:
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- movs r6, 0xF9
- lsls r6, 1
-_08020F28:
- adds r1, r0, r6
- lsls r0, r3, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bls _08020F48
- adds r2, 0x25
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r1, [r5]
- ldr r0, [r4]
- ldrh r0, [r0, 0x16]
- adds r1, r6
- strh r0, [r1]
-_08020F48:
- ldr r4, =gUnknown_02022C90
- ldr r1, [r4]
- ldr r0, [r1, 0x68]
- str r0, [r1, 0x1C]
- bl sub_8024700
- lsls r0, 24
- cmp r0, 0
- bne _08020F66
- ldr r0, [r4]
- adds r0, 0x25
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
-_08020F66:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020E58
-
- thumb_func_start sub_8020F74
-sub_8020F74: @ 8020F74
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_8020F74
-
- thumb_func_start sub_8020F88
-sub_8020F88: @ 8020F88
- push {lr}
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8020F88
-
- thumb_func_start sub_8020FA0
-sub_8020FA0: @ 8020FA0
- push {r4,lr}
- ldr r4, =gUnknown_02022C90
- ldr r0, [r4]
- ldr r2, [r0, 0x4]
- cmp r2, 0
- beq _08020FB4
- adds r1, r0, 0
- adds r1, 0x36
- bl _call_via_r2
-_08020FB4:
- ldr r0, [r4]
- bl sub_8021450
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020FA0
-
- thumb_func_start sub_8020FC4
-sub_8020FC4: @ 8020FC4
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- b _08020FE6
-_08020FCC:
- lsls r0, r5, 5
- adds r0, 0x98
- adds r0, r6, r0
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- ldr r2, =gLinkPlayers + 8
- adds r1, r2
- bl StringCopy
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08020FE6:
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _08020FCC
- cmp r5, 0x4
- bhi _08021012
-_08020FF0:
- lsls r4, r5, 5
- adds r0, r4, 0
- adds r0, 0x98
- adds r0, r6, r0
- movs r1, 0x1
- movs r2, 0x7
- bl memset
- adds r4, r6, r4
- adds r4, 0x9F
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _08020FF0
-_08021012:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsls r0, 29
- lsrs r0, 29
- cmp r0, 0x1
- beq _0802103E
- cmp r0, 0x1
- bgt _08021034
- cmp r0, 0
- beq _0802103A
- b _08021046
- .pool
-_08021034:
- cmp r0, 0x2
- beq _08021042
- b _08021046
-_0802103A:
- movs r0, 0x8
- b _08021044
-_0802103E:
- movs r0, 0x4
- b _08021044
-_08021042:
- movs r0, 0x1
-_08021044:
- strb r0, [r6, 0xB]
-_08021046:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8020FC4
-
- thumb_func_start sub_802104C
-sub_802104C: @ 802104C
- push {r4,r5,lr}
- sub sp, 0xC
- bl sub_8020C00
- adds r5, r0, 0
- cmp r5, 0
- bne _08021060
- movs r0, 0x1
- negs r0, r0
- b _08021304
-_08021060:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x9
- bls _08021068
- b _080212FC
-_08021068:
- lsls r0, 2
- ldr r1, =_08021078
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08021078:
- .4byte _080210A0
- .4byte _080210BE
- .4byte _080210E4
- .4byte _080210F2
- .4byte _08021178
- .4byte _080211BE
- .4byte _080211EC
- .4byte _0802121C
- .4byte _08021278
- .4byte _080212B4
-_080210A0:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl ScanlineEffect_Stop
- bl reset_temp_tile_data_buffers
- b _080212FC
-_080210BE:
- add r0, sp, 0x8
- movs r4, 0
- strh r4, [r0]
- movs r1, 0xE0
- lsls r1, 19
- ldr r2, =0x01000200
- bl CpuSet
- ldr r0, =gReservedSpritePaletteCount
- strb r4, [r0]
- movs r0, 0x3
- bl sub_8034C54
- b _080212FC
- .pool
-_080210E4:
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- b _080212FC
-_080210F2:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082F32C8
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0xE0
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- movs r0, 0x87
- lsls r0, 6
- adds r1, r5, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- movs r0, 0xC7
- lsls r0, 6
- adds r1, r5, r0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- b _080212FC
- .pool
-_08021178:
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- movs r0, 0x40
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- b _080212FC
-_080211BE:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r1, =gUnknown_08DE34B8
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- b _080212FC
- .pool
-_080211EC:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- beq _080211F8
- b _08021302
-_080211F8:
- bl InitStandardTextBoxWindows
- bl sub_8197200
- adds r0, r5, 0
- bl sub_8022588
- adds r0, r5, 0
- bl sub_8022600
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x8]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x8]
- b _080212FC
- .pool
-_0802121C:
- ldr r0, =gUnknown_08DE3398
- movs r2, 0xC0
- lsls r2, 1
- movs r1, 0
- bl LoadPalette
- ldr r1, =gBerryCrushGrinderTopTilemap
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, =gBerryCrushContainerCapTilemap
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, =gBerryCrushBackgroundTilemap
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- adds r0, r5, 0
- bl sub_80226D0
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080212FC
- .pool
-_08021278:
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- adds r0, r5, 0
- bl sub_8022730
- ldr r0, =gSpriteCoordOffsetY
- ldrh r1, [r0]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x16
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- b _080212FC
- .pool
-_080212B4:
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuRegBits
- bl sub_8020E3C
- movs r0, 0
- strb r0, [r5, 0xC]
- movs r0, 0x1
- b _08021304
- .pool
-_080212FC:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_08021302:
- movs r0, 0
-_08021304:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802104C
-
- thumb_func_start sub_802130C
-sub_802130C: @ 802130C
- push {r4,r5,lr}
- sub sp, 0x8
- bl sub_8020C00
- adds r5, r0, 0
- cmp r5, 0
- bne _08021320
- movs r0, 0x1
- negs r0, r0
- b _08021446
-_08021320:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x7
- bls _08021328
- b _0802143E
-_08021328:
- lsls r0, 2
- ldr r1, =_08021338
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08021338:
- .4byte _08021358
- .4byte _0802135E
- .4byte _08021368
- .4byte _0802137E
- .4byte _0802138A
- .4byte _080213E6
- .4byte _08021426
- .4byte _08021436
-_08021358:
- bl sub_8010434
- b _0802143E
-_0802135E:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08021444
-_08021368:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- b _0802143E
-_0802137E:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _0802143E
- b _08021444
-_0802138A:
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0802143E
-_080213E6:
- bl FreeAllWindowBuffers
- movs r0, 0
- bl HideBg
- movs r0, 0
- bl UnsetBgTilemapBuffer
- movs r0, 0x1
- bl HideBg
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- movs r0, 0x2
- bl HideBg
- movs r0, 0x2
- bl UnsetBgTilemapBuffer
- movs r0, 0x3
- bl HideBg
- movs r0, 0x3
- bl UnsetBgTilemapBuffer
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl ClearGpuRegBits
- b _0802143E
-_08021426:
- bl sub_800E084
- adds r0, r5, 0
- bl sub_8022960
- bl sub_8034CC8
- b _0802143E
-_08021436:
- movs r0, 0
- strb r0, [r5, 0xC]
- movs r0, 0x1
- b _08021446
-_0802143E:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_08021444:
- movs r0, 0
-_08021446:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802130C
-
- thumb_func_start sub_8021450
-sub_8021450: @ 8021450
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gSpriteCoordOffsetY
- ldrh r1, [r4, 0x2C]
- ldrh r2, [r4, 0x2A]
- adds r1, r2
- strh r1, [r0]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x16
- bl SetGpuReg
- ldrh r0, [r4, 0x12]
- cmp r0, 0x7
- bne _0802147C
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r4, r1
- ldrh r1, [r4, 0x28]
- bl sub_8022524
-_0802147C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8021450
-
- thumb_func_start sub_8021488
-sub_8021488: @ 8021488
- movs r1, 0
- ldr r2, =0x0000ff98
- strh r2, [r0, 0x2A]
- strh r1, [r0, 0x2C]
- ldr r0, =gSpriteCoordOffsetX
- strh r1, [r0]
- ldr r0, =gSpriteCoordOffsetY
- strh r2, [r0]
- bx lr
- .pool
- thumb_func_end sub_8021488
-
- thumb_func_start sub_80214A8
-sub_80214A8: @ 80214A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r10, r0
- str r1, [sp]
- movs r0, 0
- mov r9, r0
- mov r1, r10
- ldrb r1, [r1, 0x9]
- cmp r9, r1
- bcc _080214C6
- b _080215E4
-_080214C6:
- ldr r1, =gUnknown_082F41E8
- mov r2, r9
- lsls r0, r2, 1
- adds r0, r1
- ldrh r2, [r0]
- mov r1, r9
- lsls r0, r1, 5
- add r0, r10
- adds r0, 0xA4
- ldrh r3, [r0]
- adds r3, 0x85
- lsls r3, 16
- lsrs r3, 16
- ldr r0, =gUnknown_082F436C
- adds r1, r2, 0
- bl AddCustomItemIconSprite
- lsls r0, 24
- lsrs r0, 24
- mov r2, r9
- lsls r3, r2, 2
- ldr r1, [sp]
- adds r1, 0x38
- adds r6, r1, r3
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r6]
- ldrb r0, [r1, 0x5]
- movs r2, 0xC
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r2, [r6]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, [r6]
- ldr r0, [sp]
- adds r0, 0xC
- adds r0, r3
- mov r8, r0
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- adds r0, 0x78
- strh r0, [r1, 0x20]
- ldr r1, [r6]
- ldr r0, =0x0000fff0
- strh r0, [r1, 0x22]
- ldr r3, [r6]
- adds r5, r3, 0
- adds r5, 0x2E
- movs r0, 0x80
- lsls r0, 2
- strh r0, [r5, 0x2]
- movs r0, 0x20
- strh r0, [r5, 0x4]
- movs r0, 0x70
- strh r0, [r5, 0xE]
- mov r2, r8
- ldr r1, [r2]
- ldrh r0, [r1, 0xA]
- ldrh r1, [r1, 0x8]
- subs r0, r1
- lsls r0, 16
- asrs r1, r0, 16
- adds r0, r1, 0
- cmp r1, 0
- bge _08021558
- adds r0, r1, 0x3
-_08021558:
- asrs r0, 2
- strh r0, [r5, 0xC]
- lsls r0, r1, 23
- lsrs r7, r0, 16
- movs r2, 0x80
- lsls r2, 2
- adds r2, 0x20
- lsrs r2, 1
- movs r0, 0x7
- movs r1, 0xFE
- lsls r1, 6
- str r3, [sp, 0x4]
- bl sub_81515D4
- adds r4, r0, 0
- ldr r0, [r6]
- ldrh r0, [r0, 0x20]
- lsls r0, 7
- ldr r3, [sp, 0x4]
- strh r0, [r3, 0x2E]
- lsls r1, r7, 16
- asrs r1, 16
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x7
- adds r2, r4, 0
- bl sub_81515D4
- strh r0, [r5, 0x6]
- movs r0, 0x7
- adds r1, r4, 0
- movs r2, 0x55
- bl sub_8151550
- adds r2, r0, 0
- movs r0, 0
- strh r0, [r5, 0x8]
- lsls r2, 16
- asrs r2, 16
- movs r0, 0x7
- movs r1, 0xFE
- lsls r1, 6
- bl sub_81515D4
- strh r0, [r5, 0xA]
- ldrh r0, [r5, 0xE]
- ldr r2, =0xffff8000
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r5, 0xE]
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _080215D0
- ldr r0, [r6]
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080215D0:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r10
- ldrb r0, [r0, 0x9]
- cmp r9, r0
- bcs _080215E4
- b _080214C6
-_080215E4:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80214A8
-
- thumb_func_start sub_8021608
-sub_8021608: @ 8021608
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x2E
- ldrh r0, [r4, 0x4]
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r5, 0x26]
- adds r0, r2
- strh r0, [r5, 0x26]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- movs r6, 0x80
- lsls r6, 8
- ands r0, r6
- cmp r0, 0
- beq _0802166E
- ldrh r0, [r4, 0x6]
- ldrh r2, [r5, 0x2E]
- adds r0, r2
- strh r0, [r5, 0x2E]
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x8]
- adds r0, r1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r5, 0x24]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ands r0, r6
- cmp r0, 0
- beq _0802166E
- ldrh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- cmp r0, 0x7E
- ble _0802166E
- movs r0, 0
- strh r0, [r5, 0x24]
- ldrh r1, [r4, 0xE]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xE]
-_0802166E:
- ldrh r0, [r4]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r5, 0x20]
- movs r2, 0x22
- ldrsh r1, [r5, r2]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- ldrh r2, [r4, 0xE]
- ldr r0, =0x00007fff
- ands r0, r2
- cmp r1, r0
- blt _0802169A
- ldr r0, =SpriteCallbackDummy
- str r0, [r5, 0x1C]
- adds r0, r5, 0
- bl FreeSpriteOamMatrix
- adds r0, r5, 0
- bl DestroySprite
-_0802169A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8021608
-
- thumb_func_start sub_80216A8
-sub_80216A8: @ 80216A8
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r5, 0
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcs _080216D4
- ldr r7, =gUnknown_082F41E8
-_080216B6:
- lsls r0, r5, 1
- adds r0, r7
- ldrh r4, [r0]
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _080216B6
-_080216D4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80216A8
-
- thumb_func_start sub_80216E0
-sub_80216E0: @ 80216E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r6, r0, 0
- str r1, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0x4E
- adds r1, r6
- mov r10, r1
- mov r9, r0
- ldrb r2, [r6, 0x9]
- cmp r0, r2
- bcs _080217AE
- ldr r7, =gUnknown_082F41CC
-_08021704:
- mov r3, r10
- ldrh r0, [r3, 0xA]
- mov r4, r9
- lsls r1, r4, 1
- add r1, r9
- asrs r0, r1
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- lsrs r1, 16
- mov r8, r1
- cmp r1, 0
- beq _0802179E
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08021748
- lsls r4, 2
- ldr r5, [sp]
- adds r5, 0x24
- adds r0, r5, r4
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _0802175A
- .pool
-_08021748:
- mov r0, r9
- lsls r4, r0, 2
- ldr r5, [sp]
- adds r5, 0x24
- adds r0, r5, r4
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
-_0802175A:
- adds r3, r5, r4
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r4, 0x5
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- subs r4, 0x3C
- adds r1, r4, 0
- ands r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- movs r0, 0x3
- mov r1, r8
- ands r1, r0
- mov r8, r1
- subs r1, 0x1
- lsls r1, 1
- adds r0, r1, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r2, 0x24]
- ldr r2, [r3]
- ldr r3, =gUnknown_082F41CC+1
- adds r1, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- strh r0, [r2, 0x26]
-_0802179E:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldrb r4, [r6, 0x9]
- cmp r9, r4
- bcc _08021704
-_080217AE:
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bne _080217C0
- adds r2, r6, 0
- adds r2, 0x25
- ldrb r1, [r2]
- b _0802189C
- .pool
-_080217C0:
- ldrh r0, [r6, 0x28]
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r1, r8
- str r1, [sp, 0x8]
- movs r2, 0
- mov r9, r2
- mov r3, r10
- ldrh r1, [r3, 0xC]
- lsls r0, r1, 1
- adds r0, 0x3
- adds r6, 0x25
- str r6, [sp, 0xC]
- adds r3, r1, 0
- cmp r9, r0
- bge _08021890
-_080217E8:
- mov r4, r9
- lsls r1, r4, 2
- ldr r0, [sp]
- adds r0, 0x4C
- adds r7, r0, r1
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0802187E
- ldr r0, =sub_8022B28
- str r0, [r2, 0x1C]
- lsls r1, r4, 1
- ldr r3, =gUnknown_082F41CC+6
- adds r0, r1, r3
- movs r4, 0
- ldrsb r4, [r0, r4]
- adds r0, r4, 0
- adds r0, 0x78
- strh r0, [r2, 0x20]
- ldr r2, [r7]
- ldr r0, =gUnknown_082F41CC+7
- adds r1, r0
- movs r6, 0
- ldrsb r6, [r1, r6]
- mov r1, r8
- lsls r0, r1, 2
- subs r0, 0x88
- subs r0, r6, r0
- strh r0, [r2, 0x22]
- ldr r5, [r7]
- ldr r2, [sp, 0x8]
- lsls r1, r2, 2
- adds r0, r4, 0
- bl __divsi3
- adds r4, r0
- strh r4, [r5, 0x24]
- ldr r0, [r7]
- strh r6, [r0, 0x26]
- mov r3, r10
- ldrb r1, [r3, 0x4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08021860
- ldr r0, [r7]
- movs r1, 0x1
- bl StartSpriteAnim
- b _08021868
- .pool
-_08021860:
- ldr r0, [r7]
- movs r1, 0
- bl StartSpriteAnim
-_08021868:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r4, r10
- ldrh r3, [r4, 0xC]
- cmp r0, 0x3
- bls _0802187E
- movs r0, 0
- mov r8, r0
-_0802187E:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r0, r3, 1
- adds r0, 0x3
- cmp r9, r0
- blt _080217E8
-_08021890:
- ldr r2, [sp, 0xC]
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080218A6
-_0802189C:
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _080218C4
-_080218A6:
- ldr r3, [sp, 0x4]
- cmp r3, 0x1
- bne _080218B4
- movs r0, 0x4E
- bl PlaySE
- b _080218BA
-_080218B4:
- movs r0, 0x4D
- bl PlaySE
-_080218BA:
- ldr r4, [sp, 0xC]
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
-_080218C4:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80216E0
-
- thumb_func_start sub_80218D4
-sub_80218D4: @ 80218D4
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r2, 0
- ldrb r0, [r5, 0x9]
- cmp r2, r0
- bcs _08021906
- adds r4, r6, 0
- adds r4, 0x24
- movs r7, 0x4
- adds r3, r0, 0
-_080218EA:
- lsls r0, r2, 2
- adds r0, r4, r0
- ldr r0, [r0]
- adds r0, 0x3E
- ldrb r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08021920
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r3
- bcc _080218EA
-_08021906:
- movs r2, 0
- adds r3, r6, 0
- adds r3, 0x4C
- movs r4, 0x4
-_0802190E:
- lsls r0, r2, 2
- adds r0, r3, r0
- ldr r0, [r0]
- adds r0, 0x3E
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _08021924
-_08021920:
- movs r0, 0
- b _0802193C
-_08021924:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xA
- bls _0802190E
- movs r1, 0x2C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0802193A
- movs r0, 0
- strh r0, [r5, 0x2C]
-_0802193A:
- movs r0, 0x1
-_0802193C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80218D4
-
- thumb_func_start sub_8021944
-sub_8021944: @ 8021944
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r4, r1, 16
- lsrs r4, 16
- movs r7, 0
- movs r5, 0xE1
- lsls r5, 4
- adds r0, r4, 0
- adds r1, r5, 0
- bl __udivsi3
- strh r0, [r6, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3C
- bl __udivsi3
- strh r0, [r6, 0x6]
- adds r0, r4, 0
- movs r1, 0x3C
- bl __umodsi3
- lsls r0, 24
- asrs r0, 16
- movs r1, 0x4
- bl sub_8151534
- adds r2, r7, 0
- lsls r0, 16
- asrs r3, r0, 16
- movs r0, 0x7
- mov r12, r0
- ldr r5, =gUnknown_082F334C
- movs r4, 0x1
-_08021990:
- mov r0, r12
- subs r1, r0, r2
- adds r0, r3, 0
- asrs r0, r1
- ands r0, r4
- cmp r0, 0
- beq _080219A6
- lsls r0, r2, 2
- adds r0, r5
- ldr r0, [r0]
- adds r7, r0
-_080219A6:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _08021990
- ldr r1, =0x000f4240
- adds r0, r7, 0
- bl __udivsi3
- strh r0, [r6, 0x8]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8021944
-
- thumb_func_start sub_80219C8
-sub_80219C8: @ 80219C8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r8, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x2
- mov r1, r8
- bl GetStringWidth
- lsls r4, 2
- lsrs r0, 1
- subs r4, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r5, 1
- adds r0, r5
- ldr r1, =gUnknown_082F32D8
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x2
- adds r2, r4, 0
- movs r3, 0
- bl AddTextPrinterParameterized3
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80219C8
-
- thumb_func_start sub_8021A28
-sub_8021A28: @ 8021A28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- str r0, [sp, 0xC]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x10]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x14]
- lsls r3, 24
- movs r0, 0
- str r0, [sp, 0x18]
- movs r1, 0
- str r1, [sp, 0x1C]
- ldr r2, [sp, 0xC]
- adds r2, 0x68
- str r2, [sp, 0x20]
- movs r4, 0xF0
- lsls r4, 24
- adds r3, r4
- lsrs r3, 24
- ldr r0, [sp, 0x10]
- cmp r0, 0x2
- bne _08021A68
- adds r0, r3, 0
- subs r0, 0x2A
- lsls r0, 24
- lsrs r3, r0, 24
-_08021A68:
- ldr r2, [sp, 0xC]
- ldrb r1, [r2, 0x9]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- subs r6, r3, r0
- cmp r6, 0
- ble _08021A84
- lsrs r0, r6, 31
- adds r0, r6, r0
- asrs r0, 1
- adds r6, r0, 0
- adds r6, 0x10
- b _08021A86
-_08021A84:
- movs r6, 0x10
-_08021A86:
- movs r5, 0
- ldr r3, [sp, 0xC]
- ldrb r3, [r3, 0x9]
- cmp r5, r3
- bcc _08021A92
- b _08021D14
-_08021A92:
- ldr r4, [sp, 0x10]
- lsls r4, 2
- str r4, [sp, 0x24]
-_08021A98:
- bl DynamicPlaceholderTextUtil_Reset
- ldr r0, [sp, 0x10]
- cmp r0, 0x1
- beq _08021B48
- cmp r0, 0x1
- bgt _08021AC0
- cmp r0, 0
- beq _08021ADE
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r1, r6, 24
- mov r10, r1
- ldr r2, [sp, 0x1C]
- adds r2, 0xA2
- mov r9, r2
- ldr r3, [sp, 0x18]
- lsls r3, 5
- mov r8, r3
- b _08021C5A
-_08021AC0:
- ldr r4, [sp, 0x10]
- cmp r4, 0x2
- bne _08021AC8
- b _08021C1C
-_08021AC8:
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r0, r6, 24
- mov r10, r0
- ldr r1, [sp, 0x1C]
- adds r1, 0xA2
- mov r9, r1
- ldr r2, [sp, 0x18]
- lsls r2, 5
- mov r8, r2
- b _08021C5A
-_08021ADE:
- ldr r0, [sp, 0x20]
- adds r0, 0x20
- adds r0, r5
- ldrb r0, [r0]
- str r0, [sp, 0x18]
- lsls r3, r5, 1
- ldr r2, [sp, 0x20]
- adds r2, 0xC
- cmp r5, 0
- beq _08021B04
- adds r0, r2, r3
- subs r1, r5, 0x1
- lsls r1, 1
- adds r1, r2, r1
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- beq _08021B04
- str r5, [sp, 0x1C]
-_08021B04:
- ldr r4, [sp, 0x24]
- ldr r1, [sp, 0x10]
- adds r0, r4, r1
- lsls r0, 1
- adds r0, r3, r0
- adds r0, r2, r0
- ldrh r1, [r0]
- ldr r0, =gStringVar4
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r0, =gUnknown_082F43B4
- adds r0, r4, r0
- ldr r1, [r0]
- ldr r0, =gStringVar4
- bl StringAppend
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r2, r6, 24
- mov r10, r2
- ldr r3, [sp, 0x1C]
- adds r3, 0xA2
- mov r9, r3
- ldr r0, [sp, 0x18]
- lsls r0, 5
- mov r8, r0
- b _08021C5A
- .pool
-_08021B48:
- ldr r1, [sp, 0x20]
- adds r0, r1, r5
- adds r0, 0x28
- ldrb r0, [r0]
- str r0, [sp, 0x18]
- lsls r3, r5, 1
- adds r2, r1, 0
- adds r2, 0xC
- cmp r5, 0
- beq _08021B72
- adds r0, r3, 0
- adds r0, 0xA
- adds r0, r2, r0
- adds r1, r3, 0
- adds r1, 0x8
- adds r1, r2, r1
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- beq _08021B72
- str r5, [sp, 0x1C]
-_08021B72:
- ldr r0, [sp, 0x24]
- ldr r1, [sp, 0x10]
- adds r4, r0, r1
- lsls r4, 1
- adds r4, r3, r4
- adds r4, r2, r4
- ldrh r1, [r4]
- lsrs r1, 4
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r7, 0
- ldrb r0, [r4]
- movs r3, 0xF
- ands r3, r0
- movs r2, 0
- ldr r4, [sp, 0x10]
- lsls r4, 2
- str r4, [sp, 0x28]
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r0, r6, 24
- mov r10, r0
- ldr r1, [sp, 0x1C]
- adds r1, 0xA2
- mov r9, r1
- ldr r0, [sp, 0x18]
- lsls r0, 5
- mov r8, r0
- adds r6, 0xE
- adds r5, 0x1
- ldr r1, =gUnknown_082F334C
- mov r12, r1
-_08021BB8:
- movs r0, 0x3
- subs r1, r0, r2
- adds r0, r3, 0
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08021BD0
- lsls r0, r2, 2
- add r0, r12
- ldr r0, [r0]
- adds r7, r0
-_08021BD0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _08021BB8
- adds r0, r7, 0
- ldr r1, =0x000f4240
- bl __udivsi3
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, =gStringVar2
- adds r1, r3, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gUnknown_082F43B4
- ldr r2, [sp, 0x28]
- adds r0, r2, r0
- ldr r1, [r0]
- ldr r0, =gStringVar4
- bl StringExpandPlaceholders
- b _08021C5E
- .pool
-_08021C1C:
- str r5, [sp, 0x18]
- str r5, [sp, 0x1C]
- lsls r7, r5, 5
- ldr r3, [sp, 0xC]
- adds r0, r3, r7
- adds r0, 0xA4
- ldrb r2, [r0]
- cmp r2, 0x2B
- bls _08021C30
- movs r2, 0
-_08021C30:
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, =gBerries
- adds r1, r0
- ldr r0, =gStringVar1
- bl StringCopy
- ldr r0, =gUnknown_082F43B4
- ldr r1, [r0, 0x8]
- ldr r0, =gStringVar4
- bl StringExpandPlaceholders
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r0, r6, 24
- mov r10, r0
- movs r1, 0xA2
- adds r1, r5
- mov r9, r1
- mov r8, r7
-_08021C5A:
- adds r6, 0xE
- adds r5, 0x1
-_08021C5E:
- movs r0, 0x2
- ldr r1, =gStringVar4
- adds r2, r4, 0
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- ldr r3, [sp, 0xC]
- movs r4, 0xDD
- lsls r4, 1
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r2, 24
- lsrs r2, 24
- mov r1, r10
- lsrs r3, r1, 24
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r1, =gStringVar4
- str r1, [sp, 0x8]
- movs r1, 0x2
- bl AddTextPrinterParameterized3
- ldr r3, [sp, 0x18]
- ldr r2, [sp, 0xC]
- ldrb r2, [r2, 0x8]
- cmp r3, r2
- bne _08021CC0
- ldr r0, =gStringVar3
- ldr r1, =gText_1DotBlueF700
- bl StringCopy
- b _08021CC8
- .pool
-_08021CC0:
- ldr r0, =gStringVar3
- ldr r1, =gText_1DotF700
- bl StringCopy
-_08021CC8:
- ldr r4, =gStringVar3
- mov r3, r9
- strb r3, [r4]
- mov r1, r8
- adds r1, 0x98
- ldr r0, [sp, 0xC]
- adds r1, r0, r1
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r0, =gStringVar4
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r1, [sp, 0xC]
- movs r2, 0xDD
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- mov r4, r10
- lsrs r3, r4, 24
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r2, =gStringVar4
- str r2, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0x4
- bl AddTextPrinterParameterized3
- lsls r0, r5, 24
- lsrs r5, r0, 24
- ldr r3, [sp, 0xC]
- ldrb r3, [r3, 0x9]
- cmp r5, r3
- bcs _08021D14
- b _08021A98
-_08021D14:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8021A28
-
- thumb_func_start sub_8021D34
-sub_8021D34: @ 8021D34
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r8, r0
- movs r0, 0
- mov r10, r0
- movs r6, 0
- movs r1, 0
- str r1, [sp, 0xC]
- mov r2, r8
- adds r2, 0x68
- str r2, [sp, 0x10]
- movs r4, 0xDD
- lsls r4, 1
- add r4, r8
- mov r9, r4
- ldrb r0, [r4]
- movs r1, 0x4
- bl GetWindowAttribute
- lsls r0, 27
- movs r1, 0xD6
- lsls r1, 24
- adds r0, r1
- lsrs r7, r0, 24
- movs r0, 0x9C
- lsls r0, 1
- add r0, r8
- ldr r2, [sp, 0x10]
- ldrh r1, [r2, 0x4]
- bl sub_8021944
- ldrb r0, [r4]
- ldr r4, =gUnknown_082F32D8
- str r4, [sp]
- str r6, [sp, 0x4]
- ldr r1, =gText_TimeColon
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r4, =gText_SpaceSec
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- movs r1, 0xB0
- subs r0, r1, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r2, r9
- ldrb r0, [r2]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- mov r2, r10
- str r2, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- movs r0, 0x9F
- lsls r0, 1
- add r0, r8
- movs r4, 0
- ldrsh r1, [r0, r4]
- ldr r0, =gStringVar1
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar2
- movs r1, 0xA0
- lsls r1, 1
- add r1, r8
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r5, =gStringVar4
- ldr r1, =gText_XDotY2
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x2
- adds r1, r5, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r4, r9
- ldrb r0, [r4]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- mov r2, r10
- str r2, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r4, =gText_SpaceMin
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, r9
- ldrb r0, [r1]
- ldr r2, =gUnknown_082F32D8
- str r2, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- movs r0, 0x9E
- lsls r0, 1
- add r0, r8
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r0, =gStringVar1
- movs r2, 0x2
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_StrVar1
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x2
- adds r1, r5, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r4, r9
- ldrb r0, [r4]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- mov r2, r10
- str r2, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- adds r0, r7, 0
- adds r0, 0xE
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
- ldr r4, =gUnknown_082F32D8
- str r4, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- ldr r1, =gText_PressingSpeed
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r4, =gText_TimesPerSec
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- movs r2, 0xB0
- subs r0, r2, r0
- lsls r0, 24
- str r0, [sp, 0x18]
- lsrs r6, r0, 24
- mov r1, r9
- ldrb r0, [r1]
- ldr r2, =gUnknown_082F32D8
- str r2, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- mov r4, r8
- ldrb r2, [r4, 0x16]
- ldrh r0, [r4, 0x16]
- mov r12, r0
- movs r1, 0x7
- mov r9, r1
- movs r5, 0x1
- ldr r3, =gUnknown_082F334C
-_08021EEC:
- mov r4, r9
- mov r0, r10
- subs r1, r4, r0
- adds r0, r2, 0
- asrs r0, r1
- ands r0, r5
- cmp r0, 0
- beq _08021F0A
- mov r1, r10
- lsls r0, r1, 2
- adds r0, r3
- ldr r0, [r0]
- ldr r4, [sp, 0xC]
- adds r4, r0
- str r4, [sp, 0xC]
-_08021F0A:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0x7
- bls _08021EEC
- ldr r0, =gStringVar1
- mov r2, r12
- lsrs r1, r2, 8
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- ldr r1, =0x000f4240
- ldr r0, [sp, 0xC]
- bl __udivsi3
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_XDotY3
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x2
- adds r1, r4, 0
- bl GetStringWidth
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r8
- adds r0, 0x25
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08021FC4
- movs r0, 0xDD
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- ldr r1, =gUnknown_082F32E7
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- b _08021FDE
- .pool
-_08021FC4:
- movs r0, 0xDD
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- str r2, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
-_08021FDE:
- adds r0, r7, 0
- adds r0, 0xE
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0xDD
- lsls r4, 1
- add r8, r4
- mov r1, r8
- ldrb r0, [r1]
- ldr r2, =gUnknown_082F32D8
- mov r9, r2
- str r2, [sp]
- movs r5, 0
- str r5, [sp, 0x4]
- ldr r1, =gText_Silkiness
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r0, =gStringVar1
- ldr r4, [sp, 0x10]
- ldrh r1, [r4, 0x8]
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_Var1Percent
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x2
- adds r1, r4, 0
- bl GetStringWidth
- movs r1, 0xB0
- subs r1, r0
- lsls r1, 24
- lsrs r6, r1, 24
- mov r1, r8
- ldrb r0, [r1]
- mov r2, r9
- str r2, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8021D34
-
- thumb_func_start sub_8022070
-sub_8022070: @ 8022070
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r1, 0
- adds r0, r6, 0
- adds r0, 0x80
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _08022084
- b _08022218
-_08022084:
- lsls r0, 2
- ldr r1, =_08022094
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08022094:
- .4byte _080220AC
- .4byte _080220F8
- .4byte _0802210C
- .4byte _08022130
- .4byte _080221F8
- .4byte _08022200
-_080220AC:
- ldrb r0, [r4, 0x9]
- subs r0, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0
- bl sub_8022554
- ldrh r0, [r4, 0x12]
- lsls r0, 3
- ldr r2, =gUnknown_082F32CC
- mov r1, sp
- adds r0, r2
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- ldrh r0, [r4, 0x12]
- cmp r0, 0xD
- bne _080220DC
- ldr r0, =gUnknown_082F3344
- adds r0, 0x4
- b _080220DE
- .pool
-_080220DC:
- ldr r0, =gUnknown_082F3344
-_080220DE:
- adds r0, r5, r0
- ldrb r1, [r0]
- mov r0, sp
- strb r1, [r0, 0x4]
- mov r0, sp
- bl AddWindow
- adds r1, r6, 0
- adds r1, 0x82
- strb r0, [r1]
- b _08022218
- .pool
-_080220F8:
- adds r4, r6, 0
- adds r4, 0x82
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0
- bl FillWindowPixelBuffer
- b _08022218
-_0802210C:
- adds r5, r6, 0
- adds r5, 0x82
- ldrb r0, [r5]
- ldr r4, =0x0000021d
- adds r1, r4, 0
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- ldrb r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0xD
- bl DrawStdFrameWithCustomTileAndPalette
- b _08022218
- .pool
-_08022130:
- ldrb r0, [r4, 0x9]
- subs r0, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r4, 0x12]
- cmp r0, 0xC
- beq _08022184
- cmp r0, 0xC
- bgt _08022148
- cmp r0, 0xB
- beq _0802214E
- b _08022218
-_08022148:
- cmp r0, 0xD
- beq _080221C8
- b _08022218
-_0802214E:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- ldr r3, =gText_PressesRankings
- movs r1, 0x14
- movs r2, 0x3
- bl sub_80219C8
- ldr r0, =gUnknown_082F3344
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r3, 27
- lsrs r3, 24
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xA0
- bl sub_8021A28
- adds r1, r6, 0
- adds r1, 0x80
- movs r0, 0x5
- b _08022220
- .pool
-_08022184:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- ldr r2, =gUnknown_082F43B4
- adds r1, r4, 0
- adds r1, 0x8F
- ldrb r1, [r1]
- adds r1, 0x3
- lsls r1, 2
- adds r1, r2
- ldr r3, [r1]
- movs r1, 0x14
- movs r2, 0x4
- bl sub_80219C8
- ldr r0, =gUnknown_082F3344
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r3, 27
- lsrs r3, 24
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0xA0
- bl sub_8021A28
- adds r1, r6, 0
- adds r1, 0x80
- movs r0, 0x5
- b _08022220
- .pool
-_080221C8:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- ldr r3, =gText_CrushingResults
- movs r1, 0x16
- movs r2, 0x3
- bl sub_80219C8
- ldr r0, =gUnknown_082F3344
- adds r0, 0x4
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r3, 27
- lsrs r3, 24
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0xB0
- bl sub_8021A28
- b _08022218
- .pool
-_080221F8:
- adds r0, r4, 0
- bl sub_8021D34
- b _08022218
-_08022200:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- adds r1, r6, 0
- adds r1, 0x80
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- b _08022224
-_08022218:
- adds r1, r6, 0
- adds r1, 0x80
- ldrb r0, [r1]
- adds r0, 0x1
-_08022220:
- strb r0, [r1]
- movs r0, 0
-_08022224:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8022070
-
- thumb_func_start sub_802222C
-sub_802222C: @ 802222C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0xDD
- lsls r0, 1
- adds r5, r4, r0
- ldrb r0, [r5]
- movs r1, 0x1
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r5]
- bl RemoveWindow
- adds r0, r4, 0
- bl sub_8022600
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802222C
-
- thumb_func_start sub_8022250
-sub_8022250: @ 8022250
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- mov r9, r0
- movs r1, 0
- str r1, [sp, 0xC]
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- beq _080222D0
- cmp r0, 0x1
- bgt _08022288
- cmp r0, 0
- beq _08022296
- b _080224BA
- .pool
-_08022288:
- cmp r0, 0x2
- bne _0802228E
- b _08022480
-_0802228E:
- cmp r0, 0x3
- bne _08022294
- b _08022494
-_08022294:
- b _080224BA
-_08022296:
- ldr r0, =gUnknown_082F32EC
- bl AddWindow
- strh r0, [r6, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl PutWindowTilemap
- ldrb r0, [r6, 0x2]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrb r0, [r6, 0x2]
- ldr r4, =0x0000021d
- adds r1, r4, 0
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- ldrb r0, [r6, 0x2]
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0xD
- bl DrawStdFrameWithCustomTileAndPalette
- b _080224BA
- .pool
-_080222D0:
- ldr r0, =gText_BerryCrush2
- mov r10, r0
- movs r1, 0x1
- negs r1, r1
- mov r8, r1
- movs r0, 0x1
- mov r1, r10
- mov r2, r8
- bl GetStringWidth
- lsrs r0, 1
- movs r4, 0x60
- subs r0, r4, r0
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r6, 0x2]
- ldr r5, =gUnknown_082F32E1
- str r5, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- ldr r0, =gText_PressingSpeedRankings
- mov r10, r0
- movs r0, 0x1
- mov r1, r10
- mov r2, r8
- bl GetStringWidth
- lsrs r0, 1
- subs r4, r0
- lsls r4, 24
- lsrs r7, r4, 24
- ldrb r0, [r6, 0x2]
- str r5, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- movs r3, 0x11
- bl AddTextPrinterParameterized3
- movs r0, 0x29
- mov r10, r0
-_08022336:
- mov r1, r9
- adds r1, 0x2
- ldr r0, =gStringVar1
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar4
- ldr r1, =gText_Var1Players
- bl StringExpandPlaceholders
- ldrb r0, [r6, 0x2]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, =gStringVar4
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r2, 0
- mov r3, r10
- bl AddTextPrinterParameterized3
- movs r0, 0x1
- ldr r1, =gText_TimesPerSec
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- movs r1, 0xC0
- subs r1, r0
- lsls r1, 24
- lsrs r7, r1, 24
- ldrb r0, [r6, 0x2]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, =gText_TimesPerSec
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- mov r3, r10
- bl AddTextPrinterParameterized3
- movs r2, 0
- mov r0, r9
- lsls r4, r0, 1
- mov r1, r10
- adds r1, 0x10
- str r1, [sp, 0x10]
- movs r0, 0x1
- add r9, r0
- adds r0, r4, r6
- ldrb r3, [r0, 0x4]
- movs r1, 0x7
- mov r12, r1
- movs r0, 0x1
- mov r8, r0
- ldr r5, =gUnknown_082F334C
-_080223AE:
- mov r0, r12
- subs r1, r0, r2
- adds r0, r3, 0
- asrs r0, r1
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _080223CA
- lsls r0, r2, 2
- adds r0, r5
- ldr r0, [r0]
- ldr r1, [sp, 0xC]
- adds r1, r0
- str r1, [sp, 0xC]
-_080223CA:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _080223AE
- adds r0, r4, r6
- ldrh r1, [r0, 0x4]
- lsrs r1, 8
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, [sp, 0xC]
- ldr r1, =0x000f4240
- bl __udivsi3
- adds r1, r0, 0
- ldr r0, =gStringVar2
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar4
- ldr r1, =gText_XDotY3
- bl StringExpandPlaceholders
- movs r0, 0x1
- ldr r1, =gStringVar4
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- subs r0, r7, r0
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r6, 0x2]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, =gStringVar4
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- mov r3, r10
- bl AddTextPrinterParameterized3
- ldr r1, [sp, 0x10]
- lsls r0, r1, 24
- lsrs r0, 24
- mov r10, r0
- movs r0, 0
- str r0, [sp, 0xC]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- mov r9, r0
- cmp r0, 0x3
- bhi _08022444
- b _08022336
-_08022444:
- ldrb r0, [r6, 0x2]
- movs r1, 0x3
- bl CopyWindowToVram
- b _080224BA
- .pool
-_08022480:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080224BA
- b _080224C0
- .pool
-_08022494:
- ldrb r0, [r6, 0x2]
- movs r1, 0x1
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r6, 0x2]
- bl ClearWindowTilemap
- ldrb r0, [r6, 0x2]
- bl RemoveWindow
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- bl ScriptContext2_Disable
- mov r0, r9
- b _080224BE
-_080224BA:
- ldrh r0, [r6]
- adds r0, 0x1
-_080224BE:
- strh r0, [r6]
-_080224C0:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8022250
-
- thumb_func_start sub_80224D0
-sub_80224D0: @ 80224D0
- push {lr}
- bl ScriptContext2_Enable
- ldr r0, =sub_8022250
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- movs r3, 0xF6
- lsls r3, 1
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0xC]
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0xE]
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0x10]
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0x12]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80224D0
-
- thumb_func_start sub_8022524
-sub_8022524: @ 8022524
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- bl sub_8021944
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl sub_8035044
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- bl sub_8035044
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- movs r0, 0x2
- bl sub_8035044
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8022524
-
- thumb_func_start sub_8022554
-sub_8022554: @ 8022554
- push {lr}
- ldr r2, [r0, 0x78]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2]
- ldr r1, [r0, 0x7C]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r3
- strb r0, [r1]
- movs r0, 0x2
- movs r1, 0x1
- bl sub_803547C
- movs r0, 0x1
- movs r1, 0x1
- bl sub_803547C
- movs r0, 0
- movs r1, 0x1
- bl sub_803547C
- pop {r0}
- bx r0
- thumb_func_end sub_8022554
-
- thumb_func_start sub_8022588
-sub_8022588: @ 8022588
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r6, 0
- ldrb r0, [r5, 0x9]
- cmp r6, r0
- bcs _080225E8
- ldr r7, =gUnknown_082F417C
-_08022596:
- lsls r0, r6, 2
- movs r1, 0xA2
- lsls r1, 1
- adds r2, r5, r1
- adds r2, r0
- ldrb r1, [r5, 0x9]
- subs r1, 0x2
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r6, r0
- adds r0, r7
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, =gUnknown_082F4190
- adds r0, r1
- str r0, [r2]
- ldrb r0, [r0]
- lsls r0, 3
- ldr r1, =gUnknown_082F32F4
- adds r0, r1
- bl AddWindow
- ldr r1, =0x000001bb
- adds r4, r5, r1
- adds r4, r6
- strb r0, [r4]
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r6, r0
- bcc _08022596
-_080225E8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022588
-
- thumb_func_start sub_8022600
-sub_8022600: @ 8022600
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r6, r0, 0
- movs r7, 0
- ldrb r0, [r6, 0x9]
- cmp r7, r0
- bcs _080226B6
- movs r1, 0
- mov r8, r1
-_08022616:
- ldr r1, =0x000001bb
- adds r0, r6, r1
- adds r5, r0, r7
- ldrb r0, [r5]
- bl PutWindowTilemap
- ldrb r0, [r6, 0x8]
- cmp r7, r0
- bne _08022668
- lsls r4, r7, 5
- adds r4, 0x98
- adds r4, r6, r4
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- lsrs r0, 1
- movs r2, 0x24
- subs r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r0, [r5]
- mov r1, r8
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r1, =gUnknown_082F32DB
- str r1, [sp, 0x8]
- mov r1, r8
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- b _0802269C
- .pool
-_08022668:
- lsls r4, r7, 5
- adds r4, 0x98
- adds r4, r6, r4
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- lsrs r0, 1
- movs r2, 0x24
- subs r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r0, [r5]
- mov r1, r8
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r1, =gUnknown_082F32DE
- str r1, [sp, 0x8]
- mov r1, r8
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized4
-_0802269C:
- ldr r1, =0x000001bb
- adds r0, r6, r1
- adds r0, r7
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r6, 0x9]
- cmp r7, r0
- bcc _08022616
-_080226B6:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022600
-
- thumb_func_start sub_80226D0
-sub_80226D0: @ 80226D0
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- movs r5, 0
- ldr r0, =gUnknown_08DE3FD4
- ldr r4, =gDecompressionBuffer
- adds r1, r4, 0
- bl LZ77UnCompWram
- b _0802271A
- .pool
-_080226EC:
- lsls r1, r5, 2
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r6, r2
- adds r0, r1
- ldr r3, [r0]
- ldrb r0, [r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- ldrb r2, [r3, 0x1]
- ldrb r3, [r3, 0x2]
- movs r0, 0xA
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x3
- bl CopyToBgTilemapBufferRect
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0802271A:
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _080226EC
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80226D0
-
- thumb_func_start sub_8022730
-sub_8022730: @ 8022730
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r5, 0
- ldr r0, =0x0000ff98
- strh r0, [r6, 0x2A]
- strh r5, [r6, 0x2C]
- ldr r1, =gSpriteCoordOffsetX
- strh r5, [r1]
- ldr r1, =gSpriteCoordOffsetY
- strh r0, [r1]
- ldr r4, =gUnknown_082F41F4
-_08022746:
- lsls r0, r5, 3
- adds r0, r4
- bl LoadCompressedSpriteSheet
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08022746
- ldr r0, =gUnknown_082F421C
- bl LoadSpritePalettes
- ldr r0, =gUnknown_082F430C
- movs r1, 0x78
- movs r2, 0x58
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xAC
- lsls r0, 1
- adds r3, r6, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1]
- ldr r1, [r3]
- adds r1, 0x2C
- ldrb r0, [r1]
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r1]
- movs r5, 0
- ldrb r1, [r6, 0x9]
- cmp r5, r1
- bcs _08022822
- movs r7, 0x4
-_080227AA:
- lsls r4, r5, 2
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r6, r3
- adds r0, r4
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- adds r1, 0x78
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r0, 0x6]
- adds r2, 0x20
- lsls r2, 16
- asrs r2, 16
- ldr r0, =gUnknown_082F4324
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xAE
- lsls r0, 1
- adds r3, r6, r0
- adds r3, r4
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r3]
- ldrb r0, [r1, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r2, r4, 0
- ands r0, r2
- orrs r0, r7
- strb r0, [r1, 0x5]
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r7
- strb r0, [r1]
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _080227AA
-_08022822:
- movs r5, 0
- ldr r4, =gUnknown_082F41CC+6
- adds r7, r4, 0x1
-_08022828:
- lsls r2, r5, 1
- adds r0, r2, r4
- movs r1, 0
- ldrsb r1, [r0, r1]
- adds r1, 0x78
- adds r2, r7
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- adds r2, 0x88
- ldr r0, =gUnknown_082F433C
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r5, 2
- movs r1, 0xC2
- lsls r1, 1
- adds r3, r6, r1
- adds r3, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- strh r5, [r0, 0x2E]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _08022828
- movs r5, 0
-_0802288E:
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 19
- movs r3, 0xB0
- lsls r3, 16
- adds r1, r3
- asrs r1, 16
- ldr r0, =gUnknown_082F4354
- movs r2, 0x8
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r5, 2
- movs r4, 0xD8
- lsls r4, 1
- adds r3, r6, r4
- adds r3, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r1, [r0, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r2, r4, 0
- ands r1, r2
- strb r1, [r0, 0x5]
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- adds r4, 0x8
- adds r1, r4, 0
- ands r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r3, 0x41
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- strb r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _0802288E
- ldr r4, =gUnknown_082F4384
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_8034D14
- adds r2, r4, 0
- adds r2, 0x10
- movs r0, 0x1
- movs r1, 0
- bl sub_8034D14
- adds r4, 0x20
- movs r0, 0x2
- movs r1, 0
- adds r2, r4, 0
- bl sub_8034D14
- ldrh r0, [r6, 0x12]
- cmp r0, 0x1
- bne _08022928
- movs r4, 0x9C
- lsls r4, 1
- adds r0, r6, r4
- bl sub_8022554
-_08022928:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022730
-
- thumb_func_start sub_8022960
-sub_8022960: @ 8022960
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- movs r0, 0x4
- bl FreeSpriteTilesByTag
- movs r0, 0x3
- bl FreeSpriteTilesByTag
- movs r0, 0x2
- bl FreeSpriteTilesByTag
- movs r0, 0x1
- bl FreeSpriteTilesByTag
- movs r0, 0x4
- bl FreeSpritePaletteByTag
- movs r0, 0x2
- bl FreeSpritePaletteByTag
- movs r0, 0x1
- bl FreeSpritePaletteByTag
- movs r0, 0xD8
- lsls r0, 1
- adds r6, r5, r0
-_08022996:
- lsls r0, r4, 2
- adds r0, r6, r0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _08022996
- movs r0, 0x2
- bl sub_80353DC
- movs r0, 0x1
- bl sub_80353DC
- movs r0, 0
- bl sub_80353DC
- movs r4, 0
- movs r1, 0xC2
- lsls r1, 1
- adds r6, r5, r1
-_080229C4:
- lsls r0, r4, 2
- adds r0, r6, r0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _080229C4
- movs r4, 0
- ldrb r2, [r5, 0x9]
- cmp r4, r2
- bcs _080229FC
-_080229E0:
- lsls r1, r4, 2
- movs r2, 0xAE
- lsls r2, 1
- adds r0, r5, r2
- adds r0, r1
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r4, r0
- bcc _080229E0
-_080229FC:
- movs r1, 0xAC
- lsls r1, 1
- adds r0, r5, r1
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08022A18
- adds r0, r2, 0
- bl DestroySprite
-_08022A18:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8022960
-
- thumb_func_start sub_8022A20
-sub_8022A20: @ 8022A20
- push {lr}
- adds r3, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08022A46
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- subs r2, 0x12
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
-_08022A46:
- pop {r0}
- bx r0
- thumb_func_end sub_8022A20
-
- thumb_func_start sub_8022A4C
-sub_8022A4C: @ 8022A4C
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r1, 0
- ldr r5, =SpriteCallbackDummy
- adds r2, r3, 0
- adds r2, 0x2E
- movs r4, 0
-_08022A5A:
- lsls r0, r1, 1
- adds r0, r2, r0
- strh r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _08022A5A
- movs r0, 0
- strh r0, [r3, 0x24]
- strh r0, [r3, 0x26]
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- subs r2, 0x12
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- str r5, [r3, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022A4C
-
- thumb_func_start sub_8022A94
-sub_8022A94: @ 8022A94
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x2E
- ldrh r0, [r4, 0x4]
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r5, 0x26]
- adds r0, r2
- strh r0, [r5, 0x26]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- movs r6, 0x80
- lsls r6, 8
- ands r0, r6
- cmp r0, 0
- beq _08022AFA
- ldrh r0, [r4, 0x6]
- ldrh r2, [r5, 0x2E]
- adds r0, r2
- strh r0, [r5, 0x2E]
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x8]
- adds r0, r1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r5, 0x24]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ands r0, r6
- cmp r0, 0
- beq _08022AFA
- ldrh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- cmp r0, 0x7E
- ble _08022AFA
- movs r0, 0
- strh r0, [r5, 0x24]
- ldrh r1, [r4, 0xE]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xE]
-_08022AFA:
- ldrh r0, [r4]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r5, 0x20]
- movs r2, 0x22
- ldrsh r1, [r5, r2]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- ldrh r2, [r4, 0xE]
- ldr r0, =0x00007fff
- ands r0, r2
- cmp r1, r0
- ble _08022B1A
- ldr r0, =sub_8022A4C
- str r0, [r5, 0x1C]
-_08022B1A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022A94
-
- thumb_func_start sub_8022B28
-sub_8022B28: @ 8022B28
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r6, 0
- adds r7, 0x2E
- movs r0, 0
- mov r8, r0
- movs r2, 0xA0
- lsls r2, 2
- strh r2, [r7, 0x2]
- movs r0, 0x20
- strh r0, [r7, 0x4]
- movs r1, 0xA8
- strh r1, [r7, 0xE]
- movs r0, 0x24
- ldrsh r4, [r6, r0]
- lsls r4, 23
- lsrs r4, 16
- ldrh r0, [r6, 0x22]
- subs r1, r0
- lsls r1, 23
- asrs r1, 16
- adds r2, 0x20
- asrs r2, 1
- movs r0, 0x7
- bl sub_81515D4
- adds r5, r0, 0
- ldrh r0, [r6, 0x20]
- lsls r0, 7
- strh r0, [r6, 0x2E]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- movs r0, 0x7
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_81515D4
- strh r0, [r7, 0x6]
- movs r0, 0x7
- adds r1, r5, 0
- movs r2, 0x55
- bl sub_8151550
- adds r2, r0, 0
- mov r1, r8
- strh r1, [r7, 0x8]
- movs r1, 0xFE
- lsls r1, 6
- lsls r2, 16
- asrs r2, 16
- movs r0, 0x7
- bl sub_81515D4
- strh r0, [r7, 0xA]
- movs r2, 0x24
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bge _08022BA6
- adds r0, 0x3
-_08022BA6:
- asrs r0, 2
- strh r0, [r7, 0xC]
- ldrh r0, [r7, 0xE]
- ldr r2, =0xffff8000
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r7, 0xE]
- mov r0, r8
- strh r0, [r6, 0x26]
- strh r0, [r6, 0x24]
- ldr r0, =sub_8022A94
- str r0, [r6, 0x1C]
- adds r2, r6, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r2, 0x12
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022B28
-
- thumb_func_start sub_8022BEC
-sub_8022BEC: @ 8022BEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r2, 0
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- mov r8, r4
- bl sub_8020C00
- adds r6, r0, 0
- cmp r5, 0x19
- bls _08022C0A
- movs r5, 0
-_08022C0A:
- cmp r4, 0
- beq _08022C14
- cmp r4, 0x1
- beq _08022C40
- b _08022C4A
-_08022C14:
- cmp r5, 0
- beq _08022C28
- ldr r0, =gUnknown_082F43CC
- lsls r1, r5, 2
- adds r1, r0
- ldr r2, [r1]
- adds r0, r6, 0
- adds r1, r7, 0
- bl _call_via_r2
-_08022C28:
- ldrb r0, [r6, 0xE]
- cmp r0, 0x19
- bls _08022C32
- mov r0, r8
- strb r0, [r6, 0xE]
-_08022C32:
- ldr r0, =gUnknown_082F43CC
- ldrb r1, [r6, 0xE]
- lsls r1, 2
- b _08022C44
- .pool
-_08022C40:
- ldr r0, =gUnknown_082F43CC
- lsls r1, r5, 2
-_08022C44:
- adds r1, r0
- ldr r0, [r1]
- str r0, [r6, 0x4]
-_08022C4A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022BEC
-
- thumb_func_start sub_8022C58
-sub_8022C58: @ 8022C58
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldrb r2, [r1]
- ldrb r3, [r1, 0x1]
- lsls r3, 8
- orrs r2, r3
- ldrb r3, [r1, 0x2]
- lsls r3, 16
- orrs r2, r3
- ldrb r3, [r1, 0x3]
- lsls r3, 24
- adds r0, r2, 0
- orrs r0, r3
- ldrb r2, [r1, 0x9]
- strb r2, [r1]
- ldrb r4, [r1, 0x8]
- lsls r4, 8
- ldrb r2, [r1, 0x7]
- orrs r4, r2
- ldr r5, =gPaletteFade
- ldrb r3, [r5, 0x8]
- movs r2, 0x7F
- ands r2, r3
- strb r2, [r5, 0x8]
- movs r5, 0x4
- ldrsb r5, [r1, r5]
- ldrb r2, [r1, 0x5]
- ldrb r3, [r1, 0x6]
- str r4, [sp]
- adds r1, r5, 0
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- movs r0, 0x2
- strb r0, [r6, 0xE]
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8022C58
-
- thumb_func_start sub_8022CB0
-sub_8022CB0: @ 8022CB0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _08022CE4
- cmp r0, 0x1
- bgt _08022CC6
- cmp r0, 0
- beq _08022CD0
- b _08022D06
-_08022CC6:
- cmp r0, 0x2
- beq _08022CEA
- cmp r0, 0x3
- beq _08022CF6
- b _08022D06
-_08022CD0:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08022D0C
- ldrb r0, [r5]
- cmp r0, 0
- bne _08022D06
- movs r0, 0x3
- b _08022D0A
-_08022CE4:
- bl sub_8010434
- b _08022D06
-_08022CEA:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- bne _08022D06
- b _08022D0C
-_08022CF6:
- ldrb r0, [r4, 0xF]
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- strb r0, [r4, 0xC]
- b _08022D0E
-_08022D06:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
-_08022D0A:
- strb r0, [r4, 0xC]
-_08022D0C:
- movs r0, 0
-_08022D0E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8022CB0
-
- thumb_func_start sub_8022D14
-sub_8022D14: @ 8022D14
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r7, r0, 0
- adds r5, r1, 0
- ldrb r4, [r5, 0x3]
- lsls r4, 8
- ldrb r0, [r5, 0x2]
- orrs r4, r0
- ldrb r6, [r7, 0xC]
- cmp r6, 0x1
- beq _08022DC0
- cmp r6, 0x1
- bgt _08022D38
- cmp r6, 0
- beq _08022D42
- b _08022E08
-_08022D38:
- cmp r6, 0x2
- beq _08022DD8
- cmp r6, 0x3
- beq _08022DE8
- b _08022E08
-_08022D42:
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldrb r1, [r5, 0x1]
- movs r0, 0x2
- mov r8, r0
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08022D90
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_082F32A4
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldrb r3, [r7, 0xB]
- str r6, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl AddTextPrinterParameterized2
- b _08022DB2
- .pool
-_08022D90:
- ldr r1, =gUnknown_082F32A4
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- ldrb r3, [r7, 0xB]
- str r4, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParameterized2
-_08022DB2:
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- b _08022E08
- .pool
-_08022DC0:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _08022E0E
- cmp r4, 0
- bne _08022E08
- ldrb r0, [r7, 0xC]
- adds r0, 0x1
- strb r0, [r7, 0xC]
- b _08022E08
-_08022DD8:
- ldr r0, =gMain
- ldrh r0, [r0, 0x2E]
- ands r4, r0
- cmp r4, 0
- bne _08022E08
- b _08022E0E
- .pool
-_08022DE8:
- ldrb r1, [r5, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08022DFA
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
-_08022DFA:
- ldrb r0, [r7, 0xE]
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- ldrb r0, [r5, 0x4]
- b _08022E0C
-_08022E08:
- ldrb r0, [r7, 0xC]
- adds r0, 0x1
-_08022E0C:
- strb r0, [r7, 0xC]
-_08022E0E:
- movs r0, 0
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8022D14
-
- thumb_func_start sub_8022E1C
-sub_8022E1C: @ 8022E1C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_802104C
- cmp r0, 0
- beq _08022E34
- ldrb r0, [r4, 0xE]
- adds r2, r4, 0
- adds r2, 0x36
- movs r1, 0
- bl sub_8022BEC
-_08022E34:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8022E1C
-
- thumb_func_start sub_8022E3C
-sub_8022E3C: @ 8022E3C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_802130C
- cmp r0, 0
- beq _08022E54
- ldrb r0, [r4, 0xE]
- adds r2, r4, 0
- adds r2, 0x36
- movs r1, 0
- bl sub_8022BEC
-_08022E54:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8022E3C
-
- thumb_func_start sub_8022E5C
-sub_8022E5C: @ 8022E5C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- beq _08022E6C
- cmp r0, 0x1
- beq _08022E72
- b _08022E9C
-_08022E6C:
- bl sub_8010434
- b _08022E9C
-_08022E72:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08022EA2
- ldr r0, =0x000001e5
- bl PlayNewMapMusic
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0x3
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _08022EA2
- .pool
-_08022E9C:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_08022EA2:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8022E5C
-
- thumb_func_start sub_8022EAC
-sub_8022EAC: @ 8022EAC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- beq _08022EC2
- cmp r0, 0x1
- beq _08022EE8
- adds r0, 0x1
- b _08022EF8
-_08022EC2:
- adds r0, r4, 0
- bl sub_8024578
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8024644
- movs r0, 0x7
- strb r0, [r4, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _08022EFA
-_08022EE8:
- movs r0, 0x8
- strb r0, [r4, 0xE]
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0x2
-_08022EF8:
- strb r0, [r4, 0xC]
-_08022EFA:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8022EAC
-
- thumb_func_start sub_8022F04
-sub_8022F04: @ 8022F04
- push {lr}
- movs r1, 0
- str r1, [r0, 0x4]
- ldr r0, =sub_8020E1C
- bl SetMainCallback2
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8022F04
-
- thumb_func_start sub_8022F1C
-sub_8022F1C: @ 8022F1C
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r2, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x5
- bls _08022F2C
- b _08023060
-_08022F2C:
- lsls r0, 2
- ldr r1, =_08022F3C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08022F3C:
- .4byte _08022F54
- .4byte _08022F74
- .4byte _08022F7A
- .4byte _08022FAA
- .4byte _08022FBA
- .4byte _08023044
-_08022F54:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r2, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl sub_8024644
- movs r0, 0x9
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _08023066
-_08022F74:
- bl sub_8010434
- b _08023060
-_08022F7A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023066
- adds r4, r5, 0
- adds r4, 0x42
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xC
- bl memset
- ldrb r0, [r5, 0x8]
- lsls r0, 5
- adds r0, r5, r0
- adds r0, 0xA4
- ldrh r0, [r0]
- strh r0, [r4]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x2
- bl SendBlock
- b _08023060
-_08022FAA:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023066
- movs r0, 0
- strh r0, [r5, 0x10]
- b _08023060
-_08022FBA:
- bl GetBlockReceivedStatus
- ldr r2, =gUnknown_082F4448
- ldrb r4, [r5, 0x9]
- subs r1, r4, 0x2
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _08023066
- movs r3, 0
- cmp r3, r4
- bcs _0802301E
- ldr r7, =gBlockRecvBuffer
- movs r6, 0
- ldr r4, =gUnknown_0858AB24
-_08022FDC:
- lsls r0, r3, 5
- adds r0, r5, r0
- lsls r1, r3, 8
- adds r1, r7
- ldrh r1, [r1]
- adds r2, r0, 0
- adds r2, 0xA4
- strh r1, [r2]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xB0
- bls _08022FF6
- strh r6, [r2]
-_08022FF6:
- ldrh r1, [r2]
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r5, 0x18]
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r5, 0x18]
- ldrh r0, [r2]
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x2]
- ldr r0, [r5, 0x1C]
- adds r0, r1
- str r0, [r5, 0x1C]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r3, r0
- bcc _08022FDC
-_0802301E:
- movs r0, 0
- strh r0, [r5, 0x10]
- bl ResetBlockReceivedFlags
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r1, 0x80
- lsls r1, 6
- bl sub_81515FC
- str r0, [r5, 0x20]
- b _08023060
- .pool
-_08023044:
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0x4
- strh r0, [r5, 0x12]
- strb r1, [r5, 0xC]
- b _08023066
-_08023060:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_08023066:
- movs r0, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8022F1C
-
- thumb_func_start sub_8023070
-sub_8023070: @ 8023070
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x6
- bls _0802307C
- b _080231A8
-_0802307C:
- lsls r0, 2
- ldr r1, =_0802308C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802308C:
- .4byte _080230A8
- .4byte _080230BA
- .4byte _080230E8
- .4byte _08023120
- .4byte _08023150
- .4byte _08023172
- .4byte _08023184
-_080230A8:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- adds r0, r4, 0
- bl sub_80214A8
- bl sub_8010434
- b _080231A8
-_080230BA:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080231AE
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r4, r2
- movs r0, 0
- strb r0, [r1]
- ldr r3, =0x00000139
- adds r1, r4, r3
- strb r0, [r1]
- adds r2, 0x2
- adds r1, r4, r2
- strb r0, [r1]
- adds r3, 0x2
- adds r1, r4, r3
- strb r0, [r1]
- b _080231A8
- .pool
-_080230E8:
- movs r0, 0x9C
- lsls r0, 1
- adds r3, r4, r0
- ldrb r0, [r3]
- lsls r0, 2
- movs r2, 0xB8
- lsls r2, 1
- adds r1, r4, r2
- adds r0, r1, r0
- ldr r2, [r0]
- ldr r0, =sub_8021608
- str r0, [r2, 0x1C]
- ldrb r0, [r3]
- lsls r0, 2
- adds r1, r0
- ldr r1, [r1]
- adds r1, 0x2C
- ldrb r2, [r1]
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x3D
- bl PlaySE
- b _080231A8
- .pool
-_08023120:
- movs r3, 0x9C
- lsls r3, 1
- adds r2, r4, r3
- ldrb r0, [r2]
- lsls r0, 2
- adds r3, 0x38
- adds r1, r4, r3
- adds r3, r1, r0
- ldr r0, [r3]
- ldr r1, [r0, 0x1C]
- ldr r0, =sub_8021608
- cmp r1, r0
- beq _080231AE
- movs r0, 0
- str r0, [r3]
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- bl sub_8010434
- b _080231A8
- .pool
-_08023150:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080231AE
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- ldrb r0, [r1]
- ldrb r2, [r4, 0x9]
- cmp r0, r2
- bcs _0802316C
- movs r0, 0x2
- b _080231AC
-_0802316C:
- movs r0, 0
- strb r0, [r1]
- b _080231A8
-_08023172:
- movs r3, 0x9C
- lsls r3, 1
- adds r1, r4, r3
- adds r0, r4, 0
- bl sub_80216A8
- bl sub_8010434
- b _080231A8
-_08023184:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080231AE
- movs r0, 0x2B
- bl PlaySE
- movs r0, 0xB
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0x5
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _080231AE
-_080231A8:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
-_080231AC:
- strb r0, [r4, 0xC]
-_080231AE:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8023070
-
- thumb_func_start sub_80231B8
-sub_80231B8: @ 80231B8
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0xC]
- cmp r1, 0x1
- beq _0802321C
- cmp r1, 0x1
- bgt _080231CC
- cmp r1, 0
- beq _080231D6
- b _080232DC
-_080231CC:
- cmp r1, 0x2
- beq _0802329C
- cmp r1, 0x3
- beq _080232BE
- b _080232DC
-_080231D6:
- ldrh r0, [r4, 0x2A]
- adds r0, 0x4
- strh r0, [r4, 0x2A]
- lsls r0, 16
- cmp r0, 0
- bge _080231E4
- b _080232E2
-_080231E4:
- strh r1, [r4, 0x2A]
- ldr r0, =0x00000139
- adds r3, r4, r0
- movs r0, 0x4
- strb r0, [r3]
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r4, r2
- movs r0, 0
- strb r0, [r1]
- ldr r2, =gUnknown_082F326C
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r2
- ldrb r0, [r0]
- movs r2, 0x9D
- lsls r2, 1
- adds r1, r4, r2
- strb r0, [r1]
- movs r0, 0xD6
- bl PlaySE
- b _080232DC
- .pool
-_0802321C:
- ldr r7, =gUnknown_082F326C
- movs r0, 0x9C
- lsls r0, 1
- adds r6, r4, r0
- ldr r1, =0x00000139
- adds r5, r4, r1
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- ldrb r2, [r6]
- adds r0, r2
- adds r0, r7
- movs r1, 0
- ldrsb r1, [r0, r1]
- strh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- movs r1, 0x9D
- lsls r1, 1
- adds r2, r4, r1
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2]
- cmp r0, r1
- bcc _080232E2
- ldrb r0, [r5]
- cmp r0, 0
- beq _080232DC
- subs r0, 0x1
- strb r0, [r5]
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r7
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0
- strb r0, [r6]
- b _080232E2
- .pool
-_0802329C:
- movs r0, 0
- strh r0, [r4, 0x2C]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- bl sub_8010434
- b _080232DC
-_080232BE:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080232E2
- movs r0, 0xC
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0x6
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _080232E2
-_080232DC:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_080232E2:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80231B8
-
- thumb_func_start sub_80232EC
-sub_80232EC: @ 80232EC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _0802330C
- cmp r0, 0x1
- bgt _08023302
- cmp r0, 0
- beq _08023332
- b _0802338C
-_08023302:
- cmp r0, 0x2
- beq _0802332A
- cmp r0, 0x3
- beq _08023338
- b _0802338C
-_0802330C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023392
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x78
- movs r3, 0x50
- bl sub_802EB24
- b _0802338C
-_0802332A:
- bl sub_802EB84
- cmp r0, 0
- bne _08023392
-_08023332:
- bl sub_8010434
- b _0802338C
-_08023338:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023392
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0
- strb r0, [r1]
- ldr r2, =0x00000139
- adds r1, r4, r2
- strb r0, [r1]
- adds r2, 0x1
- adds r1, r4, r2
- strb r0, [r1]
- adds r2, 0x1
- adds r1, r4, r2
- strb r0, [r1]
- strh r0, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- bne _08023378
- movs r0, 0xD
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _08023382
- .pool
-_08023378:
- movs r0, 0xE
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
-_08023382:
- movs r1, 0
- movs r0, 0x7
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _08023392
-_0802338C:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_08023392:
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80232EC
-
- thumb_func_start sub_802339C
-sub_802339C: @ 802339C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- movs r0, 0
- mov r8, r0
- movs r2, 0
- adds r7, r2, 0
- ldrb r1, [r4, 0x9]
- cmp r7, r1
- bcs _080234AA
- movs r2, 0x5E
- adds r2, r4
- mov r9, r2
- ldr r3, =gUnknown_082F325C
- mov r10, r3
-_080233C0:
- lsls r0, r7, 4
- ldr r1, =gRecvCmds
- adds r2, r0, r1
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- movs r3, 0xBC
- lsls r3, 6
- cmp r0, r3
- bne _0802349E
- ldrh r0, [r2, 0x2]
- cmp r0, 0x2
- bne _0802349E
- ldrb r1, [r2, 0x4]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08023496
- mov r0, r9
- ldrb r2, [r0]
- lsrs r1, r2, 3
- mov r3, r10
- adds r0, r7, r3
- ldrb r0, [r0]
- orrs r1, r0
- lsls r1, 3
- movs r0, 0x7
- ands r0, r2
- orrs r0, r1
- mov r1, r9
- strb r0, [r1]
- lsls r2, r7, 5
- adds r3, r4, r2
- mov r12, r3
- mov r1, r12
- adds r1, 0xB5
- movs r0, 0x1
- strb r0, [r1]
- subs r1, 0x7
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- subs r1, 0x8
- ldrh r0, [r4, 0x28]
- ldrh r1, [r1]
- subs r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- mov r5, r12
- adds r5, 0xAA
- ldrh r1, [r5]
- subs r0, r1, 0x1
- adds r6, r2, 0
- cmp r3, r0
- blt _08023468
- adds r0, r1, 0x1
- cmp r3, r0
- bgt _08023468
- mov r1, r12
- adds r1, 0xA8
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- strh r3, [r5]
- mov r0, r12
- adds r0, 0xAC
- ldrh r1, [r1]
- ldrh r2, [r0]
- cmp r1, r2
- bls _08023476
- strh r1, [r0]
- b _08023476
- .pool
-_08023468:
- adds r0, r4, r6
- adds r2, r0, 0
- adds r2, 0xA8
- movs r1, 0
- strh r1, [r2]
- adds r0, 0xAA
- strh r3, [r0]
-_08023476:
- adds r1, r4, r6
- ldrh r0, [r4, 0x28]
- adds r3, r1, 0
- adds r3, 0xA6
- movs r2, 0
- strh r0, [r3]
- adds r1, 0xB4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _0802349E
- strb r2, [r1]
- b _0802349E
-_08023496:
- lsls r0, r7, 5
- adds r0, r4, r0
- adds r0, 0xB5
- strb r1, [r0]
-_0802349E:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r3, [r4, 0x9]
- cmp r7, r3
- bcc _080233C0
-_080234AA:
- mov r0, r8
- cmp r0, 0x1
- bls _080234E0
- movs r7, 0
- ldrb r1, [r4, 0x9]
- cmp r7, r1
- bcs _080234E0
- movs r3, 0x2
-_080234BA:
- lsls r0, r7, 5
- adds r1, r4, r0
- adds r2, r1, 0
- adds r2, 0xB5
- ldrb r0, [r2]
- cmp r0, 0
- beq _080234D4
- orrs r0, r3
- strb r0, [r2]
- adds r1, 0xB0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080234D4:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r2, [r4, 0x9]
- cmp r7, r2
- bcc _080234BA
-_080234E0:
- mov r3, r8
- cmp r3, 0
- beq _08023548
- ldrh r0, [r4, 0x2E]
- add r0, r8
- strh r0, [r4, 0x2E]
- ldr r1, =gUnknown_082F3264
- mov r0, r8
- subs r0, 0x1
- adds r0, r1
- ldrb r0, [r0]
- add r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r0, [r4, 0x34]
- add r0, r8
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x1A]
- add r0, r8
- strh r0, [r4, 0x1A]
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- movs r3, 0x1A
- ldrsh r2, [r4, r3]
- subs r0, r2
- cmp r0, 0
- ble _08023534
- lsls r2, 8
- ldr r1, [r4, 0x20]
- adds r0, r2, 0
- bl sub_81515FC
- adds r2, r0, 0
- asrs r2, 8
- adds r0, r4, 0
- adds r0, 0x24
- strb r2, [r0]
- b _08023548
- .pool
-_08023534:
- adds r1, r4, 0
- adds r1, 0x24
- movs r0, 0x20
- strb r0, [r1]
- adds r2, r4, 0
- adds r2, 0x5E
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_08023548:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802339C
-
- thumb_func_start sub_8023558
-sub_8023558: @ 8023558
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r6, 0
- movs r1, 0
- adds r4, r1, 0
- ldrb r0, [r3, 0x9]
- cmp r4, r0
- bcs _080235B0
- adds r5, r3, 0
- adds r5, 0x64
-_0802356C:
- lsls r0, r4, 5
- adds r1, r3, r0
- adds r0, r1, 0
- adds r0, 0xB5
- ldrb r2, [r0]
- cmp r2, 0
- beq _080235A4
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r1, 0
- adds r0, 0xB4
- ldrb r0, [r0]
- adds r1, r0, 0x1
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _08023594
- movs r0, 0x4
- orrs r1, r0
-_08023594:
- lsls r0, r4, 1
- adds r0, r4
- lsls r1, r0
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldrh r0, [r5]
- orrs r1, r0
- strh r1, [r5]
-_080235A4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r1, [r3, 0x9]
- cmp r4, r1
- bcc _0802356C
-_080235B0:
- adds r0, r3, 0
- adds r0, 0x24
- ldrb r1, [r0]
- adds r0, 0x3C
- strh r1, [r0]
- cmp r6, 0
- bne _080235D4
- ldr r2, =0x0000013b
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080236A0
- movs r4, 0x9C
- lsls r4, 1
- adds r1, r3, r4
- b _08023612
- .pool
-_080235D4:
- ldr r5, =0x0000013b
- adds r2, r3, r5
- ldrb r0, [r2]
- cmp r0, 0
- beq _0802361A
- ldr r0, =0x00000139
- adds r1, r3, r0
- ldrb r2, [r1]
- cmp r6, r2
- beq _0802360C
- subs r0, r6, 0x1
- strb r0, [r1]
- ldr r1, =gUnknown_082F3290
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r4, 0x9D
- lsls r4, 1
- adds r1, r3, r4
- strb r0, [r1]
- b _08023640
- .pool
-_0802360C:
- movs r5, 0x9C
- lsls r5, 1
- adds r1, r3, r5
-_08023612:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08023640
-_0802361A:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0
- strb r0, [r1]
- subs r0, r6, 0x1
- ldr r4, =0x00000139
- adds r1, r3, r4
- strb r0, [r1]
- ldr r1, =gUnknown_082F3290
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r5, 0x9D
- lsls r5, 1
- adds r1, r3, r5
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r2]
-_08023640:
- ldr r0, =0x0000013b
- adds r4, r3, r0
- ldrb r0, [r4]
- cmp r0, 0
- beq _080236A0
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r3, r2
- movs r5, 0x9D
- lsls r5, 1
- adds r2, r3, r5
- ldrb r0, [r1]
- ldrb r5, [r2]
- cmp r0, r5
- bcc _0802367C
- movs r0, 0
- strb r0, [r1]
- ldr r5, =0x00000139
- adds r1, r3, r5
- strb r0, [r1]
- strb r0, [r2]
- strb r0, [r4]
- movs r1, 0
- b _08023690
- .pool
-_0802367C:
- ldr r2, =gUnknown_082F3290
- ldrb r1, [r1]
- ldr r4, =0x00000139
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, 0x1
- adds r1, r0
- adds r1, r2
- ldrb r1, [r1]
-_08023690:
- adds r0, r3, 0
- adds r0, 0x5F
- strb r1, [r0]
- b _080236A8
- .pool
-_080236A0:
- adds r1, r3, 0
- adds r1, 0x5F
- movs r0, 0
- strb r0, [r1]
-_080236A8:
- ldrh r1, [r3, 0x26]
- adds r0, r3, 0
- adds r0, 0x62
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8023558
-
- thumb_func_start sub_80236B8
-sub_80236B8: @ 80236B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldr r3, =gMain
- ldrh r1, [r3, 0x2E]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080236DA
- adds r2, r5, 0
- adds r2, 0x5E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080236DA:
- ldrh r1, [r3, 0x2C]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080236FA
- ldrb r0, [r5, 0x8]
- lsls r0, 5
- adds r0, r5, r0
- adds r1, r0, 0
- adds r1, 0xB2
- ldrh r0, [r1]
- ldrh r2, [r5, 0x28]
- cmp r0, r2
- bcs _080236FA
- adds r0, 0x1
- strh r0, [r1]
-_080236FA:
- ldrb r0, [r5, 0x8]
- adds r7, r5, 0
- adds r7, 0x5E
- cmp r0, 0
- beq _08023710
- ldrb r1, [r7]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _08023710
- b _0802384C
-_08023710:
- adds r4, r5, 0
- adds r4, 0x5C
- movs r0, 0x2
- strh r0, [r4]
- ldrh r0, [r5, 0x28]
- movs r1, 0x1E
- bl __umodsi3
- lsls r0, 16
- mov r8, r4
- adds r6, r5, 0
- adds r6, 0x25
- cmp r0, 0
- bne _08023768
- movs r0, 0x2E
- ldrsh r2, [r5, r0]
- ldr r1, =gUnknown_082F4444
- ldrb r0, [r5, 0x9]
- subs r0, 0x2
- adds r0, r1
- ldrb r0, [r0]
- cmp r2, r0
- ble _08023754
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- ldrb r0, [r6]
- movs r1, 0x10
- orrs r0, r1
- b _0802375C
- .pool
-_08023754:
- ldrb r1, [r6]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
-_0802375C:
- strb r0, [r6]
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
-_08023768:
- ldrh r0, [r5, 0x28]
- movs r1, 0xF
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _080237DE
- movs r0, 0x34
- ldrsh r2, [r5, r0]
- ldr r3, =gUnknown_082F4434
- ldrb r0, [r5, 0x9]
- subs r0, 0x2
- lsls r1, r0, 2
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r2, r0
- bge _08023798
- ldrb r1, [r6]
- movs r0, 0x1F
- ands r0, r1
- strb r0, [r6]
- b _080237D8
- .pool
-_08023798:
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r2, r0
- bge _080237AC
- ldrb r0, [r6]
- movs r1, 0x1F
- ands r1, r0
- movs r0, 0x20
- b _080237D4
-_080237AC:
- adds r0, r3, 0x2
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r2, r0
- bge _080237BC
- movs r0, 0x2
- strh r0, [r5, 0x34]
- b _080237D8
-_080237BC:
- adds r0, r3, 0x3
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r2, r0
- bge _080237CC
- movs r0, 0x3
- strh r0, [r5, 0x34]
- b _080237D8
-_080237CC:
- ldrb r0, [r6]
- movs r1, 0x1F
- ands r1, r0
- movs r0, 0x80
-_080237D4:
- orrs r1, r0
- strb r1, [r6]
-_080237D8:
- movs r0, 0
- strh r0, [r5, 0x34]
- b _0802380A
-_080237DE:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3C
- bls _0802380A
- cmp r0, 0x46
- bls _080237FA
- bl sub_8011AC8
- movs r0, 0
- strh r0, [r5, 0x10]
- b _0802380A
-_080237FA:
- ldrb r0, [r7]
- movs r4, 0xF8
- ands r4, r0
- cmp r4, 0
- bne _0802380A
- bl sub_8011AC8
- strh r4, [r5, 0x10]
-_0802380A:
- ldrh r1, [r5, 0x28]
- ldr r0, =0x00008c9f
- cmp r1, r0
- bls _0802381A
- ldrb r0, [r7]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r7]
-_0802381A:
- ldrb r1, [r6]
- lsls r1, 27
- lsrs r1, 31
- lsls r1, 1
- ldrb r2, [r7]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7]
- ldrb r0, [r6]
- lsrs r0, 5
- adds r2, r5, 0
- adds r2, 0x66
- strh r0, [r2]
- adds r4, r5, 0
- adds r4, 0x42
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0xC
- bl memcpy
- adds r0, r4, 0
- bl sub_800FE50
-_0802384C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80236B8
-
- thumb_func_start sub_802385C
-sub_802385C: @ 802385C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r3, =gRecvCmds
- ldrb r0, [r5, 0x9]
- cmp r4, r0
- bcs _08023880
- movs r1, 0
-_0802386C:
- lsls r0, r4, 5
- adds r0, r5, r0
- adds r0, 0xB5
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r4, r0
- bcc _0802386C
-_08023880:
- adds r2, r3, 0
- ldrh r0, [r2]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _08023898
- ldrh r0, [r2, 0x2]
- cmp r0, 0x2
- beq _080238AC
-_08023898:
- adds r2, r5, 0
- adds r2, 0x25
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _080238EA
- .pool
-_080238AC:
- adds r4, r5, 0
- adds r4, 0x4E
- adds r0, r4, 0
- adds r1, r3, 0
- movs r2, 0xE
- bl memcpy
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x2A]
- movs r0, 0x5
- ldrsb r0, [r4, r0]
- strh r0, [r5, 0x2C]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x28]
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- adds r0, r5, 0
- bl sub_80216E0
- ldrb r1, [r4, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080238EA
- adds r0, r5, 0
- adds r0, 0x25
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
-_080238EA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802385C
-
- thumb_func_start sub_80238F0
-sub_80238F0: @ 80238F0
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0xC
- bl memset
- adds r0, r4, 0
- adds r0, 0x4E
- movs r1, 0
- movs r2, 0xE
- bl memset
- adds r0, r4, 0
- bl sub_802385C
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- adds r0, r4, 0
- adds r0, 0x25
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08023978
- ldrh r1, [r4, 0x28]
- ldr r0, =0x00008c9f
- cmp r1, r0
- bls _08023964
- adds r0, 0x1
- strh r0, [r4, 0x28]
- movs r0, 0x10
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _0802396E
- .pool
-_08023964:
- movs r0, 0xF
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
-_0802396E:
- movs r1, 0
- movs r0, 0
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _08023992
-_08023978:
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- bl sub_802339C
- adds r0, r4, 0
- bl sub_8023558
- adds r0, r4, 0
- bl sub_80236B8
- movs r0, 0
-_08023992:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80238F0
-
- thumb_func_start sub_8023998
-sub_8023998: @ 8023998
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0xC
- bl memset
- adds r0, r4, 0
- adds r0, 0x4E
- movs r1, 0
- movs r2, 0xE
- bl memset
- adds r0, r4, 0
- bl sub_802385C
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- adds r0, r4, 0
- adds r0, 0x25
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08023A20
- ldrh r1, [r4, 0x28]
- ldr r0, =0x00008c9f
- cmp r1, r0
- bls _08023A0C
- adds r0, 0x1
- strh r0, [r4, 0x28]
- movs r0, 0x10
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _08023A16
- .pool
-_08023A0C:
- movs r0, 0xF
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
-_08023A16:
- movs r1, 0
- movs r0, 0
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _08023A28
-_08023A20:
- adds r0, r4, 0
- bl sub_80236B8
- movs r0, 0
-_08023A28:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8023998
-
- thumb_func_start sub_8023A30
-sub_8023A30: @ 8023A30
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x5
- bls _08023A3C
- b _08023BB2
-_08023A3C:
- lsls r0, 2
- ldr r1, =_08023A4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08023A4C:
- .4byte _08023A64
- .4byte _08023A8C
- .4byte _08023ADC
- .4byte _08023B5C
- .4byte _08023B7A
- .4byte _08023B94
-_08023A64:
- movs r0, 0x8
- strh r0, [r4, 0x12]
- movs r0, 0xD6
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- ldr r2, =0x000003ff
- movs r1, 0x8
- bl BlendPalettes
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x2
- strb r0, [r1]
- b _08023BB2
- .pool
-_08023A8C:
- movs r1, 0x9C
- lsls r1, 1
- adds r5, r4, r1
- ldrb r0, [r5]
- subs r0, 0x1
- strb r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08023AA2
- b _08023BB8
-_08023AA2:
- movs r0, 0x1
- negs r0, r0
- ldr r2, =0x000003ff
- movs r1, 0
- bl BlendPalettes
- ldr r2, =0x00000139
- adds r1, r4, r2
- movs r0, 0x4
- strb r0, [r1]
- movs r0, 0
- strb r0, [r5]
- ldr r2, =gUnknown_082F326C
- ldrb r1, [r1]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r2
- ldrb r0, [r0]
- movs r2, 0x9D
- lsls r2, 1
- adds r1, r4, r2
- strb r0, [r1]
- b _08023BB2
- .pool
-_08023ADC:
- ldr r7, =gUnknown_082F326C
- movs r0, 0x9C
- lsls r0, 1
- adds r6, r4, r0
- ldr r1, =0x00000139
- adds r5, r4, r1
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- ldrb r2, [r6]
- adds r0, r2
- adds r0, r7
- movs r1, 0
- ldrsb r1, [r0, r1]
- strh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- movs r1, 0x9D
- lsls r1, 1
- adds r2, r4, r1
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2]
- cmp r0, r1
- bcc _08023BB8
- ldrb r0, [r5]
- cmp r0, 0
- beq _08023BB2
- subs r0, 0x1
- strb r0, [r5]
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r7
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0
- strb r0, [r6]
- b _08023BB8
- .pool
-_08023B5C:
- movs r0, 0
- strh r0, [r4, 0x2C]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- b _08023BB2
-_08023B7A:
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r4, r2
- adds r0, r4, 0
- bl sub_80218D4
- cmp r0, 0
- beq _08023BB8
- bl sub_8010434
- movs r0, 0
- strh r0, [r4, 0x10]
- b _08023BB2
-_08023B94:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023BB8
- movs r0, 0x11
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _08023BBA
-_08023BB2:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_08023BB8:
- movs r0, 0
-_08023BBA:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8023A30
-
- thumb_func_start sub_8023BC0
-sub_8023BC0: @ 8023BC0
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- beq _08023C04
- cmp r0, 0x1
- bgt _08023BD8
- cmp r0, 0
- beq _08023BE2
- b _08023C9C
-_08023BD8:
- cmp r0, 0x2
- beq _08023C2A
- cmp r0, 0x3
- beq _08023C5C
- b _08023C9C
-_08023BE2:
- movs r0, 0x9
- strh r0, [r5, 0x12]
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x8
- movs r2, 0x1F
- bl BlendPalettes
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x4
- strb r0, [r1]
- b _08023C9C
-_08023C04:
- movs r0, 0x9C
- lsls r0, 1
- adds r4, r5, r0
- ldrb r0, [r4]
- subs r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08023CA2
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- movs r2, 0x1F
- bl BlendPalettes
- movs r0, 0
- strb r0, [r4]
- b _08023C9C
-_08023C2A:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- adds r0, r5, 0
- bl sub_80218D4
- cmp r0, 0
- beq _08023CA2
- bl sub_8010434
- movs r0, 0
- strh r0, [r5, 0x10]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- b _08023C9C
-_08023C5C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023CA2
- ldr r0, =gStringVar1
- ldr r1, [r5, 0x1C]
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- movs r4, 0
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0x7
- movs r2, 0x1
- movs r3, 0
- bl sub_8024644
- movs r0, 0x13
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- strh r4, [r5, 0x10]
- b _08023CA0
- .pool
-_08023C9C:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
-_08023CA0:
- strb r0, [r5, 0xC]
-_08023CA2:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8023BC0
-
- thumb_func_start sub_8023CAC
-sub_8023CAC: @ 8023CAC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r7, r0, 0
- ldrb r0, [r7, 0xC]
- cmp r0, 0x7
- bls _08023CC2
- b _0802402E
-_08023CC2:
- lsls r0, 2
- ldr r1, =_08023CD0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08023CD0:
- .4byte _08023CF0
- .4byte _08023D2A
- .4byte _08023D38
- .4byte _08023DA0
- .4byte _08023F20
- .4byte _08023FD0
- .4byte _08023FDC
- .4byte _08024010
-_08023CF0:
- adds r4, r7, 0
- adds r4, 0x42
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x4
- bl memset
- ldrb r0, [r7, 0x8]
- lsls r0, 5
- adds r0, r7, r0
- adds r2, r0, 0
- adds r2, 0xB2
- ldrh r1, [r7, 0x28]
- ldrh r0, [r2]
- cmp r0, r1
- bls _08023D12
- strh r1, [r2]
-_08023D12:
- ldrb r0, [r7, 0x8]
- lsls r0, 5
- adds r0, r7, r0
- adds r0, 0xB2
- ldrh r0, [r0]
- strh r0, [r4]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x2
- bl SendBlock
- b _0802402E
-_08023D2A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- bne _08023D36
- b _08024034
-_08023D36:
- b _08024004
-_08023D38:
- bl GetBlockReceivedStatus
- ldr r2, =gUnknown_082F4448
- ldrb r3, [r7, 0x9]
- subs r1, r3, 0x2
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- beq _08023D50
- b _08024034
-_08023D50:
- movs r0, 0
- mov r8, r0
- adds r4, r7, 0
- adds r4, 0x42
- cmp r8, r3
- bcs _08023D7E
- ldr r2, =gBlockRecvBuffer
-_08023D5E:
- mov r3, r8
- lsls r1, r3, 5
- adds r1, r7, r1
- lsls r0, r3, 8
- adds r0, r2
- ldrh r0, [r0]
- adds r1, 0xB2
- strh r0, [r1]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r6, [r7, 0x9]
- cmp r8, r6
- bcc _08023D5E
-_08023D7E:
- movs r0, 0
- strh r0, [r7, 0x10]
- strh r0, [r4]
- bl ResetBlockReceivedFlags
- ldrb r0, [r7, 0x8]
- cmp r0, 0
- bne _08023D9C
- movs r0, 0x3
- b _08024032
- .pool
-_08023D9C:
- movs r0, 0x6
- b _08024032
-_08023DA0:
- adds r0, r7, 0
- adds r0, 0x68
- movs r1, 0
- movs r2, 0x30
- bl memset
- ldrh r1, [r7, 0x28]
- adds r0, r7, 0
- adds r0, 0x6C
- strh r1, [r0]
- movs r0, 0x18
- ldrsh r4, [r7, r0]
- ldrh r0, [r7, 0x28]
- movs r1, 0x3C
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl __divsi3
- adds r1, r7, 0
- adds r1, 0x6E
- strh r0, [r1]
- movs r1, 0x30
- ldrsh r0, [r7, r1]
- lsls r0, 8
- movs r4, 0xC8
- lsls r4, 6
- adds r1, r4, 0
- bl sub_8151574
- adds r2, r0, 0
- movs r3, 0x32
- ldrsh r1, [r7, r3]
- lsls r1, 8
- bl sub_81515FC
- adds r2, r0, r4
- asrs r2, 8
- movs r1, 0x7F
- adds r0, r2, 0
- ands r0, r1
- adds r1, r7, 0
- adds r1, 0x70
- strh r0, [r1]
- lsls r2, 8
- movs r1, 0xC8
- lsls r1, 7
- adds r0, r2, 0
- bl sub_81515FC
- adds r2, r0, 0
- ldrb r1, [r7, 0x9]
- ldr r0, [r7, 0x1C]
- muls r0, r1
- lsls r4, r0, 8
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_8151574
- adds r4, r0, 0
- asrs r0, r4, 8
- str r0, [r7, 0x68]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r1, r7, 0
- adds r1, 0x8F
- strb r0, [r1]
- movs r6, 0
- mov r8, r6
- mov r9, r1
- ldrb r0, [r7, 0x9]
- cmp r8, r0
- bcc _08023E44
- b _0802402E
-_08023E44:
- adds r0, r7, 0
- adds r0, 0x88
- add r0, r8
- mov r1, r8
- strb r1, [r0]
- adds r0, r7, 0
- adds r0, 0x90
- add r0, r8
- strb r1, [r0]
- mov r3, r8
- lsls r2, r3, 1
- adds r1, r7, 0
- adds r1, 0x74
- adds r1, r2
- lsls r0, r3, 5
- adds r3, r7, r0
- adds r5, r3, 0
- adds r5, 0xAE
- ldrh r0, [r5]
- strh r0, [r1]
- adds r1, r7, 0
- adds r1, 0x72
- ldrh r6, [r1]
- adds r0, r6
- strh r0, [r1]
- mov r1, r9
- ldrb r0, [r1]
- adds r6, r2, 0
- cmp r0, 0x1
- beq _08023EAE
- cmp r0, 0x1
- bgt _08023E8A
- cmp r0, 0
- beq _08023E90
- b _08023F04
-_08023E8A:
- cmp r0, 0x2
- beq _08023ECC
- b _08023F04
-_08023E90:
- ldrh r0, [r5]
- cmp r0, 0
- beq _08023ED2
- adds r0, r3, 0
- adds r0, 0xAC
- ldrh r2, [r0]
- lsls r2, 8
- adds r0, r2, 0
- movs r1, 0xC8
- lsls r1, 7
- bl sub_8151574
- adds r2, r0, 0
- ldrh r4, [r5]
- b _08023EFA
-_08023EAE:
- ldrh r0, [r5]
- cmp r0, 0
- beq _08023ED2
- adds r0, r3, 0
- adds r0, 0xB0
- ldrh r2, [r0]
- lsls r2, 8
- adds r0, r2, 0
- movs r1, 0xC8
- lsls r1, 7
- bl sub_8151574
- adds r2, r0, 0
- ldrh r4, [r5]
- b _08023EFA
-_08023ECC:
- ldrh r0, [r5]
- cmp r0, 0
- bne _08023ED6
-_08023ED2:
- movs r4, 0
- b _08023F04
-_08023ED6:
- adds r1, r3, 0
- adds r1, 0xB2
- ldrh r0, [r1]
- ldrh r2, [r7, 0x28]
- cmp r0, r2
- bcc _08023EE8
- movs r4, 0xC8
- lsls r4, 7
- b _08023F04
-_08023EE8:
- ldrh r2, [r1]
- lsls r2, 8
- adds r0, r2, 0
- movs r1, 0xC8
- lsls r1, 7
- bl sub_8151574
- adds r2, r0, 0
- ldrh r4, [r7, 0x28]
-_08023EFA:
- lsls r4, 8
- adds r1, r4, 0
- bl sub_81515FC
- adds r4, r0, 0
-_08023F04:
- asrs r4, 4
- adds r0, r7, 0
- adds r0, 0x7E
- adds r0, r6
- strh r4, [r0]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r3, [r7, 0x9]
- cmp r8, r3
- bcc _08023E44
- b _0802402E
-_08023F20:
- movs r6, 0
- mov r8, r6
- ldrb r0, [r7, 0x9]
- subs r0, 0x1
- adds r1, r7, 0
- adds r1, 0x68
- str r1, [sp, 0xC]
- cmp r8, r0
- bge _08023FC4
-_08023F32:
- ldrb r0, [r7, 0x9]
- subs r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- mov r2, r8
- adds r2, 0x1
- str r2, [sp, 0x8]
- cmp r4, r8
- bls _08023FB4
- adds r3, r7, 0
- adds r3, 0x74
- str r3, [sp]
- adds r6, r7, 0
- adds r6, 0x88
- str r6, [sp, 0x4]
- movs r0, 0x90
- adds r0, r7
- mov r10, r0
- movs r1, 0x7E
- adds r1, r7
- mov r9, r1
-_08023F5C:
- subs r2, r4, 0x1
- mov r12, r2
- lsls r6, r2, 1
- ldr r0, [sp]
- adds r3, r0, r6
- lsls r5, r4, 1
- adds r1, r0, r5
- ldrh r2, [r3]
- ldrh r0, [r1]
- cmp r2, r0
- bcs _08023F86
- ldrh r0, [r1]
- strh r2, [r1]
- strh r0, [r3]
- ldr r1, [sp, 0x4]
- adds r2, r1, r4
- ldrb r3, [r2]
- add r1, r12
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
-_08023F86:
- mov r2, r9
- adds r3, r2, r6
- adds r1, r2, r5
- ldrh r2, [r3]
- ldrh r6, [r1]
- cmp r2, r6
- bcs _08023FAA
- ldrh r0, [r1]
- strh r2, [r1]
- strh r0, [r3]
- mov r0, r10
- adds r2, r0, r4
- ldrb r3, [r2]
- mov r1, r10
- add r1, r12
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
-_08023FAA:
- mov r1, r12
- lsls r0, r1, 24
- lsrs r4, r0, 24
- cmp r4, r8
- bhi _08023F5C
-_08023FB4:
- ldr r2, [sp, 0x8]
- lsls r0, r2, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r0, [r7, 0x9]
- subs r0, 0x1
- cmp r8, r0
- blt _08023F32
-_08023FC4:
- movs r0, 0
- ldr r1, [sp, 0xC]
- movs r2, 0x30
- bl SendBlock
- b _0802402E
-_08023FD0:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08024034
- b _08024004
-_08023FDC:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08024034
- adds r4, r7, 0
- adds r4, 0x68
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x30
- bl memset
- ldr r1, =gBlockRecvBuffer
- adds r0, r4, 0
- movs r2, 0x30
- bl memcpy
- bl ResetBlockReceivedFlags
-_08024004:
- movs r0, 0
- strh r0, [r7, 0x10]
- b _0802402E
- .pool
-_08024010:
- bl sub_8020E58
- movs r0, 0x12
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- movs r1, 0xB
- strh r1, [r7, 0x12]
- strb r0, [r7, 0xC]
- adds r1, r7, 0
- adds r1, 0x24
- strb r0, [r1]
- b _08024034
-_0802402E:
- ldrb r0, [r7, 0xC]
- adds r0, 0x1
-_08024032:
- strb r0, [r7, 0xC]
-_08024034:
- movs r0, 0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8023CAC
-
- thumb_func_start sub_8024048
-sub_8024048: @ 8024048
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x4
- bhi _08024124
- lsls r0, 2
- ldr r1, =_08024064
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08024064:
- .4byte _08024078
- .4byte _0802408A
- .4byte _0802409C
- .4byte _080240CC
- .4byte _080240DC
-_08024078:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- adds r0, r5, 0
- bl sub_8022070
- cmp r0, 0
- bne _08024124
- b _0802412A
-_0802408A:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x1E
- strb r0, [r1]
- b _08024124
-_0802409C:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080240AE
- subs r0, 0x1
- strb r0, [r1]
- b _0802412A
-_080240AE:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0802412A
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_802222C
- b _08024124
- .pool
-_080240CC:
- ldrh r0, [r5, 0x12]
- cmp r0, 0xC
- bhi _08024124
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x12]
- strb r1, [r5, 0xC]
- b _0802412A
-_080240DC:
- ldr r0, =gStringVar1
- ldr r1, [r5, 0x1C]
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- bl sub_80247BC
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- movs r4, 0
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0x2
- movs r2, 0x3
- movs r3, 0
- bl sub_8024644
- movs r0, 0x13
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _0802412A
- .pool
-_08024124:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0802412A:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8024048
-
- thumb_func_start sub_8024134
-sub_8024134: @ 8024134
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x4
- bhi _08024218
- lsls r0, 2
- ldr r1, =_08024150
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08024150:
- .4byte _08024164
- .4byte _080241A0
- .4byte _080241A6
- .4byte _080241F0
- .4byte _08024204
-_08024164:
- ldrh r1, [r5, 0x28]
- ldr r0, =0x00008c9f
- cmp r1, r0
- bls _08024176
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r5, r1
- bl sub_8022554
-_08024176:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x8
- movs r2, 0
- movs r3, 0
- bl sub_8024644
- movs r4, 0
- movs r0, 0x13
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _0802421E
- .pool
-_080241A0:
- bl sub_8010434
- b _08024218
-_080241A6:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0802421E
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldr r2, =gText_SavingDontTurnOffPower
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized2
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =sub_8153688
- movs r1, 0
- bl CreateTask
- b _08024218
- .pool
-_080241F0:
- ldr r0, =sub_8153688
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _08024218
- b _0802421E
- .pool
-_08024204:
- movs r0, 0x14
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0xF
- strh r0, [r5, 0x12]
- strb r1, [r5, 0xC]
- b _0802421E
-_08024218:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0802421E:
- movs r0, 0
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8024134
-
- thumb_func_start sub_8024228
-sub_8024228: @ 8024228
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- beq _0802426A
- cmp r0, 0x1
- bgt _08024240
- cmp r0, 0
- beq _08024246
- b _080242D0
-_08024240:
- cmp r0, 0x2
- beq _08024270
- b _080242D0
-_08024246:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r6, 0
- movs r1, 0x4
- movs r2, 0
- movs r3, 0
- bl sub_8024644
- movs r0, 0x14
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- strb r0, [r5, 0xC]
- b _080242D8
-_0802426A:
- bl DisplayYesNoMenuDefaultYes
- b _080242D0
-_08024270:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _080242D6
- adds r0, r5, 0
- adds r0, 0x42
- movs r1, 0
- movs r2, 0xC
- bl memset
- cmp r4, 0
- bne _080242A2
- bl HasAtLeastOneBerry
- lsls r0, 24
- cmp r0, 0
- beq _0802429E
- strh r4, [r5, 0x14]
- b _080242A6
-_0802429E:
- movs r0, 0x3
- b _080242A4
-_080242A2:
- movs r0, 0x1
-_080242A4:
- strh r0, [r5, 0x14]
-_080242A6:
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- movs r4, 0
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0x8
- movs r2, 0
- movs r3, 0
- bl sub_8024644
- movs r0, 0x15
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _080242D6
-_080242D0:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_080242D6:
- movs r0, 0
-_080242D8:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8024228
-
- thumb_func_start sub_80242E0
-sub_80242E0: @ 80242E0
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r5, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _08024306
- cmp r0, 0x1
- bgt _080242F6
- cmp r0, 0
- beq _08024300
- b _080243AC
-_080242F6:
- cmp r0, 0x2
- beq _08024328
- cmp r0, 0x3
- beq _08024336
- b _080243AC
-_08024300:
- bl sub_8010434
- b _080243AC
-_08024306:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080243B2
- ldrh r0, [r4, 0x14]
- adds r1, r4, 0
- adds r1, 0x42
- strh r0, [r1]
- adds r0, r4, 0
- adds r0, 0x4E
- strh r5, [r0]
- movs r0, 0
- movs r2, 0x2
- bl SendBlock
- b _080243AC
-_08024328:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080243B2
- strh r5, [r4, 0x10]
- b _080243AC
-_08024336:
- bl GetBlockReceivedStatus
- ldr r2, =gUnknown_082F4448
- ldrb r3, [r4, 0x9]
- subs r1, r3, 0x2
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _080243B2
- adds r7, r4, 0
- adds r7, 0x42
- adds r6, r4, 0
- adds r6, 0x4E
- cmp r5, r3
- bcs _08024374
- adds r1, r6, 0
- ldr r2, =gBlockRecvBuffer
-_0802435C:
- lsls r0, r5, 8
- adds r0, r2
- ldrh r0, [r0]
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r4, 0x9]
- cmp r5, r0
- bcc _0802435C
-_08024374:
- ldrh r0, [r6]
- cmp r0, 0
- beq _08024390
- movs r0, 0x17
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _0802439A
- .pool
-_08024390:
- movs r0, 0x16
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
-_0802439A:
- bl ResetBlockReceivedFlags
- movs r1, 0
- movs r0, 0
- strh r0, [r7]
- strh r0, [r6]
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _080243B4
-_080243AC:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_080243B2:
- movs r0, 0
-_080243B4:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80242E0
-
- thumb_func_start sub_80243BC
-sub_80243BC: @ 80243BC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldrb r4, [r5, 0xC]
- cmp r4, 0x1
- beq _080243EA
- cmp r4, 0x1
- bgt _080243D2
- cmp r4, 0
- beq _080243DC
- b _08024434
-_080243D2:
- cmp r4, 0x2
- beq _080243F6
- cmp r4, 0x3
- beq _0802441A
- b _08024434
-_080243DC:
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- b _08024410
-_080243EA:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _08024434
- b _0802443A
-_080243F6:
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- adds r0, r5, 0
- bl sub_8021488
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
-_08024410:
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- b _08024434
-_0802441A:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0802443A
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- strh r4, [r5, 0x12]
- b _08024438
-_08024434:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
-_08024438:
- strb r0, [r5, 0xC]
-_0802443A:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80243BC
-
- thumb_func_start sub_8024444
-sub_8024444: @ 8024444
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- ldrb r4, [r5, 0xC]
- cmp r4, 0x1
- beq _080244BC
- cmp r4, 0x1
- bgt _0802445A
- cmp r4, 0
- beq _08024460
- b _080244F6
-_0802445A:
- cmp r4, 0x2
- beq _080244D4
- b _080244F6
-_08024460:
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldrh r1, [r5, 0x14]
- cmp r1, 0x3
- bne _08024490
- ldr r0, =gUnknown_082F32A4
- ldr r2, [r0, 0x14]
- ldrb r3, [r5, 0xB]
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParameterized2
- b _080244AC
- .pool
-_08024490:
- ldr r0, =gUnknown_082F32A4
- ldr r2, [r0, 0x18]
- ldrb r3, [r5, 0xB]
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParameterized2
-_080244AC:
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- b _080244F6
- .pool
-_080244BC:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080244FC
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x78
- strb r0, [r1]
- b _080244F6
-_080244D4:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- ldrb r0, [r1]
- adds r4, r0, 0
- cmp r4, 0
- beq _080244E8
- subs r0, 0x1
- strb r0, [r1]
- b _080244FC
-_080244E8:
- movs r0, 0x18
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _080244FC
-_080244F6:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_080244FC:
- movs r0, 0
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8024444
-
- thumb_func_start sub_8024508
-sub_8024508: @ 8024508
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrb r4, [r5, 0xC]
- cmp r4, 0x1
- beq _08024528
- cmp r4, 0x1
- bgt _0802451C
- cmp r4, 0
- beq _08024522
- b _08024558
-_0802451C:
- cmp r4, 0x2
- beq _08024538
- b _08024558
-_08024522:
- bl sub_8010434
- b _08024558
-_08024528:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0802455E
- bl sub_800AC34
- b _08024558
-_08024538:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802455E
- movs r0, 0x19
- strb r0, [r5, 0xE]
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _0802455E
- .pool
-_08024558:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0802455E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8024508
-
- thumb_func_start sub_8024568
-sub_8024568: @ 8024568
- push {lr}
- movs r0, 0
- bl sub_8020C0C
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8024568
-
- thumb_func_start sub_8024578
-sub_8024578: @ 8024578
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r5, 0
- movs r0, 0x33
- bl IncrementGameStat
- strb r5, [r4, 0xD]
- movs r1, 0
- strh r5, [r4, 0x10]
- movs r0, 0x2
- strh r0, [r4, 0x12]
- strh r5, [r4, 0x14]
- str r5, [r4, 0x1C]
- strh r5, [r4, 0x18]
- strh r5, [r4, 0x1A]
- str r5, [r4, 0x20]
- adds r0, r4, 0
- adds r0, 0x24
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x25
- movs r0, 0
- strb r0, [r1]
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x28]
- strh r5, [r4, 0x2E]
- ldr r0, =0x0000ffff
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x30]
- strh r5, [r4, 0x34]
- movs r6, 0
- movs r3, 0
-_080245B8:
- lsls r0, r5, 5
- adds r2, r4, r0
- adds r1, r2, 0
- adds r1, 0xA4
- ldr r0, =0x0000ffff
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0xA6
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r1, 0x6
- movs r0, 0x1
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0xAC
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strb r6, [r0]
- adds r0, 0x1
- strb r6, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _080245B8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8024578
-
- thumb_func_start sub_8024604
-sub_8024604: @ 8024604
- push {r4-r6,lr}
- sub sp, 0x8
- str r2, [sp, 0x4]
- ldr r5, [sp, 0x18]
- ldr r6, [sp, 0x1C]
- ldr r4, [sp, 0x20]
- mov r2, sp
- strh r4, [r2]
- add r4, sp, 0x4
- ldrb r2, [r4]
- strb r2, [r0]
- ldrb r2, [r4, 0x1]
- strb r2, [r0, 0x1]
- ldrb r2, [r4, 0x2]
- strb r2, [r0, 0x2]
- ldrb r2, [r4, 0x3]
- strb r2, [r0, 0x3]
- strb r3, [r0, 0x4]
- strb r5, [r0, 0x5]
- strb r6, [r0, 0x6]
- mov r2, sp
- ldrb r2, [r2]
- strb r2, [r0, 0x7]
- mov r2, sp
- ldrb r2, [r2, 0x1]
- strb r2, [r0, 0x8]
- strb r1, [r0, 0x9]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8024604
-
- thumb_func_start sub_8024644
-sub_8024644: @ 8024644
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, [sp, 0x10]
- mov r4, sp
- strh r3, [r4]
- strb r1, [r0]
- strb r2, [r0, 0x1]
- mov r1, sp
- ldrb r1, [r1]
- strb r1, [r0, 0x2]
- mov r1, sp
- ldrb r1, [r1, 0x1]
- strb r1, [r0, 0x3]
- strb r5, [r0, 0x4]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8024644
-
- thumb_func_start sub_8024668
-sub_8024668: @ 8024668
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- adds r1, 0xAC
- ldr r0, [r0]
- ldr r1, [r1]
- eors r0, r1
- bx lr
- .pool
- thumb_func_end sub_8024668
-
- thumb_func_start SetBerryPowder
-SetBerryPowder: @ 802467C
- ldr r2, =gSaveBlock2Ptr
- ldr r2, [r2]
- adds r2, 0xAC
- ldr r2, [r2]
- eors r2, r1
- str r2, [r0]
- bx lr
- .pool
- thumb_func_end SetBerryPowder
-
- thumb_func_start ApplyNewEncryptionKeyToBerryPowder
-ApplyNewEncryptionKeyToBerryPowder: @ 8024690
- push {lr}
- adds r1, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r2, 0xFA
- lsls r2, 1
- adds r0, r2
- bl ApplyNewEncryptionKeyToWord
- pop {r0}
- bx r0
- .pool
- thumb_func_end ApplyNewEncryptionKeyToBerryPowder
-
- thumb_func_start sub_80246AC
-sub_80246AC: @ 80246AC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r1
- bl sub_8024668
- cmp r0, r4
- bcc _080246CC
- movs r0, 0x1
- b _080246CE
- .pool
-_080246CC:
- movs r0, 0
-_080246CE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80246AC
-
- thumb_func_start sub_80246D4
-sub_80246D4: @ 80246D4
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r1
- bl sub_8024668
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- cmp r0, r1
- bcc _080246F8
- movs r0, 0x1
- b _080246FA
- .pool
-_080246F8:
- movs r0, 0
-_080246FA:
- pop {r1}
- bx r1
- thumb_func_end sub_80246D4
-
- thumb_func_start sub_8024700
-sub_8024700: @ 8024700
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFA
- lsls r1, 1
- adds r5, r0, r1
- adds r0, r5, 0
- bl sub_8024668
- adds r1, r0, r4
- ldr r2, =0x0001869f @ Note to decompiler: See UNKNOWN_OFFSET
- cmp r1, r2
- bhi _08024730
- adds r0, r5, 0
- bl SetBerryPowder
- movs r0, 0x1
- b _0802473A
- .pool
-_08024730:
- adds r0, r5, 0
- adds r1, r2, 0
- bl SetBerryPowder
- movs r0, 0
-_0802473A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8024700
-
- thumb_func_start sub_8024740
-sub_8024740: @ 8024740
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFA
- lsls r1, 1
- adds r4, r0, r1
- adds r0, r5, 0
- bl sub_80246AC
- lsls r0, 24
- cmp r0, 0
- beq _08024774
- adds r0, r4, 0
- bl sub_8024668
- adds r1, r0, 0
- subs r1, r5
- adds r0, r4, 0
- bl SetBerryPowder
- movs r0, 0x1
- b _08024776
- .pool
-_08024774:
- movs r0, 0
-_08024776:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8024740
-
- thumb_func_start sub_802477C
-sub_802477C: @ 802477C
- push {r4,r5,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFA
- lsls r1, 1
- adds r4, r0, r1
- ldr r5, =gSpecialVar_0x8004
- ldrh r0, [r5]
- bl sub_80246AC
- lsls r0, 24
- cmp r0, 0
- beq _080247B4
- adds r0, r4, 0
- bl sub_8024668
- adds r1, r0, 0
- ldrh r0, [r5]
- subs r1, r0
- adds r0, r4, 0
- bl SetBerryPowder
- movs r0, 0x1
- b _080247B6
- .pool
-_080247B4:
- movs r0, 0
-_080247B6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802477C
-
- thumb_func_start sub_80247BC
-sub_80247BC: @ 80247BC
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r1
- bl sub_8024668
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80247BC
-
- thumb_func_start sub_80247D4
-sub_80247D4: @ 80247D4
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0xC
- adds r6, r0, 0
- mov r8, r2
- adds r4, r3, 0
- ldr r5, [sp, 0x24]
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gStringVar1
- mov r9, r0
- movs r2, 0x1
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- mov r2, r9
- mov r3, r8
- bl AddTextPrinterParameterized
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80247D4
-
- thumb_func_start sub_802482C
-sub_802482C: @ 802482C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r8, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- movs r1, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl DrawStdFrameWithCustomTileAndPalette
- ldr r2, =gText_Powder
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- str r4, [sp]
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0x1A
- movs r3, 0x11
- bl sub_80247D4
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802482C
-
- thumb_func_start sub_802488C
-sub_802488C: @ 802488C
- push {lr}
- sub sp, 0x4
- bl sub_80247BC
- adds r1, r0, 0
- ldr r0, =gUnknown_02022C94
- ldrb r0, [r0]
- movs r2, 0
- str r2, [sp]
- movs r2, 0x1A
- movs r3, 0x11
- bl sub_80247D4
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802488C
-
- thumb_func_start sub_80248B0
-sub_80248B0: @ 80248B0
- push {r4,r5,lr}
- sub sp, 0x18
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x1C
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl SetWindowTemplateFields
- ldr r4, =gUnknown_02022C94
- add r0, sp, 0x10
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- ldr r5, =0x0000021d
- adds r1, r5, 0
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- ldrb r4, [r4]
- bl sub_80247BC
- adds r3, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xD
- bl sub_802482C
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80248B0
-
- thumb_func_start sub_8024918
-sub_8024918: @ 8024918
- push {r4,lr}
- ldr r4, =gUnknown_02022C94
- ldrb r0, [r4]
- bl ClearWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x1
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8024918
-
- thumb_func_start sub_802493C
-sub_802493C: @ 802493C
- push {r4-r6,lr}
- adds r5, r1, 0
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, =gUnknown_03000DB0
- movs r0, 0
- str r0, [r1]
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08024A10
- ldr r4, =gUnknown_02022C98
- ldr r0, =0x00003330
- bl AllocZeroed
- str r0, [r4]
- cmp r0, 0
- beq _08024A10
- bl sub_8024A1C
- ldr r0, [r4]
- bl sub_8024A30
- ldr r0, [r4]
- str r5, [r0]
- bl GetMultiplayerId
- ldr r1, [r4]
- adds r1, 0x28
- strb r0, [r1]
- ldr r1, [r4]
- ldr r2, =0x000032cc
- adds r0, r1, r2
- adds r2, r1, 0
- adds r2, 0x28
- ldrb r3, [r2]
- lsls r2, r3, 4
- subs r2, r3
- lsls r2, 2
- adds r1, r2
- ldr r2, =0x000031a0
- adds r1, r2
- movs r2, 0x3C
- bl memcpy
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x28
- ldrb r1, [r1]
- lsls r1, 2
- ldr r2, =0x0000318c
- adds r1, r2
- adds r0, r1
- movs r1, 0x64
- muls r1, r6
- ldr r2, =gPlayerParty
- adds r1, r2
- bl sub_80261F8
- ldr r0, =sub_8024BC8
- movs r1, 0x1
- bl CreateTask
- ldr r0, =sub_80261CC
- bl SetMainCallback2
- bl sub_80273F0
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x24
- ldrb r0, [r0]
- adds r1, r2, 0
- adds r1, 0x44
- adds r2, 0x48
- bl sub_8026B5C
- bl StopMapMusic
- ldr r0, =0x0000021e
- bl PlayNewMapMusic
- b _08024A16
- .pool
-_08024A10:
- adds r0, r5, 0
- bl SetMainCallback2
-_08024A16:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802493C
-
- thumb_func_start sub_8024A1C
-sub_8024A1C: @ 8024A1C
- push {lr}
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- pop {r0}
- bx r0
- thumb_func_end sub_8024A1C
-
- thumb_func_start sub_8024A30
-sub_8024A30: @ 8024A30
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- adds r2, r0, 0
- movs r0, 0
- strb r0, [r2, 0xC]
- strb r0, [r2, 0x10]
- strb r0, [r2, 0x14]
- strb r0, [r2, 0x18]
- strb r0, [r2, 0x1C]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- str r0, [r1]
- movs r7, 0x90
- lsls r7, 1
- adds r1, r2, r7
- str r0, [r1]
- adds r1, r2, 0
- adds r1, 0x30
- strb r0, [r1]
- adds r1, 0x10
- strb r0, [r1]
- subs r1, 0x4
- strb r0, [r1]
- adds r3, 0x10
- adds r1, r2, r3
- str r0, [r1]
- movs r5, 0
- adds r1, r2, 0
- adds r1, 0x98
- movs r3, 0
-_08024A76:
- adds r0, r1, r5
- strb r3, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08024A76
- movs r5, 0
- adds r7, r2, 0
- adds r7, 0xA8
- str r7, [sp]
- adds r0, r2, 0
- adds r0, 0xB0
- str r0, [sp, 0xC]
- movs r1, 0x4A
- adds r1, r2
- mov r10, r1
- movs r3, 0x4C
- adds r3, r2
- mov r9, r3
- movs r7, 0x4E
- adds r7, r2
- mov r12, r7
- subs r0, 0x60
- str r0, [sp, 0x24]
- adds r6, r2, 0
- adds r6, 0x54
- adds r1, r2, 0
- adds r1, 0xD0
- str r1, [sp, 0x1C]
- adds r3, r2, 0
- adds r3, 0xDC
- str r3, [sp, 0x20]
- adds r7, r2, 0
- adds r7, 0xC4
- str r7, [sp, 0x14]
- adds r0, 0xA4
- str r0, [sp, 0x4]
- adds r1, 0x25
- str r1, [sp, 0x8]
- subs r3, 0xBC
- str r3, [sp, 0x10]
- movs r7, 0x24
- adds r7, r2
- mov r8, r7
- subs r0, 0xC0
- str r0, [sp, 0x18]
- movs r3, 0
- movs r1, 0x86
- lsls r1, 1
- adds r4, r2, r1
- movs r7, 0x98
- lsls r7, 1
- adds r2, r7
-_08024AE2:
- ldr r1, [sp]
- adds r0, r1, r5
- strb r3, [r0]
- ldr r7, [sp, 0xC]
- adds r0, r7, r5
- strb r3, [r0]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- mov r7, r10
- adds r1, r7, r0
- strh r3, [r1]
- mov r7, r9
- adds r1, r7, r0
- strh r3, [r1]
- mov r7, r12
- adds r1, r7, r0
- strh r3, [r1]
- ldr r7, [sp, 0x24]
- adds r1, r7, r0
- strh r3, [r1]
- adds r0, r6, r0
- strh r3, [r0]
- adds r0, r4, r5
- strb r3, [r0]
- lsls r0, r5, 2
- adds r0, r2, r0
- str r3, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _08024AE2
- movs r5, 0
- movs r3, 0
- movs r4, 0xFF
- ldr r6, [sp, 0x1C]
-_08024B2C:
- adds r0, r6, r5
- strb r3, [r0]
- ldr r1, [sp, 0x20]
- adds r0, r1, r5
- strb r3, [r0]
- ldr r7, [sp, 0x14]
- adds r0, r7, r5
- strb r3, [r0]
- lsls r1, r5, 1
- ldr r0, [sp, 0x4]
- adds r2, r0, r1
- ldrb r0, [r2]
- orrs r0, r4
- strb r0, [r2]
- ldr r7, [sp, 0x8]
- adds r1, r7, r1
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _08024B2C
- bl GetMultiplayerId
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _08024B6A
- movs r1, 0x1
-_08024B6A:
- ldr r0, [sp, 0x10]
- strb r1, [r0]
- bl GetLinkPlayerCount
- mov r1, r8
- strb r0, [r1]
- bl GetMultiplayerId
- ldr r3, [sp, 0x18]
- strb r0, [r3]
- movs r5, 0x1
- mov r7, r8
- ldrb r7, [r7]
- cmp r5, r7
- bcs _08024BB6
- ldr r7, [sp, 0x18]
- mov r6, r8
-_08024B8C:
- adds r4, r7, r5
- subs r0, r5, 0x1
- adds r0, r7, r0
- ldrb r0, [r0]
- adds r0, 0x1
- strb r0, [r4]
- ldrb r2, [r4]
- ldrb r1, [r6]
- subs r0, r1, 0x1
- cmp r2, r0
- ble _08024BAA
- adds r0, r2, 0
- bl __umodsi3
- strb r0, [r4]
-_08024BAA:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6]
- cmp r5, r0
- bcc _08024B8C
-_08024BB6:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8024A30
-
- thumb_func_start sub_8024BC8
-sub_8024BC8: @ 8024BC8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- cmp r0, 0x7
- bls _08024BDC
- b _08024D34
-_08024BDC:
- lsls r0, 2
- ldr r1, =_08024BF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08024BF0:
- .4byte _08024C10
- .4byte _08024C24
- .4byte _08024C4C
- .4byte _08024C5A
- .4byte _08024C80
- .4byte _08024CD4
- .4byte _08024CE6
- .4byte _08024D10
-_08024C10:
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, =sub_8025910
- movs r1, 0x4
- bl sub_802620C
- b _08024D20
- .pool
-_08024C24:
- ldr r0, =sub_8025910
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _08024C32
- b _08024D40
-_08024C32:
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r1
- bl sub_8029274
- ldr r1, [r4]
- b _08024D24
- .pool
-_08024C4C:
- bl sub_802A770
- cmp r0, 0
- bne _08024D40
- bl sub_8010434
- b _08024D20
-_08024C5A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08024D40
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08024D20
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- b _08024D20
- .pool
-_08024C80:
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r5, [r0]
- bl sub_80283A8
- movs r4, 0
- cmp r4, r5
- bcs _08024CBA
-_08024C92:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x34
- adds r0, r4
- ldrb r2, [r0]
- lsls r0, r2, 2
- ldr r3, =0x0000318c
- adds r0, r3
- adds r0, r1, r0
- adds r1, 0x24
- ldrb r3, [r1]
- adds r1, r4, 0
- bl sub_8028408
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08024C92
-_08024CBA:
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- adds r0, 0x24
- ldrb r1, [r0]
- movs r0, 0
- bl sub_802868C
- ldr r1, [r4]
- b _08024D24
- .pool
-_08024CD4:
- bl sub_8028A34
- bl sub_8028A88
- bl sub_8028D44
- bl sub_8028734
- b _08024D20
-_08024CE6:
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_80261E4
- bl SetVBlankCallback
- b _08024D20
- .pool
-_08024D10:
- bl UpdatePaletteFade
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08024D40
-_08024D20:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
-_08024D24:
- ldrb r0, [r1, 0xC]
- adds r0, 0x1
- strb r0, [r1, 0xC]
- b _08024D40
- .pool
-_08024D34:
- adds r0, r1, 0
- bl DestroyTask
- ldr r0, =sub_802589C
- bl sub_802621C
-_08024D40:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8024BC8
-
- thumb_func_start sub_8024D4C
-sub_8024D4C: @ 8024D4C
- push {lr}
- bl sub_8025D04
- ldr r1, =gUnknown_082F7AC4
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- ldrb r0, [r0, 0x18]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gUnknown_03000DB0
- ldr r0, [r0]
- cmp r0, 0
- bne _08024D70
- bl sub_8026AF4
-_08024D70:
- bl sub_8025D50
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8024D4C
-
- thumb_func_start sub_8024D84
-sub_8024D84: @ 8024D84
- push {lr}
- bl sub_8025E0C
- ldr r1, =gUnknown_082F7AF4
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- ldrb r0, [r0, 0x18]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gUnknown_03000DB0
- ldr r0, [r0]
- cmp r0, 0
- bne _08024DA8
- bl sub_8026B28
-_08024DA8:
- bl sub_8025ED8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8024D84
-
- thumb_func_start sub_8024DBC
-sub_8024DBC: @ 8024DBC
- push {r4,lr}
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- beq _08024DD4
- cmp r0, 0x1
- beq _08024DEA
- b _08024DF8
- .pool
-_08024DD4:
- movs r0, 0x1
- bl sub_8028504
- movs r0, 0x1
- bl sub_80292E0
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08024DF8
-_08024DEA:
- bl sub_802A770
- cmp r0, 0
- bne _08024DF8
- movs r0, 0x1
- bl sub_8026240
-_08024DF8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8024DBC
-
- thumb_func_start sub_8024E00
-sub_8024E00: @ 8024E00
- push {r4,lr}
- ldr r4, =gUnknown_02022C98
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- bne _08024E20
- bl sub_80262C0
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08024E30
- .pool
-_08024E20:
- movs r0, 0x8C
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0x2
- bl sub_8026240
-_08024E30:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8024E00
-
- thumb_func_start sub_8024E38
-sub_8024E38: @ 8024E38
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- adds r4, r1, 0
- cmp r0, 0x5
- bhi _08024F08
- lsls r0, 2
- ldr r1, =_08024E5C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08024E5C:
- .4byte _08024E74
- .4byte _08024E90
- .4byte _08024EA0
- .4byte _08024EC4
- .4byte _08024ED8
- .4byte _08024EF8
-_08024E74:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x7
- movs r1, 0x8
- movs r2, 0x78
- movs r3, 0x50
- bl sub_802EB24
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08024EF0
- .pool
-_08024E90:
- bl sub_8010434
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08024EF0
- .pool
-_08024EA0:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08024F08
- ldr r2, =gUnknown_02022C98
- ldr r1, [r2]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1, 0x10]
- ldr r0, [r2]
- adds r0, 0x30
- strb r3, [r0]
- b _08024F08
- .pool
-_08024EC4:
- bl sub_802EB84
- cmp r0, 0
- bne _08024F08
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08024EF0
- .pool
-_08024ED8:
- ldr r1, [r4]
- adds r1, 0x30
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _08024F08
- bl sub_8010434
- ldr r1, [r4]
-_08024EF0:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08024F08
-_08024EF8:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08024F08
- movs r0, 0x3
- bl sub_8026240
-_08024F08:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8024E38
-
- thumb_func_start sub_8024F10
-sub_8024F10: @ 8024F10
- push {lr}
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- bne _08024F2E
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _08024F2E
- movs r0, 0x4
- bl sub_8026240
-_08024F2E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8024F10
-
- thumb_func_start sub_8024F38
-sub_8024F38: @ 8024F38
- push {r4,lr}
- ldr r4, =gUnknown_02022C98
- ldr r2, [r4]
- ldrb r0, [r2, 0x10]
- cmp r0, 0
- bne _08024FF6
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _08024FE8
- adds r0, r2, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0
- bne _08024FEE
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08024F88
- ldr r1, =0x000031cc
- adds r0, r2, r1
- ldrb r1, [r0]
- cmp r1, 0
- bne _08024FEE
- ldr r3, =0x000031d0
- adds r0, r2, r3
- strb r1, [r0]
- movs r0, 0x2
- b _08024FC2
- .pool
-_08024F88:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08024FA8
- ldr r3, =0x000031cc
- adds r0, r2, r3
- ldrb r1, [r0]
- cmp r1, 0
- bne _08024FEE
- adds r3, 0x4
- adds r0, r2, r3
- strb r1, [r0]
- movs r0, 0x1
- b _08024FC2
- .pool
-_08024FA8:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08024FD4
- ldr r3, =0x000031cc
- adds r0, r2, r3
- ldrb r1, [r0]
- cmp r1, 0
- bne _08024FEE
- adds r3, 0x4
- adds r0, r2, r3
- strb r1, [r0]
- movs r0, 0x3
-_08024FC2:
- bl sub_8027518
- ldr r1, [r4]
- ldr r2, =0x000031cc
- adds r1, r2
- strb r0, [r1]
- b _08024FEE
- .pool
-_08024FD4:
- movs r0, 0
- bl sub_8027518
- ldr r1, [r4]
- ldr r3, =0x000031cc
- adds r1, r3
- strb r0, [r1]
- b _08024FEE
- .pool
-_08024FE8:
- movs r0, 0xB
- bl sub_8026240
-_08024FEE:
- bl sub_802671C
- bl sub_8025F48
-_08024FF6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8024F38
-
- thumb_func_start sub_8024FFC
-sub_8024FFC: @ 8024FFC
- push {lr}
- ldr r0, =gUnknown_02022C98
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _080250C4
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0802504C
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r2, r0
- ldr r1, =0x000031cc
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080250CA
- ldr r3, =0x000032f8
- adds r1, r2, r3
- movs r0, 0x2
- strb r0, [r1]
- b _080250CA
- .pool
-_0802504C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08025080
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r2, r0
- ldr r1, =0x000031cc
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080250CA
- ldr r3, =0x000032f8
- adds r1, r2, r3
- movs r0, 0x1
- strb r0, [r1]
- b _080250CA
- .pool
-_08025080:
- movs r0, 0x20
- ands r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080250B8
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r2, r0
- ldr r1, =0x000031cc
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080250CA
- ldr r3, =0x000032f8
- adds r1, r2, r3
- movs r0, 0x3
- strb r0, [r1]
- b _080250CA
- .pool
-_080250B8:
- ldr r3, =0x000032f8
- adds r0, r2, r3
- strb r1, [r0]
- b _080250CA
- .pool
-_080250C4:
- movs r0, 0xB
- bl sub_8026240
-_080250CA:
- bl sub_8026044
- pop {r0}
- bx r0
- thumb_func_end sub_8024FFC
-
- thumb_func_start sub_80250D4
-sub_80250D4: @ 80250D4
- push {r4,r5,lr}
- bl sub_802671C
- bl sub_8025F48
- bl sub_8026C50
- cmp r0, 0x1
- bne _080250F2
- bl sub_80272A4
- movs r0, 0x5
- bl sub_8026240
- b _08025150
-_080250F2:
- ldr r0, =gUnknown_02022C98
- ldr r2, [r0]
- movs r1, 0x96
- lsls r1, 1
- adds r4, r2, r1
- movs r1, 0x1
- str r1, [r4]
- movs r3, 0x1
- adds r1, r2, 0
- adds r1, 0x24
- adds r5, r0, 0
- ldrb r1, [r1]
- cmp r3, r1
- bcs _08025150
- movs r1, 0x9A
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- cmp r0, 0x1
- beq _08025124
- movs r0, 0
- str r0, [r4]
- b _08025150
- .pool
-_08025124:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r3, r0
- bcs _08025150
- lsls r0, r3, 2
- movs r4, 0x98
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldr r0, [r1]
- cmp r0, 0x1
- beq _08025124
- movs r0, 0x96
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- str r0, [r1]
-_08025150:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80250D4
-
- thumb_func_start sub_8025158
-sub_8025158: @ 8025158
- push {lr}
- bl sub_8026044
- bl sub_8026C90
- cmp r0, 0x1
- bne _0802516C
- movs r0, 0x5
- bl sub_8026240
-_0802516C:
- pop {r0}
- bx r0
- thumb_func_end sub_8025158
-
- thumb_func_start sub_8025170
-sub_8025170: @ 8025170
- push {r4,lr}
- bl GetBlockReceivedStatus
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800A9D8
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _0802518C
- movs r0, 0
- b _08025192
-_0802518C:
- bl ResetBlockReceivedFlags
- movs r0, 0x1
-_08025192:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8025170
-
- thumb_func_start sub_8025198
-sub_8025198: @ 8025198
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022C98
- ldr r1, [r5]
- ldrb r4, [r1, 0x10]
- cmp r4, 0x1
- beq _080251D0
- cmp r4, 0x1
- bgt _080251B4
- cmp r4, 0
- beq _080251BA
- b _0802520C
- .pool
-_080251B4:
- cmp r4, 0x2
- beq _080251DC
- b _0802520C
-_080251BA:
- adds r1, 0x4A
- movs r0, 0
- movs r2, 0x3C
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _08025226
- ldr r0, [r5]
- strb r4, [r0, 0x8]
- b _08025202
-_080251D0:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08025226
- b _08025202
-_080251DC:
- bl sub_8025170
- cmp r0, 0
- beq _080251EE
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r1, [r1]
- strb r1, [r0, 0x8]
-_080251EE:
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08025226
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
-_08025202:
- ldr r1, [r5]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08025226
-_0802520C:
- movs r0, 0x1
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- beq _08025226
- movs r0, 0x6
- bl sub_8026240
- ldr r0, =0x0000020b
- movs r1, 0x4
- bl FadeOutAndPlayNewMapMusic
-_08025226:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025198
-
- thumb_func_start sub_8025230
-sub_8025230: @ 8025230
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022C98
- ldr r2, [r5]
- ldrb r4, [r2, 0x10]
- cmp r4, 0x1
- beq _08025274
- cmp r4, 0x1
- bgt _0802524C
- cmp r4, 0
- beq _08025252
- b _080252DC
- .pool
-_0802524C:
- cmp r4, 0x2
- beq _08025282
- b _080252DC
-_08025252:
- ldrb r0, [r2, 0x14]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, 0x4A
- adds r1, r2, r1
- movs r0, 0
- movs r2, 0x3C
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _08025316
- ldr r0, [r5]
- strb r4, [r0, 0x8]
- ldr r1, [r5]
- b _080252CC
-_08025274:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08025316
- ldr r1, [r5]
- b _080252CC
-_08025282:
- bl sub_8025170
- cmp r0, 0
- beq _080252B4
- movs r4, 0
- b _080252AA
-_0802528E:
- ldr r0, [r5]
- adds r0, 0x4A
- ldr r1, =gBlockRecvBuffer
- movs r2, 0x3C
- bl memcpy
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- strb r0, [r1, 0x8]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080252AA:
- ldr r0, [r5]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcc _0802528E
-_080252B4:
- ldr r3, =gUnknown_02022C98
- ldr r2, [r3]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08025316
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- ldr r1, [r3]
-_080252CC:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08025316
- .pool
-_080252DC:
- movs r0, 0x1
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- beq _08025316
- ldr r0, =gUnknown_02022C98
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x54
- adds r0, r1
- ldrh r1, [r0]
- movs r3, 0x8A
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- movs r0, 0x6
- bl sub_8026240
- ldr r0, =0x0000020b
- movs r1, 0x4
- bl FadeOutAndPlayNewMapMusic
-_08025316:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025230
-
- thumb_func_start sub_8025324
-sub_8025324: @ 8025324
- push {r4,r5,lr}
- sub sp, 0x4
- movs r1, 0x1
- mov r0, sp
- strb r1, [r0]
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x4
- bls _0802533A
- b _08025458
-_0802533A:
- lsls r0, 2
- ldr r1, =_0802534C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802534C:
- .4byte _08025360
- .4byte _08025384
- .4byte _0802539C
- .4byte _080253BC
- .4byte _080253DC
-_08025360:
- bl sub_802749C
- movs r0, 0x1
- bl sub_80289E8
- bl sub_8028DFC
- movs r0, 0x1
- bl sub_8028EC8
- movs r0, 0x2
- bl sub_80292E0
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08025448
- .pool
-_08025384:
- bl sub_802A770
- cmp r0, 0
- bne _08025466
- movs r0, 0x5
- bl sub_80292E0
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08025448
- .pool
-_0802539C:
- bl sub_802A794
- mov r1, sp
- strb r0, [r1]
- movs r0, 0
- movs r2, 0x1
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _08025466
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08025448
- .pool
-_080253BC:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08025466
- ldr r3, =gUnknown_02022C98
- ldr r1, [r3]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1, 0x10]
- ldr r0, [r3]
- strb r2, [r0, 0x8]
- b _08025466
- .pool
-_080253DC:
- bl sub_8025170
- cmp r0, 0
- beq _08025422
- movs r2, 0
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08025422
- adds r3, r1, 0
- movs r5, 0x86
- lsls r5, 1
- ldr r4, =gBlockRecvBuffer
-_080253FA:
- ldr r1, [r3]
- adds r1, r2, r1
- adds r1, r5
- lsls r0, r2, 8
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- strb r0, [r1, 0x8]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, [r3]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080253FA
-_08025422:
- ldr r4, =gUnknown_02022C98
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08025466
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- bls _08025466
- movs r0, 0x6
- bl sub_80292E0
- ldr r1, [r4]
-_08025448:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08025466
- .pool
-_08025458:
- bl sub_802A770
- cmp r0, 0
- bne _08025466
- movs r0, 0x7
- bl sub_8026240
-_08025466:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8025324
-
- thumb_func_start sub_8025470
-sub_8025470: @ 8025470
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x7
- bls _08025480
- b _08025606
-_08025480:
- lsls r0, 2
- ldr r1, =_08025494
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08025494:
- .4byte _080254B4
- .4byte _080254D4
- .4byte _080254F0
- .4byte _08025504
- .4byte _08025520
- .4byte _0802553C
- .4byte _08025564
- .4byte _08025578
-_080254B4:
- bl sub_8027748
- ldr r1, =0x00000bb7
- cmp r0, r1
- bls _080254C4
- movs r0, 0x4
- bl sub_80292E0
-_080254C4:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _080255E8
- .pool
-_080254D4:
- bl sub_802A770
- cmp r0, 0
- beq _080254DE
- b _0802563C
-_080254DE:
- movs r0, 0x3
- bl sub_80292E0
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _080255E8
- .pool
-_080254F0:
- bl sub_8028FCC
- bl sub_80272E8
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _080255E8
- .pool
-_08025504:
- bl sub_802A794
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- cmp r0, 0
- bne _08025516
- b _0802563C
-_08025516:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _080255E8
- .pool
-_08025520:
- bl sub_802A770
- cmp r0, 0
- beq _0802552A
- b _0802563C
-_0802552A:
- movs r0, 0x5
- bl sub_80292E0
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _080255E8
- .pool
-_0802553C:
- bl sub_802A794
- mov r1, sp
- strb r0, [r1]
- movs r0, 0
- movs r2, 0x1
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _0802563C
- ldr r2, =gUnknown_02022C98
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0x8]
- ldr r1, [r2]
- b _080255E8
- .pool
-_08025564:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0802563C
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _080255E8
- .pool
-_08025578:
- bl sub_8025170
- cmp r0, 0
- beq _080255BE
- movs r2, 0
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080255BE
- adds r3, r1, 0
- movs r5, 0x86
- lsls r5, 1
- ldr r4, =gBlockRecvBuffer
-_08025596:
- ldr r1, [r3]
- adds r1, r2, r1
- adds r1, r5
- lsls r0, r2, 8
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- strb r0, [r1, 0x8]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, [r3]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08025596
-_080255BE:
- ldr r4, =gUnknown_02022C98
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _080255F8
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- bls _0802563C
- bl sub_8027608
- movs r0, 0x6
- bl sub_80292E0
- ldr r1, [r4]
-_080255E8:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _0802563C
- .pool
-_080255F8:
- bl sub_8027554
- b _0802563C
-_080255FE:
- movs r0, 0x8
- bl sub_8026240
- b _0802563C
-_08025606:
- bl sub_802A770
- cmp r0, 0
- bne _0802563C
- movs r2, 0
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08025636
- movs r4, 0x86
- lsls r4, 1
- adds r3, r1, r4
- adds r1, r0, 0
-_08025624:
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080255FE
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- bcc _08025624
-_08025636:
- movs r0, 0xA
- bl sub_8026240
-_0802563C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8025470
-
- thumb_func_start sub_8025644
-sub_8025644: @ 8025644
- push {r4,lr}
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x1
- beq _08025672
- cmp r0, 0x1
- bgt _08025660
- cmp r0, 0
- beq _08025666
- b _08025692
- .pool
-_08025660:
- cmp r0, 0x2
- beq _0802567C
- b _08025692
-_08025666:
- bl sub_800AC34
- movs r0, 0x7
- bl sub_80292E0
- b _08025688
-_08025672:
- bl sub_802A770
- cmp r0, 0
- bne _080256A0
- b _08025688
-_0802567C:
- bl sub_802A794
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080256A0
-_08025688:
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _080256A0
-_08025692:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080256A0
- movs r0, 0x9
- bl sub_8026240
-_080256A0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025644
-
- thumb_func_start sub_80256AC
-sub_80256AC: @ 80256AC
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- ldrb r1, [r0, 0x10]
- cmp r1, 0x1
- beq _080256E0
- cmp r1, 0x1
- bgt _080256C8
- cmp r1, 0
- beq _080256CE
- b _08025728
- .pool
-_080256C8:
- cmp r1, 0x2
- beq _080256F8
- b _08025728
-_080256CE:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0802571A
-_080256E0:
- bl UpdatePaletteFade
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0802574C
- b _0802571A
- .pool
-_080256F8:
- bl sub_8028B80
- bl sub_80287E4
- ldr r0, [r4]
- adds r0, 0x24
- ldrb r0, [r0]
- bl sub_8028614
- bl sub_8028E84
- ldr r1, =gUnknown_03000DB0
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0x8
- bl sub_80292E0
-_0802571A:
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _0802574C
- .pool
-_08025728:
- bl sub_802A770
- cmp r0, 0
- bne _0802574C
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- ldr r0, [r0]
- bl SetMainCallback2
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- bl DestroyTask
- ldr r0, [r4]
- bl Free
- bl FreeAllWindowBuffers
-_0802574C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80256AC
-
- thumb_func_start sub_8025758
-sub_8025758: @ 8025758
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_02022C98
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- cmp r0, 0x6
- bls _08025768
- b _0802585C
-_08025768:
- lsls r0, 2
- ldr r1, =_0802577C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802577C:
- .4byte _08025798
- .4byte _08025838
- .4byte _080257B0
- .4byte _08025802
- .4byte _08025808
- .4byte _08025818
- .4byte _08025838
-_08025798:
- movs r0, 0x9
- bl sub_80292E0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _08025848
-_080257B0:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- b _08025848
-_08025802:
- bl StopMapMusic
- b _08025848
-_08025808:
- ldr r0, =0x0000021e
- bl PlayNewMapMusic
- bl sub_8028E4C
- b _08025848
- .pool
-_08025818:
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08025848
-_08025838:
- bl UpdatePaletteFade
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0802588C
-_08025848:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _0802588C
- .pool
-_0802585C:
- ldrb r0, [r1, 0x4]
- bl DestroyTask
- ldr r0, =sub_802589C
- bl sub_802621C
- bl sub_802903C
- ldr r0, [r4]
- bl sub_8024A30
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08025882
- ldr r0, [r4]
- adds r0, 0x24
- movs r1, 0x1
- strb r1, [r0]
-_08025882:
- bl sub_80273F0
- movs r0, 0
- bl sub_8028EC8
-_0802588C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025758
-
- thumb_func_start sub_802589C
-sub_802589C: @ 802589C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- adds r4, r1, 0
- cmp r0, 0x1
- beq _080258C8
- cmp r0, 0x1
- bgt _080258BC
- cmp r0, 0
- beq _080258C2
- b _080258E0
- .pool
-_080258BC:
- cmp r0, 0x2
- beq _080258CE
- b _080258E0
-_080258C2:
- bl sub_8026264
- b _080258D2
-_080258C8:
- bl sub_80286E4
- b _080258D6
-_080258CE:
- bl sub_8028828
-_080258D2:
- cmp r0, 0x1
- bne _08025904
-_080258D6:
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08025904
-_080258E0:
- ldr r0, [r4]
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _080258F8
- ldr r0, =sub_8024D4C
- bl sub_802621C
- b _080258FE
- .pool
-_080258F8:
- ldr r0, =sub_8024D84
- bl sub_802621C
-_080258FE:
- adds r0, r5, 0
- bl DestroyTask
-_08025904:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802589C
-
- thumb_func_start sub_8025910
-sub_8025910: @ 8025910
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r0, 0
- ldrsh r4, [r5, r0]
- cmp r4, 0x1
- beq _0802596C
- cmp r4, 0x1
- bgt _08025938
- cmp r4, 0
- beq _0802593E
- b _080259E8
- .pool
-_08025938:
- cmp r4, 0x2
- beq _0802597E
- b _080259E8
-_0802593E:
- ldr r6, =gUnknown_02022C98
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 2
- ldr r2, =0x0000318c
- adds r0, r2
- adds r1, r0
- movs r0, 0
- movs r2, 0x1
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _080259E8
- ldr r0, [r6]
- strb r4, [r0, 0x8]
- b _08025976
- .pool
-_0802596C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080259E8
-_08025976:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _080259E8
-_0802597E:
- bl sub_8025170
- cmp r0, 0
- beq _080259C4
- movs r2, 0
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080259C4
- adds r3, r1, 0
- ldr r5, =gBlockRecvBuffer
- ldr r4, =0x0000318c
-_0802599A:
- ldr r0, [r3]
- lsls r1, r2, 2
- adds r1, r0
- adds r1, r4
- lsls r0, r2, 8
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- strb r0, [r1, 0x8]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, [r3]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcc _0802599A
-_080259C4:
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r0, [r0, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _080259E8
- adds r0, r6, 0
- bl DestroyTask
- movs r0, 0x6
- bl sub_80292E0
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
-_080259E8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025910
-
- thumb_func_start sub_80259FC
-sub_80259FC: @ 80259FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- ldr r6, =gUnknown_02022C98
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r7, [r1]
- ldr r2, =0x000031a0
- adds r1, r0, r2
- ldr r3, =0x000031cc
- adds r2, r0, r3
- ldr r4, =0x00003208
- adds r3, r0, r4
- ldr r5, =0x00003244
- adds r4, r0, r5
- str r4, [sp]
- adds r5, 0x3C
- adds r4, r0, r5
- str r4, [sp, 0x4]
- adds r5, 0x3C
- adds r4, r0, r5
- str r4, [sp, 0x8]
- adds r4, r0, 0
- adds r4, 0x40
- str r4, [sp, 0xC]
- movs r5, 0x90
- lsls r5, 1
- adds r4, r0, r5
- str r4, [sp, 0x10]
- movs r4, 0x96
- lsls r4, 1
- adds r0, r4
- str r0, [sp, 0x14]
- movs r0, 0
- bl sub_8028164
- ldr r1, [r6]
- ldr r5, =0x000031b0
- adds r2, r1, r5
- str r0, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- movs r5, 0x1
- cmp r5, r7
- bcs _08025AA4
-_08025A60:
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xA8
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _08025A9A
- lsls r0, r5, 4
- subs r0, r5
- lsls r4, r0, 2
- adds r1, r4, r1
- ldr r2, =0x000031cc
- adds r1, r2
- adds r0, r5, 0
- bl sub_8028318
- adds r1, r0, 0
- cmp r1, 0
- bne _08025A9A
- ldr r0, [r6]
- adds r0, r4
- ldr r3, =0x000031cc
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r6]
- movs r4, 0x94
- lsls r4, 1
- adds r0, r4
- strb r1, [r0]
-_08025A9A:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08025A60
-_08025AA4:
- ldr r5, =gUnknown_02022C98
- ldr r1, [r5]
- movs r6, 0x92
- lsls r6, 1
- adds r1, r6
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _08025B02
- ldr r1, [r5]
- movs r2, 0x94
- lsls r2, 1
- adds r0, r1, r2
- ldrb r4, [r0]
- cmp r4, 0
- beq _08025AF0
- bl sub_8011AC8
- ldr r0, [r5]
- adds r0, r6
- movs r1, 0
- strb r1, [r0]
- b _08025B02
- .pool
-_08025AF0:
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0x46
- bls _08025B02
- bl sub_8011AC8
- ldr r0, [r5]
- adds r0, r6
- strb r4, [r0]
-_08025B02:
- movs r5, 0
- cmp r5, r7
- bcs _08025BF6
- ldr r3, =0x000031cc
- mov r12, r3
- ldr r4, =gUnknown_02022C98
- mov r8, r4
-_08025B10:
- mov r6, r8
- ldr r2, [r6]
- lsls r0, r5, 4
- subs r1, r0, r5
- lsls r1, 2
- adds r1, r2, r1
- add r1, r12
- ldrb r1, [r1]
- adds r6, r0, 0
- cmp r1, 0
- beq _08025B36
- adds r0, r2, 0
- adds r0, 0xA8
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0
- bne _08025B36
- movs r0, 0x1
- strb r0, [r1]
-_08025B36:
- adds r3, r4, 0
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0xA8
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x3
- bgt _08025B54
- cmp r0, 0x1
- bge _08025B5A
- b _08025BEC
- .pool
-_08025B54:
- cmp r0, 0x4
- beq _08025BA8
- b _08025BEC
-_08025B5A:
- adds r1, 0xB0
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _08025BEC
- ldr r0, [r3]
- adds r0, 0xB0
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, 0xA8
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r3]
- subs r1, r6, r5
- lsls r1, 2
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r1
- ldr r6, =0x000031d0
- adds r0, r6
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r1
- ldr r1, =0x000031d4
- adds r0, r1
- b _08025BEA
- .pool
-_08025BA8:
- adds r1, 0xB0
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x27
- bls _08025BEC
- ldr r0, [r4]
- adds r0, 0xB0
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0xA8
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r4]
- subs r1, r6, r5
- lsls r1, 2
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, r1
- ldr r3, =0x000031d0
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, r1
- ldr r6, =0x000031d4
- adds r0, r6
-_08025BEA:
- strb r2, [r0]
-_08025BEC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08025B10
-_08025BF6:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80259FC
-
- thumb_func_start sub_8025C0C
-sub_8025C0C: @ 8025C0C
- push {r4-r7,lr}
- sub sp, 0x18
- ldr r5, =gUnknown_02022C98
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r6, [r1]
- ldr r2, =0x000031a0
- adds r1, r0, r2
- ldr r3, =0x000031cc
- adds r2, r0, r3
- ldr r4, =0x00003208
- adds r3, r0, r4
- ldr r7, =0x00003244
- adds r4, r0, r7
- str r4, [sp]
- adds r7, 0x3C
- adds r4, r0, r7
- str r4, [sp, 0x4]
- adds r7, 0x3C
- adds r4, r0, r7
- str r4, [sp, 0x8]
- adds r4, r0, 0
- adds r4, 0x40
- str r4, [sp, 0xC]
- movs r7, 0x90
- lsls r7, 1
- adds r4, r0, r7
- str r4, [sp, 0x10]
- movs r4, 0x96
- lsls r4, 1
- adds r0, r4
- str r0, [sp, 0x14]
- movs r0, 0
- bl sub_8028164
- ldr r1, [r5]
- ldr r7, =0x000031b0
- adds r2, r1, r7
- str r0, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- movs r4, 0x1
- cmp r4, r6
- bcs _08025C9C
-_08025C6C:
- adds r0, r4, 0
- bl sub_8028374
- cmp r0, 0
- beq _08025C92
- ldr r0, =gUnknown_02022C98
- ldr r2, [r0]
- lsls r1, r4, 2
- movs r3, 0x98
- lsls r3, 1
- adds r0, r2, r3
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- movs r7, 0x94
- lsls r7, 1
- adds r1, r2, r7
- movs r0, 0
- strb r0, [r1]
-_08025C92:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _08025C6C
-_08025C9C:
- ldr r5, =gUnknown_02022C98
- ldr r1, [r5]
- movs r6, 0x92
- lsls r6, 1
- adds r1, r6
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _08025CFA
- ldr r1, [r5]
- movs r2, 0x94
- lsls r2, 1
- adds r0, r1, r2
- ldrb r4, [r0]
- cmp r4, 0
- beq _08025CE8
- bl sub_8011AC8
- ldr r0, [r5]
- adds r0, r6
- movs r1, 0
- strb r1, [r0]
- b _08025CFA
- .pool
-_08025CE8:
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0x46
- bls _08025CFA
- bl sub_8011AC8
- ldr r0, [r5]
- adds r0, r6
- strb r4, [r0]
-_08025CFA:
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8025C0C
-
- thumb_func_start sub_8025D04
-sub_8025D04: @ 8025D04
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022C98
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- cmp r0, 0x4
- beq _08025D40
- cmp r0, 0x4
- bgt _08025D20
- cmp r0, 0x3
- beq _08025D26
- b _08025D4A
- .pool
-_08025D20:
- cmp r0, 0xB
- beq _08025D46
- b _08025D4A
-_08025D26:
- bl sub_8026BB8
- adds r4, r0, 0
- cmp r4, 0x1
- bne _08025D4A
- bl sub_8026C28
- ldr r0, [r5]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r1
- str r4, [r0]
- b _08025D4A
-_08025D40:
- bl sub_80259FC
- b _08025D4A
-_08025D46:
- bl sub_8025C0C
-_08025D4A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8025D04
-
- thumb_func_start sub_8025D50
-sub_8025D50: @ 8025D50
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r0, =gUnknown_02022C98
- ldr r5, [r0]
- ldrb r0, [r5, 0x18]
- cmp r0, 0x4
- beq _08025D68
- cmp r0, 0xB
- beq _08025DB8
- b _08025DF4
- .pool
-_08025D68:
- ldr r1, =0x000032cc
- adds r0, r5, r1
- ldr r2, =0x000031cc
- adds r1, r5, r2
- ldr r3, =0x00003208
- adds r2, r5, r3
- ldr r4, =0x00003244
- adds r3, r5, r4
- movs r6, 0xCA
- lsls r6, 6
- adds r4, r5, r6
- str r4, [sp]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x4]
- adds r4, r5, 0
- adds r4, 0x40
- ldrb r4, [r4]
- str r4, [sp, 0x8]
- movs r6, 0x90
- lsls r6, 1
- adds r4, r5, r6
- ldr r4, [r4]
- str r4, [sp, 0xC]
- adds r6, 0xC
- adds r4, r5, r6
- ldr r4, [r4]
- str r4, [sp, 0x10]
- bl sub_8027E30
- b _08025DF4
- .pool
-_08025DB8:
- ldr r1, =0x000032cc
- adds r0, r5, r1
- ldr r2, =0x000031cc
- adds r1, r5, r2
- ldr r3, =0x00003208
- adds r2, r5, r3
- ldr r4, =0x00003244
- adds r3, r5, r4
- movs r6, 0xCA
- lsls r6, 6
- adds r4, r5, r6
- str r4, [sp]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x4]
- adds r4, r5, 0
- adds r4, 0x40
- ldrb r4, [r4]
- str r4, [sp, 0x8]
- movs r6, 0x90
- lsls r6, 1
- adds r4, r5, r6
- ldr r4, [r4]
- str r4, [sp, 0xC]
- adds r6, 0xC
- adds r4, r5, r6
- ldr r4, [r4]
- str r4, [sp, 0x10]
- bl sub_8027E30
-_08025DF4:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025D50
-
- thumb_func_start sub_8025E0C
-sub_8025E0C: @ 8025E0C
- push {r4-r6,lr}
- sub sp, 0x18
- ldr r0, =gUnknown_02022C98
- ldr r5, [r0]
- ldrb r0, [r5, 0x18]
- cmp r0, 0x4
- beq _08025E24
- cmp r0, 0xB
- beq _08025E7C
- b _08025EC0
- .pool
-_08025E24:
- adds r0, r5, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 2
- ldr r2, =0x000031a0
- adds r1, r2
- adds r1, r5, r1
- ldr r3, =0x000031cc
- adds r2, r5, r3
- ldr r4, =0x00003208
- adds r3, r5, r4
- ldr r6, =0x00003244
- adds r4, r5, r6
- str r4, [sp]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x4]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x8]
- adds r4, r5, 0
- adds r4, 0x40
- str r4, [sp, 0xC]
- movs r6, 0x90
- lsls r6, 1
- adds r4, r5, r6
- str r4, [sp, 0x10]
- adds r6, 0xC
- adds r4, r5, r6
- str r4, [sp, 0x14]
- bl sub_8028164
- b _08025EC0
- .pool
-_08025E7C:
- adds r0, r5, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 2
- ldr r2, =0x000031a0
- adds r1, r2
- adds r1, r5, r1
- ldr r3, =0x000031cc
- adds r2, r5, r3
- ldr r4, =0x00003208
- adds r3, r5, r4
- ldr r6, =0x00003244
- adds r4, r5, r6
- str r4, [sp]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x4]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x8]
- adds r4, r5, 0
- adds r4, 0x40
- str r4, [sp, 0xC]
- movs r6, 0x90
- lsls r6, 1
- adds r4, r5, r6
- str r4, [sp, 0x10]
- adds r6, 0xC
- adds r4, r5, r6
- str r4, [sp, 0x14]
- bl sub_8028164
-_08025EC0:
- add sp, 0x18
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025E0C
-
- thumb_func_start sub_8025ED8
-sub_8025ED8: @ 8025ED8
- push {r4,lr}
- ldr r4, =gUnknown_02022C98
- ldr r1, [r4]
- ldrb r0, [r1, 0x18]
- cmp r0, 0x4
- beq _08025F0E
- cmp r0, 0x4
- bgt _08025EF4
- cmp r0, 0x3
- beq _08025EFA
- b _08025F40
- .pool
-_08025EF4:
- cmp r0, 0xB
- beq _08025F24
- b _08025F40
-_08025EFA:
- movs r0, 0x1
- bl sub_8027DD0
- ldr r0, [r4]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- b _08025F40
-_08025F0E:
- ldr r2, =0x000032f8
- adds r1, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _08025F40
- bl sub_80282EC
- b _08025F40
- .pool
-_08025F24:
- movs r2, 0x90
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _08025F40
- adds r2, 0xC
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _08025F40
- movs r0, 0x1
- bl sub_8028350
-_08025F40:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8025ED8
-
- thumb_func_start sub_8025F48
-sub_8025F48: @ 8025F48
- push {r4-r6,lr}
- ldr r6, =gUnknown_02022C98
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r1, r2, r0
- ldr r3, =0x000031cc
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08025F88
- bl IsSEPlaying
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08025FEA
- ldr r0, [r6]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r2
- strb r1, [r0]
- b _08025FEA
- .pool
-_08025F88:
- ldr r3, =0x000031d0
- adds r0, r1, r3
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _08025FB8
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08025FEA
- movs r0, 0x1F
- bl m4aSongNumStop
- movs r0, 0x1F
- bl PlaySE
- ldr r0, [r6]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r2
- b _08025FE8
- .pool
-_08025FB8:
- ldr r3, =0x000031d4
- adds r0, r1, r3
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _08025FEA
- movs r5, 0xA2
- lsls r5, 1
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _08025FEA
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _08025FEA
- movs r0, 0x16
- bl PlaySE
- movs r0, 0x1
- bl sub_80284CC
- ldr r0, [r6]
- adds r0, r5
-_08025FE8:
- strb r4, [r0]
-_08025FEA:
- ldr r0, =gUnknown_02022C98
- ldr r2, [r0]
- movs r5, 0xAA
- lsls r5, 1
- adds r1, r2, r5
- ldrb r1, [r1]
- adds r4, r0, 0
- cmp r1, 0
- bne _0802601C
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _0802601C
- bl StopMapMusic
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x1
- b _0802603A
- .pool
-_0802601C:
- ldr r0, [r4]
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0802603C
- movs r0, 0xB
- bl PlayFanfareByFanfareNum
- ldr r0, [r4]
- movs r2, 0xAA
- lsls r2, 1
- adds r0, r2
- movs r1, 0x2
-_0802603A:
- strb r1, [r0]
-_0802603C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8025F48
-
- thumb_func_start sub_8026044
-sub_8026044: @ 8026044
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, =gUnknown_02022C98
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x44
- ldrb r0, [r0]
- mov r8, r0
- adds r0, r2, 0
- adds r0, 0x48
- ldrb r7, [r0]
- subs r0, 0x20
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r1, r2, r0
- ldr r3, =0x000031cc
- adds r0, r1, r3
- ldrb r3, [r0]
- cmp r3, 0
- bne _0802609C
- ldr r4, =0x000031d0
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080260FE
- adds r4, 0x4
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080260FE
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r2, r1
- strb r3, [r0]
- b _080260FE
- .pool
-_0802609C:
- ldr r3, =0x000031d0
- adds r0, r1, r3
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _080260CC
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080260FE
- movs r0, 0x1F
- bl m4aSongNumStop
- movs r0, 0x1F
- bl PlaySE
- ldr r0, [r6]
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r3
- b _080260FC
- .pool
-_080260CC:
- ldr r4, =0x000031d4
- adds r0, r1, r4
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _080260FE
- movs r5, 0xA2
- lsls r5, 1
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080260FE
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _080260FE
- movs r0, 0x16
- bl PlaySE
- movs r0, 0x1
- bl sub_80284CC
- ldr r0, [r6]
- adds r0, r5
-_080260FC:
- strb r4, [r0]
-_080260FE:
- mov r4, r8
- cmp r4, r7
- bcs _08026172
- ldr r5, =gUnknown_02022C98
-_08026106:
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- ldr r1, =0x000031a0
- adds r0, r1
- adds r0, r2, r0
- adds r1, r0, 0
- adds r1, 0x14
- adds r0, 0x1F
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _0802615C
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r2, r3
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08026168
- adds r0, r1, r4
- ldrb r0, [r0]
- adds r0, 0x4A
- bl PlaySE
- ldr r0, [r5]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- adds r0, r4
- movs r1, 0x1
- b _08026166
- .pool
-_0802615C:
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r2, r3
- adds r0, r4
- movs r1, 0
-_08026166:
- strb r1, [r0]
-_08026168:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r7
- bcc _08026106
-_08026172:
- ldr r0, =gUnknown_02022C98
- ldr r2, [r0]
- movs r5, 0xAA
- lsls r5, 1
- adds r1, r2, r5
- ldrb r1, [r1]
- adds r4, r0, 0
- cmp r1, 0
- bne _080261A0
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _080261A0
- bl StopMapMusic
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x1
- b _080261BE
- .pool
-_080261A0:
- ldr r0, [r4]
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080261C0
- movs r0, 0xB
- bl PlayFanfareByFanfareNum
- ldr r0, [r4]
- movs r3, 0xAA
- lsls r3, 1
- adds r0, r3
- movs r1, 0x2
-_080261BE:
- strb r1, [r0]
-_080261C0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8026044
-
- thumb_func_start sub_80261CC
-sub_80261CC: @ 80261CC
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80261CC
-
- thumb_func_start sub_80261E4
-sub_80261E4: @ 80261E4
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_80261E4
-
- thumb_func_start sub_80261F8
-sub_80261F8: @ 80261F8
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- bl IsMonShiny
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80261F8
-
- thumb_func_start sub_802620C
-sub_802620C: @ 802620C
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- bl CreateTask
- pop {r0}
- bx r0
- thumb_func_end sub_802620C
-
- thumb_func_start sub_802621C
-sub_802621C: @ 802621C
- push {lr}
- movs r1, 0x1
- bl CreateTask
- ldr r1, =gUnknown_02022C98
- ldr r3, [r1]
- movs r2, 0
- strb r0, [r3, 0x4]
- ldr r0, [r1]
- strb r2, [r0, 0x10]
- ldr r0, [r1]
- strb r2, [r0, 0xC]
- ldr r0, [r1]
- strb r2, [r0, 0x14]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802621C
-
- thumb_func_start sub_8026240
-sub_8026240: @ 8026240
- push {r4,lr}
- ldr r2, =gUnknown_02022C98
- ldr r1, [r2]
- ldrb r3, [r1, 0x18]
- movs r4, 0
- strb r3, [r1, 0x1C]
- ldr r1, [r2]
- strb r0, [r1, 0x18]
- ldr r0, [r2]
- strb r4, [r0, 0x10]
- ldr r0, [r2]
- strb r4, [r0, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026240
-
- thumb_func_start sub_8026264
-sub_8026264: @ 8026264
- push {r4,lr}
- ldr r3, =gUnknown_02022C98
- ldr r1, [r3]
- ldrb r0, [r1, 0x14]
- lsrs r2, r0, 2
- adds r0, 0x1
- strb r0, [r1, 0x14]
- cmp r2, 0
- beq _080262B8
- ldr r3, [r3]
- ldrb r0, [r3, 0x14]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080262B8
- ldr r1, =gUnknown_082F7A94
- adds r0, r3, 0
- adds r0, 0x24
- ldrb r0, [r0]
- subs r0, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080262A0
- movs r0, 0x1
- b _080262BA
- .pool
-_080262A0:
- lsls r4, r2, 3
- adds r1, r4, 0
- movs r0, 0x14
- bl SetGpuReg
- negs r4, r4
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x18
- adds r1, r4, 0
- bl SetGpuReg
-_080262B8:
- movs r0, 0
-_080262BA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8026264
-
- thumb_func_start sub_80262C0
-sub_80262C0: @ 80262C0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r2, =gUnknown_02022C98
- ldr r0, [r2]
- adds r1, r0, 0
- adds r1, 0x44
- adds r0, 0x48
- ldrb r5, [r0]
- ldrb r1, [r1]
- cmp r1, r5
- bcs _0802630C
- mov r8, r2
- ldr r0, =0x000032e0
- mov r12, r0
- movs r7, 0
- movs r6, 0x1
-_080262E2:
- mov r2, r8
- ldr r0, [r2]
- mov r2, r12
- adds r4, r0, r2
- ldr r2, =0x000032eb
- adds r0, r2
- adds r2, r0, r1
- movs r3, 0
- adds r0, r1, 0
- ands r0, r6
- cmp r0, 0
- bne _080262FC
- movs r3, 0x1
-_080262FC:
- strb r3, [r2]
- adds r0, r4, r1
- strb r7, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r5
- bcc _080262E2
-_0802630C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80262C0
-
- thumb_func_start sub_8026324
-sub_8026324: @ 8026324
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x44
- ldrb r0, [r0]
- str r0, [sp]
- adds r0, r1, 0
- adds r0, 0x48
- ldrb r0, [r0]
- str r0, [sp, 0x4]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- str r0, [sp, 0x8]
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08026358
- b _08026614
-_08026358:
- movs r6, 0
- ldr r0, [sp, 0x8]
- cmp r6, r0
- bcs _08026440
-_08026360:
- ldr r3, =gUnknown_02022C98
- lsls r0, r6, 4
- subs r1, r0, r6
- lsls r1, 2
- ldr r2, [r3]
- adds r1, r2
- ldr r4, =0x000031cc
- adds r4, r1
- mov r8, r4
- ldrb r1, [r4]
- mov r9, r0
- adds r0, r6, 0x1
- str r0, [sp, 0xC]
- cmp r1, 0
- beq _08026434
- adds r0, r2, 0
- adds r0, 0xA8
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08026434
- ldr r1, [sp]
- mov r10, r1
- ldr r2, [sp, 0x4]
- cmp r10, r2
- bcs _08026434
- adds r7, r3, 0
-_08026396:
- ldr r0, =gUnknown_082F449C
- add r0, r10
- ldrb r5, [r0]
- ldr r1, [r7]
- lsls r4, r5, 1
- adds r0, r1, 0
- adds r0, 0xF4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, r6
- beq _08026434
- adds r0, r1, 0
- adds r0, 0xF5
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, r6
- beq _08026434
- mov r0, r8
- ldrb r1, [r0]
- adds r0, r6, 0
- adds r2, r5, 0
- bl sub_8026634
- cmp r0, 0x1
- bne _08026410
- movs r2, 0
- ldr r3, =gUnknown_02022C98
- mov r8, r4
-_080263CE:
- ldr r0, [r3]
- mov r4, r8
- adds r1, r2, r4
- adds r0, 0xF4
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _08026404
- strb r6, [r1]
- ldr r0, [r3]
- adds r0, 0xA8
- adds r0, r6
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0xC4
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- b _08026434
- .pool
-_08026404:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bls _080263CE
- b _08026434
-_08026410:
- ldr r0, [r7]
- mov r2, r9
- subs r1, r2, r6
- lsls r1, 2
- adds r0, r1
- ldr r4, =0x000031d4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08026434
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, [sp, 0x4]
- cmp r10, r0
- bcc _08026396
-_08026434:
- ldr r1, [sp, 0xC]
- lsls r0, r1, 24
- lsrs r6, r0, 24
- ldr r2, [sp, 0x8]
- cmp r6, r2
- bcc _08026360
-_08026440:
- ldr r4, [sp]
- mov r10, r4
- ldr r0, [sp, 0x4]
- cmp r10, r0
- bcc _0802644C
- b _08026614
-_0802644C:
- ldr r1, =gUnknown_02022C98
- mov r9, r1
-_08026450:
- movs r6, 0xFF
- ldr r0, =gUnknown_082F449C
- add r0, r10
- ldrb r5, [r0]
- mov r2, r9
- ldr r0, [r2]
- adds r0, 0xC4
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08026468
- b _08026602
-_08026468:
- adds r0, r5, 0
- bl sub_8026D8C
- mov r1, r9
- ldr r4, [r1]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r1, 0x90
- adds r1, r0
- ldrb r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _0802648E
- movs r3, 0x2
-_0802648E:
- ldr r2, =gUnknown_082F7A88
- ldr r0, =0x000031b4
- adds r1, r4, r0
- adds r1, r5
- lsls r0, r3, 1
- adds r0, r3
- ldrb r1, [r1]
- adds r0, r1
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r4, 0
- adds r0, 0xD0
- adds r0, r5
- ldrb r0, [r0]
- subs r2, r1, r0
- cmp r2, 0x5
- bgt _080264BC
- adds r1, r4, 0
- adds r1, 0x9C
- adds r1, r5
- ldrb r0, [r1]
- adds r0, r2
- strb r0, [r1]
-_080264BC:
- mov r2, r9
- ldr r1, [r2]
- adds r1, 0x9C
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- movs r4, 0xFF
- ands r0, r4
- cmp r0, 0x5
- bhi _080264D6
- b _08026602
-_080264D6:
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0x9C
- adds r0, r5
- strb r2, [r0]
- ldr r3, [r1]
- lsls r1, r5, 1
- adds r0, r3, 0
- adds r0, 0xF4
- adds r2, r0, r1
- ldrb r0, [r2]
- mov r8, r1
- cmp r0, 0xFF
- bne _08026518
- adds r0, r3, 0
- adds r0, 0xF5
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08026500
- b _08026602
-_08026500:
- b _08026528
- .pool
-_08026518:
- adds r0, r3, 0
- adds r0, 0xF5
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08026528
- ldrb r4, [r2]
- b _0802654E
-_08026528:
- mov r2, r9
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0xF4
- add r0, r8
- ldrb r7, [r0]
- adds r1, 0xF5
- add r1, r8
- ldrb r6, [r1]
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- bne _0802654A
- adds r4, r7, 0
- b _0802654E
-_0802654A:
- adds r4, r6, 0
- adds r6, r7, 0
-_0802654E:
- mov r1, r9
- ldr r0, [r1]
- ldr r2, =0x000032eb
- adds r0, r2
- adds r0, r5
- movs r1, 0x7
- strb r1, [r0]
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0xC4
- adds r0, r5
- movs r1, 0x2
- strb r1, [r0]
- mov r2, r9
- ldr r0, [r2]
- adds r0, 0xA8
- adds r0, r4
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xB8
- adds r0, r5
- strb r4, [r0]
- ldr r1, [r2]
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 2
- adds r1, r0
- ldr r2, =0x000031d0
- adds r1, r2
- movs r0, 0x1
- strb r0, [r1]
- mov r2, r9
- ldr r1, [r2]
- lsls r0, r6, 4
- subs r0, r6
- lsls r0, 2
- adds r1, r0
- ldr r0, =0x000031d4
- adds r1, r0
- movs r2, 0x1
- strb r2, [r1]
- mov r0, r9
- ldr r1, [r0]
- lsls r0, r4, 1
- adds r1, 0x86
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8026F1C
- movs r0, 0x1
- bl sub_8027234
- adds r0, r4, 0
- bl sub_8026D1C
- mov r1, r9
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0xE8
- adds r1, r5
- ldr r2, =0x000032e0
- adds r0, r2
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- mov r4, r9
- ldr r0, [r4]
- adds r0, r2
- adds r0, r5
- movs r1, 0x3
- strb r1, [r0]
- ldr r1, [r4]
- adds r1, 0xF4
- add r1, r8
- ldrb r0, [r1]
- movs r2, 0xFF
- orrs r0, r2
- strb r0, [r1]
- ldr r1, [r4]
- adds r1, 0xF5
- add r1, r8
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
-_08026602:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r4, [sp, 0x4]
- cmp r10, r4
- bcs _08026614
- b _08026450
-_08026614:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026324
-
- thumb_func_start sub_8026634
-sub_8026634: @ 8026634
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r7, 0
- ldr r2, =gUnknown_02022C98
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =0x000032e0
- adds r1, r0
- mov r12, r2
- cmp r3, 0x2
- beq _08026670
- cmp r3, 0x2
- bgt _08026676
- cmp r3, 0x1
- beq _08026674
- b _08026676
- .pool
-_08026670:
- movs r7, 0x1
- b _08026676
-_08026674:
- movs r7, 0x2
-_08026676:
- adds r0, r1, 0
- adds r0, 0xB
- adds r0, r6
- ldrb r0, [r0]
- subs r0, 0x6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080266D4
- ldr r0, =gUnknown_082F449C+0x113
- lsls r1, r4, 1
- adds r1, r4
- adds r1, r7, r1
- lsls r2, r5, 4
- subs r2, r5
- adds r1, r2
- adds r1, r0
- ldrb r1, [r1]
- cmp r6, r1
- bne _0802670A
- mov r0, r12
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xC4
- adds r0, r6
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080266D0
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 2
- adds r0, r1, r0
- ldr r1, =0x000031d4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _0802670A
- .pool
-_080266D0:
- movs r0, 0x1
- b _0802670C
-_080266D4:
- ldr r0, =gUnknown_082F449C+0x113
- lsls r1, r4, 1
- adds r1, r4
- adds r1, r7, r1
- lsls r2, r5, 4
- subs r2, r5
- adds r1, r2
- adds r1, r0
- ldrb r1, [r1]
- cmp r6, r1
- bne _0802670A
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xA8
- adds r0, r4
- movs r1, 0x4
- strb r1, [r0]
- mov r0, r12
- ldr r1, [r0]
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 2
- adds r1, r0
- ldr r0, =0x000031d4
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
-_0802670A:
- movs r0, 0
-_0802670C:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8026634
-
- thumb_func_start sub_802671C
-sub_802671C: @ 802671C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, =gUnknown_02022C98
- ldr r4, [r2]
- adds r0, r4, 0
- adds r0, 0x44
- ldrb r1, [r0]
- adds r0, 0x4
- ldrb r0, [r0]
- mov r9, r0
- movs r3, 0
- mov r10, r3
- movs r5, 0x90
- lsls r5, 1
- adds r0, r4, r5
- str r3, [r0]
- adds r5, r1, 0
- mov r0, r9
- subs r0, 0x1
- cmp r5, r0
- blt _0802674E
- b _08026974
-_0802674E:
- mov r8, r2
-_08026750:
- mov r0, r8
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0xC4
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _08026762
- b _0802686C
-_08026762:
- movs r1, 0x90
- lsls r1, 1
- adds r0, r4, r1
- movs r2, 0x1
- str r2, [r0]
- ldr r1, =0x000032eb
- adds r0, r4, r1
- adds r6, r0, r5
- ldrb r0, [r6]
- cmp r0, 0x9
- bls _080267FC
- movs r7, 0
- movs r0, 0xA
- strb r0, [r6]
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xC4
- adds r0, r5
- movs r1, 0x3
- strb r1, [r0]
- mov r1, r8
- ldr r0, [r1]
- movs r6, 0xA4
- lsls r6, 1
- adds r0, r6
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0
- bne _080267AC
- strb r2, [r1]
- ldr r2, =0x000032e0
- adds r0, r4, r2
- adds r0, r5
- ldrb r0, [r0]
- adds r0, 0x4A
- bl PlaySE
-_080267AC:
- mov r0, r8
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _080267C2
- mov r2, r10
- cmp r2, 0x1
- beq _080267C2
- b _08026964
-_080267C2:
- movs r0, 0x1
- mov r10, r0
- adds r0, r1, r6
- adds r0, r5
- strb r7, [r0]
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0x40
- ldrb r0, [r1]
- cmp r0, 0x9
- bhi _080267DE
- adds r0, 0x1
- strb r0, [r1]
-_080267DE:
- movs r0, 0x3
- adds r1, r5, 0
- movs r2, 0
- bl sub_8026F1C
- movs r0, 0
- bl sub_8027234
- b _08026964
- .pool
-_080267FC:
- adds r0, r5, 0
- bl sub_8026D8C
- mov r2, r8
- ldr r7, [r2]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r7, 0
- adds r1, 0x90
- adds r1, r0
- ldrb r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _08026822
- movs r3, 0x2
-_08026822:
- ldr r2, =gUnknown_082F7A88
- ldr r0, =0x000032e0
- adds r1, r4, r0
- adds r1, r5
- lsls r0, r3, 1
- adds r0, r3
- ldrb r1, [r1]
- adds r0, r1
- adds r0, r2
- ldrb r2, [r0]
- adds r1, r7, 0
- adds r1, 0xD0
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r2
- bcc _0802685C
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xD0
- adds r0, r5
- strb r3, [r0]
-_0802685C:
- bl sub_8026324
- b _08026964
- .pool
-_0802686C:
- cmp r0, 0x2
- bne _080268F4
- movs r2, 0x90
- lsls r2, 1
- adds r0, r4, r2
- movs r6, 0x1
- str r6, [r0]
- adds r1, r4, 0
- adds r1, 0xDC
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bls _08026964
- mov r0, r8
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xB8
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, r0
- ldr r1, =0x000031d0
- adds r2, r1
- strb r3, [r2]
- mov r2, r8
- ldr r0, [r2]
- adds r0, 0xDC
- adds r0, r5
- strb r3, [r0]
- ldr r0, [r2]
- adds r0, 0xD0
- adds r0, r5
- strb r3, [r0]
- ldr r0, [r2]
- adds r0, 0xC4
- adds r0, r5
- strb r3, [r0]
- ldr r1, =0x000032eb
- adds r0, r4, r1
- adds r0, r5
- strb r6, [r0]
- adds r0, r5, 0
- bl sub_8026D8C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- bl sub_8026DB0
- ldr r2, =0x000032e0
- adds r1, r4, r2
- adds r1, r5
- strb r0, [r1]
- b _08026964
- .pool
-_080268F4:
- cmp r0, 0x3
- bne _08026964
- adds r1, r4, 0
- adds r1, 0xDC
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bls _08026964
- mov r0, r8
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _08026964
- adds r0, r1, 0
- adds r0, 0xDC
- adds r0, r5
- strb r2, [r0]
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xD0
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r1]
- adds r0, 0xC4
- adds r0, r5
- strb r2, [r0]
- ldr r2, =0x000032eb
- adds r0, r4, r2
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- mov r0, r8
- ldr r1, [r0]
- adds r1, 0xE8
- adds r1, r5
- subs r2, 0xB
- adds r4, r2
- adds r4, r5
- ldrb r0, [r4]
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8026D8C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- bl sub_8026DB0
- strb r0, [r4]
-_08026964:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r9
- subs r0, 0x1
- cmp r5, r0
- bge _08026974
- b _08026750
-_08026974:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802671C
-
- thumb_func_start sub_8026988
-sub_8026988: @ 8026988
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x44
- adds r0, 0x48
- ldrb r0, [r0]
- mov r8, r0
- ldrb r6, [r1]
- cmp r6, r8
- bcs _08026A7A
- ldr r0, =gUnknown_082F449C
- mov r9, r0
-_080269A8:
- ldr r0, =gUnknown_02022C98
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- ldr r2, =0x000031a0
- adds r0, r2
- adds r7, r3, r0
- movs r0, 0xB
- adds r2, r1, 0
- muls r2, r0
- adds r2, r6, r2
- adds r3, 0x24
- ldrb r1, [r3]
- subs r1, 0x1
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 3
- subs r0, r1
- adds r2, r0
- add r2, r9
- ldrb r4, [r2]
- adds r0, r7, 0
- adds r0, 0x1F
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080269FC
- adds r0, r6, 0
- movs r1, 0
- bl sub_8028BF8
- b _08026A04
- .pool
-_080269FC:
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8028BF8
-_08026A04:
- adds r0, r7, 0
- adds r0, 0x1F
- adds r5, r0, r4
- ldrb r0, [r5]
- cmp r0, 0x9
- bls _08026A30
- adds r0, r7, 0
- adds r0, 0x14
- adds r0, r4
- ldrb r1, [r0]
- adds r1, 0x3
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8028CA4
- ldrb r1, [r5]
- lsls r1, 25
- movs r0, 0xFF
- lsls r0, 24
- adds r1, r0
- b _08026A52
-_08026A30:
- adds r0, r7, 0
- adds r0, 0x14
- adds r3, r0, r4
- ldrb r0, [r3]
- cmp r0, 0x3
- bne _08026A5C
- movs r0, 0x7
- strb r0, [r5]
- adds r0, r6, 0
- movs r1, 0x6
- bl sub_8028CA4
- ldrb r1, [r5]
- lsls r1, 25
- movs r2, 0xFF
- lsls r2, 24
- adds r1, r2
-_08026A52:
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8028C7C
- b _08026A70
-_08026A5C:
- ldrb r1, [r3]
- adds r0, r6, 0
- bl sub_8028CA4
- ldrb r1, [r5]
- lsls r1, 25
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8028C7C
-_08026A70:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r8
- bcc _080269A8
-_08026A7A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8026988
-
- thumb_func_start sub_8026A88
-sub_8026A88: @ 8026A88
- push {r4-r6,lr}
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- adds r0, 0x24
- ldrb r5, [r0]
- movs r4, 0
- cmp r4, r5
- bcs _08026ABA
- adds r6, r1, 0
-_08026A9A:
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 2
- ldr r1, [r6]
- adds r0, r1
- ldr r1, =0x000031cc
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80286B4
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08026A9A
-_08026ABA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026A88
-
- thumb_func_start sub_8026AC8
-sub_8026AC8: @ 8026AC8
- push {r4,r5,lr}
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r5, [r0]
- movs r4, 0
- cmp r4, r5
- bcs _08026AEA
-_08026AD8:
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_80286B4
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08026AD8
-_08026AEA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026AC8
-
- thumb_func_start sub_8026AF4
-sub_8026AF4: @ 8026AF4
- push {lr}
- bl sub_8026988
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08026B10
- bl sub_8026AC8
- b _08026B14
- .pool
-_08026B10:
- bl sub_8026A88
-_08026B14:
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x40
- ldrb r0, [r0]
- bl sub_80288D4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026AF4
-
- thumb_func_start sub_8026B28
-sub_8026B28: @ 8026B28
- push {lr}
- bl sub_8026988
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08026B44
- bl sub_8026AC8
- b _08026B48
- .pool
-_08026B44:
- bl sub_8026A88
-_08026B48:
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x40
- ldrb r0, [r0]
- bl sub_80288D4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026B28
-
- thumb_func_start sub_8026B5C
-sub_8026B5C: @ 8026B5C
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x4
- bhi _08026BB4
- lsls r0, 2
- ldr r1, =_08026B78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08026B78:
- .4byte _08026B8C
- .4byte _08026B94
- .4byte _08026B9C
- .4byte _08026BA4
- .4byte _08026BAC
-_08026B8C:
- movs r0, 0x4
- strb r0, [r3]
- movs r0, 0x7
- b _08026BB2
-_08026B94:
- movs r0, 0x3
- strb r0, [r3]
- movs r0, 0x8
- b _08026BB2
-_08026B9C:
- movs r0, 0x2
- strb r0, [r3]
- movs r0, 0x9
- b _08026BB2
-_08026BA4:
- movs r0, 0x1
- strb r0, [r3]
- movs r0, 0xA
- b _08026BB2
-_08026BAC:
- movs r0, 0
- strb r0, [r3]
- movs r0, 0xB
-_08026BB2:
- strb r0, [r2]
-_08026BB4:
- pop {r0}
- bx r0
- thumb_func_end sub_8026B5C
-
- thumb_func_start sub_8026BB8
-sub_8026BB8: @ 8026BB8
- push {r4-r6,lr}
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- adds r0, 0x24
- ldrb r5, [r0]
- movs r4, 0x1
- cmp r4, r5
- bcs _08026C1E
- adds r6, r1, 0
-_08026BCA:
- ldr r0, [r6]
- movs r1, 0xAC
- lsls r1, 1
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08026BEC
- adds r0, r4, 0
- bl sub_8027DFC
- ldr r1, [r6]
- movs r2, 0xAC
- lsls r2, 1
- adds r1, r2
- adds r1, r4
- strb r0, [r1]
-_08026BEC:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08026BCA
- cmp r4, r5
- bcs _08026C1E
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- movs r2, 0xAC
- lsls r2, 1
- adds r1, r0, r2
-_08026C04:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08026C14
- movs r0, 0
- b _08026C20
- .pool
-_08026C14:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08026C04
-_08026C1E:
- movs r0, 0x1
-_08026C20:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8026BB8
-
- thumb_func_start sub_8026C28
-sub_8026C28: @ 8026C28
- push {r4,lr}
- movs r1, 0
- ldr r4, =gUnknown_02022C98
- movs r3, 0xAC
- lsls r3, 1
- movs r2, 0
-_08026C34:
- ldr r0, [r4]
- adds r0, r3
- adds r0, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _08026C34
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026C28
-
- thumb_func_start sub_8026C50
-sub_8026C50: @ 8026C50
- push {r4,lr}
- ldr r3, =gUnknown_02022C98
- ldr r1, [r3]
- adds r2, r1, 0
- adds r2, 0x40
- ldrb r0, [r2]
- cmp r0, 0x9
- bls _08026C88
- movs r4, 0x90
- lsls r4, 1
- adds r0, r1, r4
- ldr r0, [r0]
- cmp r0, 0
- bne _08026C88
- movs r0, 0xA
- strb r0, [r2]
- ldr r0, [r3]
- movs r1, 0x96
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _08026C88
- movs r0, 0x1
- b _08026C8A
- .pool
-_08026C88:
- movs r0, 0
-_08026C8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8026C50
-
- thumb_func_start sub_8026C90
-sub_8026C90: @ 8026C90
- push {r4-r6,lr}
- ldr r4, =gUnknown_02022C98
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0x40
- ldrb r0, [r2]
- cmp r0, 0x9
- bls _08026D14
- adds r0, r1, 0
- adds r0, 0x44
- ldrb r3, [r0]
- adds r0, 0x4
- ldrb r5, [r0]
- movs r0, 0xA
- strb r0, [r2]
- ldr r4, [r4]
- mov r12, r4
- movs r0, 0x96
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- cmp r0, 0
- beq _08026D14
- adds r4, r3, 0
- cmp r4, r5
- bcs _08026D04
- mov r0, r12
- adds r0, 0x28
- ldrb r3, [r0]
- lsls r1, r3, 4
- subs r1, r3
- lsls r1, 2
- ldr r6, =gUnknown_082F449C
- subs r0, 0x4
- ldrb r2, [r0]
- subs r2, 0x1
- add r1, r12
- movs r0, 0xB
- muls r3, r0
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 3
- subs r2, r0, r2
- ldr r0, =0x000031bf
- adds r1, r0
-_08026CEA:
- adds r0, r4, r3
- adds r0, r2
- adds r0, r6
- ldrb r0, [r0]
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0xA
- bne _08026D14
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08026CEA
-_08026D04:
- movs r0, 0x1
- b _08026D16
- .pool
-_08026D14:
- movs r0, 0
-_08026D16:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8026C90
-
- thumb_func_start sub_8026D1C
-sub_8026D1C: @ 8026D1C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_082F7A9C
- mov r8, r0
- ldr r0, =gUnknown_02022C98
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0x90
- adds r0, r5
- mov r9, r0
- ldrb r7, [r0]
- adds r0, r7, 0
- movs r1, 0x7
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- add r4, r8
- adds r0, r7, 0
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldrb r4, [r4]
- adds r0, r4
- lsls r0, 24
- lsls r5, 1
- adds r6, 0x86
- adds r6, r5
- ldrh r1, [r6]
- lsrs r0, 24
- cmp r1, r0
- bcc _08026D76
- adds r0, r7, 0x1
- mov r1, r9
- strb r0, [r1]
-_08026D76:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026D1C
-
- thumb_func_start sub_8026D8C
-sub_8026D8C: @ 8026D8C
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gUnknown_082F449C+0x1AC
- ldr r1, =gUnknown_02022C98
- ldr r1, [r1]
- adds r1, 0x24
- ldrb r1, [r1]
- subs r1, 0x1
- movs r2, 0xB
- muls r1, r2
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8026D8C
-
- thumb_func_start sub_8026DB0
-sub_8026DB0: @ 8026DB0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, =gUnknown_02022C98
- ldr r1, [r4]
- adds r1, 0x24
- ldrb r2, [r1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =gUnknown_082F449C+0x15E
- lsls r1, r0, 1
- adds r1, r0
- lsls r0, r2, 4
- subs r0, r2
- adds r1, r0
- adds r0, r1, r3
- ldrb r0, [r0]
- mov r12, r0
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r7, [r0]
- adds r3, 0x2
- adds r1, r3
- ldrb r1, [r1]
- mov r8, r1
- movs r3, 0
- ldr r1, =gUnknown_082F449C+0x1E3
- lsls r0, r2, 2
- adds r2, r0, r2
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08026E18
- adds r6, r1, 0
-_08026DFE:
- adds r0, r3, r2
- adds r0, r6
- ldrb r0, [r0]
- cmp r5, r0
- beq _08026E3C
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r3, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08026DFE
-_08026E18:
- ldr r0, [r4]
- adds r0, 0x90
- mov r1, r12
- adds r2, r0, r1
- adds r1, r0, r7
- ldrb r0, [r2]
- ldrb r3, [r1]
- cmp r0, r3
- bls _08026E46
- adds r1, r0, 0
- b _08026E48
- .pool
-_08026E3C:
- ldr r0, [r4]
- adds r0, 0x90
- adds r0, r7
- ldrb r0, [r0]
- b _08026E5A
-_08026E46:
- ldrb r1, [r1]
-_08026E48:
- ldr r0, [r4]
- adds r0, 0x90
- mov r2, r8
- adds r4, r0, r2
- ldrb r0, [r4]
- cmp r0, r1
- bls _08026E58
- adds r1, r0, 0
-_08026E58:
- adds r0, r1, 0
-_08026E5A:
- adds r1, r5, 0
- bl sub_8026E70
- lsls r0, 24
- lsrs r0, 24
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8026DB0
-
- thumb_func_start sub_8026E70
-sub_8026E70: @ 8026E70
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_02022C98
- ldr r2, [r2]
- adds r2, 0xE8
- adds r2, r1
- ldrb r4, [r2]
- movs r1, 0x7
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bhi _08026EDE
- lsls r0, 2
- ldr r1, =_08026EA4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08026EA4:
- .4byte _08026EDE
- .4byte _08026ED6
- .4byte _08026EE2
- .4byte _08026EC0
- .4byte _08026EC6
- .4byte _08026ECC
- .4byte _08026ED2
-_08026EC0:
- cmp r4, 0
- beq _08026ED6
- b _08026EDE
-_08026EC6:
- cmp r4, 0
- beq _08026EE2
- b _08026EDE
-_08026ECC:
- cmp r4, 0x2
- beq _08026ED6
- b _08026EE2
-_08026ED2:
- cmp r4, 0
- bne _08026EDA
-_08026ED6:
- movs r0, 0x1
- b _08026EE4
-_08026EDA:
- cmp r4, 0x1
- beq _08026EE2
-_08026EDE:
- movs r0, 0
- b _08026EE4
-_08026EE2:
- movs r0, 0x2
-_08026EE4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8026E70
-
- thumb_func_start sub_8026EEC
-sub_8026EEC: @ 8026EEC
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
- adds r4, r0, 0
- b _08026EFE
-_08026EF6:
- ldrh r0, [r4, 0x6]
- adds r6, r0
- adds r4, 0xC
- adds r5, 0x1
-_08026EFE:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- blt _08026EF6
- cmp r6, 0xA
- bgt _08026F12
- movs r0, 0
- b _08026F14
-_08026F12:
- movs r0, 0x1
-_08026F14:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8026EEC
-
- thumb_func_start sub_8026F1C
-sub_8026F1C: @ 8026F1C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r6, =gUnknown_02022C98
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r5, [r0]
- cmp r3, 0
- bge _08026F3A
- b _0802722C
-_08026F3A:
- cmp r3, 0x2
- ble _08026F48
- cmp r3, 0x3
- beq _08026F78
- b _0802722C
- .pool
-_08026F48:
- ldr r3, =0x000031b4
- adds r0, r1, r3
- adds r0, r4
- ldrb r4, [r0]
- lsls r4, 1
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, r0
- adds r0, r1, 0
- adds r0, 0x4A
- adds r0, r4
- ldrh r0, [r0]
- ldr r1, =0x00004e20
- bl sub_8027A28
- ldr r1, [r6]
- adds r1, 0x4A
- adds r1, r4
- b _0802722A
- .pool
-_08026F78:
- adds r0, r1, 0
- adds r0, 0x4A
- bl sub_8026EEC
- cmp r0, 0
- beq _08026F86
- b _0802722C
-_08026F86:
- cmp r5, 0x3
- bne _08026F8C
- b _08027154
-_08026F8C:
- cmp r5, 0x3
- bgt _08026F98
- cmp r5, 0x2
- bne _08026F96
- b _080271E8
-_08026F96:
- b _0802722C
-_08026F98:
- cmp r5, 0x4
- bne _08026F9E
- b _08027090
-_08026F9E:
- cmp r5, 0x5
- beq _08026FA4
- b _0802722C
-_08026FA4:
- cmp r4, 0x9
- bls _08026FAA
- b _0802722C
-_08026FAA:
- lsls r0, r4, 2
- ldr r1, =_08026FB8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08026FB8:
- .4byte _08026FE0
- .4byte _08026FF8
- .4byte _08027004
- .4byte _0802701C
- .4byte _08027028
- .4byte _08027040
- .4byte _0802704C
- .4byte _08027060
- .4byte _0802706C
- .4byte _08027084
-_08026FE0:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x68
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x74
- b _08027226
- .pool
-_08026FF8:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x74
- b _08027226
- .pool
-_08027004:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x74
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x80
- b _08027226
- .pool
-_0802701C:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x80
- b _08027226
- .pool
-_08027028:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x80
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x50
- b _08027226
- .pool
-_08027040:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x50
- b _08027226
- .pool
-_0802704C:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x50
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _08027224
- .pool
-_08027060:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08027224
- .pool
-_0802706C:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x5C
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x68
- b _08027226
- .pool
-_08027084:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x68
- b _08027226
- .pool
-_08027090:
- subs r0, r4, 0x1
- cmp r0, 0x7
- bls _08027098
- b _0802722C
-_08027098:
- lsls r0, 2
- ldr r1, =_080270A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080270A8:
- .4byte _080270C8
- .4byte _080270E0
- .4byte _080270EC
- .4byte _08027104
- .4byte _08027110
- .4byte _08027124
- .4byte _08027130
- .4byte _08027148
-_080270C8:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x68
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x74
- b _08027226
- .pool
-_080270E0:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x74
- b _08027226
- .pool
-_080270EC:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x74
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x50
- b _08027226
- .pool
-_08027104:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x50
- b _08027226
- .pool
-_08027110:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x50
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _08027224
- .pool
-_08027124:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08027224
- .pool
-_08027130:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x5C
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x68
- b _08027226
- .pool
-_08027148:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x68
- b _08027226
- .pool
-_08027154:
- subs r0, r4, 0x2
- cmp r0, 0x5
- bhi _0802722C
- lsls r0, 2
- ldr r1, =_08027168
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08027168:
- .4byte _08027180
- .4byte _08027198
- .4byte _080271A4
- .4byte _080271BC
- .4byte _080271C8
- .4byte _080271DC
-_08027180:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x5C
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x68
- b _08027226
- .pool
-_08027198:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x68
- b _08027226
- .pool
-_080271A4:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x68
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x50
- b _08027226
- .pool
-_080271BC:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x50
- b _08027226
- .pool
-_080271C8:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x50
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _08027224
- .pool
-_080271DC:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08027224
- .pool
-_080271E8:
- cmp r4, 0x4
- beq _0802720E
- cmp r4, 0x4
- bgt _080271F6
- cmp r4, 0x3
- beq _08027200
- b _0802722C
-_080271F6:
- cmp r4, 0x5
- beq _08027214
- cmp r4, 0x6
- beq _08027222
- b _0802722C
-_08027200:
- ldr r1, [r6]
- adds r2, r1, 0
- adds r2, 0x50
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _08027224
-_0802720E:
- ldr r1, [r6]
- adds r1, 0x50
- b _08027226
-_08027214:
- ldr r1, [r6]
- adds r2, r1, 0
- adds r2, 0x50
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _08027224
-_08027222:
- ldr r1, [r6]
-_08027224:
- adds r1, 0x5C
-_08027226:
- ldrh r0, [r1]
- adds r0, 0x1
-_0802722A:
- strh r0, [r1]
-_0802722C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8026F1C
-
- thumb_func_start sub_8027234
-sub_8027234: @ 8027234
- push {r4,r5,lr}
- adds r1, r0, 0
- ldr r4, =gUnknown_02022C98
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _0802729E
- cmp r1, 0x1
- bne _08027280
- movs r5, 0x89
- lsls r5, 1
- adds r1, r3, r5
- ldrh r0, [r1]
- adds r2, r0, 0x1
- strh r2, [r1]
- movs r0, 0x8A
- lsls r0, 1
- adds r1, r3, r0
- lsls r0, r2, 16
- lsrs r0, 16
- ldrh r3, [r1]
- cmp r0, r3
- bls _08027268
- strh r2, [r1]
-_08027268:
- ldr r0, [r4]
- adds r2, r0, r5
- ldrh r0, [r2]
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _0802729E
- strh r1, [r2]
- b _0802729E
- .pool
-_08027280:
- movs r2, 0x89
- lsls r2, 1
- adds r0, r3, r2
- movs r5, 0x8A
- lsls r5, 1
- adds r1, r3, r5
- ldrh r0, [r0]
- ldrh r3, [r1]
- cmp r0, r3
- bls _08027296
- strh r0, [r1]
-_08027296:
- ldr r0, [r4]
- adds r0, r2
- movs r1, 0
- strh r1, [r0]
-_0802729E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8027234
-
- thumb_func_start sub_80272A4
-sub_80272A4: @ 80272A4
- push {r4,r5,lr}
- movs r3, 0
- ldr r2, =gUnknown_02022C98
- ldr r0, [r2]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r3, r0
- bcs _080272DC
- adds r5, r2, 0
- movs r4, 0x8A
- lsls r4, 1
-_080272BA:
- ldr r2, [r5]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x54
- adds r1, r0
- adds r0, r2, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, 0x24
- ldrb r2, [r2]
- cmp r3, r2
- bcc _080272BA
-_080272DC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80272A4
-
- thumb_func_start sub_80272E8
-sub_80272E8: @ 80272E8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- ldr r7, =gUnknown_02022C98
- movs r4, 0
- ldr r0, =0x000031bf
- mov r10, r0
-_080272FC:
- movs r2, 0
- lsls r6, r5, 4
- lsls r1, r5, 1
- mov r8, r1
- lsls r0, r5, 3
- mov r12, r0
- adds r1, r5, 0x1
- mov r9, r1
- subs r0, r6, r5
- lsls r3, r0, 2
-_08027310:
- ldr r0, [r7]
- adds r1, r2, r3
- add r0, r10
- adds r0, r1
- strb r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xA
- bls _08027310
- ldr r0, [r7]
- subs r1, r6, r5
- lsls r1, 2
- adds r0, r1
- ldr r2, =0x000031cc
- adds r0, r2
- strb r4, [r0]
- ldr r0, [r7]
- adds r0, r1
- ldr r1, =0x000031d0
- adds r0, r1
- strb r4, [r0]
- ldr r0, [r7]
- adds r0, 0x90
- adds r0, r5
- strb r4, [r0]
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x86
- add r0, r8
- strh r4, [r0]
- add r1, r12
- ldr r2, =0x00003308
- adds r1, r2
- strb r4, [r1]
- ldr r2, [r7]
- ldr r1, =0x0000330c
- adds r0, r2, r1
- add r0, r12
- str r4, [r0]
- mov r0, r8
- adds r1, r0, r5
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x4A
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x4E
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x50
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x52
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x54
- adds r0, r1
- strh r4, [r0]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _080272FC
- ldr r2, =gUnknown_02022C98
- ldr r0, [r2]
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- movs r2, 0
- strb r2, [r0]
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- movs r1, 0x89
- lsls r1, 1
- adds r3, r0, r1
- movs r1, 0
- strh r2, [r3]
- adds r0, 0x40
- strb r1, [r0]
- bl sub_8026A88
- bl sub_8026988
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80272E8
-
- thumb_func_start sub_80273F0
-sub_80273F0: @ 80273F0
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r0, 0x4
- beq _0802740C
- cmp r0, 0x5
- beq _08027410
- b _08027412
- .pool
-_0802740C:
- movs r4, 0x1
- b _08027412
-_08027410:
- movs r4, 0x2
-_08027412:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- lsls r1, r4, 2
- ldr r5, =gUnknown_02022C98
- ldr r2, =gUnknown_082F7AA4
- adds r1, r4
- lsls r1, 1
- adds r0, r1
- adds r0, r2
- ldrb r2, [r0]
-_08027436:
- ldr r1, [r5]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r1, 0x52
- adds r1, r0
- strh r2, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x4
- bls _08027436
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80273F0
-
- thumb_func_start sub_802745C
-sub_802745C: @ 802745C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02022C98
- ldr r2, [r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x4A
- adds r0, r1
- ldrh r3, [r0]
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r1
- ldrh r0, [r0]
- adds r2, 0x4E
- adds r2, r1
- adds r3, r0
- ldrh r2, [r2]
- adds r0, r3, r2
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _0802748E
- adds r0, r1, 0
-_0802748E:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802745C
-
- thumb_func_start sub_802749C
-sub_802749C: @ 802749C
- push {r4-r6,lr}
- ldr r5, =gUnknown_02022C98
- ldr r0, [r5]
- adds r0, 0x28
- ldrb r0, [r0]
- bl sub_802745C
- ldr r1, =0x0000270f
- bl sub_8027A38
- adds r4, r0, 0
- ldr r0, [r5]
- adds r0, 0x28
- ldrb r0, [r0]
- bl sub_80276C0
- ldr r1, =0x000f4236
- bl sub_8027A38
- adds r2, r0, 0
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- movs r6, 0x83
- lsls r6, 2
- adds r1, r0, r6
- ldr r0, [r1]
- cmp r0, r2
- bcs _080274D6
- str r2, [r1]
-_080274D6:
- ldr r0, [r3]
- movs r2, 0x84
- lsls r2, 2
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, r4
- bcs _080274E6
- strh r4, [r1]
-_080274E6:
- ldr r0, [r3]
- ldr r6, =0x00000212
- adds r2, r0, r6
- ldr r0, [r5]
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r1
- ldrh r1, [r0]
- ldrh r0, [r2]
- cmp r0, r1
- bcs _080274FE
- strh r1, [r2]
-_080274FE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802749C
-
- thumb_func_start sub_8027518
-sub_8027518: @ 8027518
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- adds r0, 0x9B
- ldrb r6, [r0]
- movs r3, 0x3
- adds r5, r1, 0
- adds r4, r5, 0
-_0802752C:
- ldr r0, [r4]
- adds r0, 0x98
- adds r2, r0, r3
- subs r1, r3, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- lsls r1, 24
- lsrs r3, r1, 24
- cmp r3, 0
- bne _0802752C
- ldr r0, [r5]
- adds r0, 0x98
- strb r7, [r0]
- adds r0, r6, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8027518
-
- thumb_func_start sub_8027554
-sub_8027554: @ 8027554
- push {r4,lr}
- ldr r4, =gUnknown_02022C98
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0x28
- ldrb r1, [r0]
- adds r0, 0x88
- adds r2, r0, r1
- ldrb r0, [r2]
- cmp r0, 0
- bne _080275FC
- ldr r0, =gMain
- ldrh r2, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- beq _08027594
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, =0x000031cc
- adds r0, r1
- movs r1, 0x2
- b _080275CA
- .pool
-_08027594:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _080275B0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, =0x000031cc
- adds r0, r1
- movs r1, 0x3
- b _080275CA
- .pool
-_080275B0:
- movs r0, 0x10
- ands r0, r2
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _080275E8
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, =0x000031cc
- adds r0, r1
- movs r1, 0x1
-_080275CA:
- strb r1, [r0]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x28
- adds r0, 0xB0
- ldrb r1, [r1]
- adds r0, r1
- movs r1, 0x6
- strb r1, [r0]
- movs r0, 0xD4
- bl PlaySE
- b _08027600
- .pool
-_080275E8:
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, =0x000031cc
- adds r0, r1
- strb r2, [r0]
- b _08027600
- .pool
-_080275FC:
- subs r0, 0x1
- strb r0, [r2]
-_08027600:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8027554
-
- thumb_func_start sub_8027608
-sub_8027608: @ 8027608
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r2, [r0]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 2
- adds r1, r0
- ldr r0, =0x000031cc
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8027608
-
- thumb_func_start sub_802762C
-sub_802762C: @ 802762C
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, 0x52
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x85
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .pool
- thumb_func_end sub_802762C
-
- thumb_func_start sub_8027650
-sub_8027650: @ 8027650
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8027650
-
- thumb_func_start sub_8027660
-sub_8027660: @ 8027660
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802768C
- ldr r0, =gUnknown_02022C98
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 2
- ldr r2, =0x000031a0
- adds r1, r2
- ldr r0, [r0]
- b _08027694
- .pool
-_0802768C:
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- ldr r1, =gLinkPlayers + 8
-_08027694:
- adds r0, r1
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8027660
-
- thumb_func_start sub_80276A0
-sub_80276A0: @ 80276A0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r2, =gUnknown_02022C98
- ldr r3, [r2]
- lsrs r1, 23
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- adds r1, r2
- adds r3, 0x4A
- adds r3, r1
- ldrh r0, [r3]
- bx lr
- .pool
- thumb_func_end sub_80276A0
-
- thumb_func_start sub_80276C0
-sub_80276C0: @ 80276C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- movs r3, 0
- ldr r0, =gUnknown_02022C98
- mov r9, r0
- ldr r2, =gUnknown_082F7B24
- mov r10, r2
- ldr r2, [r0]
- lsls r1, r4, 1
- adds r0, r1, r4
- lsls r0, 2
- str r0, [sp]
- adds r6, r2, 0
- adds r6, 0x4A
- mov r12, r1
- mov r8, r10
-_080276EE:
- lsls r1, r3, 1
- ldr r7, [sp]
- adds r0, r1, r7
- adds r0, r6, r0
- ldrh r2, [r0]
- add r1, r8
- movs r7, 0
- ldrsh r0, [r1, r7]
- muls r0, r2
- adds r5, r0
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _080276EE
- mov r0, r9
- ldr r1, [r0]
- mov r2, r12
- adds r0, r2, r4
- lsls r0, 2
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- mov r3, r10
- movs r7, 0x6
- ldrsh r0, [r3, r7]
- muls r0, r1
- cmp r5, r0
- bls _08027734
- subs r0, r5, r0
- b _08027736
- .pool
-_08027734:
- movs r0, 0
-_08027736:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80276C0
-
- thumb_func_start sub_8027748
-sub_8027748: @ 8027748
- push {r4-r6,lr}
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r6, [r0]
- movs r0, 0
- bl sub_80276C0
- adds r5, r0, 0
- movs r4, 0x1
- cmp r4, r6
- bcs _08027776
-_08027760:
- adds r0, r4, 0
- bl sub_80276C0
- cmp r0, r5
- bls _0802776C
- adds r5, r0, 0
-_0802776C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _08027760
-_08027776:
- ldr r1, =0x000f4236
- adds r0, r5, 0
- bl sub_8027A38
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8027748
-
- thumb_func_start sub_802778C
-sub_802778C: @ 802778C
- push {r4,r5,lr}
- lsls r0, 24
- ldr r1, =gUnknown_02022C98
- ldr r2, [r1]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r5, [r1]
- lsrs r4, r0, 23
- adds r2, 0x4A
- adds r0, r2, r4
- ldrh r3, [r0]
- movs r1, 0
- cmp r1, r5
- bcs _080277C4
-_080277A8:
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4, r0
- adds r0, r2, r0
- ldrh r0, [r0]
- cmp r0, r3
- bls _080277BA
- adds r3, r0, 0
-_080277BA:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r5
- bcc _080277A8
-_080277C4:
- adds r0, r3, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802778C
-
- thumb_func_start sub_80277D0
-sub_80277D0: @ 80277D0
- push {r4-r7,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0x1
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r5, [r0]
- movs r4, 0
- cmp r4, r5
- bcs _080277FE
-_080277E8:
- adds r0, r4, 0
- bl sub_80276C0
- lsls r1, r4, 2
- add r1, sp
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _080277E8
-_080277FE:
- lsls r7, 2
- mov r12, r7
- cmp r6, 0
- beq _08027838
- subs r7, r5, 0x1
-_08027808:
- movs r6, 0
- movs r4, 0
- cmp r6, r7
- bge _08027834
- adds r5, r7, 0
-_08027812:
- lsls r0, r4, 2
- mov r2, sp
- adds r1, r2, r0
- adds r4, 0x1
- lsls r0, r4, 2
- adds r3, r2, r0
- ldr r0, [r1]
- ldr r2, [r3]
- cmp r0, r2
- bcs _0802782C
- str r2, [r1]
- str r0, [r3]
- movs r6, 0x1
-_0802782C:
- lsls r0, r4, 24
- lsrs r4, r0, 24
- cmp r4, r5
- blt _08027812
-_08027834:
- cmp r6, 0
- bne _08027808
-_08027838:
- mov r0, sp
- add r0, r12
- ldr r0, [r0]
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80277D0
-
- thumb_func_start sub_802784C
-sub_802784C: @ 802784C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- mov r10, r0
- mov r8, r0
- mov r9, r0
- ldr r6, =gUnknown_02022C98
- ldr r0, [r6]
- adds r0, 0x24
- ldrb r5, [r0]
- bl sub_8027748
- bl sub_8027748
- cmp r0, 0
- bne _080278A0
- movs r4, 0
- cmp r9, r5
- bcs _080278A0
- adds r2, r6, 0
- ldr r1, =0x00003308
- mov r12, r1
- movs r7, 0
- movs r6, 0x4
- ldr r3, =0x0000330c
-_08027884:
- ldr r0, [r2]
- lsls r1, r4, 3
- adds r0, r1
- add r0, r12
- strb r6, [r0]
- ldr r0, [r2]
- adds r0, r3
- adds r0, r1
- str r7, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08027884
-_080278A0:
- movs r4, 0
- cmp r4, r5
- bcs _080278CA
-_080278A6:
- adds r0, r4, 0
- bl sub_80276C0
- ldr r1, =0x000f4236
- bl sub_8027A38
- ldr r1, =gUnknown_02022C98
- ldr r1, [r1]
- lsls r2, r4, 3
- ldr r3, =0x0000330c
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _080278A6
-_080278CA:
- mov r0, r10
- bl sub_80277D0
- adds r6, r0, 0
- mov r3, r8
- movs r4, 0
- cmp r4, r5
- bcs _08027916
- ldr r7, =gUnknown_02022C98
- mov r10, r7
-_080278DE:
- mov r0, r10
- ldr r2, [r0]
- lsls r1, r4, 3
- ldr r7, =0x0000330c
- adds r0, r2, r7
- adds r0, r1
- ldr r0, [r0]
- cmp r6, r0
- bne _0802790C
- adds r0, r2, r1
- ldr r1, =0x00003308
- adds r0, r1
- strb r3, [r0]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_0802790C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _080278DE
-_08027916:
- mov r10, r8
- cmp r9, r5
- bcc _080278CA
- movs r0, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802784C
-
- thumb_func_start sub_802793C
-sub_802793C: @ 802793C
- lsls r1, 24
- ldr r2, =gUnknown_02022C98
- ldr r2, [r2]
- lsrs r1, 21
- ldr r3, =0x00003308
- adds r2, r3
- adds r2, r1
- ldr r1, [r2]
- ldr r2, [r2, 0x4]
- str r1, [r0]
- str r2, [r0, 0x4]
- bx lr
- .pool
- thumb_func_end sub_802793C
-
- thumb_func_start sub_802795C
-sub_802795C: @ 802795C
- push {r4-r7,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r6, r0, 24
- movs r7, 0
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r5, [r0]
- mov r0, sp
- movs r1, 0
- movs r2, 0x14
- bl memset
- movs r4, 0
- cmp r7, r5
- bcs _08027994
-_0802797E:
- adds r0, r4, 0
- bl sub_80276C0
- lsls r1, r4, 2
- add r1, sp
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _0802797E
-_08027994:
- lsls r0, r6, 2
- add r0, sp
- ldr r1, [r0]
- movs r4, 0
-_0802799C:
- cmp r4, r6
- beq _080279B0
- lsls r0, r4, 2
- add r0, sp
- ldr r0, [r0]
- cmp r1, r0
- bcs _080279B0
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_080279B0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _0802799C
- adds r0, r7, 0
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802795C
-
- thumb_func_start sub_80279C8
-sub_80279C8: @ 80279C8
- push {r4-r6,lr}
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x28
- ldrb r4, [r0]
- bl sub_802762C
- lsls r0, 16
- lsrs r5, r0, 16
- adds r6, r5, 0
- adds r0, r4, 0
- bl sub_80276C0
- adds r4, r0, 0
- bl sub_8027748
- cmp r4, r0
- beq _080279F4
- movs r0, 0x3
- b _08027A22
- .pool
-_080279F4:
- adds r0, r5, 0
- movs r1, 0x1
- bl CheckBagHasSpace
- lsls r0, 24
- cmp r0, 0
- bne _08027A06
- movs r0, 0x2
- b _08027A22
-_08027A06:
- adds r0, r6, 0
- movs r1, 0x1
- bl AddBagItem
- adds r0, r6, 0
- movs r1, 0x1
- bl CheckBagHasSpace
- lsls r0, 24
- cmp r0, 0
- beq _08027A20
- movs r0, 0
- b _08027A22
-_08027A20:
- movs r0, 0x1
-_08027A22:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80279C8
-
- thumb_func_start sub_8027A28
-sub_8027A28: @ 8027A28
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- cmp r2, r0
- bcs _08027A34
- adds r0, r2, 0x1
-_08027A34:
- pop {r1}
- bx r1
- thumb_func_end sub_8027A28
-
- thumb_func_start sub_8027A38
-sub_8027A38: @ 8027A38
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- cmp r2, r0
- bcs _08027A44
- adds r0, r2, 0
-_08027A44:
- pop {r1}
- bx r1
- thumb_func_end sub_8027A38
-
- thumb_func_start sub_8027A48
-sub_8027A48: @ 8027A48
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02022C98
- ldr r1, [r1]
- adds r1, 0x34
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8027A48
-
- thumb_func_start sub_8027A5C
-sub_8027A5C: @ 8027A5C
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, =gSpecialVar_Result
-_08027A62:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _08027A94
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0x55
- bne _08027A94
- movs r0, 0x1
- strh r0, [r6]
- b _08027AA0
- .pool
-_08027A94:
- adds r5, 0x1
- cmp r5, 0x5
- ble _08027A62
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
-_08027AA0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8027A5C
-
- thumb_func_start sub_8027AAC
-sub_8027AAC: @ 8027AAC
- push {r4,lr}
- ldr r4, =sub_8027ACC
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8027AAC
-
- thumb_func_start sub_8027ACC
-sub_8027ACC: @ 8027ACC
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0x1
- beq _08027B94
- cmp r0, 0x1
- bgt _08027AF4
- cmp r0, 0
- beq _08027AFE
- b _08027BE2
- .pool
-_08027AF4:
- cmp r0, 0x2
- beq _08027BA0
- cmp r0, 0x3
- beq _08027BC8
- b _08027BE2
-_08027AFE:
- ldr r0, =gUnknown_082F7B2C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r1, =gText_BerryPickingRecords
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r4, r0, 0
- movs r6, 0
- ldr r5, =gUnknown_082F7B34
-_08027B18:
- ldr r1, [r5]
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r0, 0x32
- cmp r0, r4
- ble _08027B2A
- adds r4, r0, 0
-_08027B2A:
- adds r5, 0x4
- adds r6, 0x1
- cmp r6, 0x2
- bls _08027B18
- adds r0, r4, 0x7
- cmp r0, 0
- bge _08027B3A
- adds r0, 0x7
-_08027B3A:
- asrs r4, r0, 3
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08027B46
- adds r4, 0x1
-_08027B46:
- movs r1, 0x1E
- subs r1, r4
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- lsls r1, 24
- lsrs r1, 16
- ldr r2, =0xffff00ff
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- lsls r2, r4, 24
- ldr r1, =0x00ffffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- mov r0, sp
- bl AddWindow
- strh r0, [r7, 0x2]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl sub_8027BEC
- ldrb r0, [r7, 0x2]
- movs r1, 0x3
- b _08027BB6
- .pool
-_08027B94:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08027BE2
- b _08027BBA
-_08027BA0:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08027BE2
- ldrb r0, [r7, 0x2]
- bl rbox_fill_rectangle
- ldrb r0, [r7, 0x2]
- movs r1, 0x1
-_08027BB6:
- bl CopyWindowToVram
-_08027BBA:
- ldrh r0, [r7]
- adds r0, 0x1
- strh r0, [r7]
- b _08027BE2
- .pool
-_08027BC8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08027BE2
- ldrb r0, [r7, 0x2]
- bl RemoveWindow
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_08027BE2:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8027ACC
-
- thumb_func_start sub_8027BEC
-sub_8027BEC: @ 8027BEC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- str r1, [sp, 0x18]
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r2, 0x84
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- str r0, [sp, 0xC]
- subs r2, 0x4
- adds r0, r1, r2
- ldr r0, [r0]
- str r0, [sp, 0x10]
- ldr r0, =0x00000212
- adds r1, r0
- ldrh r0, [r1]
- str r0, [sp, 0x14]
- ldr r4, =0x0000021d
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0xD
- bl sub_8098858
- adds r0, r7, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gText_BerryPickingRecords
- ldr r0, [sp, 0x18]
- lsls r2, r0, 3
- movs r0, 0x1
- adds r1, r4, 0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl AddTextPrinterParameterized
- movs r6, 0
- ldr r2, =gStringVar1
- mov r8, r2
- movs r0, 0xFF
- mov r10, r0
- mov r9, r6
- mov r2, sp
- adds r2, 0xC
- str r2, [sp, 0x1C]
-_08027C76:
- lsls r4, r6, 2
- ldr r0, [sp, 0x1C]
- ldm r0!, {r1}
- str r0, [sp, 0x1C]
- ldr r0, =gUnknown_082F7B40
- adds r0, r6, r0
- ldrb r3, [r0]
- mov r0, r8
- movs r2, 0
- bl ConvertIntToDecimalStringN
- movs r0, 0x1
- mov r1, r8
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- adds r5, r0, 0
- ldr r0, =gUnknown_082F7B34
- adds r4, r0
- ldr r2, [r4]
- ldr r0, =gUnknown_082F7B44
- lsls r4, r6, 1
- adds r0, r4, r0
- ldrb r0, [r0]
- str r0, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r2, [sp, 0x18]
- lsls r3, r2, 3
- subs r3, r5
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gUnknown_082F7B4A
- adds r4, r0
- ldrb r0, [r4]
- str r0, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- mov r2, r8
- bl AddTextPrinterParameterized
- adds r6, 0x1
- cmp r6, 0x2
- ble _08027C76
- adds r0, r7, 0
- bl PutWindowTilemap
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8027BEC
-
- thumb_func_start sub_8027D20
-sub_8027D20: @ 8027D20
- push {lr}
- bl GetLinkPlayerCount
- ldr r1, =gUnknown_02022C98
- ldr r1, [r1]
- adds r1, 0x24
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8027D20
-
- thumb_func_start sub_8027D38
-sub_8027D38: @ 8027D38
- push {r4-r7,lr}
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r4, [r0]
- cmp r4, 0x4
- bhi _08027D66
- ldr r5, =gUnknown_082F7B90
-_08027D48:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r1, =gLinkPlayers + 8
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r5
- ldr r1, [r1]
- bl StringCopy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _08027D48
-_08027D66:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x24
- movs r2, 0x5
- strb r2, [r1]
- movs r1, 0
- mov r12, r0
-_08027D74:
- movs r4, 0
- mov r2, r12
- ldr r0, [r2]
- adds r0, 0x24
- adds r5, r1, 0x1
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08027DB2
- ldr r7, =gUnknown_02022C98
- lsls r3, r1, 1
- ldr r6, =gUnknown_082F7B50
-_08027D8A:
- ldr r2, [r7]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r3, r0
- adds r1, r2, 0
- adds r1, 0x4A
- adds r1, r0
- lsls r0, r4, 3
- adds r0, r3, r0
- adds r0, r6
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r2, 0x24
- ldrb r2, [r2]
- cmp r4, r2
- bcc _08027D8A
-_08027DB2:
- lsls r0, r5, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _08027D74
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8027D38
-
- thumb_func_start sub_8027DD0
-sub_8027DD0: @ 8027DD0
- push {lr}
- sub sp, 0x8
- ldr r3, =0xffffff00
- ldr r1, [sp]
- ands r1, r3
- movs r2, 0x1
- orrs r1, r2
- str r1, [sp]
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp, 0x4]
- ands r1, r3
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r0, sp
- bl sub_800FE50
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8027DD0
-
- thumb_func_start sub_8027DFC
-sub_8027DFC: @ 8027DFC
- push {lr}
- adds r2, r0, 0
- ldr r3, =gRecvCmds
- ldrh r0, [r3]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _08027E1E
- lsls r0, r2, 4
- adds r1, r3, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _08027E28
-_08027E1E:
- movs r0, 0
- b _08027E2A
- .pool
-_08027E28:
- ldrb r0, [r1, 0x4]
-_08027E2A:
- pop {r1}
- bx r1
- thumb_func_end sub_8027DFC
-
- thumb_func_start sub_8027E30
-sub_8027E30: @ 8027E30
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r4, [sp, 0x48]
- lsls r4, 24
- str r4, [sp, 0x1C]
- movs r4, 0x14
- adds r4, r0
- mov r9, r4
- mov r5, sp
- movs r4, 0x2
- strb r4, [r5]
- mov r10, sp
- mov r5, r9
- ldrb r4, [r5, 0xB]
- movs r7, 0xF
- adds r5, r7, 0
- ands r5, r4
- mov r6, r10
- ldrb r6, [r6, 0x1]
- mov r8, r6
- movs r4, 0x10
- negs r4, r4
- mov r6, r8
- ands r4, r6
- orrs r4, r5
- mov r5, r10
- strb r4, [r5, 0x1]
- mov r8, sp
- mov r6, r9
- ldrb r5, [r6, 0xC]
- lsls r5, 4
- ands r4, r7
- orrs r4, r5
- mov r5, r8
- strb r4, [r5, 0x1]
- ldrb r5, [r6, 0xD]
- movs r6, 0xF
- ands r5, r6
- mov r4, r10
- ldrb r4, [r4, 0x2]
- mov r8, r4
- movs r4, 0x10
- negs r4, r4
- mov r6, r8
- ands r4, r6
- orrs r4, r5
- mov r5, r10
- strb r4, [r5, 0x2]
- mov r8, sp
- mov r6, r9
- ldrb r5, [r6, 0xE]
- lsls r5, 4
- ands r4, r7
- orrs r4, r5
- mov r5, r8
- strb r4, [r5, 0x2]
- ldrb r5, [r6, 0xF]
- movs r6, 0xF
- ands r5, r6
- mov r4, r10
- ldrb r4, [r4, 0x3]
- mov r8, r4
- movs r4, 0x10
- negs r4, r4
- mov r6, r8
- ands r4, r6
- orrs r4, r5
- mov r5, r10
- strb r4, [r5, 0x3]
- mov r8, sp
- mov r6, r9
- ldrb r5, [r6, 0x10]
- lsls r5, 4
- ands r4, r7
- orrs r4, r5
- mov r5, r8
- strb r4, [r5, 0x3]
- ldrb r5, [r6, 0x11]
- movs r6, 0xF
- ands r5, r6
- mov r4, r10
- ldrb r4, [r4, 0x4]
- mov r8, r4
- movs r4, 0x10
- negs r4, r4
- mov r6, r8
- ands r4, r6
- orrs r4, r5
- mov r5, r10
- strb r4, [r5, 0x4]
- mov r8, sp
- mov r6, r9
- ldrb r5, [r6, 0x12]
- lsls r5, 4
- ands r4, r7
- orrs r4, r5
- mov r5, r8
- strb r4, [r5, 0x4]
- ldrb r4, [r6, 0x13]
- movs r6, 0xF
- ands r4, r6
- mov r6, r8
- ldrb r5, [r6, 0x5]
- movs r6, 0x10
- negs r6, r6
- ands r6, r5
- orrs r6, r4
- str r6, [sp, 0xC]
- mov r4, r8
- strb r6, [r4, 0x5]
- mov r5, sp
- mov r6, r9
- ldrb r4, [r6, 0x14]
- lsls r4, 4
- ldr r6, [sp, 0xC]
- ands r6, r7
- orrs r6, r4
- strb r6, [r5, 0x5]
- mov r7, sp
- movs r4, 0x3
- mov r8, r4
- ldrb r0, [r0, 0x14]
- mov r5, r8
- ands r0, r5
- ldrb r5, [r7, 0x6]
- movs r6, 0x4
- negs r6, r6
- mov r10, r6
- mov r4, r10
- ands r4, r5
- orrs r4, r0
- strb r4, [r7, 0x6]
- mov r5, r9
- ldrb r0, [r5, 0x1]
- mov r6, r8
- ands r0, r6
- lsls r0, 2
- movs r5, 0xD
- negs r5, r5
- ands r5, r4
- orrs r5, r0
- strb r5, [r7, 0x6]
- mov r0, r9
- ldrb r4, [r0, 0x2]
- ands r4, r6
- lsls r4, 4
- movs r0, 0x31
- negs r0, r0
- ands r0, r5
- orrs r0, r4
- strb r0, [r7, 0x6]
- mov r5, sp
- mov r6, r9
- ldrb r4, [r6, 0x3]
- lsls r4, 6
- movs r6, 0x3F
- ands r0, r6
- orrs r0, r4
- strb r0, [r5, 0x6]
- mov r4, r9
- ldrb r0, [r4, 0x4]
- mov r5, r8
- ands r0, r5
- ldrb r5, [r7, 0x7]
- mov r4, r10
- ands r4, r5
- orrs r4, r0
- strb r4, [r7, 0x7]
- mov r6, r9
- ldrb r0, [r6, 0x5]
- mov r5, r8
- ands r0, r5
- lsls r0, 2
- movs r5, 0xD
- negs r5, r5
- ands r5, r4
- orrs r5, r0
- strb r5, [r7, 0x7]
- ldrb r4, [r6, 0x6]
- mov r6, r8
- ands r4, r6
- lsls r4, 4
- movs r0, 0x31
- negs r0, r0
- ands r0, r5
- orrs r0, r4
- strb r0, [r7, 0x7]
- mov r5, sp
- mov r6, r9
- ldrb r4, [r6, 0x7]
- lsls r4, 6
- movs r6, 0x3F
- ands r0, r6
- orrs r0, r4
- strb r0, [r5, 0x7]
- mov r8, sp
- mov r0, r9
- ldrb r4, [r0, 0x8]
- movs r7, 0x3
- adds r0, r7, 0
- ands r0, r4
- mov r4, r8
- ldrb r5, [r4, 0x8]
- mov r4, r10
- ands r4, r5
- orrs r4, r0
- mov r5, r8
- strb r4, [r5, 0x8]
- mov r6, r9
- ldrb r5, [r6, 0x9]
- adds r0, r7, 0
- ands r0, r5
- lsls r0, 2
- movs r5, 0xD
- negs r5, r5
- ands r5, r4
- orrs r5, r0
- mov r0, r8
- strb r5, [r0, 0x8]
- ldrb r0, [r1]
- adds r4, r7, 0
- ands r4, r0
- lsls r4, 4
- movs r0, 0x31
- negs r0, r0
- ands r0, r5
- orrs r0, r4
- mov r4, r8
- strb r0, [r4, 0x8]
- mov r5, sp
- ldrb r4, [r2]
- lsls r4, 6
- movs r6, 0x3F
- ands r0, r6
- orrs r0, r4
- strb r0, [r5, 0x8]
- ldrb r4, [r3]
- adds r0, r7, 0
- ands r0, r4
- ldrb r4, [r5, 0x9]
- mov r6, r10
- ands r6, r4
- orrs r6, r0
- mov r10, r6
- strb r6, [r5, 0x9]
- ldr r0, [sp, 0x40]
- ldrb r4, [r0]
- adds r0, r7, 0
- ands r0, r4
- lsls r0, 2
- movs r4, 0xD
- negs r4, r4
- ands r6, r4
- orrs r6, r0
- str r6, [sp, 0x10]
- strb r6, [r5, 0x9]
- mov r4, sp
- ldr r5, [sp, 0x44]
- ldrb r0, [r5]
- adds r6, r7, 0
- ands r6, r0
- lsls r0, r6, 4
- subs r7, 0x34
- ldr r5, [sp, 0x10]
- ands r7, r5
- orrs r7, r0
- strb r7, [r4, 0x9]
- mov r5, sp
- ldrb r0, [r1, 0x4]
- movs r6, 0x1
- mov r12, r6
- mov r4, r12
- ands r4, r0
- lsls r4, 6
- movs r0, 0x41
- negs r0, r0
- mov r10, r0
- ands r0, r7
- orrs r0, r4
- strb r0, [r5, 0x9]
- ldrb r4, [r2, 0x4]
- lsls r4, 7
- movs r5, 0x7F
- ands r0, r5
- orrs r0, r4
- mov r4, r8
- strb r0, [r4, 0x9]
- ldrb r4, [r3, 0x4]
- mov r0, r12
- ands r0, r4
- mov r5, r8
- ldrb r4, [r5, 0xA]
- movs r7, 0x2
- negs r7, r7
- adds r5, r7, 0
- ands r5, r4
- orrs r5, r0
- mov r6, r8
- strb r5, [r6, 0xA]
- mov r9, sp
- ldr r4, [sp, 0x40]
- ldrb r0, [r4, 0x4]
- mov r4, r12
- ands r4, r0
- lsls r4, 1
- movs r6, 0x3
- negs r6, r6
- mov r8, r6
- mov r0, r8
- ands r0, r5
- orrs r0, r4
- mov r4, r9
- strb r0, [r4, 0xA]
- ldr r6, [sp, 0x44]
- ldrb r5, [r6, 0x4]
- mov r4, r12
- ands r4, r5
- lsls r4, 2
- movs r5, 0x5
- negs r5, r5
- ands r0, r5
- orrs r0, r4
- mov r4, r9
- strb r0, [r4, 0xA]
- mov r4, sp
- ldrb r1, [r1, 0x8]
- mov r0, r12
- ands r0, r1
- lsls r0, 2
- ldrb r1, [r4, 0xB]
- ands r5, r1
- orrs r5, r0
- strb r5, [r4, 0xB]
- ldrb r1, [r2, 0x8]
- mov r0, r12
- ands r0, r1
- lsls r0, 3
- movs r1, 0x9
- negs r1, r1
- ands r1, r5
- orrs r1, r0
- strb r1, [r4, 0xB]
- ldrb r2, [r3, 0x8]
- mov r0, r12
- ands r0, r2
- lsls r0, 4
- movs r2, 0x11
- negs r2, r2
- ands r2, r1
- orrs r2, r0
- strb r2, [r4, 0xB]
- mov r3, sp
- ldr r5, [sp, 0x40]
- ldrb r0, [r5, 0x8]
- mov r1, r12
- ands r1, r0
- lsls r1, 5
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0xB]
- mov r2, sp
- ldrb r1, [r6, 0x8]
- mov r6, r12
- ands r6, r1
- lsls r1, r6, 6
- mov r3, r10
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0xB]
- ldr r4, [sp, 0x1C]
- lsrs r3, r4, 21
- ldrb r1, [r2, 0xA]
- movs r0, 0x7
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0xA]
- mov r1, sp
- ldr r5, [sp, 0x4C]
- movs r6, 0x1
- ands r5, r6
- lsls r2, r5, 1
- ldrb r0, [r1, 0xB]
- mov r3, r8
- ands r3, r0
- orrs r3, r2
- mov r8, r3
- strb r3, [r1, 0xB]
- mov r0, sp
- ldr r4, [sp, 0x50]
- ands r4, r6
- mov r5, r8
- ands r5, r7
- orrs r5, r4
- strb r5, [r0, 0xB]
- bl sub_800FE50
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8027E30
-
- thumb_func_start sub_8028164
-sub_8028164: @ 8028164
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r0, [sp, 0x1C]
- mov r12, r0
- ldr r1, [sp, 0x20]
- mov r8, r1
- ldr r0, [sp, 0x24]
- mov r9, r0
- adds r2, r7, 0
- adds r2, 0x14
- ldr r4, =gRecvCmds
- ldrh r0, [r4]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _0802819C
- adds r3, r4, 0x2
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- beq _080281A4
-_0802819C:
- movs r0, 0
- b _080282DE
- .pool
-_080281A4:
- ldrb r0, [r3, 0x1]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0xB]
- ldrb r0, [r3, 0x1]
- lsrs r0, 4
- strb r0, [r2, 0xC]
- ldrb r0, [r3, 0x2]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0xD]
- ldrb r0, [r3, 0x2]
- lsrs r0, 4
- strb r0, [r2, 0xE]
- ldrb r0, [r3, 0x3]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0xF]
- ldrb r0, [r3, 0x3]
- lsrs r0, 4
- strb r0, [r2, 0x10]
- ldrb r0, [r3, 0x4]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0x11]
- ldrb r0, [r3, 0x4]
- lsrs r0, 4
- strb r0, [r2, 0x12]
- ldrb r0, [r3, 0x5]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0x13]
- ldrb r0, [r3, 0x5]
- lsrs r0, 4
- strb r0, [r2, 0x14]
- ldrb r0, [r3, 0x1]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0x15]
- ldrb r0, [r3, 0x6]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r7, 0x14]
- ldrb r0, [r3, 0x6]
- lsls r0, 28
- lsrs r0, 30
- strb r0, [r2, 0x1]
- ldrb r0, [r3, 0x6]
- lsls r0, 26
- lsrs r0, 30
- strb r0, [r2, 0x2]
- ldrb r0, [r3, 0x6]
- lsrs r0, 6
- strb r0, [r2, 0x3]
- ldrb r0, [r3, 0x7]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r2, 0x4]
- ldrb r0, [r3, 0x7]
- lsls r0, 28
- lsrs r0, 30
- strb r0, [r2, 0x5]
- ldrb r0, [r3, 0x7]
- lsls r0, 26
- lsrs r0, 30
- strb r0, [r2, 0x6]
- ldrb r0, [r3, 0x7]
- lsrs r0, 6
- strb r0, [r2, 0x7]
- ldrb r0, [r3, 0x8]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r2, 0x8]
- ldrb r0, [r3, 0x8]
- lsls r0, 28
- lsrs r0, 30
- strb r0, [r2, 0x9]
- ldrb r0, [r3, 0x6]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r2, 0xA]
- ldrb r0, [r3, 0x8]
- lsls r0, 26
- lsrs r0, 30
- strb r0, [r5]
- ldrb r0, [r3, 0x9]
- lsls r0, 25
- lsrs r0, 31
- strb r0, [r5, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 29
- lsrs r0, 31
- strb r0, [r5, 0x8]
- ldrb r0, [r3, 0x8]
- lsrs r0, 6
- strb r0, [r6]
- ldrb r0, [r3, 0x9]
- lsrs r0, 7
- strb r0, [r6, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 28
- lsrs r0, 31
- strb r0, [r6, 0x8]
- ldrb r0, [r3, 0x9]
- lsls r0, 30
- lsrs r0, 30
- mov r1, r12
- strb r0, [r1]
- ldrb r0, [r3, 0xA]
- lsls r0, 31
- lsrs r0, 31
- strb r0, [r1, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 27
- lsrs r0, 31
- strb r0, [r1, 0x8]
- ldrb r0, [r3, 0x9]
- lsls r0, 28
- lsrs r0, 30
- mov r1, r8
- strb r0, [r1]
- ldrb r0, [r3, 0xA]
- lsls r0, 30
- lsrs r0, 31
- strb r0, [r1, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 26
- lsrs r0, 31
- strb r0, [r1, 0x8]
- ldrb r0, [r3, 0x9]
- lsls r0, 26
- lsrs r0, 30
- mov r1, r9
- strb r0, [r1]
- ldrb r0, [r3, 0xA]
- lsls r0, 29
- lsrs r0, 31
- strb r0, [r1, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 25
- lsrs r0, 31
- strb r0, [r1, 0x8]
- ldrb r0, [r3, 0xA]
- lsrs r0, 3
- ldr r1, [sp, 0x28]
- strb r0, [r1]
- ldrb r0, [r3, 0xB]
- lsls r0, 30
- lsrs r0, 31
- ldr r1, [sp, 0x2C]
- str r0, [r1]
- ldrb r0, [r3, 0xB]
- lsls r0, 31
- lsrs r0, 31
- ldr r1, [sp, 0x30]
- str r0, [r1]
- movs r0, 0x1
-_080282DE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8028164
-
- thumb_func_start sub_80282EC
-sub_80282EC: @ 80282EC
- push {lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =0xffffff00
- ldr r1, [sp]
- ands r1, r3
- movs r2, 0x3
- orrs r1, r2
- str r1, [sp]
- ldr r1, [sp, 0x4]
- ands r1, r3
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r0, sp
- bl sub_800FE50
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80282EC
-
- thumb_func_start sub_8028318
-sub_8028318: @ 8028318
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldr r3, =gRecvCmds
- ldrh r0, [r3]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _0802833C
- lsls r0, r2, 4
- adds r1, r3, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x3
- beq _08028344
-_0802833C:
- movs r0, 0
- b _0802834A
- .pool
-_08028344:
- ldrb r0, [r1, 0x4]
- strb r0, [r4]
- movs r0, 0x1
-_0802834A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8028318
-
- thumb_func_start sub_8028350
-sub_8028350: @ 8028350
- push {lr}
- sub sp, 0x8
- ldr r2, =0xffffff00
- ldr r1, [sp]
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- str r1, [sp]
- str r0, [sp, 0x4]
- mov r0, sp
- bl sub_800FE50
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028350
-
- thumb_func_start sub_8028374
-sub_8028374: @ 8028374
- push {lr}
- adds r2, r0, 0
- ldr r3, =gRecvCmds
- ldrh r0, [r3]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _08028396
- lsls r0, r2, 4
- adds r1, r3, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x4
- beq _080283A0
-_08028396:
- movs r0, 0
- b _080283A2
- .pool
-_080283A0:
- ldr r0, [r1, 0x4]
-_080283A2:
- pop {r1}
- bx r1
- thumb_func_end sub_8028374
-
- thumb_func_start sub_80283A8
-sub_80283A8: @ 80283A8
- push {r4,r5,lr}
- sub sp, 0x18
- movs r5, 0xC0
- lsls r5, 6
- adds r0, r5, 0
- bl AllocZeroed
- adds r4, r0, 0
- ldr r0, =gUnknown_082FB2D8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r0, =gUnknown_082FB2E0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- ldr r0, =gDodrioBerryPkmnGfx
- adds r1, r4, 0
- bl LZ77UnCompWram
- cmp r4, 0
- beq _080283E8
- str r4, [sp]
- str r5, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl Free
-_080283E8:
- add r0, sp, 0x8
- bl LoadSpritePalette
- add r0, sp, 0x10
- bl LoadSpritePalette
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80283A8
-
- thumb_func_start sub_8028408
-sub_8028408: @ 8028408
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x30
- adds r6, r1, 0
- mov r8, r2
- adds r5, r3, 0
- lsls r6, 24
- lsrs r6, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r5, 24
- lsrs r5, 24
- add r1, sp, 0x18
- movs r3, 0
- strh r3, [r1]
- ldrb r2, [r0]
- mov r0, sp
- adds r0, 0x1A
- strh r2, [r0]
- ldr r0, =gUnknown_082FB1E0
- str r0, [sp, 0x1C]
- ldr r0, =gUnknown_082FB228
- str r0, [sp, 0x20]
- str r3, [sp, 0x24]
- ldr r0, =gDummySpriteAffineAnimTable
- str r0, [sp, 0x28]
- ldr r0, =sub_80284A8
- str r0, [sp, 0x2C]
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- movs r0, 0x4
- bl AllocZeroed
- ldr r1, =gUnknown_02022C9C
- mov r2, r8
- lsls r4, r2, 2
- adds r4, r1
- str r0, [r4]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8028F14
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- mov r0, sp
- movs r2, 0x88
- movs r3, 0x3
- bl CreateSprite
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- movs r0, 0x1
- mov r1, r8
- bl sub_8028654
- add sp, 0x30
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028408
-
- thumb_func_start sub_80284A8
-sub_80284A8: @ 80284A8
- push {lr}
- movs r2, 0x2E
- ldrsh r1, [r0, r2]
- cmp r1, 0x1
- beq _080284BC
- cmp r1, 0x1
- ble _080284C6
- cmp r1, 0x2
- beq _080284C2
- b _080284C6
-_080284BC:
- bl sub_802853C
- b _080284C6
-_080284C2:
- bl sub_80285AC
-_080284C6:
- pop {r0}
- bx r0
- thumb_func_end sub_80284A8
-
- thumb_func_start sub_80284CC
-sub_80284CC: @ 80284CC
- push {lr}
- bl GetMultiplayerId
- ldr r1, =gUnknown_02022C9C
- lsls r0, 24
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x32]
- strh r2, [r0, 0x34]
- strh r2, [r0, 0x36]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80284CC
-
- thumb_func_start sub_8028504
-sub_8028504: @ 8028504
- push {lr}
- bl GetMultiplayerId
- ldr r1, =gUnknown_02022C9C
- lsls r0, 24
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r2, 0
- movs r1, 0x2
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x32]
- strh r2, [r0, 0x34]
- strh r2, [r0, 0x36]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028504
-
- thumb_func_start sub_802853C
-sub_802853C: @ 802853C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r2, r0, 16
- lsrs r0, 31
- adds r0, r2, r0
- asrs r1, r0, 1
- adds r0, r1, 0
- cmp r1, 0
- bge _08028558
- adds r0, r1, 0x3
-_08028558:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r2, 0x2
- ble _080285A2
- cmp r0, 0x2
- bgt _0802856E
- cmp r0, 0x1
- bge _08028572
-_0802856E:
- movs r0, 0x1
- b _08028574
-_08028572:
- movs r0, 0xFF
-_08028574:
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x27
- ble _080285A2
- movs r0, 0
- strh r0, [r4, 0x2E]
- bl sub_8027650
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_8028F14
- strh r0, [r4, 0x20]
-_080285A2:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802853C
-
- thumb_func_start sub_80285AC
-sub_80285AC: @ 80285AC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xD
- bl __divsi3
- lsls r0, 16
- asrs r1, r0, 16
- adds r0, r1, 0
- cmp r1, 0
- bge _080285CC
- adds r0, r1, 0x3
-_080285CC:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- movs r1, 0xD
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _080285F0
- cmp r4, 0
- beq _080285F0
- movs r0, 0xD4
- bl PlaySE
-_080285F0:
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0x67
- ble _080285FE
- movs r0, 0
- strh r0, [r5, 0x2E]
- movs r4, 0
-_080285FE:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl sub_80286B4
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80285AC
-
- thumb_func_start sub_8028614
-sub_8028614: @ 8028614
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _08028646
- ldr r6, =gUnknown_02022C9C
-_08028622:
- lsls r0, r4, 2
- adds r0, r6
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- cmp r0, 0
- beq _0802863C
- bl DestroySpriteAndFreeResources
-_0802863C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08028622
-_08028646:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028614
-
- thumb_func_start sub_8028654
-sub_8028654: @ 8028654
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, =gSprites
- ldr r2, =gUnknown_02022C9C
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- ldrh r1, [r1]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- adds r2, 0x3E
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- ldrb r3, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- orrs r1, r0
- strb r1, [r2]
- bx lr
- .pool
- thumb_func_end sub_8028654
-
- thumb_func_start sub_802868C
-sub_802868C: @ 802868C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r4, 0
- cmp r4, r5
- bcs _080286AE
-_0802869C:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8028654
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _0802869C
-_080286AE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802868C
-
- thumb_func_start sub_80286B4
-sub_80286B4: @ 80286B4
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_02022C9C
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ldrh r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r2, =gSprites
- adds r0, r2
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80286B4
-
- thumb_func_start nullsub_15
-nullsub_15: @ 80286E0
- bx lr
- thumb_func_end nullsub_15
-
- thumb_func_start sub_80286E4
-sub_80286E4: @ 80286E4
- push {r4-r7,lr}
- movs r4, 0
- ldr r0, =gSprites
- mov r12, r0
- movs r6, 0
- ldr r5, =gUnknown_02022CF4
-_080286F0:
- ldr r3, [r5]
- lsls r1, r4, 1
- adds r0, r3, 0
- adds r0, 0x2A
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- lsls r0, r4, 4
- adds r0, 0x30
- strh r0, [r1, 0x20]
- lsls r2, r4, 3
- movs r7, 0x8
- negs r7, r7
- adds r0, r7, 0
- subs r0, r2
- strh r0, [r1, 0x22]
- adds r3, 0xC
- adds r3, r4
- strb r6, [r3]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _080286F0
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80286E4
-
- thumb_func_start sub_8028734
-sub_8028734: @ 8028734
- push {r4-r6,lr}
- sub sp, 0x28
- movs r4, 0xC0
- lsls r4, 1
- adds r0, r4, 0
- bl AllocZeroed
- adds r6, r0, 0
- ldr r0, =gUnknown_082FB2E8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- ldr r0, =gDodrioBerryStatusGfx
- adds r1, r6, 0
- bl LZ77UnCompWram
- cmp r6, 0
- beq _080287C4
- str r6, [sp, 0x18]
- add r5, sp, 0x18
- movs r0, 0x80
- lsls r0, 9
- orrs r0, r4
- str r0, [r5, 0x4]
- mov r1, sp
- ldr r0, =gUnknown_082FB2F0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r4, =gUnknown_02022CF4
- movs r0, 0x40
- bl AllocZeroed
- str r0, [r4]
- adds r0, r5, 0
- bl LoadSpriteSheet
- add r0, sp, 0x20
- bl LoadSpritePalette
- movs r4, 0
-_0802878A:
- lsls r1, r4, 20
- movs r0, 0xC0
- lsls r0, 14
- adds r1, r0
- asrs r1, 16
- lsls r0, r4, 3
- movs r3, 0x8
- negs r3, r3
- adds r2, r3, 0
- subs r2, r0
- lsls r2, 16
- asrs r2, 16
- mov r0, sp
- movs r3, 0
- bl CreateSprite
- ldr r1, =gUnknown_02022CF4
- ldr r1, [r1]
- lsls r2, r4, 1
- adds r1, 0x2A
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _0802878A
-_080287C4:
- adds r0, r6, 0
- bl Free
- add sp, 0x28
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028734
-
- thumb_func_start sub_80287E4
-sub_80287E4: @ 80287E4
- push {r4,r5,lr}
- movs r4, 0
-_080287E8:
- ldr r5, =gUnknown_02022CF4
- ldr r0, [r5]
- lsls r1, r4, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- cmp r0, 0
- beq _08028806
- bl DestroySpriteAndFreeResources
-_08028806:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _080287E8
- ldr r0, [r5]
- bl Free
- movs r0, 0
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80287E4
-
- thumb_func_start sub_8028828
-sub_8028828: @ 8028828
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r3, 0
- movs r6, 0
- ldr r0, =gUnknown_02022CF4
- mov r9, r0
-_0802883A:
- mov r7, r9
- ldr r2, [r7]
- lsls r5, r6, 1
- adds r0, r2, 0
- adds r0, 0x2A
- adds r0, r5
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- adds r0, r2, 0
- adds r0, 0x16
- adds r0, r5
- movs r1, 0x2
- strh r1, [r0]
- adds r0, r2, 0
- adds r0, 0xC
- adds r2, r0, r6
- ldrb r1, [r2]
- cmp r1, 0
- beq _08028870
- movs r7, 0x22
- ldrsh r0, [r4, r7]
- cmp r0, 0x8
- beq _080288A6
-_08028870:
- movs r3, 0x1
- movs r7, 0x22
- ldrsh r0, [r4, r7]
- cmp r0, 0x8
- bne _08028896
- cmp r1, 0
- bne _080288A6
- strb r3, [r2]
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0x16
- adds r0, r5
- ldr r1, =0x0000fff0
- strh r1, [r0]
- movs r0, 0x24
- str r3, [sp]
- bl PlaySE
- ldr r3, [sp]
-_08028896:
- mov r7, r9
- ldr r0, [r7]
- adds r0, 0x16
- adds r0, r5
- ldrh r0, [r0]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_080288A6:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x9
- bls _0802883A
- cmp r3, 0
- bne _080288C4
- movs r0, 0x1
- b _080288C6
- .pool
-_080288C4:
- movs r0, 0
-_080288C6:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8028828
-
- thumb_func_start sub_80288D4
-sub_80288D4: @ 80288D4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _08028910
- movs r4, 0
-_080288E0:
- ldr r0, =gUnknown_02022CF4
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _080288E0
- b _080289DA
- .pool
-_08028910:
- movs r4, 0
- movs r0, 0xA
- subs r0, r5
- cmp r4, r0
- bge _080289D6
- ldr r6, =gSprites
-_0802891C:
- cmp r5, 0x6
- bls _08028984
- ldr r0, =gUnknown_02022CF4
- ldr r2, [r0]
- ldr r1, =0x0000fffa
- adds r0, r1, 0
- ldrh r1, [r2, 0x3E]
- adds r0, r1
- adds r0, r5
- movs r1, 0
- strh r0, [r2, 0x3E]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bls _0802894C
- strh r1, [r2, 0x3E]
- b _0802899E
- .pool
-_0802894C:
- cmp r0, 0xA
- bls _0802896A
- lsls r1, r4, 1
- adds r0, r2, 0
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x2
- bl StartSpriteAnim
- b _0802899E
-_0802896A:
- lsls r1, r4, 1
- adds r0, r2, 0
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0
- bl StartSpriteAnim
- b _0802899E
-_08028984:
- ldr r0, =gUnknown_02022CF4
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0
- bl StartSpriteAnim
-_0802899E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0xA
- subs r0, r5
- cmp r4, r0
- blt _0802891C
- b _080289D6
- .pool
-_080289B4:
- ldr r0, =gUnknown_02022CF4
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080289D6:
- cmp r4, 0x9
- bls _080289B4
-_080289DA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80288D4
-
- thumb_func_start sub_80289E8
-sub_80289E8: @ 80289E8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldr r7, =gSprites
- movs r1, 0x1
- ands r0, r1
- lsls r4, r0, 2
- movs r6, 0x5
- negs r6, r6
- ldr r5, =gUnknown_02022CF4
-_080289FE:
- ldr r0, [r5]
- lsls r1, r3, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r4
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x9
- bls _080289FE
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80289E8
-
- thumb_func_start sub_8028A34
-sub_8028A34: @ 8028A34
- push {r4,r5,lr}
- sub sp, 0x10
- movs r5, 0x90
- lsls r5, 3
- adds r0, r5, 0
- bl AllocZeroed
- adds r4, r0, 0
- ldr r0, =gUnknown_082FB314
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r0, =gDodrioBerrySpritesGfx
- adds r1, r4, 0
- bl LZ77UnCompWram
- cmp r4, 0
- beq _08028A6A
- str r4, [sp]
- movs r0, 0x80
- lsls r0, 10
- orrs r0, r5
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
-_08028A6A:
- add r0, sp, 0x8
- bl LoadSpritePalette
- adds r0, r4, 0
- bl Free
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028A34
-
- thumb_func_start sub_8028A88
-sub_8028A88: @ 8028A88
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x30
- mov r1, sp
- ldr r0, =gUnknown_082FB324
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- add r2, sp, 0x18
- adds r1, r2, 0
- ldr r0, =gUnknown_082FB33C
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- movs r5, 0
- mov r9, r2
-_08028AB0:
- movs r0, 0x4
- bl AllocZeroed
- ldr r1, =gUnknown_02022CB8
- lsls r4, r5, 2
- adds r4, r1
- str r0, [r4]
- lsls r0, r5, 3
- lsls r1, r5, 4
- adds r1, r0
- mov r0, sp
- movs r2, 0x8
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8028BF8
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _08028AB0
- movs r5, 0
- ldr r7, =gUnknown_02022CE4
- ldr r4, =gUnknown_082FB31C
- mov r8, r4
-_08028AF0:
- movs r0, 0x4
- bl AllocZeroed
- lsls r1, r5, 2
- adds r4, r1, r7
- str r0, [r4]
- adds r6, r1, 0
- cmp r5, 0x3
- bne _08028B2C
- mov r0, r8
- movs r2, 0x6
- ldrsh r1, [r0, r2]
- mov r0, r9
- movs r2, 0x31
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7, 0xC]
- b _08028B40
- .pool
-_08028B2C:
- lsls r0, r5, 1
- add r0, r8
- movs r3, 0
- ldrsh r1, [r0, r3]
- mov r0, r9
- movs r2, 0x34
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
-_08028B40:
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- adds r0, r6, r7
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r1, r5, 0
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08028AF0
- movs r0, 0x1
- bl sub_8028C30
- add sp, 0x30
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028A88
-
- thumb_func_start sub_8028B80
-sub_8028B80: @ 8028B80
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, =gUnknown_02022CB8
-_08028B86:
- lsls r0, r5, 2
- adds r4, r0, r6
- ldr r0, [r4]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- cmp r0, 0
- beq _08028BA0
- bl DestroySprite
-_08028BA0:
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _08028B86
- movs r5, 0
- ldr r6, =gUnknown_02022CE4
-_08028BB8:
- lsls r0, r5, 2
- adds r4, r0, r6
- ldr r0, [r4]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- cmp r0, 0
- beq _08028BD2
- bl DestroySprite
-_08028BD2:
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08028BB8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028B80
-
- thumb_func_start sub_8028BF8
-sub_8028BF8: @ 8028BF8
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gSprites
- ldr r2, =gUnknown_02022CB8
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- adds r2, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_8028BF8
-
- thumb_func_start sub_8028C30
-sub_8028C30: @ 8028C30
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldr r7, =gSprites
- ldr r6, =gUnknown_02022CE4
- movs r1, 0x1
- ands r0, r1
- lsls r4, r0, 2
- movs r5, 0x5
- negs r5, r5
-_08028C46:
- lsls r0, r3, 2
- adds r0, r6
- ldr r0, [r0]
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r4
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _08028C46
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028C30
-
- thumb_func_start sub_8028C7C
-sub_8028C7C: @ 8028C7C
- lsls r0, 24
- lsls r1, 24
- ldr r3, =gSprites
- ldr r2, =gUnknown_02022CB8
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ldrh r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- lsrs r1, 21
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end sub_8028C7C
-
- thumb_func_start sub_8028CA4
-sub_8028CA4: @ 8028CA4
- push {lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_02022CB8
- lsrs r0, 14
- adds r0, r2
- ldr r0, [r0]
- ldrh r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r2, =gSprites
- adds r0, r2
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028CA4
-
- thumb_func_start sub_8028CD0
-sub_8028CD0: @ 8028CD0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, 0x32
- strh r1, [r2, 0x20]
- movs r0, 0x32
- strh r0, [r2, 0x22]
- bx lr
- .pool
- thumb_func_end sub_8028CD0
-
- thumb_func_start sub_8028CF4
-sub_8028CF4: @ 8028CF4
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r0, 0x42
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _08028D36
- movs r3, 0
- ldr r7, =gUnknown_082FB354
- ldr r6, =gUnknown_02022CB0
- movs r5, 0
-_08028D0A:
- lsls r0, r3, 2
- adds r2, r0, r6
- ldr r1, [r2]
- ldrh r0, [r1, 0x2]
- adds r0, 0x1
- strh r0, [r1, 0x2]
- adds r1, r3, r7
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1]
- cmp r0, r1
- bls _08028D2C
- ldrh r0, [r4, 0x20]
- subs r0, 0x1
- strh r0, [r4, 0x20]
- ldr r0, [r2]
- strh r5, [r0, 0x2]
-_08028D2C:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _08028D0A
-_08028D36:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028CF4
-
- thumb_func_start sub_8028D44
-sub_8028D44: @ 8028D44
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x28
- movs r4, 0x80
- lsls r4, 3
- adds r0, r4, 0
- bl AllocZeroed
- adds r6, r0, 0
- ldr r0, =gUnknown_082FB360
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- ldr r0, =gDodrioBerryPlatformGfx
- adds r1, r6, 0
- bl LZ77UnCompWram
- cmp r6, 0
- beq _08028DD2
- str r6, [sp, 0x18]
- add r0, sp, 0x18
- movs r1, 0xA0
- lsls r1, 11
- orrs r1, r4
- str r1, [r0, 0x4]
- mov r2, sp
- ldr r1, =gUnknown_082FB368
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- bl LoadSpriteSheet
- add r0, sp, 0x20
- bl LoadSpritePalette
- movs r5, 0
- ldr r7, =gUnknown_082FB356
- adds r0, r7, 0x2
- mov r9, r0
- ldr r1, =gUnknown_02022CB0
- mov r8, r1
-_08028D9E:
- movs r0, 0x4
- bl AllocZeroed
- lsls r2, r5, 2
- mov r3, r8
- adds r4, r2, r3
- str r0, [r4]
- adds r0, r2, r7
- movs r3, 0
- ldrsh r1, [r0, r3]
- add r2, r9
- movs r0, 0
- ldrsh r2, [r2, r0]
- mov r0, sp
- movs r3, 0x4
- bl CreateSprite
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _08028D9E
-_08028DD2:
- adds r0, r6, 0
- bl Free
- add sp, 0x28
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028D44
-
- thumb_func_start sub_8028DFC
-sub_8028DFC: @ 8028DFC
- push {r4-r7,lr}
- movs r3, 0
- ldr r0, =gUnknown_02022CB0
- mov r12, r0
- ldr r4, =gUnknown_082FB356
- adds r7, r4, 0x2
- ldr r6, =gSprites
- movs r5, 0x1
-_08028E0C:
- lsls r2, r3, 2
- mov r1, r12
- adds r0, r2, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r0, r1, 0
- adds r0, 0x42
- strh r5, [r0]
- adds r0, r2, r4
- ldrh r0, [r0]
- strh r0, [r1, 0x20]
- adds r2, r7
- ldrh r0, [r2]
- strh r0, [r1, 0x22]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _08028E0C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028DFC
-
- thumb_func_start sub_8028E4C
-sub_8028E4C: @ 8028E4C
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, =gUnknown_02022CB0
- ldr r4, =gSprites
- movs r3, 0
-_08028E56:
- lsls r0, r2, 2
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x42
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bls _08028E56
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028E4C
-
- thumb_func_start sub_8028E84
-sub_8028E84: @ 8028E84
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, =gUnknown_02022CB0
-_08028E8A:
- lsls r0, r5, 2
- adds r4, r0, r6
- ldr r0, [r4]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- cmp r0, 0
- beq _08028EA4
- bl DestroySprite
-_08028EA4:
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _08028E8A
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028E84
-
- thumb_func_start sub_8028EC8
-sub_8028EC8: @ 8028EC8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldr r7, =gSprites
- ldr r6, =gUnknown_02022CB0
- movs r1, 0x1
- ands r0, r1
- lsls r4, r0, 2
- movs r5, 0x5
- negs r5, r5
-_08028EDE:
- lsls r0, r3, 2
- adds r0, r6
- ldr r0, [r0]
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r4
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _08028EDE
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028EC8
-
- thumb_func_start sub_8028F14
-sub_8028F14: @ 8028F14
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0
- subs r0, r1, 0x1
- cmp r0, 0x4
- bhi _08028FC6
- lsls r0, 2
- ldr r1, =_08028F34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08028F34:
- .4byte _08028FB4
- .4byte _08028F48
- .4byte _08028F52
- .4byte _08028F66
- .4byte _08028F8E
-_08028F48:
- cmp r2, 0
- beq _08028F7E
- cmp r2, 0x1
- bne _08028FC6
- b _08028F82
-_08028F52:
- cmp r2, 0x1
- beq _08028FB8
- cmp r2, 0x1
- bgt _08028F60
- cmp r2, 0
- beq _08028FB4
- b _08028FC6
-_08028F60:
- cmp r2, 0x2
- bne _08028FC6
- b _08028FC4
-_08028F66:
- cmp r2, 0x1
- beq _08028F82
- cmp r2, 0x1
- bgt _08028F74
- cmp r2, 0
- beq _08028F7E
- b _08028FC6
-_08028F74:
- cmp r2, 0x2
- beq _08028F86
- cmp r2, 0x3
- beq _08028F8A
- b _08028FC6
-_08028F7E:
- movs r3, 0xC
- b _08028FC6
-_08028F82:
- movs r3, 0x12
- b _08028FC6
-_08028F86:
- movs r3, 0x18
- b _08028FC6
-_08028F8A:
- movs r3, 0x6
- b _08028FC6
-_08028F8E:
- cmp r2, 0x4
- bhi _08028FC6
- lsls r0, r2, 2
- ldr r1, =_08028FA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08028FA0:
- .4byte _08028FB4
- .4byte _08028FB8
- .4byte _08028FBC
- .4byte _08028FC0
- .4byte _08028FC4
-_08028FB4:
- movs r3, 0xF
- b _08028FC6
-_08028FB8:
- movs r3, 0x15
- b _08028FC6
-_08028FBC:
- movs r3, 0x1B
- b _08028FC6
-_08028FC0:
- movs r3, 0x3
- b _08028FC6
-_08028FC4:
- movs r3, 0x9
-_08028FC6:
- lsls r0, r3, 3
- pop {r1}
- bx r1
- thumb_func_end sub_8028F14
-
- thumb_func_start sub_8028FCC
-sub_8028FCC: @ 8028FCC
- push {r4,lr}
- movs r4, 0
-_08028FD0:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8028BF8
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8028C7C
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _08028FD0
- movs r0, 0
- bl sub_80289E8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8028FCC
-
- thumb_func_start sub_8028FF8
-sub_8028FF8: @ 8028FF8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl GetWindowFrameTilesPal
- ldr r1, [r0]
- movs r2, 0x90
- lsls r2, 1
- movs r0, 0
- movs r3, 0x1
- bl LoadBgTiles
- adds r0, r4, 0
- bl GetWindowFrameTilesPal
- ldr r0, [r0, 0x4]
- movs r1, 0xA0
- movs r2, 0x20
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8028FF8
-
- thumb_func_start sub_802902C
-sub_802902C: @ 802902C
- push {lr}
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xB0
- bl LoadUserWindowBorderGfx_
- pop {r0}
- bx r0
- thumb_func_end sub_802902C
-
- thumb_func_start sub_802903C
-sub_802903C: @ 802903C
- ldr r3, =gUnknown_02022CF8
- ldr r0, [r3]
- movs r2, 0xC0
- lsls r2, 6
- adds r1, r0, r2
- movs r2, 0
- str r2, [r1]
- ldr r1, =0x00003014
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r1, 0x4
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r1, 0x8
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r1, 0x4
- adds r0, r1
- strb r2, [r0]
- bx lr
- .pool
- thumb_func_end sub_802903C
-
- thumb_func_start sub_8029074
-sub_8029074: @ 8029074
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r6, 0xA
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x3]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x3
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x4
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x6
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r0, [r4, 0x2]
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x7
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x4]
- ldrb r0, [r4, 0x2]
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x3]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x8
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r4, [r4, 0x2]
- adds r3, r4
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x9
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8029074
-
- thumb_func_start sub_8029174
-sub_8029174: @ 8029174
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r6, 0xB
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xA
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x3]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xB
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xC
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xD
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xF
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r0, [r4, 0x2]
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x10
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x4]
- ldrb r0, [r4, 0x2]
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x3]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x11
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r4, [r4, 0x2]
- adds r3, r4
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x12
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8029174
-
- thumb_func_start sub_8029274
-sub_8029274: @ 8029274
- push {r4,lr}
- ldr r4, =gUnknown_02022CF8
- str r0, [r4]
- movs r2, 0xC0
- lsls r2, 6
- adds r1, r0, r2
- movs r2, 0
- str r2, [r1]
- ldr r3, =0x00003014
- adds r1, r0, r3
- strb r2, [r1]
- ldr r1, =0x00003018
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r3, 0xC
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- adds r1, 0xC
- adds r0, r1
- strb r2, [r0]
- ldr r0, =sub_8029314
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- ldr r2, =0x00003004
- adds r1, r2
- strb r0, [r1]
- ldr r0, =sub_8029338
- bl sub_802A72C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8029274
-
- thumb_func_start sub_80292D4
-sub_80292D4: @ 80292D4
- push {lr}
- bl FreeAllWindowBuffers
- pop {r0}
- bx r0
- thumb_func_end sub_80292D4
-
- thumb_func_start sub_80292E0
-sub_80292E0: @ 80292E0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r5, =gUnknown_082FB40C
- adds r7, r5, 0x4
-_080292EC:
- lsls r1, r4, 3
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, r6
- bne _080292FE
- adds r0, r1, r7
- ldr r0, [r0]
- bl sub_802A72C
-_080292FE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _080292EC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80292E0
-
- thumb_func_start sub_8029314
-sub_8029314: @ 8029314
- push {lr}
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _0802932E
- bl sub_802A75C
- bl _call_via_r0
-_0802932E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8029314
-
- thumb_func_start sub_8029338
-sub_8029338: @ 8029338
- push {lr}
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r2, =0x00003014
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _08029430
- lsls r0, 2
- ldr r1, =_08029360
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08029360:
- .4byte _08029374
- .4byte _0802937A
- .4byte _08029394
- .4byte _080293D8
- .4byte _08029404
-_08029374:
- bl sub_802A7A8
- b _08029414
-_0802937A:
- bl sub_802A8E8
- cmp r0, 0x1
- bne _0802943A
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r2, =0x00003014
- adds r1, r2
- b _0802941C
- .pool
-_08029394:
- ldr r1, =gDodrioBerryBgTilemap1
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, =gDodrioBerryBgTilemap2Left
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, =gDodrioBerryBgTilemap2Right
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- b _08029414
- .pool
-_080293D8:
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r2, =0x00003014
- adds r1, r2
- b _0802941C
- .pool
-_08029404:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl sub_8028FF8
- bl sub_802902C
-_08029414:
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x00003014
- adds r1, r0
-_0802941C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0802943A
- .pool
-_08029430:
- movs r2, 0xC0
- lsls r2, 6
- adds r1, r2
- movs r0, 0x1
- str r0, [r1]
-_0802943A:
- pop {r0}
- bx r0
- thumb_func_end sub_8029338
-
- thumb_func_start sub_8029440
-sub_8029440: @ 8029440
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r2, =0x00003014
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _08029488
- cmp r0, 0x1
- bne _08029460
- b _080295EC
-_08029460:
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB4
- bhi _0802946E
- b _0802968E
-_0802946E:
- bl sub_8027650
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- cmp r6, r7
- bcc _0802947E
- b _08029666
-_0802947E:
- b _08029640
- .pool
-_08029488:
- bl sub_8027650
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gUnknown_082FB3C8
- subs r0, r7, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r5, [r0]
- ldr r2, =0xffffff00
- ldr r0, [sp, 0xC]
- ands r0, r2
- ldr r1, =0x00ffffff
- ands r0, r1
- movs r1, 0xE0
- lsls r1, 19
- orrs r0, r1
- str r0, [sp, 0xC]
- ldr r0, [sp, 0x10]
- ands r0, r2
- movs r1, 0x2
- orrs r0, r1
- ldr r1, =0xffff00ff
- ands r0, r1
- movs r1, 0xD0
- lsls r1, 4
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0x98
- lsls r1, 13
- orrs r0, r1
- str r0, [sp, 0x10]
- movs r6, 0
- cmp r6, r7
- bcs _080295B8
- mov r3, sp
- adds r3, 0xC
- str r3, [sp, 0x18]
- mov r10, r4
- ldr r0, =0x00003008
- mov r9, r0
-_080294DC:
- movs r1, 0
- mov r8, r1
- adds r0, r6, 0
- bl sub_8027A48
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl sub_8027660
- adds r1, r0, 0
- movs r0, 0x1
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- movs r1, 0x38
- subs r1, r0
- lsrs r1, 1
- str r1, [sp, 0x14]
- ldrb r0, [r5]
- lsls r0, 8
- ldr r2, =0xffff00ff
- ldr r1, [sp, 0xC]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0xC]
- ldrb r2, [r5, 0x1]
- lsls r2, 16
- ldr r0, =0xff00ffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0xC]
- add r0, sp, 0xC
- bl AddWindow
- mov r2, r10
- ldr r1, [r2]
- add r1, r9
- adds r1, r6
- strb r0, [r1]
- ldr r0, [r2]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- bl ClearWindowTilemap
- mov r3, r10
- ldr r0, [r3]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0802955A
- movs r0, 0x2
- mov r8, r0
-_0802955A:
- adds r0, r4, 0
- bl sub_8027660
- adds r4, r0, 0
- mov r1, r10
- ldr r0, [r1]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- ldr r3, [sp, 0x14]
- lsls r2, r3, 24
- lsrs r2, 24
- mov r3, r8
- lsls r1, r3, 1
- add r1, r8
- ldr r3, =gUnknown_082FB380
- adds r1, r3
- str r1, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- mov r2, r10
- ldr r0, [r2]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r3, [sp, 0x18]
- ldrh r0, [r3, 0x6]
- adds r0, 0xE
- strh r0, [r3, 0x6]
- add r0, sp, 0xC
- bl sub_8029174
- adds r5, 0x4
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _080294DC
-_080295B8:
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x00003014
- adds r1, r0
- b _0802962A
- .pool
-_080295EC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802968E
- bl sub_8027650
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- cmp r6, r7
- bcs _0802961C
-_08029604:
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- adds r0, r6
- ldrb r0, [r0]
- bl PutWindowTilemap
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _08029604
-_0802961C:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r2, =0x00003014
- adds r1, r2
-_0802962A:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0802968E
- .pool
-_08029640:
- ldr r5, =gUnknown_02022CF8
- ldr r0, [r5]
- ldr r4, =0x00003008
- adds r0, r4
- adds r0, r6
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- adds r0, r6
- ldrb r0, [r0]
- bl RemoveWindow
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _08029640
-_08029666:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- movs r3, 0xC0
- lsls r3, 6
- adds r0, r3
- movs r1, 0x1
- str r1, [r0]
-_0802968E:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8029440
-
- thumb_func_start sub_80296A8
-sub_80296A8: @ 80296A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x6C
- lsls r0, 24
- movs r1, 0
- mov r8, r1
- movs r6, 0
- lsrs r7, r0, 24
- add r4, sp, 0x2C
- ldr r1, =gUnknown_082FB45C
- adds r0, r4, 0
- movs r2, 0x5
- bl memcpy
- movs r5, 0
- cmp r5, r7
- bcs _080296F8
- add r4, sp, 0x34
-_080296D2:
- mov r0, sp
- adds r0, r5
- adds r0, 0x2C
- strb r5, [r0]
- add r0, sp, 0x5C
- adds r1, r5, 0
- bl sub_802793C
- lsls r2, r5, 3
- adds r2, r4, r2
- ldr r0, [sp, 0x5C]
- ldr r1, [sp, 0x60]
- str r0, [r2]
- str r1, [r2, 0x4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _080296D2
-_080296F8:
- bl sub_8027748
- cmp r0, 0
- beq _0802972E
-_08029700:
- movs r5, 0
- cmp r5, r7
- bcs _08029728
- add r2, sp, 0x34
- add r1, sp, 0x2C
-_0802970A:
- lsls r0, r5, 3
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, r8
- bne _0802971E
- adds r0, r1, r6
- strb r5, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0802971E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _0802970A
-_08029728:
- mov r8, r6
- cmp r6, r7
- bcc _08029700
-_0802972E:
- movs r5, 0
- ldr r4, =gText_SpacePoints
- cmp r5, r7
- bcs _08029754
- add r1, sp, 0x34
- add r6, sp, 0x38
- subs r3, r7, 0x1
-_0802973C:
- lsls r2, r5, 3
- adds r0, r6, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _0802974A
- adds r0, r1, r2
- strb r3, [r0]
-_0802974A:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _0802973C
-_08029754:
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- movs r1, 0xD8
- subs r1, r0
- str r1, [sp, 0x64]
- movs r5, 0
- cmp r5, r7
- bcs _08029860
- mov r2, sp
- adds r2, 0x34
- str r2, [sp, 0x68]
- ldr r3, =0x00003009
- mov r10, r3
-_08029774:
- movs r0, 0
- mov r8, r0
- mov r0, sp
- adds r0, r5
- adds r0, 0x2C
- ldrb r0, [r0]
- adds r4, r0, 0
- lsls r1, r4, 3
- add r0, sp, 0x38
- adds r0, r1
- ldr r0, [r0]
- mov r9, r0
- ldr r2, =gUnknown_02022CF8
- ldr r0, [r2]
- add r0, r10
- ldrb r0, [r0]
- ldr r2, =gUnknown_082FB3DC
- ldr r3, [sp, 0x68]
- adds r1, r3, r1
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r3, =gUnknown_082FB402
- lsls r1, r5, 1
- adds r1, r3
- ldrb r6, [r1]
- str r6, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- mov r3, r8
- str r3, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080297CC
- movs r0, 0x2
- mov r8, r0
-_080297CC:
- adds r0, r4, 0
- bl sub_8027660
- adds r3, r0, 0
- ldr r1, =gUnknown_02022CF8
- ldr r0, [r1]
- add r0, r10
- ldrb r0, [r0]
- mov r2, r8
- lsls r1, r2, 1
- add r1, r8
- ldr r2, =gUnknown_082FB380
- adds r1, r2
- str r1, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r1, 0x1
- movs r2, 0x1C
- adds r3, r6, 0
- bl AddTextPrinterParameterized3
- add r0, sp, 0xC
- mov r1, r9
- movs r2, 0
- movs r3, 0x7
- bl ConvertIntToDecimalStringN
- movs r0, 0x1
- add r1, sp, 0xC
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- adds r3, r0, 0
- ldr r2, =gUnknown_02022CF8
- ldr r0, [r2]
- add r0, r10
- ldrb r0, [r0]
- ldr r1, [sp, 0x64]
- subs r3, r1, r3
- lsls r3, 24
- lsrs r3, 24
- str r6, [sp]
- movs r2, 0xFF
- str r2, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- add r2, sp, 0xC
- bl AddTextPrinterParameterized
- ldr r2, =gUnknown_02022CF8
- ldr r0, [r2]
- add r0, r10
- ldrb r0, [r0]
- ldr r1, [sp, 0x64]
- lsls r3, r1, 24
- str r6, [sp]
- movs r2, 0xFF
- str r2, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gText_SpacePoints
- lsrs r3, 24
- bl AddTextPrinterParameterized
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08029774
-_08029860:
- add sp, 0x6C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80296A8
-
- thumb_func_start sub_802988C
-sub_802988C: @ 802988C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- bl sub_8027650
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- ldr r6, =gUnknown_02022CF8
- ldr r1, [r6]
- ldr r2, =0x00003014
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xB
- bls _080298B2
- b _08029FA8
-_080298B2:
- lsls r0, 2
- ldr r1, =_080298C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080298C8:
- .4byte _080298F8
- .4byte _08029914
- .4byte _0802996C
- .4byte _08029B6C
- .4byte _08029BB8
- .4byte _08029BFC
- .4byte _08029C60
- .4byte _08029C9C
- .4byte _08029CE0
- .4byte _08029DA0
- .4byte _08029F08
- .4byte _08029F5C
-_080298F8:
- bl sub_802784C
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x0000301c
- adds r2, r1, r0
- movs r0, 0
- strh r0, [r2]
- b _08029F8A
- .pool
-_08029914:
- ldr r6, =gUnknown_082F7BBC
- adds r0, r6, 0
- bl AddWindow
- ldr r4, =gUnknown_02022CF8
- ldr r1, [r4]
- ldr r2, =0x00003008
- mov r8, r2
- add r1, r8
- strb r0, [r1]
- movs r0, 0x8
- adds r0, r6
- mov r9, r0
- bl AddWindow
- ldr r1, [r4]
- ldr r5, =0x00003009
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- add r0, r8
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r6, 0
- bl sub_8029174
- mov r0, r9
- bl sub_8029174
- b _08029F88
- .pool
-_0802996C:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r5, =0x00003008
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r4]
- ldr r1, =0x00003009
- mov r9, r1
- add r0, r9
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gText_BerryPickingResults
- mov r8, r2
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x1
- mov r1, r8
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0xE0
- subs r0, r1
- lsrs r3, r0, 1
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r6, 0xFF
- str r6, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- mov r2, r8
- bl AddTextPrinterParameterized
- ldr r0, [r4]
- add r0, r9
- ldrb r0, [r0]
- ldr r2, =gText_10P30P50P50P
- movs r1, 0x11
- str r1, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x44
- bl AddTextPrinterParameterized
- mov r9, r5
- ldr r0, [sp, 0xC]
- cmp r9, r0
- bcc _080299E2
- b _08029B2A
-_080299E2:
- movs r4, 0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r9, r0
- bne _080299F2
- movs r4, 0x2
-_080299F2:
- mov r0, r9
- bl sub_8027660
- adds r6, r0, 0
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r1, =0x00003009
- adds r0, r1
- ldrb r0, [r0]
- mov r2, r9
- lsls r5, r2, 1
- ldr r2, =gUnknown_082FB3F8
- adds r1, r5, r2
- ldrb r3, [r1]
- lsls r1, r4, 1
- adds r1, r4
- ldr r2, =gUnknown_082FB380
- adds r1, r2
- str r1, [sp]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r1, 0x1
- movs r2, 0
- bl AddTextPrinterParameterized3
- movs r7, 0
- mov r8, r5
- mov r0, r9
- adds r0, 0x1
- str r0, [sp, 0x10]
- ldr r1, =gStringVar4
- mov r10, r1
-_08029A36:
- mov r0, r9
- adds r1, r7, 0
- bl sub_80276A0
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000270f
- bl sub_8027A38
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r7, 0
- bl sub_802778C
- ldr r1, =0x0000270f
- bl sub_8027A38
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r10
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- movs r0, 0x1
- mov r1, r10
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- adds r5, r0, 0
- cmp r6, r4
- bne _08029AE0
- cmp r6, 0
- beq _08029AE0
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- lsls r1, r7, 1
- ldr r2, =gUnknown_082FB3F0
- adds r1, r2
- ldrb r2, [r1]
- subs r2, r5
- lsls r2, 24
- lsrs r2, 24
- ldr r1, =gUnknown_082FB3F8
- add r1, r8
- ldrb r3, [r1]
- ldr r1, =gUnknown_082FB383
- str r1, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- movs r1, 0x1
- bl AddTextPrinterParameterized3
- b _08029B10
- .pool
-_08029AE0:
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- lsls r1, r7, 1
- ldr r2, =gUnknown_082FB3F0
- adds r1, r2
- ldrb r3, [r1]
- subs r3, r5
- lsls r3, 24
- lsrs r3, 24
- ldr r1, =gUnknown_082FB3F8
- add r1, r8
- ldrb r1, [r1]
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar4
- bl AddTextPrinterParameterized
-_08029B10:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _08029A36
- ldr r1, [sp, 0x10]
- lsls r0, r1, 24
- lsrs r0, 24
- mov r9, r0
- ldr r2, [sp, 0xC]
- cmp r9, r2
- bcs _08029B2A
- b _080299E2
-_08029B2A:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r4]
- ldr r0, =0x00003014
- adds r1, r0
- b _08029F8E
- .pool
-_08029B6C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08029B90
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl PutWindowTilemap
-_08029B90:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl sub_8028C30
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x00003014
- adds r1, r0
- b _08029F8E
- .pool
-_08029BB8:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x0000301c
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bhi _08029BD0
- b _08029FF8
-_08029BD0:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08029BDE
- b _08029FF8
-_08029BDE:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_8028C30
- b _08029F88
- .pool
-_08029BFC:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r5, =0x00003008
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r4]
- ldr r1, =0x00003009
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r6, =gText_AnnouncingRankings
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x1
- adds r1, r6, 0
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0xE0
- subs r0, r1
- lsrs r3, r0, 1
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r6, 0
- bl AddTextPrinterParameterized
- b _08029F88
- .pool
-_08029C60:
- ldr r0, [sp, 0xC]
- bl sub_80296A8
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r4]
- ldr r0, =0x00003014
- adds r1, r0
- b _08029F8E
- .pool
-_08029C9C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08029CC0
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl PutWindowTilemap
-_08029CC0:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x00003014
- adds r1, r0
- b _08029F8E
- .pool
-_08029CE0:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x0000301c
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bhi _08029CF8
- b _08029FF8
-_08029CF8:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08029D06
- b _08029FF8
-_08029D06:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x5
- bl PlaySE
- bl sub_8027748
- ldr r1, =0x00000bb7
- cmp r0, r1
- bhi _08029D3C
- ldr r0, [r4]
- ldr r2, =0x00003014
- adds r0, r2
- movs r1, 0x7F
- strb r1, [r0]
- b _08029D4C
- .pool
-_08029D3C:
- bl StopMapMusic
- ldr r1, [r4]
- ldr r0, =0x00003014
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08029D4C:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x5
- bl FillBgTilemapBufferRect_Palette0
- ldr r5, =gUnknown_02022CF8
- ldr r0, [r5]
- ldr r4, =0x00003009
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r6, =gUnknown_082F7BCC
- adds r0, r6, 0
- bl AddWindow
- ldr r1, [r5]
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r6, 0
- bl sub_8029174
- b _08029FF8
- .pool
-_08029DA0:
- ldr r0, =0x0000016f
- bl PlayNewMapMusic
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r6, =0x00003008
- adds r0, r6
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r4]
- ldr r1, =0x00003009
- mov r10, r1
- add r0, r10
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, =gText_AnnouncingPrizes
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x1
- adds r1, r5, 0
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0xE0
- subs r0, r1
- lsrs r3, r0, 1
- ldr r0, [r4]
- adds r0, r6
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r2, 0x1
- mov r9, r2
- str r2, [sp]
- movs r1, 0xFF
- mov r8, r1
- str r1, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- bl DynamicPlaceholderTextUtil_Reset
- bl sub_802762C
- lsls r0, 16
- lsrs r0, 16
- ldr r5, =gStringVar1
- adds r1, r5, 0
- bl CopyItemName
- movs r0, 0
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r7, =gStringVar4
- ldr r1, =gText_FirstPlacePrize
- adds r0, r7, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r0, [r4]
- add r0, r10
- ldrb r0, [r0]
- mov r2, r9
- str r2, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- bl sub_80279C8
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- cmp r4, 0
- beq _08029EC8
- cmp r4, 0x3
- beq _08029EC8
- bl DynamicPlaceholderTextUtil_Reset
- bl sub_802762C
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl CopyItemName
- movs r0, 0
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- cmp r4, 0x2
- bne _08029E9C
- ldr r1, =gText_CantHoldAnyMore
- adds r0, r7, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- b _08029EA8
- .pool
-_08029E9C:
- cmp r6, 0x1
- bne _08029EA8
- ldr r1, =gText_FilledStorageSpace
- adds r0, r7, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
-_08029EA8:
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- ldr r2, =gStringVar4
- movs r1, 0x29
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
-_08029EC8:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r4]
- ldr r0, =0x00003014
- adds r1, r0
- b _08029F8E
- .pool
-_08029F08:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08029F2C
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl PutWindowTilemap
-_08029F2C:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =0x0000020b
- movs r1, 0x14
- movs r2, 0xA
- bl FadeOutAndFadeInNewMapMusic
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x00003014
- adds r1, r0
- b _08029F8E
- .pool
-_08029F5C:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x0000301c
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bls _08029FF8
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08029FF8
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x5
- bl PlaySE
-_08029F88:
- ldr r1, [r4]
-_08029F8A:
- ldr r2, =0x00003014
- adds r1, r2
-_08029F8E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08029FF8
- .pool
-_08029FA8:
- ldr r5, =0x00003008
- adds r0, r1, r5
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r6]
- ldr r4, =0x00003009
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, [r6]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
-_08029FF8:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802988C
-
- thumb_func_start sub_802A010
-sub_802A010: @ 802A010
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r1, =gUnknown_02022CF8
- ldr r2, [r1]
- ldr r3, =0x00003014
- adds r0, r2, r3
- ldrb r6, [r0]
- adds r7, r1, 0
- cmp r6, 0x1
- beq _0802A0CC
- cmp r6, 0x1
- bgt _0802A040
- cmp r6, 0
- beq _0802A04E
- b _0802A2FC
- .pool
-_0802A040:
- cmp r6, 0x2
- bne _0802A046
- b _0802A194
-_0802A046:
- cmp r6, 0x3
- bne _0802A04C
- b _0802A1D0
-_0802A04C:
- b _0802A2FC
-_0802A04E:
- ldr r0, =gUnknown_082F7BD4
- mov r9, r0
- bl AddWindow
- ldr r1, [r7]
- ldr r4, =0x00003008
- adds r1, r4
- strb r0, [r1]
- movs r1, 0x8
- add r1, r9
- mov r8, r1
- mov r0, r8
- bl AddWindow
- ldr r1, [r7]
- ldr r2, =0x00003009
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r7]
- ldr r3, =0x00003009
- adds r0, r3
- ldrb r0, [r0]
- bl ClearWindowTilemap
- mov r0, r9
- bl sub_8029174
- mov r0, r8
- bl sub_8029074
- ldr r1, [r7]
- ldr r0, =0x00003014
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r7]
- ldr r1, =0x00003020
- adds r0, r1
- strb r6, [r0]
- ldr r0, [r7]
- ldr r2, =0x00003024
- adds r0, r2
- strb r6, [r0]
- b _0802A35E
- .pool
-_0802A0CC:
- ldr r3, =0x00003008
- mov r8, r3
- adds r0, r2, r3
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r7]
- ldr r1, =0x00003009
- mov r10, r1
- add r0, r10
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r7]
- add r0, r8
- ldrb r0, [r0]
- ldr r2, =gText_WantToPlayAgain
- movs r1, 0x5
- str r1, [sp]
- movs r3, 0xFF
- mov r9, r3
- str r3, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r10
- ldrb r0, [r0]
- ldr r2, =gText_Yes
- str r6, [sp]
- mov r3, r9
- str r3, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r10
- ldrb r0, [r0]
- ldr r2, =gText_No
- movs r1, 0x11
- str r1, [sp]
- mov r3, r9
- str r3, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r10
- ldrb r0, [r0]
- ldr r2, =gText_SelectorArrow2
- str r6, [sp]
- mov r3, r9
- str r3, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r8
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r7]
- add r0, r10
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r7]
- ldr r2, =0x00003014
- adds r1, r2
- b _0802A2EA
- .pool
-_0802A194:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802A1B6
- ldr r0, [r7]
- ldr r3, =0x00003008
- adds r0, r3
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r7]
- ldr r1, =0x00003009
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
-_0802A1B6:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r7]
- ldr r2, =0x00003014
- adds r1, r2
- b _0802A2EA
- .pool
-_0802A1D0:
- ldr r3, =0x00003020
- adds r0, r2, r3
- ldrb r5, [r0]
- cmp r5, 0
- bne _0802A1DC
- movs r5, 0x1
-_0802A1DC:
- ldr r0, =0x00003009
- mov r8, r0
- adds r0, r2, r0
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r7]
- add r0, r8
- ldrb r0, [r0]
- ldr r2, =gText_Yes
- movs r1, 0x1
- str r1, [sp]
- movs r3, 0xFF
- mov r10, r3
- str r3, [sp, 0x4]
- movs r1, 0
- mov r9, r1
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r8
- ldrb r0, [r0]
- ldr r2, =gText_No
- movs r1, 0x11
- str r1, [sp]
- mov r3, r10
- str r3, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r8
- ldrb r0, [r0]
- ldr r2, =gText_SelectorArrow2
- subs r1, r5, 0x1
- lsls r1, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- mov r3, r10
- str r3, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r8
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r5, 0x1
- movs r2, 0x1
- ands r2, r1
- cmp r2, 0
- beq _0802A294
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r7]
- ldr r3, =0x00003020
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0
- bne _0802A2E4
- strb r5, [r1]
- b _0802A2E4
- .pool
-_0802A294:
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _0802A2CC
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r7]
- ldr r2, =0x00003020
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _0802A2C2
- cmp r0, 0x1
- bgt _0802A2BC
- cmp r0, 0
- beq _0802A2C2
- b _0802A35E
- .pool
-_0802A2BC:
- cmp r0, 0x2
- beq _0802A2C8
- b _0802A35E
-_0802A2C2:
- movs r0, 0x2
- strb r0, [r1]
- b _0802A35E
-_0802A2C8:
- strb r5, [r1]
- b _0802A35E
-_0802A2CC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0802A35E
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r7]
- ldr r3, =0x00003020
- adds r0, r3
- movs r1, 0x2
- strb r1, [r0]
-_0802A2E4:
- ldr r1, [r7]
- ldr r0, =0x00003014
- adds r1, r0
-_0802A2EA:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0802A35E
- .pool
-_0802A2FC:
- ldr r0, [r7]
- ldr r2, =0x00003020
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, =0x00003024
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r7]
- ldr r6, =0x00003008
- adds r0, r6
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r7]
- ldr r1, =0x00003009
- adds r0, r1
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r7]
- adds r0, r6
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r0, [r7]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl RemoveWindow
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, [r7]
- movs r3, 0xC0
- lsls r3, 6
- adds r0, r3
- movs r1, 0x1
- str r1, [r0]
-_0802A35E:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802A010
-
- thumb_func_start sub_802A380
-sub_802A380: @ 802A380
- push {r4-r6,lr}
- sub sp, 0x10
- ldr r5, =gUnknown_02022CF8
- ldr r0, [r5]
- ldr r6, =0x00003014
- adds r0, r6
- ldrb r4, [r0]
- cmp r4, 0x1
- beq _0802A3D8
- cmp r4, 0x1
- bgt _0802A3A4
- cmp r4, 0
- beq _0802A3AE
- b _0802A420
- .pool
-_0802A3A4:
- cmp r4, 0x2
- beq _0802A3EC
- cmp r4, 0x3
- beq _0802A404
- b _0802A420
-_0802A3AE:
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldr r2, =gText_SavingDontTurnOffPower
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized2
- b _0802A410
- .pool
-_0802A3D8:
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, [r5]
- ldr r0, =0x00003014
- adds r1, r0
- b _0802A414
- .pool
-_0802A3EC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802A448
- ldr r0, =sub_8153688
- movs r1, 0
- bl CreateTask
- b _0802A410
- .pool
-_0802A404:
- ldr r0, =sub_8153688
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0802A448
-_0802A410:
- ldr r1, [r5]
- adds r1, r6
-_0802A414:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0802A448
- .pool
-_0802A420:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
-_0802A448:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802A380
-
- thumb_func_start sub_802A454
-sub_802A454: @ 802A454
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r1, =gUnknown_02022CF8
- ldr r2, [r1]
- ldr r6, =0x00003014
- adds r0, r2, r6
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x1
- beq _0802A4AC
- cmp r0, 0x1
- bgt _0802A47C
- cmp r0, 0
- beq _0802A482
- b _0802A520
- .pool
-_0802A47C:
- cmp r0, 0x2
- beq _0802A4F4
- b _0802A520
-_0802A482:
- ldr r4, =gUnknown_082F7BEC
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r5]
- ldr r2, =0x00003008
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r2
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r4, 0
- bl sub_8029174
- b _0802A510
- .pool
-_0802A4AC:
- ldr r4, =0x00003008
- adds r0, r2, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- ldr r2, =gText_CommunicationStandby3
- movs r1, 0x5
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r5]
- ldr r0, =0x00003014
- adds r1, r0
- b _0802A514
- .pool
-_0802A4F4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802A50A
- ldr r0, [r5]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
-_0802A50A:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0802A510:
- ldr r1, [r5]
- adds r1, r6
-_0802A514:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0802A52C
- .pool
-_0802A520:
- ldr r0, [r5]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
-_0802A52C:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802A454
-
- thumb_func_start sub_802A534
-sub_802A534: @ 802A534
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r5, =gUnknown_02022CF8
- ldr r0, [r5]
- ldr r4, =0x00003008
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, [r5]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802A534
-
- thumb_func_start sub_802A588
-sub_802A588: @ 802A588
- push {r4-r7,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r7, =0x00003014
- adds r2, r1, r7
- ldrb r5, [r2]
- adds r6, r0, 0
- cmp r5, 0x1
- beq _0802A610
- cmp r5, 0x1
- bgt _0802A5B0
- cmp r5, 0
- beq _0802A5BA
- b _0802A6A4
- .pool
-_0802A5B0:
- cmp r5, 0x2
- beq _0802A658
- cmp r5, 0x3
- beq _0802A684
- b _0802A6A4
-_0802A5BA:
- ldr r4, =gUnknown_082F7BE4
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r6]
- ldr r2, =0x00003008
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r2
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r4, 0
- bl sub_8029174
- ldr r1, [r6]
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r6]
- ldr r2, =0x0000301c
- adds r1, r0, r2
- movs r2, 0
- strh r5, [r1]
- ldr r1, =0x00003020
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r6]
- adds r1, 0x4
- adds r0, r1
- strb r2, [r0]
- b _0802A6EA
- .pool
-_0802A610:
- ldr r4, =0x00003008
- adds r0, r1, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- ldr r2, =gText_SomeoneDroppedOut
- movs r1, 0x5
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r6]
- ldr r2, =0x00003014
- adds r1, r2
- b _0802A678
- .pool
-_0802A658:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802A66E
- ldr r0, [r6]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
-_0802A66E:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r6]
- adds r1, r7
-_0802A678:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0802A6EA
- .pool
-_0802A684:
- ldr r0, =0x0000301c
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x77
- bls _0802A6EA
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _0802A6EA
- .pool
-_0802A6A4:
- ldr r0, [r6]
- ldr r1, =0x00003024
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- ldr r0, [r6]
- ldr r4, =0x00003008
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, [r6]
- movs r2, 0xC0
- lsls r2, 6
- adds r0, r2
- movs r1, 0x1
- str r1, [r0]
-_0802A6EA:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802A588
-
- thumb_func_start unused_0
-unused_0: @ 802A6FC
- push {r4,lr}
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003004
- adds r0, r1
- ldrb r0, [r0]
- bl DestroyTask
- ldr r0, [r4]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end unused_0
-
- thumb_func_start nullsub_16
-nullsub_16: @ 802A728
- bx lr
- thumb_func_end nullsub_16
-
- thumb_func_start sub_802A72C
-sub_802A72C: @ 802A72C
- push {r4,lr}
- ldr r2, =gUnknown_02022CF8
- ldr r1, [r2]
- ldr r3, =0x00003014
- adds r1, r3
- movs r3, 0
- strb r3, [r1]
- ldr r1, [r2]
- movs r4, 0xC0
- lsls r4, 6
- adds r2, r1, r4
- str r3, [r2]
- ldr r2, =0x00003028
- adds r1, r2
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802A72C
-
- thumb_func_start sub_802A75C
-sub_802A75C: @ 802A75C
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r1, =0x00003028
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_802A75C
-
- thumb_func_start sub_802A770
-sub_802A770: @ 802A770
- push {lr}
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0802A78C
- movs r0, 0x1
- b _0802A78E
- .pool
-_0802A78C:
- movs r0, 0
-_0802A78E:
- pop {r1}
- bx r1
- thumb_func_end sub_802A770
-
- thumb_func_start sub_802A794
-sub_802A794: @ 802A794
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r1, =0x00003024
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_802A794
-
- thumb_func_start sub_802A7A8
-sub_802A7A8: @ 802A7A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x4
- mov r8, r0
- mov r2, sp
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0802A7CE:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0802A7CE
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082F7BA4
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- bl InitStandardTextBoxWindows
- bl sub_8197200
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r4, =gUnknown_02022CF8
- ldr r1, [r4]
- movs r0, 0x3
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- movs r0, 0x80
- lsls r0, 6
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802A7A8
-
- thumb_func_start sub_802A8E8
-sub_802A8E8: @ 802A8E8
- push {lr}
- sub sp, 0x4
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r2, =0x00003018
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x5
- bhi _0802A982
- lsls r0, 2
- ldr r1, =_0802A910
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802A910:
- .4byte _0802A928
- .4byte _0802A938
- .4byte _0802A93E
- .4byte _0802A94C
- .4byte _0802A964
- .4byte _0802A972
-_0802A928:
- ldr r0, =gDodrioBerryBgPal1
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- b _0802A98A
- .pool
-_0802A938:
- bl reset_temp_tile_data_buffers
- b _0802A98A
-_0802A93E:
- ldr r1, =gDodrioBerryBgGfx1
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- b _0802A954
- .pool
-_0802A94C:
- ldr r1, =gDodrioBerryBgGfx2
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
-_0802A954:
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- b _0802A98A
- .pool
-_0802A964:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0802A98A
- b _0802A998
-_0802A972:
- movs r0, 0x3
- bl stdpal_get
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- b _0802A98A
-_0802A982:
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- b _0802A99A
-_0802A98A:
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x00003018
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0802A998:
- movs r0, 0
-_0802A99A:
- add sp, 0x4
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802A8E8
-
- thumb_func_start sub_802A9A8
-sub_802A9A8: @ 802A9A8
- push {r4-r7,lr}
- adds r6, r1, 0
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802AA3C
- ldr r5, =gUnknown_02022CFC
- ldr r0, =0x000083b0
- bl Alloc
- str r0, [r5]
- cmp r0, 0
- beq _0802AA3C
- bl ResetTasks
- ldr r0, =sub_802ACA0
- movs r1, 0x1
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, [r5]
- movs r1, 0
- strh r1, [r0, 0x8]
- str r6, [r0]
- strb r4, [r0, 0x4]
- bl GetMultiplayerId
- ldr r1, [r5]
- strb r0, [r1, 0x6]
- ldr r0, [r5]
- ldrb r2, [r0, 0x6]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- ldr r2, =0x000082a8
- adds r1, r2
- adds r0, r1
- movs r1, 0x64
- muls r1, r7
- ldr r2, =gPlayerParty
- adds r1, r2
- bl sub_802AC2C
- ldr r0, [r5]
- bl sub_802AA60
- ldr r2, [r5]
- adds r0, r4, 0
- movs r1, 0x2
- bl SetWordTaskArg
- ldr r0, =sub_802AC6C
- bl SetMainCallback2
- b _0802AA42
- .pool
-_0802AA3C:
- adds r0, r6, 0
- bl SetMainCallback2
-_0802AA42:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802A9A8
-
- thumb_func_start sub_802AA48
-sub_802AA48: @ 802AA48
- push {lr}
- bl sub_802D0AC
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- bl Free
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AA48
-
- thumb_func_start sub_802AA60
-sub_802AA60: @ 802AA60
- push {r4,lr}
- adds r4, r0, 0
- bl GetLinkPlayerCount
- movs r2, 0
- strb r0, [r4, 0x5]
- adds r1, r4, 0
- adds r1, 0x70
- movs r0, 0x5
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x72
- strh r2, [r0]
- bl sub_802AB20
- adds r0, r4, 0
- bl sub_802AA94
- ldrb r0, [r4, 0x5]
- cmp r0, 0x5
- bne _0802AA8E
- bl sub_802E3A8
-_0802AA8E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802AA60
-
- thumb_func_start sub_802AA94
-sub_802AA94: @ 802AA94
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r0, 0x6
- str r0, [r4, 0x14]
- str r0, [r4, 0x18]
- adds r0, r4, 0
- adds r0, 0x4A
- movs r6, 0
- movs r5, 0
- strh r5, [r0]
- str r5, [r4, 0x1C]
- str r5, [r4, 0x5C]
- bl GetMultiplayerId
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _0802AABA
- movs r1, 0x1
-_0802AABA:
- adds r0, r4, 0
- adds r0, 0x47
- strb r1, [r0]
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- str r5, [r4, 0x58]
- strh r5, [r4, 0x3A]
- subs r0, 0x3
- strb r6, [r0]
- str r5, [r4, 0x54]
- adds r0, 0x2
- strb r6, [r0]
- adds r0, 0x3
- strb r6, [r0]
- subs r0, 0x1
- movs r1, 0x1
- strb r1, [r0]
- str r5, [r4, 0x78]
- adds r0, 0x29
- strb r6, [r0]
- adds r0, 0x3
- strh r5, [r0]
- str r1, [r4, 0x60]
- subs r0, 0x27
- strb r6, [r0]
- str r5, [r4, 0x68]
- str r5, [r4, 0x64]
- str r5, [r4, 0x2C]
- str r5, [r4, 0x30]
- bl sub_802AB98
- bl sub_802C0E8
- movs r2, 0
- adds r5, r4, 0
- adds r5, 0x7C
- movs r3, 0
- adds r1, r4, 0
- adds r1, 0x9A
-_0802AB0C:
- adds r0, r5, r2
- strb r3, [r0]
- strh r3, [r1]
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x4
- ble _0802AB0C
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802AA94
-
- thumb_func_start sub_802AB20
-sub_802AB20: @ 802AB20
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r7, =gUnknown_02022CFC
- movs r6, 0
- movs r5, 0
- ldr r0, =gPkmnJumpSpecies
- mov r8, r0
- movs r4, 0x4
-_0802AB32:
- ldr r0, [r7]
- adds r0, r5
- ldr r1, =0x000082a8
- adds r0, r1
- ldrh r0, [r0]
- bl sub_802AC00
- lsls r0, 16
- ldr r1, [r7]
- adds r1, r6
- asrs r0, 14
- add r0, r8
- ldrh r0, [r0, 0x2]
- ldr r2, =0x000082f0
- adds r1, r2
- strh r0, [r1]
- adds r6, 0x28
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _0802AB32
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldr r0, =0x000083ac
- adds r3, r1, r0
- ldrb r2, [r1, 0x6]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r2, =0x000082e4
- adds r0, r2
- adds r1, r0
- str r1, [r3]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AB20
-
- thumb_func_start sub_802AB98
-sub_802AB98: @ 802AB98
- push {r4-r7,lr}
- movs r5, 0
- ldr r6, =gUnknown_02022CFC
- movs r4, 0
- movs r3, 0
-_0802ABA2:
- ldr r2, [r6]
- adds r1, r2, r3
- ldr r7, =0x000082f2
- adds r0, r1, r7
- strh r4, [r0]
- adds r7, 0x2
- adds r0, r1, r7
- strh r4, [r0]
- ldr r0, =0x000082f6
- adds r1, r0
- strh r4, [r1]
- ldr r1, =0x000082e4
- adds r0, r2, r1
- adds r0, r3
- str r4, [r0]
- subs r7, 0xC
- adds r0, r2, r7
- adds r0, r3
- ldr r1, =0x7fffffff
- str r1, [r0]
- ldr r1, =0x000082f8
- adds r0, r2, r1
- adds r0, r3
- str r4, [r0]
- adds r2, 0x8B
- adds r2, r5
- movs r0, 0x9
- strb r0, [r2]
- adds r3, 0x28
- adds r5, 0x1
- cmp r5, 0x4
- ble _0802ABA2
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AB98
-
- thumb_func_start sub_802AC00
-sub_802AC00: @ 802AC00
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r1, 0
- ldr r2, =gPkmnJumpSpecies
-_0802AC0A:
- ldrh r0, [r2]
- cmp r0, r3
- bne _0802AC1C
- lsls r0, r1, 16
- asrs r0, 16
- b _0802AC28
- .pool
-_0802AC1C:
- adds r2, 0x4
- adds r1, 0x1
- cmp r1, 0x63
- bls _0802AC0A
- movs r0, 0x1
- negs r0, r0
-_0802AC28:
- pop {r1}
- bx r1
- thumb_func_end sub_802AC00
-
- thumb_func_start sub_802AC2C
-sub_802AC2C: @ 802AC2C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [r5, 0x4]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [r5, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802AC2C
-
- thumb_func_start sub_802AC58
-sub_802AC58: @ 802AC58
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_802AC58
-
- thumb_func_start sub_802AC6C
-sub_802AC6C: @ 802AC6C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_802AC6C
-
- thumb_func_start sub_802AC84
-sub_802AC84: @ 802AC84
- push {lr}
- movs r1, 0x1
- bl CreateTask
- ldr r2, =gUnknown_02022CFC
- ldr r1, [r2]
- movs r3, 0
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- strh r3, [r0, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AC84
-
- thumb_func_start sub_802ACA0
-sub_802ACA0: @ 802ACA0
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrh r0, [r0, 0x8]
- adds r2, r1, 0
- cmp r0, 0x5
- bls _0802ACB6
- b _0802AE08
-_0802ACB6:
- lsls r0, 2
- ldr r1, =_0802ACC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802ACC8:
- .4byte _0802ACE0
- .4byte _0802AD0C
- .4byte _0802AD3C
- .4byte _0802AD68
- .4byte _0802ADA4
- .4byte _0802ADD0
-_0802ACE0:
- movs r0, 0
- bl SetVBlankCallback
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, =sub_802BD84
- movs r1, 0x5
- bl sub_802BE60
- movs r0, 0x4
- bl FadeOutMapMusic
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- b _0802ADC0
- .pool
-_0802AD0C:
- ldr r0, =sub_802BD84
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0802AE08
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- adds r0, 0xA4
- bl sub_802D074
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- ldr r1, [r4]
- b _0802ADC0
- .pool
-_0802AD3C:
- bl sub_802D0F0
- cmp r0, 0
- bne _0802AE08
- bl IsNotWaitingForBGMStop
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0802AE08
- ldr r0, =0x0000021a
- movs r1, 0x8
- bl FadeOutAndPlayNewMapMusic
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- b _0802ADC0
- .pool
-_0802AD68:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0802AE08
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_802AC58
- bl SetVBlankCallback
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- b _0802ADC0
- .pool
-_0802ADA4:
- bl UpdatePaletteFade
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0802AE08
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- strb r2, [r0, 0x7]
- ldr r1, [r1]
-_0802ADC0:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802AE08
- .pool
-_0802ADD0:
- ldr r0, [r2]
- ldrb r1, [r0, 0x7]
- adds r1, 0x1
- strb r1, [r0, 0x7]
- ldr r1, [r2]
- ldrb r0, [r1, 0x7]
- cmp r0, 0x13
- bls _0802AE08
- adds r0, r1, 0
- adds r0, 0x47
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802ADF8
- ldr r0, =sub_802AF80
- bl sub_802AC84
- b _0802ADFE
- .pool
-_0802ADF8:
- ldr r0, =sub_802B194
- bl sub_802AC84
-_0802ADFE:
- bl sub_802BE80
- adds r0, r4, 0
- bl DestroyTask
-_0802AE08:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802ACA0
-
- thumb_func_start sub_802AE14
-sub_802AE14: @ 802AE14
- push {lr}
- adds r1, r0, 0
- cmp r1, 0
- bne _0802AE34
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldr r0, =0x00001111
- str r0, [r1, 0x30]
- movs r0, 0x1
- str r0, [r1, 0x2C]
- b _0802AE46
- .pool
-_0802AE34:
- ldr r0, =gUnknown_02022CFC
- ldr r2, [r0]
- subs r1, 0x1
- movs r0, 0x1
- lsls r0, r1
- subs r0, 0x1
- str r0, [r2, 0x30]
- movs r0, 0
- str r0, [r2, 0x2C]
-_0802AE46:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AE14
-
- thumb_func_start sub_802AE50
-sub_802AE50: @ 802AE50
- push {r4-r6,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- adds r1, 0x70
- movs r2, 0
- strb r0, [r1]
- ldr r0, [r4]
- movs r3, 0
- strh r2, [r0, 0x8]
- strh r2, [r0, 0xA]
- adds r0, 0x48
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x49
- strb r3, [r0]
- movs r3, 0x1
- ldr r0, [r4]
- ldrb r0, [r0, 0x5]
- cmp r3, r0
- bge _0802AE94
- adds r6, r4, 0
- ldr r5, =0x000082fc
- movs r4, 0
- movs r2, 0x28
-_0802AE82:
- ldr r1, [r6]
- adds r0, r1, r5
- adds r0, r2
- str r4, [r0]
- adds r2, 0x28
- adds r3, 0x1
- ldrb r1, [r1, 0x5]
- cmp r3, r1
- blt _0802AE82
-_0802AE94:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AE50
-
- thumb_func_start sub_802AEA4
-sub_802AEA4: @ 802AEA4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r4, 0x1
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r7, =gUnknown_02022CFC
- ldr r0, [r7]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- bge _0802AF48
- adds r1, r7, 0
- mov r10, r1
- movs r2, 0x2
- add r2, sp
- mov r8, r2
- ldr r3, =0x0000830c
- mov r9, r3
- movs r6, 0x28
-_0802AED0:
- mov r1, r10
- ldr r0, [r1]
- adds r1, r0, r6
- ldr r2, =0x000082f4
- adds r1, r2
- ldrh r5, [r1]
- add r0, r9
- adds r1, r4, 0
- mov r2, sp
- mov r3, r8
- bl sub_802E264
- cmp r0, 0
- beq _0802AF10
- ldr r2, [r7]
- lsls r1, r4, 1
- adds r0, r2, 0
- adds r0, 0x90
- adds r0, r1
- mov r3, r8
- ldrh r1, [r3]
- strh r1, [r0]
- adds r2, 0x8B
- adds r2, r4
- mov r0, sp
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r0, [r7]
- adds r0, r6
- ldr r1, =0x000082f6
- adds r0, r1
- strh r5, [r0]
-_0802AF10:
- mov r2, r10
- ldr r1, [r2]
- ldr r3, =0x000082fc
- adds r0, r1, r3
- adds r0, r6
- ldr r0, [r0]
- cmp r0, 0
- beq _0802AF36
- adds r0, r1, 0
- adds r0, 0x8B
- adds r0, r4
- adds r1, 0x70
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _0802AF36
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x4]
-_0802AF36:
- movs r1, 0x28
- add r9, r1
- adds r6, 0x28
- adds r4, 0x1
- ldr r7, =gUnknown_02022CFC
- ldr r0, [r7]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- blt _0802AED0
-_0802AF48:
- ldr r2, =gUnknown_02022CFC
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- ldr r3, [sp, 0x4]
- cmp r3, r0
- bne _0802AF5C
- adds r1, 0x49
- movs r0, 0x1
- strb r0, [r1]
-_0802AF5C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AEA4
-
- thumb_func_start sub_802AF80
-sub_802AF80: @ 802AF80
- push {r4,r5,lr}
- bl sub_802AEA4
- bl sub_802C43C
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802AFB2
- adds r0, r1, 0
- adds r0, 0x49
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802AFB2
- adds r0, r1, 0
- adds r0, 0x4C
- ldrb r0, [r0]
- bl sub_802AE50
- movs r0, 0x3
- bl sub_802AE14
-_0802AFB2:
- ldr r4, =gUnknown_02022CFC
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x48
- ldrb r5, [r0]
- cmp r5, 0x1
- bne _0802AFEE
- ldr r1, =gUnknown_082FB5F4
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- adds r1, r0, 0
- cmp r1, 0
- bne _0802AFEE
- ldr r0, [r4]
- adds r0, 0x48
- strb r1, [r0]
- ldr r1, [r4]
- ldrb r2, [r1, 0x6]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r2, =0x000082fc
- adds r1, r2
- adds r1, r0
- str r5, [r1]
-_0802AFEE:
- bl sub_802C1DC
- bl sub_802B008
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AF80
-
- thumb_func_start sub_802B008
-sub_802B008: @ 802B008
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldr r0, [r1, 0x2C]
- cmp r0, 0
- bne _0802B01E
- ldr r2, =0x000082e4
- adds r0, r1, r2
- adds r1, 0x70
- bl sub_802E138
-_0802B01E:
- ldr r1, [r4]
- ldr r2, [r1, 0x30]
- ldr r0, =0x00001111
- cmp r2, r0
- beq _0802B030
- ldr r0, [r1, 0x2C]
- adds r0, 0x1
- ands r0, r2
- str r0, [r1, 0x2C]
-_0802B030:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802B008
-
- thumb_func_start sub_802B044
-sub_802B044: @ 802B044
- ldr r2, =gUnknown_02022CFC
- ldr r1, [r2]
- adds r1, 0x70
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r2]
- strh r3, [r0, 0x8]
- strh r3, [r0, 0xA]
- adds r0, 0x48
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r2]
- ldrb r2, [r1, 0x6]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r2, =0x000082fc
- adds r1, r2
- adds r1, r0
- str r3, [r1]
- bx lr
- .pool
- thumb_func_end sub_802B044
-
- thumb_func_start sub_802B078
-sub_802B078: @ 802B078
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldr r2, =0x000082f4
- adds r1, r0, r2
- ldrh r1, [r1]
- mov r8, r1
- ldr r3, =0x000082e4
- adds r0, r3
- mov r1, sp
- bl sub_802E1BC
- cmp r0, 0
- beq _0802B128
- ldr r2, [r4]
- ldrb r0, [r2, 0x6]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r3, =0x000082fc
- adds r0, r2, r3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0802B0C6
- mov r0, sp
- adds r1, r2, 0
- adds r1, 0x70
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _0802B0C6
- mov r0, sp
- ldrb r0, [r0]
- bl sub_802B044
-_0802B0C6:
- ldr r3, =gUnknown_02022CFC
- ldr r2, [r3]
- ldr r0, [r2, 0x78]
- ldr r1, [sp, 0x8]
- cmp r0, r1
- beq _0802B108
- str r1, [r2, 0x78]
- movs r4, 0x1
- str r4, [r2, 0x5C]
- mov r0, sp
- ldrb r1, [r0, 0x1]
- adds r0, r2, 0
- adds r0, 0x71
- strb r1, [r0]
- ldr r0, [r3]
- adds r1, r0, 0
- adds r1, 0x71
- ldrb r1, [r1]
- cmp r1, 0
- beq _0802B104
- adds r0, 0x4D
- strb r4, [r0]
- b _0802B108
- .pool
-_0802B104:
- adds r0, 0x4D
- strb r1, [r0]
-_0802B108:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- mov r0, sp
- ldrh r0, [r0, 0x2]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- mov r0, sp
- ldrh r2, [r0, 0x4]
- adds r0, r1, 0
- adds r0, 0x74
- strh r2, [r0]
- ldr r0, =0x000082f6
- adds r1, r0
- mov r2, r8
- strh r2, [r1]
-_0802B128:
- movs r4, 0x1
- ldr r2, =gUnknown_02022CFC
- ldr r0, [r2]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- bge _0802B176
- adds r7, r2, 0
- ldr r6, =0x0000830c
- movs r5, 0x28
-_0802B13A:
- ldr r1, [r7]
- ldrb r3, [r1, 0x6]
- cmp r4, r3
- beq _0802B168
- adds r0, r1, r5
- ldr r3, =0x000082f4
- adds r0, r3
- ldrh r0, [r0]
- mov r8, r0
- adds r0, r1, r6
- adds r1, r4, 0
- str r2, [sp, 0xC]
- bl sub_802E2D0
- ldr r2, [sp, 0xC]
- cmp r0, 0
- beq _0802B168
- ldr r0, [r7]
- adds r0, r5
- ldr r1, =0x000082f6
- adds r0, r1
- mov r3, r8
- strh r3, [r0]
-_0802B168:
- adds r6, 0x28
- adds r5, 0x28
- adds r4, 0x1
- ldr r0, [r2]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- blt _0802B13A
-_0802B176:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802B078
-
- thumb_func_start sub_802B194
-sub_802B194: @ 802B194
- push {r4,lr}
- bl sub_802B078
- ldr r4, =gUnknown_02022CFC
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802B1E0
- ldr r1, =gUnknown_082FB618
- adds r0, r2, 0
- adds r0, 0x70
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- adds r1, r0, 0
- cmp r1, 0
- bne _0802B1E0
- ldr r0, [r4]
- adds r0, 0x48
- strb r1, [r0]
- ldr r1, [r4]
- ldrb r2, [r1, 0x6]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r2, =0x000082fc
- adds r1, r2
- adds r1, r0
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0x3
- bl sub_802AE14
-_0802B1E0:
- bl sub_802C1DC
- bl sub_802B1FC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802B194
-
- thumb_func_start sub_802B1FC
-sub_802B1FC: @ 802B1FC
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r2, [r4]
- ldr r0, [r2, 0x2C]
- cmp r0, 0
- bne _0802B224
- ldrb r1, [r2, 0x6]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =0x000082e4
- adds r0, r1
- adds r0, r2, r0
- adds r1, r2, 0
- adds r1, 0x70
- ldrb r1, [r1]
- adds r2, 0x42
- ldrh r2, [r2]
- bl sub_802E234
-_0802B224:
- ldr r1, [r4]
- ldr r2, [r1, 0x30]
- ldr r0, =0x00001111
- cmp r2, r0
- beq _0802B236
- ldr r0, [r1, 0x2C]
- adds r0, 0x1
- ands r0, r2
- str r0, [r1, 0x2C]
-_0802B236:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802B1FC
-
- thumb_func_start sub_802B248
-sub_802B248: @ 802B248
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0802B260
- cmp r0, 0x1
- beq _0802B26E
- b _0802B294
- .pool
-_0802B260:
- movs r0, 0x3
- bl sub_802AE14
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B26E:
- bl sub_802B7E0
- cmp r0, 0
- bne _0802B294
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x4A
- ldrh r0, [r0]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0
- b _0802B296
- .pool
-_0802B294:
- movs r0, 0x1
-_0802B296:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B248
-
- thumb_func_start sub_802B29C
-sub_802B29C: @ 802B29C
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0802B2B4
- cmp r0, 0x1
- beq _0802B2CA
- movs r0, 0x1
- b _0802B2CE
- .pool
-_0802B2B4:
- movs r0, 0
- bl sub_802AE14
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x72
- ldrh r0, [r0]
- str r0, [r1, 0x24]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B2CA:
- bl sub_802B7E0
-_0802B2CE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B29C
-
- thumb_func_start sub_802B2D4
-sub_802B2D4: @ 802B2D4
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- cmp r0, 0
- beq _0802B2EC
- cmp r0, 0x1
- beq _0802B300
- b _0802B314
- .pool
-_0802B2EC:
- bl sub_802C0E8
- movs r0, 0x5
- bl sub_802AE14
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B314
-_0802B300:
- adds r0, r1, 0
- adds r0, 0x49
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802B314
- adds r1, 0x4C
- movs r0, 0x2
- strb r0, [r1]
- movs r0, 0
- b _0802B316
-_0802B314:
- movs r0, 0x1
-_0802B316:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B2D4
-
- thumb_func_start sub_802B31C
-sub_802B31C: @ 802B31C
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0802B334
- cmp r0, 0x1
- beq _0802B352
- b _0802B35E
- .pool
-_0802B334:
- bl sub_802C0E8
- movs r0, 0
- bl sub_802AE14
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x72
- ldrh r0, [r0]
- adds r2, r1, 0
- adds r2, 0x4A
- strh r0, [r2]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B352:
- bl sub_802C70C
- cmp r0, 0
- beq _0802B35E
- movs r0, 0
- b _0802B360
-_0802B35E:
- movs r0, 0x1
-_0802B360:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B31C
-
- thumb_func_start sub_802B368
-sub_802B368: @ 802B368
- push {lr}
- bl sub_802B8CC
- cmp r0, 0
- bne _0802B390
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x4A
- ldrh r0, [r0]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x1
- strb r0, [r1]
- b _0802B3AA
- .pool
-_0802B390:
- bl sub_802C538
- cmp r0, 0
- beq _0802B39C
- movs r0, 0x1
- b _0802B3AC
-_0802B39C:
- bl sub_802C0B8
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- adds r0, 0x4C
- movs r1, 0x3
- strb r1, [r0]
-_0802B3AA:
- movs r0, 0
-_0802B3AC:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802B368
-
- thumb_func_start sub_802B3B4
-sub_802B3B4: @ 802B3B4
- push {lr}
- bl sub_802B8CC
- cmp r0, 0
- beq _0802B3CE
- bl sub_802C538
- cmp r0, 0
- beq _0802B3CA
- movs r0, 0x1
- b _0802B3D0
-_0802B3CA:
- bl sub_802C0B8
-_0802B3CE:
- movs r0, 0
-_0802B3D0:
- pop {r1}
- bx r1
- thumb_func_end sub_802B3B4
-
- thumb_func_start sub_802B3D4
-sub_802B3D4: @ 802B3D4
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0x1
- beq _0802B40C
- cmp r0, 0x1
- bgt _0802B3F0
- cmp r0, 0
- beq _0802B3F6
- b _0802B468
- .pool
-_0802B3F0:
- cmp r0, 0x2
- beq _0802B460
- b _0802B468
-_0802B3F6:
- bl sub_802C538
- bl sub_802C5DC
- cmp r0, 0
- beq _0802B468
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B468
-_0802B40C:
- bl sub_802B964
- cmp r0, 0
- bne _0802B468
- bl sub_802C7BC
- cmp r0, 0
- beq _0802B42E
- bl sub_802C7E0
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x7
- b _0802B454
-_0802B42E:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x74
- ldrh r0, [r0]
- cmp r0, 0xC7
- bls _0802B448
- ldrh r0, [r1, 0xE]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x8
- b _0802B454
-_0802B448:
- ldrh r0, [r1, 0xE]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x4
-_0802B454:
- strb r0, [r1]
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B460:
- movs r0, 0
- b _0802B46A
- .pool
-_0802B468:
- movs r0, 0x1
-_0802B46A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B3D4
-
- thumb_func_start sub_802B470
-sub_802B470: @ 802B470
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0x1
- beq _0802B4B0
- cmp r0, 0x1
- bgt _0802B48C
- cmp r0, 0
- beq _0802B492
- b _0802B4C4
- .pool
-_0802B48C:
- cmp r0, 0x2
- beq _0802B4C0
- b _0802B4C4
-_0802B492:
- bl sub_802C538
- cmp r0, 0
- bne _0802B49E
- bl sub_802C0B8
-_0802B49E:
- bl sub_802C5DC
- cmp r0, 0
- beq _0802B4C4
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B4C4
-_0802B4B0:
- bl sub_802B964
- cmp r0, 0
- bne _0802B4C4
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B4C0:
- movs r0, 0
- b _0802B4C6
-_0802B4C4:
- movs r0, 0x1
-_0802B4C6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B470
-
- thumb_func_start sub_802B4CC
-sub_802B4CC: @ 802B4CC
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r1, [r0, 0x8]
- cmp r1, 0x1
- beq _0802B500
- cmp r1, 0x1
- bgt _0802B4E8
- cmp r1, 0
- beq _0802B4F2
- b _0802B560
- .pool
-_0802B4E8:
- cmp r1, 0x2
- beq _0802B52C
- cmp r1, 0x3
- beq _0802B556
- b _0802B560
-_0802B4F2:
- movs r0, 0x4
- bl sub_802AE14
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B500:
- bl sub_802BB84
- cmp r0, 0
- bne _0802B560
- ldr r4, =gUnknown_02022CFC
- ldr r2, [r4]
- ldr r0, [r2, 0x78]
- adds r1, r2, 0
- adds r1, 0x74
- ldrh r1, [r1]
- adds r2, 0x72
- ldrh r2, [r2]
- bl sub_802E354
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B560
- .pool
-_0802B52C:
- adds r0, 0x49
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802B560
- bl sub_802C650
- cmp r0, 0
- beq _0802B544
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0x5
- b _0802B54A
-_0802B544:
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0x6
-_0802B54A:
- strb r1, [r0]
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B556:
- movs r0, 0
- b _0802B562
- .pool
-_0802B560:
- movs r0, 0x1
-_0802B562:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B4CC
-
- thumb_func_start sub_802B568
-sub_802B568: @ 802B568
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0802B580
- cmp r0, 0x1
- beq _0802B58E
- b _0802B5C0
- .pool
-_0802B580:
- movs r0, 0
- bl sub_802AE14
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B58E:
- bl sub_802BB84
- cmp r0, 0
- bne _0802B5C0
- ldr r4, =gUnknown_02022CFC
- ldr r2, [r4]
- ldr r0, [r2, 0x78]
- adds r1, r2, 0
- adds r1, 0x74
- ldrh r1, [r1]
- adds r2, 0x72
- ldrh r2, [r2]
- bl sub_802E354
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x45
- ldrb r1, [r1]
- adds r0, 0x42
- strh r1, [r0]
- movs r0, 0
- b _0802B5C2
- .pool
-_0802B5C0:
- movs r0, 0x1
-_0802B5C2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B568
-
- thumb_func_start sub_802B5C8
-sub_802B5C8: @ 802B5C8
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- cmp r0, 0
- beq _0802B5E0
- cmp r0, 0x1
- beq _0802B5F2
- b _0802B61E
- .pool
-_0802B5E0:
- bl sub_802BD30
- cmp r0, 0
- bne _0802B61E
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B61E
-_0802B5F2:
- adds r0, r1, 0
- adds r0, 0x49
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802B61E
- adds r0, r1, 0
- bl sub_802AA94
- bl Random
- ldr r1, [r4]
- lsls r0, 16
- lsrs r0, 16
- str r0, [r1, 0x24]
- adds r3, r1, 0
- adds r3, 0x72
- movs r2, 0
- strh r0, [r3]
- adds r1, 0x4C
- strb r2, [r1]
- movs r0, 0
- b _0802B620
-_0802B61E:
- movs r0, 0x1
-_0802B620:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B5C8
-
- thumb_func_start sub_802B628
-sub_802B628: @ 802B628
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0802B640
- cmp r0, 0x1
- beq _0802B656
- b _0802B65A
- .pool
-_0802B640:
- bl sub_802BD30
- cmp r0, 0
- bne _0802B65A
- ldr r0, [r4]
- bl sub_802AA94
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B656:
- movs r0, 0
- b _0802B65C
-_0802B65A:
- movs r0, 0x1
-_0802B65C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B628
-
- thumb_func_start sub_802B664
-sub_802B664: @ 802B664
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- cmp r0, 0x1
- beq _0802B68C
- cmp r0, 0x1
- bgt _0802B680
- cmp r0, 0
- beq _0802B686
- b _0802B6B0
- .pool
-_0802B680:
- cmp r0, 0x2
- beq _0802B69C
- b _0802B6B0
-_0802B686:
- movs r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B6B0
-_0802B68C:
- movs r0, 0
- bl sub_802AE14
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B6B0
-_0802B69C:
- bl sub_802BC60
- cmp r0, 0
- bne _0802B6B0
- ldr r0, [r4]
- ldr r0, [r0]
- bl SetMainCallback2
- bl sub_802AA48
-_0802B6B0:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B664
-
- thumb_func_start sub_802B6B8
-sub_802B6B8: @ 802B6B8
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0802B6D0
- cmp r0, 0x1
- beq _0802B6E0
- b _0802B6FC
- .pool
-_0802B6D0:
- movs r0, 0x4
- bl sub_802AE14
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B6FC
-_0802B6E0:
- bl sub_802BA58
- cmp r0, 0
- bne _0802B6FC
- ldr r0, [r4]
- ldrh r1, [r0, 0xE]
- adds r2, r0, 0
- adds r2, 0x72
- strh r1, [r2]
- adds r0, 0x4C
- movs r1, 0x8
- strb r1, [r0]
- movs r0, 0
- b _0802B6FE
-_0802B6FC:
- movs r0, 0x1
-_0802B6FE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B6B8
-
- thumb_func_start sub_802B704
-sub_802B704: @ 802B704
- push {lr}
- movs r0, 0
- bl sub_802AE14
- bl sub_802BA58
- cmp r0, 0
- beq _0802B718
- movs r0, 0x1
- b _0802B71A
-_0802B718:
- movs r0, 0
-_0802B71A:
- pop {r1}
- bx r1
- thumb_func_end sub_802B704
-
- thumb_func_start sub_802B720
-sub_802B720: @ 802B720
- push {r4,lr}
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrh r0, [r0, 0x8]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _0802B7D8
- lsls r0, 2
- ldr r1, =_0802B740
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802B740:
- .4byte _0802B754
- .4byte _0802B770
- .4byte _0802B780
- .4byte _0802B798
- .4byte _0802B7BC
-_0802B754:
- ldr r2, [r4]
- ldr r0, [r2, 0x78]
- adds r1, r2, 0
- adds r1, 0x74
- ldrh r1, [r1]
- adds r2, 0x72
- ldrh r2, [r2]
- bl sub_802E354
- movs r0, 0x5
- bl sub_802D0C8
- ldr r1, [r4]
- b _0802B7AC
-_0802B770:
- bl sub_802D0F0
- cmp r0, 0
- bne _0802B7D8
- movs r0, 0
- bl sub_802AE14
- b _0802B7A8
-_0802B780:
- bl sub_802C70C
- cmp r0, 0
- beq _0802B7D8
- ldr r0, =sub_8153688
- movs r1, 0x6
- bl CreateTask
- b _0802B7A8
- .pool
-_0802B798:
- ldr r0, =sub_8153688
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0802B7D8
- bl sub_802DA14
-_0802B7A8:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
-_0802B7AC:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B7D8
- .pool
-_0802B7BC:
- bl sub_802DA44
- cmp r0, 0
- bne _0802B7D8
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- adds r0, 0x4C
- movs r1, 0x4
- strb r1, [r0]
- movs r0, 0
- b _0802B7DA
- .pool
-_0802B7D8:
- movs r0, 0x1
-_0802B7DA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B720
-
- thumb_func_start sub_802B7E0
-sub_802B7E0: @ 802B7E0
- push {r4,r5,lr}
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrh r0, [r0, 0xA]
- adds r4, r1, 0
- cmp r0, 0x7
- bhi _0802B8C4
- lsls r0, 2
- ldr r1, =_0802B800
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802B800:
- .4byte _0802B820
- .4byte _0802B82C
- .4byte _0802B84C
- .4byte _0802B866
- .4byte _0802B878
- .4byte _0802B880
- .4byte _0802B8A0
- .4byte _0802B8BA
-_0802B820:
- movs r0, 0x2
- bl sub_802D0C8
- bl sub_802DDE0
- b _0802B890
-_0802B82C:
- bl sub_802D0F0
- adds r5, r0, 0
- cmp r5, 0
- bne _0802B8C4
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrb r0, [r0, 0x6]
- bl sub_802DDF4
- ldr r1, [r4]
- strh r5, [r1, 0x3C]
- b _0802B894
- .pool
-_0802B84C:
- ldr r1, [r4]
- ldrh r0, [r1, 0x3C]
- adds r0, 0x1
- strh r0, [r1, 0x3C]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x78
- bls _0802B8C4
- movs r0, 0x3
- bl sub_802D0C8
- ldr r1, [r4]
- b _0802B894
-_0802B866:
- bl sub_802D0F0
- cmp r0, 0x1
- beq _0802B8C4
- bl sub_802DE08
- cmp r0, 0x1
- beq _0802B8C4
- b _0802B890
-_0802B878:
- movs r0, 0x9
- bl sub_802D0C8
- b _0802B890
-_0802B880:
- bl sub_802D0F0
- cmp r0, 0
- bne _0802B8C4
- bl sub_802C260
- bl sub_802D764
-_0802B890:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
-_0802B894:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802B8C4
- .pool
-_0802B8A0:
- bl sub_802D788
- cmp r0, 0
- bne _0802B8C4
- bl sub_802C270
- bl sub_802BEA0
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0802B8BA:
- movs r0, 0
- b _0802B8C6
- .pool
-_0802B8C4:
- movs r0, 0x1
-_0802B8C6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802B7E0
-
- thumb_func_start sub_802B8CC
-sub_802B8CC: @ 802B8CC
- push {r4,r5,lr}
- bl sub_802BEE4
- ldr r5, =gUnknown_02022CFC
- ldr r1, [r5]
- ldrh r4, [r1, 0x36]
- cmp r4, 0
- beq _0802B8E8
- movs r0, 0
- strh r0, [r1, 0x36]
- b _0802B95C
- .pool
-_0802B8E8:
- ldrh r0, [r1, 0xA]
- cmp r0, 0x1
- beq _0802B914
- cmp r0, 0x1
- bgt _0802B8F8
- cmp r0, 0
- beq _0802B902
- b _0802B95A
-_0802B8F8:
- cmp r0, 0x2
- beq _0802B938
- cmp r0, 0x3
- beq _0802B94C
- b _0802B95A
-_0802B902:
- movs r0, 0
- bl sub_802C130
- cmp r0, 0
- beq _0802B95A
- ldr r1, [r5]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0802B914:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0802B95A
- bl sub_802C164
- movs r0, 0x3
- bl sub_802AE14
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- b _0802B944
- .pool
-_0802B938:
- movs r0, 0x1
- bl sub_802C130
- cmp r0, 0x1
- bne _0802B95A
- ldr r1, [r5]
-_0802B944:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802B95A
-_0802B94C:
- movs r0, 0
- bl sub_802C130
- cmp r0, 0x1
- bne _0802B95A
- ldr r0, [r5]
- strh r4, [r0, 0xA]
-_0802B95A:
- movs r0, 0x1
-_0802B95C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802B8CC
-
- thumb_func_start sub_802B964
-sub_802B964: @ 802B964
- push {r4-r6,lr}
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrh r0, [r0, 0xA]
- adds r5, r1, 0
- cmp r0, 0x4
- bhi _0802BA50
- lsls r0, 2
- ldr r1, =_0802B984
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802B984:
- .4byte _0802B998
- .4byte _0802B9BC
- .4byte _0802BA00
- .4byte _0802BA24
- .4byte _0802BA46
-_0802B998:
- movs r4, 0
- ldr r0, [r5]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- bge _0802B9B8
- adds r6, r5, 0
-_0802B9A4:
- adds r0, r4, 0
- bl sub_802DDB8
- cmp r0, 0x1
- beq _0802BA50
- adds r4, 0x1
- ldr r0, [r6]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- blt _0802B9A4
-_0802B9B8:
- ldr r1, [r5]
- b _0802BA1C
-_0802B9BC:
- movs r4, 0
- ldr r0, [r5]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- bge _0802B9EC
- adds r6, r5, 0
- movs r5, 0
-_0802B9CA:
- ldr r0, [r6]
- adds r0, r5
- ldr r1, =0x000082f4
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x2
- bne _0802B9E0
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_802DDA0
-_0802B9E0:
- adds r5, 0x28
- adds r4, 0x1
- ldr r0, [r6]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- blt _0802B9CA
-_0802B9EC:
- movs r0, 0x1
- bl sub_802D0C8
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- b _0802BA18
- .pool
-_0802BA00:
- ldr r1, [r5]
- ldrh r0, [r1, 0x3C]
- adds r0, 0x1
- strh r0, [r1, 0x3C]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x64
- bls _0802BA50
- movs r0, 0x3
- bl sub_802D0C8
- ldr r1, [r5]
-_0802BA18:
- movs r0, 0
- strh r0, [r1, 0x3C]
-_0802BA1C:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802BA50
-_0802BA24:
- bl sub_802D0F0
- adds r5, r0, 0
- cmp r5, 0
- bne _0802BA50
- bl sub_802DDCC
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- adds r0, 0x71
- strb r5, [r0]
- bl sub_802C114
- ldr r1, [r4]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0802BA46:
- movs r0, 0
- b _0802BA52
- .pool
-_0802BA50:
- movs r0, 0x1
-_0802BA52:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_802B964
-
- thumb_func_start sub_802BA58
-sub_802BA58: @ 802BA58
- push {r4,lr}
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrh r0, [r0, 0xA]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _0802BA68
- b _0802BB7C
-_0802BA68:
- lsls r0, 2
- ldr r1, =_0802BA7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802BA7C:
- .4byte _0802BA98
- .4byte _0802BAB8
- .4byte _0802BAD0
- .4byte _0802BB00
- .4byte _0802BAB8
- .4byte _0802BAD0
- .4byte _0802BB70
-_0802BA98:
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x72
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x3E
- adds r2, 0x40
- bl sub_802C808
- ldr r1, [r4]
- ldrh r0, [r1, 0x3E]
- adds r1, 0x40
- ldrh r1, [r1]
- bl sub_802D7E8
- b _0802BAF0
-_0802BAB8:
- bl sub_802D974
- adds r2, r0, 0
- cmp r2, 0
- bne _0802BB7C
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- strh r2, [r1, 0x3C]
- b _0802BAF2
- .pool
-_0802BAD0:
- ldr r1, [r4]
- ldrh r0, [r1, 0x3C]
- adds r2, r0, 0x1
- strh r2, [r1, 0x3C]
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0802BAEC
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0xB4
- bls _0802BB7C
-_0802BAEC:
- bl sub_802DA14
-_0802BAF0:
- ldr r1, [r4]
-_0802BAF2:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802BB7C
- .pool
-_0802BB00:
- bl sub_802DA44
- cmp r0, 0
- bne _0802BB7C
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldrh r0, [r1, 0x3E]
- adds r1, 0x40
- ldrh r1, [r1]
- bl sub_802C880
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0x40
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- beq _0802BB58
- ldrh r0, [r1, 0x3E]
- ldrh r1, [r2]
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- beq _0802BB58
- ldr r0, [r4]
- ldrh r0, [r0, 0x3E]
- movs r1, 0x1
- bl CheckBagHasSpace
- lsls r0, 24
- cmp r0, 0
- bne _0802BB50
- ldr r0, [r4]
- ldrh r0, [r0, 0x3E]
- bl sub_802D884
- b _0802BB62
- .pool
-_0802BB50:
- ldr r1, [r4]
- movs r0, 0x6
- strh r0, [r1, 0xA]
- b _0802BB7C
-_0802BB58:
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x3E]
- bl sub_802D8FC
-_0802BB62:
- ldr r1, [r4]
- movs r0, 0x4
- strh r0, [r1, 0xA]
- b _0802BB7C
- .pool
-_0802BB70:
- bl sub_802DA44
- cmp r0, 0
- bne _0802BB7C
- movs r0, 0
- b _0802BB7E
-_0802BB7C:
- movs r0, 0x1
-_0802BB7E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802BA58
-
- thumb_func_start sub_802BB84
-sub_802BB84: @ 802BB84
- push {r4,lr}
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x6
- bhi _0802BC58
- lsls r0, 2
- ldr r1, =_0802BBA4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802BBA4:
- .4byte _0802BBC0
- .4byte _0802BBC4
- .4byte _0802BBCE
- .4byte _0802BC1C
- .4byte _0802BC26
- .4byte _0802BC3C
- .4byte _0802BC4E
-_0802BBC0:
- movs r0, 0x4
- b _0802BC28
-_0802BBC4:
- bl sub_802D0F0
- cmp r0, 0
- bne _0802BC58
- b _0802BC2C
-_0802BBCE:
- bl sub_802DA8C
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0802BC04
- cmp r1, 0
- bgt _0802BBE8
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0802BBEC
- b _0802BC58
-_0802BBE8:
- cmp r1, 0x1
- bne _0802BC58
-_0802BBEC:
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- adds r0, 0x45
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x6
- bl sub_802D0C8
- ldr r1, [r4]
- b _0802BC30
- .pool
-_0802BC04:
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- adds r0, 0x45
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0x6
- bl sub_802D0C8
- ldr r1, [r4]
- b _0802BC30
- .pool
-_0802BC1C:
- bl sub_802D0F0
- cmp r0, 0
- bne _0802BC58
- b _0802BC2C
-_0802BC26:
- movs r0, 0x8
-_0802BC28:
- bl sub_802D0C8
-_0802BC2C:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
-_0802BC30:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802BC58
- .pool
-_0802BC3C:
- bl sub_802D0F0
- cmp r0, 0
- bne _0802BC58
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0802BC4E:
- movs r0, 0
- b _0802BC5A
- .pool
-_0802BC58:
- movs r0, 0x1
-_0802BC5A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802BB84
-
- thumb_func_start sub_802BC60
-sub_802BC60: @ 802BC60
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrh r0, [r0, 0xA]
- adds r4, r1, 0
- cmp r0, 0x5
- bhi _0802BD24
- lsls r0, 2
- ldr r1, =_0802BC84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802BC84:
- .4byte _0802BC9C
- .4byte _0802BCA2
- .4byte _0802BCB2
- .4byte _0802BCC8
- .4byte _0802BCEE
- .4byte _0802BD14
-_0802BC9C:
- bl sub_802DA14
- b _0802BCFE
-_0802BCA2:
- bl sub_802DA44
- cmp r0, 0
- bne _0802BD24
- movs r0, 0x7
- bl sub_802D0C8
- b _0802BCFE
-_0802BCB2:
- bl sub_802D0F0
- adds r2, r0, 0
- cmp r2, 0
- bne _0802BD24
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- strh r2, [r1, 0x3C]
- b _0802BD02
- .pool
-_0802BCC8:
- ldr r1, [r4]
- ldrh r0, [r1, 0x3C]
- adds r0, 0x1
- strh r0, [r1, 0x3C]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x78
- bls _0802BD24
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- b _0802BD02
-_0802BCEE:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0802BD24
- bl sub_800AC34
-_0802BCFE:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
-_0802BD02:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802BD24
- .pool
-_0802BD14:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802BD24
- movs r0, 0
- b _0802BD26
- .pool
-_0802BD24:
- movs r0, 0x1
-_0802BD26:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802BC60
-
- thumb_func_start sub_802BD30
-sub_802BD30: @ 802BD30
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x1
- beq _0802BD66
- cmp r0, 0x1
- bgt _0802BD4C
- cmp r0, 0
- beq _0802BD52
- b _0802BD7A
- .pool
-_0802BD4C:
- cmp r0, 0x2
- beq _0802BD76
- b _0802BD7A
-_0802BD52:
- bl sub_802DA14
- movs r0, 0
- bl sub_802DD64
- ldr r1, [r4]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802BD7A
-_0802BD66:
- bl sub_802DA44
- cmp r0, 0
- bne _0802BD7A
- ldr r1, [r4]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0802BD76:
- movs r0, 0
- b _0802BD7C
-_0802BD7A:
- movs r0, 0x1
-_0802BD7C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802BD30
-
- thumb_func_start sub_802BD84
-sub_802BD84: @ 802BD84
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r0, 2
- add r0, r10
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- mov r0, r10
- movs r1, 0xE
- bl GetWordTaskArg
- mov r8, r0
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0802BDC8
- cmp r0, 0x1
- beq _0802BDDC
- b _0802BE48
- .pool
-_0802BDBC:
- bl sub_802AB20
- mov r0, r10
- bl DestroyTask
- b _0802BE48
-_0802BDC8:
- movs r1, 0
- adds r0, r6, 0
- adds r0, 0x8
-_0802BDCE:
- strh r1, [r0, 0x4]
- subs r0, 0x2
- cmp r0, r6
- bge _0802BDCE
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
-_0802BDDC:
- mov r3, r8
- ldrb r1, [r3, 0x6]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r4, =0x000082a8
- adds r0, r4
- add r0, r8
- bl sub_802E0AC
- movs r2, 0
- adds r5, r6, 0x4
- mov r9, r2
- movs r7, 0x83
- lsls r7, 8
- add r7, r8
- add r4, r8
-_0802BDFE:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0802BE38
- adds r0, r2, 0
- adds r1, r4, 0
- str r2, [sp]
- bl sub_802E0D0
- ldr r2, [sp]
- cmp r0, 0
- beq _0802BE38
- ldr r1, =gLinkPlayers + 8
- add r1, r9
- adds r0, r7, 0
- bl StringCopy
- movs r0, 0x1
- strh r0, [r5]
- ldrh r0, [r6, 0x2]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- movs r3, 0x2
- ldrsh r0, [r6, r3]
- ldr r2, [sp]
- mov r1, r8
- ldrb r1, [r1, 0x5]
- cmp r0, r1
- beq _0802BDBC
-_0802BE38:
- adds r5, 0x2
- movs r3, 0x1C
- add r9, r3
- adds r7, 0x28
- adds r4, 0xC
- adds r2, 0x1
- cmp r2, 0x4
- ble _0802BDFE
-_0802BE48:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802BD84
-
- thumb_func_start sub_802BE60
-sub_802BE60: @ 802BE60
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02022CFC
- ldr r2, [r1]
- movs r1, 0xE
- bl SetWordTaskArg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802BE60
-
- thumb_func_start sub_802BE80
-sub_802BE80: @ 802BE80
- ldr r0, =gUnknown_02022CFC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x4A
- movs r1, 0
- strh r1, [r0]
- movs r0, 0x6
- str r0, [r2, 0x14]
- strh r1, [r2, 0x34]
- str r1, [r2, 0x1C]
- strh r1, [r2, 0x36]
- str r1, [r2, 0x10]
- bx lr
- .pool
- thumb_func_end sub_802BE80
-
- thumb_func_start sub_802BEA0
-sub_802BEA0: @ 802BEA0
- push {r4,lr}
- ldr r3, =gUnknown_02022CFC
- ldr r0, [r3]
- adds r1, r0, 0
- adds r1, 0x4A
- movs r4, 0
- movs r2, 0
- strh r2, [r1]
- ldr r1, =0x000006ff
- strh r1, [r0, 0x34]
- movs r1, 0x7
- str r1, [r0, 0x14]
- strh r2, [r0, 0x36]
- str r2, [r0, 0x10]
- adds r0, 0x51
- strb r4, [r0]
- ldr r0, [r3]
- adds r0, 0x50
- strb r4, [r0]
- ldr r0, [r3]
- str r2, [r0, 0x20]
- adds r1, r0, 0
- adds r1, 0x4E
- strh r2, [r1]
- str r2, [r0, 0x6C]
- bl sub_802BF7C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802BEA0
-
- thumb_func_start sub_802BEE4
-sub_802BEE4: @ 802BEE4
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x46
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802BF34
- adds r1, 0x4A
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- bl sub_802BF48
- ldr r3, [r4]
- ldrh r1, [r3, 0x34]
- adds r2, r1, r0
- strh r2, [r3, 0x34]
- lsls r1, r2, 16
- ldr r0, =0x09fe0000
- cmp r1, r0
- bls _0802BF16
- ldr r1, =0xfffff601
- adds r0, r2, r1
- strh r0, [r3, 0x34]
-_0802BF16:
- ldr r1, [r4]
- ldr r2, [r1, 0x14]
- str r2, [r1, 0x18]
- ldrh r0, [r1, 0x34]
- lsrs r0, 8
- str r0, [r1, 0x14]
- cmp r0, 0x6
- bls _0802BF34
- cmp r2, 0x6
- bhi _0802BF34
- ldrh r0, [r1, 0x36]
- adds r0, 0x1
- strh r0, [r1, 0x36]
- bl sub_802BF7C
-_0802BF34:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802BEE4
-
- thumb_func_start sub_802BF48
-sub_802BF48: @ 802BF48
- push {lr}
- ldr r0, =gUnknown_02022CFC
- ldr r2, [r0]
- ldr r0, [r2, 0x10]
- cmp r0, 0
- beq _0802BF5C
- movs r0, 0
- b _0802BF72
- .pool
-_0802BF5C:
- ldr r3, [r2, 0x1C]
- ldrh r1, [r2, 0x34]
- ldr r0, =0x000005ff
- cmp r1, r0
- bhi _0802BF70
- ldr r0, [r2, 0x20]
- adds r0, 0x50
- str r0, [r2, 0x20]
- lsrs r0, 8
- adds r3, r0
-_0802BF70:
- adds r0, r3, 0
-_0802BF72:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802BF48
-
- thumb_func_start sub_802BF7C
-sub_802BF7C: @ 802BF7C
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r3, [r4]
- movs r0, 0
- str r0, [r3, 0x20]
- adds r1, r3, 0
- adds r1, 0x4E
- ldrh r0, [r1]
- cmp r0, 0
- beq _0802BFC0
- subs r0, 0x1
- strh r0, [r1]
- ldr r0, [r3, 0x6C]
- cmp r0, 0
- beq _0802C08A
- bl sub_802C098
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0
- beq _0802BFB0
- ldr r1, [r4]
- b _0802C086
- .pool
-_0802BFB0:
- ldr r1, [r4]
- ldr r0, [r1, 0x28]
- cmp r0, 0x36
- bls _0802BFBC
- movs r0, 0x1E
- b _0802C088
-_0802BFBC:
- movs r0, 0x52
- b _0802C088
-_0802BFC0:
- adds r2, r3, 0
- adds r2, 0x50
- ldrb r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0802C014
- ldr r0, =gUnknown_082FB63C
- ldrb r1, [r2]
- lsls r1, 1
- adds r1, r0
- adds r0, r3, 0
- adds r0, 0x51
- ldrb r2, [r0]
- lsls r0, r2, 3
- subs r0, r2
- ldrh r1, [r1]
- adds r0, r1
- str r0, [r3, 0x28]
- bl sub_802C098
- ldr r2, [r4]
- ldr r3, =gUnknown_082FB64C
- movs r1, 0x3
- ands r1, r0
- lsls r1, 1
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x2
- adds r1, r2, 0
- adds r1, 0x4E
- strh r0, [r1]
- adds r2, 0x50
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _0802C082
- .pool
-_0802C014:
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x8
- bne _0802C030
- adds r1, r3, 0
- adds r1, 0x51
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _0802C02C
- adds r0, 0x1
- strb r0, [r1]
- b _0802C030
-_0802C02C:
- movs r0, 0x1
- str r0, [r3, 0x6C]
-_0802C030:
- ldr r2, =gUnknown_082FB63C
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- mov r12, r0
- mov r3, r12
- adds r3, 0x50
- ldrb r0, [r3]
- movs r1, 0xF
- subs r1, r0
- lsls r1, 1
- adds r1, r2
- mov r0, r12
- adds r0, 0x51
- ldrb r2, [r0]
- lsls r0, r2, 3
- subs r0, r2
- ldrh r1, [r1]
- adds r0, r1
- mov r1, r12
- str r0, [r1, 0x28]
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bls _0802C082
- bl sub_802C098
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0
- bne _0802C07A
- ldr r1, [r4]
- ldr r0, [r1, 0x28]
- subs r0, 0x5
- str r0, [r1, 0x28]
-_0802C07A:
- ldr r0, [r4]
- adds r0, 0x50
- movs r1, 0
- strb r1, [r0]
-_0802C082:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
-_0802C086:
- ldr r0, [r1, 0x28]
-_0802C088:
- str r0, [r1, 0x1C]
-_0802C08A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802BF7C
-
- thumb_func_start sub_802C098
-sub_802C098: @ 802C098
- ldr r0, =gUnknown_02022CFC
- ldr r2, [r0]
- ldr r1, [r2, 0x24]
- ldr r0, =0x41c64e6d
- muls r0, r1
- ldr r1, =0x00006073
- adds r0, r1
- str r0, [r2, 0x24]
- lsrs r0, 16
- bx lr
- .pool
- thumb_func_end sub_802C098
-
- thumb_func_start sub_802C0B8
-sub_802C0B8: @ 802C0B8
- push {lr}
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- movs r0, 0x1
- str r0, [r1, 0x10]
- movs r0, 0x6
- str r0, [r1, 0x14]
- ldr r0, =0x000005ff
- strh r0, [r1, 0x34]
- bl sub_802C270
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C0B8
-
- thumb_func_start sub_802C0DC
-sub_802C0DC: @ 802C0DC
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- bx lr
- .pool
- thumb_func_end sub_802C0DC
-
- thumb_func_start sub_802C0E8
-sub_802C0E8: @ 802C0E8
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022CFC
- ldr r4, =0x000082f8
- movs r3, 0
- movs r2, 0
- movs r1, 0x4
-_0802C0F4:
- ldr r0, [r5]
- adds r0, r4
- adds r0, r2
- str r3, [r0]
- adds r2, 0x28
- subs r1, 0x1
- cmp r1, 0
- bge _0802C0F4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C0E8
-
- thumb_func_start sub_802C114
-sub_802C114: @ 802C114
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldr r1, =0x000083ac
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0
- strh r2, [r1, 0x10]
- ldr r0, [r0]
- strh r2, [r0, 0x12]
- bx lr
- .pool
- thumb_func_end sub_802C114
-
- thumb_func_start sub_802C130
-sub_802C130: @ 802C130
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gUnknown_02022CFC
- ldr r2, [r1]
- ldrb r3, [r2, 0x6]
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r2, r1
- ldr r1, =0x000082f4
- adds r2, r1
- ldrh r1, [r2]
- cmp r1, r0
- beq _0802C15C
- movs r0, 0
- b _0802C15E
- .pool
-_0802C15C:
- movs r0, 0x1
-_0802C15E:
- pop {r1}
- bx r1
- thumb_func_end sub_802C130
-
- thumb_func_start sub_802C164
-sub_802C164: @ 802C164
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldr r1, =0x000083ac
- adds r2, r0, r1
- ldr r1, [r2]
- adds r0, 0x4A
- ldrh r0, [r0]
- strh r0, [r1, 0xE]
- ldr r1, [r2]
- ldrh r0, [r1, 0x10]
- strh r0, [r1, 0x12]
- ldr r1, [r2]
- movs r0, 0x1
- strh r0, [r1, 0x10]
- bx lr
- .pool
- thumb_func_end sub_802C164
-
- thumb_func_start sub_802C18C
-sub_802C18C: @ 802C18C
- push {r4,lr}
- ldr r0, =gUnknown_02022CFC
- ldr r2, [r0]
- ldr r0, =0x000083ac
- adds r3, r2, r0
- ldr r1, [r3]
- ldrh r0, [r1, 0x10]
- strh r0, [r1, 0x12]
- ldr r0, [r3]
- movs r4, 0x2
- strh r4, [r0, 0x10]
- ldr r1, [r3]
- adds r2, 0x4A
- ldrh r0, [r2]
- strh r0, [r1, 0xE]
- ldr r0, [r3]
- str r4, [r0, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C18C
-
- thumb_func_start sub_802C1BC
-sub_802C1BC: @ 802C1BC
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldr r1, =0x000083ac
- adds r0, r1
- ldr r1, [r0]
- ldrh r2, [r1, 0x10]
- movs r3, 0
- strh r2, [r1, 0x12]
- ldr r0, [r0]
- strh r3, [r0, 0x10]
- bx lr
- .pool
- thumb_func_end sub_802C1BC
-
- thumb_func_start sub_802C1DC
-sub_802C1DC: @ 802C1DC
- push {r4,r5,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldr r0, [r1, 0x5C]
- cmp r0, 0
- beq _0802C21C
- ldr r0, [r1, 0x78]
- bl sub_802DD64
- ldr r1, [r4]
- movs r5, 0
- str r5, [r1, 0x5C]
- adds r0, r1, 0
- adds r0, 0x4D
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802C21C
- adds r0, r1, 0
- adds r0, 0x71
- ldrb r0, [r0]
- bl sub_802DCCC
- ldr r1, =gUnknown_082FB654
- subs r0, 0x2
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl PlaySE
- ldr r0, [r4]
- adds r0, 0x4D
- strb r5, [r0]
-_0802C21C:
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- adds r0, 0x74
- ldrh r0, [r0]
- bl sub_802DD74
- bl sub_802C280
- bl sub_802C240
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C1DC
-
- thumb_func_start sub_802C240
-sub_802C240: @ 802C240
- push {lr}
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x46
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802C256
- ldr r0, [r1, 0x14]
- bl sub_802DC9C
-_0802C256:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C240
-
- thumb_func_start sub_802C260
-sub_802C260: @ 802C260
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- adds r0, 0x46
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_802C260
-
- thumb_func_start sub_802C270
-sub_802C270: @ 802C270
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- adds r0, 0x46
- movs r1, 0x1
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_802C270
-
- thumb_func_start sub_802C280
-sub_802C280: @ 802C280
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r6, 0
- ldr r2, =gUnknown_02022CFC
- ldr r0, [r2]
- ldrb r0, [r0, 0x5]
- mov r9, r0
- movs r5, 0
- cmp r6, r9
- bge _0802C360
- mov r10, r2
- mov r8, r5
- movs r7, 0
-_0802C2A2:
- mov r0, r10
- ldr r3, [r0]
- adds r1, r3, r7
- ldr r2, =0x000082f4
- adds r0, r1, r2
- ldrh r2, [r0]
- cmp r2, 0x1
- beq _0802C2D4
- cmp r2, 0x1
- bgt _0802C2C4
- cmp r2, 0
- beq _0802C2CA
- b _0802C354
- .pool
-_0802C2C4:
- cmp r2, 0x2
- beq _0802C338
- b _0802C354
-_0802C2CA:
- adds r0, r5, 0
- movs r1, 0
- bl sub_802DC80
- b _0802C354
-_0802C2D4:
- ldr r0, =0x000082f6
- adds r4, r1, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- bne _0802C2F6
- ldr r0, =0x000082f2
- adds r0, r1
- adds r1, r3, 0
- adds r1, 0x9A
- add r1, r8
- str r1, [sp]
- ldrh r1, [r0]
- mov r12, r1
- ldr r0, [sp]
- ldrh r0, [r0]
- cmp r12, r0
- beq _0802C31E
-_0802C2F6:
- ldrb r3, [r3, 0x6]
- cmp r5, r3
- bne _0802C2FE
- strh r2, [r4]
-_0802C2FE:
- orrs r6, r2
- mov r1, r10
- ldr r2, [r1]
- ldr r1, =0x000082e8
- adds r0, r2, r1
- adds r0, r7
- ldr r1, =0x7fffffff
- str r1, [r0]
- adds r1, r2, 0
- adds r1, 0x9A
- add r1, r8
- adds r2, r7
- ldr r0, =0x000082f2
- adds r2, r0
- ldrh r0, [r2]
- strh r0, [r1]
-_0802C31E:
- adds r0, r5, 0
- bl sub_802C398
- b _0802C354
- .pool
-_0802C338:
- ldr r0, =0x000082f6
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0x2
- beq _0802C354
- ldrb r3, [r3, 0x6]
- cmp r5, r3
- bne _0802C34A
- strh r2, [r1]
-_0802C34A:
- orrs r6, r2
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_802DD88
-_0802C354:
- movs r1, 0x2
- add r8, r1
- adds r7, 0x28
- adds r5, 0x1
- cmp r5, r9
- blt _0802C2A2
-_0802C360:
- movs r0, 0x2
- ands r0, r6
- cmp r0, 0
- beq _0802C378
- movs r0, 0x83
- lsls r0, 1
- bl PlaySE
- b _0802C386
- .pool
-_0802C378:
- movs r0, 0x1
- ands r6, r0
- cmp r6, 0
- beq _0802C386
- movs r0, 0xA
- bl PlaySE
-_0802C386:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802C280
-
- thumb_func_start sub_802C398
-sub_802C398: @ 802C398
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, =gUnknown_02022CFC
- ldr r2, [r0]
- ldr r0, [r2, 0x68]
- cmp r0, 0
- bne _0802C432
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =0x000082e4
- adds r0, r1
- adds r5, r2, r0
- ldr r1, [r5, 0x4]
- ldr r0, =0x7fffffff
- cmp r1, r0
- beq _0802C3D0
- adds r0, r1, 0x1
- str r0, [r5, 0x4]
- adds r3, r0, 0
- b _0802C3E8
- .pool
-_0802C3D0:
- adds r0, r2, 0
- adds r0, 0x4A
- ldrh r1, [r0]
- ldrh r0, [r5, 0xE]
- subs r3, r1, r0
- ldr r0, =0x0000fde7
- cmp r3, r0
- ble _0802C3E6
- ldr r0, =0xffff0218
- adds r3, r0
- adds r3, r1
-_0802C3E6:
- str r3, [r5, 0x4]
-_0802C3E8:
- cmp r3, 0x3
- ble _0802C432
- subs r3, 0x4
- cmp r3, 0x2F
- bgt _0802C414
- ldr r2, =gUnknown_082FB65C
- ldrh r1, [r5, 0xC]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- adds r0, r3, r0
- adds r0, r2
- movs r4, 0
- ldrsb r4, [r0, r4]
- b _0802C416
- .pool
-_0802C414:
- movs r4, 0
-_0802C416:
- adds r1, r4, 0
- adds r0, r6, 0
- bl sub_802DC80
- cmp r4, 0
- bne _0802C430
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r6, r0
- bne _0802C430
- bl sub_802C1BC
-_0802C430:
- str r4, [r5]
-_0802C432:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C398
-
- thumb_func_start sub_802C43C
-sub_802C43C: @ 802C43C
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022CFC
- ldr r1, [r5]
- ldr r0, [r1, 0x14]
- cmp r0, 0x8
- bne _0802C4CE
- ldr r0, [r1, 0x18]
- cmp r0, 0x7
- bne _0802C4CE
- ldr r4, [r1, 0x58]
- cmp r4, 0
- bne _0802C46C
- bl sub_802C780
- ldr r0, [r5]
- str r4, [r0, 0x54]
- movs r1, 0x1
- str r1, [r0, 0x58]
- adds r0, 0x71
- strb r4, [r0]
- b _0802C4CE
- .pool
-_0802C46C:
- ldr r0, [r1, 0x54]
- cmp r0, 0x5
- bne _0802C480
- ldrh r0, [r1, 0xC]
- adds r0, 0x1
- strh r0, [r1, 0xC]
- ldrh r0, [r1, 0xC]
- bl sub_802C7A0
- b _0802C484
-_0802C480:
- movs r0, 0
- strh r0, [r1, 0xC]
-_0802C484:
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldr r0, [r1, 0x54]
- cmp r0, 0x1
- ble _0802C49E
- movs r0, 0x1
- str r0, [r1, 0x64]
- adds r0, r1, 0
- adds r0, 0x86
- adds r1, 0x81
- movs r2, 0x5
- bl memcpy
-_0802C49E:
- bl sub_802C780
- ldr r0, [r4]
- movs r2, 0
- str r2, [r0, 0x54]
- movs r1, 0x1
- str r1, [r0, 0x58]
- adds r0, 0x71
- strb r2, [r0]
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0x74
- ldrh r1, [r2]
- ldr r0, =0x0000270e
- cmp r1, r0
- bhi _0802C4C2
- adds r0, r1, 0x1
- strh r0, [r2]
-_0802C4C2:
- movs r0, 0xA
- bl sub_802C688
- movs r0, 0x3
- bl sub_802AE14
-_0802C4CE:
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldr r0, [r0, 0x64]
- cmp r0, 0
- beq _0802C504
- bl sub_802C618
- cmp r0, 0x1
- beq _0802C4E8
- ldr r0, [r4]
- ldr r0, [r0, 0x14]
- cmp r0, 0
- bne _0802C504
-_0802C4E8:
- ldr r0, [r4]
- adds r0, 0x86
- bl sub_802C73C
- bl sub_802C790
- bl sub_802C688
- movs r0, 0x3
- bl sub_802AE14
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x64]
-_0802C504:
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldr r0, [r0, 0x58]
- cmp r0, 0
- beq _0802C52A
- bl sub_802C6B0
- adds r2, r0, 0
- ldr r1, [r4]
- ldr r0, [r1, 0x54]
- cmp r2, r0
- ble _0802C52A
- str r2, [r1, 0x54]
- adds r0, r1, 0
- adds r0, 0x81
- adds r1, 0x7C
- movs r2, 0x5
- bl memcpy
-_0802C52A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C43C
-
- thumb_func_start sub_802C538
-sub_802C538: @ 802C538
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022CFC
- ldr r1, [r5]
- ldr r0, [r1, 0x14]
- cmp r0, 0x6
- bne _0802C582
- ldr r4, =0x000083ac
- adds r0, r1, r4
- ldr r1, [r0]
- ldr r0, [r1]
- cmp r0, 0
- bne _0802C582
- ldrh r0, [r1, 0x12]
- cmp r0, 0x1
- bne _0802C578
- bl sub_802C0DC
- adds r1, r0, 0
- cmp r1, 0x1
- bne _0802C578
- ldr r0, [r5]
- adds r0, r4
- ldr r0, [r0]
- str r1, [r0, 0x14]
- b _0802C582
- .pool
-_0802C574:
- movs r0, 0
- b _0802C5CA
-_0802C578:
- bl sub_802C18C
- movs r0, 0x3
- bl sub_802AE14
-_0802C582:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldr r0, [r1, 0x14]
- cmp r0, 0x7
- bne _0802C5A8
- ldr r0, [r1, 0x18]
- cmp r0, 0x6
- bne _0802C5A8
- ldr r2, =0x000083ac
- adds r0, r1, r2
- ldr r1, [r0]
- ldrh r0, [r1, 0x10]
- cmp r0, 0x2
- beq _0802C5A8
- movs r0, 0x1
- str r0, [r1, 0x14]
- movs r0, 0x3
- bl sub_802AE14
-_0802C5A8:
- movs r2, 0
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- cmp r2, r1
- bge _0802C5C8
- adds r3, r1, 0
- ldr r4, =0x000082f4
- adds r1, r0, r4
-_0802C5BA:
- ldrh r0, [r1]
- cmp r0, 0x2
- beq _0802C574
- adds r1, 0x28
- adds r2, 0x1
- cmp r2, r3
- blt _0802C5BA
-_0802C5C8:
- movs r0, 0x1
-_0802C5CA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802C538
-
- thumb_func_start sub_802C5DC
-sub_802C5DC: @ 802C5DC
- push {r4,lr}
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrb r3, [r0, 0x5]
- movs r4, 0
- cmp r4, r3
- bge _0802C600
- ldr r1, =0x000082f8
- adds r2, r0, r1
- adds r1, r3, 0
-_0802C5F0:
- ldr r0, [r2]
- cmp r0, 0
- beq _0802C5F8
- adds r4, 0x1
-_0802C5F8:
- adds r2, 0x28
- subs r1, 0x1
- cmp r1, 0
- bne _0802C5F0
-_0802C600:
- movs r0, 0
- cmp r4, r3
- bne _0802C608
- movs r0, 0x1
-_0802C608:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802C5DC
-
- thumb_func_start sub_802C618
-sub_802C618: @ 802C618
- push {r4,lr}
- movs r2, 0
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- cmp r2, r1
- bge _0802C648
- adds r3, r1, 0
- ldr r4, =0x000082f8
- adds r1, r0, r4
-_0802C62C:
- ldr r0, [r1]
- cmp r0, 0x1
- beq _0802C640
- movs r0, 0
- b _0802C64A
- .pool
-_0802C640:
- adds r1, 0x28
- adds r2, 0x1
- cmp r2, r3
- blt _0802C62C
-_0802C648:
- movs r0, 0x1
-_0802C64A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802C618
-
- thumb_func_start sub_802C650
-sub_802C650: @ 802C650
- push {lr}
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x45
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0802C668
-_0802C660:
- movs r0, 0
- b _0802C684
- .pool
-_0802C668:
- movs r2, 0x1
- ldrb r0, [r1, 0x5]
- cmp r2, r0
- bge _0802C682
- adds r3, r0, 0
- adds r1, 0x92
-_0802C674:
- ldrh r0, [r1]
- cmp r0, 0x1
- beq _0802C660
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r3
- blt _0802C674
-_0802C682:
- movs r0, 0x1
-_0802C684:
- pop {r1}
- bx r1
- thumb_func_end sub_802C650
-
- thumb_func_start sub_802C688
-sub_802C688: @ 802C688
- push {lr}
- ldr r1, =gUnknown_02022CFC
- ldr r2, [r1]
- ldr r1, [r2, 0x78]
- adds r1, r0
- str r1, [r2, 0x78]
- movs r0, 0x1
- str r0, [r2, 0x5C]
- ldr r0, =0x00018695
- cmp r1, r0
- bls _0802C6A2
- adds r0, 0x1
- str r0, [r2, 0x78]
-_0802C6A2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C688
-
- thumb_func_start sub_802C6B0
-sub_802C6B0: @ 802C6B0
- push {r4-r7,lr}
- movs r5, 0
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrb r4, [r0, 0x5]
- movs r2, 0
- cmp r5, r4
- bge _0802C702
- mov r12, r1
- movs r3, 0
- ldr r7, =0x000082e4
- movs r6, 0x1E
- negs r6, r6
-_0802C6CA:
- mov r0, r12
- ldr r1, [r0]
- adds r0, r1, r7
- adds r0, r3
- ldr r0, [r0]
- cmp r0, r6
- bne _0802C6F0
- adds r0, r1, 0
- adds r0, 0x7C
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- adds r5, 0x1
- b _0802C6FA
- .pool
-_0802C6F0:
- adds r0, r1, 0
- adds r0, 0x7C
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
-_0802C6FA:
- adds r3, 0x28
- adds r2, 0x1
- cmp r2, r4
- blt _0802C6CA
-_0802C702:
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_802C6B0
-
- thumb_func_start sub_802C70C
-sub_802C70C: @ 802C70C
- push {lr}
- movs r2, 0
- ldr r1, =gUnknown_03005000
- ldr r3, =0x000009e6
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802C728
- ldr r3, =0x00000c1a
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802C728
- movs r2, 0x1
-_0802C728:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802C70C
-
- thumb_func_start sub_802C73C
-sub_802C73C: @ 802C73C
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- ldr r6, =gUnknown_02022CFC
- movs r5, 0x1
-_0802C74A:
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802C75A
- adds r0, r5, 0
- lsls r0, r1
- orrs r2, r0
- adds r3, 0x1
-_0802C75A:
- adds r1, 0x1
- cmp r1, 0x4
- ble _0802C74A
- ldr r0, [r6]
- adds r0, 0x71
- strb r2, [r0]
- cmp r2, 0
- beq _0802C772
- ldr r0, [r6]
- adds r0, 0x4D
- movs r1, 0x1
- strb r1, [r0]
-_0802C772:
- adds r0, r3, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802C73C
-
- thumb_func_start sub_802C780
-sub_802C780: @ 802C780
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- adds r0, 0x44
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_802C780
-
- thumb_func_start sub_802C790
-sub_802C790: @ 802C790
- ldr r1, =gUnknown_082FB6EC
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_802C790
-
- thumb_func_start sub_802C7A0
-sub_802C7A0: @ 802C7A0
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrh r2, [r0, 0xE]
- cmp r1, r2
- bls _0802C7B2
- strh r1, [r0, 0xE]
-_0802C7B2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C7A0
-
- thumb_func_start sub_802C7BC
-sub_802C7BC: @ 802C7BC
- push {lr}
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldr r1, =gUnknown_082FB714
- ldr r2, [r0, 0x78]
- ldr r0, [r1]
- cmp r2, r0
- bcs _0802C7D8
- movs r0, 0
- b _0802C7DA
- .pool
-_0802C7D8:
- movs r0, 0x1
-_0802C7DA:
- pop {r1}
- bx r1
- thumb_func_end sub_802C7BC
-
- thumb_func_start sub_802C7E0
-sub_802C7E0: @ 802C7E0
- push {r4,lr}
- bl sub_802C818
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_802C838
- lsls r0, 16
- lsrs r0, 4
- ldr r1, =0x00000fff
- ands r4, r1
- orrs r0, r4
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802C7E0
-
- thumb_func_start sub_802C808
-sub_802C808: @ 802C808
- lsls r0, 16
- lsrs r3, r0, 28
- strh r3, [r2]
- lsls r0, 4
- lsrs r0, 20
- strh r0, [r1]
- bx lr
- thumb_func_end sub_802C808
-
- thumb_func_start sub_802C818
-sub_802C818: @ 802C818
- push {lr}
- bl Random
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- ldr r0, =gUnknown_082FB704
- lsrs r1, 15
- adds r1, r0
- ldrh r0, [r1]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802C818
-
- thumb_func_start sub_802C838
-sub_802C838: @ 802C838
- push {r4-r6,lr}
- movs r5, 0
- movs r4, 0
- ldr r3, =gUnknown_02022CFC
- ldr r0, [r3]
- ldr r2, =gUnknown_082FB714
- ldr r1, [r0, 0x78]
- ldr r0, [r2]
- cmp r1, r0
- bcc _0802C874
- ldr r5, [r2, 0x4]
- adds r6, r3, 0
- adds r3, r2, 0x4
-_0802C852:
- adds r3, 0x8
- adds r2, 0x8
- adds r4, 0x1
- cmp r4, 0x4
- bhi _0802C874
- ldr r0, [r6]
- ldr r1, [r0, 0x78]
- ldr r0, [r2]
- cmp r1, r0
- bcc _0802C874
- ldr r5, [r3]
- b _0802C852
- .pool
-_0802C874:
- lsls r0, r5, 16
- lsrs r0, 16
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_802C838
-
- thumb_func_start sub_802C880
-sub_802C880: @ 802C880
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- b _0802C892
-_0802C88C:
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_0802C892:
- cmp r4, 0
- beq _0802C8A4
- adds r0, r5, 0
- adds r1, r4, 0
- bl CheckBagHasSpace
- lsls r0, 24
- cmp r0, 0
- beq _0802C88C
-_0802C8A4:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802C880
-
- thumb_func_start sub_802C8AC
-sub_802C8AC: @ 802C8AC
- push {lr}
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_802C8AC
-
- thumb_func_start sub_802C8BC
-sub_802C8BC: @ 802C8BC
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- bx lr
- .pool
- thumb_func_end sub_802C8BC
-
- thumb_func_start sub_802C8C8
-sub_802C8C8: @ 802C8C8
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_02022CFC
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, =0x000082a8
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_802C8C8
-
- thumb_func_start sub_802C8E8
-sub_802C8E8: @ 802C8E8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_02022CFC
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, [r2]
- adds r0, r1
- movs r1, 0x83
- lsls r1, 8
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_802C8E8
-
- thumb_func_start sub_802C908
-sub_802C908: @ 802C908
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl sub_802AC00
- lsls r0, 16
- asrs r0, 16
- mvns r0, r0
- lsrs r0, 31
- pop {r1}
- bx r1
- thumb_func_end sub_802C908
-
- thumb_func_start sub_802C920
-sub_802C920: @ 802C920
- push {r4,r5,lr}
- movs r5, 0
-_0802C924:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _0802C95C
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl sub_802C908
- cmp r0, 0
- beq _0802C95C
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- b _0802C966
- .pool
-_0802C95C:
- adds r5, 0x1
- cmp r5, 0x5
- ble _0802C924
- ldr r1, =gSpecialVar_Result
- movs r0, 0
-_0802C966:
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C920
-
- thumb_func_start sub_802C974
-sub_802C974: @ 802C974
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r4, 0
- ldr r5, =gUnknown_082FBE08
-_0802C97C:
- adds r0, r5, 0
- bl LoadCompressedSpriteSheet
- adds r5, 0x8
- adds r4, 0x1
- cmp r4, 0x4
- bls _0802C97C
- movs r4, 0
- ldr r5, =gUnknown_082FBE30
-_0802C98E:
- adds r0, r5, 0
- bl LoadSpritePalette
- adds r5, 0x8
- adds r4, 0x1
- cmp r4, 0x1
- bls _0802C98E
- movs r0, 0x5
- bl IndexOfSpritePaletteTag
- strb r0, [r6, 0xE]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- strb r0, [r6, 0xF]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C974
-
- thumb_func_start sub_802C9BC
-sub_802C9BC: @ 802C9BC
- push {lr}
- movs r2, 0
- movs r1, 0x7
- adds r0, 0x3C
-_0802C9C4:
- strh r2, [r0]
- subs r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _0802C9C4
- pop {r0}
- bx r0
- thumb_func_end sub_802C9BC
-
- thumb_func_start sub_802C9D4
-sub_802C9D4: @ 802C9D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- mov r9, r0
- adds r7, r1, 0
- ldr r0, [sp, 0x54]
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x28]
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x2C]
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, sp
- ldr r0, =gUnknown_082FBE40
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r0, 0x80
- lsls r0, 6
- bl Alloc
- mov r8, r0
- movs r0, 0x80
- lsls r0, 4
- bl Alloc
- mov r10, r0
- bl sub_802C8BC
- lsls r0, 16
- lsrs r0, 16
- cmp r6, r0
- bne _0802CA2C
- movs r0, 0x3
- b _0802CA32
- .pool
-_0802CA2C:
- adds r0, r6, 0x4
- lsls r0, 24
- lsrs r0, 24
-_0802CA32:
- str r0, [sp, 0x30]
- mov r1, r8
- cmp r1, 0
- beq _0802CAF4
- mov r2, r10
- cmp r2, 0
- beq _0802CAF4
- ldrh r2, [r7]
- lsls r0, r2, 3
- ldr r1, =gMonStillFrontPicTable
- adds r0, r1
- ldr r3, [r7, 0x8]
- mov r1, r8
- bl HandleLoadSpecialPokePic
- mov r3, r8
- str r3, [sp, 0x18]
- adds r4, r6, 0
- add r0, sp, 0x18
- ldr r5, =0xffff0000
- lsls r1, r4, 16
- movs r2, 0x80
- lsls r2, 4
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadSpriteSheet
- ldrh r0, [r7]
- ldr r1, [r7, 0x4]
- ldr r2, [r7, 0x8]
- bl GetFrontSpritePalFromSpeciesAndPersonality
- str r0, [sp, 0x20]
- add r0, sp, 0x20
- ldr r1, [r0, 0x4]
- ands r1, r5
- orrs r1, r4
- str r1, [r0, 0x4]
- bl LoadCompressedSpritePalette
- mov r0, r8
- bl Free
- mov r0, r10
- bl Free
- mov r1, sp
- mov r0, sp
- ldrh r0, [r0]
- adds r0, r6
- strh r0, [r1]
- mov r0, sp
- ldrh r0, [r0, 0x2]
- adds r0, r6
- strh r0, [r1, 0x2]
- ldr r4, [sp, 0x28]
- lsls r1, r4, 16
- asrs r1, 16
- ldr r0, [sp, 0x2C]
- lsls r2, r0, 16
- asrs r2, 16
- mov r0, sp
- ldr r3, [sp, 0x30]
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0802CAF4
- lsls r0, r6, 2
- ldr r2, =0x000081a8
- add r2, r9
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- ldr r0, =0x000081fc
- add r0, r9
- adds r0, r6
- add r1, sp, 0x30
- ldrb r1, [r1]
- strb r1, [r0]
- b _0802CB00
- .pool
-_0802CAF4:
- lsls r0, r6, 2
- ldr r1, =0x000081a8
- add r1, r9
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_0802CB00:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C9D4
-
- thumb_func_start sub_802CB14
-sub_802CB14: @ 802CB14
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r6, r1, 2
- ldr r0, =0x000081bc
- adds r5, r4, r0
- adds r5, r6
- ldr r0, [r5]
- bl sub_802C9BC
- ldr r2, [r5]
- ldr r0, =0x000081a8
- adds r4, r0
- adds r4, r6
- ldr r1, [r4]
- ldr r0, =gSprites
- subs r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r1, r0, 8
- adds r0, r1
- lsls r1, r0, 16
- adds r0, r1
- negs r0, r0
- asrs r0, 2
- strh r0, [r2, 0x3C]
- ldr r1, [r5]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r5]
- movs r0, 0x60
- strh r0, [r1, 0x22]
- ldr r0, [r5]
- ldr r1, =sub_802CB7C
- str r1, [r0, 0x1C]
- movs r1, 0x1
- bl StartSpriteAnim
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CB14
-
- thumb_func_start sub_802CB7C
-sub_802CB7C: @ 802CB7C
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _0802CBA8
- cmp r0, 0x1
- bgt _0802CB92
- cmp r0, 0
- beq _0802CB98
- b _0802CBE6
-_0802CB92:
- cmp r0, 0x2
- beq _0802CBC8
- b _0802CBE6
-_0802CB98:
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0802CBE6
- b _0802CBD6
-_0802CBA8:
- ldrh r1, [r2, 0x22]
- subs r1, 0x1
- strh r1, [r2, 0x22]
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x48
- bgt _0802CBE6
- movs r0, 0x48
- strh r0, [r2, 0x22]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- b _0802CBE6
-_0802CBC8:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2F
- ble _0802CBE6
-_0802CBD6:
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_0802CBE6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CB7C
-
- thumb_func_start sub_802CBF0
-sub_802CBF0: @ 802CBF0
- push {lr}
- lsls r1, 2
- ldr r2, =0x000081a8
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- ldr r1, =sub_802CC40
- str r1, [r2, 0x1C]
- movs r1, 0
- strh r1, [r2, 0x26]
- ldr r0, [r0]
- bl sub_802C9BC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CBF0
-
- thumb_func_start sub_802CC18
-sub_802CC18: @ 802CC18
- push {lr}
- movs r2, 0
- lsls r1, 2
- ldr r3, =0x000081a8
- adds r0, r3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- ldr r0, =sub_802CC40
- cmp r1, r0
- bne _0802CC30
- movs r2, 0x1
-_0802CC30:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802CC18
-
- thumb_func_start sub_802CC40
-sub_802CC40: @ 802CC40
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0802CC6C
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- strh r0, [r2, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0802CC64
- movs r0, 0x2
- b _0802CC66
-_0802CC64:
- ldr r0, =0x0000fffe
-_0802CC66:
- strh r0, [r2, 0x26]
- movs r0, 0
- strh r0, [r2, 0x30]
-_0802CC6C:
- movs r1, 0x32
- ldrsh r0, [r2, r1]
- cmp r0, 0xC
- ble _0802CC7C
- movs r0, 0
- strh r0, [r2, 0x26]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_0802CC7C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CC40
-
- thumb_func_start sub_802CC88
-sub_802CC88: @ 802CC88
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 2
- ldr r0, =0x000081a8
- adds r4, r0
- adds r4, r1
- ldr r0, [r4]
- bl sub_802C9BC
- ldr r1, [r4]
- ldr r0, =sub_802CD08
- str r0, [r1, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CC88
-
- thumb_func_start sub_802CCB0
-sub_802CCB0: @ 802CCB0
- push {r4-r7,lr}
- adds r4, r0, 0
- bl sub_802C8AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _0802CCF4
- movs r1, 0x5
- negs r1, r1
- mov r12, r1
- ldr r1, =0x000081a8
- adds r3, r4, r1
- ldr r7, =sub_802CD08
- ldr r6, =SpriteCallbackDummy
- movs r5, 0xA
- adds r4, r0, 0
-_0802CCD2:
- ldr r2, [r3]
- ldr r0, [r2, 0x1C]
- cmp r0, r7
- bne _0802CCEC
- adds r2, 0x3E
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- str r6, [r0, 0x1C]
- adds r0, 0x43
- strb r5, [r0]
-_0802CCEC:
- adds r3, 0x4
- subs r4, 0x1
- cmp r4, 0
- bne _0802CCD2
-_0802CCF4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CCB0
-
- thumb_func_start sub_802CD08
-sub_802CD08: @ 802CD08
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0802CD36
- movs r0, 0
- strh r0, [r3, 0x2E]
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_0802CD36:
- pop {r0}
- bx r0
- thumb_func_end sub_802CD08
-
- thumb_func_start sub_802CD3C
-sub_802CD3C: @ 802CD3C
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_802C8AC
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- cmp r2, r3
- bge _0802CD66
- ldr r0, =0x000081fc
- adds r5, r4, r0
- subs r0, 0x54
- adds r4, r0
-_0802CD56:
- ldm r4!, {r0}
- adds r1, r5, r2
- ldrb r1, [r1]
- adds r0, 0x43
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, r3
- blt _0802CD56
-_0802CD66:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CD3C
-
- thumb_func_start sub_802CD70
-sub_802CD70: @ 802CD70
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 2
- ldr r0, =0x000081a8
- adds r4, r0
- adds r4, r1
- ldr r0, [r4]
- bl sub_802C9BC
- ldr r1, [r4]
- ldr r0, =sub_802CDD4
- str r0, [r1, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CD70
-
- thumb_func_start sub_802CD98
-sub_802CD98: @ 802CD98
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_802C8AC
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- cmp r2, r3
- bge _0802CDCC
- ldr r5, =sub_802CDD4
- ldr r0, =0x000081a8
- adds r1, r4, r0
-_0802CDB0:
- ldr r0, [r1]
- ldr r0, [r0, 0x1C]
- cmp r0, r5
- bne _0802CDC4
- movs r0, 0x1
- b _0802CDCE
- .pool
-_0802CDC4:
- adds r1, 0x4
- adds r2, 0x1
- cmp r2, r3
- blt _0802CDB0
-_0802CDCC:
- movs r0, 0
-_0802CDCE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802CD98
-
- thumb_func_start sub_802CDD4
-sub_802CDD4: @ 802CDD4
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x2E
- ldrsh r4, [r5, r0]
- cmp r4, 0
- beq _0802CDE6
- cmp r4, 0x1
- beq _0802CDF4
- b _0802CE3C
-_0802CDE6:
- movs r0, 0x22
- bl PlaySE
- strh r4, [r5, 0x30]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
-_0802CDF4:
- ldrh r0, [r5, 0x30]
- adds r0, 0x4
- strh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7F
- ble _0802CE06
- movs r0, 0
- strh r0, [r5, 0x30]
-_0802CE06:
- ldr r1, =gSineTable
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- negs r0, r0
- strh r0, [r5, 0x26]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- cmp r1, 0
- bne _0802CE3C
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bgt _0802CE38
- strh r1, [r5, 0x2E]
- b _0802CE3C
- .pool
-_0802CE38:
- ldr r0, =SpriteCallbackDummy
- str r0, [r5, 0x1C]
-_0802CE3C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CDD4
-
- thumb_func_start sub_802CE48
-sub_802CE48: @ 802CE48
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r3, 24
- lsrs r4, r3, 24
- ldr r0, =gUnknown_082FC00C
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0802CE88
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r3]
- lsls r2, r4, 2
- ldr r3, =0x000081bc
- adds r0, r5, r3
- adds r0, r2
- str r1, [r0]
-_0802CE88:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CE48
-
- thumb_func_start sub_802CE9C
-sub_802CE9C: @ 802CE9C
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r5, 0
- movs r4, 0
- ldr r6, =gUnknown_082FBE58
-_0802CEA6:
- ldr r1, =gUnknown_082FBEB8
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r2, =gUnknown_082FBEA8
- lsls r1, r5, 1
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r6, r3]
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r5, 2
- ldr r3, =0x000081d0
- adds r2, r7, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- adds r5, 0x1
- adds r6, 0x14
- adds r4, 0x1
- cmp r4, 0x3
- ble _0802CEA6
- movs r4, 0x3
- movs r6, 0x3C
-_0802CEE8:
- ldr r1, =gUnknown_082FBEB8
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r2, =gUnknown_082FBEA8
- lsls r1, r5, 1
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- ldr r2, =gUnknown_082FBE58
- adds r2, r6, r2
- movs r3, 0
- ldrsh r2, [r2, r3]
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r5, 2
- ldr r3, =0x000081d0
- adds r2, r7, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- adds r5, 0x1
- subs r6, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _0802CEE8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CE9C
-
- thumb_func_start sub_802CF50
-sub_802CF50: @ 802CF50
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- str r0, [sp, 0x8]
- cmp r1, 0x5
- ble _0802CF70
- movs r0, 0xA
- subs r1, r0, r1
- movs r0, 0x3
- str r0, [sp]
- ldr r2, [sp, 0x8]
- ldrb r0, [r2, 0xF]
- b _0802CF78
-_0802CF70:
- movs r3, 0x2
- str r3, [sp]
- ldr r7, [sp, 0x8]
- ldrb r0, [r7, 0xE]
-_0802CF78:
- movs r6, 0
- lsls r2, r1, 1
- str r2, [sp, 0x4]
- lsls r0, 4
- mov r9, r0
- lsls r1, 24
- mov r8, r1
- ldr r0, =gUnknown_082FBE58
- adds r4, r2, r0
- ldr r3, [sp]
- lsls r3, 2
- mov r10, r3
- movs r5, 0x3
-_0802CF92:
- lsls r0, r6, 2
- ldr r7, [sp, 0x8]
- ldr r1, =0x000081d0
- adds r2, r7, r1
- adds r2, r0
- ldr r1, [r2]
- ldrh r0, [r4]
- strh r0, [r1, 0x22]
- ldr r3, [r2]
- ldrb r0, [r3, 0x5]
- movs r7, 0xD
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- mov r1, r10
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r3, [r2]
- ldrb r1, [r3, 0x5]
- movs r0, 0xF
- ands r0, r1
- mov r7, r9
- orrs r0, r7
- strb r0, [r3, 0x5]
- ldr r0, [r2]
- mov r2, r8
- lsrs r1, r2, 24
- bl StartSpriteAnim
- adds r6, 0x1
- adds r4, 0x14
- subs r5, 0x1
- cmp r5, 0
- bge _0802CF92
- movs r5, 0x3
- ldr r0, =gUnknown_082FBE58
- ldr r3, [sp, 0x4]
- adds r0, r3, r0
- adds r4, r0, 0
- adds r4, 0x3C
- ldr r7, [sp]
- lsls r7, 2
- mov r10, r7
-_0802CFE8:
- lsls r0, r6, 2
- ldr r1, [sp, 0x8]
- ldr r3, =0x000081d0
- adds r2, r1, r3
- adds r2, r0
- ldr r1, [r2]
- ldrh r0, [r4]
- strh r0, [r1, 0x22]
- ldr r3, [r2]
- ldrb r0, [r3, 0x5]
- movs r7, 0xD
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- mov r1, r10
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r3, [r2]
- ldrb r1, [r3, 0x5]
- movs r0, 0xF
- ands r0, r1
- mov r7, r9
- orrs r0, r7
- strb r0, [r3, 0x5]
- ldr r0, [r2]
- mov r2, r8
- lsrs r1, r2, 24
- bl StartSpriteAnim
- adds r6, 0x1
- subs r4, 0x14
- subs r5, 0x1
- cmp r5, 0
- bge _0802CFE8
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CF50
-
- thumb_func_start sub_802D044
-sub_802D044: @ 802D044
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r0, 0
- str r0, [sp]
- movs r0, 0x9
- movs r1, 0x7
- movs r2, 0x78
- movs r3, 0x50
- bl sub_802EB24
- adds r0, r4, 0
- bl sub_802CD3C
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802D044
-
- thumb_func_start sub_802D068
-sub_802D068: @ 802D068
- push {lr}
- bl sub_802EB84
- pop {r1}
- bx r1
- thumb_func_end sub_802D068
-
- thumb_func_start sub_802D074
-sub_802D074: @ 802D074
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- str r0, [r4]
- bl sub_802D0BC
- ldr r0, =sub_802D12C
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0x6]
- ldr r2, [r4]
- ldrb r0, [r2, 0x6]
- movs r1, 0x2
- bl SetWordTaskArg
- ldr r0, =sub_802D150
- bl sub_802D108
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D074
-
- thumb_func_start sub_802D0AC
-sub_802D0AC: @ 802D0AC
- push {lr}
- bl FreeAllWindowBuffers
- bl sub_8034CC8
- pop {r0}
- bx r0
- thumb_func_end sub_802D0AC
-
- thumb_func_start sub_802D0BC
-sub_802D0BC: @ 802D0BC
- movs r1, 0
- strh r1, [r0, 0x4]
- str r1, [r0]
- movs r1, 0xFF
- strh r1, [r0, 0x12]
- bx lr
- thumb_func_end sub_802D0BC
-
- thumb_func_start sub_802D0C8
-sub_802D0C8: @ 802D0C8
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- ldr r4, =gUnknown_082FE18C
-_0802D0D0:
- ldr r0, [r4]
- cmp r0, r6
- bne _0802D0DC
- ldr r0, [r4, 0x4]
- bl sub_802D108
-_0802D0DC:
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x9
- bls _0802D0D0
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D0C8
-
- thumb_func_start sub_802D0F0
-sub_802D0F0: @ 802D0F0
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- ldr r1, [r0]
- movs r0, 0x1
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- .pool
- thumb_func_end sub_802D0F0
-
- thumb_func_start sub_802D108
-sub_802D108: @ 802D108
- push {r4,lr}
- adds r2, r0, 0
- ldr r4, =gUnknown_02022D00
- ldr r0, [r4]
- ldrb r0, [r0, 0x6]
- movs r1, 0
- bl SetWordTaskArg
- ldr r1, [r4]
- movs r0, 0
- strh r0, [r1, 0x4]
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D108
-
- thumb_func_start sub_802D12C
-sub_802D12C: @ 802D12C
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- bne _0802D148
- adds r0, r1, 0
- movs r1, 0
- bl GetWordTaskArg
- bl _call_via_r0
-_0802D148:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D12C
-
- thumb_func_start sub_802D150
-sub_802D150: @ 802D150
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, =gUnknown_02022D00
- ldr r1, [r6]
- ldrh r5, [r1, 0x4]
- cmp r5, 0x1
- bne _0802D160
- b _0802D298
-_0802D160:
- cmp r5, 0x1
- bgt _0802D170
- cmp r5, 0
- beq _0802D178
- b _0802D2DA
- .pool
-_0802D170:
- cmp r5, 0x2
- bne _0802D176
- b _0802D2D6
-_0802D176:
- b _0802D2DA
-_0802D178:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082FE164
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_082FE174
- bl InitWindows
- bl reset_temp_tile_data_buffers
- ldr r0, [r6]
- bl sub_802C974
- bl sub_802DD08
- ldr r0, =gPkmnJumpBgPal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gPkmnJumpBgGfx
- str r5, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gPkmnJumpBgTilemap
- movs r4, 0x1
- str r4, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r0, =gPkmnJumpVenusaurPal
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gPkmnJumpVenusaurGfx
- str r5, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gPkmnJumpVenusaurTilemap
- str r4, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r0, =gPkmnJumpResultsPal
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gPkmnJumpResultsGfx
- str r5, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gPkmnJumpResultsTilemap
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r0, =gPkmnJumpPal3
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r1, [r6]
- movs r0, 0xD3
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- bl SetBgTilemapBuffer
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- bl sub_802DB8C
- movs r0, 0
- bl sub_802DD64
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xE0
- bl sub_8098C6C
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- bl ResetBgPositions
- b _0802D2CC
- .pool
-_0802D298:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- bne _0802D2DA
- bl sub_802DBF8
- ldr r0, [r6]
- bl sub_802CE9C
- ldr r0, [r6]
- movs r1, 0x6
- bl sub_802CF50
- movs r0, 0x3
- bl ShowBg
- movs r0, 0
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x1
- bl HideBg
-_0802D2CC:
- ldr r1, [r6]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D2DA
-_0802D2D6:
- movs r0, 0x1
- str r0, [r1]
-_0802D2DA:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802D150
-
- thumb_func_start sub_802D2E4
-sub_802D2E4: @ 802D2E4
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- ldr r0, [r4]
- ldrh r0, [r0, 0x4]
- cmp r0, 0x1
- beq _0802D310
- cmp r0, 0x1
- bgt _0802D300
- cmp r0, 0
- beq _0802D30A
- b _0802D34A
- .pool
-_0802D300:
- cmp r0, 0x2
- beq _0802D322
- cmp r0, 0x3
- beq _0802D33A
- b _0802D34A
-_0802D30A:
- bl sub_802DE1C
- b _0802D330
-_0802D310:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D34A
- movs r0, 0
- bl sub_802DF70
- b _0802D330
-_0802D322:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D34A
- bl sub_802DFD4
-_0802D330:
- ldr r1, [r4]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D34A
-_0802D33A:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D34A
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1]
-_0802D34A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802D2E4
-
- thumb_func_start sub_802D350
-sub_802D350: @ 802D350
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- ldr r0, [r4]
- ldrh r0, [r0, 0x4]
- cmp r0, 0x1
- beq _0802D37C
- cmp r0, 0x1
- bgt _0802D36C
- cmp r0, 0
- beq _0802D376
- b _0802D3B6
- .pool
-_0802D36C:
- cmp r0, 0x2
- beq _0802D38E
- cmp r0, 0x3
- beq _0802D3A6
- b _0802D3B6
-_0802D376:
- bl sub_802DE1C
- b _0802D39C
-_0802D37C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D3B6
- movs r0, 0x1
- bl sub_802DF70
- b _0802D39C
-_0802D38E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D3B6
- bl sub_802DFD4
-_0802D39C:
- ldr r1, [r4]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D3B6
-_0802D3A6:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D3B6
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1]
-_0802D3B6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802D350
-
- thumb_func_start sub_802D3BC
-sub_802D3BC: @ 802D3BC
- push {r4,r5,lr}
- bl sub_802C8AC
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- ldrh r0, [r0, 0x4]
- cmp r0, 0
- beq _0802D3DC
- cmp r0, 0x1
- beq _0802D410
- b _0802D43E
- .pool
-_0802D3DC:
- movs r4, 0
- cmp r4, r5
- bge _0802D3F8
-_0802D3E2:
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x1C
- adds r0, r1
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r4, 0x1
- cmp r4, r5
- blt _0802D3E2
-_0802D3F8:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_02022D00
- ldr r1, [r0]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D43E
- .pool
-_0802D410:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D43E
- movs r4, 0
- cmp r4, r5
- bge _0802D436
-_0802D420:
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x1C
- adds r0, r1
- ldrb r0, [r0]
- bl RemoveWindow
- adds r4, 0x1
- cmp r4, r5
- blt _0802D420
-_0802D436:
- ldr r0, =gUnknown_02022D00
- ldr r1, [r0]
- movs r0, 0x1
- str r0, [r1]
-_0802D43E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D3BC
-
- thumb_func_start sub_802D448
-sub_802D448: @ 802D448
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, =gUnknown_02022D00
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0x1
- beq _0802D4A4
- cmp r4, 0x1
- bgt _0802D464
- cmp r4, 0
- beq _0802D46A
- b _0802D4EC
- .pool
-_0802D464:
- cmp r4, 0x2
- beq _0802D4DC
- b _0802D4EC
-_0802D46A:
- movs r0, 0x1
- movs r1, 0x8
- movs r2, 0x14
- movs r3, 0x2
- bl sub_802DA9C
- ldr r1, [r5]
- strh r0, [r1, 0x12]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gText_WantToPlayAgain2
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- b _0802D4D2
- .pool
-_0802D4A4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D4EC
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0x17
- movs r1, 0x7
- movs r2, 0
- bl sub_802DB18
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0802D4D2:
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D4EC
-_0802D4DC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D4EC
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1]
-_0802D4EC:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802D448
-
- thumb_func_start sub_802D4F4
-sub_802D4F4: @ 802D4F4
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, =gUnknown_02022D00
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0x1
- beq _0802D550
- cmp r4, 0x1
- bgt _0802D510
- cmp r4, 0
- beq _0802D516
- b _0802D58E
- .pool
-_0802D510:
- cmp r4, 0x2
- beq _0802D57E
- b _0802D58E
-_0802D516:
- movs r0, 0x2
- movs r1, 0x7
- movs r2, 0x1A
- movs r3, 0x4
- bl sub_802DA9C
- ldr r1, [r5]
- strh r0, [r1, 0x12]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gText_SavingDontTurnOffPower
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- b _0802D574
- .pool
-_0802D550:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D58E
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0802D574:
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D58E
-_0802D57E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D58E
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1]
-_0802D58E:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802D4F4
-
- thumb_func_start sub_802D598
-sub_802D598: @ 802D598
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022D00
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0
- beq _0802D5B0
- cmp r4, 0x1
- beq _0802D5C8
- b _0802D5DE
- .pool
-_0802D5B0:
- bl sub_802DA14
- bl sub_8198C78
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D5DE
-_0802D5C8:
- bl sub_802DA44
- cmp r0, 0
- bne _0802D5DE
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D5DE
- ldr r0, [r5]
- str r4, [r0]
-_0802D5DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802D598
-
- thumb_func_start sub_802D5E4
-sub_802D5E4: @ 802D5E4
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, =gUnknown_02022D00
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0x1
- beq _0802D640
- cmp r4, 0x1
- bgt _0802D600
- cmp r4, 0
- beq _0802D606
- b _0802D67E
- .pool
-_0802D600:
- cmp r4, 0x2
- beq _0802D66E
- b _0802D67E
-_0802D606:
- movs r0, 0x2
- movs r1, 0x8
- movs r2, 0x16
- movs r3, 0x4
- bl sub_802DA9C
- ldr r1, [r5]
- strh r0, [r1, 0x12]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gText_SomeoneDroppedOut2
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- b _0802D664
- .pool
-_0802D640:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D67E
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0802D664:
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D67E
-_0802D66E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D67E
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1]
-_0802D67E:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802D5E4
-
- thumb_func_start sub_802D688
-sub_802D688: @ 802D688
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, =gUnknown_02022D00
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0x1
- beq _0802D6E4
- cmp r4, 0x1
- bgt _0802D6A4
- cmp r4, 0
- beq _0802D6AA
- b _0802D722
- .pool
-_0802D6A4:
- cmp r4, 0x2
- beq _0802D712
- b _0802D722
-_0802D6AA:
- movs r0, 0x7
- movs r1, 0xA
- movs r2, 0x10
- movs r3, 0x2
- bl sub_802DA9C
- ldr r1, [r5]
- strh r0, [r1, 0x12]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gText_CommunicationStandby4
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- b _0802D708
- .pool
-_0802D6E4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D722
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0802D708:
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D722
-_0802D712:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D722
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1]
-_0802D722:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802D688
-
- thumb_func_start sub_802D72C
-sub_802D72C: @ 802D72C
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022D00
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0
- beq _0802D744
- cmp r4, 0x1
- beq _0802D752
- b _0802D75E
- .pool
-_0802D744:
- bl sub_802D044
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D75E
-_0802D752:
- bl sub_802D068
- cmp r0, 0
- bne _0802D75E
- ldr r0, [r5]
- str r4, [r0]
-_0802D75E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802D72C
-
- thumb_func_start sub_802D764
-sub_802D764: @ 802D764
- push {lr}
- ldr r1, =gUnknown_02022D00
- ldr r0, [r1]
- movs r2, 0
- strb r2, [r0, 0xA]
- ldr r0, [r1]
- strb r2, [r0, 0xB]
- ldr r2, [r1]
- movs r0, 0x6
- strb r0, [r2, 0xC]
- ldr r0, [r1]
- ldrb r0, [r0, 0xC]
- bl sub_802DC9C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D764
-
- thumb_func_start sub_802D788
-sub_802D788: @ 802D788
- push {r4,lr}
- ldr r0, =gUnknown_02022D00
- ldr r2, [r0]
- ldrb r3, [r2, 0xA]
- adds r4, r0, 0
- cmp r3, 0
- beq _0802D7A0
- cmp r3, 0x1
- beq _0802D7DA
- b _0802D7DE
- .pool
-_0802D7A0:
- ldrb r0, [r2, 0xB]
- adds r0, 0x1
- strb r0, [r2, 0xB]
- ldr r1, [r4]
- ldrb r0, [r1, 0xB]
- cmp r0, 0xA
- bls _0802D7CA
- strb r3, [r1, 0xB]
- ldr r0, [r4]
- ldrb r1, [r0, 0xC]
- adds r1, 0x1
- strb r1, [r0, 0xC]
- ldr r1, [r4]
- ldrb r0, [r1, 0xC]
- cmp r0, 0x9
- bls _0802D7CA
- strb r3, [r1, 0xC]
- ldr r1, [r4]
- ldrb r0, [r1, 0xA]
- adds r0, 0x1
- strb r0, [r1, 0xA]
-_0802D7CA:
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- bl sub_802DC9C
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- cmp r0, 0x7
- bne _0802D7DE
-_0802D7DA:
- movs r0, 0
- b _0802D7E0
-_0802D7DE:
- movs r0, 0x1
-_0802D7E0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802D788
-
- thumb_func_start sub_802D7E8
-sub_802D7E8: @ 802D7E8
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- ldr r5, =gUnknown_02022D00
- ldr r1, [r5]
- adds r1, 0x26
- adds r2, r4, 0
- bl CopyItemNameHandlePlural
- ldr r0, [r5]
- adds r0, 0x66
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- bl DynamicPlaceholderTextUtil_Reset
- ldr r1, [r5]
- adds r1, 0x26
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r1, [r5]
- adds r1, 0x66
- movs r0, 0x1
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r0, [r5]
- adds r0, 0xA6
- ldr r1, =gText_AwesomeWonF701F700
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x4
- movs r1, 0x8
- movs r2, 0x16
- movs r3, 0x4
- bl sub_802DA9C
- ldr r2, [r5]
- movs r4, 0
- movs r3, 0
- strh r0, [r2, 0x12]
- lsls r0, 24
- lsrs r0, 24
- adds r2, 0xA6
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r1, 0x1
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r5]
- ldr r0, =0x0000016f
- strh r0, [r1, 0x14]
- strb r4, [r1, 0xD]
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D7E8
-
- thumb_func_start sub_802D884
-sub_802D884: @ 802D884
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gUnknown_02022D00
- ldr r1, [r4]
- adds r1, 0x26
- bl CopyItemName
- bl DynamicPlaceholderTextUtil_Reset
- ldr r1, [r4]
- adds r1, 0x26
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r0, [r4]
- adds r0, 0xA6
- ldr r1, =gText_FilledStorageSpace2
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x4
- movs r1, 0x8
- movs r2, 0x16
- movs r3, 0x4
- bl sub_802DA9C
- ldr r2, [r4]
- movs r6, 0
- movs r5, 0
- strh r0, [r2, 0x12]
- lsls r0, 24
- lsrs r0, 24
- adds r2, 0xA6
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- strh r5, [r0, 0x14]
- strb r6, [r0, 0xD]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D884
-
- thumb_func_start sub_802D8FC
-sub_802D8FC: @ 802D8FC
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gUnknown_02022D00
- ldr r1, [r4]
- adds r1, 0x26
- bl CopyItemName
- bl DynamicPlaceholderTextUtil_Reset
- ldr r1, [r4]
- adds r1, 0x26
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r0, [r4]
- adds r0, 0xA6
- ldr r1, =gText_CantHoldMore
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x4
- movs r1, 0x9
- movs r2, 0x16
- movs r3, 0x2
- bl sub_802DA9C
- ldr r2, [r4]
- movs r6, 0
- movs r5, 0
- strh r0, [r2, 0x12]
- lsls r0, 24
- lsrs r0, 24
- adds r2, 0xA6
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- strh r5, [r0, 0x14]
- strb r6, [r0, 0xD]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D8FC
-
- thumb_func_start sub_802D974
-sub_802D974: @ 802D974
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- ldr r0, [r4]
- ldrb r0, [r0, 0xD]
- cmp r0, 0x1
- beq _0802D9C8
- cmp r0, 0x1
- bgt _0802D990
- cmp r0, 0
- beq _0802D99A
- b _0802DA0C
- .pool
-_0802D990:
- cmp r0, 0x2
- beq _0802D9EE
- cmp r0, 0x3
- beq _0802DA02
- b _0802DA0C
-_0802D99A:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802DA0C
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r4]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
- strb r0, [r1, 0xD]
- b _0802DA0C
-_0802D9C8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802DA0C
- ldr r1, [r4]
- ldrh r0, [r1, 0x14]
- cmp r0, 0
- bne _0802D9E0
- ldrb r0, [r1, 0xD]
- adds r0, 0x2
- b _0802DA00
-_0802D9E0:
- ldrh r0, [r1, 0x14]
- bl PlayFanfare
- ldr r1, [r4]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
- strb r0, [r1, 0xD]
-_0802D9EE:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _0802DA0C
- ldr r0, =gUnknown_02022D00
- ldr r1, [r0]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
-_0802DA00:
- strb r0, [r1, 0xD]
-_0802DA02:
- movs r0, 0
- b _0802DA0E
- .pool
-_0802DA0C:
- movs r0, 0x1
-_0802DA0E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802D974
-
- thumb_func_start sub_802DA14
-sub_802DA14: @ 802DA14
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- ldr r0, [r4]
- ldrh r0, [r0, 0x12]
- cmp r0, 0xFF
- beq _0802DA38
- lsls r0, 24
- lsrs r0, 24
- bl rbox_fill_rectangle
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- bl CopyWindowToVram
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0xD]
-_0802DA38:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DA14
-
- thumb_func_start sub_802DA44
-sub_802DA44: @ 802DA44
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- ldr r1, [r4]
- ldrh r0, [r1, 0x12]
- cmp r0, 0xFF
- bne _0802DA58
-_0802DA50:
- movs r0, 0
- b _0802DA84
- .pool
-_0802DA58:
- ldrb r0, [r1, 0xD]
- cmp r0, 0
- bne _0802DA7E
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802DA82
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- bl RemoveWindow
- ldr r1, [r4]
- movs r0, 0xFF
- strh r0, [r1, 0x12]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
- strb r0, [r1, 0xD]
- b _0802DA50
-_0802DA7E:
- cmp r0, 0x1
- beq _0802DA50
-_0802DA82:
- movs r0, 0x1
-_0802DA84:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802DA44
-
- thumb_func_start sub_802DA8C
-sub_802DA8C: @ 802DA8C
- push {lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_802DA8C
-
- thumb_func_start sub_802DA9C
-sub_802DA9C: @ 802DA9C
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, =0xffffff00
- ldr r4, [sp]
- ands r4, r6
- lsls r0, 24
- lsrs r0, 16
- ldr r5, =0xffff00ff
- ands r4, r5
- orrs r4, r0
- lsls r1, 24
- lsrs r1, 8
- ldr r0, =0xff00ffff
- ands r4, r0
- orrs r4, r1
- lsls r2, 24
- ldr r0, =0x00ffffff
- ands r4, r0
- orrs r4, r2
- str r4, [sp]
- lsls r3, 24
- lsrs r3, 24
- ldr r0, [sp, 0x4]
- ands r0, r6
- orrs r0, r3
- ands r0, r5
- movs r1, 0xF0
- lsls r1, 4
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0x86
- lsls r1, 15
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802DA9C
-
- thumb_func_start sub_802DB18
-sub_802DB18: @ 802DB18
- push {r4,r5,lr}
- sub sp, 0x8
- adds r3, r2, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r5, =0xffffff00
- ldr r2, [sp]
- ands r2, r5
- lsls r0, 24
- lsrs r0, 16
- ldr r4, =0xffff00ff
- ands r2, r4
- orrs r2, r0
- lsls r1, 24
- lsrs r1, 8
- ldr r0, =0xff00ffff
- ands r2, r0
- orrs r2, r1
- ldr r0, =0x00ffffff
- ands r2, r0
- movs r0, 0xC0
- lsls r0, 19
- orrs r2, r0
- str r2, [sp]
- ldr r0, [sp, 0x4]
- ands r0, r5
- movs r1, 0x4
- orrs r0, r1
- ands r0, r4
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0xAC
- lsls r1, 14
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- movs r1, 0x1
- movs r2, 0xD
- bl CreateYesNoMenu
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DB18
-
- thumb_func_start sub_802DB8C
-sub_802DB8C: @ 802DB8C
- push {r4,lr}
- sub sp, 0x10
- ldr r1, =gUnknown_082FE1DC
- add r0, sp, 0xC
- movs r2, 0x3
- bl memcpy
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- add r0, sp, 0xC
- str r0, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r0, =gText_SpacePoints2
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- add r0, sp, 0xC
- str r0, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_SpaceTimes3
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DB8C
-
- thumb_func_start sub_802DBF8
-sub_802DBF8: @ 802DBF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- bl sub_802C8AC
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- ldr r1, =gUnknown_082FE260
- subs r0, 0x2
- lsls r0, 2
- adds r0, r1
- ldr r5, [r0]
- movs r6, 0
- cmp r6, r10
- bge _0802DC62
- ldr r0, =gMonFrontPicCoords
- mov r9, r0
- ldr r1, =gUnknown_02022D00
- mov r8, r1
-_0802DC26:
- lsls r4, r6, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_802C8C8
- adds r1, r0, 0
- ldrh r0, [r1]
- lsls r0, 2
- add r0, r9
- ldrb r3, [r0, 0x1]
- mov r2, r8
- ldr r0, [r2]
- movs r7, 0
- ldrsh r2, [r5, r7]
- adds r3, 0x70
- str r4, [sp]
- bl sub_802C9D4
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r2, 0x70
- adds r3, r4, 0
- bl sub_802CE48
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, r10
- blt _0802DC26
-_0802DC62:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DBF8
-
- thumb_func_start sub_802DC80
-sub_802DC80: @ 802DC80
- ldr r2, =gUnknown_02022D00
- ldr r2, [r2]
- lsls r0, 2
- ldr r3, =0x000081a8
- adds r2, r3
- adds r2, r0
- ldr r0, [r2]
- strh r1, [r0, 0x26]
- bx lr
- .pool
- thumb_func_end sub_802DC80
-
- thumb_func_start sub_802DC9C
-sub_802DC9C: @ 802DC9C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- adds r1, r4, 0
- bl sub_802CF50
- ldr r0, =gUnknown_082FE1DF
- adds r4, r0
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 13
- movs r0, 0x2
- movs r2, 0
- bl ChangeBgY
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DC9C
-
- thumb_func_start sub_802DCCC
-sub_802DCCC: @ 802DCCC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- movs r6, 0
-_0802DCD6:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0802DCEA
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- adds r1, r5, 0
- bl sub_802CB14
- adds r6, 0x1
-_0802DCEA:
- lsrs r4, 1
- adds r5, 0x1
- cmp r5, 0x4
- ble _0802DCD6
- subs r0, r6, 0x2
- lsls r0, 24
- lsrs r0, 24
- bl sub_802E00C
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802DCCC
-
- thumb_func_start sub_802DD08
-sub_802DD08: @ 802DD08
- push {r4,lr}
- sub sp, 0x10
- mov r1, sp
- movs r0, 0x40
- strb r0, [r1]
- movs r0, 0x5
- strb r0, [r1, 0x1]
- movs r0, 0x8
- strb r0, [r1, 0x2]
- movs r0, 0x6C
- strh r0, [r1, 0x4]
- movs r4, 0x6
- strh r4, [r1, 0x6]
- ldr r0, =gUnknown_082FE1EC
- str r0, [sp, 0x8]
- ldr r0, =gUnknown_082FE1F4
- str r0, [sp, 0xC]
- movs r0, 0x2
- bl sub_8034C54
- movs r0, 0
- movs r1, 0
- mov r2, sp
- bl sub_8034D14
- mov r1, sp
- movs r0, 0x4
- strb r0, [r1, 0x1]
- movs r0, 0x1E
- strh r0, [r1, 0x4]
- mov r0, sp
- strh r4, [r0, 0x6]
- movs r0, 0x1
- movs r1, 0
- mov r2, sp
- bl sub_8034D14
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DD08
-
- thumb_func_start sub_802DD64
-sub_802DD64: @ 802DD64
- push {lr}
- adds r1, r0, 0
- movs r0, 0
- bl sub_8035044
- pop {r0}
- bx r0
- thumb_func_end sub_802DD64
-
- thumb_func_start sub_802DD74
-sub_802DD74: @ 802DD74
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1
- bl sub_8035044
- pop {r0}
- bx r0
- thumb_func_end sub_802DD74
-
- thumb_func_start sub_802DD88
-sub_802DD88: @ 802DD88
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CBF0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DD88
-
- thumb_func_start sub_802DDA0
-sub_802DDA0: @ 802DDA0
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CC88
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DDA0
-
- thumb_func_start sub_802DDB8
-sub_802DDB8: @ 802DDB8
- push {lr}
- adds r1, r0, 0
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CC18
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802DDB8
-
- thumb_func_start sub_802DDCC
-sub_802DDCC: @ 802DDCC
- push {lr}
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CCB0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DDCC
-
- thumb_func_start sub_802DDE0
-sub_802DDE0: @ 802DDE0
- push {lr}
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CD3C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DDE0
-
- thumb_func_start sub_802DDF4
-sub_802DDF4: @ 802DDF4
- push {lr}
- adds r1, r0, 0
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CD70
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DDF4
-
- thumb_func_start sub_802DE08
-sub_802DE08: @ 802DE08
- push {lr}
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CD98
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802DE08
-
- thumb_func_start sub_802DE1C
-sub_802DE1C: @ 802DE1C
- push {r4-r7,lr}
- sub sp, 0x8
- bl sub_802C8AC
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r1, =gUnknown_082FE234
- subs r0, r7, 0x2
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- ldr r2, =0xffffff00
- ldr r0, [sp]
- ands r0, r2
- ldr r1, =0x00ffffff
- ands r0, r1
- movs r1, 0x80
- lsls r1, 20
- orrs r0, r1
- str r0, [sp]
- ldr r0, [sp, 0x4]
- ands r0, r2
- movs r1, 0x2
- orrs r0, r1
- ldr r1, =0xffff00ff
- ands r0, r1
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0xAC
- lsls r1, 14
- orrs r0, r1
- str r0, [sp, 0x4]
- movs r5, 0
- cmp r5, r7
- bge _0802DEAC
- mov r6, sp
-_0802DE6A:
- ldrb r0, [r4]
- lsls r0, 8
- ldr r2, =0xffff00ff
- ldr r1, [sp]
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- ldrb r2, [r4, 0x2]
- lsls r2, 16
- ldr r0, =0xff00ffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- mov r0, sp
- bl AddWindow
- ldr r1, =gUnknown_02022D00
- ldr r1, [r1]
- lsls r2, r5, 1
- adds r1, 0x1C
- adds r1, r2
- strh r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- ldrh r0, [r6, 0x6]
- adds r0, 0x10
- strh r0, [r6, 0x6]
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, r7
- blt _0802DE6A
-_0802DEAC:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DE1C
-
- thumb_func_start sub_802DED8
-sub_802DED8: @ 802DED8
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x10
- adds r5, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- add r0, sp, 0xC
- strb r1, [r0]
- strb r2, [r0, 0x1]
- strb r3, [r0, 0x2]
- ldr r6, =gUnknown_02022D00
- ldr r0, [r6]
- lsls r1, r5, 1
- mov r8, r1
- adds r0, 0x1C
- add r0, r8
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- bl sub_802C8E8
- adds r1, r0, 0
- movs r2, 0x1
- negs r2, r2
- mov r9, r2
- movs r0, 0x1
- bl GetStringWidth
- movs r4, 0x40
- subs r4, r0
- lsrs r4, 1
- adds r0, r5, 0
- bl sub_802C8E8
- adds r1, r0, 0
- ldr r0, [r6]
- adds r0, 0x1C
- add r0, r8
- ldrb r0, [r0]
- lsls r4, 24
- lsrs r4, 24
- add r2, sp, 0xC
- str r2, [sp]
- mov r2, r9
- str r2, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- ldr r0, [r6]
- adds r0, 0x1C
- add r0, r8
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DED8
-
- thumb_func_start sub_802DF70
-sub_802DF70: @ 802DF70
- push {r4-r6,lr}
- adds r4, r0, 0
- bl sub_802C8AC
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r4, 0
- bne _0802DF9A
- movs r4, 0
- cmp r4, r5
- bge _0802DFCC
-_0802DF86:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x3
- bl sub_802DED8
- adds r4, 0x1
- cmp r4, r5
- blt _0802DF86
- b _0802DFCC
-_0802DF9A:
- bl sub_802C8BC
- lsls r0, 16
- lsrs r6, r0, 16
- movs r4, 0
- cmp r4, r5
- bge _0802DFCC
-_0802DFA8:
- cmp r6, r4
- beq _0802DFBA
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x3
- bl sub_802DED8
- b _0802DFC6
-_0802DFBA:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x4
- movs r3, 0x5
- bl sub_802DED8
-_0802DFC6:
- adds r4, 0x1
- cmp r4, r5
- blt _0802DFA8
-_0802DFCC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802DF70
-
- thumb_func_start sub_802DFD4
-sub_802DFD4: @ 802DFD4
- push {r4,r5,lr}
- bl sub_802C8AC
- lsls r0, 16
- lsrs r5, r0, 16
- movs r4, 0
- cmp r4, r5
- bge _0802DFFA
-_0802DFE4:
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x1C
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- adds r4, 0x1
- cmp r4, r5
- blt _0802DFE4
-_0802DFFA:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DFD4
-
- thumb_func_start sub_802E00C
-sub_802E00C: @ 802E00C
- push {r4,lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =gUnknown_02022D00
- ldr r2, [r0]
- movs r0, 0
- str r0, [r2, 0x18]
- lsrs r1, 25
- lsls r1, 16
- movs r0, 0x1
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- ands r4, r0
- lsls r4, 8
- subs r4, 0x28
- lsls r4, 8
- adds r1, r4, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- bl ShowBg
- ldr r0, =sub_802E090
- movs r1, 0x4
- bl CreateTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E00C
-
- thumb_func_start sub_802E058
-sub_802E058: @ 802E058
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- cmp r0, 0x1F
- bls _0802E06C
- movs r0, 0
- b _0802E08A
- .pool
-_0802E06C:
- movs r0, 0x1
- movs r1, 0x80
- movs r2, 0x1
- bl ChangeBgY
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r0, 0x1
- str r0, [r1, 0x18]
- cmp r0, 0x1F
- bls _0802E088
- movs r0, 0x1
- bl HideBg
-_0802E088:
- movs r0, 0x1
-_0802E08A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802E058
-
- thumb_func_start sub_802E090
-sub_802E090: @ 802E090
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_802E058
- cmp r0, 0
- bne _0802E0A4
- adds r0, r4, 0
- bl DestroyTask
-_0802E0A4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802E090
-
- thumb_func_start sub_802E0AC
-sub_802E0AC: @ 802E0AC
- push {lr}
- sub sp, 0xC
- mov r2, sp
- movs r1, 0x1
- strb r1, [r2]
- ldrh r1, [r0]
- strh r1, [r2, 0x2]
- ldr r1, [r0, 0x4]
- str r1, [sp, 0x8]
- ldr r0, [r0, 0x8]
- str r0, [sp, 0x4]
- mov r0, sp
- bl sub_800FE50
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_802E0AC
-
- thumb_func_start sub_802E0D0
-sub_802E0D0: @ 802E0D0
- push {r4,lr}
- sub sp, 0xC
- adds r4, r1, 0
- ldr r3, =gRecvCmds
- lsls r2, r0, 4
- adds r0, r2, r3
- ldrh r1, [r0]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- movs r1, 0xBC
- lsls r1, 6
- cmp r0, r1
- bne _0802E100
- adds r1, r3, 0x2
- adds r1, r2, r1
- mov r0, sp
- movs r2, 0xC
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0802E108
-_0802E100:
- movs r0, 0
- b _0802E118
- .pool
-_0802E108:
- mov r0, sp
- ldrh r0, [r0, 0x2]
- strh r0, [r4]
- ldr r0, [sp, 0x8]
- str r0, [r4, 0x4]
- ldr r0, [sp, 0x4]
- str r0, [r4, 0x8]
- movs r0, 0x1
-_0802E118:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802E0D0
-
- thumb_func_start sub_802E120
-sub_802E120: @ 802E120
- push {lr}
- sub sp, 0xC
- mov r2, sp
- movs r1, 0x2
- strb r1, [r2]
- str r0, [sp, 0x4]
- mov r0, sp
- bl sub_800FE50
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_802E120
-
- thumb_func_start sub_802E138
-sub_802E138: @ 802E138
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- mov r3, sp
- movs r2, 0x3
- strb r2, [r3]
- ldr r3, [r1, 0x8]
- lsls r3, 15
- ldr r2, [sp, 0x8]
- ldr r4, =0x00007fff
- mov r8, r4
- ands r2, r4
- orrs r2, r3
- str r2, [sp, 0x8]
- mov r6, sp
- ldrb r2, [r1, 0x1]
- movs r5, 0x1F
- adds r3, r5, 0
- ands r3, r2
- ldrb r4, [r6, 0x3]
- movs r2, 0x20
- negs r2, r2
- ands r2, r4
- orrs r2, r3
- strb r2, [r6, 0x3]
- mov r3, sp
- ldrb r2, [r1]
- strb r2, [r3, 0x1]
- ldrh r2, [r1, 0x2]
- strh r2, [r3, 0x6]
- mov r4, sp
- ldrh r2, [r1, 0x4]
- mov r1, r8
- ands r2, r1
- ldrh r3, [r4, 0x8]
- ldr r1, =0xffff8000
- ands r1, r3
- orrs r1, r2
- strh r1, [r4, 0x8]
- mov r2, sp
- ldrh r1, [r0, 0x10]
- strb r1, [r2, 0x2]
- mov r3, sp
- ldr r1, [r0, 0x14]
- lsls r1, 5
- ldrb r2, [r3, 0x3]
- ands r5, r2
- orrs r5, r1
- strb r5, [r3, 0x3]
- mov r1, sp
- ldrh r0, [r0, 0xE]
- strh r0, [r1, 0x4]
- mov r0, sp
- bl sub_800FE50
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E138
-
- thumb_func_start sub_802E1BC
-sub_802E1BC: @ 802E1BC
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r2, =gRecvCmds
- ldrh r0, [r2]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _0802E228
- adds r1, r2, 0x2
- mov r0, sp
- movs r2, 0xC
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0802E228
- ldr r0, [sp, 0x8]
- lsrs r0, 15
- str r0, [r4, 0x8]
- mov r0, sp
- ldrb r1, [r0, 0x3]
- lsls r0, r1, 27
- lsrs r0, 27
- strb r0, [r4, 0x1]
- mov r0, sp
- ldrb r0, [r0, 0x1]
- strb r0, [r4]
- mov r0, sp
- ldrh r0, [r0, 0x6]
- strh r0, [r4, 0x2]
- mov r0, sp
- ldrh r0, [r0, 0x8]
- lsls r0, 17
- lsrs r0, 17
- strh r0, [r4, 0x4]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- strh r0, [r5, 0x10]
- lsls r1, 24
- lsrs r1, 29
- str r1, [r5, 0x14]
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0xE]
- movs r0, 0x1
- b _0802E22A
- .pool
-_0802E228:
- movs r0, 0
-_0802E22A:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802E1BC
-
- thumb_func_start sub_802E234
-sub_802E234: @ 802E234
- push {r4,lr}
- sub sp, 0xC
- mov r4, sp
- movs r3, 0x4
- strb r3, [r4]
- ldrh r3, [r0, 0x10]
- strb r3, [r4, 0x1]
- ldr r3, [r0, 0x14]
- strb r3, [r4, 0x2]
- ldr r3, [r0, 0x18]
- strb r3, [r4, 0x3]
- mov r3, sp
- ldrh r0, [r0, 0xE]
- strh r0, [r3, 0x4]
- mov r0, sp
- strb r1, [r0, 0x6]
- strh r2, [r0, 0x8]
- bl sub_800FE50
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802E234
-
- thumb_func_start sub_802E264
-sub_802E264: @ 802E264
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r3, =gRecvCmds
- lsls r2, r1, 4
- adds r0, r2, r3
- ldrh r1, [r0]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- movs r1, 0xBC
- lsls r1, 6
- cmp r0, r1
- bne _0802E2C4
- adds r1, r3, 0x2
- adds r1, r2, r1
- mov r0, sp
- movs r2, 0xC
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0802E2C4
- mov r0, sp
- ldrb r0, [r0, 0x1]
- strh r0, [r4, 0x10]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- str r0, [r4, 0x14]
- mov r0, sp
- ldrb r0, [r0, 0x3]
- str r0, [r4, 0x18]
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0xE]
- mov r0, sp
- ldrb r0, [r0, 0x6]
- strb r0, [r5]
- mov r0, sp
- ldrh r0, [r0, 0x8]
- strh r0, [r6]
- movs r0, 0x1
- b _0802E2C6
- .pool
-_0802E2C4:
- movs r0, 0
-_0802E2C6:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_802E264
-
- thumb_func_start sub_802E2D0
-sub_802E2D0: @ 802E2D0
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldr r3, =gRecvCmds
- lsls r2, r1, 4
- adds r0, r2, r3
- ldrh r1, [r0]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- movs r1, 0xBC
- lsls r1, 6
- cmp r0, r1
- bne _0802E320
- adds r1, r3, 0x2
- adds r1, r2, r1
- mov r0, sp
- movs r2, 0xC
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0802E320
- mov r0, sp
- ldrb r0, [r0, 0x1]
- strh r0, [r4, 0x10]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- str r0, [r4, 0x14]
- mov r0, sp
- ldrb r0, [r0, 0x3]
- str r0, [r4, 0x18]
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0xE]
- movs r0, 0x1
- b _0802E322
- .pool
-_0802E320:
- movs r0, 0
-_0802E322:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802E2D0
-
- thumb_func_start sub_802E32C
-sub_802E32C: @ 802E32C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFE
- lsls r1, 1
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_802E32C
-
- thumb_func_start ResetPokeJumpResults
-ResetPokeJumpResults: @ 802E33C
- push {lr}
- bl sub_802E32C
- movs r1, 0
- strh r1, [r0]
- str r1, [r0, 0xC]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- str r1, [r0, 0x8]
- strh r1, [r0, 0x2]
- pop {r0}
- bx r0
- thumb_func_end ResetPokeJumpResults
-
- thumb_func_start sub_802E354
-sub_802E354: @ 802E354
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- bl sub_802E32C
- adds r1, r0, 0
- movs r2, 0
- ldr r0, [r1, 0xC]
- cmp r0, r4
- bcs _0802E378
- ldr r0, =0x00018696
- cmp r4, r0
- bhi _0802E378
- str r4, [r1, 0xC]
- movs r2, 0x1
-_0802E378:
- ldrh r0, [r1]
- cmp r0, r5
- bcs _0802E388
- ldr r0, =0x0000270f
- cmp r5, r0
- bhi _0802E388
- strh r5, [r1]
- movs r2, 0x1
-_0802E388:
- ldrh r0, [r1, 0x4]
- cmp r0, r6
- bcs _0802E398
- ldr r0, =0x0000270f
- cmp r6, r0
- bhi _0802E398
- strh r6, [r1, 0x4]
- movs r2, 0x1
-_0802E398:
- adds r0, r2, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802E354
-
- thumb_func_start sub_802E3A8
-sub_802E3A8: @ 802E3A8
- push {lr}
- bl sub_802E32C
- adds r2, r0, 0
- ldrh r1, [r2, 0x6]
- ldr r0, =0x0000270e
- cmp r1, r0
- bhi _0802E3BC
- adds r0, r1, 0x1
- strh r0, [r2, 0x6]
-_0802E3BC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E3A8
-
- thumb_func_start sub_802E3C4
-sub_802E3C4: @ 802E3C4
- push {r4,lr}
- ldr r4, =sub_802E3E4
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E3C4
-
- thumb_func_start sub_802E3E4
-sub_802E3E4: @ 802E3E4
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0x1
- beq _0802E4A8
- cmp r0, 0x1
- bgt _0802E40C
- cmp r0, 0
- beq _0802E416
- b _0802E4F6
- .pool
-_0802E40C:
- cmp r0, 0x2
- beq _0802E4B4
- cmp r0, 0x3
- beq _0802E4DC
- b _0802E4F6
-_0802E416:
- ldr r0, =gUnknown_082FE270
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r1, =gText_PkmnJumpRecords
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r4, r0, 0
- movs r6, 0
- ldr r5, =gUnknown_082FE278
-_0802E430:
- ldr r1, [r5]
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r0, 0x26
- cmp r0, r4
- ble _0802E442
- adds r4, r0, 0
-_0802E442:
- adds r5, 0x4
- adds r6, 0x1
- cmp r6, 0x2
- bls _0802E430
- adds r0, r4, 0x7
- cmp r0, 0
- bge _0802E452
- adds r0, 0x7
-_0802E452:
- asrs r4, r0, 3
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0802E45E
- adds r4, 0x1
-_0802E45E:
- movs r1, 0x1E
- subs r1, r4
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- lsls r1, 24
- lsrs r1, 16
- ldr r2, =0xffff00ff
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- lsls r2, r4, 24
- ldr r1, =0x00ffffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- mov r0, sp
- bl AddWindow
- strh r0, [r7, 0x2]
- ldrh r0, [r7, 0x2]
- adds r1, r4, 0
- bl sub_802E500
- ldrb r0, [r7, 0x2]
- movs r1, 0x3
- b _0802E4CA
- .pool
-_0802E4A8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802E4F6
- b _0802E4CE
-_0802E4B4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0802E4F6
- ldrb r0, [r7, 0x2]
- bl rbox_fill_rectangle
- ldrb r0, [r7, 0x2]
- movs r1, 0x1
-_0802E4CA:
- bl CopyWindowToVram
-_0802E4CE:
- ldrh r0, [r7]
- adds r0, 0x1
- strh r0, [r7]
- b _0802E4F6
- .pool
-_0802E4DC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802E4F6
- ldrb r0, [r7, 0x2]
- bl RemoveWindow
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_0802E4F6:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802E3E4
-
- thumb_func_start sub_802E500
-sub_802E500: @ 802E500
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r1, [sp, 0x1C]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x18]
- bl sub_802E32C
- ldrh r1, [r0]
- str r1, [sp, 0xC]
- ldr r1, [r0, 0xC]
- str r1, [sp, 0x10]
- ldrh r0, [r0, 0x4]
- str r0, [sp, 0x14]
- ldr r0, [sp, 0x18]
- lsls r4, r0, 24
- lsrs r4, 24
- ldr r5, =0x0000021d
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xD
- bl sub_8098858
- adds r0, r4, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, =gText_PkmnJumpRecords
- ldr r1, [sp, 0x1C]
- lsls r2, r1, 3
- movs r0, 0x1
- adds r1, r5, 0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- movs r6, 0
- adds r7, r4, 0
- movs r0, 0xFF
- mov r10, r0
- mov r9, r6
- mov r1, sp
- adds r1, 0xC
- str r1, [sp, 0x20]
- movs r0, 0xC8
- lsls r0, 21
- mov r8, r0
- ldr r5, =gStringVar1
-_0802E58A:
- ldr r1, =gUnknown_082FE278
- lsls r0, r6, 2
- adds r0, r1
- ldr r2, [r0]
- mov r1, r8
- lsrs r4, r1, 24
- str r4, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [sp, 0x20]
- ldm r0!, {r1}
- str r0, [sp, 0x20]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- adds r0, r5, 0
- bl sub_802E620
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- ldr r1, [sp, 0x1C]
- lsls r3, r1, 3
- subs r3, r0
- lsls r3, 24
- lsrs r3, 24
- str r4, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- movs r0, 0x80
- lsls r0, 21
- add r8, r0
- adds r6, 0x1
- ldr r1, [sp, 0x18]
- lsls r0, r1, 24
- cmp r6, 0x2
- bls _0802E58A
- lsrs r0, 24
- bl PutWindowTilemap
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E500
-
- thumb_func_start sub_802E620
-sub_802E620: @ 802E620
- push {lr}
- adds r1, r0, 0
- b _0802E628
-_0802E626:
- adds r1, 0x1
-_0802E628:
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0802E636
- cmp r0, 0
- bne _0802E626
- movs r0, 0xFF
- strb r0, [r1]
-_0802E636:
- pop {r0}
- bx r0
- thumb_func_end sub_802E620
-
- thumb_func_start sub_802E63C
-sub_802E63C: @ 802E63C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =sub_802E6D0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- strh r5, [r0, 0xA]
- ldr r0, =gUnknown_082FE748
- lsls r5, 4
- adds r5, r0
- ldr r1, [r5]
- adds r0, r4, 0
- bl _call_via_r1
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802E63C
-
- thumb_func_start sub_802E688
-sub_802E688: @ 802E688
- push {lr}
- ldr r0, =sub_802E6D0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _0802E6B4
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- movs r0, 0x1
- b _0802E6B6
- .pool
-_0802E6B4:
- movs r0, 0
-_0802E6B6:
- pop {r1}
- bx r1
- thumb_func_end sub_802E688
-
- thumb_func_start sub_802E6BC
-sub_802E6BC: @ 802E6BC
- push {lr}
- ldr r0, =sub_802E6D0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802E6BC
-
- thumb_func_start sub_802E6D0
-sub_802E6D0: @ 802E6D0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- beq _0802E71C
- cmp r0, 0x3
- bgt _0802E6F8
- cmp r0, 0x2
- beq _0802E6FE
- b _0802E752
- .pool
-_0802E6F8:
- cmp r0, 0x4
- beq _0802E738
- b _0802E752
-_0802E6FE:
- ldr r1, =gUnknown_082FE748
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- lsls r0, 4
- adds r1, 0x8
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- movs r0, 0x3
- strh r0, [r4]
- b _0802E752
- .pool
-_0802E71C:
- ldr r0, =gUnknown_082FE748
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- lsls r1, 4
- adds r0, 0xC
- adds r1, r0
- ldr r1, [r1]
- adds r0, r5, 0
- bl _call_via_r1
- b _0802E752
- .pool
-_0802E738:
- ldr r0, =gUnknown_082FE748
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- lsls r1, 4
- adds r0, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r5, 0
- bl _call_via_r1
- adds r0, r5, 0
- bl DestroyTask
-_0802E752:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E6D0
-
- thumb_func_start sub_802E75C
-sub_802E75C: @ 802E75C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- lsls r0, 3
- ldr r1, =gUnknown_082FE6C8
- adds r0, r1
- bl LoadCompressedSpriteSheet
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- lsls r0, 3
- ldr r1, =gUnknown_082FE6D8
- adds r0, r1
- bl LoadSpritePalette
- movs r5, 0
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r5, r0
- bge _0802E7C4
-_0802E790:
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldr r1, =gUnknown_082FE730
- adds r0, r1
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- movs r3, 0x14
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0xE]
- bl CreateSprite
- lsls r1, r5, 1
- adds r1, r4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x1A]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _0802E790
-_0802E7C4:
- movs r5, 0
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r5, r0
- bge _0802E820
- movs r7, 0x3
- movs r3, 0xD
- negs r3, r3
- mov r12, r3
- ldr r6, =gSprites
-_0802E7D8:
- lsls r0, r5, 1
- adds r0, r4
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldrb r1, [r4, 0xC]
- ands r1, r7
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- mov r0, r12
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r4, 0xA]
- strh r0, [r2, 0x30]
- mov r3, r8
- strh r3, [r2, 0x34]
- strh r5, [r2, 0x36]
- ldrh r0, [r4, 0x1A]
- strh r0, [r2, 0x38]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _0802E7D8
-_0802E820:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E75C
-
- thumb_func_start sub_802E83C
-sub_802E83C: @ 802E83C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r1, =gTasks + 0x8
- adds r4, r1
- movs r5, 0
- strh r5, [r4, 0x4]
- strh r5, [r4, 0x6]
- strh r5, [r4, 0x8]
- movs r1, 0x3C
- strh r1, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- movs r1, 0x3
- strh r1, [r4, 0x10]
- movs r1, 0x78
- strh r1, [r4, 0x12]
- movs r1, 0x58
- strh r1, [r4, 0x14]
- adds r1, r4, 0
- bl sub_802E75C
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- movs r1, 0x4
- bl StartSpriteAnim
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000ffe0
- strh r1, [r0, 0x24]
- movs r0, 0x1E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x5
- bl StartSpriteAnim
- movs r0, 0x1E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x20
- strh r1, [r0, 0x24]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E83C
-
- thumb_func_start sub_802E8C8
-sub_802E8C8: @ 802E8C8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- b _0802E8FC
- .pool
-_0802E8E0:
- lsls r0, r5, 1
- adds r0, r4
- movs r2, 0x1A
- ldrsh r1, [r0, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0802E8FC:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _0802E8E0
- ldr r1, =gUnknown_082FE6C8
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x6]
- bl FreeSpriteTilesByTag
- ldr r1, =gUnknown_082FE6D8
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E8C8
-
- thumb_func_start sub_802E938
-sub_802E938: @ 802E938
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r0, 0x34
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- bl __modsi3
- cmp r0, 0
- bne _0802EA4A
- ldrh r2, [r5, 0x16]
- movs r3, 0x16
- ldrsh r1, [r5, r3]
- movs r3, 0x14
- ldrsh r0, [r5, r3]
- cmp r1, r0
- beq _0802EA4A
- strh r2, [r5, 0x14]
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0x4
- bhi _0802EA44
- lsls r0, 2
- ldr r1, =_0802E984
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802E984:
- .4byte _0802E998
- .4byte _0802E9A6
- .4byte _0802E9A6
- .4byte _0802E9BA
- .4byte _0802EA04
-_0802E998:
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_0802E9A6:
- movs r0, 0x38
- bl PlaySE
- ldrh r1, [r6, 0x32]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl StartSpriteAnim
- b _0802EA44
-_0802E9BA:
- movs r0, 0x15
- bl PlaySE
- ldrh r1, [r6, 0x32]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl StartSpriteAnim
- ldr r4, =gSprites
- movs r2, 0x1C
- ldrsh r0, [r5, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r3, 0x1E
- ldrsh r1, [r5, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- b _0802EA44
- .pool
-_0802EA04:
- adds r1, r6, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r3, =gSprites
- movs r0, 0x1C
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x1E
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x4
- strh r0, [r5]
- b _0802EA4A
- .pool
-_0802EA44:
- ldrh r0, [r6, 0x32]
- adds r0, 0x1
- strh r0, [r6, 0x32]
-_0802EA4A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802E938
-
- thumb_func_start sub_802EA50
-sub_802EA50: @ 802EA50
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, =gTasks + 0x8
- adds r6, r4, r5
- movs r0, 0x38
- bl PlaySE
- ldr r2, =gSprites
- movs r0, 0x1A
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_802E938
- str r1, [r0]
- movs r0, 0x1A
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- subs r5, 0x8
- adds r4, r5
- movs r0, 0x3
- strh r0, [r4, 0x8]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EA50
-
- thumb_func_start sub_802EAB0
-sub_802EAB0: @ 802EAB0
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802EB14
- ldr r1, =gRecvCmds
- ldrh r0, [r1, 0x2]
- ldr r5, =0x00007fff
- cmp r0, r5
- bne _0802EAD8
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x16]
-_0802EAD8:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0802EB1A
- ldrh r0, [r4, 0x18]
- adds r0, 0x1
- strh r0, [r4, 0x18]
- mov r0, sp
- movs r1, 0
- movs r2, 0xC
- bl memset
- mov r0, sp
- strh r5, [r0]
- mov r1, sp
- ldrh r0, [r4, 0x18]
- strh r0, [r1, 0x2]
- mov r0, sp
- bl sub_800FE50
- b _0802EB1A
- .pool
-_0802EB14:
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
-_0802EB1A:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802EAB0
-
- thumb_func_start sub_802EB24
-sub_802EB24: @ 802EB24
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r0, [sp, 0x18]
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =sub_802EB98
- movs r1, 0x50
- str r3, [sp]
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xC]
- strh r5, [r1, 0xE]
- strh r6, [r1, 0x10]
- ldr r3, [sp]
- strh r3, [r1, 0x12]
- mov r0, r8
- strh r0, [r1, 0x14]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EB24
-
- thumb_func_start sub_802EB84
-sub_802EB84: @ 802EB84
- push {lr}
- ldr r0, =sub_802EB98
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802EB84
-
- thumb_func_start sub_802EB98
-sub_802EB98: @ 802EB98
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _0802EC08
- cmp r0, 0x1
- bgt _0802EBC0
- cmp r0, 0
- beq _0802EBC6
- b _0802EC8A
- .pool
-_0802EBC0:
- cmp r0, 0x2
- beq _0802EC4C
- b _0802EC8A
-_0802EBC6:
- ldrh r0, [r5, 0x4]
- ldrh r1, [r5, 0x6]
- bl sub_802EF50
- ldrh r0, [r5, 0x4]
- ldrh r1, [r5, 0x6]
- movs r3, 0x8
- ldrsh r2, [r5, r3]
- movs r4, 0xA
- ldrsh r3, [r5, r4]
- ldrb r4, [r5, 0xC]
- str r4, [sp]
- bl sub_802EFA8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- ldrh r0, [r5, 0x4]
- ldrh r1, [r5, 0x6]
- movs r3, 0x8
- ldrsh r2, [r5, r3]
- movs r4, 0xA
- ldrsh r3, [r5, r4]
- ldrb r4, [r5, 0xC]
- str r4, [sp]
- adds r4, r5, 0
- adds r4, 0x10
- str r4, [sp, 0x4]
- adds r4, 0x2
- str r4, [sp, 0x8]
- bl sub_802EFFC
- b _0802EC3E
-_0802EC08:
- ldrb r0, [r5, 0xE]
- bl sub_802EC98
- cmp r0, 0
- bne _0802EC8A
- ldrb r0, [r5, 0xE]
- ldrb r1, [r5, 0x10]
- ldrb r2, [r5, 0x12]
- bl sub_802EDCC
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- movs r3, 0xE
- ldrsh r1, [r5, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
-_0802EC3E:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _0802EC8A
- .pool
-_0802EC4C:
- ldrb r0, [r5, 0x10]
- bl sub_802EE30
- cmp r0, 0
- bne _0802EC8A
- movs r4, 0x10
- ldrsh r1, [r5, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- movs r0, 0x12
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldrh r0, [r5, 0x4]
- bl FreeSpriteTilesByTag
- ldrh r0, [r5, 0x6]
- bl FreeSpritePaletteByTag
- adds r0, r6, 0
- bl DestroyTask
-_0802EC8A:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EB98
-
- thumb_func_start sub_802EC98
-sub_802EC98: @ 802EC98
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r4, r1, r0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bls _0802ECB2
- b _0802EDC4
-_0802ECB2:
- lsls r0, 2
- ldr r1, =_0802ECC4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802ECC4:
- .4byte _0802ECE4
- .4byte _0802ECF6
- .4byte _0802ED1C
- .4byte _0802ED2C
- .4byte _0802ED4E
- .4byte _0802ED86
- .4byte _0802EDAC
- .4byte _0802ED82
-_0802ECE4:
- movs r1, 0x80
- lsls r1, 4
- adds r0, r4, 0
- movs r2, 0x1A
- bl sub_8007E18
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_0802ECF6:
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0802ED04
- movs r0, 0x39
- bl PlaySE
-_0802ED04:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _0802EDC4
- movs r0, 0
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- movs r1, 0x1
- b _0802EDA2
-_0802ED1C:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0802EDC4
- b _0802EDA6
-_0802ED2C:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0802EDC4
- movs r0, 0
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- b _0802EDC4
-_0802ED4E:
- ldrh r0, [r4, 0x22]
- subs r0, 0x4
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _0802EDC4
- ldrh r1, [r4, 0x36]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bgt _0802ED7E
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- movs r0, 0
- strh r0, [r4, 0x32]
- b _0802EDA6
-_0802ED7E:
- movs r0, 0x7
- strh r0, [r4, 0x2E]
-_0802ED82:
- movs r0, 0
- b _0802EDC6
-_0802ED86:
- ldrh r0, [r4, 0x22]
- adds r0, 0x4
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _0802EDC4
- movs r0, 0
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- movs r1, 0x3
-_0802EDA2:
- bl StartSpriteAffineAnim
-_0802EDA6:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- b _0802EDC2
-_0802EDAC:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0802EDC4
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- movs r0, 0x1
-_0802EDC2:
- strh r0, [r4, 0x2E]
-_0802EDC4:
- movs r0, 0x1
-_0802EDC6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802EC98
-
- thumb_func_start sub_802EDCC
-sub_802EDCC: @ 802EDCC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gSprites
- mov r8, r0
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r5, r4, r0
- ldr r0, =0x0000ffd8
- strh r0, [r5, 0x26]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- mov r1, r8
- adds r2, r3, r1
- strh r0, [r2, 0x26]
- adds r5, 0x3E
- ldrb r6, [r5]
- movs r1, 0x5
- negs r1, r1
- adds r0, r1, 0
- ands r0, r6
- strb r0, [r5]
- adds r2, 0x3E
- ldrb r0, [r2]
- ands r1, r0
- strb r1, [r2]
- movs r0, 0x1C
- add r8, r0
- add r4, r8
- ldr r0, =sub_802EE5C
- str r0, [r4]
- add r3, r8
- str r0, [r3]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EDCC
-
- thumb_func_start sub_802EE30
-sub_802EE30: @ 802EE30
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r2, 0x1C
- adds r1, r2
- ldr r1, [r1]
- ldr r0, =sub_802EE5C
- cmp r1, r0
- bne _0802EE4E
- movs r3, 0x1
-_0802EE4E:
- adds r0, r3, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802EE30
-
- thumb_func_start sub_802EE5C
-sub_802EE5C: @ 802EE5C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x2E
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bhi _0802EF46
- lsls r0, 2
- ldr r1, =_0802EE7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802EE7C:
- .4byte _0802EE90
- .4byte _0802EEA0
- .4byte _0802EEC8
- .4byte _0802EEFC
- .4byte _0802EF34
-_0802EE90:
- movs r0, 0x40
- strh r0, [r4, 0x8]
- ldrh r0, [r5, 0x26]
- lsls r0, 4
- strh r0, [r4, 0xA]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0802EEA0:
- ldrh r1, [r4, 0x8]
- ldrh r2, [r4, 0xA]
- adds r0, r1, r2
- strh r0, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0x8]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r5, 0x26]
- cmp r0, 0
- blt _0802EF46
- movs r0, 0x39
- bl PlaySE
- movs r0, 0
- strh r0, [r5, 0x26]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0802EF46
-_0802EEC8:
- ldrh r0, [r4, 0x2]
- adds r0, 0xC
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7F
- ble _0802EEE6
- movs r0, 0x39
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0802EEE6:
- ldr r0, =gSineTable
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- lsls r1, 1
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- asrs r0, 4
- b _0802EF2A
- .pool
-_0802EEFC:
- ldrh r0, [r4, 0x2]
- adds r0, 0x10
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7F
- ble _0802EF1A
- movs r0, 0x39
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0802EF1A:
- ldr r1, =gSineTable
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
-_0802EF2A:
- negs r0, r0
- strh r0, [r5, 0x26]
- b _0802EF46
- .pool
-_0802EF34:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- ble _0802EF46
- ldr r0, =SpriteCallbackDummy
- str r0, [r5, 0x1C]
-_0802EF46:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EE5C
-
- thumb_func_start sub_802EF50
-sub_802EF50: @ 802EF50
- push {r4,lr}
- sub sp, 0x10
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =gUnknown_082FEBCC
- ldr r3, [r2, 0x4]
- ldr r2, [r2]
- str r2, [sp]
- str r3, [sp, 0x4]
- ldr r2, =gUnknown_082FEBD4
- ldr r3, [r2, 0x4]
- ldr r2, [r2]
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- lsls r0, 16
- ldr r3, =0x0000ffff
- ldr r2, [sp, 0x4]
- ands r2, r3
- orrs r2, r0
- str r2, [sp, 0x4]
- ldr r2, =0xffff0000
- add r4, sp, 0x8
- ldr r0, [r4, 0x4]
- ands r0, r2
- orrs r0, r1
- str r0, [r4, 0x4]
- mov r0, sp
- bl LoadCompressedSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EF50
-
- thumb_func_start sub_802EFA8
-sub_802EFA8: @ 802EFA8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- mov r12, r3
- ldr r3, [sp, 0x30]
- lsls r1, 16
- lsrs r1, 16
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- mov r5, sp
- ldr r4, =gUnknown_082FEC90
- ldm r4!, {r3,r6,r7}
- stm r5!, {r3,r6,r7}
- ldm r4!, {r3,r6,r7}
- stm r5!, {r3,r6,r7}
- mov r4, sp
- strh r0, [r4]
- mov r0, sp
- strh r1, [r0, 0x2]
- lsls r2, 16
- asrs r2, 16
- mov r0, r12
- lsls r6, r0, 16
- asrs r6, 16
- mov r0, sp
- adds r1, r2, 0
- adds r2, r6, 0
- mov r3, r8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802EFA8
-
- thumb_func_start sub_802EFFC
-sub_802EFFC: @ 802EFFC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r12, r3
- ldr r6, [sp, 0x38]
- ldr r3, [sp, 0x3C]
- mov r9, r3
- ldr r4, [sp, 0x40]
- mov r8, r4
- lsls r1, 16
- lsrs r1, 16
- lsls r6, 24
- lsrs r6, 24
- mov r10, r6
- mov r4, sp
- ldr r3, =gUnknown_082FECA8
- ldm r3!, {r5-r7}
- stm r4!, {r5-r7}
- ldm r3!, {r5-r7}
- stm r4!, {r5-r7}
- mov r3, sp
- strh r0, [r3]
- mov r0, sp
- strh r1, [r0, 0x2]
- lsls r2, 16
- asrs r4, r2, 16
- ldr r0, =0xffe00000
- adds r2, r0
- asrs r2, 16
- mov r1, r12
- lsls r5, r1, 16
- asrs r5, 16
- mov r0, sp
- adds r1, r2, 0
- adds r2, r5, 0
- mov r3, r10
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r3, r9
- strh r0, [r3]
- adds r4, 0x20
- lsls r4, 16
- asrs r4, 16
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- mov r3, r10
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r4, r8
- strh r0, [r4]
- ldr r2, =gSprites
- mov r5, r9
- movs r6, 0
- ldrsh r1, [r5, r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r0]
- movs r7, 0
- ldrsh r1, [r4, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- movs r0, 0
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- bl StartSpriteAnim
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EFFC
-
- .align 2, 0 @ don't pad with nop
diff --git a/asm/rom_81D1C44.s b/asm/rom_81D1C44.s
deleted file mode 100644
index 36ebd29da..000000000
--- a/asm/rom_81D1C44.s
+++ /dev/null
@@ -1,7087 +0,0 @@
-
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start sub_81D1C44
-sub_81D1C44: @ 81D1C44
- push {r4,lr}
- lsls r0, 24
- ldr r4, =gUnknown_0203CF4C
- lsrs r0, 21
- adds r0, 0x8
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- bne _081D1C60
- movs r0, 0
- b _081D1C7A
- .pool
-_081D1C60:
- movs r2, 0
- ldr r4, =gUnknown_0203CF48
- movs r3, 0xFF
-_081D1C66:
- adds r0, r2, r4
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _081D1C66
- movs r0, 0x1
-_081D1C7A:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D1C44
-
- thumb_func_start sub_81D1C84
-sub_81D1C84: @ 81D1C84
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, =gUnknown_0203CF48
- adds r5, r4, r6
- ldrb r0, [r5]
- cmp r0, 0xFF
- bne _081D1CEC
- cmp r4, 0x2
- bne _081D1CD4
- ldr r0, =gUnknown_086253E8
- ldr r1, [r0, 0x14]
- ldr r0, [r0, 0x10]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, =gMailboxMailOptions
- movs r1, 0x4
- bl GetMaxWidthInMenuTable
- lsls r0, 24
- ldr r2, =0x00ffffff
- ldr r1, [sp]
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- bl AddWindow
- strb r0, [r6, 0x2]
- b _081D1CE0
- .pool
-_081D1CD4:
- lsls r0, r4, 3
- ldr r1, =gUnknown_086253E8
- adds r0, r1
- bl AddWindow
- strb r0, [r5]
-_081D1CE0:
- ldr r0, =gUnknown_0203CF48
- adds r0, r4, r0
- ldrb r0, [r0]
- movs r1, 0
- bl SetStandardWindowBorderStyle
-_081D1CEC:
- ldr r0, =gUnknown_0203CF48
- adds r0, r4, r0
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D1C84
-
- thumb_func_start sub_81D1D04
-sub_81D1D04: @ 81D1D04
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0203CF48
- adds r4, r0
- ldrb r0, [r4]
- movs r1, 0
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r4]
- bl ClearWindowTilemap
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0xFF
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1D04
-
- thumb_func_start sub_81D1D34
-sub_81D1D34: @ 81D1D34
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CF48
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81D1D34
-
- thumb_func_start sub_81D1D44
-sub_81D1D44: @ 81D1D44
- push {r4,r5,lr}
- sub sp, 0x34
- adds r3, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r0, 0x2
- negs r0, r0
- cmp r3, r0
- beq _081D1DAC
- ldr r0, =gSaveBlock1Ptr
- lsls r1, r3, 3
- adds r1, r3
- lsls r1, 2
- ldr r0, [r0]
- adds r1, r0
- ldr r0, =0x00002cca
- adds r1, r0
- add r0, sp, 0x14
- bl StringCopy
- add r0, sp, 0x14
- bl sub_81DB52C
- add r0, sp, 0x14
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bhi _081D1D8C
- add r0, sp, 0x14
- movs r1, 0x1
- bl ConvertInternationalString
-_081D1D8C:
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_08625400
- str r0, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- add r0, sp, 0x14
- str r0, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x8
- adds r3, r5, 0
- bl AddTextPrinterParameterized4
-_081D1DAC:
- add sp, 0x34
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1D44
-
- thumb_func_start sub_81D1DC0
-sub_81D1DC0: @ 81D1DC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- movs r3, 0
- ldr r7, =gUnknown_0203CF4C
- ldr r0, =gText_Cancel2
- mov r12, r0
- ldr r4, =gMultiuseListMenuTemplate
- ldr r1, =gUnknown_0203CF48
- mov r8, r1
- ldr r2, =sub_81D1E7C
- mov r9, r2
- ldr r0, =sub_81D1D44
- mov r10, r0
- ldrb r1, [r5, 0x5]
- cmp r3, r1
- bcs _081D1E02
- adds r6, r7, 0
- ldr r2, =gUnknown_08625403
-_081D1DEC:
- ldr r1, [r6]
- lsls r0, r3, 3
- adds r0, r1
- str r2, [r0]
- str r3, [r0, 0x4]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrb r0, [r5, 0x5]
- cmp r3, r0
- bcc _081D1DEC
-_081D1E02:
- ldr r2, [r7]
- lsls r0, r3, 3
- adds r0, r2
- mov r1, r12
- str r1, [r0]
- movs r1, 0x2
- negs r1, r1
- str r1, [r0, 0x4]
- str r2, [r4]
- ldrb r0, [r5, 0x5]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0xC]
- mov r2, r8
- ldrb r0, [r2, 0x1]
- strb r0, [r4, 0x10]
- strb r1, [r4, 0x11]
- movs r0, 0x8
- strb r0, [r4, 0x12]
- strb r1, [r4, 0x13]
- strh r0, [r4, 0xE]
- movs r0, 0x29
- strb r0, [r4, 0x14]
- movs r0, 0x31
- strb r0, [r4, 0x15]
- mov r0, r9
- str r0, [r4, 0x4]
- mov r1, r10
- str r1, [r4, 0x8]
- movs r0, 0x1
- strb r0, [r4, 0x17]
- movs r0, 0
- strb r0, [r4, 0x16]
- ldrh r1, [r5, 0x2]
- ldrh r2, [r5]
- adds r0, r4, 0
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D1DC0
-
- thumb_func_start sub_81D1E7C
-sub_81D1E7C: @ 81D1E7C
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x1
- beq _081D1E8C
- movs r0, 0x5
- bl PlaySE
-_081D1E8C:
- pop {r0}
- bx r0
- thumb_func_end sub_81D1E7C
-
- thumb_func_start sub_81D1E90
-sub_81D1E90: @ 81D1E90
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- ldrb r0, [r4, 0x5]
- ldrb r1, [r4, 0x4]
- subs r0, r1
- adds r0, 0x1
- str r0, [sp]
- movs r0, 0x6E
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r4, 0x2
- str r0, [sp, 0xC]
- movs r0, 0x2
- movs r1, 0xC8
- movs r2, 0xC
- movs r3, 0x94
- bl AddScrollIndicatorArrowPairParameterized
- strb r0, [r4, 0x9]
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81D1E90
-
- thumb_func_start sub_81D1EC0
-sub_81D1EC0: @ 81D1EC0
- push {lr}
- ldr r0, =gUnknown_0203CF4C
- ldr r0, [r0]
- bl Free
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1EC0
-
- thumb_func_start sub_81D1ED4
-sub_81D1ED4: @ 81D1ED4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r3, r0, 0
- movs r6, 0
- movs r7, 0
-_081D1EE6:
- movs r2, 0
- lsls r5, r6, 2
- adds r0, r6, 0x1
- mov r10, r0
- adds r4, r5, 0
-_081D1EF0:
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- adds r0, r4, r0
- adds r0, r3, r0
- adds r1, r0, 0
- adds r1, 0x64
- strh r7, [r1]
- adds r0, 0x66
- strh r7, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x9
- bls _081D1EF0
- movs r2, 0
- mov r9, r2
- str r5, [sp]
- movs r1, 0x9B
- mov r8, r1
- movs r4, 0x5B
- mov r12, r4
-_081D1F1C:
- lsls r0, r2, 2
- adds r0, r2
- adds r1, r6, r0
- adds r1, r3, r1
- mov r4, r9
- strb r4, [r1]
- lsls r0, 2
- ldr r1, [sp]
- adds r0, r1, r0
- adds r0, r3, r0
- mov r4, r8
- strh r4, [r0, 0x14]
- mov r1, r12
- strh r1, [r0, 0x16]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _081D1F1C
- adds r1, r3, r5
- movs r2, 0x96
- lsls r2, 1
- adds r0, r1, r2
- strh r7, [r0]
- movs r4, 0x97
- lsls r4, 1
- adds r0, r1, r4
- strh r7, [r0]
- mov r1, r10
- lsls r0, r1, 24
- lsrs r6, r0, 24
- cmp r6, 0x4
- bls _081D1EE6
- movs r2, 0xD5
- lsls r2, 2
- adds r0, r3, r2
- movs r1, 0
- strb r1, [r0]
- ldr r4, =0x00000352
- adds r0, r3, r4
- strh r1, [r0]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1ED4
-
- thumb_func_start sub_81D1F84
-sub_81D1F84: @ 81D1F84
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r8, r0
- str r1, [sp]
- mov r9, r2
- movs r7, 0
-_081D1F98:
- lsls r4, r7, 2
- ldr r1, [sp]
- adds r0, r4, r1
- ldrh r1, [r0]
- lsls r5, r1, 8
- mov r2, r9
- adds r0, r4, r2
- ldrh r0, [r0]
- subs r0, r1
- lsls r0, 8
- movs r1, 0xA
- bl __divsi3
- adds r6, r0, 0
- movs r3, 0
- adds r7, 0x1
- mov r10, r7
- mov r12, r4
-_081D1FBC:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- add r0, r12
- add r0, r8
- asrs r2, r5, 8
- asrs r1, r5, 7
- movs r7, 0x1
- ands r1, r7
- adds r2, r1
- adds r0, 0x64
- strh r2, [r0]
- adds r5, r6
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x8
- bls _081D1FBC
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- adds r0, r4, r0
- add r0, r8
- mov r1, r9
- adds r2, r4, r1
- ldrh r1, [r2]
- adds r0, 0x64
- strh r1, [r0]
- ldr r7, [sp]
- adds r0, r4, r7
- ldrh r1, [r0, 0x2]
- lsls r5, r1, 8
- ldrh r0, [r2, 0x2]
- subs r0, r1
- lsls r0, 8
- movs r1, 0xA
- bl __divsi3
- adds r6, r0, 0
- movs r3, 0
- str r4, [sp, 0x4]
- movs r0, 0x1
- mov r12, r0
-_081D2012:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- ldr r1, [sp, 0x4]
- adds r0, r1, r0
- add r0, r8
- asrs r2, r5, 8
- asrs r1, r5, 7
- mov r7, r12
- ands r1, r7
- adds r2, r1
- adds r0, 0x66
- strh r2, [r0]
- adds r5, r6
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x8
- bls _081D2012
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- adds r0, r4, r0
- add r0, r8
- mov r2, r9
- adds r1, r4, r2
- ldrh r1, [r1, 0x2]
- adds r0, 0x66
- strh r1, [r0]
- mov r7, r10
- lsls r0, r7, 16
- lsrs r7, r0, 16
- cmp r7, 0x4
- bls _081D1F98
- ldr r1, =0x00000352
- add r1, r8
- movs r0, 0
- strh r0, [r1]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1F84
-
- thumb_func_start sub_81D2074
-sub_81D2074: @ 81D2074
- push {r4,lr}
- adds r1, r0, 0
- ldr r0, =0x00000352
- adds r4, r1, r0
- ldrh r0, [r4]
- cmp r0, 0x9
- bls _081D208C
- movs r0, 0
- b _081D20A6
- .pool
-_081D208C:
- adds r0, r1, 0
- bl sub_81D2230
- ldrh r1, [r4]
- adds r1, 0x1
- strh r1, [r4]
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0xA
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_081D20A6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D2074
-
- thumb_func_start sub_81D20AC
-sub_81D20AC: @ 81D20AC
- ldr r1, =0x00000355
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81D20AC
-
- thumb_func_start sub_81D20BC
-sub_81D20BC: @ 81D20BC
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r1, =0x00000355
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _081D20D4
- cmp r0, 0x1
- beq _081D20E2
- b _081D20FA
- .pool
-_081D20D4:
- bl ScanlineEffect_Clear
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
- b _081D20FC
-_081D20E2:
- mov r0, sp
- ldr r1, =gUnknown_08625404
- ldm r1!, {r2,r3,r5}
- stm r0!, {r2,r3,r5}
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_081D20FA:
- movs r0, 0
-_081D20FC:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D20BC
-
- thumb_func_start sub_81D2108
-sub_81D2108: @ 81D2108
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r6, r0, 0
- movs r1, 0xD5
- lsls r1, 2
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _081D21BE
- adds r0, r6, 0
- bl sub_81D24A4
- adds r0, r6, 0
- bl sub_81D2634
- movs r7, 0
- ldr r5, =gScanlineEffectRegBuffers
- mov r12, r5
- movs r0, 0xF0
- lsls r0, 3
- add r0, r12
- mov r9, r0
- movs r1, 0xA0
- lsls r1, 1
- adds r1, r6, r1
- str r1, [sp]
- ldr r5, =0x0000ffff
- mov r8, r5
- movs r0, 0xA1
- lsls r0, 1
- adds r0, r6, r0
- str r0, [sp, 0x4]
- movs r1, 0x92
- lsls r1, 2
- adds r1, r6, r1
- str r1, [sp, 0x8]
- ldr r5, =0x0000024a
- adds r5, r6
- mov r10, r5
-_081D215E:
- adds r2, r7, 0
- adds r2, 0x37
- lsls r3, r2, 2
- mov r0, r9
- adds r0, r3, r0
- str r0, [sp, 0xC]
- add r3, r12
- lsls r4, r7, 2
- ldr r1, [sp]
- adds r0, r1, r4
- ldrh r0, [r0]
- lsls r0, 8
- ldr r5, [sp, 0x4]
- adds r1, r5, r4
- ldrh r1, [r1]
- orrs r0, r1
- strh r0, [r3]
- mov r1, r8
- ands r0, r1
- ldr r5, [sp, 0xC]
- strh r0, [r5]
- lsls r2, 1
- adds r2, 0x1
- lsls r2, 1
- mov r0, r9
- adds r3, r2, r0
- add r2, r12
- ldr r1, [sp, 0x8]
- adds r0, r1, r4
- ldrh r0, [r0]
- lsls r0, 8
- add r4, r10
- ldrh r1, [r4]
- orrs r0, r1
- strh r0, [r2]
- mov r5, r8
- ands r0, r5
- strh r0, [r3]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x41
- bls _081D215E
- movs r0, 0xD5
- lsls r0, 2
- adds r1, r6, r0
- movs r0, 0
- strb r0, [r1]
-_081D21BE:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D2108
-
- thumb_func_start sub_81D21DC
-sub_81D21DC: @ 81D21DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _081D21E8
- movs r1, 0
-_081D21E8:
- movs r0, 0x1
- lsls r0, r1
- movs r5, 0x1F
- bics r5, r0
- movs r0, 0x40
- movs r1, 0xF0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0x9B
- bl SetGpuReg
- ldr r4, =0x00003879
- movs r0, 0x44
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x46
- adds r1, r4, 0
- bl SetGpuReg
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r5, 0
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D21DC
-
- thumb_func_start sub_81D2230
-sub_81D2230: @ 81D2230
- push {r4-r7,lr}
- mov r12, r0
- movs r4, 0
- movs r7, 0x96
- lsls r7, 1
- add r7, r12
- ldr r6, =0x00000352
- add r6, r12
- mov r5, r12
- adds r5, 0x64
-_081D2244:
- lsls r2, r4, 2
- adds r3, r7, r2
- ldrh r1, [r6]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- adds r2, r5, r2
- ldr r0, [r2]
- str r0, [r3]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _081D2244
- movs r1, 0xD5
- lsls r1, 2
- add r1, r12
- movs r0, 0x1
- strb r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D2230
-
- thumb_func_start sub_81D2278
-sub_81D2278: @ 81D2278
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- str r0, [sp]
- adds r6, r1, 0
- adds r5, r2, 0
- str r3, [sp, 0x4]
- ldr r0, [sp, 0x38]
- ldr r7, [sp, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0
- str r0, [sp, 0xC]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r3, 0x2]
- cmp r0, r1
- bcs _081D22B2
- adds r2, r0, 0
- mov r10, r2
- ldrh r0, [r3, 0x2]
- ldrh r1, [r5]
- lsls r4, r1, 10
- ldrh r3, [r3]
- str r3, [sp, 0x8]
- b _081D22C6
-_081D22B2:
- ldrh r0, [r5, 0x2]
- ldr r1, [sp, 0x4]
- ldrh r1, [r1, 0x2]
- mov r10, r1
- ldr r2, [sp, 0x4]
- ldrh r1, [r2]
- lsls r4, r1, 10
- ldrh r3, [r5]
- str r3, [sp, 0x8]
- mov r2, r10
-_081D22C6:
- subs r0, r2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0
- beq _081D22DE
- subs r0, r3, r1
- lsls r0, 10
- mov r1, r8
- bl __divsi3
- str r0, [sp, 0xC]
-_081D22DE:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r7, 0
- bne _081D2328
- mov r0, r10
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- movs r5, 0
- mov r3, r9
- lsls r3, 1
- mov r12, r3
- ldr r0, [sp, 0x8]
- add r0, r9
- str r0, [sp, 0x10]
- cmp r7, r8
- bcs _081D23B6
- movs r7, 0x1
-_081D2308:
- adds r2, r3, r6
- asrs r1, r4, 10
- asrs r0, r4, 9
- ands r0, r7
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r1, [sp, 0xC]
- adds r4, r1
- adds r6, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _081D2308
- b _081D23B6
-_081D2328:
- ldr r2, [sp, 0xC]
- cmp r2, 0
- ble _081D23C0
- mov r0, r10
- subs r0, 0x38
- lsls r0, 2
- adds r7, r0
- movs r5, 0
- mov r3, r9
- lsls r3, 1
- mov r12, r3
- ldr r0, [sp, 0x8]
- add r0, r9
- str r0, [sp, 0x10]
- cmp r5, r8
- bcs _081D237A
- ldr r0, =0x00026bff
- cmp r4, r0
- bgt _081D237A
- mov r1, r12
- str r1, [sp, 0x14]
-_081D2352:
- ldr r3, [sp, 0x14]
- adds r2, r3, r7
- asrs r1, r4, 10
- asrs r0, r4, 9
- movs r3, 0x1
- ands r0, r3
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r0, [sp, 0xC]
- adds r4, r0
- adds r7, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcs _081D237A
- ldr r1, =0x00026bff
- cmp r4, r1
- ble _081D2352
-_081D237A:
- mov r2, r10
- adds r1, r2, r5
- ldr r3, [sp]
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r3, r2
- strh r1, [r0]
- ldrh r0, [r0]
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- cmp r5, r8
- bcs _081D23B6
- mov r3, r12
- movs r7, 0x1
-_081D2398:
- adds r2, r3, r6
- asrs r1, r4, 10
- asrs r0, r4, 9
- ands r0, r7
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r0, [sp, 0xC]
- adds r4, r0
- adds r6, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _081D2398
-_081D23B6:
- subs r0, r6, 0x4
- b _081D248C
- .pool
-_081D23C0:
- ldr r1, [sp, 0xC]
- cmp r1, 0
- bge _081D2464
- mov r0, r10
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- movs r5, 0
- mov r2, r9
- lsls r2, 1
- mov r12, r2
- ldr r3, [sp, 0x8]
- add r3, r9
- str r3, [sp, 0x10]
- cmp r5, r8
- bcs _081D241E
- adds r3, r2, r6
- asrs r1, r4, 10
- asrs r0, r4, 9
- movs r2, 0x1
- ands r0, r2
- adds r1, r0
- add r1, r9
- strh r1, [r3]
- b _081D2414
-_081D23F2:
- ldr r0, [sp, 0xC]
- adds r4, r0
- adds r6, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcs _081D241E
- mov r1, r12
- adds r3, r1, r6
- asrs r2, r4, 10
- asrs r0, r4, 9
- movs r1, 0x1
- ands r0, r1
- adds r2, r0
- add r2, r9
- strh r2, [r3]
-_081D2414:
- ldr r0, =0x00026bff
- cmp r4, r0
- bgt _081D23F2
- movs r0, 0x9B
- strh r0, [r3]
-_081D241E:
- mov r2, r10
- adds r1, r2, r5
- ldr r3, [sp]
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r3, r2
- strh r1, [r0]
- ldrh r0, [r0]
- subs r0, 0x38
- lsls r0, 2
- adds r7, r0
- cmp r5, r8
- bcs _081D245A
- mov r3, r12
- movs r6, 0x1
-_081D243C:
- adds r2, r3, r7
- asrs r1, r4, 10
- asrs r0, r4, 9
- ands r0, r6
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r0, [sp, 0xC]
- adds r4, r0
- adds r7, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _081D243C
-_081D245A:
- subs r0, r7, 0x4
- b _081D248C
- .pool
-_081D2464:
- ldr r1, [sp]
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r1, r2
- mov r3, r10
- strh r3, [r0]
- mov r0, r10
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- adds r7, r0
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- ldr r1, [sp, 0x4]
- ldrh r0, [r1]
- strh r0, [r7]
- movs r0, 0x9B
- strh r0, [r7, 0x2]
- b _081D2494
-_081D248C:
- add r0, r12
- mov r2, sp
- ldrh r2, [r2, 0x10]
- strh r2, [r0]
-_081D2494:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D2278
-
- thumb_func_start sub_81D24A4
-sub_81D24A4: @ 81D24A4
- push {r4-r7,lr}
- sub sp, 0x8
- adds r4, r0, 0
- movs r0, 0x97
- lsls r0, 1
- adds r2, r4, r0
- movs r3, 0x99
- lsls r3, 1
- adds r1, r4, r3
- ldrh r0, [r2]
- ldrh r3, [r1]
- cmp r0, r3
- bcs _081D24E0
- adds r7, r0, 0
- movs r0, 0xA0
- lsls r0, 1
- adds r1, r4, r0
- movs r3, 0x96
- lsls r3, 1
- adds r2, r4, r3
- subs r0, 0x10
- adds r3, r4, r0
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r4, 0
- bl sub_81D2278
- b _081D2500
-_081D24E0:
- ldrh r7, [r1]
- movs r2, 0xA0
- lsls r2, 1
- adds r1, r4, r2
- movs r3, 0x98
- lsls r3, 1
- adds r2, r4, r3
- movs r0, 0x96
- lsls r0, 1
- adds r3, r4, r0
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- bl sub_81D2278
-_081D2500:
- movs r1, 0xA0
- lsls r1, 1
- adds r5, r4, r1
- movs r3, 0x98
- lsls r3, 1
- adds r2, r4, r3
- movs r0, 0x9A
- lsls r0, 1
- adds r6, r4, r0
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r3, r6, 0
- bl sub_81D2278
- movs r2, 0
- movs r1, 0x9B
- lsls r1, 1
- adds r0, r4, r1
- movs r3, 0x9D
- lsls r3, 1
- adds r1, r4, r3
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- bhi _081D253C
- movs r2, 0x1
-_081D253C:
- movs r0, 0x9C
- lsls r0, 1
- adds r3, r4, r0
- str r2, [sp]
- movs r1, 0x92
- lsls r1, 2
- adds r0, r4, r1
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_81D2278
- movs r2, 0x38
- cmp r2, r7
- bcs _081D257E
- adds r6, r5, 0
- movs r3, 0
- movs r0, 0xA1
- lsls r0, 1
- adds r5, r4, r0
-_081D2566:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r1, r6, r0
- strh r3, [r1]
- adds r0, r5, r0
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r7
- bcc _081D2566
-_081D257E:
- movs r1, 0x97
- lsls r1, 1
- adds r0, r4, r1
- ldrh r2, [r0]
- movs r3, 0xD4
- lsls r3, 2
- adds r0, r4, r3
- ldrh r1, [r0]
- cmp r2, r1
- bhi _081D25B2
- movs r1, 0xA0
- lsls r1, 1
- adds r3, r4, r1
- movs r5, 0x9B
- adds r1, r0, 0
-_081D259C:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r0, r3, r0
- strh r5, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1]
- cmp r2, r0
- bls _081D259C
-_081D25B2:
- movs r2, 0x9B
- lsls r2, 1
- adds r1, r4, r2
- movs r3, 0xD4
- lsls r3, 2
- adds r0, r4, r3
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- bcs _081D25C8
- adds r0, r1, 0
-_081D25C8:
- adds r0, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bhi _081D25F8
- movs r0, 0xA0
- lsls r0, 1
- adds r6, r4, r0
- movs r3, 0
- movs r1, 0xA1
- lsls r1, 1
- adds r5, r4, r1
-_081D25E0:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r1, r6, r0
- strh r3, [r1]
- adds r0, r5, r0
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bls _081D25E0
-_081D25F8:
- movs r2, 0x38
- movs r3, 0xA0
- lsls r3, 1
- adds r5, r4, r3
- movs r0, 0xA1
- lsls r0, 1
- adds r4, r0
- movs r6, 0x9B
-_081D2608:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r1, r0, 2
- adds r3, r5, r1
- ldrh r0, [r3]
- cmp r0, 0
- bne _081D2620
- adds r0, r4, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _081D2620
- strh r6, [r3]
-_081D2620:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bls _081D2608
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D24A4
-
- thumb_func_start sub_81D2634
-sub_81D2634: @ 81D2634
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- movs r0, 0x97
- lsls r0, 1
- adds r2, r4, r0
- movs r3, 0x9F
- lsls r3, 1
- adds r1, r4, r3
- ldrh r0, [r2]
- ldrh r5, [r1]
- cmp r0, r5
- bcs _081D266E
- adds r6, r0, 0
- movs r0, 0x92
- lsls r0, 2
- adds r1, r4, r0
- subs r3, 0x12
- adds r2, r4, r3
- movs r5, 0x9E
- lsls r5, 1
- adds r3, r4, r5
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- bl sub_81D2278
- b _081D2690
-_081D266E:
- ldrh r6, [r1]
- movs r0, 0x92
- lsls r0, 2
- adds r1, r4, r0
- movs r3, 0x9E
- lsls r3, 1
- adds r2, r4, r3
- movs r5, 0x96
- lsls r5, 1
- adds r3, r4, r5
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r4, 0
- bl sub_81D2278
-_081D2690:
- movs r0, 0x92
- lsls r0, 2
- adds r5, r4, r0
- movs r1, 0x9E
- lsls r1, 1
- adds r2, r4, r1
- movs r0, 0x9C
- lsls r0, 1
- adds r3, r4, r0
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81D2278
- cmp r6, 0x38
- ble _081D26C8
- movs r0, 0
- adds r1, r5, 0
- adds r2, r6, 0
- subs r2, 0x38
-_081D26BC:
- strh r0, [r1]
- strh r0, [r1, 0x2]
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bne _081D26BC
-_081D26C8:
- movs r1, 0x97
- lsls r1, 1
- adds r0, r4, r1
- ldrh r2, [r0]
- movs r3, 0xD4
- lsls r3, 2
- adds r0, r4, r3
- ldrh r5, [r0]
- cmp r2, r5
- bgt _081D26F6
- movs r3, 0x9B
- adds r1, r0, 0
- lsls r0, r2, 2
- movs r5, 0xB5
- lsls r5, 1
- adds r0, r5
- adds r0, r4
-_081D26EA:
- strh r3, [r0]
- adds r0, 0x4
- adds r2, 0x1
- ldrh r5, [r1]
- cmp r2, r5
- ble _081D26EA
-_081D26F6:
- movs r1, 0x9D
- lsls r1, 1
- adds r0, r4, r1
- ldrh r0, [r0]
- adds r1, r0, 0x1
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r4, r2
- ldrh r0, [r0]
- cmp r0, r1
- bge _081D270E
- adds r0, r1, 0
-_081D270E:
- adds r2, r0, 0
- cmp r2, 0x79
- bgt _081D272C
- movs r1, 0
- lsls r0, r2, 2
- movs r3, 0xB4
- lsls r3, 1
- adds r0, r3
- adds r0, r4
-_081D2720:
- strh r1, [r0]
- strh r1, [r0, 0x2]
- adds r0, 0x4
- adds r2, 0x1
- cmp r2, 0x79
- ble _081D2720
-_081D272C:
- movs r3, 0
- movs r5, 0x92
- lsls r5, 2
- adds r1, r4, r5
- movs r2, 0x41
-_081D2736:
- ldrh r0, [r1]
- ldrh r4, [r1, 0x2]
- cmp r0, r4
- bcc _081D2742
- strh r3, [r1, 0x2]
- strh r3, [r1]
-_081D2742:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _081D2736
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81D2634
-
- thumb_func_start sub_81D2754
-sub_81D2754: @ 81D2754
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- mov r8, r1
- ldr r1, =gUnknown_08625410
- ldrb r0, [r6]
- adds r0, r1
- ldrb r2, [r0]
- adds r6, 0x1
- movs r0, 0x9B
- mov r3, r8
- strh r0, [r3]
- movs r0, 0x5B
- subs r0, r2
- strh r0, [r3, 0x2]
- movs r7, 0x40
- movs r0, 0
- mov r12, r0
- movs r2, 0x1
- mov r9, r2
- ldr r3, =gSineTable
- mov r10, r3
-_081D2786:
- adds r0, r7, 0
- adds r0, 0x33
- lsls r0, 24
- lsrs r7, r0, 24
- mov r1, r12
- lsls r0, r1, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r3, r0, 24
- mov r12, r3
- cmp r0, 0
- bge _081D27A4
- movs r0, 0x4
- mov r12, r0
-_081D27A4:
- mov r1, r12
- lsls r0, r1, 24
- asrs r4, r0, 24
- cmp r4, 0x2
- bne _081D27B4
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_081D27B4:
- ldrb r0, [r6]
- ldr r2, =gUnknown_08625410
- adds r0, r2
- ldrb r2, [r0]
- adds r6, 0x1
- lsls r0, r4, 2
- mov r1, r8
- adds r3, r0, r1
- adds r0, r7, 0
- adds r0, 0x40
- lsls r0, 1
- add r0, r10
- movs r1, 0
- ldrsh r0, [r0, r1]
- muls r0, r2
- asrs r5, r0, 8
- adds r0, r5, 0
- adds r0, 0x9B
- strh r0, [r3]
- lsls r0, r7, 1
- add r0, r10
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r1, r2, 0
- muls r1, r0
- asrs r1, 8
- movs r0, 0x5B
- subs r0, r1
- strh r0, [r3, 0x2]
- cmp r4, 0x2
- bgt _081D2800
- cmp r2, 0x20
- bne _081D27FA
- cmp r4, 0x2
- beq _081D2800
-_081D27FA:
- adds r0, r5, 0
- adds r0, 0x9C
- strh r0, [r3]
-_081D2800:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0x4
- bls _081D2786
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D2754
-
- thumb_func_start sub_81D2824
-sub_81D2824: @ 81D2824
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_08625510
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xE0
- bl LoadUserWindowBorderGfx
- ldr r0, =gUnknown_0860F074
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r4, 0
-_081D284A:
- adds r0, r4, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _081D284A
- cmp r5, 0
- bne _081D287C
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xE
- bl DrawStdFrameWithCustomTileAndPalette
- b _081D288E
- .pool
-_081D287C:
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xE
- bl DrawStdFrameWithCustomTileAndPalette
-_081D288E:
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x3
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xE
- bl DrawStdFrameWithCustomTileAndPalette
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xE
- bl DrawStdFrameWithCustomTileAndPalette
- bl nullsub_79
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81D2824
-
- thumb_func_start nullsub_79
-nullsub_79: @ 81D28C4
- bx lr
- thumb_func_end nullsub_79
-
- thumb_func_start sub_81D28C8
-sub_81D28C8: @ 81D28C8
- push {r4-r7,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r3, =gMultiuseListMenuTemplate
- adds r2, r3, 0
- ldr r1, =gUnknown_08625548
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- strh r4, [r3, 0xC]
- str r0, [r3]
- cmp r4, 0x5
- bhi _081D28F0
- strh r4, [r3, 0xE]
- b _081D28F4
- .pool
-_081D28F0:
- movs r0, 0x6
- strh r0, [r3, 0xE]
-_081D28F4:
- ldrb r0, [r3, 0xE]
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81D28C8
-
- thumb_func_start sub_81D28FC
-sub_81D28FC: @ 81D28FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r9, r0
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, =gText_BattleMoves2
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x80
- bl GetStringCenterAlignXOffset
- adds r4, r0, 0
- lsls r3, r4, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- mov r8, r0
- str r0, [sp, 0x4]
- movs r7, 0
- str r7, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- ldr r5, =gText_PPSlash
- movs r1, 0x29
- mov r10, r1
- str r1, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized
- ldr r5, =gText_PowerSlash
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x6A
- bl GetStringRightAlignXOffset
- adds r4, r0, 0
- lsls r3, r4, 24
- lsrs r3, 24
- movs r1, 0x19
- str r1, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- ldr r5, =gText_AccuracySlash
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x6A
- bl GetStringRightAlignXOffset
- adds r4, r0, 0
- lsls r3, r4, 24
- lsrs r3, 24
- mov r1, r10
- str r1, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- movs r0, 0x2
- negs r0, r0
- cmp r9, r0
- bne _081D29C4
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- b _081D2AB6
- .pool
-_081D29C4:
- mov r1, r9
- lsls r0, r1, 1
- add r0, r9
- lsls r0, 2
- ldr r1, =gBattleMoves
- adds r6, r0, r1
- ldrb r1, [r6, 0x2]
- lsls r0, r1, 3
- subs r0, r1
- ldr r1, =gTypeNames
- adds r5, r0, r1
- movs r0, 0x19
- str r0, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized
- ldr r1, =gText_PPSlash
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r4, r0, 0x4
- ldrb r1, [r6, 0x4]
- add r0, sp, 0xC
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- lsls r3, r4, 24
- lsrs r3, 24
- mov r0, r10
- str r0, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- add r2, sp, 0xC
- bl AddTextPrinterParameterized
- ldrb r0, [r6, 0x1]
- cmp r0, 0x1
- bhi _081D2A3C
- ldr r5, =gText_ThreeDashes
- b _081D2A4A
- .pool
-_081D2A3C:
- ldrb r1, [r6, 0x1]
- add r0, sp, 0xC
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- add r5, sp, 0xC
-_081D2A4A:
- movs r0, 0x19
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x6A
- bl AddTextPrinterParameterized
- ldrb r0, [r6, 0x3]
- cmp r0, 0
- bne _081D2A70
- ldr r5, =gText_ThreeDashes
- b _081D2A7E
- .pool
-_081D2A70:
- ldrb r1, [r6, 0x3]
- add r0, sp, 0xC
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- add r5, sp, 0xC
-_081D2A7E:
- movs r0, 0x29
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x6A
- bl AddTextPrinterParameterized
- ldr r1, =gMoveDescriptionPointers
- mov r0, r9
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r5, [r0]
- movs r0, 0x41
- str r0, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x7
- adds r2, r5, 0
- movs r3, 0
- bl AddTextPrinterParameterized
-_081D2AB6:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D28FC
-
- thumb_func_start sub_81D2ACC
-sub_81D2ACC: @ 81D2ACC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r4, r0, 0
- bl ShowHideHearts
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, =gText_ContestMoves2
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x80
- bl GetStringCenterAlignXOffset
- lsls r3, r0, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r7, 0xFF
- str r7, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- ldr r5, =gText_Appeal2
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x5C
- bl GetStringRightAlignXOffset
- lsls r3, r0, 24
- lsrs r3, 24
- movs r0, 0x19
- mov r8, r0
- str r0, [sp]
- str r7, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- ldr r5, =gText_Jam2
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x5C
- bl GetStringRightAlignXOffset
- lsls r3, r0, 24
- lsrs r3, 24
- movs r0, 0x29
- str r0, [sp]
- str r7, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- bne _081D2B6C
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- b _081D2BB8
- .pool
-_081D2B6C:
- lsls r4, 3
- ldr r0, =gContestMoves
- adds r4, r0
- ldr r1, =gContestMoveTypeTextPointers
- ldrb r0, [r4, 0x1]
- lsls r0, 29
- lsrs r0, 27
- adds r0, r1
- ldr r5, [r0]
- mov r0, r8
- str r0, [sp]
- str r7, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized
- ldr r1, =gContestEffectDescriptionPointers
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r5, [r0]
- movs r0, 0x41
- str r0, [sp]
- str r7, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x7
- adds r2, r5, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
-_081D2BB8:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D2ACC
-
- thumb_func_start sub_81D2BD0
-sub_81D2BD0: @ 81D2BD0
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x1
- beq _081D2BE2
- movs r0, 0x5
- bl PlaySE
-_081D2BE2:
- adds r0, r4, 0
- bl sub_81D28FC
- adds r0, r4, 0
- bl sub_81D2ACC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81D2BD0
-
- thumb_func_start sub_81D2BF4
-sub_81D2BF4: @ 81D2BF4
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- movs r0, 0x3
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- bl GetPlayerTextSpeedDelay
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r1, 0x1
- adds r2, r4, 0
- bl AddTextPrinterParameterized2
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D2BF4
-
- thumb_func_start sub_81D2C3C
-sub_81D2C3C: @ 81D2C3C
- push {lr}
- bl RunTextPrinters
- movs r0, 0x3
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_81D2C3C
-
- thumb_func_start sub_81D2C50
-sub_81D2C50: @ 81D2C50
- push {lr}
- ldr r0, =gUnknown_08625540
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D2C50
-
- thumb_func_start sub_81D2C68
-sub_81D2C68: @ 81D2C68
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r0, 0xE
- bne _081D2CA8
- cmp r2, 0x2
- beq _081D2C7E
- cmp r2, 0x7
- bne _081D2C94
-_081D2C7E:
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r2, 0
- adds r2, r3, 0
- bl GetMonData
- b _081D2CCA
- .pool
-_081D2C94:
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r2, 0
- bl GetMonData
- b _081D2CCA
- .pool
-_081D2CA8:
- cmp r2, 0x2
- beq _081D2CB0
- cmp r2, 0x7
- bne _081D2CBE
-_081D2CB0:
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl GetAndCopyBoxMonDataAt
- b _081D2CCA
-_081D2CBE:
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl GetBoxMonDataAt
-_081D2CCA:
- pop {r1}
- bx r1
- thumb_func_end sub_81D2C68
-
- thumb_func_start sub_81D2CD0
-sub_81D2CD0: @ 81D2CD0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- movs r0, 0xFC
- strb r0, [r5]
- adds r5, 0x1
- movs r0, 0x4
- strb r0, [r5]
- adds r5, 0x1
- movs r0, 0x8
- strb r0, [r5]
- adds r5, 0x1
- movs r0, 0
- strb r0, [r5]
- adds r5, 0x1
- movs r0, 0x9
- strb r0, [r5]
- adds r5, 0x1
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x2D
- movs r3, 0
- bl sub_81D2C68
- cmp r0, 0
- beq _081D2D20
- ldr r1, =gText_EggNickname
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0xC
- bl StringCopyPadded
- b _081D2E70
- .pool
-_081D2D20:
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x2
- adds r3, r5, 0
- bl sub_81D2C68
- adds r0, r5, 0
- bl StringGetEnd10
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0xB
- movs r3, 0
- bl sub_81D2C68
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r4, 0xE
- bne _081D2D70
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r4, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r6, r0, 24
- b _081D2D92
- .pool
-_081D2D70:
- lsls r0, r4, 24
- lsrs r0, 24
- lsls r1, r6, 24
- lsrs r1, 24
- bl GetBoxedMonPtr
- adds r4, r0, 0
- bl GetBoxMonGender
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- bl GetLevelFromBoxMonExp
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_081D2D92:
- cmp r7, 0x1D
- beq _081D2D9A
- cmp r7, 0x20
- bne _081D2DB0
-_081D2D9A:
- movs r0, 0xB
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- adds r0, r5, 0
- bl StringCompare
- cmp r0, 0
- bne _081D2DB0
- movs r6, 0xFF
-_081D2DB0:
- adds r3, r5, 0
- b _081D2DBA
- .pool
-_081D2DB8:
- adds r3, 0x1
-_081D2DBA:
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _081D2DB8
- movs r1, 0xFC
- strb r1, [r3]
- adds r3, 0x1
- movs r0, 0x12
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x3C
- strb r0, [r3]
- adds r3, 0x1
- cmp r6, 0
- beq _081D2DDE
- cmp r6, 0xFE
- beq _081D2E02
- movs r0, 0
- b _081D2E24
-_081D2DDE:
- strb r1, [r3]
- adds r3, 0x1
- movs r0, 0x1
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x4
- strb r0, [r3]
- adds r3, 0x1
- strb r1, [r3]
- adds r3, 0x1
- movs r0, 0x3
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x5
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0xB5
- b _081D2E24
-_081D2E02:
- strb r1, [r3]
- adds r3, 0x1
- movs r0, 0x1
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x6
- strb r0, [r3]
- adds r3, 0x1
- strb r1, [r3]
- adds r3, 0x1
- movs r0, 0x3
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x7
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0xB6
-_081D2E24:
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0xFC
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x4
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x8
- strb r0, [r3]
- adds r3, 0x1
- movs r4, 0
- strb r4, [r3]
- adds r3, 0x1
- movs r0, 0x9
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0xBA
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0xF9
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x5
- strb r0, [r3]
- adds r3, 0x1
- adds r0, r3, 0
- mov r1, r8
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r3, r0, 0
- strb r4, [r3]
- adds r3, 0x1
- movs r0, 0xFF
- strb r0, [r3]
- adds r0, r3, 0
-_081D2E70:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81D2CD0
-
- thumb_func_start sub_81D2E7C
-sub_81D2E7C: @ 81D2E7C
- push {r4,lr}
- adds r4, r0, 0
- lsls r2, 16
- lsrs r2, 16
- b _081D2E94
-_081D2E86:
- strb r3, [r4]
- adds r1, 0x1
- adds r4, 0x1
- lsls r0, r2, 16
- ldr r2, =0xffff0000
- adds r0, r2
- lsrs r2, r0, 16
-_081D2E94:
- ldrb r3, [r1]
- adds r0, r3, 0
- cmp r0, 0xFF
- bne _081D2E86
- adds r1, r2, 0
- lsls r0, r1, 16
- ldr r2, =0xffff0000
- adds r0, r2
- lsrs r2, r0, 16
- lsls r1, 16
- cmp r1, 0
- ble _081D2EC2
- movs r3, 0
-_081D2EAE:
- strb r3, [r4]
- adds r4, 0x1
- adds r1, r2, 0
- lsls r0, r1, 16
- ldr r2, =0xffff0000
- adds r0, r2
- lsrs r2, r0, 16
- lsls r1, 16
- cmp r1, 0
- bgt _081D2EAE
-_081D2EC2:
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D2E7C
-
- thumb_func_start sub_81D2ED4
-sub_81D2ED4: @ 81D2ED4
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r0, [sp, 0x14]
- ldr r1, [sp, 0x18]
- ldr r4, [sp, 0x1C]
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r4, 24
- cmp r4, 0
- bne _081D2EFC
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
-_081D2EFC:
- cmp r2, r0
- beq _081D2F42
- adds r0, r6, 0
- adds r1, r7, 0
- adds r2, r3, 0
- bl sub_81D2CD0
- movs r0, 0xFC
- strb r0, [r5]
- movs r0, 0x4
- strb r0, [r5, 0x1]
- movs r0, 0x8
- strb r0, [r5, 0x2]
- movs r0, 0
- strb r0, [r5, 0x3]
- movs r0, 0x9
- strb r0, [r5, 0x4]
- cmp r7, 0xE
- bne _081D2F2C
- adds r0, r5, 0x5
- ldr r1, =gText_InParty
- b _081D2F3A
- .pool
-_081D2F2C:
- adds r4, r5, 0x5
- lsls r0, r7, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
-_081D2F3A:
- movs r2, 0x8
- bl sub_81D2E7C
- b _081D2F72
-_081D2F42:
- movs r1, 0
- movs r2, 0
-_081D2F46:
- adds r0, r6, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xB
- bls _081D2F46
- adds r1, r6, r1
- movs r0, 0xFF
- strb r0, [r1]
- movs r1, 0
- movs r2, 0
-_081D2F5E:
- adds r0, r5, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x7
- bls _081D2F5E
- adds r1, r5, r1
- movs r0, 0xFF
- strb r0, [r1]
-_081D2F72:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D2ED4
-
- thumb_func_start sub_81D2F78
-sub_81D2F78: @ 81D2F78
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- mov r10, r1
- ldr r0, [sp, 0x20]
- ldr r1, [sp, 0x24]
- ldr r4, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r6, r3, 16
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r4, 16
- lsrs r0, r4, 16
- lsls r5, 24
- cmp r5, 0
- bne _081D2FB0
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
-_081D2FB0:
- cmp r2, r0
- beq _081D305C
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x16
- movs r3, 0
- bl sub_81D2C68
- mov r1, r9
- lsls r5, r1, 2
- adds r4, r5, r1
- mov r2, r8
- adds r1, r2, r4
- strb r0, [r1]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x2F
- movs r3, 0
- bl sub_81D2C68
- mov r1, r8
- adds r1, 0x1
- adds r1, r4
- strb r0, [r1]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x21
- movs r3, 0
- bl sub_81D2C68
- mov r1, r8
- adds r1, 0x2
- adds r1, r4
- strb r0, [r1]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x18
- movs r3, 0
- bl sub_81D2C68
- mov r1, r8
- adds r1, 0x3
- adds r1, r4
- strb r0, [r1]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x17
- movs r3, 0
- bl sub_81D2C68
- mov r1, r8
- adds r1, 0x4
- adds r1, r4
- strb r0, [r1]
- mov r4, r10
- add r4, r9
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x30
- movs r3, 0
- bl sub_81D2C68
- cmp r0, 0xFF
- beq _081D3044
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x30
- movs r3, 0
- bl sub_81D2C68
- movs r1, 0x1D
- bl __udivsi3
- b _081D3046
-_081D3044:
- movs r0, 0x9
-_081D3046:
- strb r0, [r4]
- mov r0, r9
- adds r1, r5, r0
- mov r2, r8
- adds r0, r2, r1
- lsls r1, 2
- adds r1, 0x14
- add r1, r8
- bl sub_81D2754
- b _081D3086
-_081D305C:
- movs r2, 0
- mov r0, r9
- lsls r5, r0, 2
- adds r1, r5, r0
- movs r6, 0
- lsls r3, r1, 2
- movs r5, 0x9B
- movs r4, 0x5B
-_081D306C:
- adds r0, r2, r1
- add r0, r8
- strb r6, [r0]
- lsls r0, r2, 2
- adds r0, r3
- add r0, r8
- strh r5, [r0, 0x14]
- strh r4, [r0, 0x16]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x4
- bls _081D306C
-_081D3086:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D2F78
-
- thumb_func_start sub_81D3094
-sub_81D3094: @ 81D3094
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r8, r0
- mov r9, r1
- ldr r0, [sp, 0x20]
- ldr r1, [sp, 0x24]
- ldr r4, [sp, 0x28]
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r5, r3, 16
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r4, 24
- cmp r4, 0
- bne _081D30C4
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
-_081D30C4:
- cmp r2, r0
- beq _081D311A
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x41
- movs r3, 0
- bl sub_81D2C68
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_81D2C68
- adds r6, r0, 0
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_81D2C68
- adds r5, r0, 0
- lsls r0, r4, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- movs r1, 0x1
- str r1, [sp]
- mov r1, r8
- adds r2, r4, 0
- adds r3, r5, 0
- bl LoadSpecialPokePic
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl GetFrontSpritePalFromSpeciesAndPersonality
- mov r1, r9
- bl LZ77UnCompWram
-_081D311A:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3094
-
- thumb_func_start sub_81D312C
-sub_81D312C: @ 81D312C
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1]
- adds r0, 0x18
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- ble _081D3140
- movs r0, 0
- strh r0, [r1]
-_081D3140:
- movs r0, 0
- ldrsh r1, [r1, r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- pop {r1}
- bx r1
- thumb_func_end sub_81D312C
-
- thumb_func_start sub_81D3150
-sub_81D3150: @ 81D3150
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1]
- subs r0, 0x18
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x50
- negs r2, r2
- cmp r0, r2
- bge _081D3168
- strh r2, [r1]
-_081D3168:
- movs r0, 0
- ldrsh r1, [r1, r0]
- eors r1, r2
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- pop {r1}
- bx r1
- thumb_func_end sub_81D3150
-
- thumb_func_start sub_81D3178
-sub_81D3178: @ 81D3178
- push {r4,r5,lr}
- adds r5, r1, 0
- bl sub_81D2074
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_81D312C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- cmp r4, 0
- bne _081D319A
- cmp r0, 0
- beq _081D319C
-_081D319A:
- movs r1, 0x1
-_081D319C:
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3178
-
- thumb_func_start sub_81D31A4
-sub_81D31A4: @ 81D31A4
- push {r4,r5,lr}
- adds r5, r1, 0
- bl sub_81D2074
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_81D3150
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- cmp r4, 0
- bne _081D31C6
- cmp r0, 0
- beq _081D31C8
-_081D31C6:
- movs r1, 0x1
-_081D31C8:
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D31A4
-
- thumb_func_start sub_81D31D0
-sub_81D31D0: @ 81D31D0
- push {r4-r7,lr}
- sub sp, 0x20
- ldr r3, =gUnknown_08625A48
- ldr r4, [r3]
- ldr r5, [r3, 0x4]
- str r4, [sp, 0x18]
- str r5, [sp, 0x1C]
- mov r4, sp
- ldr r3, =gUnknown_08625A50
- ldm r3!, {r5-r7}
- stm r4!, {r5-r7}
- ldm r3!, {r5-r7}
- stm r4!, {r5-r7}
- ldr r3, =gUnknown_08625A68
- ldr r4, [r3, 0x4]
- ldr r3, [r3]
- ldr r5, [sp, 0x18]
- ldr r6, [sp, 0x1C]
- str r5, [r0]
- str r6, [r0, 0x4]
- mov r0, sp
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- str r3, [r2]
- str r4, [r2, 0x4]
- add sp, 0x20
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D31D0
-
- thumb_func_start sub_81D321C
-sub_81D321C: @ 81D321C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x50
- adds r5, r0, 0
- mov r12, r1
- mov r8, r2
- mov r1, sp
- ldr r0, =gUnknown_08625A70
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldm r0!, {r3,r4}
- stm r1!, {r3,r4}
- add r3, sp, 0x20
- adds r1, r3, 0
- ldr r0, =gUnknown_08625A90
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- add r2, sp, 0x38
- adds r1, r2, 0
- ldr r0, =gUnknown_08625AA8
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- movs r4, 0
-_081D3258:
- lsls r0, r4, 3
- add r0, sp
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- stm r5!, {r0,r1}
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081D3258
- mov r1, r12
- adds r0, r2, 0
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- movs r4, 0
-_081D327A:
- lsls r0, r4, 3
- adds r0, r3, r0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- mov r5, r8
- adds r5, 0x8
- mov r8, r5
- subs r5, 0x8
- stm r5!, {r0,r1}
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _081D327A
- add sp, 0x50
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D321C
-
- thumb_func_start sub_81D32B0
-sub_81D32B0: @ 81D32B0
- push {r4,r5,lr}
- ldr r2, =gUnknown_08625AC0
- ldr r4, [r2]
- ldr r5, [r2, 0x4]
- ldr r2, =gUnknown_08625AC8
- ldr r3, [r2, 0x4]
- ldr r2, [r2]
- str r4, [r0]
- str r5, [r0, 0x4]
- str r2, [r1]
- str r3, [r1, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D32B0
-
- thumb_func_start sub_81D32D4
-sub_81D32D4: @ 81D32D4
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _081D32F0
- movs r0, 0
- strh r0, [r1, 0x30]
- adds r0, r1, 0
- bl sub_81D3408
-_081D32F0:
- pop {r0}
- bx r0
- thumb_func_end sub_81D32D4
-
- thumb_func_start sub_81D32F4
-sub_81D32F4: @ 81D32F4
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081D330C
- movs r0, 0
- strh r0, [r2, 0x30]
- ldr r0, =sub_81D32D4
- str r0, [r2, 0x1C]
-_081D330C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D32F4
-
- thumb_func_start sub_81D3314
-sub_81D3314: @ 81D3314
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r3, r1, r0
- cmp r3, 0
- beq _081D3360
- ldrh r1, [r3, 0x24]
- ldrh r2, [r3, 0x20]
- adds r1, r2
- ldr r2, =gUnknown_08625B2C
- movs r5, 0x2E
- ldrsh r0, [r4, r5]
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r1, [r3, 0x26]
- ldrh r3, [r3, 0x22]
- adds r1, r3
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- lsls r0, 2
- adds r2, 0x2
- adds r0, r2
- ldrh r0, [r0]
- adds r0, r1
- b _081D337E
- .pool
-_081D3360:
- ldr r1, =gUnknown_08625B2C
- movs r5, 0x2E
- ldrsh r0, [r4, r5]
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x28
- strh r0, [r4, 0x20]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r1, 0x2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x68
-_081D337E:
- strh r0, [r4, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3314
-
- thumb_func_start sub_81D338C
-sub_81D338C: @ 81D338C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r2
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- movs r5, 0
-_081D339E:
- lsls r0, r5, 2
- mov r1, r8
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _081D33F0
- strh r5, [r0, 0x2E]
- ldr r1, [r4]
- lsls r0, r5, 4
- adds r0, 0x1
- strh r0, [r1, 0x30]
- ldr r0, [r4]
- strh r6, [r0, 0x32]
- ldr r0, [r4]
- strh r5, [r0, 0x34]
- cmp r7, 0
- beq _081D33C4
- cmp r6, 0x9
- beq _081D33D0
-_081D33C4:
- ldr r1, [r4]
- ldr r0, =sub_81D3564
- str r0, [r1, 0x1C]
- b _081D33F0
- .pool
-_081D33D0:
- ldr r0, [r4]
- bl sub_81D3314
- ldr r0, [r4]
- bl sub_81D35E8
- ldr r2, [r4]
- ldr r0, =sub_81D32F4
- str r0, [r2, 0x1C]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r3, 0x5
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- strb r0, [r2]
-_081D33F0:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x9
- bls _081D339E
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D338C
-
- thumb_func_start sub_81D3408
-sub_81D3408: @ 81D3408
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- lsls r0, 24
- lsrs r2, r0, 24
- movs r3, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- adds r0, 0x1
- cmp r3, r0
- bge _081D3454
- ldr r5, =gSprites
- movs r7, 0x1C
- adds r7, r5
- mov r12, r7
- ldr r6, =sub_81D3564
-_081D3428:
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r2, r1, r5
- movs r7, 0x2E
- ldrsh r0, [r2, r7]
- lsls r0, 4
- adds r0, 0x1
- strh r0, [r2, 0x30]
- add r1, r12
- str r6, [r1]
- ldrh r0, [r2, 0x38]
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- adds r0, 0x1
- cmp r3, r0
- blt _081D3428
-_081D3454:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3408
-
- thumb_func_start sub_81D3464
-sub_81D3464: @ 81D3464
- push {lr}
- adds r2, r0, 0
- movs r1, 0
- movs r3, 0
-_081D346C:
- lsls r0, r1, 2
- adds r0, r2
- str r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- bls _081D346C
- pop {r0}
- bx r0
- thumb_func_end sub_81D3464
-
- thumb_func_start sub_81D3480
-sub_81D3480: @ 81D3480
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- movs r0, 0
- mov r9, r0
- lsrs r7, r2, 24
- movs r5, 0
- adds r0, r7, 0x1
- cmp r9, r0
- bge _081D34FE
-_081D34A2:
- ldr r0, =gUnknown_08625B14
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- adds r6, r3, 0
- cmp r3, 0x40
- beq _081D34FE
- lsls r0, r5, 2
- mov r1, r8
- adds r4, r0, r1
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r4]
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r4]
- mov r1, r10
- strh r1, [r0, 0x36]
- cmp r5, 0
- beq _081D34F0
- subs r0, r4, 0x4
- ldr r0, [r0]
- strh r3, [r0, 0x38]
- b _081D34F2
- .pool
-_081D34F0:
- mov r9, r6
-_081D34F2:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r7, 0x1
- cmp r5, r0
- blt _081D34A2
-_081D34FE:
- lsls r0, r7, 2
- add r0, r8
- ldr r0, [r0]
- mov r1, r9
- strh r1, [r0, 0x38]
- adds r0, r7, 0
- movs r1, 0x1
- mov r2, r8
- bl sub_81D338C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D3480
-
- thumb_func_start sub_81D3520
-sub_81D3520: @ 81D3520
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
-_081D3526:
- cmp r5, 0x9
- bhi _081D3544
- lsls r0, r5, 2
- adds r4, r0, r6
- ldr r0, [r4]
- cmp r0, 0
- beq _081D3544
- bl DestroySprite
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- b _081D3526
-_081D3544:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81D3520
-
- thumb_func_start sub_81D354C
-sub_81D354C: @ 81D354C
- push {lr}
- bl sub_81D3520
- movs r0, 0x68
- bl FreeSpriteTilesByTag
- movs r0, 0x68
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- thumb_func_end sub_81D354C
-
- thumb_func_start sub_81D3564
-sub_81D3564: @ 81D3564
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081D3592
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _081D35DC
- adds r0, r4, 0
- movs r1, 0
- bl SeekSpriteAnim
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_081D3592:
- adds r0, r4, 0
- bl sub_81D3314
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081D35DC
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _081D35D8
- cmp r1, 0x9
- bne _081D35D0
- adds r0, r4, 0
- bl sub_81D35E8
- ldr r0, =sub_81D32F4
- b _081D35DA
- .pool
-_081D35D0:
- ldr r0, =sub_81D32D4
- b _081D35DA
- .pool
-_081D35D8:
- ldr r0, =SpriteCallbackDummy
-_081D35DA:
- str r0, [r4, 0x1C]
-_081D35DC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3564
-
- thumb_func_start sub_81D35E8
-sub_81D35E8: @ 81D35E8
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x38]
- lsls r0, 24
- lsrs r1, r0, 24
- movs r5, 0
- movs r2, 0x32
- ldrsh r0, [r6, r2]
- adds r0, 0x1
- cmp r5, r0
- bge _081D3636
- movs r0, 0x5
- negs r0, r0
- adds r7, r0, 0
-_081D3604:
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0
- bl SeekSpriteAnim
- adds r1, r4, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- ands r0, r7
- strb r0, [r1]
- ldrh r0, [r4, 0x38]
- lsls r0, 24
- lsrs r1, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0x32
- ldrsh r0, [r6, r2]
- adds r0, 0x1
- cmp r5, r0
- blt _081D3604
-_081D3636:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D35E8
-
- thumb_func_start sub_81D3640
-sub_81D3640: @ 81D3640
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r8, r0
- adds r6, r1, 0
- adds r5, r2, 0
- adds r4, r3, 0
- ldr r3, [sp, 0x4C]
- ldr r0, [sp, 0x50]
- mov r9, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- mov r1, r9
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, r4, 4
- orrs r1, r4
- lsls r1, 24
- lsrs r1, 24
- str r3, [sp, 0x28]
- bl FillWindowPixelBuffer
- add r2, sp, 0xC
- ldrh r0, [r5]
- ldrh r1, [r6]
- subs r0, r1
- strh r0, [r2]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r6, 0x2]
- subs r0, r1
- strh r0, [r2, 0x2]
- ldrh r0, [r5, 0x4]
- ldrh r1, [r6, 0x4]
- subs r0, r1
- strh r0, [r2, 0x4]
- ldrh r0, [r5, 0x8]
- ldrh r1, [r6, 0x8]
- subs r0, r1
- strh r0, [r2, 0x6]
- ldrh r0, [r5, 0xA]
- ldrh r1, [r6, 0xA]
- subs r0, r1
- strh r0, [r2, 0x8]
- ldrh r0, [r5, 0x6]
- ldrh r1, [r6, 0x6]
- subs r0, r1
- strh r0, [r2, 0xA]
- add r0, sp, 0x24
- strb r4, [r0]
- ldr r3, [sp, 0x28]
- strb r3, [r0, 0x1]
- mov r1, r9
- strb r1, [r0, 0x2]
- movs r7, 0
- mov r10, r0
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- add r6, sp, 0x18
-_081D36CA:
- lsls r0, r7, 4
- subs r0, r7
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, r10
- str r1, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- ldr r1, =gUnknown_08625B54
- lsls r0, r7, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x8]
- mov r0, r8
- movs r1, 0x1
- movs r2, 0
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- lsls r0, r7, 1
- mov r4, sp
- adds r4, r0
- adds r4, 0xC
- movs r1, 0
- ldrsh r0, [r4, r1]
- ldr r1, =gText_Dash
- cmp r0, 0
- blt _081D3704
- ldr r1, =gText_UnkCtrlF904
-_081D3704:
- adds r0, r6, 0
- bl StringCopy
- mov r0, r10
- str r0, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- movs r1, 0x1
- movs r2, 0x38
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- movs r0, 0
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _081D372C
- negs r0, r1
-_081D372C:
- movs r4, 0xC
- cmp r0, 0x9
- bgt _081D3734
- movs r4, 0x12
-_081D3734:
- cmp r1, 0
- bge _081D373A
- negs r1, r1
-_081D373A:
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r2, r4, 0
- adds r2, 0x38
- mov r1, r10
- str r1, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- movs r1, 0x1
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x5
- bls _081D36CA
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3640
-
- thumb_func_start sub_81D3784
-sub_81D3784: @ 81D3784
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r8, r0
- adds r5, r1, 0
- adds r4, r2, 0
- adds r6, r3, 0
- ldr r2, [sp, 0x4C]
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, r4, 4
- orrs r1, r4
- lsls r1, 24
- lsrs r1, 24
- str r2, [sp, 0x28]
- bl FillWindowPixelBuffer
- add r1, sp, 0xC
- ldrh r0, [r5]
- strh r0, [r1]
- ldrh r0, [r5, 0x2]
- strh r0, [r1, 0x2]
- ldrh r0, [r5, 0x4]
- strh r0, [r1, 0x4]
- ldrh r0, [r5, 0x8]
- strh r0, [r1, 0x6]
- ldrh r0, [r5, 0xA]
- strh r0, [r1, 0x8]
- ldrh r0, [r5, 0x6]
- strh r0, [r1, 0xA]
- add r0, sp, 0x24
- strb r4, [r0]
- strb r6, [r0, 0x1]
- ldr r2, [sp, 0x28]
- strb r2, [r0, 0x2]
- movs r6, 0
- add r1, sp, 0x18
- mov r9, r1
- mov r7, r8
- mov r10, r0
- movs r2, 0x1
- negs r2, r2
- mov r8, r2
-_081D37EE:
- lsls r1, r6, 1
- mov r0, sp
- adds r0, r1
- adds r0, 0xC
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r4, 0x3
- cmp r0, 0x63
- bgt _081D3808
- movs r4, 0x1
- cmp r0, 0x9
- ble _081D3808
- movs r4, 0x2
-_081D3808:
- mov r0, sp
- adds r0, r1
- adds r0, 0xC
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r0, r9
- movs r2, 0
- adds r3, r4, 0
- bl ConvertIntToDecimalStringN
- movs r0, 0x4
- subs r0, r4
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 17
- lsrs r4, 16
- lsls r5, r6, 4
- subs r5, r6
- lsls r5, 24
- lsrs r5, 24
- mov r0, r10
- str r0, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- ldr r1, =gUnknown_08625B54
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- movs r2, 0
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- adds r4, 0x38
- lsls r4, 24
- lsrs r4, 24
- mov r2, r10
- str r2, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- adds r2, r4, 0
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _081D37EE
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3784
-
- thumb_func_start sub_81D388C
-sub_81D388C: @ 81D388C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r1, 0x3A
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x3B
- bl GetMonData
- strh r0, [r5, 0x2]
- adds r0, r4, 0
- movs r1, 0x3C
- bl GetMonData
- strh r0, [r5, 0x4]
- adds r0, r4, 0
- movs r1, 0x3D
- bl GetMonData
- strh r0, [r5, 0x6]
- adds r0, r4, 0
- movs r1, 0x3E
- bl GetMonData
- strh r0, [r5, 0x8]
- adds r0, r4, 0
- movs r1, 0x3F
- bl GetMonData
- strh r0, [r5, 0xA]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81D388C
-
- thumb_func_start sub_81D38D4
-sub_81D38D4: @ 81D38D4
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003d6d
- adds r0, r1
- ldrb r1, [r0]
- adds r2, r1, 0x1
- adds r0, r2, 0
- asrs r0, 8
- lsls r0, 8
- subs r0, r2, r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D38D4
-
- thumb_func_start sub_81D38FC
-sub_81D38FC: @ 81D38FC
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0x9C
- lsls r5, 2
- adds r1, r5, 0
- bl CalcByteArraySum
- adds r4, r5
- ldr r1, [r4]
- cmp r0, r1
- bne _081D3916
- movs r0, 0x1
- b _081D3918
-_081D3916:
- movs r0, 0
-_081D3918:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D38FC
-
- thumb_func_start sub_81D3920
-sub_81D3920: @ 81D3920
- push {r4-r7,lr}
- adds r7, r0, 0
- ldrb r6, [r7]
- subs r0, r6, 0x1
- cmp r0, 0x7
- bhi _081D3964
- movs r5, 0
- cmp r5, r6
- bcs _081D394C
- adds r4, r7, 0
- adds r4, 0x8
-_081D3936:
- adds r0, r4, 0
- bl sub_81D38FC
- cmp r0, 0
- beq _081D3964
- movs r0, 0x9D
- lsls r0, 2
- adds r4, r0
- adds r5, 0x1
- cmp r5, r6
- bcc _081D3936
-_081D394C:
- adds r0, r7, 0
- adds r0, 0x8
- movs r1, 0x9D
- lsls r1, 2
- muls r1, r6
- bl CalcByteArraySum
- ldr r1, [r7, 0x4]
- cmp r0, r1
- bne _081D3964
- movs r0, 0x1
- b _081D3966
-_081D3964:
- movs r0, 0
-_081D3966:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3920
-
- thumb_func_start sub_81D396C
-sub_81D396C: @ 81D396C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- subs r0, 0x1
- cmp r0, 0x7
- bhi _081D398E
- adds r0, r4, 0
- adds r0, 0x8
- movs r1, 0xEE
- lsls r1, 4
- bl CalcByteArraySum
- ldr r1, [r4, 0x4]
- cmp r0, r1
- bne _081D398E
- movs r0, 0x1
- b _081D3990
-_081D398E:
- movs r0, 0
-_081D3990:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D396C
-
- thumb_func_start sub_81D3998
-sub_81D3998: @ 81D3998
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- mov r8, r1
- movs r2, 0x80
- lsls r2, 5
- mov r0, r8
- movs r1, 0
- bl memset
- ldrb r0, [r7]
- mov r1, r8
- strb r0, [r1]
- bl sub_81D38D4
- mov r2, r8
- strb r0, [r2, 0x1]
- ldrb r0, [r7]
- adds r0, 0x1
- asrs r0, 1
- strb r0, [r2, 0x2]
- movs r6, 0
- b _081D3A42
-_081D39C8:
- movs r0, 0x1
- ands r0, r6
- cmp r0, 0
- bne _081D3A14
- lsrs r0, r6, 31
- adds r0, r6, r0
- asrs r0, 1
- lsls r4, r0, 4
- subs r4, r0
- lsls r4, 3
- subs r4, r0
- lsls r4, 3
- add r4, r8
- movs r0, 0x9D
- lsls r0, 2
- adds r5, r6, 0
- muls r5, r0
- adds r5, r7, r5
- ldrb r0, [r5, 0x8]
- strb r0, [r4, 0x8]
- movs r1, 0xA7
- lsls r1, 2
- adds r0, r4, r1
- movs r2, 0xAA
- lsls r2, 1
- adds r1, r5, r2
- subs r2, 0x30
- bl memcpy
- adds r4, 0xC
- adds r5, 0xC
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xA4
- lsls r2, 1
- bl memcpy
- b _081D3A40
-_081D3A14:
- lsrs r1, r6, 31
- adds r1, r6, r1
- asrs r1, 1
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 3
- subs r0, r1
- lsls r0, 3
- add r0, r8
- movs r1, 0x9D
- lsls r1, 2
- muls r1, r6
- adds r1, r7, r1
- ldrb r2, [r1, 0x8]
- strb r2, [r0, 0x9]
- movs r2, 0xAA
- lsls r2, 1
- adds r0, r2
- adds r1, 0xC
- subs r2, 0xC
- bl memcpy
-_081D3A40:
- adds r6, 0x1
-_081D3A42:
- ldrb r0, [r7]
- cmp r6, r0
- blt _081D39C8
- movs r0, 0x1
- ands r0, r6
- cmp r0, 0
- beq _081D3A7E
- lsrs r2, r6, 31
- adds r2, r6, r2
- asrs r2, 1
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 3
- subs r0, r2
- lsls r0, 3
- add r0, r8
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- ldr r3, =gUnknown_08625B6C
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r2
- lsls r1, 3
- adds r1, r3
- movs r2, 0xA4
- lsls r2, 1
- bl memcpy
-_081D3A7E:
- mov r0, r8
- adds r0, 0x8
- movs r1, 0xEE
- lsls r1, 4
- bl CalcByteArraySum
- mov r2, r8
- str r0, [r2, 0x4]
- movs r0, 0x1E
- mov r1, r8
- bl sub_8153634
- cmp r0, 0x1
- bne _081D3AA4
- movs r0, 0x1
- b _081D3AA6
- .pool
-_081D3AA4:
- movs r0, 0
-_081D3AA6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3998
-
- thumb_func_start sub_81D3AB0
-sub_81D3AB0: @ 81D3AB0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x80
- lsls r0, 5
- bl AllocZeroed
- adds r5, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81D3998
- adds r4, r0, 0
- adds r0, r5, 0
- bl Free
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3AB0
-
- thumb_func_start sub_81D3AD8
-sub_81D3AD8: @ 81D3AD8
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0x1E
- bl TryCopySpecialSaveSection
- cmp r0, 0x1
- bne _081D3B04
- ldr r2, =0x00000ee8
- adds r0, r5, 0
- adds r1, r4, 0
- bl memcpy
- adds r0, r5, 0
- bl sub_81D396C
- cmp r0, 0
- beq _081D3B04
- movs r0, 0x1
- b _081D3B06
- .pool
-_081D3B04:
- movs r0, 0
-_081D3B06:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3AD8
-
- thumb_func_start sub_81D3B0C
-sub_81D3B0C: @ 81D3B0C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x80
- lsls r0, 5
- bl AllocZeroed
- adds r5, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81D3AD8
- adds r4, r0, 0
- adds r0, r5, 0
- bl Free
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3B0C
-
- thumb_func_start sub_81D3B34
-sub_81D3B34: @ 81D3B34
- push {r4,r5,lr}
- movs r0, 0x80
- lsls r0, 5
- bl AllocZeroed
- adds r4, r0, 0
- bl sub_81D3B0C
- adds r5, r0, 0
- adds r0, r4, 0
- bl Free
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3B34
-
- thumb_func_start sub_81D3B54
-sub_81D3B54: @ 81D3B54
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_81D41A0
- movs r7, 0x2
- ldr r4, =gShouldAdvanceLinkState
-_081D3B64:
- bl sub_81D4170
- ldr r0, =gUnknown_030012E2
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081D3B76
- strb r7, [r4]
-_081D3B76:
- movs r0, 0x1
- adds r1, r6, 0
- adds r2, r5, 0
- movs r3, 0
- bl sub_81D3D70
- adds r1, r0, 0
- ldr r0, =gUnknown_030012E4
- strh r1, [r0]
- movs r0, 0x13
- ands r0, r1
- cmp r0, 0x10
- bne _081D3BA0
- movs r4, 0
- b _081D3BC2
- .pool
-_081D3BA0:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _081D3BAC
- movs r4, 0x1
- b _081D3BC2
-_081D3BAC:
- movs r0, 0x4
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _081D3BC0
- strb r0, [r4]
- bl VBlankIntrWait
- b _081D3B64
-_081D3BC0:
- movs r4, 0x2
-_081D3BC2:
- movs r0, 0
- str r0, [sp]
- ldr r1, =gUnknown_030012C8
- ldr r2, =0x05000006
- mov r0, sp
- bl CpuSet
- bl sub_81D41F4
- adds r0, r4, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D3B54
-
- thumb_func_start sub_81D3BE8
-sub_81D3BE8: @ 81D3BE8
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- bl sub_81D41A0
- movs r6, 0x2
- ldr r4, =gShouldAdvanceLinkState
-_081D3BF6:
- bl sub_81D4170
- ldr r0, =gUnknown_030012E2
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081D3C08
- strb r6, [r4]
-_081D3C08:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- adds r3, r5, 0
- bl sub_81D3D70
- adds r1, r0, 0
- ldr r0, =gUnknown_030012E4
- strh r1, [r0]
- movs r0, 0x13
- ands r0, r1
- cmp r0, 0x10
- bne _081D3C34
- movs r4, 0
- b _081D3C56
- .pool
-_081D3C34:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _081D3C40
- movs r4, 0x1
- b _081D3C56
-_081D3C40:
- movs r0, 0x4
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _081D3C54
- strb r0, [r4]
- bl VBlankIntrWait
- b _081D3BF6
-_081D3C54:
- movs r4, 0x2
-_081D3C56:
- movs r0, 0
- str r0, [sp]
- ldr r1, =gUnknown_030012C8
- ldr r2, =0x05000006
- mov r0, sp
- bl CpuSet
- bl sub_81D41F4
- adds r0, r4, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D3BE8
-
- thumb_func_start sub_81D3C7C
-sub_81D3C7C: @ 81D3C7C
- push {r4,lr}
- ldr r4, =0x04000208
- movs r3, 0
- strh r3, [r4]
- ldr r2, =0x04000200
- ldrh r1, [r2]
- ldr r0, =0x0000ff3f
- ands r0, r1
- strh r0, [r2]
- movs r0, 0x1
- strh r0, [r4]
- ldr r0, =0x04000128
- strh r3, [r0]
- subs r0, 0x1A
- strh r3, [r0]
- ldr r1, =0x04000202
- movs r0, 0xC0
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3C7C
-
- thumb_func_start sub_81D3CBC
-sub_81D3CBC: @ 81D3CBC
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r5, =0x04000208
- movs r4, 0
- strh r4, [r5]
- ldr r3, =0x04000200
- ldrh r1, [r3]
- ldr r0, =0x0000ff3f
- ands r0, r1
- strh r0, [r3]
- movs r6, 0x1
- strh r6, [r5]
- ldr r0, =0x04000134
- strh r4, [r0]
- ldr r2, =0x04000128
- movs r1, 0x80
- lsls r1, 6
- adds r0, r1, 0
- strh r0, [r2]
- ldrh r0, [r2]
- ldr r7, =0x00004003
- adds r1, r7, 0
- orrs r0, r1
- strh r0, [r2]
- strh r4, [r5]
- ldrh r0, [r3]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r3]
- strh r6, [r5]
- ldr r1, =gUnknown_030012C8
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _081D3D0A
- str r0, [sp]
- ldr r2, =0x05000006
- mov r0, sp
- bl CpuSet
-_081D3D0A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3CBC
-
- thumb_func_start sub_81D3D34
-sub_81D3D34: @ 81D3D34
- ldr r0, =0x04000134
- movs r3, 0
- strh r3, [r0]
- ldr r2, =0x04000128
- movs r1, 0xA0
- lsls r1, 7
- adds r0, r1, 0
- strh r0, [r2]
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, =gShouldAdvanceLinkState
- strb r3, [r0]
- ldr r0, =gUnknown_030012E6
- strh r3, [r0]
- ldr r1, =gUnknown_030012E8
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81D3D34
-
- thumb_func_start sub_81D3D70
-sub_81D3D70: @ 81D3D70
- push {r4-r6,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_030012C8
- ldrb r0, [r0, 0x1]
- cmp r0, 0x6
- bls _081D3D86
- b _081D3ECC
-_081D3D86:
- lsls r0, 2
- ldr r1, =_081D3D98
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081D3D98:
- .4byte _081D3DB4
- .4byte _081D3DC8
- .4byte _081D3DE8
- .4byte _081D3DFC
- .4byte _081D3E74
- .4byte _081D3E84
- .4byte _081D3EBC
-_081D3DB4:
- bl sub_81D3CBC
- ldr r1, =gUnknown_030012C8
- movs r0, 0x1
- strb r0, [r1, 0x2]
- strb r0, [r1, 0x1]
- b _081D3ECC
- .pool
-_081D3DC8:
- adds r0, r2, 0
- bl sub_81D3EE8
- lsls r0, 16
- cmp r0, 0
- beq _081D3DD8
- bl sub_81D413C
-_081D3DD8:
- ldr r0, =gShouldAdvanceLinkState
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _081D3DE2
- b _081D3ECC
-_081D3DE2:
- b _081D3E04
- .pool
-_081D3DE8:
- bl sub_81D3D34
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_81D3F1C
- ldr r1, =gUnknown_030012C8
- movs r0, 0x3
- strb r0, [r1, 0x1]
-_081D3DFC:
- ldr r0, =gShouldAdvanceLinkState
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _081D3E18
-_081D3E04:
- ldr r1, =gUnknown_030012C8
- strb r0, [r1, 0x4]
- movs r0, 0x6
- strb r0, [r1, 0x1]
- b _081D3ECC
- .pool
-_081D3E18:
- ldr r2, =gUnknown_030012E6
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- ldr r1, =gUnknown_030012E8
- ldr r0, [r1]
- adds r3, r0, 0x1
- str r3, [r1]
- ldr r1, =gUnknown_030012C8
- ldrb r0, [r1]
- cmp r0, 0
- bne _081D3E3C
- cmp r3, 0x3C
- bls _081D3E3C
- movs r0, 0x1
- strb r0, [r1, 0x4]
- movs r0, 0x6
- strb r0, [r1, 0x1]
-_081D3E3C:
- ldr r4, =gUnknown_030012C8
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- beq _081D3ECC
- ldrb r0, [r4]
- cmp r0, 0
- beq _081D3E64
- ldrh r0, [r2]
- cmp r0, 0x2
- bls _081D3E64
- bl sub_81D413C
- movs r0, 0x2
- b _081D3ECA
- .pool
-_081D3E64:
- bl sub_81D413C
- ldr r1, =gUnknown_030012C8
- movs r0, 0x2
- strb r0, [r1, 0x2]
- b _081D3ECC
- .pool
-_081D3E74:
- bl sub_81D3CBC
- ldr r1, =gUnknown_030012C8
- movs r0, 0x5
- strb r0, [r1, 0x1]
- b _081D3ECC
- .pool
-_081D3E84:
- ldr r0, =gUnknown_030012C8
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081D3E98
- ldr r0, =gUnknown_030012E6
- ldrh r0, [r0]
- cmp r0, 0x2
- bls _081D3E98
- bl sub_81D413C
-_081D3E98:
- ldr r1, =gUnknown_030012E6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3C
- bls _081D3ECC
- ldr r0, =gUnknown_030012C8
- movs r1, 0x1
- strb r1, [r0, 0x4]
- movs r1, 0x6
- strb r1, [r0, 0x1]
- b _081D3ECC
- .pool
-_081D3EBC:
- ldr r4, =gUnknown_030012C8
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _081D3ECC
- bl sub_81D3C7C
- movs r0, 0
-_081D3ECA:
- strb r0, [r4, 0x2]
-_081D3ECC:
- ldr r2, =gUnknown_030012C8
- ldrb r0, [r2, 0x2]
- ldrb r1, [r2, 0x4]
- lsls r1, 2
- orrs r0, r1
- ldrb r1, [r2, 0x3]
- lsls r1, 4
- orrs r0, r1
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D3D70
-
- thumb_func_start sub_81D3EE8
-sub_81D3EE8: @ 81D3EE8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =0x04000128
- ldr r0, [r0]
- movs r1, 0xC
- ands r0, r1
- cmp r0, 0x8
- bne _081D3F0C
- cmp r2, 0
- beq _081D3F0C
- ldr r1, =gUnknown_030012C8
- movs r0, 0x1
- b _081D3F10
- .pool
-_081D3F0C:
- ldr r1, =gUnknown_030012C8
- movs r0, 0
-_081D3F10:
- strb r0, [r1]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D3EE8
-
- thumb_func_start sub_81D3F1C
-sub_81D3F1C: @ 81D3F1C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r3, =gUnknown_030012C8
- ldrb r0, [r3]
- cmp r0, 0
- beq _081D3F54
- ldr r2, =0x04000128
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- str r5, [r3, 0x8]
- ldr r0, =0x04000120
- str r4, [r0]
- lsrs r0, r4, 2
- adds r0, 0x1
- str r0, [r3, 0x10]
- bl sub_81D3F68
- b _081D3F5C
- .pool
-_081D3F54:
- ldr r1, =0x04000128
- ldrh r0, [r1]
- strh r0, [r1]
- str r2, [r3, 0x8]
-_081D3F5C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3F1C
-
- thumb_func_start sub_81D3F68
-sub_81D3F68: @ 81D3F68
- ldr r1, =0x0400010c
- ldr r2, =0x0000fda7
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, =0x0400010e
- movs r2, 0x40
- strh r2, [r0]
- ldr r3, =0x04000208
- movs r0, 0
- strh r0, [r3]
- adds r1, 0xF4
- ldrh r0, [r1]
- orrs r0, r2
- strh r0, [r1]
- movs r0, 0x1
- strh r0, [r3]
- bx lr
- .pool
- thumb_func_end sub_81D3F68
-
- thumb_func_start sub_81D3F9C
-sub_81D3F9C: @ 81D3F9C
- push {lr}
- bl sub_81D414C
- bl sub_81D413C
- pop {r0}
- bx r0
- thumb_func_end sub_81D3F9C
-
- thumb_func_start sub_81D3FAC
-sub_81D3FAC: @ 81D3FAC
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r2, =gUnknown_030012C8
- ldrb r0, [r2, 0x1]
- adds r3, r2, 0
- cmp r0, 0x3
- beq _081D4034
- cmp r0, 0x3
- bgt _081D3FC8
- cmp r0, 0x1
- beq _081D3FD0
- b _081D412A
- .pool
-_081D3FC8:
- cmp r0, 0x5
- bne _081D3FCE
- b _081D40FC
-_081D3FCE:
- b _081D412A
-_081D3FD0:
- ldr r1, =0x0400012a
- ldr r2, =0x0000ccd0
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, =0x04000120
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r4, 0
- ldr r6, =0x0000ccd0
- ldr r5, =0x0000ffff
-_081D3FEC:
- lsls r0, r1, 1
- add r0, sp
- ldrh r0, [r0]
- cmp r0, r6
- bne _081D4010
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- b _081D401A
- .pool
-_081D4010:
- cmp r0, r5
- beq _081D401A
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_081D401A:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _081D3FEC
- cmp r2, 0x2
- beq _081D402A
- b _081D412A
-_081D402A:
- cmp r4, 0
- beq _081D4030
- b _081D412A
-_081D4030:
- strb r2, [r3, 0x1]
- b _081D412A
-_081D4034:
- ldr r0, =0x04000120
- ldr r4, [r0]
- ldr r0, [r2, 0xC]
- cmp r0, 0
- bne _081D404A
- ldrb r0, [r2]
- cmp r0, 0
- bne _081D404A
- lsrs r0, r4, 2
- adds r0, 0x1
- str r0, [r2, 0x10]
-_081D404A:
- ldrb r0, [r3]
- cmp r0, 0x1
- bne _081D4080
- ldr r1, [r3, 0xC]
- ldr r0, [r3, 0x10]
- cmp r1, r0
- bge _081D4074
- ldr r2, =0x04000120
- ldr r0, [r3, 0x8]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- ldr r0, [r3, 0x14]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r3, 0x14]
- b _081D40BA
- .pool
-_081D4074:
- ldr r1, =0x04000120
- ldr r0, [r3, 0x14]
- b _081D40B8
- .pool
-_081D4080:
- ldr r1, [r3, 0xC]
- cmp r1, 0
- ble _081D40A0
- ldr r0, [r3, 0x10]
- adds r0, 0x1
- cmp r1, r0
- bge _081D40A0
- ldr r0, [r3, 0x8]
- lsls r1, 2
- adds r1, r0
- subs r1, 0x4
- str r4, [r1]
- ldr r0, [r3, 0x14]
- adds r0, r4
- str r0, [r3, 0x14]
- b _081D40B4
-_081D40A0:
- ldr r0, [r3, 0xC]
- cmp r0, 0
- beq _081D40B4
- ldr r0, [r3, 0x14]
- cmp r0, r4
- bne _081D40B0
- movs r0, 0x1
- b _081D40B2
-_081D40B0:
- movs r0, 0x2
-_081D40B2:
- strb r0, [r3, 0x3]
-_081D40B4:
- ldr r1, =gUnknown_030012E8
- movs r0, 0
-_081D40B8:
- str r0, [r1]
-_081D40BA:
- ldr r1, [r3, 0xC]
- adds r1, 0x1
- str r1, [r3, 0xC]
- ldr r0, [r3, 0x10]
- adds r0, 0x2
- cmp r1, r0
- bge _081D40EA
- ldrb r0, [r3]
- cmp r0, 0
- beq _081D40E4
- ldr r0, =0x0400010e
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
- b _081D412A
- .pool
-_081D40E4:
- bl sub_81D413C
- b _081D412A
-_081D40EA:
- movs r0, 0
- movs r1, 0x4
- strb r1, [r3, 0x1]
- ldr r1, =gUnknown_030012E6
- strh r0, [r1]
- b _081D412A
- .pool
-_081D40FC:
- ldrb r3, [r2]
- cmp r3, 0
- bne _081D4108
- ldr r1, =0x0400012a
- ldrb r0, [r2, 0x3]
- strh r0, [r1]
-_081D4108:
- ldr r0, =0x04000120
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- ldrh r1, [r0, 0x2]
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _081D412A
- cmp r3, 0x1
- bne _081D4126
- strb r1, [r2, 0x3]
-_081D4126:
- movs r0, 0x6
- strb r0, [r2, 0x1]
-_081D412A:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3FAC
-
- thumb_func_start sub_81D413C
-sub_81D413C: @ 81D413C
- ldr r0, =0x04000128
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81D413C
-
- thumb_func_start sub_81D414C
-sub_81D414C: @ 81D414C
- ldr r2, =0x0400010e
- ldrh r1, [r2]
- ldr r0, =0x0000ff7f
- ands r0, r1
- strh r0, [r2]
- ldr r1, =0x0400010c
- ldr r2, =0x0000fda7
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81D414C
-
- thumb_func_start sub_81D4170
-sub_81D4170: @ 81D4170
- push {r4,lr}
- ldr r0, =0x04000130
- ldrh r0, [r0]
- ldr r2, =0x000003ff
- adds r1, r2, 0
- eors r1, r0
- ldr r4, =gUnknown_030012E2
- ldr r3, =gUnknown_030012E0
- ldrh r2, [r3]
- adds r0, r1, 0
- bics r0, r2
- strh r0, [r4]
- strh r1, [r3]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4170
-
- thumb_func_start sub_81D41A0
-sub_81D41A0: @ 81D41A0
- ldr r1, =gUnknown_030012EC
- ldr r0, =0x04000208
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_030012EE
- ldr r0, =0x04000200
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_030012F0
- ldr r0, =0x0400010e
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_030012F2
- ldr r0, =0x04000128
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_030012F4
- ldr r0, =0x04000134
- ldrh r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81D41A0
-
- thumb_func_start sub_81D41F4
-sub_81D41F4: @ 81D41F4
- ldr r1, =0x04000208
- ldr r0, =gUnknown_030012EC
- ldrh r0, [r0]
- strh r0, [r1]
- subs r1, 0x8
- ldr r0, =gUnknown_030012EE
- ldrh r0, [r0]
- strh r0, [r1]
- subs r1, 0xF2
- ldr r0, =gUnknown_030012F0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x1A
- ldr r0, =gUnknown_030012F2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0xC
- ldr r0, =gUnknown_030012F4
- ldrh r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81D41F4
-
- thumb_func_start sub_81D4238
-sub_81D4238: @ 81D4238
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r1, =gUnknown_030012C8
- ldr r2, =0x05000006
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4238
-
- thumb_func_start sub_81D4258
-sub_81D4258: @ 81D4258
- push {lr}
- sub sp, 0x4
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x1
- mov r3, sp
- bl TryGetEventObjectIdByLocalIdAndMap
- mov r0, sp
- ldrb r0, [r0]
- add sp, 0x4
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D4258
-
- thumb_func_start sub_81D427C
-sub_81D427C: @ 81D427C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- bl sub_81D4258
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r2, =gEventObjects
- adds r5, r1, r2
- ldr r4, =gUnknown_030012F8
- ldr r3, =gPlayerAvatar
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x14]
- ldrh r1, [r5, 0x10]
- subs r0, r1
- strh r0, [r4]
- ldr r4, =gUnknown_030012FA
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x16]
- ldrh r1, [r5, 0x12]
- subs r0, r1
- strh r0, [r4]
- movs r0, 0
- mov r8, r0
- ldr r2, =gUnknown_030012FC
- movs r1, 0
-_081D42CA:
- mov r3, r8
- adds r0, r3, r2
- strb r1, [r0]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x3
- bls _081D42CA
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- movs r4, 0x14
- ldrsh r1, [r2, r4]
- movs r6, 0x10
- ldrsh r0, [r2, r6]
- cmp r1, r0
- bne _081D4304
- movs r0, 0x16
- ldrsh r1, [r2, r0]
- movs r3, 0x12
- ldrsh r0, [r2, r3]
- cmp r1, r0
- beq _081D4356
-_081D4304:
- ldr r0, =0x0000403a
- bl VarGet
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- cmp r1, 0
- bne _081D4338
- ldrb r1, [r5, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- b _081D433E
- .pool
-_081D4338:
- ldrb r0, [r5, 0x1]
- movs r1, 0x20
- orrs r0, r1
-_081D433E:
- strb r0, [r5, 0x1]
- ldr r0, =0x0000403a
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x9
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _081D4360
-_081D4356:
- movs r0, 0
- b _081D4816
- .pool
-_081D4360:
- movs r4, 0
- mov r8, r4
- ldr r6, =gEventObjects
- mov r10, r6
-_081D4368:
- ldr r3, =gPlayerAvatar
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- mov r1, r10
- adds r4, r0, r1
- mov r2, r8
- lsls r1, r2, 2
- ldr r6, =gUnknown_0862608C
- adds r0, r1, r6
- movs r6, 0x14
- ldrsh r2, [r4, r6]
- movs r6, 0
- ldrsh r0, [r0, r6]
- ldr r6, =gEventObjects
- mov r9, r6
- mov r12, r3
- adds r7, r1, 0
- cmp r2, r0
- beq _081D4394
- b _081D449E
-_081D4394:
- movs r3, 0
- ldr r1, =gUnknown_0862608C + 2
- adds r0, r7, r1
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- movs r4, 0
- ldrsh r2, [r0, r4]
- cmp r1, r2
- bge _081D43C0
- movs r6, 0x12
- ldrsh r0, [r5, r6]
- cmp r0, r2
- bgt _081D43CA
- b _081D449E
- .pool
-_081D43C0:
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- cmp r0, r2
- blt _081D43CA
- movs r3, 0x1
-_081D43CA:
- cmp r3, 0
- bne _081D449E
- ldr r0, =gUnknown_030012F8
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- ble _081D4410
- movs r3, 0x10
- ldrsh r2, [r5, r3]
- adds r2, 0x1
- mov r4, r12
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r9
- movs r6, 0x14
- ldrsh r0, [r0, r6]
- cmp r2, r0
- bne _081D4446
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4446
-_081D4408:
- movs r0, 0x4
- b _081D4816
- .pool
-_081D4410:
- cmp r0, 0
- bge _081D4446
- movs r3, 0x10
- ldrsh r2, [r5, r3]
- subs r2, 0x1
- mov r4, r12
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r9
- movs r6, 0x14
- ldrsh r0, [r0, r6]
- cmp r2, r0
- bne _081D4446
- ldrh r0, [r5, 0x10]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4446
- b _081D45AA
-_081D4446:
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r10
- movs r3, 0x10
- ldrsh r1, [r5, r3]
- movs r4, 0x14
- ldrsh r0, [r0, r4]
- cmp r1, r0
- bne _081D449E
- ldr r0, =gUnknown_030012FA
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r0, 0
- ble _081D4488
- adds r0, r1, 0
- ldrh r1, [r5, 0x12]
- subs r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D449E
-_081D447C:
- movs r0, 0x2
- b _081D4816
- .pool
-_081D4488:
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- ldrh r1, [r5, 0x12]
- adds r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- bne _081D4538
-_081D449E:
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- mov r3, r10
- adds r4, r0, r3
- ldr r6, =gUnknown_0862608C
- ldr r1, =gUnknown_0862608C + 2
- adds r0, r7, r1
- movs r3, 0x16
- ldrsh r1, [r4, r3]
- movs r3, 0
- ldrsh r0, [r0, r3]
- ldr r3, =gEventObjects
- mov r9, r3
- mov r12, r2
- cmp r1, r0
- beq _081D44C6
- b _081D45D0
-_081D44C6:
- movs r3, 0
- adds r0, r7, r6
- movs r6, 0x14
- ldrsh r1, [r4, r6]
- movs r4, 0
- ldrsh r2, [r0, r4]
- cmp r1, r2
- bge _081D44F0
- movs r6, 0x10
- ldrsh r0, [r5, r6]
- cmp r0, r2
- bgt _081D44FA
- b _081D45D0
- .pool
-_081D44F0:
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, r2
- blt _081D44FA
- movs r3, 0x1
-_081D44FA:
- cmp r3, 0
- bne _081D45D0
- ldr r0, =gUnknown_030012FA
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- ble _081D4540
- movs r3, 0x12
- ldrsh r2, [r5, r3]
- adds r2, 0x1
- mov r4, r12
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r9
- movs r6, 0x16
- ldrsh r0, [r0, r6]
- cmp r2, r0
- bne _081D4576
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- ldrh r1, [r5, 0x12]
- adds r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4576
-_081D4538:
- movs r0, 0x1
- b _081D4816
- .pool
-_081D4540:
- cmp r0, 0
- bge _081D4576
- movs r3, 0x12
- ldrsh r2, [r5, r3]
- subs r2, 0x1
- mov r4, r12
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r9
- movs r6, 0x16
- ldrsh r0, [r0, r6]
- cmp r2, r0
- bne _081D4576
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- ldrh r1, [r5, 0x12]
- subs r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4576
- b _081D447C
-_081D4576:
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r10
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- movs r3, 0x16
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bne _081D45D0
- ldr r0, =gUnknown_030012F8
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r0, 0
- ble _081D45B8
- ldrh r0, [r5, 0x10]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D45D0
-_081D45AA:
- movs r0, 0x3
- b _081D4816
- .pool
-_081D45B8:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D45D0
- b _081D4408
-_081D45D0:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x3
- bhi _081D45E0
- b _081D4368
-_081D45E0:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81D4C14
- lsls r0, 24
- cmp r0, 0
- beq _081D461C
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4C58
- lsls r0, 24
- cmp r0, 0
- beq _081D4604
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D4604:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4CE0
- lsls r0, 24
- cmp r0, 0
- bne _081D4614
- b _081D447C
-_081D4614:
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D461C:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81D4C9C
- lsls r0, 24
- cmp r0, 0
- beq _081D4658
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4C58
- lsls r0, 24
- cmp r0, 0
- beq _081D4640
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D4640:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4CE0
- lsls r0, 24
- cmp r0, 0
- bne _081D4650
- b _081D4538
-_081D4650:
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D4658:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81D4C58
- lsls r0, 24
- cmp r0, 0
- beq _081D4694
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4C14
- lsls r0, 24
- cmp r0, 0
- beq _081D467C
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D467C:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4C9C
- lsls r0, 24
- cmp r0, 0
- bne _081D468C
- b _081D4408
-_081D468C:
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D4694:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81D4CE0
- lsls r0, 24
- cmp r0, 0
- beq _081D46D0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4C14
- lsls r0, 24
- cmp r0, 0
- beq _081D46B8
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D46B8:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4C9C
- lsls r0, 24
- cmp r0, 0
- bne _081D46C8
- b _081D45AA
-_081D46C8:
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D46D0:
- ldr r0, =gUnknown_030012FA
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bne _081D476E
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r4, 0x12
- ldrsh r1, [r0, r4]
- ldrh r2, [r5, 0x12]
- movs r6, 0x12
- ldrsh r0, [r5, r6]
- cmp r1, r0
- ble _081D470C
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- subs r1, r2, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D470C
- b _081D447C
-_081D470C:
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- ldrh r2, [r5, 0x12]
- movs r3, 0x12
- ldrsh r0, [r5, r3]
- cmp r1, r0
- bge _081D473E
- movs r4, 0x10
- ldrsh r0, [r5, r4]
- adds r1, r2, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D473E
- b _081D4538
-_081D473E:
- movs r6, 0x10
- ldrsh r0, [r5, r6]
- ldrh r1, [r5, 0x12]
- subs r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4756
- b _081D447C
-_081D4756:
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- ldrh r1, [r5, 0x12]
- adds r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D476E
- b _081D4538
-_081D476E:
- ldr r0, =gUnknown_030012F8
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _081D480C
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r3, 0x10
- ldrsh r1, [r0, r3]
- ldrh r2, [r5, 0x10]
- movs r4, 0x10
- ldrsh r0, [r5, r4]
- cmp r1, r0
- ble _081D47AA
- subs r0, r2, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r6, 0x12
- ldrsh r1, [r5, r6]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D47AA
- b _081D45AA
-_081D47AA:
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- ldrh r2, [r5, 0x10]
- movs r3, 0x10
- ldrsh r0, [r5, r3]
- cmp r1, r0
- bge _081D47DC
- adds r0, r2, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r4, 0x12
- ldrsh r1, [r5, r4]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D47DC
- b _081D4408
-_081D47DC:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r6, 0x12
- ldrsh r1, [r5, r6]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D47F4
- b _081D4408
-_081D47F4:
- ldrh r0, [r5, 0x10]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D480C
- b _081D45AA
-_081D480C:
- movs r0, 0
- bl sub_81D4890
-_081D4812:
- lsls r0, 24
- lsrs r0, 24
-_081D4816:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D427C
-
- thumb_func_start sub_81D4834
-sub_81D4834: @ 81D4834
- push {r4,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r3, =gEventObjects
- ldr r1, =gPlayerAvatar
- ldrb r2, [r1, 0x5]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r2, r1, r3
- movs r3, 0x10
- ldrsh r1, [r2, r3]
- lsrs r3, r0, 16
- asrs r0, 16
- cmp r1, r0
- bne _081D4870
- movs r0, 0x12
- ldrsh r1, [r2, r0]
- lsls r0, r4, 16
- asrs r0, 16
- cmp r1, r0
- bne _081D4870
- movs r0, 0
- b _081D4888
- .pool
-_081D4870:
- lsls r0, r3, 16
- asrs r0, 16
- lsls r1, r4, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsPokeGrass
- lsls r0, 24
- lsrs r0, 24
-_081D4888:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4834
-
- thumb_func_start sub_81D4890
-sub_81D4890: @ 81D4890
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- bl sub_81D4258
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gEventObjects
- adds r4, r1, r0
- movs r1, 0
- ldr r3, =gUnknown_030012FC
- movs r2, 0
-_081D48B0:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _081D48B0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x12]
- subs r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081D48E8
- cmp r6, 0x2
- beq _081D48E8
- ldr r0, =gUnknown_030012FC
- adds r0, r5, r0
- movs r1, 0x2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_081D48E8:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl sub_81D4834
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081D4912
- cmp r6, 0x4
- beq _081D4912
- ldr r0, =gUnknown_030012FC
- adds r0, r5, r0
- movs r1, 0x4
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_081D4912:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x12]
- adds r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _081D493A
- cmp r6, 0x1
- beq _081D493A
- ldr r0, =gUnknown_030012FC
- adds r0, r5, r0
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_081D493A:
- ldrh r0, [r4, 0x10]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl sub_81D4834
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081D4964
- cmp r6, 0x3
- beq _081D4964
- ldr r0, =gUnknown_030012FC
- adds r0, r5, r0
- movs r1, 0x3
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_081D4964:
- cmp r5, 0x1
- bhi _081D4974
- ldr r0, =gUnknown_030012FC
- b _081D4988
- .pool
-_081D4974:
- ldr r4, =gUnknown_030012FC
- ldr r0, =0x0000403a
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __modsi3
- adds r0, r4
-_081D4988:
- ldrb r0, [r0]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D4890
-
- thumb_func_start sub_81D4998
-sub_81D4998: @ 81D4998
- push {r4,lr}
- ldr r4, =0x0000403a
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x0000391a
- cmp r1, r0
- bne _081D49E0
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =0x0000270e
- cmp r2, r0
- bls _081D49D8
- adds r0, r4, 0
- movs r1, 0
- bl VarSet
- b _081D49E0
- .pool
-_081D49D8:
- adds r0, r4, 0
- adds r1, r2, 0
- bl VarSet
-_081D49E0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81D4998
-
- thumb_func_start EventObjectIsFarawayIslandMew
-@ bool8 EventObjectIsFarawayIslandMew(struct npc_state *eventObject)
-EventObjectIsFarawayIslandMew: @ 81D49E8
- push {lr}
- adds r2, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x0000391a
- cmp r1, r0
- bne _081D4A0C
- ldrb r0, [r2, 0x5]
- cmp r0, 0xE5
- bne _081D4A0C
- movs r0, 0x1
- b _081D4A0E
- .pool
-_081D4A0C:
- movs r0, 0
-_081D4A0E:
- pop {r1}
- bx r1
- thumb_func_end EventObjectIsFarawayIslandMew
-
- thumb_func_start IsMewPlayingHideAndSeek
-IsMewPlayingHideAndSeek: @ 81D4A14
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x0000391a
- cmp r1, r0
- bne _081D4A50
- movs r0, 0xE5
- lsls r0, 1
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081D4A50
- ldr r0, =0x000002ce
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081D4A50
- movs r0, 0x1
- b _081D4A52
- .pool
-_081D4A50:
- movs r0, 0
-_081D4A52:
- pop {r1}
- bx r1
- thumb_func_end IsMewPlayingHideAndSeek
-
- thumb_func_start sub_81D4A58
-sub_81D4A58: @ 81D4A58
- push {r4,lr}
- ldr r4, =0x0000403a
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- beq _081D4A88
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- cmp r1, 0
- bne _081D4A88
- movs r0, 0x1
- b _081D4A8A
- .pool
-_081D4A88:
- movs r0, 0
-_081D4A8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4A58
-
- thumb_func_start sub_81D4A90
-sub_81D4A90: @ 81D4A90
- push {r4-r6,lr}
- sub sp, 0x4
- bl sub_81D4258
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gEventObjects
- adds r5, r1, r0
- ldrb r1, [r5, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x1]
- ldr r0, =gSpecialVar_0x8004
- ldrh r4, [r0]
- cmp r4, 0x1
- bne _081D4AF8
- ldrb r0, [r5, 0x3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x3]
- ldr r3, =gSprites
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x42
- ldrb r2, [r0]
- movs r1, 0x3F
- ands r1, r2
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x43
- strb r4, [r0]
- b _081D4BC4
- .pool
-_081D4AF8:
- ldr r0, =0x0000403a
- ldr r1, =0x0000ffff
- bl VarSet
- ldrb r0, [r5, 0x3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x3]
- ldr r6, =gSprites
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x42
- ldrb r2, [r0]
- movs r1, 0x3F
- ands r1, r2
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- ldr r0, =gSpecialVar_Facing
- ldrh r0, [r0]
- cmp r0, 0x2
- beq _081D4B3A
- ldrb r0, [r5, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x43
- movs r0, 0x1
- strb r0, [r1]
-_081D4B3A:
- ldr r4, =gFieldEffectObjectPaletteInfo1
- adds r0, r4, 0
- bl LoadSpritePalette
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- bl UpdateSpritePaletteWithWeather
- ldrh r1, [r5, 0x10]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r5, 0x12]
- mov r4, sp
- adds r4, 0x2
- strh r0, [r4]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_80930E0
- ldr r0, =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x3C]
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r4, r3]
- ldrb r4, [r5, 0x4]
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- adds r3, r6
- adds r3, 0x43
- ldrb r3, [r3]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- bl CreateSpriteAtEnd
- ldr r1, =gUnknown_0203CF50
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _081D4BC4
- ldrb r0, [r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r3]
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r0, =SpriteCallbackDummy
- str r0, [r1, 0x1C]
-_081D4BC4:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4A90
-
- thumb_func_start sub_81D4BEC
-sub_81D4BEC: @ 81D4BEC
- push {lr}
- ldr r1, =gUnknown_0203CF50
- ldrb r0, [r1]
- cmp r0, 0x40
- beq _081D4C06
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
-_081D4C06:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4BEC
-
- thumb_func_start sub_81D4C14
-sub_81D4C14: @ 81D4C14
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =gUnknown_030012FA
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- ble _081D4C50
- movs r1, 0x10
- ldrsh r0, [r2, r1]
- ldrh r1, [r2, 0x12]
- subs r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4C50
- ldr r0, =gUnknown_030012FC
- adds r0, r4, r0
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0x1
- b _081D4C52
- .pool
-_081D4C50:
- movs r0, 0
-_081D4C52:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4C14
-
- thumb_func_start sub_81D4C58
-sub_81D4C58: @ 81D4C58
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =gUnknown_030012F8
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _081D4C94
- ldrh r0, [r2, 0x10]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x12
- ldrsh r1, [r2, r3]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4C94
- ldr r0, =gUnknown_030012FC
- adds r0, r4, r0
- movs r1, 0x4
- strb r1, [r0]
- movs r0, 0x1
- b _081D4C96
- .pool
-_081D4C94:
- movs r0, 0
-_081D4C96:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4C58
-
- thumb_func_start sub_81D4C9C
-sub_81D4C9C: @ 81D4C9C
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =gUnknown_030012FA
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _081D4CD8
- movs r1, 0x10
- ldrsh r0, [r2, r1]
- ldrh r1, [r2, 0x12]
- adds r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4CD8
- ldr r0, =gUnknown_030012FC
- adds r0, r4, r0
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x1
- b _081D4CDA
- .pool
-_081D4CD8:
- movs r0, 0
-_081D4CDA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4C9C
-
- thumb_func_start sub_81D4CE0
-sub_81D4CE0: @ 81D4CE0
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =gUnknown_030012F8
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- ble _081D4D1C
- ldrh r0, [r2, 0x10]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x12
- ldrsh r1, [r2, r3]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4D1C
- ldr r0, =gUnknown_030012FC
- adds r0, r4, r0
- movs r1, 0x3
- strb r1, [r0]
- movs r0, 0x1
- b _081D4D1E
- .pool
-_081D4D1C:
- movs r0, 0
-_081D4D1E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4CE0
-
- thumb_func_start sub_81D4D24
-sub_81D4D24: @ 81D4D24
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gUnknown_030012FC
- ldr r0, =0x0000403a
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __modsi3
- adds r0, r5
- ldrb r0, [r0]
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D4D24
-
- thumb_func_start sub_81D4D50
-sub_81D4D50: @ 81D4D50
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- mov r1, sp
- ldr r4, =0x04000208
- ldrh r0, [r4]
- strh r0, [r1]
- movs r0, 0
- strh r0, [r4]
- ldr r1, =gIntrTable
- ldr r0, =sub_81D3FAC
- str r0, [r1, 0x4]
- ldr r0, =sub_81D3F9C
- str r0, [r1, 0x8]
- bl sub_81D41A0
- bl sub_81D4238
- ldr r2, =0x04000200
- ldrh r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strh r0, [r2]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4]
- movs r0, 0
- strh r0, [r5]
- str r6, [r5, 0x4]
- mov r0, r8
- str r0, [r5, 0x8]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4D50
-
- thumb_func_start sub_81D4DB8
-sub_81D4DB8: @ 81D4DB8
- push {r4,lr}
- sub sp, 0x4
- mov r1, sp
- ldr r4, =0x04000208
- ldrh r0, [r4]
- strh r0, [r1]
- movs r0, 0
- strh r0, [r4]
- bl sub_81D4238
- bl sub_81D41F4
- bl RestoreSerialTimer3IntrHandlers
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4DB8
-
- thumb_func_start sub_81D4DE8
-sub_81D4DE8: @ 81D4DE8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0
- ldr r1, [r4, 0x4]
- ldr r2, [r4, 0x8]
- movs r0, 0x1
- movs r3, 0
- bl sub_81D3D70
- adds r1, r0, 0
- strh r1, [r4]
- movs r0, 0x13
- ands r0, r1
- cmp r0, 0x10
- bne _081D4E08
- movs r5, 0x1
-_081D4E08:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _081D4E12
- movs r5, 0x2
-_081D4E12:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081D4E1C
- movs r5, 0x3
-_081D4E1C:
- ldr r1, =gShouldAdvanceLinkState
- movs r0, 0
- strb r0, [r1]
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D4DE8
-
- thumb_func_start sub_81D4E30
-sub_81D4E30: @ 81D4E30
- push {lr}
- ldr r0, =gDecompressionBuffer
- movs r2, 0x80
- lsls r2, 6
- movs r1, 0
- bl memset
- ldr r1, =gLinkType
- ldr r2, =0x00005503
- adds r0, r2, 0
- strh r0, [r1]
- bl OpenLink
- movs r0, 0x1
- bl SetSuppressLinkErrorMessage
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4E30
-
- thumb_func_start sub_81D4E60
-sub_81D4E60: @ 81D4E60
- push {lr}
- sub sp, 0xC
- mov r1, sp
- ldr r2, =0x04000208
- ldrh r0, [r2]
- strh r0, [r1]
- movs r0, 0
- strh r0, [r2]
- ldr r0, =gLink+0x4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r2]
- add r2, sp, 0x4
- ldrh r1, [r2]
- ldr r0, =0x0000b9a0
- cmp r1, r0
- bne _081D4EB8
- ldrh r1, [r2, 0x2]
- ldr r0, =0x0000ccd0
- cmp r1, r0
- bne _081D4EB8
- ldrh r1, [r2, 0x4]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _081D4EB8
- ldrh r0, [r2, 0x6]
- cmp r0, r1
- bne _081D4EB8
- movs r0, 0x1
- b _081D4EBA
- .pool
-_081D4EB8:
- movs r0, 0
-_081D4EBA:
- add sp, 0xC
- pop {r1}
- bx r1
- thumb_func_end sub_81D4E60
-
- thumb_func_start sub_81D4EC0
-sub_81D4EC0: @ 81D4EC0
- push {lr}
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- beq _081D4EDC
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _081D4EDC
- movs r0, 0x1
- b _081D4EDE
-_081D4EDC:
- movs r0, 0
-_081D4EDE:
- pop {r1}
- bx r1
- thumb_func_end sub_81D4EC0
-
- thumb_func_start sub_81D4EE4
-sub_81D4EE4: @ 81D4EE4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _081D4F08
- bl HasLinkErrorOccurred
- lsls r0, 24
- cmp r0, 0
- beq _081D4F08
- movs r0, 0
- strb r0, [r4]
- movs r0, 0x3
- b _081D500E
-_081D4F08:
- ldrb r0, [r4]
- cmp r0, 0x5
- bls _081D4F10
- b _081D500C
-_081D4F10:
- lsls r0, 2
- ldr r1, =_081D4F20
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081D4F20:
- .4byte _081D4F38
- .4byte _081D4F54
- .4byte _081D4F6C
- .4byte _081D4FA0
- .4byte _081D4FEC
- .4byte _081D4FF8
-_081D4F38:
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- beq _081D4F88
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _081D4F88
- movs r0, 0x1
- strb r0, [r4]
- b _081D500C
-_081D4F54:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bls _081D500C
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x2
- strb r0, [r4]
- b _081D500C
-_081D4F6C:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _081D4F88
- movs r0, 0x49
- bl PlaySE
- bl CheckShouldAdvanceLinkState
- movs r0, 0
- strh r0, [r5]
- b _081D4FE6
-_081D4F88:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081D500C
- movs r0, 0
- strb r0, [r4]
- movs r0, 0x1
- b _081D500E
- .pool
-_081D4FA0:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bls _081D4FB6
- movs r0, 0
- strb r0, [r4]
- movs r0, 0x5
- b _081D500E
-_081D4FB6:
- bl IsLinkConnectionEstablished
- lsls r0, 24
- cmp r0, 0
- beq _081D500C
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _081D4FE6
- bl IsLinkPlayerDataExchangeComplete
- lsls r0, 24
- cmp r0, 0
- beq _081D4FE0
- movs r0, 0
- strb r0, [r4]
- movs r0, 0x2
- b _081D500E
- .pool
-_081D4FE0:
- movs r0, 0x4
- strb r0, [r4]
- b _081D500C
-_081D4FE6:
- movs r0, 0x3
- strb r0, [r4]
- b _081D500C
-_081D4FEC:
- movs r0, 0
- bl sub_800ABF4
- movs r0, 0x5
- strb r0, [r4]
- b _081D500C
-_081D4FF8:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _081D500C
- strb r0, [r4]
- movs r0, 0x4
- b _081D500E
- .pool
-_081D500C:
- movs r0, 0
-_081D500E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4EE4
-
- thumb_func_start sub_81D5014
-sub_81D5014: @ 81D5014
- push {r4,lr}
- ldr r0, =sub_81D5084
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- movs r0, 0
- strb r0, [r4, 0x8]
- strb r0, [r4, 0x9]
- strb r0, [r4, 0xA]
- strb r0, [r4, 0xB]
- strb r0, [r4, 0xC]
- strb r0, [r4, 0xD]
- movs r1, 0
- strh r0, [r4]
- strh r0, [r4, 0x2]
- strh r0, [r4, 0x4]
- strh r0, [r4, 0x6]
- strb r1, [r4, 0xE]
- movs r0, 0x40
- bl AllocZeroed
- str r0, [r4, 0x10]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D5014
-
- thumb_func_start sub_81D505C
-sub_81D505C: @ 81D505C
- movs r1, 0
- strh r1, [r0]
- bx lr
- thumb_func_end sub_81D505C
-
- thumb_func_start sub_81D5064
-sub_81D5064: @ 81D5064
- push {lr}
- adds r2, r0, 0
- lsls r1, 16
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- cmp r0, r1
- bhi _081D507A
- movs r0, 0
- b _081D5080
-_081D507A:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x1
-_081D5080:
- pop {r1}
- bx r1
- thumb_func_end sub_81D5064
-
- thumb_func_start sub_81D5084
-sub_81D5084: @ 81D5084
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrb r0, [r4, 0x8]
- cmp r0, 0x1A
- bls _081D509C
- b _081D548A
-_081D509C:
- lsls r0, 2
- ldr r1, =_081D50B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081D50B0:
- .4byte _081D511C
- .4byte _081D5138
- .4byte _081D5148
- .4byte _081D515C
- .4byte _081D516C
- .4byte _081D5198
- .4byte _081D51D0
- .4byte _081D524C
- .4byte _081D5268
- .4byte _081D5290
- .4byte _081D52AC
- .4byte _081D52DC
- .4byte _081D52F2
- .4byte _081D5308
- .4byte _081D536A
- .4byte _081D5390
- .4byte _081D53A8
- .4byte _081D53C6
- .4byte _081D53F2
- .4byte _081D5418
- .4byte _081D5448
- .4byte _081D5454
- .4byte _081D5460
- .4byte _081D5430
- .4byte _081D548A
- .4byte _081D548A
- .4byte _081D5478
-_081D511C:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EDFD6
- bl mevent_0814257C
- cmp r0, 0
- bne _081D512C
- b _081D548A
-_081D512C:
- movs r0, 0x1
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5138:
- bl sub_81D4E30
- adds r0, r4, 0
- bl sub_81D505C
- movs r0, 0x2
- strb r0, [r4, 0x8]
- b _081D548A
-_081D5148:
- adds r0, r4, 0
- movs r1, 0xA
- bl sub_81D5064
- cmp r0, 0
- bne _081D5156
- b _081D548A
-_081D5156:
- movs r0, 0x3
- strb r0, [r4, 0x8]
- b _081D548A
-_081D515C:
- bl sub_81D4EC0
- cmp r0, 0
- beq _081D5166
- b _081D52FC
-_081D5166:
- bl CloseLink
- b _081D525C
-_081D516C:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EDFF5
- bl mevent_0814257C
- cmp r0, 0
- bne _081D517C
- b _081D548A
-_081D517C:
- ldr r0, =gUnknown_085EE014
- bl sub_8018884
- adds r0, r4, 0
- bl sub_81D505C
- movs r0, 0x5
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5198:
- adds r0, r4, 0
- movs r1, 0x5A
- bl sub_81D5064
- cmp r0, 0
- beq _081D51AE
- bl sub_81D4E30
- movs r0, 0x6
- strb r0, [r4, 0x8]
- b _081D548A
-_081D51AE:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _081D51BC
- b _081D548A
-_081D51BC:
- adds r0, r4, 0
- bl sub_81D505C
- movs r0, 0x5
- bl PlaySE
- b _081D535A
- .pool
-_081D51D0:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081D51F4
- movs r0, 0x5
- bl PlaySE
- bl CloseLink
- adds r0, r4, 0
- bl sub_81D505C
- b _081D535A
- .pool
-_081D51F4:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _081D5210
- adds r0, r4, 0
- bl sub_81D505C
- bl CloseLink
- movs r0, 0x7
- strb r0, [r4, 0x8]
- b _081D548A
-_081D5210:
- bl sub_81D4E60
- cmp r0, 0
- beq _081D522E
- movs r0, 0x5
- bl PlaySE
- bl CloseLink
- adds r0, r4, 0
- bl sub_81D505C
- movs r0, 0x8
- strb r0, [r4, 0x8]
- b _081D548A
-_081D522E:
- adds r0, r4, 0
- movs r1, 0xA
- bl sub_81D5064
- cmp r0, 0
- bne _081D523C
- b _081D548A
-_081D523C:
- bl CloseLink
- bl sub_81D4E30
- adds r0, r4, 0
- bl sub_81D505C
- b _081D548A
-_081D524C:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EE05C
- bl mevent_0814257C
- cmp r0, 0
- bne _081D525C
- b _081D548A
-_081D525C:
- movs r0, 0x4
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5268:
- ldr r0, =gUnknown_085EE097
- bl sub_8018884
- ldr r0, =gUnknown_03006370
- ldr r1, =gMultiBootProgram_BerryGlitchFix_Start
- ldr r2, =gUnknown_089A3470
- subs r1, r2
- bl sub_81D4D50
- movs r0, 0x9
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5290:
- ldr r0, =gUnknown_03006370
- bl sub_81D4DE8
- strb r0, [r4, 0xE]
- lsls r0, 24
- cmp r0, 0
- bne _081D52A0
- b _081D548A
-_081D52A0:
- movs r0, 0xA
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D52AC:
- ldr r0, =gUnknown_03006370
- bl sub_81D4DB8
- ldrb r0, [r4, 0xE]
- cmp r0, 0x3
- bne _081D52BA
- b _081D53C0
-_081D52BA:
- cmp r0, 0x1
- beq _081D52C0
- b _081D546E
-_081D52C0:
- adds r0, r4, 0
- bl sub_81D505C
- ldr r0, =gUnknown_085EE120
- bl sub_8018884
- movs r0, 0xB
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D52DC:
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r4, 0
- bl sub_81D5064
- cmp r0, 0
- bne _081D52EC
- b _081D548A
-_081D52EC:
- movs r0, 0xC
- strb r0, [r4, 0x8]
- b _081D548A
-_081D52F2:
- bl sub_81D4E30
- ldr r0, =gUnknown_085EE0DC
- bl sub_8018884
-_081D52FC:
- movs r0, 0xD
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5308:
- adds r0, r4, 0
- adds r0, 0x9
- adds r1, r4, 0
- bl sub_81D4EE4
- cmp r0, 0x5
- bls _081D5318
- b _081D548A
-_081D5318:
- lsls r0, 2
- ldr r1, =_081D5328
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081D5328:
- .4byte _081D548A
- .4byte _081D5350
- .4byte _081D5340
- .4byte _081D5374
- .4byte _081D5374
- .4byte _081D5360
-_081D5340:
- ldr r0, =gUnknown_085EE097
- bl sub_8018884
- movs r0, 0xE
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5350:
- movs r0, 0x5
- bl PlaySE
- bl CloseLink
-_081D535A:
- movs r0, 0x17
- strb r0, [r4, 0x8]
- b _081D548A
-_081D5360:
- bl CloseLink
- movs r0, 0x15
- strb r0, [r4, 0x8]
- b _081D548A
-_081D536A:
- bl HasLinkErrorOccurred
- lsls r0, 24
- cmp r0, 0
- beq _081D537A
-_081D5374:
- bl CloseLink
- b _081D53C0
-_081D537A:
- bl GetBlockReceivedStatus
- lsls r0, 24
- cmp r0, 0
- bne _081D5386
- b _081D548A
-_081D5386:
- bl ResetBlockReceivedFlags
- movs r0, 0xF
- strb r0, [r4, 0x8]
- b _081D548A
-_081D5390:
- ldr r0, =gDecompressionBuffer
- bl sub_81D3920
- strb r0, [r4, 0xE]
- ldrb r0, [r4, 0xE]
- bl sub_800ABF4
- movs r0, 0x10
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D53A8:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _081D548A
- ldrb r0, [r4, 0xE]
- cmp r0, 0x1
- bne _081D53C0
- movs r0, 0x11
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D53C0:
- movs r0, 0x14
- strb r0, [r4, 0x8]
- b _081D548A
-_081D53C6:
- ldr r0, =gDecompressionBuffer
- bl sub_81D3AB0
- cmp r0, 0
- beq _081D53EC
- ldr r0, =gUnknown_085EE0FA
- bl sub_8018884
- adds r0, r4, 0
- bl sub_81D505C
- movs r0, 0x12
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D53EC:
- movs r0, 0x16
- strb r0, [r4, 0x8]
- b _081D548A
-_081D53F2:
- adds r0, r4, 0
- movs r1, 0x78
- bl sub_81D5064
- cmp r0, 0
- beq _081D548A
- ldr r0, =gUnknown_085EE107
- bl sub_8018884
- movs r0, 0xB9
- lsls r0, 1
- bl PlayFanfare
- movs r0, 0x13
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5418:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _081D548A
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- b _081D543A
- .pool
-_081D5430:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EE06B
- bl mevent_0814257C
-_081D543A:
- cmp r0, 0
- beq _081D548A
- movs r0, 0x1A
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5448:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EE0A3
- b _081D5466
- .pool
-_081D5454:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EE0BF
- b _081D5466
- .pool
-_081D5460:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EE12D
-_081D5466:
- bl mevent_0814257C
- cmp r0, 0
- beq _081D548A
-_081D546E:
- movs r0, 0
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5478:
- ldr r0, [r4, 0x10]
- bl Free
- adds r0, r5, 0
- bl DestroyTask
- ldr r0, =sub_80186A4
- bl SetMainCallback2
-_081D548A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D5084
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s
deleted file mode 100644
index d2d4913b1..000000000
--- a/asm/use_pokeblock.s
+++ /dev/null
@@ -1,3431 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
- thumb_func_start sub_8166564
-sub_8166564: @ 8166564
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_0203BC90
- ldr r0, [r4]
- adds r0, 0x50
- ldrb r1, [r0]
- cmp r1, 0
- beq _08166580
- cmp r1, 0x1
- beq _081665C0
- b _08166610
- .pool
-_08166580:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_8166340
- bl SetVBlankCallback
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- ldr r1, [r4]
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08166610
- .pool
-_081665C0:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08166610
- ldr r4, =gUnknown_0203BCAC
- ldr r0, [r4]
- ldr r1, =0x00007b1c
- adds r0, r1
- bl sub_81D3464
- ldr r4, [r4]
- ldr r2, =0x00008041
- adds r0, r4, r2
- ldrb r1, [r0]
- ldr r3, =0x00008040
- adds r0, r4, r3
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _0816660A
- ldr r1, =0x00007fb3
- adds r0, r4, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- subs r2, 0x91
- adds r0, r4, r2
- adds r0, r1
- ldrb r2, [r0]
- ldr r3, =0x00007b1c
- adds r0, r4, r3
- subs r3, 0xC
- adds r1, r4, r3
- ldrb r1, [r1]
- bl sub_81D3480
-_0816660A:
- ldr r0, =sub_8166634
- bl sub_816636C
-_08166610:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166564
-
- thumb_func_start sub_8166634
-sub_8166634: @ 8166634
- push {lr}
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- ldrb r0, [r0]
- cmp r0, 0x7
- bls _08166644
- b _0816680E
-_08166644:
- lsls r0, 2
- ldr r1, =_08166658
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08166658:
- .4byte _08166678
- .4byte _0816675C
- .4byte _0816680E
- .4byte _08166788
- .4byte _0816680E
- .4byte _08166794
- .4byte _081667AC
- .4byte _081667F4
-_08166678:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081666B8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_8167CA0
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007b1c
- adds r0, r1
- bl sub_81D3520
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0x1
- b _0816680C
- .pool
-_081666B8:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081666F0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_8167CA0
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00007b1c
- adds r0, r2
- bl sub_81D3520
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0x1
- b _0816680C
- .pool
-_081666F0:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08166710
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0x3
- b _0816680C
- .pool
-_08166710:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0816671A
- b _0816680E
-_0816671A:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00008041
- adds r1, r0, r2
- ldrb r1, [r1]
- subs r2, 0x1
- adds r0, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _0816674C
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0x3
- b _0816680C
- .pool
-_0816674C:
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0x5
- b _0816680C
- .pool
-_0816675C:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00008044
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0816680E
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- b _0816680C
- .pool
-_08166788:
- ldr r0, =sub_8166BEC
- bl sub_816636C
- b _0816680E
- .pool
-_08166794:
- bl sub_8166D44
- ldr r0, =gUnknown_0203BC90
- ldr r1, [r0]
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0816680E
- .pool
-_081667AC:
- bl sub_8166DE4
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081667CC
- cmp r1, 0
- bgt _081667C6
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08166804
- b _0816680E
-_081667C6:
- cmp r1, 0x1
- bne _0816680E
- b _08166804
-_081667CC:
- bl sub_8167268
- lsls r0, 24
- cmp r0, 0
- beq _081667E8
- bl sub_8166F50
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0x7
- b _0816680C
- .pool
-_081667E8:
- ldr r0, =sub_816681C
- bl sub_816636C
- b _0816680E
- .pool
-_081667F4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0816680E
- bl sub_8166F94
-_08166804:
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0
-_0816680C:
- strb r1, [r0]
-_0816680E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166634
-
- thumb_func_start sub_816681C
-sub_816681C: @ 816681C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, =gUnknown_0203BC90
- ldr r0, [r5]
- adds r0, 0x50
- ldrb r4, [r0]
- cmp r4, 0
- beq _08166838
- cmp r4, 0x1
- beq _08166888
- b _081668D4
- .pool
-_08166838:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00008041
- adds r0, r1
- ldrb r0, [r0]
- bl sub_81672A4
- ldr r1, =gPokeblockMonId
- strb r0, [r1]
- ldr r1, =gUnknown_0203BC94
- ldr r2, [r5]
- ldr r0, [r2, 0x4]
- str r0, [r1]
- ldr r1, =gUnknown_0203BC98
- ldr r0, [r2, 0x8]
- str r0, [r1]
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _081668D4
- .pool
-_08166888:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _081668D4
- movs r0, 0
- bl SetVBlankCallback
- ldr r4, =gUnknown_0203BCA0
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203BCA4
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203BCA8
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203BCAC
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- bl FreeAllWindowBuffers
- ldr r1, =gMain
- ldr r0, =CB2_ReturnAndChooseMonToGivePokeblock
- str r0, [r1, 0x8]
- bl CB2_PreparePokeblockFeedScene
-_081668D4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816681C
-
- thumb_func_start sub_81668F8
-sub_81668F8: @ 81668F8
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_0203BC90
- ldr r0, [r1]
- adds r0, 0x50
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _0816690C
- b _08166A18
-_0816690C:
- lsls r0, 2
- ldr r1, =_08166920
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08166920:
- .4byte _0816693C
- .4byte _08166972
- .4byte _08166A18
- .4byte _081669A0
- .4byte _081669AE
- .4byte _081669C8
- .4byte _081669F4
-_0816693C:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00008041
- adds r0, r1
- ldr r1, =gPokeblockMonId
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _08166968
- ldr r0, [r4]
- adds r0, 0x56
- ldrb r0, [r0]
- bl sub_8167CA0
- ldr r1, [r4]
- b _081669E2
- .pool
-_08166968:
- ldr r0, [r4]
- adds r0, 0x50
- movs r1, 0x3
- strb r1, [r0]
- b _08166A18
-_08166972:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00008044
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08166A18
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- strb r1, [r0]
- b _08166A18
- .pool
-_081669A0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- b _081669DE
-_081669AE:
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- b _081669DE
-_081669C8:
- ldr r0, =sub_8166340
- bl SetVBlankCallback
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_081669DE:
- ldr r0, =gUnknown_0203BC90
- ldr r1, [r0]
-_081669E2:
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08166A18
- .pool
-_081669F4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08166A18
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007b1c
- adds r0, r1
- bl sub_81D3464
- ldr r0, =sub_8166A34
- bl sub_816636C
- ldr r0, =sub_816631C
- bl SetMainCallback2
-_08166A18:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81668F8
-
- thumb_func_start sub_8166A34
-sub_8166A34: @ 8166A34
- push {r4-r6,lr}
- ldr r1, =gUnknown_0203BC90
- ldr r0, [r1]
- adds r0, 0x50
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x5
- bls _08166A46
- b _08166BDA
-_08166A46:
- lsls r0, 2
- ldr r1, =_08166A58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08166A58:
- .4byte _08166A70
- .4byte _08166AAC
- .4byte _08166AC0
- .4byte _08166B14
- .4byte _08166B94
- .4byte _08166BB6
-_08166A70:
- ldr r4, [r5]
- ldr r3, =gPlayerParty
- str r3, [r4, 0xC]
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00008041
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0, r1
- subs r2, 0x88
- adds r1, r2
- ldrb r2, [r1]
- movs r1, 0x64
- muls r1, r2
- adds r1, r3
- str r1, [r4, 0xC]
- ldr r3, =0x00007b1c
- adds r0, r3
- bl sub_81D3520
- b _08166BAA
- .pool
-_08166AAC:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08166ABA
- b _08166BDA
-_08166ABA:
- b _08166BAA
- .pool
-_08166AC0:
- bl sub_8167104
- ldr r6, =gUnknown_0203BC90
- ldr r0, [r6]
- adds r0, 0x5C
- ldr r4, =gUnknown_0203BCAC
- ldr r1, [r4]
- ldr r5, =0x00007ca8
- adds r1, r5
- bl sub_81D2754
- ldr r2, [r4]
- ldr r4, =0x00007c58
- adds r0, r2, r4
- ldr r3, =0x00007fb3
- adds r1, r2, r3
- movs r3, 0
- ldrsb r3, [r1, r3]
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 2
- adds r4, 0x14
- adds r1, r4
- adds r1, r2, r1
- adds r2, r5
- bl sub_81D1F84
- bl sub_8167338
- ldr r1, [r6]
- b _08166BAC
- .pool
-_08166B14:
- ldr r5, =gUnknown_0203BCAC
- ldr r0, [r5]
- ldr r1, =0x00007c58
- adds r0, r1
- bl sub_81D2074
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _08166BDA
- ldr r0, [r5]
- ldr r4, =0x00008041
- adds r0, r4
- ldrb r0, [r0]
- bl sub_81672A4
- lsls r0, 24
- lsrs r0, 24
- bl sub_81681F4
- ldr r3, [r5]
- adds r4, r3, r4
- ldrb r1, [r4]
- ldr r2, =0x00008040
- adds r0, r3, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _08166B6C
- ldr r4, =0x00007fb3
- adds r0, r3, r4
- movs r1, 0
- ldrsb r1, [r0, r1]
- subs r2, 0x90
- adds r0, r3, r2
- adds r0, r1
- ldrb r2, [r0]
- ldr r4, =0x00007b1c
- adds r0, r3, r4
- subs r4, 0xC
- adds r1, r3, r4
- ldrb r1, [r1]
- bl sub_81D3480
-_08166B6C:
- ldr r1, =gUnknown_0203BC90
- ldr r0, [r1]
- adds r0, 0x52
- strb r6, [r0]
- ldr r1, [r1]
- b _08166BAC
- .pool
-_08166B94:
- ldr r1, [r5]
- adds r1, 0x52
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- bls _08166BDA
- bl sub_8166E24
-_08166BAA:
- ldr r1, [r5]
-_08166BAC:
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08166BDA
-_08166BB6:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08166BDA
- bl sub_8166EDC
- lsls r0, 24
- cmp r0, 0
- bne _08166BDA
- ldr r0, =gSpecialVar_ItemId
- ldrb r0, [r0]
- bl TryClearPokeblock
- ldr r0, =sub_8166BEC
- bl sub_816636C
-_08166BDA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166A34
-
- thumb_func_start sub_8166BEC
-sub_8166BEC: @ 8166BEC
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_0203BC90
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0x50
- ldrb r1, [r2]
- cmp r1, 0x1
- beq _08166C28
- cmp r1, 0x1
- bgt _08166C0C
- cmp r1, 0
- beq _08166C16
- b _08166D18
- .pool
-_08166C0C:
- cmp r1, 0x2
- beq _08166C40
- cmp r1, 0x3
- beq _08166C5C
- b _08166D18
-_08166C16:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _08166C4A
-_08166C28:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08166D18
- movs r0, 0x2
- strb r0, [r2]
- b _08166D18
- .pool
-_08166C40:
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- bl ScanlineEffect_InitHBlankDmaTransfer
-_08166C4A:
- ldr r1, [r4]
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08166D18
- .pool
-_08166C5C:
- ldr r0, [r0, 0x4]
- bl SetMainCallback2
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007b1c
- adds r0, r1
- bl sub_81D354C
- movs r4, 0
-_08166C70:
- ldr r5, =gUnknown_0203BCAC
- ldr r0, [r5]
- ldr r2, =0x00007b06
- adds r0, r2
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _08166C70
- movs r0, 0
- bl FreeSpriteTilesByTag
- movs r0, 0x1
- bl FreeSpriteTilesByTag
- movs r0, 0
- bl FreeSpritePaletteByTag
- movs r0, 0x1
- bl FreeSpritePaletteByTag
- movs r4, 0
-_08166CAE:
- ldr r0, [r5]
- lsls r1, r4, 2
- ldr r2, =0x00007b44
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _08166CAE
- ldr r6, =gUnknown_0203BCAC
- ldr r0, [r6]
- ldr r2, =0x00007b10
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _08166CE6
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
-_08166CE6:
- movs r0, 0
- bl SetVBlankCallback
- ldr r4, =gUnknown_0203BCA0
- ldr r0, [r4]
- bl Free
- movs r5, 0
- str r5, [r4]
- ldr r4, =gUnknown_0203BCA4
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203BCA8
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r0, [r6]
- bl Free
- str r5, [r6]
- bl FreeAllWindowBuffers
-_08166D18:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166BEC
-
- thumb_func_start sub_8166D44
-sub_8166D44: @ 8166D44
- push {r4,lr}
- sub sp, 0x4C
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00008041
- adds r0, r1
- ldrb r0, [r0]
- bl sub_81672A4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- add r2, sp, 0xC
- bl GetMonData
- add r0, sp, 0xC
- bl StringGetEnd10
- ldr r1, =gText_GetsAPokeBlockQuestion
- add r0, sp, 0xC
- bl StringAppend
- ldr r4, =gStringVar4
- adds r0, r4, 0
- add r1, sp, 0xC
- bl StringCopy
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0x97
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =sUsePokeblockYesNoWinTemplate
- movs r1, 0x97
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
- add sp, 0x4C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166D44
-
- thumb_func_start sub_8166DE4
-sub_8166DE4: @ 8166DE4
- push {r4,lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- lsrs r4, r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08166E18
- cmp r1, 0
- bgt _08166E02
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08166E06
- b _08166E18
-_08166E02:
- cmp r1, 0x1
- bne _08166E18
-_08166E06:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- bl rbox_fill_rectangle
- movs r0, 0x2
- bl ClearWindowTilemap
-_08166E18:
- lsls r0, r4, 24
- asrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8166DE4
-
- thumb_func_start sub_8166E24
-sub_8166E24: @ 8166E24
- push {r4,lr}
- movs r0, 0x2
- movs r1, 0x97
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r3, =gUnknown_0203BC90
- ldr r0, [r3]
- adds r0, 0x53
- movs r1, 0
- strb r1, [r0]
- ldr r2, [r3]
- adds r1, r2, 0
- adds r1, 0x53
- ldrb r0, [r1]
- cmp r0, 0x4
- bhi _08166EA8
- adds r0, r2, 0
- adds r0, 0x61
- ldrb r1, [r1]
- adds r0, r1
- ldrb r0, [r0]
- adds r4, r3, 0
- cmp r0, 0
- bne _08166E84
- adds r2, r4, 0
-_08166E60:
- ldr r0, [r2]
- adds r0, 0x53
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r3, [r2]
- adds r1, r3, 0
- adds r1, 0x53
- ldrb r0, [r1]
- cmp r0, 0x4
- bhi _08166EA8
- adds r0, r3, 0
- adds r0, 0x61
- ldrb r1, [r1]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08166E60
-_08166E84:
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x53
- ldrb r0, [r1]
- cmp r0, 0x4
- bhi _08166EA8
- ldr r0, =gStringVar4
- ldrb r1, [r1]
- adds r2, 0x61
- adds r2, r1
- ldrb r2, [r2]
- bl sub_8166FD4
- b _08166EB8
- .pool
-_08166EA8:
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_0203BC90
- ldr r1, [r1]
- adds r1, 0x53
- ldrb r1, [r1]
- movs r2, 0
- bl sub_8166FD4
-_08166EB8:
- ldr r0, =gStringVar4
- bl sub_8166FB0
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166E24
-
- thumb_func_start sub_8166EDC
-sub_8166EDC: @ 8166EDC
- push {r4,r5,lr}
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, =gUnknown_0203BC90
- adds r3, r5, 0
- movs r4, 0x5
-_08166EEC:
- ldr r0, [r3]
- adds r0, 0x53
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r2, [r3]
- adds r1, r2, 0
- adds r1, 0x53
- ldrb r0, [r1]
- cmp r0, 0x4
- bhi _08166F18
- adds r0, r2, 0
- adds r0, 0x61
- ldrb r1, [r1]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08166F1E
- b _08166EEC
- .pool
-_08166F18:
- strb r4, [r1]
- movs r0, 0
- b _08166F44
-_08166F1E:
- ldr r4, =gStringVar4
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x53
- ldrb r1, [r1]
- adds r0, 0x61
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- bl sub_8166FD4
- adds r0, r4, 0
- bl sub_8166FB0
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
-_08166F44:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8166EDC
-
- thumb_func_start sub_8166F50
-sub_8166F50: @ 8166F50
- push {lr}
- sub sp, 0xC
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0x97
- movs r2, 0xE
- bl sub_8098858
- ldr r2, =gText_WontEatAnymore
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166F50
-
- thumb_func_start sub_8166F94
-sub_8166F94: @ 8166F94
- push {lr}
- movs r0, 0x2
- bl rbox_fill_rectangle
- movs r0, 0x2
- bl ClearWindowTilemap
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_8166F94
-
- thumb_func_start sub_8166FB0
-sub_8166FB0: @ 8166FB0
- push {lr}
- sub sp, 0xC
- ldr r2, =gStringVar4
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166FB0
-
- thumb_func_start sub_8166FD4
-sub_8166FD4: @ 8166FD4
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 16
- lsrs r0, r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _08167010
- cmp r2, 0
- ble _08166FEC
- movs r0, 0
-_08166FEC:
- lsls r0, 16
- ldr r1, =sContestStatNames
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- ldr r1, =gText_WasEnhanced
- adds r0, r4, 0
- bl StringAppend
- b _08167018
- .pool
-_08167010:
- ldr r1, =gText_NothingChanged
- adds r0, r4, 0
- bl StringCopy
-_08167018:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166FD4
-
- thumb_func_start sub_8167024
-sub_8167024: @ 8167024
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- movs r4, 0
- ldr r7, =gUnknown_085DFCB0
-_0816702E:
- lsls r0, r4, 2
- adds r0, r7
- ldr r1, [r0]
- adds r0, r6, 0
- bl GetMonData
- adds r1, r5, r4
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _0816702E
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167024
-
- thumb_func_start sub_8167054
-sub_8167054: @ 8167054
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r8, r0
- adds r5, r1, 0
- adds r0, r5, 0
- movs r1, 0x30
- bl GetMonData
- cmp r0, 0xFF
- beq _081670F0
- mov r0, r8
- adds r1, r5, 0
- bl sub_8167184
- movs r4, 0
- mov r7, sp
-_08167078:
- ldr r1, =gUnknown_085DFCB0
- lsls r0, r4, 2
- adds r0, r1
- ldr r6, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- strb r0, [r7]
- ldr r1, =gUnknown_0203BC90
- ldr r1, [r1]
- lsls r2, r4, 1
- adds r1, 0x66
- adds r1, r2
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r0, 0
- bge _081670A6
- movs r1, 0
-_081670A6:
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _081670B0
- movs r1, 0xFF
-_081670B0:
- strb r1, [r7]
- adds r0, r5, 0
- adds r1, r6, 0
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _08167078
- adds r0, r5, 0
- movs r1, 0x30
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- mov r2, r8
- ldrb r2, [r2, 0x6]
- adds r1, r0, r2
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _081670E2
- movs r1, 0xFF
-_081670E2:
- mov r0, sp
- strb r1, [r0]
- adds r0, r5, 0
- movs r1, 0x30
- mov r2, sp
- bl SetMonData
-_081670F0:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167054
-
- thumb_func_start sub_8167104
-sub_8167104: @ 8167104
- push {r4,r5,lr}
- ldr r5, =gPlayerParty
- ldr r0, =gUnknown_0203BCAC
- ldr r1, [r0]
- ldr r2, =0x00008041
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0
- ldr r0, =0x00007fb9
- adds r1, r0
- ldrb r1, [r1]
- movs r0, 0x64
- muls r0, r1
- adds r5, r0, r5
- ldr r4, =gUnknown_0203BC90
- ldr r1, [r4]
- adds r1, 0x57
- adds r0, r5, 0
- bl sub_8167024
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- adds r1, r5, 0
- bl sub_8167054
- ldr r1, [r4]
- adds r1, 0x5C
- adds r0, r5, 0
- bl sub_8167024
- movs r3, 0
-_08167144:
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0x61
- adds r2, r3
- adds r1, r0, 0
- adds r1, 0x5C
- adds r1, r3
- adds r0, 0x57
- adds r0, r3
- ldrb r1, [r1]
- ldrb r0, [r0]
- subs r1, r0
- strb r1, [r2]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x4
- bls _08167144
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167104
-
- thumb_func_start sub_8167184
-sub_8167184: @ 8167184
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r1
- ldr r1, =gUnknown_0203BC90
- ldr r3, [r1]
- ldrb r1, [r0, 0x1]
- adds r2, r3, 0
- adds r2, 0x66
- strh r1, [r2]
- ldrb r2, [r0, 0x5]
- adds r1, r3, 0
- adds r1, 0x68
- strh r2, [r1]
- ldrb r1, [r0, 0x4]
- adds r2, r3, 0
- adds r2, 0x6A
- strh r1, [r2]
- ldrb r2, [r0, 0x3]
- adds r1, r3, 0
- adds r1, 0x6C
- strh r2, [r1]
- ldrb r1, [r0, 0x2]
- adds r0, r3, 0
- adds r0, 0x6E
- strh r1, [r0]
- ldr r0, =gPokeblockGain
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- ble _081671D4
- movs r0, 0x1
- b _081671DA
- .pool
-_081671D4:
- cmp r0, 0
- bge _08167250
- movs r0, 0xFF
-_081671DA:
- movs r2, 0
- lsls r0, 24
- mov r9, r0
- ldr r0, =gUnknown_0203BC90
- mov r8, r0
-_081671E4:
- mov r0, r8
- ldr r1, [r0]
- lsls r0, r2, 24
- asrs r6, r0, 24
- lsls r7, r6, 1
- adds r1, 0x66
- adds r1, r7
- movs r2, 0
- ldrsh r4, [r1, r2]
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0xA
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0816721C
- lsls r0, r5, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r5, r0, 24
-_0816721C:
- ldr r0, =gUnknown_085DFCC4
- adds r0, r6, r0
- ldrb r1, [r0]
- mov r0, r10
- bl GetMonFlavorRelation
- lsls r0, 24
- asrs r2, r0, 24
- cmp r0, r9
- bne _08167244
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x66
- adds r0, r7
- lsls r1, r5, 24
- asrs r1, 24
- muls r1, r2
- ldrh r2, [r0]
- adds r1, r2
- strh r1, [r0]
-_08167244:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, 0x4
- ble _081671E4
-_08167250:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167184
-
- thumb_func_start sub_8167268
-sub_8167268: @ 8167268
- push {lr}
- ldr r0, =gUnknown_0203BCAC
- ldr r1, [r0]
- ldr r2, =0x00008041
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0
- subs r2, 0x89
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0x30
- movs r3, 0
- bl sub_81D2C68
- cmp r0, 0xFF
- beq _0816729C
- movs r0, 0
- b _0816729E
- .pool
-_0816729C:
- movs r0, 0x1
-_0816729E:
- pop {r1}
- bx r1
- thumb_func_end sub_8167268
-
- thumb_func_start sub_81672A4
-sub_81672A4: @ 81672A4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
-_081672AC:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _081672D2
- cmp r5, 0
- bne _081672CC
- adds r0, r4, 0
- b _081672DE
- .pool
-_081672CC:
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_081672D2:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _081672AC
- movs r0, 0
-_081672DE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81672A4
-
- thumb_func_start sub_81672E4
-sub_81672E4: @ 81672E4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- movs r6, 0
- cmp r6, r5
- bcs _08167314
-_081672F2:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _0816730A
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0816730A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _081672F2
-_08167314:
- subs r0, r5, r6
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81672E4
-
- thumb_func_start sub_8167324
-sub_8167324: @ 8167324
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_81672A4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8167324
-
- thumb_func_start sub_8167338
-sub_8167338: @ 8167338
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gUnknown_085DFD18
- bl LoadSpriteSheet
- ldr r0, =gUnknown_085DFD20
- bl LoadSpritePalette
- ldr r2, =gUnknown_0203BC90
- ldr r0, [r2]
- adds r0, 0x54
- movs r1, 0
- strb r1, [r0]
- movs r4, 0
- adds r5, r2, 0
- ldr r6, =gUnknown_085DFD28
- adds r0, r6, 0x2
- mov r8, r0
- ldr r7, =gSprites + 0x1C
-_08167360:
- ldr r0, [r5]
- adds r0, 0x61
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _081673AC
- lsls r2, r4, 2
- adds r0, r2, r6
- movs r3, 0
- ldrsh r1, [r0, r3]
- add r2, r8
- movs r0, 0
- ldrsh r2, [r2, r0]
- ldr r0, =gUnknown_085DFD5C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _081673AC
- ldr r0, [r5]
- adds r0, 0x61
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _081673A2
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_81673DC
- str r1, [r0]
-_081673A2:
- ldr r1, [r5]
- adds r1, 0x54
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_081673AC:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _08167360
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167338
-
- thumb_func_start sub_81673DC
-sub_81673DC: @ 81673DC
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x5
- bgt _081673EE
- ldrh r0, [r1, 0x26]
- subs r0, 0x2
- b _081673F6
-_081673EE:
- cmp r0, 0xB
- bgt _081673F8
- ldrh r0, [r1, 0x26]
- adds r0, 0x2
-_081673F6:
- strh r0, [r1, 0x26]
-_081673F8:
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _08167418
- adds r0, r1, 0
- bl DestroySprite
- ldr r0, =gUnknown_0203BC90
- ldr r1, [r0]
- adds r1, 0x54
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_08167418:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81673DC
-
- thumb_func_start sub_8167420
-sub_8167420: @ 8167420
- push {r4-r6,lr}
- movs r4, 0
- movs r5, 0
- ldr r6, =gUnknown_0203BCAC
- b _08167472
- .pool
-_08167430:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- adds r3, r0, 0
- cmp r3, 0
- bne _0816746C
- ldr r1, [r6]
- lsls r2, r5, 2
- adds r1, r2
- ldr r0, =0x00007fb8
- adds r1, r0
- movs r0, 0xE
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r2
- ldr r1, =0x00007fb9
- adds r0, r1
- strb r4, [r0]
- ldr r0, [r6]
- adds r0, r2
- ldr r2, =0x00007fba
- adds r0, r2
- strh r3, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_0816746C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_08167472:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _08167430
- ldr r2, =gUnknown_0203BCAC
- ldr r0, [r2]
- ldr r1, =0x00008041
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r1, r5, 0x1
- ldr r2, =0x00008040
- adds r0, r2
- strb r1, [r0]
- bl sub_81674BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167420
-
- thumb_func_start sub_81674BC
-sub_81674BC: @ 81674BC
- push {r4,r5,lr}
- ldr r4, =gUnknown_0203BCAC
- ldr r0, [r4]
- ldr r5, =0x00008041
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl sub_816753C
- ldr r0, [r4]
- ldr r1, =0x00007fb3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldr r2, =0x00007fb4
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, =0x00007fb5
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r4]
- adds r5, r0, r5
- ldrb r3, [r5]
- adds r1, r3, 0x1
- adds r2, 0x8C
- adds r0, r2
- ldrb r2, [r0]
- cmp r1, r2
- blt _08167500
- movs r1, 0
-_08167500:
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r0, 0
- bge _08167510
- subs r0, r2, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_08167510:
- adds r0, r1, 0
- movs r1, 0x1
- bl sub_816753C
- lsls r0, r4, 16
- asrs r0, 16
- movs r1, 0x2
- bl sub_816753C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81674BC
-
- thumb_func_start sub_816753C
-sub_816753C: @ 816753C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0203BCAC
- mov r9, r0
- ldr r1, [r0]
- lsls r5, 16
- asrs r0, r5, 14
- adds r0, r1, r0
- ldr r3, =0x00007fb8
- adds r2, r0, r3
- ldrb r7, [r2]
- ldr r2, =0x00007fb9
- adds r0, r2
- ldrb r0, [r0]
- mov r10, r0
- adds r3, 0x88
- adds r0, r1, r3
- ldrb r6, [r0]
- movs r0, 0
- mov r8, r0
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- ldr r2, =0x00007b4d
- adds r0, r2
- adds r0, r1, r0
- lsls r2, r4, 6
- ldr r3, =0x00007b95
- adds r2, r3
- adds r1, r2
- lsrs r5, 16
- str r5, [sp]
- str r6, [sp, 0x4]
- mov r2, r8
- str r2, [sp, 0x8]
- adds r2, r7, 0
- mov r3, r10
- bl sub_81D2ED4
- mov r3, r9
- ldr r1, [r3]
- ldr r2, =0x00007c58
- adds r0, r1, r2
- ldr r3, =0x00007fb0
- adds r1, r3
- str r5, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r2, r8
- str r2, [sp, 0xC]
- adds r2, r7, 0
- mov r3, r10
- bl sub_81D2F78
- lsls r0, r4, 13
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- mov r3, r9
- ldr r1, [r3]
- adds r0, r1, r0
- lsls r4, 7
- adds r4, 0x4
- adds r1, r4
- str r5, [sp]
- str r6, [sp, 0x4]
- mov r2, r8
- str r2, [sp, 0x8]
- adds r2, r7, 0
- mov r3, r10
- bl sub_81D3094
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816753C
-
- thumb_func_start sub_8167608
-sub_8167608: @ 8167608
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gUnknown_0203BCAC
- ldr r3, [r1]
- ldr r0, =0x00007b10
- mov r8, r0
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r7, r1, 0
- cmp r0, 0xFF
- bne _08167714
- add r5, sp, 0x18
- add r4, sp, 0x20
- adds r0, r5, 0
- mov r1, sp
- adds r2, r4, 0
- bl sub_81D31D0
- lsls r0, r6, 13
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- ldr r1, [r7]
- adds r0, r1, r0
- str r0, [sp, 0x18]
- lsls r0, r6, 7
- adds r0, 0x4
- adds r1, r0
- str r1, [sp, 0x20]
- adds r0, r4, 0
- bl LoadSpritePalette
- ldr r1, [r7]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =0x00007b12
- adds r1, r2
- strh r0, [r1]
- adds r0, r5, 0
- bl LoadSpriteSheet
- ldr r1, [r7]
- ldr r3, =0x00007b14
- adds r1, r3
- strh r0, [r1]
- mov r0, sp
- movs r1, 0x26
- movs r2, 0x68
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, [r7]
- ldr r2, =0x00007b10
- adds r0, r2
- strb r1, [r0]
- cmp r1, 0x40
- bne _081676AC
- movs r0, 0x64
- bl FreeSpriteTilesByTag
- movs r0, 0x64
- bl FreeSpritePaletteByTag
- ldr r0, [r7]
- add r0, r8
- movs r1, 0xFF
- strb r1, [r0]
- b _08167742
- .pool
-_081676AC:
- ldr r0, [r7]
- add r0, r8
- strb r1, [r0]
- ldr r4, =gSprites
- ldr r2, [r7]
- mov r0, r8
- adds r3, r2, r0
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_8168168
- str r1, [r0]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- subs r1, 0x22
- strh r1, [r0, 0x26]
- ldr r3, =0x00007b18
- adds r1, r2, r3
- subs r3, 0x4
- adds r0, r2, r3
- ldrh r0, [r0]
- lsls r0, 5
- ldr r3, =0x06010000
- adds r0, r3
- str r0, [r1]
- ldr r0, =0x00007b12
- adds r2, r0
- ldrh r0, [r2]
- lsls r0, 4
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r2]
- b _08167742
- .pool
-_08167714:
- lsls r1, r6, 13
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- adds r1, r3, r1
- ldr r2, =0x00007b18
- adds r0, r3, r2
- ldr r2, [r0]
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- lsls r0, r6, 7
- adds r0, 0x4
- adds r0, r3, r0
- ldr r2, =0x00007b12
- adds r1, r3, r2
- ldrh r1, [r1]
- movs r2, 0x20
- bl LoadPalette
-_08167742:
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167608
-
- thumb_func_start sub_8167760
-sub_8167760: @ 8167760
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x60
- add r5, sp, 0x20
- add r4, sp, 0x38
- mov r0, sp
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_81D321C
- mov r0, sp
- bl LoadSpriteSheets
- adds r0, r4, 0
- bl LoadSpritePalettes
- movs r4, 0
- ldr r1, =gUnknown_0203BCAC
- ldr r0, [r1]
- ldr r2, =0x00008040
- adds r0, r2
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r5, 0
- add r2, sp, 0x50
- mov r9, r2
- add r2, sp, 0x58
- mov r10, r2
- cmp r4, r0
- bge _0816781C
- adds r5, r1, 0
- ldr r7, =gSprites
- movs r0, 0x1C
- adds r0, r7
- mov r8, r0
-_081677AC:
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 18
- movs r1, 0x80
- lsls r1, 12
- adds r2, r1
- asrs r2, 16
- adds r0, r6, 0
- movs r1, 0xE2
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _081677FC
- ldr r0, [r5]
- ldr r2, =0x00007b06
- adds r0, r2
- adds r0, r4
- strb r3, [r0]
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r1, r0, r7
- strh r4, [r1, 0x2E]
- add r0, r8
- ldr r1, =sub_8168180
- str r1, [r0]
- b _08167808
- .pool
-_081677FC:
- ldr r0, [r5]
- ldr r1, =0x00007b06
- adds r0, r1
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
-_08167808:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, [r5]
- ldr r2, =0x00008040
- adds r0, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r4, r0
- blt _081677AC
-_0816781C:
- movs r0, 0x67
- strh r0, [r6]
- cmp r4, 0x5
- bhi _0816788A
- ldr r5, =gUnknown_0203BCAC
- ldr r7, =gSprites
-_08167828:
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 18
- movs r0, 0x80
- lsls r0, 12
- adds r2, r0
- asrs r2, 16
- adds r0, r6, 0
- movs r1, 0xE6
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _08167874
- ldr r0, [r5]
- ldr r1, =0x00007b06
- adds r0, r1
- adds r0, r4
- strb r3, [r0]
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x3]
- movs r0, 0x3F
- ands r0, r2
- strb r0, [r1, 0x3]
- b _08167880
- .pool
-_08167874:
- ldr r0, [r5]
- ldr r2, =0x00007b06
- adds r0, r2
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
-_08167880:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x5
- bls _08167828
-_0816788A:
- movs r0, 0x66
- strh r0, [r6]
- ldr r0, =sub_81681B4
- str r0, [r6, 0x14]
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 18
- movs r0, 0x80
- lsls r0, 12
- adds r2, r0
- asrs r2, 16
- adds r0, r6, 0
- movs r1, 0xDE
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _081678F4
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007b06
- adds r0, r1
- adds r0, r4
- strb r3, [r0]
- ldr r0, =gSprites
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r2, r0
- ldrb r3, [r2, 0x1]
- movs r1, 0x3F
- adds r0, r1, 0
- ands r0, r3
- movs r3, 0x40
- orrs r0, r3
- strb r0, [r2, 0x1]
- ldrb r0, [r2, 0x3]
- ands r1, r0
- movs r0, 0x80
- orrs r1, r0
- strb r1, [r2, 0x3]
- b _08167902
- .pool
-_081678F4:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00007b06
- adds r0, r2
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
-_08167902:
- mov r0, r9
- mov r1, r10
- bl sub_81D32B0
- mov r0, r9
- bl LoadSpriteSheet
- mov r0, r10
- bl LoadSpritePalette
- add sp, 0x60
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167760
-
- thumb_func_start sub_8167930
-sub_8167930: @ 8167930
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00008048
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xB
- bls _08167944
- b _08167B78
-_08167944:
- lsls r0, 2
- ldr r1, =_0816795C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0816795C:
- .4byte _0816798C
- .4byte _08167A04
- .4byte _08167A38
- .4byte _08167A48
- .4byte _08167A5C
- .4byte _08167A74
- .4byte _08167A9C
- .4byte _08167AB0
- .4byte _08167AD4
- .4byte _08167AEC
- .4byte _08167B1C
- .4byte _08167B38
-_0816798C:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r1, 0x88
- lsls r1, 6
- movs r0, 0x3
- movs r2, 0
- bl ChangeBgY
- ldr r1, =0x00007040
- movs r0, 0
- bl SetGpuReg
- movs r1, 0x91
- lsls r1, 2
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x0000040b
- movs r0, 0x52
- bl SetGpuReg
- b _08167B7E
- .pool
-_08167A04:
- ldr r4, =gUnknown_0203BCA4
- movs r0, 0xD0
- lsls r0, 5
- bl Alloc
- str r0, [r4]
- ldr r5, =gUnknown_0203BCA0
- movs r4, 0xA0
- lsls r4, 3
- adds r0, r4, 0
- bl Alloc
- str r0, [r5]
- ldr r5, =gUnknown_0203BCA8
- adds r0, r4, 0
- bl Alloc
- str r0, [r5]
- b _08167B7E
- .pool
-_08167A38:
- ldr r0, =gUnknown_085DFB60
- ldr r1, =gUnknown_0203BCA8
- b _08167AA0
- .pool
-_08167A48:
- ldr r1, =gUnknown_085DFA80
- movs r0, 0x3
- movs r2, 0xE0
- movs r3, 0
- bl LoadBgTiles
- b _08167B7E
- .pool
-_08167A5C:
- ldr r0, =gUnknown_0203BCA8
- ldr r1, [r0]
- movs r2, 0xA0
- lsls r2, 3
- movs r0, 0x3
- movs r3, 0
- bl LoadBgTilemap
- b _08167B7E
- .pool
-_08167A74:
- ldr r0, =gUnknown_085DFA60
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007b0e
- adds r0, r1
- ldr r1, =0x0000ffb0
- strh r1, [r0]
- b _08167B7E
- .pool
-_08167A9C:
- ldr r0, =gUsePokeblockGraph_Gfx
- ldr r1, =gUnknown_0203BCA4
-_08167AA0:
- ldr r1, [r1]
- bl LZ77UnCompVram
- b _08167B7E
- .pool
-_08167AB0:
- ldr r0, =gUsePokeblockGraph_Tilemap
- ldr r1, =gUnknown_0203BCA0
- ldr r1, [r1]
- bl LZ77UnCompVram
- ldr r0, =gUsePokeblockGraph_Pal
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- b _08167B7E
- .pool
-_08167AD4:
- ldr r0, =gUnknown_0203BCA4
- ldr r1, [r0]
- movs r2, 0xD0
- lsls r2, 5
- movs r3, 0xA0
- lsls r3, 2
- movs r0, 0x1
- bl LoadBgTiles
- b _08167B7E
- .pool
-_08167AEC:
- ldr r0, =gUnknown_0203BCA0
- ldr r1, [r0]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, =gUsePokeblockNatureWin_Pal
- movs r0, 0xC
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0xD
- bl CopyToBgTilemapBufferRect
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _08167B7E
- .pool
-_08167B1C:
- ldr r0, =gUnknown_085DFC0C
- ldr r1, =gUnknown_0203BCAC
- ldr r1, [r1]
- ldr r2, =0x00007304
- adds r1, r2
- bl LZ77UnCompVram
- b _08167B7E
- .pool
-_08167B38:
- ldr r0, =gUnknown_0203BCAC
- ldr r1, [r0]
- ldr r0, =0x00007304
- adds r1, r0
- movs r2, 0xA0
- lsls r2, 3
- movs r0, 0x2
- movs r3, 0
- bl LoadBgTilemap
- ldr r0, =gUnknown_086231E8
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_08623208
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x2
- bl sub_81D21DC
- b _08167B7E
- .pool
-_08167B78:
- movs r0, 0
- strb r0, [r1]
- b _08167B8E
-_08167B7E:
- ldr r0, =gUnknown_0203BCAC
- ldr r1, [r0]
- ldr r2, =0x00008048
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
-_08167B8E:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8167930
-
- thumb_func_start sub_8167BA0
-sub_8167BA0: @ 8167BA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r7, =gUnknown_0203BCAC
- ldr r3, [r7]
- ldr r1, =0x00008041
- adds r0, r3, r1
- ldrb r1, [r0]
- ldr r2, =0x00008040
- adds r0, r3, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _08167C46
- lsls r2, r4, 6
- ldr r0, =0x00007b95
- adds r2, r0
- adds r2, r3, r2
- movs r0, 0x1
- str r0, [sp]
- movs r5, 0
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- ldr r1, =0x00008041
- adds r0, r1
- ldrb r0, [r0]
- bl sub_81672A4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetNature
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, [r7]
- ldr r6, =0x0000804a
- adds r0, r6
- ldr r1, =gText_NatureSlash
- bl StringCopy
- ldr r1, =gNatureNamePointers
- lsls r4, 2
- adds r4, r1
- ldr r1, [r4]
- bl StringCopy
- ldr r0, =gUnknown_085DFCC9
- str r0, [sp]
- str r5, [sp, 0x4]
- ldr r0, [r7]
- adds r0, r6
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized3
-_08167C46:
- mov r2, r8
- cmp r2, 0
- beq _08167C84
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- b _08167C94
- .pool
-_08167C84:
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
-_08167C94:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8167BA0
-
- thumb_func_start sub_8167CA0
-sub_8167CA0: @ 8167CA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- beq _08167CC0
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007fb5
- adds r0, r1
- b _08167CC8
- .pool
-_08167CC0:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00007fb4
- adds r0, r2
-_08167CC8:
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r5, =gUnknown_0203BCAC
- ldr r2, [r5]
- ldr r3, =0x00007c58
- adds r0, r2, r3
- ldr r4, =0x00007fb3
- adds r1, r2, r4
- movs r3, 0
- ldrsb r3, [r1, r3]
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 2
- ldr r4, =0x00007c6c
- adds r1, r4
- adds r1, r2, r1
- lsls r3, r6, 2
- adds r3, r6
- lsls r3, 2
- adds r3, r4
- adds r2, r3
- bl sub_81D1F84
- ldr r4, [r5]
- ldr r1, =0x00008041
- adds r0, r4, r1
- ldrb r1, [r0]
- ldr r2, =0x00008040
- mov r12, r2
- adds r0, r4, r2
- ldrb r0, [r0]
- subs r0, 0x1
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- mov r8, r0
- cmp r7, 0
- beq _08167D98
- ldr r3, =0x00007fb4
- adds r0, r4, r3
- ldrb r1, [r0]
- subs r2, 0x8B
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, [r5]
- ldr r4, =0x00007fb3
- adds r1, r0, r4
- ldrb r1, [r1]
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, r4
- strb r6, [r0]
- ldr r0, [r5]
- adds r2, r0, r2
- ldrb r1, [r2]
- ldr r2, =0x00007fb6
- adds r0, r2
- strb r1, [r0]
- ldr r1, [r5]
- adds r3, 0x8D
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08167D58
- mov r4, r12
- adds r0, r1, r4
- ldrb r0, [r0]
-_08167D58:
- subs r2, r0, 0x1
- ldr r0, =0x00008041
- adds r1, r0
- strb r2, [r1]
- ldr r1, =gUnknown_0203BCAC
- ldr r3, [r1]
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r6, r1, 0
- cmp r0, 0
- bne _08167D74
- ldr r1, =0x00008040
- adds r0, r3, r1
- ldrb r0, [r0]
-_08167D74:
- subs r1, r0, 0x1
- b _08167E1E
- .pool
-_08167D98:
- ldr r3, =0x00007fb5
- adds r0, r4, r3
- ldrb r1, [r0]
- ldr r2, =0x00007fb4
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, [r5]
- ldr r4, =0x00007fb3
- adds r1, r0, r4
- ldrb r1, [r1]
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, r4
- strb r6, [r0]
- ldr r0, [r5]
- adds r2, r0, r2
- ldrb r1, [r2]
- ldr r2, =0x00007fb6
- adds r0, r2
- strb r1, [r0]
- ldr r2, [r5]
- adds r3, 0x8C
- adds r0, r2, r3
- ldrb r1, [r0]
- adds r4, 0x8D
- adds r0, r2, r4
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bge _08167DEC
- adds r3, r1, 0x1
- b _08167DEE
- .pool
-_08167DEC:
- movs r3, 0
-_08167DEE:
- ldr r1, =0x00008041
- adds r0, r2, r1
- strb r3, [r0]
- ldr r2, =gUnknown_0203BCAC
- ldr r3, [r2]
- adds r1, r3, r1
- ldrb r1, [r1]
- ldr r4, =0x00008040
- adds r0, r3, r4
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0
- cmp r1, r0
- bge _08167E1C
- adds r1, 0x1
- b _08167E1E
- .pool
-_08167E1C:
- movs r1, 0
-_08167E1E:
- ldr r2, =0x00007b4c
- adds r0, r3, r2
- strb r1, [r0]
- adds r5, r6, 0
- ldr r0, [r5]
- ldr r3, =0x00008041
- adds r1, r0, r3
- ldrb r2, [r1]
- ldr r4, =0x00008040
- adds r1, r0, r4
- ldrb r1, [r1]
- subs r1, 0x1
- eors r2, r1
- negs r1, r2
- orrs r1, r2
- lsrs r4, r1, 31
- ldr r1, =0x00007b1c
- adds r0, r1
- bl sub_81D3520
- mov r2, r8
- cmp r2, 0
- bne _08167E70
- ldr r0, [r5]
- ldr r3, =0x00008044
- adds r0, r3
- ldr r1, =sub_8167EA4
- b _08167E90
- .pool
-_08167E70:
- cmp r4, 0
- bne _08167E88
- ldr r0, [r5]
- ldr r4, =0x00008044
- adds r0, r4
- ldr r1, =sub_8167FA4
- b _08167E90
- .pool
-_08167E88:
- ldr r0, [r6]
- ldr r1, =0x00008044
- adds r0, r1
- ldr r1, =sub_8168048
-_08167E90:
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167CA0
-
- thumb_func_start sub_8167EA4
-sub_8167EA4: @ 8167EA4
- push {r4-r6,lr}
- ldr r4, =gUnknown_0203BCAC
- ldr r1, [r4]
- ldr r5, =0x00008048
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08167EE4
- cmp r0, 0x1
- bgt _08167EC8
- cmp r0, 0
- beq _08167ED2
- b _08167F9C
- .pool
-_08167EC8:
- cmp r0, 0x2
- beq _08167F08
- cmp r0, 0x3
- beq _08167F48
- b _08167F9C
-_08167ED2:
- ldr r2, =0x00007fb3
- adds r0, r1, r2
- ldrb r0, [r0]
- bl sub_8167608
- b _08167F2C
- .pool
-_08167EE4:
- ldr r6, =0x00007fb3
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_8167BA0
- ldr r1, [r4]
- ldr r0, =0x00008048
- adds r1, r0
- b _08167F30
- .pool
-_08167F08:
- ldr r2, =0x00007c58
- adds r0, r1, r2
- ldr r6, =0x00007b0e
- adds r1, r6
- bl sub_81D3178
- lsls r0, 24
- cmp r0, 0
- bne _08167F9C
- ldr r1, [r4]
- ldr r2, =0x00007b4c
- adds r0, r1, r2
- ldrb r0, [r0]
- ldr r6, =0x00007fb6
- adds r1, r6
- ldrb r1, [r1]
- bl sub_816753C
-_08167F2C:
- ldr r1, [r4]
- adds r1, r5
-_08167F30:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08167F9C
- .pool
-_08167F48:
- ldr r2, =0x00007b1c
- adds r0, r1, r2
- bl sub_81D3464
- ldr r3, [r4]
- ldr r6, =0x00008041
- adds r0, r3, r6
- ldrb r1, [r0]
- ldr r2, =0x00008040
- adds r0, r3, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _08167F82
- subs r6, 0x8E
- adds r0, r3, r6
- movs r1, 0
- ldrsb r1, [r0, r1]
- subs r2, 0x90
- adds r0, r3, r2
- adds r0, r1
- ldrb r2, [r0]
- ldr r6, =0x00007b1c
- adds r0, r3, r6
- subs r6, 0xC
- adds r1, r3, r6
- ldrb r1, [r1]
- bl sub_81D3480
-_08167F82:
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0
- strb r1, [r0]
- movs r0, 0
- b _08167F9E
- .pool
-_08167F9C:
- movs r0, 0x1
-_08167F9E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8167EA4
-
- thumb_func_start sub_8167FA4
-sub_8167FA4: @ 8167FA4
- push {r4,r5,lr}
- ldr r4, =gUnknown_0203BCAC
- ldr r1, [r4]
- ldr r5, =0x00008048
- adds r2, r1, r5
- ldrb r0, [r2]
- cmp r0, 0x1
- beq _08167FF0
- cmp r0, 0x1
- bgt _08167FC8
- cmp r0, 0
- beq _08167FD2
- b _0816803E
- .pool
-_08167FC8:
- cmp r0, 0x2
- beq _08168014
- cmp r0, 0x3
- beq _08168038
- b _0816803E
-_08167FD2:
- ldr r2, =0x00007c58
- adds r0, r1, r2
- ldr r2, =0x00007b0e
- adds r1, r2
- bl sub_81D31A4
- lsls r0, 24
- cmp r0, 0
- bne _0816803E
- b _08168024
- .pool
-_08167FF0:
- ldr r2, =0x00007fb3
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_8167BA0
- ldr r1, [r4]
- ldr r0, =0x00008048
- adds r1, r0
- b _08168028
- .pool
-_08168014:
- ldr r2, =0x00007b4c
- adds r0, r1, r2
- ldrb r0, [r0]
- ldr r2, =0x00007fb6
- adds r1, r2
- ldrb r1, [r1]
- bl sub_816753C
-_08168024:
- ldr r1, [r4]
- adds r1, r5
-_08168028:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0816803E
- .pool
-_08168038:
- movs r0, 0
- strb r0, [r2]
- b _08168040
-_0816803E:
- movs r0, 0x1
-_08168040:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8167FA4
-
- thumb_func_start sub_8168048
-sub_8168048: @ 8168048
- push {r4-r6,lr}
- ldr r4, =gUnknown_0203BCAC
- ldr r1, [r4]
- ldr r5, =0x00008048
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _081680A8
- cmp r0, 0x1
- bgt _0816806C
- cmp r0, 0
- beq _08168076
- b _08168160
- .pool
-_0816806C:
- cmp r0, 0x2
- beq _081680CC
- cmp r0, 0x3
- beq _0816810C
- b _08168160
-_08168076:
- ldr r2, =0x00007c58
- adds r0, r1, r2
- bl sub_81D2074
- ldr r0, [r4]
- ldr r6, =0x00007b0e
- adds r0, r6
- bl sub_81D3150
- lsls r0, 24
- cmp r0, 0
- bne _08168160
- ldr r0, [r4]
- ldr r1, =0x00007fb3
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8167608
- b _081680F0
- .pool
-_081680A8:
- ldr r2, =0x00007fb3
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_8167BA0
- ldr r1, [r4]
- ldr r6, =0x00008048
- adds r1, r6
- b _081680F4
- .pool
-_081680CC:
- ldr r2, =0x00007c58
- adds r0, r1, r2
- ldr r6, =0x00007b0e
- adds r1, r6
- bl sub_81D3178
- lsls r0, 24
- cmp r0, 0
- bne _08168160
- ldr r1, [r4]
- ldr r2, =0x00007b4c
- adds r0, r1, r2
- ldrb r0, [r0]
- ldr r6, =0x00007fb6
- adds r1, r6
- ldrb r1, [r1]
- bl sub_816753C
-_081680F0:
- ldr r1, [r4]
- adds r1, r5
-_081680F4:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08168160
- .pool
-_0816810C:
- ldr r2, =0x00007b1c
- adds r0, r1, r2
- bl sub_81D3464
- ldr r3, [r4]
- ldr r6, =0x00008041
- adds r0, r3, r6
- ldrb r1, [r0]
- ldr r2, =0x00008040
- adds r0, r3, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _08168146
- subs r6, 0x8E
- adds r0, r3, r6
- movs r1, 0
- ldrsb r1, [r0, r1]
- subs r2, 0x90
- adds r0, r3, r2
- adds r0, r1
- ldrb r2, [r0]
- ldr r6, =0x00007b1c
- adds r0, r3, r6
- subs r6, 0xC
- adds r1, r3, r6
- ldrb r1, [r1]
- bl sub_81D3480
-_08168146:
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0
- strb r1, [r0]
- movs r0, 0
- b _08168162
- .pool
-_08168160:
- movs r0, 0x1
-_08168162:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8168048
-
- thumb_func_start sub_8168168
-sub_8168168: @ 8168168
- ldr r1, =gUnknown_0203BCAC
- ldr r1, [r1]
- ldr r2, =0x00007b0e
- adds r1, r2
- ldrh r1, [r1]
- adds r1, 0x26
- strh r1, [r0, 0x20]
- bx lr
- .pool
- thumb_func_end sub_8168168
-
- thumb_func_start sub_8168180
-sub_8168180: @ 8168180
- push {lr}
- adds r2, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r2, r0]
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r3, =0x00008041
- adds r0, r3
- ldrb r0, [r0]
- cmp r1, r0
- bne _081681A8
- adds r0, r2, 0
- movs r1, 0
- bl StartSpriteAnim
- b _081681B0
- .pool
-_081681A8:
- adds r0, r2, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_081681B0:
- pop {r0}
- bx r0
- thumb_func_end sub_8168180
-
- thumb_func_start sub_81681B4
-sub_81681B4: @ 81681B4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00008041
- adds r1, r0, r2
- ldrb r1, [r1]
- subs r2, 0x1
- adds r0, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _081681DC
- movs r0, 0x65
- b _081681DE
- .pool
-_081681DC:
- movs r0, 0x66
-_081681DE:
- bl IndexOfSpritePaletteTag
- lsls r0, 4
- ldrb r2, [r4, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81681B4
-
- thumb_func_start sub_81681F4
-sub_81681F4: @ 81681F4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x30
- bl GetMonData
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r3, =0x00007fb3
- adds r1, r0, r3
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- subs r3, 0x3
- adds r0, r3
- adds r4, r0, r1
- cmp r2, 0xFF
- beq _0816823C
- adds r0, r2, 0
- movs r1, 0x1D
- bl __udivsi3
- b _0816823E
- .pool
-_0816823C:
- movs r0, 0x9
-_0816823E:
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81681F4
-
- thumb_func_start sub_8168248
-sub_8168248: @ 8168248
- push {lr}
- sub sp, 0x10
- ldr r0, =gUnknown_085DFDB8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r0, =gUsePokeblockCondition_Gfx
- str r0, [sp]
- ldr r1, =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0x80
- lsls r1, 4
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- adds r1, 0x1
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadCompressedSpriteSheet
- add r0, sp, 0x8
- bl LoadSpritePalette
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8168248
-
- thumb_func_start sub_8168294
-sub_8168294: @ 8168294
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007b44
- adds r7, r0, r1
- ldr r0, =gUnknown_085DFDA0
- mov r10, r0
- movs r6, 0
- movs r1, 0x40
- mov r9, r1
- movs r0, 0x60
- negs r0, r0
- mov r8, r0
-_081682B6:
- mov r5, r9
- muls r5, r6
- mov r0, r8
- adds r1, r0, r5
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x11
- lsls r2, r0, 16
- mov r0, r10
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _081682FE
- ldr r0, =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- movs r1, 0x8
- strh r1, [r4, 0x2E]
- movs r0, 0x20
- orrs r5, r0
- strh r5, [r4, 0x30]
- strh r6, [r4, 0x32]
- lsls r1, r6, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- lsls r0, r6, 2
- adds r0, r7
- str r4, [r0]
-_081682FE:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x1
- bls _081682B6
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8168294
-
- thumb_func_start sub_8168328
-sub_8168328: @ 8168328
- push {r4,r5,lr}
- ldr r4, =gUnknown_0203BCAC
- ldr r0, [r4]
- ldr r5, =0x00008048
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _08168348
- cmp r0, 0x1
- beq _08168360
- b _0816836C
- .pool
-_08168348:
- bl sub_8168248
- ldr r1, [r4]
- ldr r0, =0x00008048
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- b _0816836E
- .pool
-_08168360:
- bl sub_8168294
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0
- strb r1, [r0]
-_0816836C:
- movs r0, 0
-_0816836E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8168328
-
- thumb_func_start sub_8168374
-sub_8168374: @ 8168374
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x20]
- ldrh r1, [r2, 0x2E]
- adds r3, r0, r1
- strh r3, [r2, 0x20]
- lsls r0, 16
- asrs r4, r0, 16
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- cmp r4, r1
- bgt _08168398
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, r1
- bge _081683A0
- cmp r4, r1
- blt _081683A8
-_08168398:
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, r1
- bgt _081683A8
-_081683A0:
- ldrh r0, [r2, 0x30]
- strh r0, [r2, 0x20]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_081683A8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8168374
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asmdiff.ps1 b/asmdiff.ps1
index f476d51e8..169f14776 100644
--- a/asmdiff.ps1
+++ b/asmdiff.ps1
@@ -107,13 +107,8 @@ if ($start_num -gt 0x1000000)
$end_str = [System.Convert]::ToString($start_num + $offset_num, 16)
$end_str = "0x$end_str"
-$start_str = "0x$Start"
-
-Write-Host "$start_str - $end_str"
+Write-Host "$Start - $end_str"
$objdump = Join-Path -Path $env:DEVKITARM -ChildPath "arm-none-eabi\bin\objdump.exe"
-Write-Host "Dumping [0/2]"
-&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$start_str" --stop-address="$end_str" .\baserom.gba > .\baserom.dump
-Write-Host "Dumping [1/2]"
-&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$start_str" --stop-address="$end_str" .\pokeemerald.gba > .\pokeemerald.dump
-Write-Host "Dumping [2/2]"
+&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$Start" --stop-address="$end_str" .\baserom.gba > .\baserom.dump
+&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$Start" --stop-address="$end_str" .\pokeemerald.gba > .\pokeemerald.dump
Invoke-Expression "$DiffTool .\baserom.dump .\pokeemerald.dump"
diff --git a/charmap.txt b/charmap.txt
index 2ccac19d3..26d48e101 100644
--- a/charmap.txt
+++ b/charmap.txt
@@ -424,7 +424,7 @@ PLAY_SE = FC 10
CLEAR = FC 11
SKIP = FC 12
CLEAR_TO = FC 13
-UNKNOWN_14 = FC 14
+MIN_LETTER_SPACING = FC 14
JPN = FC 15
ENG = FC 16
PAUSE_MUSIC = FC 17
diff --git a/common_syms/battle_anim_8170478.txt b/common_syms/battle_anim_special.txt
index 2fc194df7..2fc194df7 100755
--- a/common_syms/battle_anim_8170478.txt
+++ b/common_syms/battle_anim_special.txt
diff --git a/common_syms/faraway_island.txt b/common_syms/faraway_island.txt
new file mode 100755
index 000000000..395c9a82f
--- /dev/null
+++ b/common_syms/faraway_island.txt
@@ -0,0 +1,3 @@
+sPlayerToMewDeltaX
+sPlayerToMewDeltaY
+sMewDirectionCandidates \ No newline at end of file
diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s
index e7a7e89b6..0d5ce89a8 100644
--- a/data/battle_anim_scripts.s
+++ b/data/battle_anim_scripts.s
@@ -1515,7 +1515,7 @@ Move_VINE_WHIP:
createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6
delay 6
playsewithpan SE_W010, SOUND_PAN_TARGET
- createsprite gUnknown_085928E8, ANIM_TARGET, 2, 0, 0
+ createsprite gVineWhipSpriteTemplate, ANIM_TARGET, 2, 0, 0
delay 6
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 6, 1
end
@@ -1656,12 +1656,12 @@ Explosion1:
Move_DEFENSE_CURL:
loadspritegfx ANIM_TAG_ECLIPSING_ORB
loopsewithpan SE_W161, SOUND_PAN_ATTACKER, 18, 3
- createvisualtask sub_811489C, 5, 0, 0
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 0
createvisualtask sub_815B338, 5
waitforvisualfinish
createsprite gUnknown_085CE338, ANIM_ATTACKER, 2, 0, 6, 0, 1
waitforvisualfinish
- createvisualtask sub_811489C, 5, 0, 1
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1
waitforvisualfinish
end
@@ -2003,7 +2003,7 @@ Move_ATTRACT:
createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -384, -31
waitforvisualfinish
waitplaysewithpan SE_W213B, 0, 15
- createvisualtask sub_81062E8, 5
+ createvisualtask AnimTask_HeartsBackground, 5
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 16, 256, 0
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 224, 240, 15
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 126, 272, 30
@@ -2012,7 +2012,7 @@ Move_ATTRACT:
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 40, 256, 75
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 112, 256, 90
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 200, 272, 90
- delay 0x4B
+ delay 75
createvisualtask sub_8115A04, 2, 4, 4, 4, 0, 10, RGB(31, 25, 27)
end
@@ -2960,7 +2960,7 @@ SkyAttackSetUpAgainstPartner:
SkyAttackUnleash:
loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_BIRD
- call SetFlyingBg
+ call SetSkyBg
monbg ANIM_ATTACKER
createvisualtask sub_8116620, 10, 2, 0, 0, 16, RGB_WHITE
delay 4
@@ -2977,7 +2977,7 @@ SkyAttackUnleash:
createvisualtask sub_8116620, 10, 2, 0, 15, 0, RGB_WHITE
waitforvisualfinish
clearmonbg ANIM_ATTACKER
- call UnsetFlyingBg
+ call UnsetSkyBg
goto SkyAttackEnd
Move_FLASH:
@@ -3220,13 +3220,13 @@ EndureEffect:
Move_CHARM:
loadspritegfx ANIM_TAG_MAGENTA_HEART
createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0
- createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20
+ createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20
playsewithpan SE_W204, SOUND_PAN_ATTACKER
delay 15
- createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20
+ createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, -20, 20
playsewithpan SE_W204, SOUND_PAN_ATTACKER
delay 15
- createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20
+ createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20
playsewithpan SE_W204, SOUND_PAN_ATTACKER
waitforvisualfinish
end
@@ -4358,7 +4358,7 @@ Move_AERIAL_ACE:
Move_IRON_DEFENSE:
loopsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER, 28, 2
- createvisualtask sub_81144F8, 5, 0, 0, 0
+ createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0
createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 8, 2, RGB_WHITEALPHA, 14, -1, 0
waitforvisualfinish
end
@@ -4393,13 +4393,13 @@ Move_COVET:
loadspritegfx ANIM_TAG_MAGENTA_HEART
loadspritegfx ANIM_TAG_ITEM_BAG
createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0
- createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20
+ createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20
playsewithpan SE_W204, SOUND_PAN_ATTACKER
delay 15
- createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20
+ createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, -20, 20
playsewithpan SE_W204, SOUND_PAN_ATTACKER
delay 15
- createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20
+ createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20
playsewithpan SE_W204, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
@@ -4570,7 +4570,7 @@ Move_SHOCK_WAVE:
Move_HARDEN:
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
- createvisualtask sub_81144F8, 5, 0, 0, 0
+ createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0
waitforvisualfinish
end
@@ -5347,7 +5347,7 @@ Move_ICE_BEAM:
loadspritegfx ANIM_TAG_ICE_CRYSTALS
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 7, RGB_BLACK
waitforvisualfinish
- createsoundtask sub_8158C58, 183, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 4, 4, 0, 10
+ createsoundtask sub_8158C58, SE_W062B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 4, 4, 0, 10
createsprite gUnknown_08595B2C, ANIM_ATTACKER, 2, 20, 12, 0, 12, 20
createsprite gUnknown_08595B2C, ANIM_ATTACKER, 2, 20, -12, 0, -12, 20
delay 1
@@ -5392,7 +5392,7 @@ Move_WITHDRAW:
Move_AURORA_BEAM:
loadspritegfx ANIM_TAG_RAINBOW_RINGS
- fadetobg BG_AURORABEAM
+ fadetobg BG_AURORA
waitbgfadein
playsewithpan SE_W062, SOUND_PAN_ATTACKER
setarg 7, 0
@@ -5403,7 +5403,7 @@ Move_AURORA_BEAM:
call AuroraBeam1
call AuroraBeam1
setarg 7, -1
- createsoundtask sub_8158C58, 183, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 6, 0, 10
+ createsoundtask sub_8158C58, SE_W062B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 6, 0, 10
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 40, 1
call AuroraBeam1
call AuroraBeam1
@@ -6195,7 +6195,7 @@ Move_AEROBLAST:
loadspritegfx ANIM_TAG_AIR_WAVE_2
loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
- call SetFlyingBg
+ call SetSkyBg
monbgprio_28 ANIM_TARGET
setalpha 12, 8
call Aeroblast1
@@ -6211,7 +6211,7 @@ Move_AEROBLAST:
clearmonbg ANIM_DEF_PARTNER
blendoff
delay 0
- call UnsetFlyingBg
+ call UnsetSkyBg
end
Aeroblast1:
playsewithpan SE_W026, SOUND_PAN_ATTACKER
@@ -6568,7 +6568,7 @@ Move_DYNAMIC_PUNCH:
loadspritegfx ANIM_TAG_HANDS_AND_FEET
loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_EXPLOSION
- loadspritegfx ANIM_TAG_UNUSED_EXPLOSION
+ loadspritegfx ANIM_TAG_EXPLOSION_6
delay 1
monbg ANIM_DEF_PARTNER
setalpha 12, 8
@@ -7123,7 +7123,7 @@ Move_PSYBEAM:
loadspritegfx ANIM_TAG_GOLD_RING
playsewithpan SE_W060, SOUND_PAN_ATTACKER
call SetPsychicBackground
- createsoundtask sub_8158C58, 200, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 4, 0, 15
+ createsoundtask sub_8158C58, SE_W060B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 4, 0, 15
call Psybeam1
call Psybeam1
createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 4, ANIM_TARGET
@@ -7169,7 +7169,7 @@ Move_PSYWAVE:
playsewithpan SE_W060, SOUND_PAN_ATTACKER
call SetPsychicBackground
createvisualtask sub_81076C8, 5, 100
- createsoundtask sub_8158C58, 203, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 9, 0, 10
+ createsoundtask sub_8158C58, SE_W100, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 9, 0, 10
call Psywave1
call Psywave1
createvisualtask sub_8115A04, 2, 4, 1, 4, 0, 12, RGB(31, 18, 31)
@@ -7213,7 +7213,7 @@ Move_STEEL_WING:
loadspritegfx ANIM_TAG_GUST
loadspritegfx ANIM_TAG_IMPACT
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
- createvisualtask sub_81144F8, 5, 0, 0, 0
+ createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0
waitforvisualfinish
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
@@ -7239,7 +7239,7 @@ Move_STEEL_WING:
Move_IRON_TAIL:
loadspritegfx ANIM_TAG_IMPACT
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
- createvisualtask sub_81144F8, 5, 1, 0, 0
+ createvisualtask AnimTask_MetallicShine, 5, 1, 0, 0
waitforvisualfinish
monbg ANIM_TARGET
setalpha 12, 8
@@ -7249,7 +7249,7 @@ Move_IRON_TAIL:
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
- createvisualtask sub_811489C, 5, 0, 1
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1
clearmonbg ANIM_TARGET
blendoff
waitforvisualfinish
@@ -7259,7 +7259,7 @@ Move_POISON_TAIL:
loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_POISON_BUBBLE
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
- createvisualtask sub_81144F8, 5, 1, 1, RGB(24, 6, 23)
+ createvisualtask AnimTask_MetallicShine, 5, 1, 1, RGB(24, 6, 23)
waitforvisualfinish
monbg ANIM_TARGET
setalpha 12, 8
@@ -7269,7 +7269,7 @@ Move_POISON_TAIL:
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
- createvisualtask sub_811489C, 5, 0, 1
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1
clearmonbg ANIM_TARGET
blendoff
call PoisonBubblesEffect
@@ -7279,7 +7279,7 @@ Move_POISON_TAIL:
Move_METAL_CLAW:
loadspritegfx ANIM_TAG_CLAW_SLASH
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
- createvisualtask sub_81144F8, 5, 0, 0, 0
+ createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0
waitforvisualfinish
createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4
delay 2
@@ -7346,8 +7346,8 @@ Move_SHADOW_BALL:
fadetobg BG_GHOST
waitbgfadein
delay 15
- createsoundtask sub_8158C58, 168, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 5, 0, 5
- createsprite gUnknown_08596D58, ANIM_TARGET, 2, 16, 16, 8
+ createsoundtask sub_8158C58, SE_W054, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 5, 0, 5
+ createsprite gShadowBallSpriteTemplate, ANIM_TARGET, 2, 16, 16, 8
waitforvisualfinish
playsewithpan SE_W028, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 8, 1
@@ -7459,7 +7459,7 @@ Move_STRING_SHOT:
end
StringShot1:
- createsprite gUnknown_085969E0, ANIM_TARGET, 2, 20, 0, 512, 20, 1
+ createsprite gWebThreadSpriteTemplate, ANIM_TARGET, 2, 20, 0, 512, 20, 1
delay 1
return
@@ -7488,7 +7488,7 @@ Move_SPIDER_WEB:
call SpiderWeb1
waitforvisualfinish
playsewithpan SE_W081B, SOUND_PAN_TARGET
- createsprite gUnknown_08596A2C, ANIM_ATTACKER, 2
+ createsprite gSpiderWebSpriteTemplate, ANIM_ATTACKER, 2
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
delay 1
@@ -7496,7 +7496,7 @@ Move_SPIDER_WEB:
end
SpiderWeb1:
- createsprite gUnknown_085969E0, ANIM_TARGET, 2, 20, 0, 512, 20, 0
+ createsprite gWebThreadSpriteTemplate, ANIM_TARGET, 2, 20, 0, 512, 20, 0
delay 1
return
@@ -7941,16 +7941,16 @@ Move_PERISH_SONG:
panse_1B SE_W195, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
delay 80
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 16, RGB_BLACK
- createvisualtask sub_811489C, 5, 4, 0
- createvisualtask sub_811489C, 5, 5, 0
- createvisualtask sub_811489C, 5, 6, 0
- createvisualtask sub_811489C, 5, 7, 0
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 4, 0
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 5, 0
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 6, 0
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 7, 0
delay 100
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 16, 0, RGB_BLACK
- createvisualtask sub_811489C, 5, 4, 1
- createvisualtask sub_811489C, 5, 5, 1
- createvisualtask sub_811489C, 5, 6, 1
- createvisualtask sub_811489C, 5, 7, 1
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 4, 1
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 5, 1
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 6, 1
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 7, 1
waitforvisualfinish
end
@@ -8019,7 +8019,7 @@ Move_TRI_ATTACK:
delay 20
playsewithpan SE_W161, SOUND_PAN_ATTACKER
delay 20
- createsoundtask sub_8158C58, 220, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 6, 0, 7
+ createsoundtask sub_8158C58, SE_W161, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 6, 0, 7
waitforvisualfinish
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 16, RGB_BLACK
delay 16
@@ -8356,7 +8356,7 @@ Move_HYPER_BEAM:
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 4, 1
waitforvisualfinish
delay 30
- createsoundtask sub_8158C58, 247, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 1, 15, 0, 5
+ createsoundtask sub_8158C58, SE_W063B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 1, 15, 0, 5
createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1
createvisualtask sub_8115D94, 2, ANIM_TAG_ORBS, 1, 12, 31, 16, 0, 0
call HyperBeam1
@@ -9419,7 +9419,7 @@ Move_SEISMIC_TOSS:
waitforvisualfinish
createvisualtask AnimTask_GetSeismicTossDamageLevel, 3
delay 1
- fadetobg BG_SEISMICTOSS_SKUUPPERCUT
+ fadetobg BG_IN_AIR
waitbgfadeout
createvisualtask sub_811152C, 3
playsewithpan SE_W327, 0
@@ -9570,7 +9570,7 @@ Move_DOOM_DESIRE:
createvisualtask sub_8114960, 2
delay 1
monbg ANIM_ATK_PARTNER
- createvisualtask sub_811489C, 5, 1, 0
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_TARGET, 0
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 4, RGB_BLACK
waitforvisualfinish
setalpha 8, 8
@@ -9578,7 +9578,7 @@ Move_DOOM_DESIRE:
createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_ATTACKER, 1
waitforvisualfinish
delay 20
- createvisualtask sub_811489C, 5, 1, 1
+ createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_TARGET, 1
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 4, 0, RGB_BLACK
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
@@ -9589,7 +9589,7 @@ Move_SKY_UPPERCUT:
loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
- fadetobg BG_SEISMICTOSS_SKUUPPERCUT
+ fadetobg BG_IN_AIR
waitbgfadeout
playsewithpan SE_W327, SOUND_PAN_ATTACKER
createvisualtask sub_810DABC, 5, 55
@@ -10165,21 +10165,21 @@ UnsetPsychicBackground:
waitbgfadein
return
-SetFlyingBg:
- jumpifcontest SetBgFlyingContest
- fadetobg BG_FLYING
+SetSkyBg:
+ jumpifcontest SetSkyBgContest
+ fadetobg BG_SKY
waitbgfadeout
createvisualtask sub_8117660, 5, -2304, 768, 1, -1
-SetBgFlyingContinue:
+SetSkyBgContinue:
waitbgfadein
return
-SetBgFlyingContest:
- fadetobg BG_FLYING_CONTESTS
+SetSkyBgContest:
+ fadetobg BG_SKY_CONTESTS
waitbgfadeout
createvisualtask sub_8117660, 5, 2304, 768, 0, -1
- goto SetBgFlyingContinue
+ goto SetSkyBgContinue
-UnsetFlyingBg:
+UnsetSkyBg:
restorebg
waitbgfadeout
setarg 7, -1
@@ -10237,13 +10237,13 @@ Burn1:
Status_Infatuation:
loadspritegfx ANIM_TAG_MAGENTA_HEART
playsewithpan SE_W204, SOUND_PAN_ATTACKER
- createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20
+ createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20
delay 15
playsewithpan SE_W204, SOUND_PAN_ATTACKER
- createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20
+ createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, -20, 20
delay 15
playsewithpan SE_W204, SOUND_PAN_ATTACKER
- createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20
+ createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20
end
Status_Sleep:
diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s
index b0c753752..244a3ac05 100644
--- a/data/battle_scripts_1.s
+++ b/data/battle_scripts_1.s
@@ -284,8 +284,7 @@ BattleScript_HitFromAtkAnimation::
seteffectwithchance
tryfaintmon BS_TARGET, FALSE, NULL
BattleScript_MoveEnd::
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x0, 0x0
+ moveendall
end
BattleScript_MakeMoveMissed::
@@ -423,8 +422,7 @@ BattleScript_ExplosionLoop:
resultmessage
waitmessage 0x40
tryfaintmon BS_TARGET, FALSE, NULL
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x2, 0x10
+ moveendto ATK49_NEXT_TARGET
jumpifnexttargetvalid BattleScript_ExplosionLoop
tryfaintmon BS_ATTACKER, FALSE, NULL
end
@@ -432,8 +430,7 @@ BattleScript_ExplosionMissed:
effectivenesssound
resultmessage
waitmessage 0x40
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x2, 0x10
+ moveendto ATK49_NEXT_TARGET
jumpifnexttargetvalid BattleScript_ExplosionLoop
tryfaintmon BS_ATTACKER, FALSE, NULL
end
@@ -514,7 +511,7 @@ BattleScript_EffectStatUp::
BattleScript_EffectStatUpAfterAtkCanceler::
attackstring
ppreduce
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_StatUpEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_StatUpEnd
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_StatUpAttackAnim
pause 0x20
goto BattleScript_StatUpPrintString
@@ -560,7 +557,7 @@ BattleScript_EffectStatDown::
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
- statbuffchange 0x1, BattleScript_StatDownEnd
+ statbuffchange STAT_CHANGE_BS_PTR, BattleScript_StatDownEnd
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, 0x2, BattleScript_StatDownDoAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x3, BattleScript_StatDownEnd
pause 0x20
@@ -657,8 +654,7 @@ BattleScript_DoMultiHit::
printstring STRINGID_EMPTYSTRING3
waitmessage 0x1
addbyte sMULTIHIT_STRING + 4, 0x1
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x2, 0x10
+ moveendto ATK49_NEXT_TARGET
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_MultiHitPrintStrings
decrementmultihit BattleScript_MultiHitLoop
goto BattleScript_MultiHitPrintStrings
@@ -674,10 +670,8 @@ BattleScript_MultiHitPrintStrings::
BattleScript_MultiHitEnd::
seteffectwithchance
tryfaintmon BS_TARGET, FALSE, NULL
- setbyte sMOVEEND_STATE, 0x2
- moveend 0x1, 0x0
- setbyte sMOVEEND_STATE, 0x4
- moveend 0x0, 0x0
+ moveendcase ATK49_SYNCHRONIZE_TARGET
+ moveendfrom ATK49_STATUS_IMMUNITY_ABILITIES
end
BattleScript_EffectConversion::
@@ -1441,8 +1435,7 @@ BattleScript_DoTripleKickAttack::
waitmessage 0x40
printstring STRINGID_EMPTYSTRING3
waitmessage 0x1
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x2, 0x10
+ moveendto ATK49_NEXT_TARGET
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_TripleKickPrintStrings
decrementmultihit BattleScript_TripleKickLoop
goto BattleScript_TripleKickPrintStrings
@@ -1461,8 +1454,7 @@ BattleScript_TripleKickPrintStrings::
BattleScript_TripleKickEnd::
seteffectwithchance
tryfaintmon BS_TARGET, FALSE, NULL
- setbyte sMOVEEND_STATE, 0xE
- moveend 0x0, 0x0
+ moveendfrom ATK49_UPDATE_LAST_MOVES
end
BattleScript_EffectThief::
@@ -1521,17 +1513,17 @@ BattleScript_CurseTrySpeed::
attackanimation
waitanimation
setstatchanger STAT_SPEED, 1, TRUE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CurseTryAttack
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CurseTryAttack
printfromtable gStatDownStringIds
waitmessage 0x40
BattleScript_CurseTryAttack::
setstatchanger STAT_ATK, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CurseTryDefence
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CurseTryDefence
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_CurseTryDefence::
setstatchanger STAT_DEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CurseEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CurseEnd
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_CurseEnd::
@@ -1643,7 +1635,7 @@ BattleScript_EffectSwagger::
attackanimation
waitanimation
setstatchanger STAT_ATK, 2, FALSE
- statbuffchange 0x1, BattleScript_SwaggerTryConfuse
+ statbuffchange STAT_CHANGE_BS_PTR, BattleScript_SwaggerTryConfuse
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_SwaggerTryConfuse
setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@@ -1842,7 +1834,7 @@ BattleScript_EffectSkullBash::
setbyte sTWOTURN_STRINGID, 0x2
call BattleScriptFirstChargingTurn
setstatchanger STAT_DEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_SkullBashEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_SkullBashEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_SkullBashEnd
setgraphicalstatchangevalues
playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@@ -1893,8 +1885,7 @@ BattleScript_DoHitAllWithUndergroundBonus::
printstring STRINGID_EMPTYSTRING3
waitmessage 0x1
tryfaintmon BS_TARGET, FALSE, NULL
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x2, 0x10
+ moveendto ATK49_NEXT_TARGET
jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop
end
BattleScript_HitAllWithUndergroundBonusMissed::
@@ -1903,8 +1894,7 @@ BattleScript_HitAllWithUndergroundBonusMissed::
effectivenesssound
resultmessage
waitmessage 0x40
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x2, 0x10
+ moveendto ATK49_NEXT_TARGET
jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop
end
@@ -1995,8 +1985,7 @@ BattleScript_BeatUpAttack::
resultmessage
waitmessage 0x40
tryfaintmon BS_TARGET, FALSE, NULL
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x2, 0x10
+ moveendto ATK49_NEXT_TARGET
goto BattleScript_BeatUpLoop
BattleScript_BeatUpEnd::
end
@@ -2048,7 +2037,7 @@ BattleScript_EffectDefenseCurl::
ppreduce
setdefensecurlbit
setstatchanger STAT_DEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_DefenseCurlDoStatUpAnim
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_DefenseCurlDoStatUpAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_StatUpPrintString
attackanimation
waitanimation
@@ -2189,7 +2178,7 @@ BattleScript_EffectFlatter::
attackanimation
waitanimation
setstatchanger STAT_SPATK, 1, FALSE
- statbuffchange 0x1, BattleScript_FlatterTryConfuse
+ statbuffchange STAT_CHANGE_BS_PTR, BattleScript_FlatterTryConfuse
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_FlatterTryConfuse
setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@@ -2246,14 +2235,14 @@ BattleScript_EffectMemento::
playstatchangeanimation BS_TARGET, BIT_ATK | BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO | ATK48_ONLY_MULTIPLE
playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO
setstatchanger STAT_ATK, 2, TRUE
- statbuffchange 0x1, BattleScript_EffectMementoTrySpAtk
+ statbuffchange STAT_CHANGE_BS_PTR, BattleScript_EffectMementoTrySpAtk
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_EffectMementoTrySpAtk
printfromtable gStatDownStringIds
waitmessage 0x40
BattleScript_EffectMementoTrySpAtk:
playstatchangeanimation BS_TARGET, BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO
setstatchanger STAT_SPATK, 2, TRUE
- statbuffchange 0x1, BattleScript_EffectMementoTryFaint
+ statbuffchange STAT_CHANGE_BS_PTR, BattleScript_EffectMementoTryFaint
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_EffectMementoTryFaint
printfromtable gStatDownStringIds
waitmessage 0x40
@@ -2395,7 +2384,7 @@ BattleScript_EffectWish::
BattleScript_EffectAssist::
attackcanceler
attackstring
- asistattackselect BattleScript_ButItFailedPpReduce
+ assistattackselect BattleScript_ButItFailedPpReduce
attackanimation
waitanimation
setbyte sB_ANIM_TURN, 0x0
@@ -2617,8 +2606,7 @@ BattleScript_TeeterDanceLoop::
resultmessage
waitmessage 0x40
BattleScript_TeeterDanceDoMoveEndIncrement::
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x2, 0x10
+ moveendto ATK49_NEXT_TARGET
BattleScript_TeeterDanceLoopIncrement::
addbyte gBattlerTarget, 0x1
jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_TeeterDanceLoop
@@ -2692,14 +2680,14 @@ BattleScript_TickleDoMoveAnim::
playstatchangeanimation BS_TARGET, BIT_ATK | BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE
playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE
setstatchanger STAT_ATK, 1, TRUE
- statbuffchange 0x1, BattleScript_TickleTryLowerDef
+ statbuffchange STAT_CHANGE_BS_PTR, BattleScript_TickleTryLowerDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TickleTryLowerDef
printfromtable gStatDownStringIds
waitmessage 0x40
BattleScript_TickleTryLowerDef::
playstatchangeanimation BS_TARGET, BIT_DEF, ATK48_STAT_NEGATIVE
setstatchanger STAT_DEF, 1, TRUE
- statbuffchange 0x1, BattleScript_TickleEnd
+ statbuffchange STAT_CHANGE_BS_PTR, BattleScript_TickleEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TickleEnd
printfromtable gStatDownStringIds
waitmessage 0x40
@@ -2725,13 +2713,13 @@ BattleScript_CosmicPowerDoMoveAnim::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_SPDEF, 0x0
setstatchanger STAT_DEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CosmicPowerTrySpDef
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CosmicPowerTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CosmicPowerTrySpDef
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_CosmicPowerTrySpDef::
setstatchanger STAT_SPDEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CosmicPowerEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CosmicPowerEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CosmicPowerEnd
printfromtable gStatUpStringIds
waitmessage 0x40
@@ -2754,13 +2742,13 @@ BattleScript_BulkUpDoMoveAnim::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, 0x0
setstatchanger STAT_ATK, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_BulkUpTryDef
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_BulkUpTryDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_BulkUpTryDef
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_BulkUpTryDef::
setstatchanger STAT_DEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_BulkUpEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_BulkUpEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_BulkUpEnd
printfromtable gStatUpStringIds
waitmessage 0x40
@@ -2779,13 +2767,13 @@ BattleScript_CalmMindDoMoveAnim::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_SPATK | BIT_SPDEF, 0x0
setstatchanger STAT_SPATK, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CalmMindTrySpDef
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CalmMindTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CalmMindTrySpDef
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_CalmMindTrySpDef::
setstatchanger STAT_SPDEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CalmMindEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CalmMindEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CalmMindEnd
printfromtable gStatUpStringIds
waitmessage 0x40
@@ -2811,13 +2799,13 @@ BattleScript_DragonDanceDoMoveAnim::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_SPEED, 0x0
setstatchanger STAT_ATK, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_DragonDanceTrySpeed
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_DragonDanceTrySpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_DragonDanceTrySpeed
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_DragonDanceTrySpeed::
setstatchanger STAT_SPEED, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_DragonDanceEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_DragonDanceEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_DragonDanceEnd
printfromtable gStatUpStringIds
waitmessage 0x40
@@ -3140,10 +3128,8 @@ BattleScript_DoSwitchOut::
switchinanim BS_ATTACKER, FALSE
waitstate
switchineffects BS_ATTACKER
- setbyte sMOVEEND_STATE, 0x4
- moveend 0x1, 0x0
- setbyte sMOVEEND_STATE, 0xF
- moveend 0x1, 0x0
+ moveendcase ATK49_STATUS_IMMUNITY_ABILITIES
+ moveendcase ATK49_MIRROR_MOVE
end2
BattleScript_PursuitDmgOnSwitchOut::
@@ -3166,8 +3152,7 @@ BattleScript_PursuitDmgOnSwitchOut::
resultmessage
waitmessage 0x40
tryfaintmon BS_TARGET, FALSE, NULL
- setbyte sMOVEEND_STATE, 0x3
- moveend 0x2, 0x6
+ moveendfromto ATK49_MOVE_END_ABILITIES, ATK49_CHOICE_MOVE
various4 BS_TARGET
jumpifbyte CMP_EQUAL, gBattleCommunication, 0x0, BattleScript_PursuitDmgOnSwitchOutRet
setbyte sGIVEEXP_STATE, 0x0
@@ -3395,8 +3380,7 @@ BattleScript_DisabledNoMore::
BattleScript_SelectingDisabledMoveInPalace::
printstring STRINGID_PKMNMOVEISDISABLED
BattleScript_SelectingUnusableMoveInPalace::
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x2, 0x10
+ moveendto ATK49_NEXT_TARGET
end
BattleScript_EncoredNoMore::
@@ -3425,8 +3409,7 @@ BattleScript_SpikesOnAttacker::
BattleScript_SpikesOnAttackerFainted::
setbyte sGIVEEXP_STATE, 0x0
getexp BS_ATTACKER
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x0, 0x0
+ moveendall
goto BattleScript_HandleFaintedMon
BattleScript_SpikesOnTarget::
@@ -3441,8 +3424,7 @@ BattleScript_SpikesOnTarget::
BattleScript_SpikesOnTargetFainted::
setbyte sGIVEEXP_STATE, 0x0
getexp BS_TARGET
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x0, 0x0
+ moveendall
goto BattleScript_HandleFaintedMon
BattleScript_SpikesOnFaintedBattler::
@@ -3457,8 +3439,7 @@ BattleScript_SpikesOnFaintedBattler::
BattleScript_SpikesOnFaintedBattlerFainted::
setbyte sGIVEEXP_STATE, 0x0
getexp BS_FAINTED
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x0, 0x0
+ moveendall
goto BattleScript_HandleFaintedMon
BattleScript_PrintHurtBySpikes::
@@ -3490,27 +3471,27 @@ BattleScript_AllStatsUpAtk::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED | BIT_SPATK | BIT_SPDEF, 0x0
setstatchanger STAT_ATK, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_AllStatsUpDef
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpDef
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_AllStatsUpDef::
setstatchanger STAT_DEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpeed
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpSpeed
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_AllStatsUpSpeed::
setstatchanger STAT_SPEED, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpAtk
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpSpAtk
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_AllStatsUpSpAtk::
setstatchanger STAT_SPATK, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpDef
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpSpDef
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_AllStatsUpSpDef::
setstatchanger STAT_SPDEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_AllStatsUpRet
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpRet
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_AllStatsUpRet::
@@ -3562,10 +3543,8 @@ BattleScript_DoFutureAttackHit::
tryfaintmon BS_TARGET, FALSE, NULL
atk24 BattleScript_FutureAttackEnd
BattleScript_FutureAttackEnd::
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x1, 0x0
- setbyte sMOVEEND_STATE, 0xB
- moveend 0x2, 0xE
+ moveendcase ATK49_RAGE
+ moveendfromto ATK49_ITEM_EFFECTS_ALL, ATK49_UPDATE_LAST_MOVES
setbyte gMoveResultFlags, 0
end2
@@ -3659,14 +3638,14 @@ BattleScript_AtkDefDown::
playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_ATK, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE
playstatchangeanimation BS_ATTACKER, BIT_ATK, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE
setstatchanger STAT_ATK, 1, TRUE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | 0x1, BattleScript_82DB144
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_BS_PTR, BattleScript_82DB144
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB144
printfromtable gStatDownStringIds
waitmessage 0x40
BattleScript_82DB144::
playstatchangeanimation BS_ATTACKER, BIT_DEF, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE
setstatchanger STAT_DEF, 1, TRUE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | 0x1, BattleScript_82DB167
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_BS_PTR, BattleScript_82DB167
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB167
printfromtable gStatDownStringIds
waitmessage 0x40
@@ -3732,7 +3711,7 @@ BattleScript_SAtkDown2::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_SPATK, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO
setstatchanger STAT_SPATK, 2, TRUE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | 0x1, BattleScript_SAtkDown2End
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_BS_PTR, BattleScript_SAtkDown2End
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_SAtkDown2End
printfromtable gStatDownStringIds
waitmessage 0x40
@@ -4063,7 +4042,7 @@ BattleScript_IntimidateActivatesLoop:
jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_IntimidatePrevented
jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_IntimidatePrevented
jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_IntimidatePrevented
- statbuffchange 0x21, BattleScript_IntimidateActivatesLoopIncrement
+ statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_BS_PTR, BattleScript_IntimidateActivatesLoopIncrement
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_IntimidateActivatesLoopIncrement
setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@@ -4254,8 +4233,7 @@ BattleScript_AbilityCuredStatus::
BattleScript_IgnoresWhileAsleep::
printstring STRINGID_PKMNIGNORESASLEEP
waitmessage 0x40
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x2, 0x10
+ moveendto ATK49_NEXT_TARGET
end
BattleScript_IgnoresAndUsesRandomMove::
@@ -4271,8 +4249,7 @@ BattleScript_MoveUsedLoafingAround::
BattleScript_82DB6C7::
printfromtable gInobedientStringIds
waitmessage 0x40
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x2, 0x10
+ moveendto ATK49_NEXT_TARGET
end
BattleScript_IgnoresAndFallsAsleep::
@@ -4280,8 +4257,7 @@ BattleScript_IgnoresAndFallsAsleep::
waitmessage 0x40
setmoveeffect MOVE_EFFECT_SLEEP | MOVE_EFFECT_AFFECTS_USER
seteffectprimary
- setbyte sMOVEEND_STATE, 0x0
- moveend 0x2, 0x10
+ moveendto ATK49_NEXT_TARGET
end
BattleScript_IgnoresAndHitsItself::
@@ -4444,7 +4420,7 @@ BattleScript_BerryConfuseHealEnd2::
BattleScript_BerryStatRaiseEnd2::
playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
- statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_82DB85B
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_82DB85B
BattleScript_82DB85B::
setbyte cMULTISTRING_CHOOSER, 0x4
call BattleScript_StatUp
diff --git a/data/berry_crush.s b/data/berry_crush.s
new file mode 100755
index 000000000..6535cd558
--- /dev/null
+++ b/data/berry_crush.s
@@ -0,0 +1,363 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gUnknown_082F325C:: @ 82F325C
+ .byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
+
+ .align 2
+gUnknown_082F3264:: @ 82F3264
+ .byte 0x00, 0x01, 0x02, 0x03, 0x05, 0x00, 0x00, 0x00
+
+ .align 2
+gUnknown_082F326C:: @ 82F326C
+ .byte 0x04, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0x04
+ .byte 0x02, 0x00, 0xff, 0x00, 0x00, 0x00, 0x04, 0x02
+ .byte 0x00, 0xfe, 0x00, 0x00, 0x00, 0x06, 0x03, 0x01
+ .byte 0xff, 0xfd, 0xff, 0x00, 0x06, 0x04, 0x01, 0xfe
+ .byte 0xfc, 0xfe, 0x00, 0x00
+
+ .align 2
+gUnknown_082F3290:: @ 82F3290
+ .byte 0x03, 0x02, 0x01, 0x00, 0x03, 0x03, 0x01, 0x00
+ .byte 0x03, 0x03, 0x02, 0x00, 0x03, 0x04, 0x02, 0x00
+ .byte 0x03, 0x05, 0x03, 0x00
+
+ .align 2
+gUnknown_082F32A4:: @ 82F32A4
+ .4byte gText_ReadyToBerryCrush
+ .4byte gText_WaitForAllChooseBerry
+ .4byte gText_EndedWithXUnitsPowder
+ .4byte gText_RecordingGameResults
+ .4byte gText_PlayBerryCrushAgain
+ .4byte gText_YouHaveNoBerries
+ .4byte gText_MemberDroppedOut
+ .4byte gText_TimesUpNoGoodPowder
+ .4byte gText_CommunicationStandby2
+
+ .align 2
+gUnknown_082F32C8:: @ 82F32C8 struct BgTemplate
+ .4byte 0x000000F8
+
+ .align 2
+gUnknown_082F32CC:: @ 82F32CC struct BgTemplate? not sure
+ .byte 0xd1, 0x14, 0x00, 0x00, 0xc2, 0x20, 0x00, 0x00
+ .byte 0xb3, 0x30, 0x00, 0x00
+
+ .align 2
+gUnknown_082F32D8:: @ 82F32D8
+ .byte 0x01, 0x02, 0x03
+
+gUnknown_082F32DB:: @ 82F32DB
+ .byte 0x00, 0x01, 0x02
+
+gUnknown_082F32DE:: @ 82F32DE
+ .byte 0x00, 0x03, 0x04
+
+gUnknown_082F32E1:: @ 82F32E1
+ .byte 0x01, 0x08, 0x09
+ .byte 0x01, 0x06, 0x07
+
+gUnknown_082F32E7:: @ 82F32E7
+ .byte 0x01, 0x04, 0x05
+
+ .align 2
+gUnknown_082F32EC:: @ 82F32EC
+ window_template 0x00, 0x03, 0x04, 0x18, 0x0d, 0x0f, 0x0001
+
+ .align 2
+gUnknown_082F32F4:: @ 82F32F4
+ window_template 0x00, 0x00, 0x00, 0x09, 0x02, 0x08, 0x03ed
+ window_template 0x00, 0x00, 0x03, 0x09, 0x02, 0x08, 0x03db
+ window_template 0x00, 0x00, 0x06, 0x09, 0x02, 0x08, 0x03c9
+ window_template 0x00, 0x15, 0x03, 0x09, 0x02, 0x08, 0x03b7
+ window_template 0x00, 0x15, 0x06, 0x09, 0x02, 0x08, 0x03a5
+ null_window_template
+
+ window_template 0x00, 0x05, 0x02, 0x14, 0x10, 0x0f, 0x0001
+ window_template 0x00, 0x05, 0x02, 0x14, 0x10, 0x0f, 0x0001
+ window_template 0x00, 0x04, 0x02, 0x16, 0x10, 0x0f, 0x0001
+ null_window_template
+
+ .align 2
+gUnknown_082F3344:: @ 82F3344
+ .byte 0x06, 0x08, 0x09, 0x0b, 0x0c, 0x0e, 0x0f, 0x10
+
+ .align 2
+gUnknown_082F334C:: @ 82F334C
+ .byte 0x80, 0xf0, 0xfa, 0x02, 0x40, 0x78, 0x7d, 0x01
+ .byte 0x20, 0xbc, 0xbe, 0x00, 0x10, 0x5e, 0x5f, 0x00
+ .byte 0x08, 0xaf, 0x2f, 0x00, 0x84, 0xd7, 0x17, 0x00
+ .byte 0xc2, 0xeb, 0x0b, 0x00, 0xe1, 0xf5, 0x05, 0x00
+
+ .align 2
+gBerryCrushGrinderBasePal:: @ 82F336C
+ .incbin "graphics/link_games/berrycrush_grinder_base.gbapal"
+
+ .align 2
+gBerryCrushMiscSpritesPal:: @ 82F338C
+ .incbin "graphics/link_games/berrycrush_misc.gbapal"
+
+ .align 2
+gBerryCrushTimerDigitsPal:: @ 82F33AC
+ .incbin "graphics/link_games/berrycrush_timerdigits.gbapal"
+
+ .align 2
+gBerryCrushGrinderBaseGfx:: @ 82F33CC
+ .incbin "graphics/link_games/berrycrush_grinder_base.4bpp.lz"
+
+ .align 2
+gBerryCrushBtnPressGfx:: @ 82F36F8
+ .incbin "graphics/link_games/berrycrush_btnpress.4bpp.lz"
+
+ .align 2
+gBerryCrushSparkleGfx:: @ 82F3A74
+ .incbin "graphics/link_games/berrycrush_sparkle.4bpp.lz"
+
+ .align 2
+gBerryCrushTimerDigitsGfx:: @ 82F3BC0
+ .incbin "graphics/link_games/berrycrush_timerdigits.4bpp.lz"
+
+ .align 2
+gBerryCrushGrinderTopTilemap:: @ 82F3C8C
+ .incbin "graphics/link_games/berrycrush_grinder_top.bin.lz"
+
+ .align 2
+gBerryCrushContainerCapTilemap:: @ 82F3DBC
+ .incbin "graphics/link_games/berrycrush_container_cap.bin.lz"
+
+ .align 2
+gBerryCrushBackgroundTilemap:: @ 82F3F54
+ .incbin "graphics/link_games/berrycrush_background.bin.lz"
+
+ .align 2
+gUnknown_082F417C:: @ 82F417C
+ .byte 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03
+ .byte 0x00, 0x00, 0x01, 0x03, 0x02, 0x04, 0x00, 0x00
+ .byte 0x01, 0x03, 0x02, 0x04
+
+ .align 2
+gUnknown_082F4190:: @ 82F4190
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff
+ .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00
+ .byte 0xe4, 0xff, 0xfc, 0xff, 0xe8, 0xff, 0x10, 0x00
+ .byte 0x02, 0x00, 0x06, 0x00, 0xf0, 0xff, 0x14, 0x00
+ .byte 0xf8, 0xff, 0x10, 0x00, 0x03, 0x14, 0x03, 0x00
+ .byte 0x1c, 0x00, 0xfc, 0xff, 0x20, 0x00, 0xf8, 0xff
+ .byte 0x04, 0x14, 0x06, 0x00, 0x10, 0x00, 0x14, 0x00
+ .byte 0x10, 0x00, 0xf8, 0xff
+
+ .align 2
+gUnknown_082F41CC:: @ 82F41CC
+ .byte 0x00, 0x00
+ .byte 0xff, 0x00
+ .byte 0x01, 0x01
+
+gUnknown_082F41D2::
+ .byte 0x00, 0x00
+ .byte 0xf0, 0xfc
+ .byte 0x10, 0xfc
+ .byte 0xf8, 0xfe
+ .byte 0x08, 0xfe
+ .byte 0xe8, 0xf8
+ .byte 0x18, 0xf8
+ .byte 0xe0, 0xf4
+ .byte 0x20, 0xf4
+ .byte 0xd8, 0xf0
+ .byte 0x28, 0xf0
+
+ .align 2
+gUnknown_082F41E8:: @ 82F41E8
+ .2byte 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x0000
+
+ .align 2
+gUnknown_082F41F4:: @ 82F41F4
+ .4byte gBerryCrushGrinderBaseGfx
+ .2byte 0x0800, 0x0001
+
+ .4byte gBerryCrushBtnPressGfx
+ .2byte 0x0e00, 0x0002
+
+ .4byte gBerryCrushSparkleGfx
+ .2byte 0x0700, 0x0003
+
+ .align 2
+gUnknown_082F420C:: @ 82F420C
+ .4byte gBerryCrushTimerDigitsGfx
+ .2byte 0x02c0, 0x0004
+
+ .4byte NULL
+ .2byte 0x0000, 0x0000
+
+ .align 2
+gUnknown_082F421C:: @ 82F421C
+ .4byte gBerryCrushGrinderBasePal
+ .2byte 0x0001
+
+ .align 2
+ .4byte gBerryCrushMiscSpritesPal
+ .2byte 0x0002
+
+ .align 2
+gUnknown_082F422C:: @ 82F422C
+ .align 2
+ .4byte gBerryCrushTimerDigitsPal
+ .2byte 0x0004
+
+ .align 2
+ .4byte NULL
+ .2byte 0x0000
+
+ .align 2
+gUnknown_082F423C:: @ 82F423C
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082F4244:: @ 82F4244
+ .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082F4254:: @ 82F4254
+ .2byte 0x0030, 0x0002, 0x0040, 0x0002, 0x0050, 0x0002, 0x0060, 0x0002
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082F4268:: @ 82F4268
+ .2byte 0x0000, 0x0002, 0x0004, 0x0002, 0x0008, 0x0002, 0x000c, 0x0002
+ .2byte 0x0010, 0x0002, 0x0014, 0x0002, 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082F4284:: @ 82F4284
+ .2byte 0x0018, 0x0004, 0x001c, 0x0004, 0x0020, 0x0004, 0x0024, 0x0004
+ .2byte 0x0028, 0x0004, 0x002c, 0x0004, 0x0030, 0x0004, 0x0034, 0x0004
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082F42A8:: @ 82F42A8
+ .2byte 0x0014, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082F42B0:: @ 82F42B0
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082F42B8:: @ 82F42B8
+ .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0102, 0x0000
+ .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
+
+ .align 2
+gUnknown_082F42D0:: @ 82F42D0
+ .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x01fe, 0x0000
+ .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
+
+ .align 2
+gUnknown_082F42E8:: @ 82F42E8
+ .4byte gUnknown_082F423C
+
+ .align 2
+gUnknown_082F42EC:: @ 82F42EC
+ .4byte gUnknown_082F4244
+ .4byte gUnknown_082F4254
+
+ .align 2
+gUnknown_082F42F4:: @ 82F42F4
+ .4byte gUnknown_082F4268
+ .4byte gUnknown_082F4284
+
+ .align 2
+gUnknown_082F42FC:: @ 82F42FC
+ .4byte gUnknown_082F42A8
+
+ .align 2
+gUnknown_082F4300:: @ 82F4300
+ .4byte gUnknown_082F42B0
+
+ .align 2
+gUnknown_082F4304:: @ 82F4304
+ .4byte gUnknown_082F42B8
+ .4byte gUnknown_082F42D0
+
+ .align 2
+gUnknown_082F430C:: @ 82F430C
+ spr_template 0x0001, 0x0001, gUnknown_0852491C, gUnknown_082F42E8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_082F4324:: @ 82F4324
+ spr_template 0x0002, 0x0002, gUnknown_08524914, gUnknown_082F42EC, NULL, gDummySpriteAffineAnimTable, sub_8022A20
+
+ .align 2
+gUnknown_082F433C:: @ 82F433C
+ spr_template 0x0003, 0x0002, gUnknown_0852490C, gUnknown_082F42F4, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_082F4354:: @ 82F4354
+ spr_template 0x0004, 0x0004, gUnknown_08524944, gUnknown_082F42FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_082F436C:: @ 82F436C
+ spr_template 0x0005, 0x0005, gUnknown_085249D4, gUnknown_082F4300, NULL, gUnknown_082F4304, SpriteCallbackDummy
+
+ .align 2
+gUnknown_082F4384:: @ 82F4384
+ .byte 0x09, 0x02, 0x08, 0x00, 0x9c, 0x00, 0x00, 0x00
+ .4byte gUnknown_082F420C
+ .4byte gUnknown_082F422C
+
+ .byte 0x08, 0x02, 0x08, 0x00, 0xb4, 0x00, 0x00, 0x00
+ .4byte gUnknown_082F420C
+ .4byte gUnknown_082F422C
+
+ .byte 0x08, 0x02, 0x08, 0x00, 0xcc, 0x00, 0x00, 0x00
+ .4byte gUnknown_082F420C
+ .4byte gUnknown_082F422C
+
+ .align 2
+gUnknown_082F43B4:: @ 82F43B4
+ .4byte gText_SpaceTimes2
+ .4byte gText_XDotY
+ .4byte gText_Var1Berry
+ .4byte gText_NeatnessRankings
+ .4byte gText_CoopRankings
+ .4byte gText_PressingPowerRankings
+
+ .align 2
+gUnknown_082F43CC:: @ 82F43CC
+ .4byte NULL
+ .4byte sub_8022C58
+ .4byte sub_8022CB0
+ .4byte sub_8022D14
+ .4byte sub_8022E1C
+ .4byte sub_8022E3C
+ .4byte sub_8022E5C
+ .4byte sub_8022EAC
+ .4byte sub_8022F04
+ .4byte sub_8022F1C
+ .4byte sub_8023070
+ .4byte sub_80231B8
+ .4byte sub_80232EC
+ .4byte sub_80238F0
+ .4byte sub_8023998
+ .4byte sub_8023A30
+ .4byte sub_8023BC0
+ .4byte sub_8023CAC
+ .4byte sub_8024048
+ .4byte sub_8024134
+ .4byte sub_8024228
+ .4byte sub_80242E0
+ .4byte sub_80243BC
+ .4byte sub_8024444
+ .4byte sub_8024508
+ .4byte sub_8024568
+
+ .align 2
+gUnknown_082F4434:: @ 82F4434
+ .byte 0x02, 0x04, 0x06, 0x07, 0x03, 0x05, 0x08, 0x0b
+ .byte 0x03, 0x07, 0x0b, 0x0f, 0x04, 0x08, 0x0c, 0x11
+
+gUnknown_082F4444:: @ 82F4444
+ .byte 0x05, 0x07, 0x09, 0x0c
+
+gUnknown_082F4448:: @ 82F4448
+ .byte 0x03, 0x07, 0x0f, 0x1f
diff --git a/data/berry_powder.s b/data/berry_powder.s
new file mode 100755
index 000000000..2e8002bdd
--- /dev/null
+++ b/data/berry_powder.s
@@ -0,0 +1,36 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+
+ .align 2
+gUnknown_082F7BA4_UnrefDupe:: @ 82F444C struct BgTemplate(???)
+ .4byte 0x000001e0
+ .4byte 0x000012c9
+ .4byte 0x000012ea
+ .4byte 0x000021ff
+ .4byte 0x000000ff
+ .4byte 0x00000000
+
+ .align 2
+gUnknown_082F7BBC_UnrefDupe:: @ 82F4464
+ window_template 0x00, 0x01, 0x01, 0x1c, 0x02, 0x0d, 0x0013
+ window_template 0x00, 0x01, 0x05, 0x1c, 0x0e, 0x0d, 0x004b
+
+ .align 2
+gUnknown_082F7BCC_UnrefDupe:: @ 82F4474
+ window_template 0x00, 0x01, 0x05, 0x1c, 0x07, 0x0d, 0x004b
+
+ .align 2
+gUnknown_082F7BD4_UnrefDupe:: @ 82F447C
+ window_template 0x00, 0x01, 0x08, 0x13, 0x03, 0x0d, 0x0013
+ window_template 0x00, 0x16, 0x07, 0x06, 0x04, 0x0d, 0x004c
+
+ .align 2
+gUnknown_082F7BE4_UnrefDupe:: @ 82F448C
+ window_template 0x00, 0x04, 0x06, 0x16, 0x05, 0x0d, 0x0013
+
+ .align 2
+gUnknown_082F7BEC_UnrefDupe:: @ 82F4494
+ window_template 0x00, 0x05, 0x08, 0x13, 0x03, 0x0d, 0x0013
diff --git a/data/contest.s b/data/contest.s
deleted file mode 100644
index 48bfa1080..000000000
--- a/data/contest.s
+++ /dev/null
@@ -1,412 +0,0 @@
-#include "constants/species.h"
-#include "constants/moves.h"
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-gUnknown_08587A6C:: @ 8587A6C
- .byte 0x24, 0x4c, 0x74, 0x9c
-
-gUnknown_08587A70:: @ 8587A70
- .byte 0x24, 0x4c, 0x74, 0x9c
-
- .align 2
-gUnknown_08587A74:: @ 8587A74
- obj_tiles gTiles_8C19450, 0x0020, 0x4e20
-
- .align 2
-gOamData_8587A7C:: @ 8587A7C
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteAffineAnim_8587A84:: @ 8587A84
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8587A94:: @ 8587A94
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, -20, 20
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8587AAC:: @ 8587AAC
- obj_rot_scal_anim_frame 0x38, 0x38, 0, 0
- obj_rot_scal_anim_frame 0xA, 0xA, 20, 20
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_8587AC4:: @ 8587AC4
- .4byte gSpriteAffineAnim_8587A84
- .4byte gSpriteAffineAnim_8587A94
- .4byte gSpriteAffineAnim_8587AAC
-
- .align 2
-gSpriteTemplate_8587AD0:: @ 8587AD0
- spr_template 0x4e20, 0xabe0, gOamData_8587A7C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8587AC4, SpriteCallbackDummy
-
- .align 2
-gUnknown_08587AE8:: @ 8587AE8
- obj_tiles gContestNextTurnGfx, 0x0100, 0x4e22
- obj_tiles gContestNextTurnGfx, 0x0100, 0x4e23
- obj_tiles gContestNextTurnGfx, 0x0100, 0x4e24
- obj_tiles gContestNextTurnGfx, 0x0100, 0x4e25
-
- .align 2
-gUnknown_08587B08:: @ 8587B08
- obj_pal gContestPal, 0x4e22
-
- .align 2
-gOamData_8587B10:: @ 8587B10
- .2byte 0x4000
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_8587B18:: @ 8587B18
- spr_template 0x4e22, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 0x4e23, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 0x4e24, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 0x4e25, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSubspriteTable_8587B78:: @ 8587B78
- subsprite -28, -4, 0, 0, 32x8
- subsprite 4, -4, 0, 4, 32x8
-
- .align 2
-gSubspriteTables_8587B80:: @ 8587B80
- .4byte 2, gSubspriteTable_8587B78
-
- .align 2
-gUnknown_08587B88:: @ 8587B88
- obj_tiles gUnknown_08C19168, 0x0180, 0xabe1
-
- .align 2
-gOamData_8587B90:: @ 8587B90
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_8587B98:: @ 8587B98
- spr_template 0xabe1, 0xabe0, gOamData_8587B90, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_08587BB0:: @ 8587BB0
- obj_tiles gContestApplauseGfx, 0x0400, 0xabe2
-
- .align 2
-gUnknown_08587BB8:: @ 8587BB8
- obj_pal gContestPal, 0xabe2
-
- .align 2
-gOamData_8587BC0:: @ 8587BC0
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_8587BC8:: @ 8587BC8
- spr_template 0xabe2, 0xabe2, gOamData_8587BC0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_8587BE0:: @ 8587BE0
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x2C00
-
- .align 2
-gSpriteTemplate_8587BE8:: @ 8587BE8
- spr_template 0x4e21, 0x4e21, gOamData_8587BE0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_08587C00:: @ 8587C00
- obj_tiles gContestJudgeGfx, 0x0800, 0x4e21
-
- .align 2
-gUnknown_08587C08:: @ 8587C08
- obj_tiles gContestJudgeSymbolsGfx, 0x0380, 0xabe0
-
- .align 2
-gUnknown_08587C10:: @ 8587C10
- obj_pal gContest3Pal, 0xabe0
-
- .align 2
-gSpriteTemplate_8587C18:: @ 8587C18
- spr_template 0xabe0, 0xabe0, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_08587C30:: @ 8587C30
- .incbin "graphics/unknown/unknown_587C30.gbapal"
-
-@ 8587C50
- .include "data/text/contest_text_pointers.inc"
-
- .align 2
-gUnknown_08587D5C:: @ 8587D5C
- .4byte gText_0827D5C1
- .4byte gText_0827D5DC
- .4byte gText_0827D600
- .4byte gText_0827D612
- .4byte gText_0827D612
- .4byte gText_0827D62D
- .4byte gText_0827D654
- .4byte gText_0827D67E
- .4byte gText_0827D69C
- .4byte gText_0827D6BA
- .4byte gText_0827D6E5
- .4byte gText_0827D706
- .4byte gText_0827D71D
-
- .align 2
-gUnknown_08587D90:: @ 8587D90
- .4byte gText_0827D743
- .4byte gText_0827D764
- .4byte gText_0827D785
- .4byte gText_0827D7A5
- .4byte gText_0827D7C8
- .4byte gText_0827D7E8
- .4byte gText_0827D831
- .4byte gText_0827D855
- .4byte gText_0827D830
- .4byte gText_0827D872
- .4byte gText_0827D88F
- .4byte gText_0827D8B5
- .4byte gText_0827D8E4
- .4byte gText_0827D8FE
- .4byte gText_0827D926
- .4byte gText_0827D947
- .4byte gText_0827D961
- .4byte gText_0827D986
- .4byte gText_0827D9B1
- .4byte gText_0827D9D9
- .4byte gText_0827DA03
- .4byte gText_0827DA31
- .4byte gText_0827DA5B
- .4byte gText_0827DA85
- .4byte gText_0827DAB2
- .4byte gText_0827DADA
- .4byte gText_0827DB03
- .4byte gText_0827D830
- .4byte gText_0827D830
- .4byte gText_0827D830
- .4byte gText_0827DB1F
- .4byte gText_0827DB4E
-
- .align 2
-gUnknown_08587E10:: @ 8587E10
- .4byte gText_827DB75
- .4byte gText_827DBB0
- .4byte gText_827DBE0
- .4byte gText_827DC0F
- .4byte gText_827DC45
- .4byte gText_827DC7C
- .4byte gText_827DCB4
- .4byte gText_827DCE7
- .4byte gText_827DD12
- .4byte gText_827DD3D
- .4byte gText_827DD6F
- .4byte gText_827DD8E
- .4byte gText_827DDC7
- .4byte gText_827DDF2
- .4byte gText_827DE14
- .4byte gText_827DE44
- .4byte gText_827DE73
- .4byte gText_827DEA5
- .4byte gText_827DED9
- .4byte gText_827DF02
- .4byte gText_827DF3A
- .4byte gText_827DF63
- .4byte gText_827DF8C
- .4byte gText_827DFB8
- .4byte gText_827DFE2
- .4byte gText_827E00C
- .4byte gText_827E02F
- .4byte gText_827E05F
- .4byte gText_827E08B
- .4byte gText_827E0B5
- .4byte gText_827E0DD
- .4byte gText_827E107
- .4byte gText_827E143
- .4byte gText_827E17F
- .4byte gText_827E1BB
- .4byte gText_827E1F3
- .4byte gText_827E220
- .4byte gText_827E254
- .4byte gText_827E289
- .4byte gText_827E2C5
- .4byte gText_0827E2FE
- .4byte gText_0827E32E
- .4byte gText_0827E35B
- .4byte gText_0827E38D
- .4byte gText_0827E3C1
- .4byte gText_0827E3EB
- .4byte gText_0827E416
- .4byte gText_0827E448
- .4byte gText_0827E473
- .4byte gText_0827E4A6
- .4byte gText_0827E4D5
- .4byte gText_0827E504
- .4byte gText_0827E531
- .4byte gText_0827E55A
- .4byte gText_0827E5B2
- .4byte gText_0827E5D0
- .4byte gText_0827E606
- .4byte gText_0827E638
- .4byte gText_0827E658
- .4byte gText_0827E68B
- .4byte gText_0827E6C4
- .4byte gText_0827E7BA
-
- .align 2
-gUnknown_08587F08:: @ 8587F08
- .4byte gText_0827E85F
- .4byte gText_0827E868
- .4byte gText_0827E86F
- .4byte gText_0827E878
- .4byte gText_0827E882
-
- .align 2
-gUnknown_08587F1C:: @ 8587F1C
- .4byte gText_0827E894
- .4byte gText_0827E89E
- .4byte gText_0827E8AA
- .4byte gText_0827E8B4
- .4byte gText_0827E8BF
- .4byte gText_0827E8CA
-
- .align 2
-gUnknown_08587F34:: @ 8587F34
- .4byte 0x00000580, 0x000015e9, 0x000005c2, 0x000031a3
-
- .align 2
-gUnknown_08587F44:: @ 8587F44
- window_template 0x00, 0x12, 0x00, 0x0c, 0x02, 0x0f, 0x0200
- window_template 0x00, 0x12, 0x05, 0x0c, 0x02, 0x0f, 0x0218
- window_template 0x00, 0x12, 0x0a, 0x0c, 0x02, 0x0f, 0x0230
- window_template 0x00, 0x12, 0x0f, 0x0c, 0x02, 0x0f, 0x0248
- window_template 0x00, 0x01, 0x0f, 0x11, 0x04, 0x0f, 0x0260
- window_template 0x00, 0x01, 0x1f, 0x09, 0x02, 0x0f, 0x02a4
- window_template 0x00, 0x01, 0x21, 0x09, 0x02, 0x0f, 0x02b6
- window_template 0x00, 0x01, 0x23, 0x09, 0x02, 0x0f, 0x02c8
- window_template 0x00, 0x01, 0x25, 0x09, 0x02, 0x0f, 0x02da
- window_template 0x00, 0x10, 0x1f, 0x01, 0x02, 0x0f, 0x02ec
- window_template 0x00, 0x0b, 0x23, 0x12, 0x04, 0x0f, 0x02ee
- null_window_template
-
- .align 2
-gUnknown_08587FA4:: @ 8587FA4
- .4byte NULL, 0xFFFF
- .2byte SPECIES_ELECTRIKE
- .byte 2
- .string "ELECTER$", 11
- .string "EZRA$", 8
- .2byte 0
- .4byte NULL, 0xFFFF
- .2byte SPECIES_TROPIUS
- .byte 0
- .string "TROPO$", 11
- .string "ALLAN$", 8
- .2byte 2
- .4byte NULL, 0xFFFF
- .2byte SPECIES_XATU
- .byte 1
- .string "TUXA$", 11
- .string "JULIET$", 8
- .2byte 0
- .4byte NULL, 0xFFFF
- .2byte SPECIES_PLUSLE
- .byte 4
- .string "PULSE$", 11
- .string "BAILY$", 8
- .2byte 3
- .4byte NULL, 0xFFFF
- .2byte SPECIES_SHUPPET
- .byte 3
- .string "SHUPUP$", 11
- .string "MELANY$", 8
- .2byte 1
- .4byte NULL, 0xFFFF
- .2byte SPECIES_ZANGOOSE
- .byte 0
- .string "GOOZAN$", 11
- .string "HANA$", 8
- .2byte 2
- .4byte NULL, 0xFFFF
- .2byte SPECIES_LOUDRED
- .byte 1
- .string "LOUDED$", 11
- .string "BRYANT$", 8
- .2byte 2
- .4byte NULL, 0xFFFF
- .2byte SPECIES_DELCATTY
- .byte 2
- .string "KITSY$", 11
- .string "OMAR$", 8
- .2byte 3
-
-
- .align 2
-gContestOpponents:: @ 85880A4
- .include "data/contest_opponents.inc"
-
-gUnknown_085898A4:: @ 85898A4
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02
- .byte 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
-
- .align 2
-gUnknown_08589904:: @ 8589904
- obj_tiles gBlankGfxCompressed, 0x1000, 0x80e8
- obj_tiles gBlankGfxCompressed, 0x1000, 0x80e9
- obj_tiles gBlankGfxCompressed, 0x1000, 0x80ea
- obj_tiles gBlankGfxCompressed, 0x1000, 0x80eb
-
- .align 2
-gUnknown_08589924:: @ 8589924 Yup this is super dangerous but that's how it is here
- obj_pal gHeap + 0x1A0A4, 0x80e8
- obj_pal gHeap + 0x1A0C4, 0x80e9
- obj_pal gHeap + 0x1A0E4, 0x80ea
- obj_pal gHeap + 0x1A104, 0x80eb
-
- .align 2
-gOamData_8589944:: @ 8589944
- .2byte 0x0700
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteAffineAnim_858994C:: @ 858994C
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_858995C:: @ 858995C
- obj_rot_scal_anim_frame 0x3, 0x3, 0, 15
- obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15
- obj_rot_scal_anim_frame 0x3, 0x3, 0, 15
- obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_8589984:: @ 8589984
- .4byte gSpriteAffineAnim_858994C
- .4byte gSpriteAffineAnim_858995C
-
- .align 2
-gSpriteTemplate_858998C:: @ 858998C
- spr_template 0x80e8, 0x80e8, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
- spr_template 0x80e9, 0x80e9, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
- spr_template 0x80ea, 0x80ea, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
- spr_template 0x80eb, 0x80eb, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
-
- .align 2
-gContestExcitementTable:: @ 85899EC
- .2byte 0x0001, 0xffff, 0x0000, 0x0001, 0xffff, 0x00ff, 0x0001, 0xffff, 0x00ff, 0x0001, 0xff00, 0x00ff, 0x0001, 0x0000
-
-
diff --git a/data/contest_opponents.inc b/data/contest_opponents.inc
deleted file mode 100644
index 9246bac21..000000000
--- a/data/contest_opponents.inc
+++ /dev/null
@@ -1,2114 +0,0 @@
-@todo: cleanup
- .2byte SPECIES_POOCHYENA
- .string "POOCHY$ "
- .string "JIMMY$ "
- .byte 7
- .2byte 0
- .4byte 0xc000fff
- .2byte 68
- .2byte 46
- .2byte 44
- .2byte 36
- .2byte 336
- .byte 10
- .byte 4
- .byte 10
- .byte 3
- .byte 4
- .byte 50
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_ILLUMISE
- .string "MUSILLE$ "
- .string "EDITH$ "
- .byte 8
- .2byte 0
- .4byte 0x82000fff
- .2byte 16
- .2byte 156
- .2byte 263
- .2byte 33
- .2byte 343
- .byte 10
- .byte 10
- .byte 6
- .byte 1
- .byte 2
- .byte 60
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_DUSTOX
- .string "DUSTER$ "
- .string "EVAN$ "
- .byte 11
- .2byte 0
- .4byte 0x21000fff
- .2byte 8
- .2byte 318
- .2byte 236
- .2byte 113
- .2byte 16
- .byte 2
- .byte 10
- .byte 10
- .byte 12
- .byte 4
- .byte 70
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SEEDOT
- .string "DOTS$ "
- .string "KELSEY$ "
- .byte 16
- .2byte 0
- .4byte 0x20800fff
- .2byte 96
- .2byte 117
- .2byte 235
- .2byte 331
- .2byte 74
- .byte 3
- .byte 3
- .byte 5
- .byte 2
- .byte 7
- .byte 80
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_TAILLOW
- .string "TATAY$ "
- .string "MADISON$"
- .byte 18
- .2byte 0
- .4byte 0x80400fff
- .2byte 4
- .2byte 17
- .2byte 97
- .2byte 332
- .2byte 45
- .byte 1
- .byte 3
- .byte 3
- .byte 5
- .byte 4
- .byte 90
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_NINCADA
- .string "NINDA$ "
- .string "RAYMOND$"
- .byte 44
- .2byte 0
- .4byte 0x10200fff
- .2byte 32
- .2byte 141
- .2byte 206
- .2byte 154
- .2byte 170
- .byte 5
- .byte 2
- .byte 10
- .byte 7
- .byte 8
- .byte 100
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SHROOMISH
- .string "SMISH$ "
- .string "GRANT$ "
- .byte 35
- .2byte 0
- .4byte 0x20100fff
- .2byte 32
- .2byte 78
- .2byte 73
- .2byte 72
- .2byte 213
- .byte 3
- .byte 3
- .byte 10
- .byte 2
- .byte 2
- .byte 50
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SPHEAL
- .string "SLEAL$ "
- .string "PAIGE$ "
- .byte 26
- .2byte 0
- .4byte 0x8080fff
- .2byte 24
- .2byte 62
- .2byte 55
- .2byte 45
- .2byte 317
- .byte 3
- .byte 5
- .byte 1
- .byte 10
- .byte 10
- .byte 60
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SLAKOTH
- .string "SLOKTH$ "
- .string "ALEC$ "
- .byte 31
- .2byte 0
- .4byte 0x40040fff
- .2byte 88
- .2byte 70
- .2byte 68
- .2byte 281
- .2byte 227
- .byte 10
- .byte 4
- .byte 4
- .byte 5
- .byte 18
- .byte 70
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_WHISMUR
- .string "WHIRIS$ "
- .string "SYDNEY$ "
- .byte 47
- .2byte 0
- .4byte 0x80020fff
- .2byte 36
- .2byte 310
- .2byte 103
- .2byte 253
- .2byte 304
- .byte 2
- .byte 2
- .byte 7
- .byte 2
- .byte 7
- .byte 80
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_MAKUHITA
- .string "MAHITA$ "
- .string "MORRIS$ "
- .byte 38
- .2byte 0
- .4byte 0x8010fff
- .2byte 68
- .2byte 69
- .2byte 233
- .2byte 33
- .2byte 179
- .byte 9
- .byte 1
- .byte 1
- .byte 8
- .byte 1
- .byte 90
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_ARON
- .string "RONAR$ "
- .string "MARIAH$ "
- .byte 10
- .2byte 0
- .4byte 0x8008fff
- .2byte 68
- .2byte 232
- .2byte 334
- .2byte 29
- .2byte 36
- .byte 5
- .byte 10
- .byte 2
- .byte 10
- .byte 2
- .byte 100
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_CROBAT
- .string "BATRO$ "
- .string "RUSSELL$"
- .byte 33
- .2byte 0
- .4byte 0x90004fff
- .2byte 56
- .2byte 114
- .2byte 212
- .2byte 109
- .2byte 141
- .byte 4
- .byte 2
- .byte 2
- .byte 2
- .byte 10
- .byte 50
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_GULPIN
- .string "GULIN$ "
- .string "MELANIE$"
- .byte 6
- .2byte 0
- .4byte 0x40002fff
- .2byte 16
- .2byte 124
- .2byte 133
- .2byte 92
- .2byte 281
- .byte 1
- .byte 10
- .byte 1
- .byte 10
- .byte 5
- .byte 60
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_MANECTRIC
- .string "RIKELEC$ "
- .string "CHANCE$ "
- .byte 15
- .2byte 0
- .4byte 0x80001fff
- .2byte 12
- .2byte 209
- .2byte 86
- .2byte 87
- .2byte 46
- .byte 20
- .byte 10
- .byte 1
- .byte 1
- .byte 1
- .byte 70
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_BULBASAUR
- .string "BULBY$ "
- .string "AGATHA$ "
- .byte 20
- .2byte 0
- .4byte 0xc000fff
- .2byte 48
- .2byte 45
- .2byte 73
- .2byte 33
- .2byte 230
- .byte 5
- .byte 3
- .byte 10
- .byte 10
- .byte 4
- .byte 50
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_BUTTERFREE
- .string "FUTTERBE$ "
- .string "BEAU$ "
- .byte 40
- .2byte 0
- .4byte 0x82000fff
- .2byte 40
- .2byte 48
- .2byte 18
- .2byte 318
- .2byte 219
- .byte 3
- .byte 10
- .byte 2
- .byte 10
- .byte 4
- .byte 60
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_PIDGEOTTO
- .string "PIDEOT$ "
- .string "KAY$ "
- .byte 34
- .2byte 0
- .4byte 0x21000fff
- .2byte 12
- .2byte 119
- .2byte 98
- .2byte 332
- .2byte 297
- .byte 10
- .byte 8
- .byte 4
- .byte 2
- .byte 3
- .byte 70
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_DIGLETT
- .string "DIGLE$ "
- .string "CALE$ "
- .byte 55
- .2byte 0
- .4byte 0x20800fff
- .2byte 96
- .2byte 91
- .2byte 89
- .2byte 90
- .2byte 222
- .byte 4
- .byte 2
- .byte 3
- .byte 5
- .byte 10
- .byte 80
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_POLIWAG
- .string "WAGIL$ "
- .string "CAITLIN$"
- .byte 53
- .2byte 0
- .4byte 0x80400fff
- .2byte 72
- .2byte 56
- .2byte 240
- .2byte 34
- .2byte 58
- .byte 2
- .byte 10
- .byte 5
- .byte 3
- .byte 10
- .byte 90
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_TOTODILE
- .string "TOTDIL$ "
- .string "COLBY$ "
- .byte 5
- .2byte 0
- .4byte 0x10200fff
- .2byte 12
- .2byte 99
- .2byte 103
- .2byte 57
- .2byte 59
- .byte 6
- .byte 10
- .byte 2
- .byte 1
- .byte 5
- .byte 100
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_LEDYBA
- .string "BALEDY$ "
- .string "KYLIE$ "
- .byte 45
- .2byte 0
- .4byte 0x20100fff
- .2byte 20
- .2byte 226
- .2byte 97
- .2byte 129
- .2byte 213
- .byte 8
- .byte 6
- .byte 8
- .byte 6
- .byte 2
- .byte 90
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_DELIBIRD
- .string "BIRDLY$ "
- .string "LIAM$ "
- .byte 66
- .2byte 0
- .4byte 0x8080fff
- .2byte 112
- .2byte 217
- .2byte 263
- .2byte 264
- .2byte 216
- .byte 4
- .byte 3
- .byte 10
- .byte 5
- .byte 3
- .byte 80
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_LARVITAR
- .string "TARVITAR$ "
- .string "MILO$ "
- .byte 39
- .2byte 0
- .4byte 0x40040fff
- .2byte 64
- .2byte 37
- .2byte 259
- .2byte 242
- .2byte 91
- .byte 8
- .byte 5
- .byte 5
- .byte 8
- .byte 10
- .byte 70
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_ROSELIA
- .string "RELIA$ "
- .string "KARINA$ "
- .byte 32
- .2byte 0
- .4byte 0x24000fff
- .2byte 41
- .2byte 80
- .2byte 345
- .2byte 320
- .2byte 275
- .byte 50
- .byte 15
- .byte 75
- .byte 10
- .byte 20
- .byte 100
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_DODRIO
- .string "DUODO$ "
- .string "BOBBY$ "
- .byte 51
- .2byte 0
- .4byte 0x82000fff
- .2byte 125
- .2byte 64
- .2byte 31
- .2byte 216
- .2byte 45
- .byte 15
- .byte 21
- .byte 15
- .byte 85
- .byte 35
- .byte 110
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_TRAPINCH
- .string "PINCHIN$ "
- .string "CLAIRE$ "
- .byte 8
- .2byte 0
- .4byte 0x81000fff
- .2byte 113
- .2byte 44
- .2byte 28
- .2byte 91
- .2byte 185
- .byte 75
- .byte 25
- .byte 25
- .byte 10
- .byte 25
- .byte 120
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_CACNEA
- .string "NACAC$ "
- .string "WILLIE$ "
- .byte 11
- .2byte 0
- .4byte 0x80800fff
- .2byte 37
- .2byte 191
- .2byte 43
- .2byte 40
- .2byte 28
- .byte 10
- .byte 30
- .byte 25
- .byte 65
- .byte 25
- .byte 130
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SANDSLASH
- .string "SHRAND$ "
- .string "CASSIDY$"
- .byte 18
- .2byte 0
- .4byte 0x10400fff
- .2byte 69
- .2byte 163
- .2byte 111
- .2byte 129
- .2byte 154
- .byte 30
- .byte 90
- .byte 30
- .byte 10
- .byte 100
- .byte 140
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_BALTOY
- .string "TOYBAL$ "
- .string "MORGAN$ "
- .byte 44
- .2byte 0
- .4byte 0x8200fff
- .2byte 41
- .2byte 120
- .2byte 317
- .2byte 60
- .2byte 93
- .byte 50
- .byte 40
- .byte 10
- .byte 35
- .byte 35
- .byte 150
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_MEDICHAM
- .string "CHAMCHAM$ "
- .string "SUMMER$ "
- .byte 26
- .2byte 0
- .4byte 0x10100fff
- .2byte 77
- .2byte 179
- .2byte 9
- .2byte 7
- .2byte 8
- .byte 40
- .byte 20
- .byte 40
- .byte 40
- .byte 40
- .byte 100
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SPINDA
- .string "SPININ$ "
- .string "MILES$ "
- .byte 31
- .2byte 0
- .4byte 0x80080fff
- .2byte 49
- .2byte 298
- .2byte 244
- .2byte 95
- .2byte 253
- .byte 25
- .byte 75
- .byte 25
- .byte 10
- .byte 25
- .byte 110
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SWABLU
- .string "SWABY$ "
- .string "AUDREY$ "
- .byte 47
- .2byte 0
- .4byte 0xa0040fff
- .2byte 41
- .2byte 119
- .2byte 195
- .2byte 219
- .2byte 54
- .byte 30
- .byte 30
- .byte 40
- .byte 30
- .byte 25
- .byte 120
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SPOINK
- .string "POINKER$ "
- .string "AVERY$ "
- .byte 38
- .2byte 0
- .4byte 0x80020fff
- .2byte 49
- .2byte 150
- .2byte 109
- .2byte 173
- .2byte 156
- .byte 40
- .byte 10
- .byte 30
- .byte 40
- .byte 30
- .byte 130
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_KECLEON
- .string "KECON$ "
- .string "ARIANA$ "
- .byte 10
- .2byte 0
- .4byte 0x80010fff
- .2byte 97
- .2byte 168
- .2byte 103
- .2byte 246
- .2byte 20
- .byte 10
- .byte 10
- .byte 40
- .byte 75
- .byte 35
- .byte 140
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_GOLDEEN
- .string "GOLDEN$ "
- .string "ASHTON$ "
- .byte 33
- .2byte 0
- .4byte 0x80008fff
- .2byte 13
- .2byte 30
- .2byte 31
- .2byte 32
- .2byte 39
- .byte 70
- .byte 30
- .byte 5
- .byte 30
- .byte 25
- .byte 150
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_BARBOACH
- .string "BOBOACH$ "
- .string "SANDRA$ "
- .byte 6
- .2byte 0
- .4byte 0x80004fff
- .2byte 113
- .2byte 300
- .2byte 346
- .2byte 89
- .2byte 248
- .byte 45
- .byte 45
- .byte 60
- .byte 25
- .byte 15
- .byte 100
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SKARMORY
- .string "CORPY$ "
- .string "CARSON$ "
- .byte 35
- .2byte 0
- .4byte 0x8002fff
- .2byte 77
- .2byte 129
- .2byte 104
- .2byte 97
- .2byte 15
- .byte 40
- .byte 30
- .byte 25
- .byte 60
- .byte 20
- .byte 110
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_LOTAD
- .string "TADO$ "
- .string "KATRINA$"
- .byte 16
- .2byte 0
- .4byte 0x8001fff
- .2byte 57
- .2byte 310
- .2byte 45
- .2byte 240
- .2byte 352
- .byte 15
- .byte 15
- .byte 30
- .byte 15
- .byte 75
- .byte 120
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SLOWBRO
- .string "BROWLO$ "
- .string "LUKE$ "
- .byte 17
- .2byte 0
- .4byte 0xc000fff
- .2byte 49
- .2byte 281
- .2byte 50
- .2byte 45
- .2byte 93
- .byte 20
- .byte 40
- .byte 40
- .byte 30
- .byte 20
- .byte 100
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_FARFETCHD
- .string "FETCHIN$ "
- .string "RAUL$ "
- .byte 66
- .2byte 0
- .4byte 0x82000fff
- .2byte 21
- .2byte 263
- .2byte 210
- .2byte 19
- .2byte 216
- .byte 40
- .byte 10
- .byte 40
- .byte 20
- .byte 20
- .byte 110
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SEEL
- .string "SEELEY$ "
- .string "JADA$ "
- .byte 20
- .2byte 0
- .4byte 0x21000fff
- .2byte 25
- .2byte 213
- .2byte 58
- .2byte 219
- .2byte 45
- .byte 10
- .byte 30
- .byte 40
- .byte 20
- .byte 20
- .byte 120
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_DROWZEE
- .string "DROWZIN$ "
- .string "ZEEK$ "
- .byte 37
- .2byte 0
- .4byte 0x20800fff
- .2byte 121
- .2byte 50
- .2byte 248
- .2byte 237
- .2byte 216
- .byte 10
- .byte 40
- .byte 50
- .byte 30
- .byte 45
- .byte 130
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_HITMONCHAN
- .string "HITEMON$ "
- .string "DIEGO$ "
- .byte 21
- .2byte 0
- .4byte 0x80400fff
- .2byte 69
- .2byte 327
- .2byte 197
- .2byte 279
- .2byte 5
- .byte 45
- .byte 20
- .byte 10
- .byte 20
- .byte 45
- .byte 140
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_BLISSEY
- .string "BLISS$ "
- .string "ALIYAH$ "
- .byte 85
- .2byte 0
- .4byte 0x10200fff
- .2byte 89
- .2byte 47
- .2byte 135
- .2byte 121
- .2byte 38
- .byte 20
- .byte 35
- .byte 40
- .byte 20
- .byte 20
- .byte 150
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_ELEKID
- .string "KIDLEK$ "
- .string "NATALIA$"
- .byte 18
- .2byte 0
- .4byte 0x20100fff
- .2byte 21
- .2byte 351
- .2byte 98
- .2byte 103
- .2byte 213
- .byte 40
- .byte 10
- .byte 40
- .byte 25
- .byte 25
- .byte 140
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SNUBBULL
- .string "SNUBBINS$ "
- .string "DEVIN$ "
- .byte 48
- .2byte 0
- .4byte 0x8080fff
- .2byte 81
- .2byte 184
- .2byte 269
- .2byte 39
- .2byte 44
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 130
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_MISDREAVUS
- .string "DREAVIS$ "
- .string "TYLOR$ "
- .byte 40
- .2byte 0
- .4byte 0x40040fff
- .2byte 41
- .2byte 195
- .2byte 212
- .2byte 109
- .2byte 220
- .byte 10
- .byte 35
- .byte 10
- .byte 45
- .byte 20
- .byte 120
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_LAIRON
- .string "LAIRN$ "
- .string "RONNIE$ "
- .byte 55
- .2byte 0
- .4byte 0x84000fff
- .2byte 98
- .2byte 319
- .2byte 232
- .2byte 106
- .2byte 36
- .byte 30
- .byte 50
- .byte 35
- .byte 100
- .byte 90
- .byte 200
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SHIFTRY
- .string "SHIFTY$ "
- .string "CLAUDIA$"
- .byte 8
- .2byte 0
- .4byte 0x82000fff
- .2byte 14
- .2byte 74
- .2byte 13
- .2byte 153
- .2byte 326
- .byte 75
- .byte 75
- .byte 65
- .byte 35
- .byte 70
- .byte 210
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_NINJASK
- .string "NINAS$ "
- .string "ELIAS$ "
- .byte 11
- .2byte 0
- .4byte 0x81000fff
- .2byte 114
- .2byte 103
- .2byte 154
- .2byte 28
- .2byte 226
- .byte 30
- .byte 50
- .byte 95
- .byte 70
- .byte 70
- .byte 220
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SWELLOW
- .string "WELOW$ "
- .string "JADE$ "
- .byte 18
- .2byte 0
- .4byte 0x80800fff
- .2byte 14
- .2byte 97
- .2byte 332
- .2byte 17
- .2byte 19
- .byte 65
- .byte 85
- .byte 35
- .byte 75
- .byte 40
- .byte 230
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_MIGHTYENA
- .string "YENA$ "
- .string "FRANCIS$"
- .byte 44
- .2byte 0
- .4byte 0x80400fff
- .2byte 98
- .2byte 269
- .2byte 168
- .2byte 316
- .2byte 36
- .byte 40
- .byte 80
- .byte 35
- .byte 70
- .byte 70
- .byte 240
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_BEAUTIFLY
- .string "TIFLY$ "
- .string "ALISHA$ "
- .byte 26
- .2byte 0
- .4byte 0x80200fff
- .2byte 42
- .2byte 234
- .2byte 318
- .2byte 78
- .2byte 290
- .byte 40
- .byte 70
- .byte 25
- .byte 80
- .byte 100
- .byte 250
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SEAKING
- .string "KINGSEA$ "
- .string "SAUL$ "
- .byte 31
- .2byte 0
- .4byte 0x80100fff
- .2byte 118
- .2byte 175
- .2byte 48
- .2byte 30
- .2byte 31
- .byte 80
- .byte 60
- .byte 30
- .byte 70
- .byte 90
- .byte 200
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_CASTFORM
- .string "CASTER$ "
- .string "FELICIA$"
- .byte 47
- .2byte 0
- .4byte 0x80080fff
- .2byte 126
- .2byte 241
- .2byte 311
- .2byte 201
- .2byte 216
- .byte 70
- .byte 80
- .byte 80
- .byte 50
- .byte 65
- .byte 210
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_MACHOKE
- .string "CHOKEM$ "
- .string "EMILIO$ "
- .byte 38
- .2byte 0
- .4byte 0x80040fff
- .2byte 70
- .2byte 69
- .2byte 116
- .2byte 2
- .2byte 184
- .byte 70
- .byte 85
- .byte 25
- .byte 60
- .byte 50
- .byte 220
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_LOMBRE
- .string "LOMBE$ "
- .string "KARLA$ "
- .byte 10
- .2byte 0
- .4byte 0x80020fff
- .2byte 58
- .2byte 213
- .2byte 148
- .2byte 253
- .2byte 45
- .byte 40
- .byte 60
- .byte 90
- .byte 45
- .byte 70
- .byte 230
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SEVIPER
- .string "VIPES$ "
- .string "DARRYL$ "
- .byte 33
- .2byte 0
- .4byte 0x80010fff
- .2byte 98
- .2byte 305
- .2byte 137
- .2byte 35
- .2byte 103
- .byte 35
- .byte 50
- .byte 90
- .byte 40
- .byte 100
- .byte 240
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_WAILMER
- .string "MERAIL$ "
- .string "SELENA$ "
- .byte 22
- .2byte 0
- .4byte 0x80008fff
- .2byte 26
- .2byte 352
- .2byte 156
- .2byte 323
- .2byte 150
- .byte 30
- .byte 100
- .byte 100
- .byte 50
- .byte 30
- .byte 250
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_MAGIKARP
- .string "KARPAG$ "
- .string "NOEL$ "
- .byte 35
- .2byte 0
- .4byte 0x80004fff
- .2byte 82
- .2byte 33
- .2byte 150
- .2byte 175
- .2byte 33
- .byte 30
- .byte 30
- .byte 160
- .byte 50
- .byte 160
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_LUNATONE
- .string "LUNONE$ "
- .string "LACEY$ "
- .byte 16
- .2byte 0
- .4byte 0x80002fff
- .2byte 42
- .2byte 153
- .2byte 248
- .2byte 94
- .2byte 93
- .byte 50
- .byte 70
- .byte 60
- .byte 70
- .byte 50
- .byte 210
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_ABSOL
- .string "ABSO$ "
- .string "CORBIN$ "
- .byte 39
- .2byte 0
- .4byte 0x80001fff
- .2byte 14
- .2byte 195
- .2byte 258
- .2byte 63
- .2byte 163
- .byte 95
- .byte 80
- .byte 85
- .byte 35
- .byte 35
- .byte 220
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_EXEGGUTOR
- .string "EGGSOR$ "
- .string "GRACIE$ "
- .byte 32
- .2byte 0
- .4byte 0xc000fff
- .2byte 98
- .2byte 23
- .2byte 95
- .2byte 121
- .2byte 285
- .byte 40
- .byte 50
- .byte 60
- .byte 100
- .byte 80
- .byte 200
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_CUBONE
- .string "CUBIN$ "
- .string "COLTIN$ "
- .byte 65
- .2byte 0
- .4byte 0x82000fff
- .2byte 82
- .2byte 125
- .2byte 155
- .2byte 198
- .2byte 45
- .byte 40
- .byte 35
- .byte 85
- .byte 35
- .byte 100
- .byte 210
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_HITMONLEE
- .string "HITMON$ "
- .string "ELLIE$ "
- .byte 22
- .2byte 0
- .4byte 0x21000fff
- .2byte 70
- .2byte 179
- .2byte 279
- .2byte 116
- .2byte 25
- .byte 85
- .byte 30
- .byte 25
- .byte 50
- .byte 100
- .byte 220
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SQUIRTLE
- .string "SURTLE$ "
- .string "MARCUS$ "
- .byte 49
- .2byte 0
- .4byte 0x20800fff
- .2byte 82
- .2byte 39
- .2byte 145
- .2byte 264
- .2byte 110
- .byte 30
- .byte 35
- .byte 100
- .byte 40
- .byte 95
- .byte 230
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_KANGASKHAN
- .string "KHANKAN$ "
- .string "KIARA$ "
- .byte 14
- .2byte 0
- .4byte 0x80400fff
- .2byte 70
- .2byte 5
- .2byte 99
- .2byte 264
- .2byte 39
- .byte 100
- .byte 50
- .byte 30
- .byte 50
- .byte 100
- .byte 240
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_PINECO
- .string "PINOC$ "
- .string "BRYCE$ "
- .byte 36
- .2byte 0
- .4byte 0x10200fff
- .2byte 42
- .2byte 153
- .2byte 191
- .2byte 113
- .2byte 202
- .byte 80
- .byte 80
- .byte 80
- .byte 80
- .byte 80
- .byte 250
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_DUNSPARCE
- .string "DILTOT$ "
- .string "JAMIE$ "
- .byte 34
- .2byte 0
- .4byte 0x20100fff
- .2byte 82
- .2byte 180
- .2byte 281
- .2byte 111
- .2byte 36
- .byte 40
- .byte 35
- .byte 100
- .byte 40
- .byte 110
- .byte 240
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_HOUNDOOM
- .string "DOOMOND$ "
- .string "JORGE$ "
- .byte 48
- .2byte 0
- .4byte 0x8080fff
- .2byte 14
- .2byte 46
- .2byte 53
- .2byte 185
- .2byte 241
- .byte 100
- .byte 100
- .byte 30
- .byte 25
- .byte 80
- .byte 230
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_MILTANK
- .string "MILKAN$ "
- .string "DEVON$ "
- .byte 25
- .2byte 0
- .4byte 0x40040fff
- .2byte 26
- .2byte 208
- .2byte 215
- .2byte 111
- .2byte 59
- .byte 50
- .byte 110
- .byte 100
- .byte 35
- .byte 40
- .byte 220
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_GYARADOS
- .string "RADOS$ "
- .string "JUSTINA$"
- .byte 32
- .2byte 0
- .4byte 0x84000fff
- .2byte 79
- .2byte 63
- .2byte 56
- .2byte 240
- .2byte 44
- .byte 160
- .byte 200
- .byte 20
- .byte 40
- .byte 160
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_LOUDRED
- .string "LOUDERD$ "
- .string "RALPH$ "
- .byte 21
- .2byte 0
- .4byte 0x82000fff
- .2byte 71
- .2byte 304
- .2byte 23
- .2byte 46
- .2byte 336
- .byte 170
- .byte 50
- .byte 55
- .byte 150
- .byte 160
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SKITTY
- .string "SITTY$ "
- .string "ROSA$ "
- .byte 8
- .2byte 0
- .4byte 0x81000fff
- .2byte 59
- .2byte 213
- .2byte 274
- .2byte 185
- .2byte 39
- .byte 40
- .byte 200
- .byte 150
- .byte 185
- .byte 60
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SLAKING
- .string "SLING$ "
- .string "KEATON$ "
- .byte 11
- .2byte 0
- .4byte 0x80800fff
- .2byte 115
- .2byte 343
- .2byte 68
- .2byte 227
- .2byte 303
- .byte 85
- .byte 85
- .byte 170
- .byte 110
- .byte 150
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_ALTARIA
- .string "TARIA$ "
- .string "MAYRA$ "
- .byte 18
- .2byte 0
- .4byte 0x80400fff
- .2byte 15
- .2byte 349
- .2byte 63
- .2byte 195
- .2byte 219
- .byte 170
- .byte 150
- .byte 30
- .byte 30
- .byte 90
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_KIRLIA
- .string "LIRKI$ "
- .string "LAMAR$ "
- .byte 15
- .2byte 0
- .4byte 0x80200fff
- .2byte 39
- .2byte 351
- .2byte 247
- .2byte 285
- .2byte 216
- .byte 230
- .byte 60
- .byte 60
- .byte 230
- .byte 80
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_BELLOSSOM
- .string "BLOSSOM$ "
- .string "AUBREY$ "
- .byte 26
- .2byte 0
- .4byte 0x80100fff
- .2byte 59
- .2byte 80
- .2byte 230
- .2byte 78
- .2byte 148
- .byte 35
- .byte 200
- .byte 150
- .byte 130
- .byte 40
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SABLEYE
- .string "EYESAB$ "
- .string "NIGEL$ "
- .byte 31
- .2byte 0
- .4byte 0x80080fff
- .2byte 115
- .2byte 212
- .2byte 185
- .2byte 282
- .2byte 109
- .byte 25
- .byte 35
- .byte 230
- .byte 150
- .byte 160
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_NATU
- .string "UTAN$ "
- .string "CAMILLE$"
- .byte 47
- .2byte 0
- .4byte 0x80040fff
- .2byte 115
- .2byte 101
- .2byte 248
- .2byte 109
- .2byte 94
- .byte 35
- .byte 35
- .byte 150
- .byte 130
- .byte 170
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SHARPEDO
- .string "PEDOS$ "
- .string "DEON$ "
- .byte 38
- .2byte 0
- .4byte 0x80020fff
- .2byte 87
- .2byte 97
- .2byte 207
- .2byte 269
- .2byte 36
- .byte 140
- .byte 70
- .byte 140
- .byte 75
- .byte 100
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_LUVDISC
- .string "LUVIS$ "
- .string "JANELLE$"
- .byte 10
- .2byte 0
- .4byte 0x80010fff
- .2byte 83
- .2byte 186
- .2byte 213
- .2byte 36
- .2byte 204
- .byte 50
- .byte 100
- .byte 220
- .byte 40
- .byte 190
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_HERACROSS
- .string "HEROSS$ "
- .string "HEATH$ "
- .byte 33
- .2byte 0
- .4byte 0x80008fff
- .2byte 71
- .2byte 70
- .2byte 203
- .2byte 179
- .2byte 317
- .byte 170
- .byte 70
- .byte 110
- .byte 240
- .byte 140
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_ELECTRODE
- .string "RODLECT$ "
- .string "SASHA$ "
- .byte 6
- .2byte 0
- .4byte 0x80004fff
- .2byte 15
- .2byte 153
- .2byte 113
- .2byte 129
- .2byte 148
- .byte 200
- .byte 200
- .byte 30
- .byte 35
- .byte 50
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_PICHU
- .string "CHUPY$ "
- .string "FRANKIE$"
- .byte 35
- .2byte 0
- .4byte 0x80002fff
- .2byte 59
- .2byte 186
- .2byte 213
- .2byte 156
- .2byte 39
- .byte 25
- .byte 150
- .byte 180
- .byte 115
- .byte 120
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_WOBBUFFET
- .string "WOBET$ "
- .string "HELEN$ "
- .byte 16
- .2byte 0
- .4byte 0x80001fff
- .2byte 111
- .2byte 68
- .2byte 243
- .2byte 219
- .2byte 194
- .byte 60
- .byte 230
- .byte 50
- .byte 220
- .byte 210
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_GENGAR
- .string "GAREN$ "
- .string "CAMILE$ "
- .byte 40
- .2byte 0
- .4byte 0xc000fff
- .2byte 71
- .2byte 194
- .2byte 109
- .2byte 122
- .2byte 188
- .byte 200
- .byte 100
- .byte 50
- .byte 80
- .byte 180
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_PORYGON
- .string "GONPOR$ "
- .string "MARTIN$ "
- .byte 46
- .2byte 0
- .4byte 0x82000fff
- .2byte 127
- .2byte 176
- .2byte 160
- .2byte 216
- .2byte 278
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_DRAGONITE
- .string "DRITE$ "
- .string "SERGIO$ "
- .byte 7
- .2byte 0
- .4byte 0x21000fff
- .2byte 71
- .2byte 200
- .2byte 21
- .2byte 239
- .2byte 89
- .byte 150
- .byte 140
- .byte 50
- .byte 120
- .byte 150
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_MEOWTH
- .string "MEOWY$ "
- .string "KAILEY$ "
- .byte 6
- .2byte 0
- .4byte 0x20800fff
- .2byte 51
- .2byte 45
- .2byte 269
- .2byte 6
- .2byte 44
- .byte 125
- .byte 110
- .byte 180
- .byte 170
- .byte 80
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_JYNX
- .string "NYX$ "
- .string "PERLA$ "
- .byte 45
- .2byte 0
- .4byte 0x80400fff
- .2byte 43
- .2byte 195
- .2byte 212
- .2byte 142
- .2byte 313
- .byte 100
- .byte 150
- .byte 100
- .byte 150
- .byte 120
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_TOGEPI
- .string "GEPITO$ "
- .string "CLARA$ "
- .byte 20
- .2byte 0
- .4byte 0x10200fff
- .2byte 19
- .2byte 45
- .2byte 281
- .2byte 227
- .2byte 266
- .byte 80
- .byte 120
- .byte 200
- .byte 120
- .byte 80
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_ESPEON
- .string "SPEON$ "
- .string "JAKOB$ "
- .byte 37
- .2byte 0
- .4byte 0x20100fff
- .2byte 15
- .2byte 129
- .2byte 98
- .2byte 234
- .2byte 39
- .byte 180
- .byte 150
- .byte 100
- .byte 80
- .byte 150
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_SLOWKING
- .string "SLOWGO$ "
- .string "TREY$ "
- .byte 49
- .2byte 0
- .4byte 0x8080fff
- .2byte 83
- .2byte 263
- .2byte 174
- .2byte 281
- .2byte 264
- .byte 100
- .byte 80
- .byte 200
- .byte 110
- .byte 170
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
- .2byte SPECIES_URSARING
- .string "URSING$ "
- .string "LANE$ "
- .byte 44
- .2byte 0
- .4byte 0x40040fff
- .2byte 71
- .2byte 37
- .2byte 332
- .2byte 313
- .2byte 43
- .byte 180
- .byte 140
- .byte 30
- .byte 80
- .byte 190
- .byte 255
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0x0
- .4byte 0xffff
-
diff --git a/data/dodrio_berry_picking.s b/data/dodrio_berry_picking.s
new file mode 100755
index 000000000..38701c199
--- /dev/null
+++ b/data/dodrio_berry_picking.s
@@ -0,0 +1,663 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gUnknown_082F449C:: @ 82F449C
+ .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+ .byte 0x08, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x03, 0x08
+ .byte 0x09, 0x00, 0x00, 0x01, 0x02, 0x05, 0x06, 0x03
+ .byte 0x04, 0x05, 0x08, 0x09, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
+ .byte 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x02, 0x09
+ .byte 0x00, 0x00, 0x01, 0x04, 0x05, 0x06, 0x07, 0x02
+ .byte 0x03, 0x04, 0x09, 0x00, 0x00, 0x01, 0x06, 0x07
+ .byte 0x02, 0x03, 0x04, 0x05, 0x06, 0x09, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02
+ .byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x00
+ .byte 0x00, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01
+ .byte 0x02, 0x03, 0x00, 0x00, 0x05, 0x06, 0x07, 0x08
+ .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x07
+ .byte 0x08, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03
+ .byte 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x02
+ .byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00
+ .byte 0x01, 0x02, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09
+ .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x08
+ .byte 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
+ .byte 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05
+ .byte 0x06, 0x07, 0x08, 0x04, 0x05, 0x06, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x03, 0x04, 0x05, 0x05, 0x06, 0x03
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x04, 0x05, 0x06, 0x06, 0x07, 0x02, 0x02
+ .byte 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x04, 0x05, 0x05, 0x06, 0x07, 0x07, 0x08
+ .byte 0x01, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x04
+ .byte 0x05, 0x06, 0x06, 0x07, 0x08, 0x08, 0x09, 0x00
+ .byte 0x00, 0x01, 0x02, 0x02, 0x03, 0x04, 0x01, 0x00
+ .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01
+ .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00
+ .byte 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x01
+ .byte 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00
+ .byte 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x02
+ .byte 0x01, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x04
+ .byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09
+ .byte 0x01, 0x01, 0x01, 0x09, 0x09, 0x09, 0x09, 0x09
+ .byte 0x09, 0x09, 0x00, 0x00, 0x01, 0x01, 0x00, 0x09
+ .byte 0x09, 0x09, 0x09, 0x09, 0x02, 0x02, 0x00, 0x00
+ .byte 0x01, 0x01, 0x01, 0x09, 0x09, 0x09, 0x03, 0x03
+ .byte 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x09
+ .byte 0x03, 0x03, 0x04, 0x04, 0x00, 0x00, 0x01, 0x01
+ .byte 0x02, 0x02, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00
+ .byte 0x04, 0x06, 0x00, 0x00, 0x00, 0x03, 0x05, 0x07
+ .byte 0x00, 0x00, 0x02, 0x04, 0x06, 0x08, 0x00, 0x01
+ .byte 0x03, 0x05, 0x06, 0x09
+
+ .align 2
+gUnknown_082F7DF0_UnrefDupe:: @ 82F4698
+ .incbin "graphics/link_games/dodrioberry_bg1.gbapal"
+
+ .align 2
+ .incbin "graphics/link_games/dodrioberry_bg2.gbapal"
+
+ .align 2
+gUnknown_082F7E30_UnrefDupe:: @ 82F46B8
+ .incbin "graphics/link_games/dodrioberry_pkmn.gbapal"
+
+ .align 2
+gUnknown_082F7E50_UnrefDupe:: @ 82F46D8
+ .incbin "graphics/link_games/dodrioberry_shiny.gbapal"
+
+ .align 2
+gUnknown_082F7E70_UnrefDupe:: @ 82F46F8
+ .incbin "graphics/link_games/dodrioberry_status.gbapal"
+
+ .align 2
+gUnknown_082F7E90_UnrefDupe:: @ 82F4718
+ .incbin "graphics/link_games/dodrioberry_berrysprites.gbapal"
+
+ .align 2
+gUnknown_082F7EB0_UnrefDupe:: @ 82F4738
+ .incbin "graphics/link_games/dodrioberry_berrysprites.4bpp.lz"
+
+ .align 2
+gUnknown_082F8064_UnrefDupe:: @ 82F490C
+ .incbin "graphics/link_games/dodrioberry_platform.gbapal"
+
+ .align 2
+gUnknown_082F8084_UnrefDupe:: @ 82F492C
+ .incbin "graphics/link_games/dodrioberry_bg1.4bpp.lz"
+
+ .align 2
+gUnknown_082F8914_UnrefDupe:: @ 82F51BC
+ .incbin "graphics/link_games/dodrioberry_bg2.4bpp.lz"
+
+ .align 2
+gUnknown_082F96E0_UnrefDupe:: @ 82F5F88
+ .incbin "graphics/link_games/dodrioberry_status.4bpp.lz"
+
+ .align 2
+gUnknown_082F9774_UnrefDupe:: @ 82F601C
+ .incbin "graphics/link_games/dodrioberry_platform.4bpp.lz"
+
+ .align 2
+gUnknown_082F98BC_UnrefDupe:: @ 82F6164
+ .incbin "graphics/link_games/dodrioberry_pkmn.4bpp.lz"
+
+ .align 2
+gUnknown_082FAAD8_UnrefDupe:: @ 82F7380
+ .incbin "graphics/link_games/dodrioberry_bg1.bin.lz"
+
+ .align 2
+gUnknown_082FAD44_UnrefDupe:: @ 82F75EC
+ .incbin "graphics/link_games/dodrioberry_bg2right.bin.lz"
+
+ .align 2
+gUnknown_082FAF94_UnrefDupe:: @ 82F783C
+ .incbin "graphics/link_games/dodrioberry_bg2left.bin.lz"
+
+ .align 2
+gUnknown_082F7A88:: @ 82F7A88
+ .byte 0x28, 0x18, 0x0d, 0x20, 0x13, 0x0a, 0x16, 0x0d
+ .byte 0x07, 0x00, 0x00, 0x00
+
+ .align 2
+gUnknown_082F7A94:: @ 82F7A94
+ .byte 0x08, 0x05, 0x08, 0x0b, 0x0f, 0x00, 0x00, 0x00
+
+ .align 2
+gUnknown_082F7A9C:: @ 82F7A9C
+ .byte 0x05, 0x0a, 0x14, 0x1e, 0x32, 0x46, 0x64, 0x00
+
+ .align 2
+gUnknown_082F7AA4:: @ 82F7AA4
+ .byte 0x0f, 0x10, 0x11, 0x12, 0x13, 0x13, 0x12, 0x11
+ .byte 0x10, 0x0f, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19
+ .byte 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21
+ .byte 0x22, 0x22, 0x21, 0x20, 0x1f, 0x1e, 0x00, 0x00
+
+ .align 2
+gUnknown_082F7AC4:: @ 82F7AC4
+ .4byte sub_8024DBC
+ .4byte sub_8024E00
+ .4byte sub_8024E38
+ .4byte sub_8024F10
+ .4byte sub_8024F38
+ .4byte sub_8025198
+ .4byte sub_8025324
+ .4byte sub_8025470
+ .4byte sub_8025644
+ .4byte sub_80256AC
+ .4byte sub_8025758
+ .4byte sub_80250D4
+
+ .align 2
+gUnknown_082F7AF4:: @ 82F7AF4
+ .4byte sub_8024DBC
+ .4byte sub_8024E00
+ .4byte sub_8024E38
+ .4byte sub_8024F10
+ .4byte sub_8024FFC
+ .4byte sub_8025230
+ .4byte sub_8025324
+ .4byte sub_8025470
+ .4byte sub_8025644
+ .4byte sub_80256AC
+ .4byte sub_8025758
+ .4byte sub_8025158
+
+ .align 2
+gUnknown_082F7B24:: @ 82F7B24
+ .2byte 0x000a, 0x001e, 0x0032, 0x0032
+
+ .align 2
+gUnknown_082F7B2C:: @ 82F7B2C
+ .byte 0x00, 0x05, 0x01, 0x14, 0x0b, 0x0f, 0x01, 0x00
+
+ .align 2
+gUnknown_082F7B34:: @ 82F7B34
+ .4byte gText_BerriesPicked
+ .4byte gText_BestScore
+ .4byte gText_BerriesInRowFivePlayers
+
+ .align 2
+gUnknown_082F7B40:: @ 82F7B40
+ .byte 0x04, 0x07, 0x04, 0x00
+
+ .align 2
+gUnknown_082F7B44:: @ 82F7B44
+ .2byte 0x0019, 0x0029, 0x0039
+
+gUnknown_082F7B4A:: @ 82F7B4A
+ .2byte 0x0019, 0x0029, 0x0049
+
+ .align 2
+gUnknown_082F7B50:: @ 82F7B50
+ .2byte 0x270f, 0x0000, 0x005a, 0x270f, 0x270f, 0x270f, 0x0046, 0x270f
+ .2byte 0x270f, 0x0000, 0x270f, 0x0000, 0x270f, 0x270f, 0x003c, 0x0000
+ .2byte 0x270f, 0x270f, 0x270f, 0x0000
+
+ .align 2
+gUnknown_082F7B78:: @ 82F7B78
+ .string "ÀÁÂÇÈÉÊ$"
+
+ .align 2
+gUnknown_082F7B80:: @ 82F7B80
+ .string "ABCDEFG$"
+
+ .align 2
+gUnknown_082F7B88:: @ 82F7B88
+ .string "0123456$"
+
+ .align 2
+gUnknown_082F7B90:: @ 82F7B90
+ .4byte gUnknown_082F7B78
+ .4byte gUnknown_082F7B78
+ .4byte gUnknown_082F7B78
+ .4byte gUnknown_082F7B80
+ .4byte gUnknown_082F7B88
+
+ .align 2
+gUnknown_082F7BA4:: @ 82F7BA4 struct BgTemplate
+ .4byte 0x000001e0
+ .4byte 0x000012c9
+ .4byte 0x000012ea
+ .4byte 0x000021ff
+ .4byte 0x000000ff
+ .4byte 0x00000000
+
+ .align 2
+gUnknown_082F7BBC:: @ 82F7BBC
+ window_template 0x00, 0x01, 0x01, 0x1c, 0x02, 0x0d, 0x0013
+ window_template 0x00, 0x01, 0x05, 0x1c, 0x0e, 0x0d, 0x004b
+
+ .align 2
+gUnknown_082F7BCC:: @ 82F7BCC
+ window_template 0x00, 0x01, 0x05, 0x1c, 0x07, 0x0d, 0x004b
+
+ .align 2
+gUnknown_082F7BD4:: @ 82F7BD4
+ window_template 0x00, 0x01, 0x08, 0x13, 0x03, 0x0d, 0x0013
+ window_template 0x00, 0x16, 0x07, 0x06, 0x04, 0x0d, 0x004c
+
+ .align 2
+gUnknown_082F7BE4:: @ 82F7BE4
+ window_template 0x00, 0x04, 0x06, 0x16, 0x05, 0x0d, 0x0013
+
+ .align 2
+gUnknown_082F7BEC:: @ 82F7BEC
+ window_template 0x00, 0x05, 0x08, 0x13, 0x03, 0x0d, 0x0013
+
+ .align 2
+gUnknown_082F449C_UnrefDupe:: @ 82F7BF4
+ .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+ .byte 0x08, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x03, 0x08
+ .byte 0x09, 0x00, 0x00, 0x01, 0x02, 0x05, 0x06, 0x03
+ .byte 0x04, 0x05, 0x08, 0x09, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
+ .byte 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x02, 0x09
+ .byte 0x00, 0x00, 0x01, 0x04, 0x05, 0x06, 0x07, 0x02
+ .byte 0x03, 0x04, 0x09, 0x00, 0x00, 0x01, 0x06, 0x07
+ .byte 0x02, 0x03, 0x04, 0x05, 0x06, 0x09, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02
+ .byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x00
+ .byte 0x00, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01
+ .byte 0x02, 0x03, 0x00, 0x00, 0x05, 0x06, 0x07, 0x08
+ .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x07
+ .byte 0x08, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03
+ .byte 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x02
+ .byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00
+ .byte 0x01, 0x02, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09
+ .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x08
+ .byte 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
+ .byte 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05
+ .byte 0x06, 0x07, 0x08, 0x04, 0x05, 0x06, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x03, 0x04, 0x05, 0x05, 0x06, 0x03
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x04, 0x05, 0x06, 0x06, 0x07, 0x02, 0x02
+ .byte 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x04, 0x05, 0x05, 0x06, 0x07, 0x07, 0x08
+ .byte 0x01, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x04
+ .byte 0x05, 0x06, 0x06, 0x07, 0x08, 0x08, 0x09, 0x00
+ .byte 0x00, 0x01, 0x02, 0x02, 0x03, 0x04, 0x01, 0x00
+ .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01
+ .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00
+ .byte 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x01
+ .byte 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00
+ .byte 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x02
+ .byte 0x01, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x04
+ .byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09
+ .byte 0x01, 0x01, 0x01, 0x09, 0x09, 0x09, 0x09, 0x09
+ .byte 0x09, 0x09, 0x00, 0x00, 0x01, 0x01, 0x00, 0x09
+ .byte 0x09, 0x09, 0x09, 0x09, 0x02, 0x02, 0x00, 0x00
+ .byte 0x01, 0x01, 0x01, 0x09, 0x09, 0x09, 0x03, 0x03
+ .byte 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x09
+ .byte 0x03, 0x03, 0x04, 0x04, 0x00, 0x00, 0x01, 0x01
+ .byte 0x02, 0x02, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00
+ .byte 0x04, 0x06, 0x00, 0x00, 0x00, 0x03, 0x05, 0x07
+ .byte 0x00, 0x00, 0x02, 0x04, 0x06, 0x08, 0x00, 0x01
+ .byte 0x03, 0x05, 0x06, 0x09
+
+ .align 2
+gDodrioBerryBgPal1:: @ 82F7DF0
+ .incbin "graphics/link_games/dodrioberry_bg1.gbapal"
+
+ .align 2
+ .incbin "graphics/link_games/dodrioberry_bg2.gbapal"
+
+ .align 2
+gDodrioBerryPkmnPal:: @ 82F7E30
+ .incbin "graphics/link_games/dodrioberry_pkmn.gbapal"
+
+ .align 2
+gDodrioBerryShinyPal:: @ 82F7E50
+ .incbin "graphics/link_games/dodrioberry_shiny.gbapal"
+
+ .align 2
+gDodrioBerryStatusPal:: @ 82F7E70
+ .incbin "graphics/link_games/dodrioberry_status.gbapal"
+
+ .align 2
+gDodrioBerrySpritesPal:: @ 82F7E90
+ .incbin "graphics/link_games/dodrioberry_berrysprites.gbapal"
+
+ .align 2
+gDodrioBerrySpritesGfx:: @ 82F7EB0
+ .incbin "graphics/link_games/dodrioberry_berrysprites.4bpp.lz"
+
+ .align 2
+gDodrioBerryPlatformPal:: @ 82F8064
+ .incbin "graphics/link_games/dodrioberry_platform.gbapal"
+
+ .align 2
+gDodrioBerryBgGfx1:: @ 82F8084
+ .incbin "graphics/link_games/dodrioberry_bg1.4bpp.lz"
+
+ .align 2
+gDodrioBerryBgGfx2:: @ 82F8914
+ .incbin "graphics/link_games/dodrioberry_bg2.4bpp.lz"
+
+ .align 2
+gDodrioBerryStatusGfx:: @ 82F96E0
+ .incbin "graphics/link_games/dodrioberry_status.4bpp.lz"
+
+ .align 2
+gDodrioBerryPlatformGfx:: @ 82F9774
+ .incbin "graphics/link_games/dodrioberry_platform.4bpp.lz"
+
+ .align 2
+gDodrioBerryPkmnGfx:: @ 82F98BC
+ .incbin "graphics/link_games/dodrioberry_pkmn.4bpp.lz"
+
+ .align 2
+gDodrioBerryBgTilemap1:: @ 82FAAD8
+ .incbin "graphics/link_games/dodrioberry_bg1.bin.lz"
+
+ .align 2
+gDodrioBerryBgTilemap2Right:: @ 82FAD44
+ .incbin "graphics/link_games/dodrioberry_bg2right.bin.lz"
+
+ .align 2
+gDodrioBerryBgTilemap2Left:: @ 82FAF94
+ .incbin "graphics/link_games/dodrioberry_bg2left.bin.lz"
+
+ .align 2
+gUnknown_082FB1E0:: @ 82FB1E0
+ .byte 0x00, 0x00, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
+
+ .align 2
+gUnknown_082FB1E8:: @ 82FB1E8
+ .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00
+
+ .align 2
+gUnknown_082FB1F0:: @ 82FB1F0
+ .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
+
+ .align 2
+gUnknown_082FB1F8:: @ 82FB1F8
+ .byte 0x00, 0x40, 0x00, 0xc0, 0x00, 0x0c, 0x00, 0x00
+
+ .align 2
+gUnknown_082FB200:: @ 82FB200
+ .2byte 0x0000, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB208:: @ 82FB208
+ .2byte 0x0040, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB210:: @ 82FB210
+ .2byte 0x0080, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB218:: @ 82FB218
+ .2byte 0x00c0, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB220:: @ 82FB220
+ .2byte 0x0100, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB228:: @ 82FB228
+ .4byte gUnknown_082FB200
+ .4byte gUnknown_082FB208
+ .4byte gUnknown_082FB210
+ .4byte gUnknown_082FB218
+ .4byte gUnknown_082FB220
+
+ .align 2
+gUnknown_082FB23C:: @ 82FB23C
+ .2byte 0x0000, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB244:: @ 82FB244
+ .2byte 0x0004, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB24C:: @ 82FB24C
+ .2byte 0x0008, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB254:: @ 82FB254
+ .4byte gUnknown_082FB23C
+ .4byte gUnknown_082FB244
+ .4byte gUnknown_082FB24C
+
+ .align 2
+gUnknown_082FB260:: @ 82FB260
+ .2byte 0x0000, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB268:: @ 82FB268
+ .2byte 0x0004, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB270:: @ 82FB270
+ .2byte 0x0008, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB278:: @ 82FB278
+ .2byte 0x000c, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB280:: @ 82FB280
+ .2byte 0x0010, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB288:: @ 82FB288
+ .2byte 0x0014, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB290:: @ 82FB290
+ .2byte 0x0018, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB298:: @ 82FB298
+ .2byte 0x001c, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB2A0:: @ 82FB2A0
+ .2byte 0x0020, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB2A8:: @ 82FB2A8
+ .4byte gUnknown_082FB260
+ .4byte gUnknown_082FB268
+ .4byte gUnknown_082FB270
+ .4byte gUnknown_082FB278
+ .4byte gUnknown_082FB280
+ .4byte gUnknown_082FB288
+ .4byte gUnknown_082FB290
+ .4byte gUnknown_082FB298
+ .4byte gUnknown_082FB2A0
+
+ .align 2
+gUnknown_082FB2CC:: @ 82FB2CC
+ .2byte 0x0000, 0x0014
+ .2byte 0xfffe, 0x0000
+
+ .align 2
+gUnknown_082FB2D4:: @ 82FB2D4
+ .4byte gUnknown_082FB2CC
+
+ .align 2
+gUnknown_082FB2D8:: @ 82FB2D8
+ obj_pal gDodrioBerryPkmnPal, 0x0000
+
+ .align 2
+gUnknown_082FB2E0:: @ 82FB2E0
+ obj_pal gDodrioBerryShinyPal, 0x0001
+
+ .align 2
+gUnknown_082FB2E8:: @ 82FB2E8
+ obj_pal gDodrioBerryStatusPal, 0x0002
+
+ .align 2
+gUnknown_082FB2F0:: @ 82FB2F0
+ spr_template 0x0001, 0x0002, gUnknown_082FB1E8, gUnknown_082FB254, NULL, gDummySpriteAffineAnimTable, nullsub_15
+
+ .align 2
+ .byte 0xD4, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44
+ .byte 0x45, 0xFB, 0x00, 0x00
+
+ .align 2
+gUnknown_082FB314:: @ 82FB314
+ obj_pal gDodrioBerrySpritesPal, 0x0003
+
+ .align 2
+gUnknown_082FB31C:: @ 82FB31C
+ .2byte 0x0058, 0x0080, 0x00a8, 0x00d0
+
+ .align 2
+gUnknown_082FB324:: @ 82FB324
+ spr_template 0x0002, 0x0003, gUnknown_082FB1F0, gUnknown_082FB2A8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_082FB33C:: @ 82FB33C
+ spr_template 0x0002, 0x0003, gUnknown_082FB1E8, gUnknown_082FB2A8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_082FB354:: @ 82FB354
+ .byte 0x1E, 0x14
+
+gUnknown_082FB356:: @ 82FB356
+ .byte 0xE6, 0x00
+
+ .align 2
+gUnknown_082FB358:: @ 82FB358
+ .2byte 0x0037, 0x001e, 0x004a, 0x0000
+
+ .align 2
+gUnknown_082FB360:: @ 82FB360
+ obj_pal gDodrioBerryPlatformPal, 0x0006
+
+ .align 2
+gUnknown_082FB368:: @ 82FB368
+ spr_template 0x0005, 0x0006, gUnknown_082FB1F8, gUnknown_082FB2D4, NULL, gDummySpriteAffineAnimTable, sub_8028CF4
+
+ .align 2
+gUnknown_082FB380:: @ 82FB380
+ .byte 0x01, 0x02, 0x03
+
+gUnknown_082FB383:: @ 82FB383
+ .byte 0x01, 0x04, 0x05
+ .byte 0x01, 0x08, 0x09
+ .byte 0x01, 0x06, 0x07
+
+ .align 2
+gUnknown_082FB38C:: @ 82FB38C
+ .byte 0x0c, 0x06, 0x00, 0x00
+
+ .align 2
+gUnknown_082FB390:: @ 82FB390
+ .byte 0x09, 0x0a, 0x00, 0x00, 0x0f, 0x06, 0x00, 0x00
+
+ .align 2
+gUnknown_082FB398:: @ 82FB398
+ .byte 0x0c, 0x06, 0x00, 0x00, 0x12, 0x0a, 0x00, 0x00
+ .byte 0x06, 0x0a, 0x00, 0x00
+
+ .align 2
+gUnknown_082FB3A4:: @ 82FB3A4
+ .byte 0x09, 0x0a, 0x00, 0x00, 0x0f, 0x06, 0x00, 0x00
+ .byte 0x15, 0x0a, 0x00, 0x00, 0x03, 0x06, 0x00, 0x00
+
+ .align 2
+gUnknown_082FB3B4:: @ 82FB3B4
+ .byte 0x0c, 0x06, 0x00, 0x00, 0x12, 0x0a, 0x00, 0x00
+ .byte 0x17, 0x06, 0x00, 0x00, 0x01, 0x06, 0x00, 0x00
+ .byte 0x06, 0x0a, 0x00, 0x00
+
+ .align 2
+gUnknown_082FB3C8:: @ 82FB3C8
+ .4byte gUnknown_082FB38C
+ .4byte gUnknown_082FB390
+ .4byte gUnknown_082FB398
+ .4byte gUnknown_082FB3A4
+ .4byte gUnknown_082FB3B4
+
+ .align 2
+gUnknown_082FB3DC:: @ 82FB3DC
+ .4byte gText_1Colon
+ .4byte gText_2Colon
+ .4byte gText_3Colon
+ .4byte gText_4Colon
+ .4byte gText_5Colon
+
+ .align 2
+gUnknown_082FB3F0:: @ 82FB3F0
+ .2byte 0x005c, 0x0084, 0x00ac, 0x00d4
+
+gUnknown_082FB3F8:: @ 82FB3F8
+ .2byte 0x0021, 0x0031, 0x0041, 0x0051, 0x0061
+
+gUnknown_082FB402:: @ 82FB402
+ .2byte 0x0011, 0x0021, 0x0031, 0x0041, 0x0051
+
+ .align 2
+gUnknown_082FB40C:: @ 82FB40C
+ .4byte 0x00000000, sub_8029338
+ .4byte 0x00000001, sub_8029440
+ .4byte 0x00000002, sub_802988C
+ .4byte 0x00000003, sub_802A010
+ .4byte 0x00000004, sub_802A380
+ .4byte 0x00000005, sub_802A454
+ .4byte 0x00000006, sub_802A534
+ .4byte 0x00000007, sub_802A588
+ .4byte 0x00000008, unused_0
+ .4byte 0x00000009, nullsub_16
+
+ .align 2
+gUnknown_082FB45C:: @ 82FB45C
+ .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00
diff --git a/data/ereader_helpers.s b/data/ereader_helpers.s
new file mode 100644
index 000000000..246fe749b
--- /dev/null
+++ b/data/ereader_helpers.s
@@ -0,0 +1,53 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+gUnknown_08625B6C:: @ 8625B6C
+@ apparently e-reader trainer data? idk
+ .byte 0x6f, 0x57, 0x54, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x2e, 0x14, 0x0c, 0x0e, 0x23, 0x10, 0x47, 0x0a, 0x1f, 0x06, 0x24, 0x0e, 0x48, 0x0a, 0x0f, 0x06
+ .byte 0x22, 0x27, 0x2c, 0x16, 0x07, 0x06, 0x01, 0x0c, 0x47, 0x0a, 0x06, 0x06, 0x24, 0x0e, 0x00, 0x1e, 0x19, 0x12, 0x05, 0x0c, 0x25, 0x16, 0x25, 0x10, 0x0d, 0x1c, 0x2a, 0x1c, 0x06, 0x0a, 0x06, 0x0c
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+ .byte 0xff, 0xff, 0xff, 0x00, 0x70, 0x01, 0xdb, 0x00, 0xbc, 0x00, 0xf7, 0x00, 0xdc, 0x00, 0x19, 0x01, 0x00, 0x00, 0x37, 0xff, 0x64, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a
+ .byte 0x80, 0x00, 0x00, 0x00, 0x6f, 0x79, 0x69, 0xae, 0x71, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x26, 0x01, 0xb3, 0x00, 0x3e, 0x01, 0xbc, 0x00, 0xf7, 0x00, 0xca, 0x00, 0x00, 0x00, 0x00, 0xff
+ .byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x95, 0x58, 0x59, 0x52, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0x01, 0xb7, 0x00
+ .byte 0xf6, 0x00, 0x39, 0x00, 0x59, 0x00, 0x85, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x9b, 0xff, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x2f, 0x00, 0x00, 0x00, 0x8d, 0xae, 0x77, 0x7e
+ .byte 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+
+
+ .byte 0x6a, 0x79, 0x6b, 0x64, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x1b, 0x01, 0x00, 0x00, 0x00, 0x54, 0x27, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x20, 0x06, 0x00, 0x0c, 0x13, 0x24, 0x2b, 0x0e
+ .byte 0xff, 0xff, 0x3b, 0x0a, 0x05, 0x12, 0x00, 0x0c, 0x6b, 0x26, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x0e, 0x12, 0x00, 0x0c, 0x2c, 0x24, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x17, 0x12, 0x00, 0x0c
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+ .byte 0xff, 0xff, 0xff, 0x00, 0x59, 0x01, 0xb7, 0x00, 0xca, 0x00, 0xb9, 0x00, 0x09, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x37, 0x00, 0x64, 0x00, 0xff, 0x64, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a
+ .byte 0x8c, 0x00, 0x00, 0x00, 0x69, 0x58, 0x60, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x31, 0x01, 0xb3, 0x00, 0x07, 0x01, 0x4c, 0x01, 0x62, 0x00, 0x68, 0x00, 0x00, 0x00, 0xff, 0xff
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x80, 0x00, 0x00, 0x00, 0x55, 0x55, 0x5d, 0x96, 0x72, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x44, 0x01, 0x86, 0x00
+ .byte 0x39, 0x00, 0x59, 0x00, 0x85, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x65, 0x6f, 0x8e, 0x7e
+ .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+ .byte 0x72, 0x52, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x27, 0x01, 0x00, 0x00, 0x00, 0x4a, 0x04, 0x0e, 0x02, 0x35, 0x16, 0x10, 0x10, 0xda, 0x26, 0x3e, 0x10, 0x4a, 0x04, 0x0e, 0x02
+ .byte 0x47, 0x0a, 0xd9, 0x26, 0x21, 0x16, 0x3e, 0x10, 0x14, 0x1e, 0x07, 0x1e, 0x30, 0x06, 0x23, 0x16, 0x24, 0x0e, 0x06, 0x0c, 0x18, 0x14, 0x2f, 0x14, 0x1a, 0x08, 0x27, 0x1c, 0x00, 0x0c, 0xff, 0xff
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+ .byte 0xff, 0xff, 0xff, 0x00, 0x3c, 0x01, 0x8d, 0x00, 0x2f, 0x00, 0x22, 0x00, 0xf7, 0x00, 0xe7, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a
+ .byte 0x03, 0x00, 0x00, 0x00, 0x54, 0x68, 0x5a, 0x7b, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6b, 0x01, 0xc8, 0x00, 0xca, 0x00, 0x40, 0x01, 0x5c, 0x00, 0x49, 0x00, 0x00, 0x00, 0xff, 0x00
+ .byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a, 0x06, 0x00, 0x00, 0x00, 0x7b, 0x8f, 0x78, 0x51, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x24, 0x01, 0xb3, 0x00
+ .byte 0x3e, 0x01, 0x4c, 0x01, 0xd5, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x64, 0xc8, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x51, 0x8a, 0x6a, 0x7e
+ .byte 0x64, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+ .byte 0x9c, 0x54, 0xae, 0x79, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0a, 0x02, 0x06, 0x20, 0x06, 0x0a, 0x0a, 0x23, 0x10, 0x00, 0x0c, 0x28, 0x0c, 0x14, 0x18
+ .byte 0x32, 0x14, 0x02, 0x16, 0x05, 0x10, 0xff, 0xff, 0x0c, 0x1e, 0x0a, 0x0a, 0x34, 0x12, 0x11, 0x1e, 0x1a, 0x08, 0x05, 0x0c, 0x1e, 0x0a, 0x02, 0x06, 0x20, 0x06, 0x22, 0x0a, 0x15, 0x10, 0x01, 0x0c
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+ .byte 0xff, 0xff, 0xff, 0x00, 0x63, 0x01, 0xb3, 0x00, 0xf2, 0x00, 0x35, 0x00, 0x09, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0xff, 0x9b, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a
+ .byte 0x00, 0x00, 0x00, 0x00, 0x58, 0x61, 0xae, 0x64, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4b, 0x01, 0xc6, 0x00, 0x39, 0x00, 0xf2, 0x00, 0x26, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff, 0x00
+ .byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x96, 0x00, 0x00, 0x00, 0x5b, 0x72, 0x6a, 0x91, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0x01, 0x8d, 0x00
+ .byte 0x5e, 0x00, 0xf7, 0x00, 0x55, 0x00, 0x05, 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x96, 0x00, 0x00, 0x00, 0x8d, 0x85, 0x9e, 0xa0
+ .byte 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
diff --git a/data/ereader_screen.s b/data/ereader_screen.s
new file mode 100755
index 000000000..3d6572a49
--- /dev/null
+++ b/data/ereader_screen.s
@@ -0,0 +1,7 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+gUnknown_0862609C:: @ 862609C
+ .incbin "data/unknown_jp_62609C.bin"
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 67351d184..2587c63d2 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -442,28 +442,28 @@ gStdScripts_End:: @ 81DC2CC
EventScript_SecretBasePC:: @ 823B4BB
lockall
playse SE_PC_LOGIN
- message Text_276805
+ message Text_SecretBaseBootUpPC
dofieldeffect FLDEFF_PCTURN_ON
waitstate
waitmessage
waitbuttonpress
playse SE_SELECT
- goto EventScript_23B4D3
+ goto EventScript_SecretBasePCShowMainMenu
end
-EventScript_23B4D3:: @ 823B4D3
- message Text_27681A
+EventScript_SecretBasePCShowMainMenu:: @ 823B4D3
+ message Text_SecretBasePCStartMenu
waitmessage
- goto_if_set FLAG_DECORATION_16, EventScript_23B4EF
+ goto_if_set FLAG_SECRET_BASE_REGISTRY_ENABLED, EventScript_SecretBasePCMainMenuChoice
goto EventScript_23B531
end
-gUnknown_0823B4E8:: @ 823B4E8
+gUnknown_0823B4E8:: @ 823B4E8 ;EventScript_SecretBasePCCancel?
lockall
- goto EventScript_23B4D3
+ goto EventScript_SecretBasePCShowMainMenu
end
-EventScript_23B4EF:: @ 823B4EF
+EventScript_SecretBasePCMainMenuChoice:: @ 823B4EF
multichoice 0, 0, 6, 0
switch VAR_RESULT
case 0, EventScript_23B581
@@ -485,23 +485,23 @@ EventScript_23B531:: @ 823B531
EventScript_23B568:: @ 823B568
msgbox Text_2766AA, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_if_eq EventScript_23B4D3
+ goto_if_eq EventScript_SecretBasePCShowMainMenu
closemessage
- special sub_80E9AC0
+ special MoveOutOfSecretBase
releaseall
end
EventScript_23B581:: @ 823B581
- special sub_80E9C74
+ special ShowSecretBaseDecorationMenu
end
EventScript_23B585:: @ 823B585
- special sub_80E9C88
+ special ShowSecretBaseRegistryMenu
end
EventScript_RecordMixingSecretBasePC:: @ 823B589
lockall
- message Text_276805
+ message Text_SecretBaseBootUpPC
playse SE_PC_LOGIN
dofieldeffect FLDEFF_PCTURN_ON
waitstate
@@ -512,7 +512,7 @@ EventScript_RecordMixingSecretBasePC:: @ 823B589
end
EventScript_23B5A1:: @ 823B5A1
- message Text_27681A
+ message Text_SecretBasePCStartMenu
waitmessage
multichoice 0, 0, 7, 0
switch VAR_RESULT
@@ -529,17 +529,17 @@ gUnknown_0823B5E9:: @ 823B5E9
end
EventScript_23B5F0:: @ 823B5F0
- special sub_80E9BDC
+ special GetCurSecretBaseRegistrationValidity
compare VAR_RESULT, 1
goto_if_eq EventScript_23B62F
compare VAR_RESULT, 2
- goto_if_eq EventScript_23B652
- special sub_80E980C
- msgbox Text_276707, MSGBOX_YESNO
+ goto_if_eq EventScript_CantRegisterTooManyBases
+ special CopyCurSecretBaseOwnerName_StrVar1
+ msgbox Text_WantToRegisterSecretBase, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq EventScript_23B5A1
msgbox Text_2767D1, MSGBOX_SIGN
- special sub_80E9C2C
+ special ToggleCurSecretBaseRegistry
special DoSecretBasePCTurnOffEffect
releaseall
end
@@ -549,13 +549,13 @@ EventScript_23B62F:: @ 823B62F
compare VAR_RESULT, 0
goto_if_eq EventScript_23B5A1
msgbox Text_2767E9, MSGBOX_SIGN
- special sub_80E9C2C
+ special ToggleCurSecretBaseRegistry
special DoSecretBasePCTurnOffEffect
releaseall
end
-EventScript_23B652:: @ 823B652
- msgbox Text_27676F, MSGBOX_SIGN
+EventScript_CantRegisterTooManyBases:: @ 823B652
+ msgbox Text_TooManyBasesDeleteSome, MSGBOX_SIGN
special DoSecretBasePCTurnOffEffect
closemessage
releaseall
@@ -573,23 +573,23 @@ EventScript_23B66E:: @ 823B66E
end
EventScript_23B674:: @ 823B674
- special sub_80EB498
+ special SetSecretBaseSecretsTvFlags_Poster
end
EventScript_23B678:: @ 823B678
- special sub_80EB56C
+ special SetSecretBaseSecretsTvFlags_MiscFurnature
end
EventScript_23B67C:: @ 823B67C
- special sub_80EB9E0
+ special SetSecretBaseSecretsTvFlags_LargeDecorationSpot
end
EventScript_23B680:: @ 823B680
- special sub_80EBB28
+ special SetSecretBaseSecretsTvFlags_SmallDecorationSpot
end
EventScript_SecretBaseSandOrnament:: @ 823B684
- special sub_80EBE7C
+ special SetSecretBaseSecretsTvFlags_SandOrnament
dofieldeffect FLDEFF_SAND_PILLAR
waitstate
end
@@ -1099,7 +1099,7 @@ EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1
compare VAR_FOSSIL_MANIAC_STATE, 0
call_if_eq EverGrandeCity_HallOfFame_EventScript_271839
clearflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
- call EverGrandeCity_HallOfFame_EventScript_2718CC
+ call EverGrandeCity_HallOfFame_EventScript_ResetEliteFour
setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY
clearflag FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY
clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY
@@ -1147,7 +1147,7 @@ EverGrandeCity_HallOfFame_EventScript_271851:: @ 8271851
return
EventScript_WhiteOut:: @ 8271857
- call EverGrandeCity_HallOfFame_EventScript_2718CC
+ call EverGrandeCity_HallOfFame_EventScript_ResetEliteFour
goto EventScript_ResetMrBriney
end
@@ -1192,7 +1192,7 @@ EventScript_MoveMrBrineyToRoute108:: @ 82718B3
clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
end
-EverGrandeCity_HallOfFame_EventScript_2718CC:: @ 82718CC
+EverGrandeCity_HallOfFame_EventScript_ResetEliteFour:: @ 82718CC
clearflag FLAG_DEFEATED_ELITE_4_SYDNEY
clearflag FLAG_DEFEATED_ELITE_4_PHOEBE
clearflag FLAG_DEFEATED_ELITE_4_GLACIA
@@ -1337,13 +1337,13 @@ OldaleTown_PokemonCenter_1F_EventScript_271A19:: @ 8271A19
OldaleTown_PokemonCenter_1F_EventScript_271A43:: @ 8271A43
specialvar VAR_RESULT, IsPokerusInParty
compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A5F
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_Explain_Pokerus
compare VAR_RESULT, 0
goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_2719B1
end
-OldaleTown_PokemonCenter_1F_EventScript_271A5F:: @ 8271A5F
- message gUnknown_08272F07
+OldaleTown_PokemonCenter_1F_EventScript_Explain_Pokerus:: @ 8271A5F
+ message gText_PokerusExplanation
setflag FLAG_POKERUS_EXPLAINED
return
@@ -1437,7 +1437,7 @@ EventScript_271B85:: @ 8271B85
EventScript_271B95:: @ 8271B95
message gUnknown_08272A78
waitfanfare
- msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
+ msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
setvar VAR_RESULT, 1
return
@@ -1491,13 +1491,13 @@ Std_FindItem:: @ 8271BFD
checkitemtype VAR_0x8000
call EventScript_271B08
compare VAR_0x8007, 1
- call_if_eq EventScript_271C3A
+ call_if_eq EventScript_PickItemUp
compare VAR_0x8007, 0
call_if_eq EventScript_271CA1
release
return
-EventScript_271C3A:: @ 8271C3A
+EventScript_PickItemUp:: @ 8271C3A
removeobject VAR_LAST_TALKED
giveitem VAR_0x8004, VAR_0x8005
specialvar VAR_RESULT, sub_81398C0
@@ -1513,20 +1513,20 @@ EventScript_271C3A:: @ 8271C3A
special CallBattlePyramidFunction
compare VAR_RESULT, 1
goto_if_eq EventScript_271C86
- msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
+ msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
return
EventScript_271C86:: @ 8271C86
- msgbox gUnknown_08272AEA, MSGBOX_DEFAULT
+ msgbox gText_PlayerPutItemInBag, MSGBOX_DEFAULT
return
EventScript_271C8F:: @ 8271C8F
bufferitemnameplural 0, VAR_0x8004, VAR_0x8005
- message gUnknown_082731A9
+ message gText_PlayerFoundOneItemTwoLines
return
EventScript_271C9B:: @ 8271C9B
- message gUnknown_08272ABF
+ message gText_PlayerFoundOneItem
return
EventScript_271CA1:: @ 8271CA1
@@ -1561,12 +1561,12 @@ EventScript_271CE8:: @ 8271CE8
EventScript_271D0E:: @ 8271D0E
bufferitemnameplural 0, VAR_0x8004, 1
- message gUnknown_082731A9
+ message gText_PlayerFoundOneItemTwoLines
goto EventScript_271D2A
end
EventScript_271D1F:: @ 8271D1F
- message gUnknown_08272ABF
+ message gText_PlayerFoundOneItem
goto EventScript_271D2A
end
@@ -1575,14 +1575,14 @@ EventScript_271D2A:: @ 8271D2A
waitfanfare
bufferitemnameplural 1, VAR_0x8004, 1
copyvar VAR_0x8004, VAR_0x8008
- msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
+ msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
special sub_80EDCE8
special SetFlagInVar
releaseall
end
EventScript_271D47:: @ 8271D47
- msgbox gUnknown_08272ABF, MSGBOX_DEFAULT
+ msgbox gText_PlayerFoundOneItem, MSGBOX_DEFAULT
msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
releaseall
@@ -1591,7 +1591,7 @@ EventScript_271D47:: @ 8271D47
EventScript_271D5E:: @ 8271D5E
lock
faceplayer
- msgbox Text_27260D, MSGBOX_YESNO
+ msgbox Text_WouldYouLikeToMixRecords, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_if_eq EventScript_271D83
compare VAR_RESULT, 0
@@ -1605,7 +1605,7 @@ EventScript_271D83:: @ 8271D83
faceplayer
EventScript_271D89:: @ 8271D89
- message Text_272640
+ message Text_WouldNotLikeToMixRecords
waitmessage
waitbuttonpress
release
@@ -1616,7 +1616,7 @@ EventScript_PC:: @ 8271D92
setvar VAR_0x8004, 0
special DoPCTurnOnEffect
playse SE_PC_ON
- msgbox Text_27265A, MSGBOX_DEFAULT
+ msgbox Text_BootUpPC, MSGBOX_DEFAULT
goto EventScript_271DAC
end
@@ -1639,7 +1639,7 @@ EventScript_271DBC:: @ 8271DBC
EventScript_271DF9:: @ 8271DF9
playse SE_PC_LOGIN
- msgbox gUnknown_082726C2, MSGBOX_DEFAULT
+ msgbox gText_AccessedPlayersPC, MSGBOX_DEFAULT
special PlayerPC
waitstate
goto EventScript_271DAC
@@ -1649,18 +1649,18 @@ EventScript_271E0E:: @ 8271E0E
playse SE_PC_LOGIN
call_if_unset FLAG_SYS_PC_LANETTE, EventScript_271E35
call_if_set FLAG_SYS_PC_LANETTE, EventScript_271E3E
- msgbox gUnknown_082726A3, MSGBOX_DEFAULT
+ msgbox gText_StorageSystemOpened, MSGBOX_DEFAULT
special ShowPokemonStorageSystemPC
waitstate
goto EventScript_271DAC
end
EventScript_271E35:: @ 8271E35
- msgbox gUnknown_0827268C, MSGBOX_DEFAULT
+ msgbox gText_AccessedSomeonesPC, MSGBOX_DEFAULT
return
EventScript_271E3E:: @ 8271E3E
- msgbox gUnknown_082726D4, MSGBOX_DEFAULT
+ msgbox gText_AccessedLanettesPC, MSGBOX_DEFAULT
return
EventScript_271E47:: @ 8271E47
@@ -1717,20 +1717,20 @@ Route109_EventScript_271E95:: @ 8271E95
EventScript_UseSurf:: @ 8271EA0
checkpartymove MOVE_SURF
compare VAR_RESULT, 6
- goto_if_eq EventScript_271ED6
+ goto_if_eq EventScript_CantSurf
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
lockall
- msgbox gUnknown_08272FD6, MSGBOX_YESNO
+ msgbox gText_WantToUseSurf, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_if_eq EventScript_271ED5
- msgbox gUnknown_0827300D, MSGBOX_DEFAULT
+ goto_if_eq EventScript_CancelSurf
+ msgbox gText_PlayerUsedSurf, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_SURF
-EventScript_271ED5:: @ 8271ED5
+EventScript_CancelSurf:: @ 8271ED5
releaseall
-EventScript_271ED6:: @ 8271ED6
+EventScript_CantSurf:: @ 8271ED6
end
Common_EventScript_SetupRivalGender:: @ 8271ED7
@@ -2464,56 +2464,56 @@ Movement_2725CB:: @ 82725CB
step_end
EventScript_PictureBookShelf:: @ 82725CE
- msgbox Text_2A81E5, MSGBOX_SIGN
+ msgbox Text_PictureBookShelf, MSGBOX_SIGN
end
EventScript_BookShelf:: @ 82725D7
- msgbox Text_2A820D, MSGBOX_SIGN
+ msgbox Text_BookShelf, MSGBOX_SIGN
end
-EventScript_PokemonCenterBookshelf:: @ 82725E0
- msgbox Text_2A8232, MSGBOX_SIGN
+EventScript_PokemonCenterBookShelf:: @ 82725E0
+ msgbox Text_PokemonCenterBookShelf, MSGBOX_SIGN
end
EventScript_Vase:: @ 82725E9
- msgbox Text_2A8276, MSGBOX_SIGN
+ msgbox Text_Vase, MSGBOX_SIGN
end
-EventScript_TrashCan:: @ 82725F2
- msgbox Text_2A82B3, MSGBOX_SIGN
+EventScript_EmptyTrashCan:: @ 82725F2
+ msgbox Text_EmptyTrashCan, MSGBOX_SIGN
end
EventScript_ShopShelf:: @ 82725FB
- msgbox Text_2A82BF, MSGBOX_SIGN
+ msgbox Text_ShopShelf, MSGBOX_SIGN
end
EventScript_Blueprint:: @ 8272604
- msgbox Text_2A82F7, MSGBOX_SIGN
+ msgbox Text_Blueprint, MSGBOX_SIGN
end
-Text_27260D: @ 827260D
+Text_WouldYouLikeToMixRecords: @ 827260D
.string "Would you like to mix records with\n"
.string "other TRAINERS?$"
-Text_272640: @ 8272640
+Text_WouldNotLikeToMixRecords: @ 8272640
.string "We hope to see you again!$"
-Text_27265A: @ 827265A
+Text_BootUpPC: @ 827265A
.string "{PLAYER} booted up the PC.$"
gText_WhichPCShouldBeAccessed:: @ 827266F
.string "Which PC should be accessed?$"
-gUnknown_0827268C:: @ 827268C
+gText_AccessedSomeonesPC:: @ 827268C
.string "Accessed SOMEONE'S PC.$"
-gUnknown_082726A3:: @ 82726A3
+gText_StorageSystemOpened:: @ 82726A3
.string "POKéMON Storage System opened.$"
-gUnknown_082726C2:: @ 82726C2
+gText_AccessedPlayersPC:: @ 82726C2
.string "Accessed {PLAYER}'s PC.$"
-gUnknown_082726D4:: @ 82726D4
+gText_AccessedLanettesPC:: @ 82726D4
.string "Accessed LANETTE's PC.$"
gUnknown_082726EB:: @ 82726EB
@@ -2561,16 +2561,16 @@ gUnknown_08272A78:: @ 8272A78
gUnknown_08272A89:: @ 8272A89
.string "The BAG is full…$"
-gUnknown_08272A9A:: @ 8272A9A
+gText_PutItemInPocket:: @ 8272A9A
.string "{PLAYER} put away the {STR_VAR_2}\nin the {STR_VAR_3} POCKET.$"
-gUnknown_08272ABF:: @ 8272ABF
+gText_PlayerFoundOneItem:: @ 8272ABF
.string "{PLAYER} found one {STR_VAR_2}!$"
gText_TooBadBagIsFull:: @ 8272AD0
.string "Too bad!\nThe BAG is full…$"
-gUnknown_08272AEA:: @ 8272AEA
+gText_PlayerPutItemInBag:: @ 8272AEA
.string "{PLAYER} put away the {STR_VAR_2}\nin the BAG.$"
gUnknown_08272B09:: @ 8272B09
@@ -2597,13 +2597,13 @@ gUnknown_08272C1D:: @ 8272C1D
gUnknown_08272C5F:: @ 8272C5F
.string "The sandstorm is vicious.\nIt's impossible to keep going.$"
-gUnknown_08272C98:: @ 8272C98
+gText_SelectWithoutRegisteredItem:: @ 8272C98
.string "An item in the BAG can be\nregistered to SELECT for easy use.$"
gUnknown_08272CD5:: @ 8272CD5
.string "There's an e-mail from POKéMON TRAINER\nSCHOOL.\p… … … … … …\pA POKéMON may learn up to four moves.\pA TRAINER's expertise is tested on the\nmove sets chosen for POKéMON.\p… … … … … …$"
-gUnknown_08272D87:: @ 8272D87
+gText_PlayerHouseBootPC:: @ 8272D87
.string "{PLAYER} booted up the PC.$"
gUnknown_08272D9C:: @ 8272D9C
@@ -2615,13 +2615,13 @@ gUnknown_08272DB3:: @ 8272DB3
gUnknown_08272DE3:: @ 8272DE3
.string "{PLAYER} is out of usable\nPOKéMON!\p{PLAYER} whited out!$"
-gUnknown_08272E0F:: @ 8272E0F
+gText_RegisteredTrainerinPokeNav:: @ 8272E0F
.string "Registered {STR_VAR_1} {STR_VAR_2}\nin the POKéNAV.$"
gUnknown_08272E30:: @ 8272E30
.string "Do you know the TM SECRET POWER?\pOur group, we love the TM SECRET\nPOWER.\pOne of our members will give it to you.\nCome back and show me if you get it.\pWe'll accept you as a member and sell\nyou good stuff in secrecy.$"
-gUnknown_08272F07:: @ 8272F07
+gText_PokerusExplanation:: @ 8272F07
.string "Your POKéMON may be infected with\nPOKéRUS.\pLittle is known about the POKéRUS\nexcept that they are microscopic life-\lforms that attach to POKéMON.\pWhile infected, POKéMON are said to\ngrow exceptionally well.$"
.include "data/text/surf.inc"
@@ -2650,13 +2650,13 @@ gUnknown_08273161:: @ 8273161
gUnknown_08273178:: @ 8273178
.string "Thank you for accessing the\nMYSTERY GIFT System.$"
-gUnknown_082731A9:: @ 82731A9
+gText_PlayerFoundOneItemTwoLines:: @ 82731A9
.string "{PLAYER} found one {STR_VAR_1}\n{STR_VAR_2}!$"
-gUnknown_082731BD:: @ 82731BD
+gText_Sudowoodo_Attacked:: @ 82731BD
.string "The weird tree doesn't like the\nWAILMER PAIL!\pThe weird tree attacked!$"
-gUnknown_08273204:: @ 8273204
+gText_LegendaryFlewAway:: @ 8273204
.string "The {STR_VAR_1} flew away!$"
gText_PkmnTransferredSomeonesPC:: @ 8273216
@@ -2674,7 +2674,7 @@ gText_PkmnBoxLanettesPCFull:: @ 82732D9
gUnknown_0827331C:: @ 827331C
.string "There's no more room for POKéMON!\pThe POKéMON BOXES are full and\ncan't accept any more!$"
-gUnknown_08273374:: @ 8273374
+gText_NicknameThisPokemon:: @ 8273374
.string "Do you want to give a nickname to\nthis {STR_VAR_1}?$"
gUnknown_0827339F:: @ 827339F
@@ -2707,8 +2707,8 @@ gText_UnusualWeatherEnded_Rain:: @ 8273656
gText_UnusualWeatherEnded_Sun:: @ 8273684
.string "The intense sunshine appears to\nhave subsided…$"
-EventScript_2736B3:: @ 82736B3
- msgbox gUnknown_08272C98, MSGBOX_SIGN
+EventScript_SelectWithoutRegisteredItem:: @ 82736B3
+ msgbox gText_SelectWithoutRegisteredItem, MSGBOX_SIGN
end
EventScript_Poison:: @ 82736BC
@@ -2862,7 +2862,7 @@ TerraCave_End_EventScript_273776:: @ 8273776
removeobject VAR_LAST_TALKED
fadescreenswapbuffers 0
bufferspeciesname 0, VAR_0x8004
- msgbox gUnknown_08273204, MSGBOX_DEFAULT
+ msgbox gText_LegendaryFlewAway, MSGBOX_DEFAULT
release
end
@@ -3433,7 +3433,7 @@ Std_RegisteredInMatchCall:: @ 82742C9
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox gUnknown_08272E0F, MSGBOX_DEFAULT
+ msgbox gText_RegisteredTrainerinPokeNav, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -4207,31 +4207,31 @@ MauvilleCity_GameCorner_EventScript_2A5B0D:: @ 82A5B0D
.include "data/text/berries.inc"
.include "data/text/shoal_cave.inc"
-Text_2A81E5: @ 82A81E5
+Text_PictureBookShelf: @ 82A81E5
.string "There's a set of POKéMON picture books.$"
-Text_2A820D: @ 82A820D
+Text_BookShelf: @ 82A820D
.string "It's filled with all sorts of books.$"
-Text_2A8232: @ 82A8232
+Text_PokemonCenterBookShelf: @ 82A8232
.string "POKéMON magazines!\n"
.string "POKéMON PAL…\p"
.string "POKéMON HANDBOOK…\n"
.string "ADORABLE POKéMON…$"
-Text_2A8276: @ 82A8276
+Text_Vase: @ 82A8276
.string "This vase looks expensive…\n"
.string "Peered inside…\p"
.string "But, it was empty.$"
-Text_2A82B3: @ 82A82B3
+Text_EmptyTrashCan: @ 82A82B3
.string "It's empty.$"
-Text_2A82BF: @ 82A82BF
+Text_ShopShelf: @ 82A82BF
.string "The shelves brim with all sorts of\n"
.string "POKéMON merchandise.$"
-Text_2A82F7: @ 82A82F7
+Text_Blueprint: @ 82A82F7
.string "A blueprint of some sort?\n"
.string "It's too complicated!$"
diff --git a/data/field_effect_scripts.s b/data/field_effect_scripts.s
index 291d6abec..4aef859d8 100644
--- a/data/field_effect_scripts.s
+++ b/data/field_effect_scripts.s
@@ -16,26 +16,26 @@ gFieldEffectScriptPointers:: @ 82DB9D4
.4byte gFieldEffectScript_SurfBlob
.4byte gFieldEffectScript_UseSurf
.4byte gFieldEffectScript_GroundImpactDust
- .4byte gFieldEffectScript_Unknown11
+ .4byte gFieldEffectScript_UseSecretPowerCave
.4byte gFieldEffectScript_BikeHopTallGrass
.4byte gFieldEffectScript_SandFootprints
.4byte gFieldEffectScript_BikeHopBigSplash
.4byte gFieldEffectScript_Splash
.4byte gFieldEffectScript_BikeHopSmallSplash
.4byte gFieldEffectScript_LongGrass
- .4byte gFieldEffectScript_Unknown18
+ .4byte gFieldEffectScript_JumpLongGrass
.4byte gFieldEffectScript_Unknown19
.4byte gFieldEffectScript_Unknown20
.4byte gFieldEffectScript_Unknown21
.4byte gFieldEffectScript_Unknown22
.4byte gFieldEffectScript_BerryTreeGrowthSparkle
.4byte gFieldEffectScript_DeepSandFootprints
- .4byte gFieldEffectScript_Unknown25
- .4byte gFieldEffectScript_Unknown26
- .4byte gFieldEffectScript_Unknown27
+ .4byte gFieldEffectScript_PokeCenterHeal
+ .4byte gFieldEffectScript_UseSecretPowerTree
+ .4byte gFieldEffectScript_UseSecretPowerShrub
.4byte gFieldEffectScript_TreeDisguise
.4byte gFieldEffectScript_MountainDisguise
- .4byte gFieldEffectScript_Unknown30
+ .4byte gFieldEffectScript_NPCUseFly
.4byte gFieldEffectScript_UseFly
.4byte gFieldEffectScript_FlyIn
.4byte gFieldEffectScript_QuestionMarkIcon
@@ -43,35 +43,35 @@ gFieldEffectScriptPointers:: @ 82DB9D4
.4byte gFieldEffectScript_BikeTireTracks
.4byte gFieldEffectScript_SandDisguisePlaceholder
.4byte gFieldEffectScript_UseRockSmash
- .4byte gFieldEffectScript_Unknown38
- .4byte gFieldEffectScript_Unknown39
- .4byte gFieldEffectScript_Unknown40
+ .4byte gFieldEffectScript_UseDig
+ .4byte gFieldEffectScript_SandPile
+ .4byte gFieldEffectScript_UseStrength
.4byte gFieldEffectScript_ShortGrass
.4byte gFieldEffectScript_HotSpringsWater
- .4byte gFieldEffectScript_Unknown43
- .4byte gFieldEffectScript_Unknown44
- .4byte gFieldEffectScript_Unknown45
+ .4byte gFieldEffectScript_UseWaterfall
+ .4byte gFieldEffectScript_UseDive
+ .4byte gFieldEffectScript_Pokeball
.4byte gFieldEffectScript_HeartIcon
.4byte gFieldEffectScript_Unknown47
.4byte gFieldEffectScript_Unknown48
.4byte gFieldEffectScript_JumpOutOfAsh
- .4byte gFieldEffectScript_Unknown50
- .4byte gFieldEffectScript_Unknown51
- .4byte gFieldEffectScript_Unknown52
+ .4byte gFieldEffectScript_LavaridgeGymWarp
+ .4byte gFieldEffectScript_SweetScent
+ .4byte gFieldEffectScript_SandPillar
.4byte gFieldEffectScript_Bubbles
- .4byte gFieldEffectScript_Unknown54
- .4byte gFieldEffectScript_Unknown55
- .4byte gFieldEffectScript_Unknown56
- .4byte gFieldEffectScript_Unknown57
- .4byte gFieldEffectScript_Unknown58
+ .4byte gFieldEffectScript_Sparkle
+ .4byte gFieldEffectScript_ShowSecretPowerCave
+ .4byte gFieldEffectScript_ShowSecretPowerTree
+ .4byte gFieldEffectScript_ShowSecretPowerShrub
+ .4byte gFieldEffectScript_ShowCutGrass
.4byte gFieldEffectScript_FieldMoveShowMonInit
.4byte gFieldEffectScript_UsePuzzleEffect
- .4byte gFieldEffectScript_Unknown61
- .4byte gFieldEffectScript_Unknown62
- .4byte gFieldEffectScript_Unknown63
+ .4byte gFieldEffectScript_SecretBaseBootPC
+ .4byte gFieldEffectScript_HallOfFameRecord
+ .4byte gFieldEffectScript_UseTeleport
.4byte gFieldEffectScript_Rayquaza
.4byte gFieldEffectScript_Unknown65
- .4byte gFieldEffectScript_Unknown66
+ .4byte gFieldEffectScript_MoveDeoxysRock
gFieldEffectScript_ExclamationMarkIcon1:: @ 82DBAE0
field_eff_callnative FldEff_ExclamationMarkIcon
@@ -117,7 +117,7 @@ gFieldEffectScript_GroundImpactDust:: @ 82DBB28
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_Dust
field_eff_end
-gFieldEffectScript_Unknown11:: @ 82DBB32
+gFieldEffectScript_UseSecretPowerCave:: @ 82DBB32
field_eff_callnative FldEff_UseSecretPowerCave
field_eff_end
@@ -145,7 +145,7 @@ gFieldEffectScript_LongGrass:: @ 82DBB6A
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_LongGrass
field_eff_end
-gFieldEffectScript_Unknown18:: @ 82DBB74
+gFieldEffectScript_JumpLongGrass:: @ 82DBB74
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_JumpLongGrass
field_eff_end
@@ -173,16 +173,16 @@ gFieldEffectScript_DeepSandFootprints:: @ 82DBBAC
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_DeepSandFootprints
field_eff_end
-gFieldEffectScript_Unknown25:: @ 82DBBB6
+gFieldEffectScript_PokeCenterHeal:: @ 82DBBB6
field_eff_loadfadedpal gFieldEffectObjectPaletteInfo4
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_PokecenterHeal
field_eff_end
-gFieldEffectScript_Unknown26:: @ 82DBBC5
+gFieldEffectScript_UseSecretPowerTree:: @ 82DBBC5
field_eff_callnative FldEff_UseSecretPowerTree
field_eff_end
-gFieldEffectScript_Unknown27:: @ 82DBBCB
+gFieldEffectScript_UseSecretPowerShrub:: @ 82DBBCB
field_eff_callnative FldEff_UseSecretPowerShrub
field_eff_end
@@ -194,7 +194,7 @@ gFieldEffectScript_MountainDisguise:: @ 82DBBD7
field_eff_callnative ShowMountainDisguiseFieldEffect
field_eff_end
-gFieldEffectScript_Unknown30:: @ 82DBBDD
+gFieldEffectScript_NPCUseFly:: @ 82DBBDD
field_eff_callnative FldEff_NPCFlyOut
field_eff_end
@@ -226,15 +226,15 @@ gFieldEffectScript_UseRockSmash:: @ 82DBC0F
field_eff_callnative FldEff_UseRockSmash
field_eff_end
-gFieldEffectScript_Unknown40:: @ 82DBC15
+gFieldEffectScript_UseStrength:: @ 82DBC15
field_eff_callnative sub_8145E2C
field_eff_end
-gFieldEffectScript_Unknown38:: @ 82DBC1B
+gFieldEffectScript_UseDig:: @ 82DBC1B
field_eff_callnative FldEff_UseDig
field_eff_end
-gFieldEffectScript_Unknown39:: @ 82DBC21
+gFieldEffectScript_SandPile:: @ 82DBC21
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_SandPile
field_eff_end
@@ -246,15 +246,15 @@ gFieldEffectScript_HotSpringsWater:: @ 82DBC35
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_HotSpringsWater
field_eff_end
-gFieldEffectScript_Unknown43:: @ 82DBC3F
+gFieldEffectScript_UseWaterfall:: @ 82DBC3F
field_eff_callnative FldEff_UseWaterfall
field_eff_end
-gFieldEffectScript_Unknown44:: @ 82DBC45
+gFieldEffectScript_UseDive:: @ 82DBC45
field_eff_callnative FldEff_UseDive
field_eff_end
-gFieldEffectScript_Unknown45:: @ 82DBC4B
+gFieldEffectScript_Pokeball:: @ 82DBC4B
field_eff_loadpal gFieldEffectObjectPaletteInfo10
field_eff_callnative FldEff_Pokeball
field_eff_end
@@ -275,15 +275,15 @@ gFieldEffectScript_JumpOutOfAsh:: @ 82DBC6C
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo2, FldEff_PopOutOfAsh
field_eff_end
-gFieldEffectScript_Unknown50:: @ 82DBC76
+gFieldEffectScript_LavaridgeGymWarp:: @ 82DBC76
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo2, FldEff_LavaridgeGymWarp
field_eff_end
-gFieldEffectScript_Unknown51:: @ 82DBC80
+gFieldEffectScript_SweetScent:: @ 82DBC80
field_eff_callnative FldEff_SweetScent
field_eff_end
-gFieldEffectScript_Unknown52:: @ 82DBC86
+gFieldEffectScript_SandPillar:: @ 82DBC86
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo9, FldEff_SandPillar
field_eff_end
@@ -291,23 +291,23 @@ gFieldEffectScript_Bubbles:: @ 82DBC90
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_Bubbles
field_eff_end
-gFieldEffectScript_Unknown54:: @ 82DBC9A
+gFieldEffectScript_Sparkle:: @ 82DBC9A
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo3, FldEff_Sparkle
field_eff_end
-gFieldEffectScript_Unknown55:: @ 82DBCA4
+gFieldEffectScript_ShowSecretPowerCave:: @ 82DBCA4
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo7, FldEff_SecretPowerCave
field_eff_end
-gFieldEffectScript_Unknown56:: @ 82DBCAE
+gFieldEffectScript_ShowSecretPowerTree:: @ 82DBCAE
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo8, FldEff_SecretPowerTree
field_eff_end
-gFieldEffectScript_Unknown57:: @ 82DBCB8
+gFieldEffectScript_ShowSecretPowerShrub:: @ 82DBCB8
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo8, FldEff_SecretPowerShrub
field_eff_end
-gFieldEffectScript_Unknown58:: @ 82DBCC2
+gFieldEffectScript_ShowCutGrass:: @ 82DBCC2
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo6, FldEff_CutGrass
field_eff_end
@@ -319,16 +319,16 @@ gFieldEffectScript_UsePuzzleEffect:: @ 82DBCD2
field_eff_callnative FldEff_UsePuzzleEffect
field_eff_end
-gFieldEffectScript_Unknown61:: @ 82DBCD8
+gFieldEffectScript_SecretBaseBootPC:: @ 82DBCD8
field_eff_callnative FldEff_SecretBasePCTurnOn
field_eff_end
-gFieldEffectScript_Unknown62:: @ 82DBCDE
+gFieldEffectScript_HallOfFameRecord:: @ 82DBCDE
field_eff_loadfadedpal gFieldEffectObjectPaletteInfo4
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo5, FldEff_HallOfFameRecord
field_eff_end
-gFieldEffectScript_Unknown63:: @ 82DBCED
+gFieldEffectScript_UseTeleport:: @ 82DBCED
field_eff_callnative FldEff_UseTeleport
field_eff_end
@@ -340,6 +340,6 @@ gFieldEffectScript_Unknown65:: @ 82DBCF9
field_eff_callnative sub_80B9ADC
field_eff_end
-gFieldEffectScript_Unknown66:: @ 82DBCFF
+gFieldEffectScript_MoveDeoxysRock:: @ 82DBCFF
field_eff_callnative Fldeff_MoveDeoxysRock
field_eff_end
diff --git a/data/maps/AbandonedShip_CaptainsOffice/map.json b/data/maps/AbandonedShip_CaptainsOffice/map.json
index c88afc806..b876ad849 100644
--- a/data/maps/AbandonedShip_CaptainsOffice/map.json
+++ b/data/maps/AbandonedShip_CaptainsOffice/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_CaptainsOffice_EventScript_29126E",
+ "script": "AbandonedShip_CaptainsOffice_EventScript_ItemStorageKey",
"flag": "FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_STORAGE_KEY"
}
],
@@ -59,4 +59,4 @@
],
"coord_events": [],
"bg_events": []
-} \ No newline at end of file
+}
diff --git a/data/maps/AbandonedShip_Deck/scripts.inc b/data/maps/AbandonedShip_Deck/scripts.inc
index 041c54593..b0ecc2a4d 100644
--- a/data/maps/AbandonedShip_Deck/scripts.inc
+++ b/data/maps/AbandonedShip_Deck/scripts.inc
@@ -1,8 +1,8 @@
AbandonedShip_Deck_MapScripts:: @ 823799A
- map_script MAP_SCRIPT_ON_TRANSITION, AbandonedShip_Deck_MapScript1_2379A0
+ map_script MAP_SCRIPT_ON_TRANSITION, AbandonedShip_Deck_OnTransition
.byte 0
-AbandonedShip_Deck_MapScript1_2379A0: @ 82379A0
+AbandonedShip_Deck_OnTransition: @ 82379A0
setflag FLAG_LANDMARK_ABANDONED_SHIP
end
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/map.json b/data/maps/AbandonedShip_HiddenFloorRooms/map.json
index f71ad8eb3..fdfb8a187 100644
--- a/data/maps/AbandonedShip_HiddenFloorRooms/map.json
+++ b/data/maps/AbandonedShip_HiddenFloorRooms/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_HiddenFloorRooms_EventScript_29127B",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemLuxuryBall",
"flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_6_LUXURY_BALL"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_HiddenFloorRooms_EventScript_291288",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemScanner",
"flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_HiddenFloorRooms_EventScript_2912A2",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemTM18",
"flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_18"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_HiddenFloorRooms_EventScript_291295",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemWaterStone",
"flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_3_WATER_STONE"
}
],
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
index 1c517735e..2d6f7ee77 100644
--- a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
+++ b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
@@ -42,11 +42,11 @@ AbandonedShip_HiddenFloorRooms_EventScript_238CE3:: @ 8238CE3
setfieldeffectargument 0, 10
setfieldeffectargument 1, 10
setfieldeffectargument 2, 0
- dofieldeffect 54
+ dofieldeffect FLDEFF_SPARKLE
specialvar VAR_RESULT, FoundAbandonedShipRoom4Key
compare VAR_RESULT, 0
call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DD3
- waitfieldeffect 54
+ waitfieldeffect FLDEFF_SPARKLE
delay 10
end
@@ -60,7 +60,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D0D:: @ 8238D0D
delay 20
compare VAR_RESULT, 0
call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DB3
- waitfieldeffect 54
+ waitfieldeffect FLDEFF_SPARKLE
delay 10
end
@@ -72,15 +72,15 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D33:: @ 8238D33
setfieldeffectargument 0, 8
setfieldeffectargument 1, 5
setfieldeffectargument 2, 0
- dofieldeffect 54
+ dofieldeffect FLDEFF_SPARKLE
setfieldeffectargument 0, 11
setfieldeffectargument 1, 3
setfieldeffectargument 2, 0
- dofieldeffect 54
+ dofieldeffect FLDEFF_SPARKLE
specialvar VAR_RESULT, FoundAbandonedShipRoom6Key
compare VAR_RESULT, 0
call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DE3
- waitfieldeffect 54
+ waitfieldeffect FLDEFF_SPARKLE
delay 10
end
@@ -89,19 +89,19 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D6B:: @ 8238D6B
setfieldeffectargument 0, 16
setfieldeffectargument 1, 3
setfieldeffectargument 2, 0
- dofieldeffect 54
+ dofieldeffect FLDEFF_SPARKLE
setfieldeffectargument 0, 25
setfieldeffectargument 1, 2
setfieldeffectargument 2, 0
- dofieldeffect 54
+ dofieldeffect FLDEFF_SPARKLE
setfieldeffectargument 0, 24
setfieldeffectargument 1, 6
setfieldeffectargument 2, 0
- dofieldeffect 54
+ dofieldeffect FLDEFF_SPARKLE
specialvar VAR_RESULT, FoundAbandonedShipRoom2Key
compare VAR_RESULT, 0
call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DC3
- waitfieldeffect 54
+ waitfieldeffect FLDEFF_SPARKLE
delay 10
end
@@ -112,28 +112,28 @@ AbandonedShip_HiddenFloorRooms_EventScript_238DB3:: @ 8238DB3
setfieldeffectargument 0, 42
setfieldeffectargument 1, 10
setfieldeffectargument 2, 0
- dofieldeffect 54
+ dofieldeffect FLDEFF_SPARKLE
return
AbandonedShip_HiddenFloorRooms_EventScript_238DC3:: @ 8238DC3
setfieldeffectargument 0, 20
setfieldeffectargument 1, 5
setfieldeffectargument 2, 0
- dofieldeffect 54
+ dofieldeffect FLDEFF_SPARKLE
return
AbandonedShip_HiddenFloorRooms_EventScript_238DD3:: @ 8238DD3
setfieldeffectargument 0, 1
setfieldeffectargument 1, 12
setfieldeffectargument 2, 0
- dofieldeffect 54
+ dofieldeffect FLDEFF_SPARKLE
return
AbandonedShip_HiddenFloorRooms_EventScript_238DE3:: @ 8238DE3
setfieldeffectargument 0, 1
setfieldeffectargument 1, 2
setfieldeffectargument 2, 0
- dofieldeffect 54
+ dofieldeffect FLDEFF_SPARKLE
return
AbandonedShip_HiddenFloorRooms_EventScript_238DF3:: @ 8238DF3
diff --git a/data/maps/AbandonedShip_Room_B1F/map.json b/data/maps/AbandonedShip_Room_B1F/map.json
index 60dd5e1b3..b8e2a71da 100644
--- a/data/maps/AbandonedShip_Room_B1F/map.json
+++ b/data/maps/AbandonedShip_Room_B1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_Room_B1F_EventScript_291254",
+ "script": "AbandonedShip_Room_B1F_EventScript_ItemTM13",
"flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_13"
}
],
diff --git a/data/maps/AbandonedShip_Rooms2_1F/map.json b/data/maps/AbandonedShip_Rooms2_1F/map.json
index 49a4c2da0..35b029f7f 100644
--- a/data/maps/AbandonedShip_Rooms2_1F/map.json
+++ b/data/maps/AbandonedShip_Rooms2_1F/map.json
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_Rooms2_1F_EventScript_291261",
+ "script": "AbandonedShip_Rooms2_1F_EventScript_ItemRevive",
"flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_REVIVE"
},
{
diff --git a/data/maps/AbandonedShip_Rooms2_B1F/map.json b/data/maps/AbandonedShip_Rooms2_B1F/map.json
index 3f56bf6cd..621b80bb1 100644
--- a/data/maps/AbandonedShip_Rooms2_B1F/map.json
+++ b/data/maps/AbandonedShip_Rooms2_B1F/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_Rooms2_B1F_EventScript_291247",
+ "script": "AbandonedShip_Rooms2_B1F_EventScript_ItemDiveBall",
"flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_DIVE_BALL"
}
],
diff --git a/data/maps/AbandonedShip_Rooms_1F/map.json b/data/maps/AbandonedShip_Rooms_1F/map.json
index e97c74fcf..af25a3994 100644
--- a/data/maps/AbandonedShip_Rooms_1F/map.json
+++ b/data/maps/AbandonedShip_Rooms_1F/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_Rooms_1F_EventScript_29122D",
+ "script": "AbandonedShip_Rooms_1F_EventScript_ItemHarborMail",
"flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_HARBOR_MAIL"
},
{
diff --git a/data/maps/AbandonedShip_Rooms_B1F/map.json b/data/maps/AbandonedShip_Rooms_B1F/map.json
index 65b5fb9cf..2e836f3a1 100644
--- a/data/maps/AbandonedShip_Rooms_B1F/map.json
+++ b/data/maps/AbandonedShip_Rooms_B1F/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_Rooms_B1F_EventScript_29123A",
+ "script": "AbandonedShip_Rooms_B1F_EventScript_ItemEscapeRope",
"flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_ESCAPE_ROPE"
}
],
diff --git a/data/maps/AlteringCave/scripts.inc b/data/maps/AlteringCave/scripts.inc
index 185466c80..601f49217 100644
--- a/data/maps/AlteringCave/scripts.inc
+++ b/data/maps/AlteringCave/scripts.inc
@@ -1,8 +1,8 @@
AlteringCave_MapScripts:: @ 823B177
- map_script MAP_SCRIPT_ON_TRANSITION, AlteringCave_MapScript1_23B17D
+ map_script MAP_SCRIPT_ON_TRANSITION, AlteringCave_OnTransition
.byte 0
-AlteringCave_MapScript1_23B17D: @ 823B17D
+AlteringCave_OnTransition: @ 823B17D
setflag FLAG_LANDMARK_ALTERING_CAVE
end
diff --git a/data/maps/AncientTomb/scripts.inc b/data/maps/AncientTomb/scripts.inc
index 8d1c029c3..ad8e683bb 100644
--- a/data/maps/AncientTomb/scripts.inc
+++ b/data/maps/AncientTomb/scripts.inc
@@ -1,7 +1,7 @@
AncientTomb_MapScripts:: @ 8238FB3
map_script MAP_SCRIPT_ON_RESUME, AncientTomb_MapScript1_238FC3
map_script MAP_SCRIPT_ON_LOAD, AncientTomb_MapScript1_238FF2
- map_script MAP_SCRIPT_ON_TRANSITION, AncientTomb_MapScript1_238FE1
+ map_script MAP_SCRIPT_ON_TRANSITION, AncientTomb_OnTransition
.byte 0
AncientTomb_MapScript1_238FC3: @ 8238FC3
@@ -15,7 +15,7 @@ AncientTomb_EventScript_238FCD:: @ 8238FCD
removeobject VAR_LAST_TALKED
return
-AncientTomb_MapScript1_238FE1: @ 8238FE1
+AncientTomb_OnTransition: @ 8238FE1
setflag FLAG_LANDMARK_ANCIENT_TOMB
call_if_unset FLAG_DEFEATED_REGISTEEL, AncientTomb_EventScript_238FEE
end
diff --git a/data/maps/AquaHideout_B1F/map.json b/data/maps/AquaHideout_B1F/map.json
index 5b6beee11..8cdc901ec 100644
--- a/data/maps/AquaHideout_B1F/map.json
+++ b/data/maps/AquaHideout_B1F/map.json
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AquaHideout_B1F_EventScript_291372",
+ "script": "AquaHideout_B1F_EventScript_ItemMaxElixir",
"flag": "FLAG_ITEM_AQUA_HIDEOUT_B1F_MAX_ELIXIR"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AquaHideout_B1F_EventScript_291358",
+ "script": "AquaHideout_B1F_EventScript_ItemMasterBall",
"flag": "FLAG_ITEM_AQUA_HIDEOUT_B1F_MASTER_BALL"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AquaHideout_B1F_EventScript_291365",
+ "script": "AquaHideout_B1F_EventScript_ItemNugget",
"flag": "FLAG_ITEM_AQUA_HIDEOUT_B1F_NUGGET"
},
{
diff --git a/data/maps/AquaHideout_B2F/map.json b/data/maps/AquaHideout_B2F/map.json
index 64c6eddff..b286872af 100644
--- a/data/maps/AquaHideout_B2F/map.json
+++ b/data/maps/AquaHideout_B2F/map.json
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AquaHideout_B2F_EventScript_29137F",
+ "script": "AquaHideout_B2F_EventScript_ItemNestBall",
"flag": "FLAG_ITEM_AQUA_HIDEOUT_B2F_NEST_BALL"
},
{
diff --git a/data/maps/ArtisanCave_1F/map.json b/data/maps/ArtisanCave_1F/map.json
index 2092ca7ea..dc7792d8a 100644
--- a/data/maps/ArtisanCave_1F/map.json
+++ b/data/maps/ArtisanCave_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "ArtisanCave_1F_EventScript_2914D1",
+ "script": "ArtisanCave_1F_EventScript_ItemCarbos",
"flag": "FLAG_ITEM_ARTISAN_CAVE_1F_CARBOS"
}
],
diff --git a/data/maps/ArtisanCave_B1F/map.json b/data/maps/ArtisanCave_B1F/map.json
index 32174cd44..2fec826cd 100644
--- a/data/maps/ArtisanCave_B1F/map.json
+++ b/data/maps/ArtisanCave_B1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "ArtisanCave_B1F_EventScript_2914C4",
+ "script": "ArtisanCave_B1F_EventScript_ItemHPUp",
"flag": "FLAG_ITEM_ARTISAN_CAVE_B1F_HP_UP"
}
],
diff --git a/data/maps/ArtisanCave_B1F/scripts.inc b/data/maps/ArtisanCave_B1F/scripts.inc
index 433991bea..4dd850e88 100644
--- a/data/maps/ArtisanCave_B1F/scripts.inc
+++ b/data/maps/ArtisanCave_B1F/scripts.inc
@@ -1,8 +1,8 @@
ArtisanCave_B1F_MapScripts:: @ 823AFAD
- map_script MAP_SCRIPT_ON_TRANSITION, ArtisanCave_B1F_MapScript1_23AFB3
+ map_script MAP_SCRIPT_ON_TRANSITION, ArtisanCave_B1F_OnTransition
.byte 0
-ArtisanCave_B1F_MapScript1_23AFB3: @ 823AFB3
+ArtisanCave_B1F_OnTransition: @ 823AFB3
setflag FLAG_LANDMARK_ARTISAN_CAVE
end
diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json b/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json
index 14a2e7d23..3f4739b26 100644
--- a/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json
+++ b/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE",
"name": "BattleFrontier_BattlePyramidEmptySquare",
"layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattleFrontier_BattlePyramidTop/map.json b/data/maps/BattleFrontier_BattlePyramidTop/map.json
index fcb459426..d73dc1692 100644
--- a/data/maps/BattleFrontier_BattlePyramidTop/map.json
+++ b/data/maps/BattleFrontier_BattlePyramidTop/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP",
"name": "BattleFrontier_BattlePyramidTop",
"layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattleFrontier_OutsideEast/scripts.inc b/data/maps/BattleFrontier_OutsideEast/scripts.inc
index 5c1af6700..b502da8ec 100644
--- a/data/maps/BattleFrontier_OutsideEast/scripts.inc
+++ b/data/maps/BattleFrontier_OutsideEast/scripts.inc
@@ -121,7 +121,7 @@ BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC
playse 269
applymovement 14, BattleFrontier_OutsideEast_Movement_242D69
waitmovement 0
- msgbox gUnknown_082731BD, MSGBOX_DEFAULT
+ msgbox gText_Sudowoodo_Attacked, MSGBOX_DEFAULT
closemessage
waitse
playmoncry SPECIES_SUDOWOODO, 2
diff --git a/data/maps/BattleFrontier_ReceptionGate/scripts.inc b/data/maps/BattleFrontier_ReceptionGate/scripts.inc
index 8ce438d75..5f0952cb0 100644
--- a/data/maps/BattleFrontier_ReceptionGate/scripts.inc
+++ b/data/maps/BattleFrontier_ReceptionGate/scripts.inc
@@ -1,9 +1,9 @@
BattleFrontier_ReceptionGate_MapScripts:: @ 82661DA
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_ReceptionGate_MapScript2_2661E9
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_ReceptionGate_MapScript1_2661E5
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_ReceptionGate_OnTransition
.byte 0
-BattleFrontier_ReceptionGate_MapScript1_2661E5: @ 82661E5
+BattleFrontier_ReceptionGate_OnTransition: @ 82661E5
setflag FLAG_LANDMARK_BATTLE_FRONTIER
end
diff --git a/data/maps/BattlePyramidSquare01/map.json b/data/maps/BattlePyramidSquare01/map.json
index 2b0d26de0..d4cbfd71d 100644
--- a/data/maps/BattlePyramidSquare01/map.json
+++ b/data/maps/BattlePyramidSquare01/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE01",
"name": "BattlePyramidSquare01",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE01",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare02/map.json b/data/maps/BattlePyramidSquare02/map.json
index 32b0ad7ec..e68b71284 100644
--- a/data/maps/BattlePyramidSquare02/map.json
+++ b/data/maps/BattlePyramidSquare02/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE02",
"name": "BattlePyramidSquare02",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE02",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare03/map.json b/data/maps/BattlePyramidSquare03/map.json
index bbec7daa4..8a495158e 100644
--- a/data/maps/BattlePyramidSquare03/map.json
+++ b/data/maps/BattlePyramidSquare03/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE03",
"name": "BattlePyramidSquare03",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE03",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare04/map.json b/data/maps/BattlePyramidSquare04/map.json
index 8f63efd06..e413a7e5f 100644
--- a/data/maps/BattlePyramidSquare04/map.json
+++ b/data/maps/BattlePyramidSquare04/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE04",
"name": "BattlePyramidSquare04",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE04",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare05/map.json b/data/maps/BattlePyramidSquare05/map.json
index 7e26a9ee3..d16a87646 100644
--- a/data/maps/BattlePyramidSquare05/map.json
+++ b/data/maps/BattlePyramidSquare05/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE05",
"name": "BattlePyramidSquare05",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE05",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare06/map.json b/data/maps/BattlePyramidSquare06/map.json
index 289a1e5c2..ddf011814 100644
--- a/data/maps/BattlePyramidSquare06/map.json
+++ b/data/maps/BattlePyramidSquare06/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE06",
"name": "BattlePyramidSquare06",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE06",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare07/map.json b/data/maps/BattlePyramidSquare07/map.json
index 745234547..8719c6d25 100644
--- a/data/maps/BattlePyramidSquare07/map.json
+++ b/data/maps/BattlePyramidSquare07/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE07",
"name": "BattlePyramidSquare07",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE07",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare08/map.json b/data/maps/BattlePyramidSquare08/map.json
index cac7ed96e..54cfa4fe8 100644
--- a/data/maps/BattlePyramidSquare08/map.json
+++ b/data/maps/BattlePyramidSquare08/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE08",
"name": "BattlePyramidSquare08",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE08",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare09/map.json b/data/maps/BattlePyramidSquare09/map.json
index b5a111334..67b9ceb1f 100644
--- a/data/maps/BattlePyramidSquare09/map.json
+++ b/data/maps/BattlePyramidSquare09/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE09",
"name": "BattlePyramidSquare09",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE09",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare10/map.json b/data/maps/BattlePyramidSquare10/map.json
index 5171d112e..0a5e88bf7 100644
--- a/data/maps/BattlePyramidSquare10/map.json
+++ b/data/maps/BattlePyramidSquare10/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE10",
"name": "BattlePyramidSquare10",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE10",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare11/map.json b/data/maps/BattlePyramidSquare11/map.json
index 58ac0476f..5dc7736a3 100644
--- a/data/maps/BattlePyramidSquare11/map.json
+++ b/data/maps/BattlePyramidSquare11/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE11",
"name": "BattlePyramidSquare11",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE11",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare12/map.json b/data/maps/BattlePyramidSquare12/map.json
index 648c3e3a6..dcb57812d 100644
--- a/data/maps/BattlePyramidSquare12/map.json
+++ b/data/maps/BattlePyramidSquare12/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE12",
"name": "BattlePyramidSquare12",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE12",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare13/map.json b/data/maps/BattlePyramidSquare13/map.json
index c9342b3b9..d277c5b1b 100644
--- a/data/maps/BattlePyramidSquare13/map.json
+++ b/data/maps/BattlePyramidSquare13/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE13",
"name": "BattlePyramidSquare13",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE13",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare14/map.json b/data/maps/BattlePyramidSquare14/map.json
index 6f9461967..5727356ed 100644
--- a/data/maps/BattlePyramidSquare14/map.json
+++ b/data/maps/BattlePyramidSquare14/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE14",
"name": "BattlePyramidSquare14",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE14",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare15/map.json b/data/maps/BattlePyramidSquare15/map.json
index 3aa2571f6..62c7e34f3 100644
--- a/data/maps/BattlePyramidSquare15/map.json
+++ b/data/maps/BattlePyramidSquare15/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE15",
"name": "BattlePyramidSquare15",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE15",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BattlePyramidSquare16/map.json b/data/maps/BattlePyramidSquare16/map.json
index 70b677c34..a69a0ed5a 100644
--- a/data/maps/BattlePyramidSquare16/map.json
+++ b/data/maps/BattlePyramidSquare16/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_PYRAMID_SQUARE16",
"name": "BattlePyramidSquare16",
"layout": "LAYOUT_BATTLE_PYRAMID_SQUARE16",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BirthIsland_Exterior/map.json b/data/maps/BirthIsland_Exterior/map.json
index c87f39fb8..c3e5ddddf 100644
--- a/data/maps/BirthIsland_Exterior/map.json
+++ b/data/maps/BirthIsland_Exterior/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BIRTH_ISLAND_EXTERIOR",
"name": "BirthIsland_Exterior",
"layout": "LAYOUT_BIRTH_ISLAND_EXTERIOR",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_BIRTH_ISLAND_2",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc
index 594790ff3..4b5a8ef36 100644
--- a/data/maps/BirthIsland_Exterior/scripts.inc
+++ b/data/maps/BirthIsland_Exterior/scripts.inc
@@ -68,9 +68,9 @@ BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1
setfieldeffectargument 0, 1
setfieldeffectargument 1, 58
setfieldeffectargument 2, 26
- dofieldeffect 65
+ dofieldeffect FLDEFF_65
playbgm MUS_RG_DEOEYE, 0
- waitfieldeffect 65
+ waitfieldeffect FLDEFF_65
addobject 2
applymovement 2, BirthIsland_Exterior_Movement_268054
waitmovement 0
diff --git a/data/maps/BirthIsland_Harbor/map.json b/data/maps/BirthIsland_Harbor/map.json
index b212247bb..48937d482 100644
--- a/data/maps/BirthIsland_Harbor/map.json
+++ b/data/maps/BirthIsland_Harbor/map.json
@@ -2,7 +2,7 @@
"id": "MAP_BIRTH_ISLAND_HARBOR",
"name": "BirthIsland_Harbor",
"layout": "LAYOUT_ISLAND_HARBOR",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_BIRTH_ISLAND_2",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/CaveOfOrigin_B1F/map.json b/data/maps/CaveOfOrigin_B1F/map.json
index 2a764c677..ac3baeaf8 100644
--- a/data/maps/CaveOfOrigin_B1F/map.json
+++ b/data/maps/CaveOfOrigin_B1F/map.json
@@ -2,7 +2,7 @@
"id": "MAP_CAVE_OF_ORIGIN_B1F",
"name": "CaveOfOrigin_B1F",
"layout": "LAYOUT_CAVE_OF_ORIGIN_B1F",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_CAVE_OF_ORIGIN",
"requires_flash": false,
"weather": "WEATHER_FOG_1",
diff --git a/data/maps/DesertRuins/scripts.inc b/data/maps/DesertRuins/scripts.inc
index 75fcf061c..e796b1668 100644
--- a/data/maps/DesertRuins/scripts.inc
+++ b/data/maps/DesertRuins/scripts.inc
@@ -1,7 +1,7 @@
DesertRuins_MapScripts:: @ 822D95B
map_script MAP_SCRIPT_ON_RESUME, DesertRuins_MapScript1_22D96B
map_script MAP_SCRIPT_ON_LOAD, DesertRuins_MapScript1_22D989
- map_script MAP_SCRIPT_ON_TRANSITION, DesertRuins_MapScript1_22D9CA
+ map_script MAP_SCRIPT_ON_TRANSITION, DesertRuins_OnTransition
.byte 0
DesertRuins_MapScript1_22D96B: @ 822D96B
@@ -28,7 +28,7 @@ DesertRuins_EventScript_22D993:: @ 822D993
setmetatile 9, 20, 565, 1
return
-DesertRuins_MapScript1_22D9CA: @ 822D9CA
+DesertRuins_OnTransition: @ 822D9CA
setflag FLAG_LANDMARK_DESERT_RUINS
call_if_unset FLAG_DEFEATED_REGIROCK, DesertRuins_EventScript_22D9D7
end
diff --git a/data/maps/DesertUnderpass/scripts.inc b/data/maps/DesertUnderpass/scripts.inc
index 9c5e83180..8e89075e5 100644
--- a/data/maps/DesertUnderpass/scripts.inc
+++ b/data/maps/DesertUnderpass/scripts.inc
@@ -1,8 +1,8 @@
DesertUnderpass_MapScripts:: @ 823AF37
- map_script MAP_SCRIPT_ON_TRANSITION, DesertUnderpass_MapScript1_23AF3D
+ map_script MAP_SCRIPT_ON_TRANSITION, DesertUnderpass_OnTransition
.byte 0
-DesertUnderpass_MapScript1_23AF3D: @ 823AF3D
+DesertUnderpass_OnTransition: @ 823AF3D
setflag FLAG_LANDMARK_DESERT_UNDERPASS
end
diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc
index f61547c14..343614d85 100644
--- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc
+++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc
@@ -38,8 +38,8 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
waitmovement 0
delay 20
- dofieldeffect 62
- waitfieldeffect 62
+ dofieldeffect FLDEFF_HALL_OF_FAME_RECORD
+ waitfieldeffect FLDEFF_HALL_OF_FAME_RECORD
delay 40
setvar VAR_TEMP_1, 1
call EverGrandeCity_HallOfFame_EventScript_2717C1
diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
index 95345af5c..959153d8a 100644
--- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
+++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
@@ -1,9 +1,9 @@
EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2
- map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD
+ map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonLeague_1F_OnTransition
map_script MAP_SCRIPT_ON_RESUME, EverGrandeCity_PokemonLeague_1F_MapScript1_277C30
.byte 0
-EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD: @ 82295DD
+EverGrandeCity_PokemonLeague_1F_OnTransition: @ 82295DD
setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_2
setflag FLAG_LANDMARK_POKEMON_LEAGUE
call_if_unset FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED
diff --git a/data/maps/FallarborTown_House2/scripts.inc b/data/maps/FallarborTown_House2/scripts.inc
index 2f2ec1b3f..d0305ad4b 100644
--- a/data/maps/FallarborTown_House2/scripts.inc
+++ b/data/maps/FallarborTown_House2/scripts.inc
@@ -37,7 +37,7 @@ FallarborTown_House2_EventScript_2013D6:: @ 82013D6
FallarborTown_House2_EventScript_20140C:: @ 820140C
msgbox FallarborTown_House2_Text_2015C3, MSGBOX_DEFAULT
- special TeachMoveTutorMove
+ special TeachMoveRelearnerMove
waitstate
compare VAR_0x8004, 0
goto_if_eq FallarborTown_House2_EventScript_2013D6
diff --git a/data/maps/FarawayIsland_Interior/scripts.inc b/data/maps/FarawayIsland_Interior/scripts.inc
index bee33ae07..fe180184b 100644
--- a/data/maps/FarawayIsland_Interior/scripts.inc
+++ b/data/maps/FarawayIsland_Interior/scripts.inc
@@ -38,7 +38,7 @@ FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E
return
FarawayIsland_Interior_MapScript1_267D72: @ 8267D72
- setvar VAR_NEVER_READ_0x403A, 0
+ setvar VAR_FARAWAY_ISLAND_STEP_COUNTER, 0
setvar VAR_TEMP_1, 1
call_if_unset FLAG_CAUGHT_MEW, FarawayIsland_Interior_EventScript_267D86
end
diff --git a/data/maps/FieryPath/map.json b/data/maps/FieryPath/map.json
index 61324a8ff..70d1a2cfd 100644
--- a/data/maps/FieryPath/map.json
+++ b/data/maps/FieryPath/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FieryPath_EventScript_29119E",
+ "script": "FieryPath_EventScript_ItemTM06",
"flag": "FLAG_ITEM_FIERY_PATH_TM06"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FieryPath_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_11"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FieryPath_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_12"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FieryPath_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_13"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FieryPath_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_14"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FieryPath_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_15"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FieryPath_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_16"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FieryPath_EventScript_291191",
+ "script": "FieryPath_EventScript_ItemFireStone",
"flag": "FLAG_ITEM_FIERY_PATH_FIRE_STONE"
}
],
diff --git a/data/maps/FieryPath/scripts.inc b/data/maps/FieryPath/scripts.inc
index ddba0dc0b..0aa5769a0 100644
--- a/data/maps/FieryPath/scripts.inc
+++ b/data/maps/FieryPath/scripts.inc
@@ -1,8 +1,8 @@
FieryPath_MapScripts:: @ 8230F24
- map_script MAP_SCRIPT_ON_TRANSITION, FieryPath_MapScript1_230F2A
+ map_script MAP_SCRIPT_ON_TRANSITION, FieryPath_OnTransition
.byte 0
-FieryPath_MapScript1_230F2A: @ 8230F2A
+FieryPath_OnTransition: @ 8230F2A
call_if_unset FLAG_LANDMARK_FIERY_PATH, FieryPath_EventScript_230F37
setflag FLAG_LANDMARK_FIERY_PATH
end
diff --git a/data/maps/GraniteCave_1F/map.json b/data/maps/GraniteCave_1F/map.json
index 67f2e8000..2413a023d 100644
--- a/data/maps/GraniteCave_1F/map.json
+++ b/data/maps/GraniteCave_1F/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "GraniteCave_1F_EventScript_291150",
+ "script": "GraniteCave_1F_EventScript_ItemEscapeRope",
"flag": "FLAG_ITEM_GRANITE_CAVE_1F_ESCAPE_ROPE"
}
],
diff --git a/data/maps/GraniteCave_B1F/map.json b/data/maps/GraniteCave_B1F/map.json
index b33e751e5..5a4548164 100644
--- a/data/maps/GraniteCave_B1F/map.json
+++ b/data/maps/GraniteCave_B1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "GraniteCave_B1F_EventScript_29115D",
+ "script": "GraniteCave_B1F_EventScript_ItemPokeBall",
"flag": "FLAG_ITEM_GRANITE_CAVE_B1F_POKE_BALL"
}
],
diff --git a/data/maps/GraniteCave_B2F/map.json b/data/maps/GraniteCave_B2F/map.json
index 48de00180..72e403046 100644
--- a/data/maps/GraniteCave_B2F/map.json
+++ b/data/maps/GraniteCave_B2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "GraniteCave_B2F_EventScript_29116A",
+ "script": "GraniteCave_B2F_EventScript_ItemRepel",
"flag": "FLAG_ITEM_GRANITE_CAVE_B2F_REPEL"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "GraniteCave_B2F_EventScript_291177",
+ "script": "GraniteCave_B2F_EventScript_ItemRareCandy",
"flag": "FLAG_ITEM_GRANITE_CAVE_B2F_RARE_CANDY"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "GraniteCave_B2F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_11"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "GraniteCave_B2F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_12"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "GraniteCave_B2F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_13"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "GraniteCave_B2F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_14"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "GraniteCave_B2F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_15"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "GraniteCave_B2F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_16"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "GraniteCave_B2F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_17"
}
],
diff --git a/data/maps/InsideOfTruck/map.json b/data/maps/InsideOfTruck/map.json
index eefeed365..ff76eb774 100644
--- a/data/maps/InsideOfTruck/map.json
+++ b/data/maps/InsideOfTruck/map.json
@@ -2,7 +2,7 @@
"id": "MAP_INSIDE_OF_TRUCK",
"name": "InsideOfTruck",
"layout": "LAYOUT_INSIDE_OF_TRUCK",
- "music": "65535",
+ "music": "MUS_NONE",
"region_map_section": "MAPSEC_INSIDE_OF_TRUCK",
"requires_flash": false,
"weather": "WEATHER_NONE",
diff --git a/data/maps/IslandCave/scripts.inc b/data/maps/IslandCave/scripts.inc
index cb400e817..4f5339b1a 100644
--- a/data/maps/IslandCave/scripts.inc
+++ b/data/maps/IslandCave/scripts.inc
@@ -1,7 +1,7 @@
IslandCave_MapScripts:: @ 8238E2A
map_script MAP_SCRIPT_ON_RESUME, IslandCave_MapScript1_238E3A
map_script MAP_SCRIPT_ON_LOAD, IslandCave_MapScript1_238E58
- map_script MAP_SCRIPT_ON_TRANSITION, IslandCave_MapScript1_238E99
+ map_script MAP_SCRIPT_ON_TRANSITION, IslandCave_OnTransition
.byte 0
IslandCave_MapScript1_238E3A: @ 8238E3A
@@ -28,7 +28,7 @@ IslandCave_EventScript_238E62:: @ 8238E62
setmetatile 9, 20, 565, 1
return
-IslandCave_MapScript1_238E99: @ 8238E99
+IslandCave_OnTransition: @ 8238E99
setflag FLAG_LANDMARK_ISLAND_CAVE
call IslandCave_EventScript_238F45
call_if_unset FLAG_DEFEATED_REGICE, IslandCave_EventScript_238EAB
diff --git a/data/maps/JaggedPass/map.json b/data/maps/JaggedPass/map.json
index 3ec89fce6..e695c826c 100644
--- a/data/maps/JaggedPass/map.json
+++ b/data/maps/JaggedPass/map.json
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "JaggedPass_EventScript_291184",
+ "script": "JaggedPass_EventScript_ItemBurnHeal",
"flag": "FLAG_ITEM_JAGGED_PASS_BURN_HEAL"
},
{
diff --git a/data/maps/LilycoveCity/map.json b/data/maps/LilycoveCity/map.json
index ea771c3b5..26f0ad36d 100644
--- a/data/maps/LilycoveCity/map.json
+++ b/data/maps/LilycoveCity/map.json
@@ -165,7 +165,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_2910E8",
+ "script": "LilycoveCity_EventScript_ItemMaxRepel",
"flag": "FLAG_ITEM_LILYCOVE_CITY_MAX_REPEL"
},
{
diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc
index 7f4c9e3fd..09fb56cfd 100644
--- a/data/maps/LilycoveCity/scripts.inc
+++ b/data/maps/LilycoveCity/scripts.inc
@@ -391,10 +391,10 @@ LilycoveCity_EventScript_1E3006:: @ 81E3006
waitmovement 0
delay 50
setfieldeffectargument 0, 1
- dofieldeffect 30
+ dofieldeffect FLDEFF_NPCFLY_OUT
delay 15
removeobject VAR_LAST_TALKED
- waitfieldeffect 30
+ waitfieldeffect FLDEFF_NPCFLY_OUT
savebgm MUS_DUMMY
fadedefaultbgm
setflag FLAG_MET_RIVAL_LILYCOVE
diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
index f1c974dd9..4e292a1f9 100644
--- a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
@@ -151,7 +151,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F
giveitem VAR_TEMP_0, 1
bufferitemname 1, VAR_TEMP_0
bufferstdstring 2, 14
- msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
+ msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
random 64
compare VAR_RESULT, 0
goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_220436
@@ -163,7 +163,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F
giveitem VAR_TEMP_0, 1
bufferitemname 1, VAR_TEMP_0
bufferstdstring 2, 14
- msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
+ msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
random 64
compare VAR_RESULT, 0
goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_220436
@@ -175,7 +175,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F
giveitem VAR_TEMP_0, 1
bufferitemname 1, VAR_TEMP_0
bufferstdstring 2, 14
- msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
+ msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
goto LilycoveCity_DepartmentStoreRooftop_EventScript_220436
end
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
index b553cf65b..a49c51499 100644
--- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
@@ -257,7 +257,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8626:: @ 81F8626
setvar VAR_0x8004, 1
special DoPCTurnOnEffect
playse SE_PC_ON
- msgbox gUnknown_08272D87, MSGBOX_DEFAULT
+ msgbox gText_PlayerHouseBootPC, MSGBOX_DEFAULT
special BedroomPC
waitstate
releaseall
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
index 49a9523e0..76bf7d6a8 100644
--- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
@@ -315,7 +315,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9576:: @ 81F9576
setvar VAR_0x8004, 2
special DoPCTurnOnEffect
playse SE_PC_ON
- msgbox gUnknown_08272D87, MSGBOX_DEFAULT
+ msgbox gText_PlayerHouseBootPC, MSGBOX_DEFAULT
special BedroomPC
waitstate
releaseall
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
index c02381982..a3ad4dff7 100644
--- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
+++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
@@ -347,7 +347,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C:: @ 81FA06C
LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1:: @ 81FA0A1
call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
removeobject 4
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD
call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
@@ -358,7 +358,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1:: @ 81FA0A1
LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC:: @ 81FA0CC
call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
removeobject 4
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2
call LittlerootTown_ProfessorBirchsLab_EventScript_273797
@@ -392,7 +392,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D:: @ 81FA10D
LittlerootTown_ProfessorBirchsLab_EventScript_1FA142:: @ 81FA142
call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
removeobject 5
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E
call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
@@ -403,7 +403,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA142:: @ 81FA142
LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D:: @ 81FA16D
call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
removeobject 5
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA193
call LittlerootTown_ProfessorBirchsLab_EventScript_273797
@@ -437,7 +437,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE:: @ 81FA1AE
LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3:: @ 81FA1E3
call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
removeobject 6
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F
call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
@@ -448,7 +448,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3:: @ 81FA1E3
LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E:: @ 81FA20E
call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
removeobject 6
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA234
call LittlerootTown_ProfessorBirchsLab_EventScript_273797
diff --git a/data/maps/MagmaHideout_1F/map.json b/data/maps/MagmaHideout_1F/map.json
index 8eb3e23b5..350c52b4f 100644
--- a/data/maps/MagmaHideout_1F/map.json
+++ b/data/maps/MagmaHideout_1F/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MagmaHideout_1F_EventScript_2914DE",
+ "script": "MagmaHideout_1F_EventScript_ItemRareCandy",
"flag": "FLAG_ITEM_MAGMA_HIDEOUT_1F_RARE_CANDY"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MagmaHideout_1F_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_11"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MagmaHideout_1F_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_12"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MagmaHideout_1F_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_13"
}
],
diff --git a/data/maps/MagmaHideout_2F_2R/map.json b/data/maps/MagmaHideout_2F_2R/map.json
index ef7086bbf..b52d34212 100644
--- a/data/maps/MagmaHideout_2F_2R/map.json
+++ b/data/maps/MagmaHideout_2F_2R/map.json
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MagmaHideout_2F_2R_EventScript_2914EB",
+ "script": "MagmaHideout_2F_2R_EventScript_MaxElixir",
"flag": "FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_MAX_ELIXIR"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MagmaHideout_2F_2R_EventScript_2914F8",
+ "script": "MagmaHideout_2F_2R_EventScript_ItemFullRestore",
"flag": "FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_FULL_RESTORE"
}
],
diff --git a/data/maps/MagmaHideout_3F_1R/map.json b/data/maps/MagmaHideout_3F_1R/map.json
index 67202e748..e3c1bac70 100644
--- a/data/maps/MagmaHideout_3F_1R/map.json
+++ b/data/maps/MagmaHideout_3F_1R/map.json
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MagmaHideout_3F_1R_EventScript_291505",
+ "script": "MagmaHideout_3F_1R_EventScript_ItemNugget",
"flag": "FLAG_ITEM_MAGMA_HIDEOUT_3F_1R_NUGGET"
}
],
diff --git a/data/maps/MagmaHideout_3F_2R/map.json b/data/maps/MagmaHideout_3F_2R/map.json
index bc67b15e5..e4b267858 100644
--- a/data/maps/MagmaHideout_3F_2R/map.json
+++ b/data/maps/MagmaHideout_3F_2R/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MagmaHideout_3F_2R_EventScript_291512",
+ "script": "MagmaHideout_3F_2R_EventScript_ItemPPMax",
"flag": "FLAG_ITEM_MAGMA_HIDEOUT_3F_2R_PP_MAX"
}
],
diff --git a/data/maps/MagmaHideout_3F_3R/map.json b/data/maps/MagmaHideout_3F_3R/map.json
index 00fc5a46c..6ec900c31 100644
--- a/data/maps/MagmaHideout_3F_3R/map.json
+++ b/data/maps/MagmaHideout_3F_3R/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MagmaHideout_3F_3R_EventScript_29152C",
+ "script": "MagmaHideout_3F_3R_EventScript_ItemEscapeRope",
"flag": "FLAG_ITEM_MAGMA_HIDEOUT_3F_3R_ECAPE_ROPE"
}
],
diff --git a/data/maps/MagmaHideout_4F/map.json b/data/maps/MagmaHideout_4F/map.json
index b627ae1ed..5eebc41d8 100644
--- a/data/maps/MagmaHideout_4F/map.json
+++ b/data/maps/MagmaHideout_4F/map.json
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MagmaHideout_4F_EventScript_29151F",
+ "script": "MagmaHideout_4F_EventScript_MaxRevive",
"flag": "FLAG_ITEM_MAGMA_HIDEOUT_4F_MAX_REVIVE"
}
],
diff --git a/data/maps/MagmaHideout_4F/scripts.inc b/data/maps/MagmaHideout_4F/scripts.inc
index 77c339b11..e6464a7f9 100644
--- a/data/maps/MagmaHideout_4F/scripts.inc
+++ b/data/maps/MagmaHideout_4F/scripts.inc
@@ -12,8 +12,8 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560
setfieldeffectargument 0, 18
setfieldeffectargument 1, 42
setfieldeffectargument 2, 0
- dofieldeffect 54
- waitfieldeffect 54
+ dofieldeffect FLDEFF_SPARKLE
+ waitfieldeffect FLDEFF_SPARKLE
setvar VAR_RESULT, 1
playfanfare MUS_ME_TAMA
playse SE_TAMA
diff --git a/data/maps/MauvilleCity/map.json b/data/maps/MauvilleCity/map.json
index e44bc78dd..4163f4d9d 100644
--- a/data/maps/MauvilleCity/map.json
+++ b/data/maps/MauvilleCity/map.json
@@ -149,7 +149,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_EventScript_2910CE",
+ "script": "MauvilleCity_EventScript_ItemXSpeed",
"flag": "FLAG_ITEM_MAUVILLE_CITY_X_SPEED"
},
{
diff --git a/data/maps/MeteorFalls_1F_1R/map.json b/data/maps/MeteorFalls_1F_1R/map.json
index 586de013f..200c03e86 100644
--- a/data/maps/MeteorFalls_1F_1R/map.json
+++ b/data/maps/MeteorFalls_1F_1R/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MeteorFalls_1F_1R_EventScript_2911AB",
+ "script": "MeteorFalls_1F_1R_EventScript_ItemTM23",
"flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_TM_23"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MeteorFalls_1F_1R_EventScript_2911C5",
+ "script": "MeteorFalls_1F_1R_EventScript_ItemMoonStone",
"flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_MOON_STONE"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MeteorFalls_1F_1R_EventScript_2911B8",
+ "script": "MeteorFalls_1F_1R_EventScript_ItemFullHeal",
"flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_FULL_HEAL"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MeteorFalls_1F_1R_EventScript_2911D2",
+ "script": "MeteorFalls_1F_1R_EventScript_ItemPPUP",
"flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_PP_UP"
},
{
diff --git a/data/maps/MeteorFalls_B1F_2R/map.json b/data/maps/MeteorFalls_B1F_2R/map.json
index 7c45bfdd0..8fd3eb4a2 100644
--- a/data/maps/MeteorFalls_B1F_2R/map.json
+++ b/data/maps/MeteorFalls_B1F_2R/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MeteorFalls_B1F_2R_EventScript_2911DF",
+ "script": "MeteorFalls_B1F_2R_EventScript_ItemTM02",
"flag": "FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_02"
}
],
diff --git a/data/maps/MirageTower_1F/scripts.inc b/data/maps/MirageTower_1F/scripts.inc
index 9f6c35a84..74ec749fa 100644
--- a/data/maps/MirageTower_1F/scripts.inc
+++ b/data/maps/MirageTower_1F/scripts.inc
@@ -1,8 +1,8 @@
MirageTower_1F_MapScripts:: @ 823AD01
- map_script MAP_SCRIPT_ON_TRANSITION, MirageTower_1F_MapScript1_23AD07
+ map_script MAP_SCRIPT_ON_TRANSITION, MirageTower_1F_OnTransition
.byte 0
-MirageTower_1F_MapScript1_23AD07: @ 823AD07
+MirageTower_1F_OnTransition: @ 823AD07
setflag FLAG_ENTERED_MIRAGE_TOWER
setflag FLAG_FORCE_MIRAGE_TOWER_VISIBLE
setflag FLAG_LANDMARK_MIRAGE_TOWER
diff --git a/data/maps/MirageTower_3F/map.json b/data/maps/MirageTower_3F/map.json
index a653c6e52..c24e2a006 100644
--- a/data/maps/MirageTower_3F/map.json
+++ b/data/maps/MirageTower_3F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MirageTower_3F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_11"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MirageTower_3F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_12"
}
],
diff --git a/data/maps/MirageTower_4F/map.json b/data/maps/MirageTower_4F/map.json
index d6b69a14c..45e5fa62b 100644
--- a/data/maps/MirageTower_4F/map.json
+++ b/data/maps/MirageTower_4F/map.json
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MirageTower_4F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_11"
}
],
diff --git a/data/maps/MossdeepCity/map.json b/data/maps/MossdeepCity/map.json
index 99d7ae01c..533183a35 100644
--- a/data/maps/MossdeepCity/map.json
+++ b/data/maps/MossdeepCity/map.json
@@ -105,7 +105,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_EventScript_2910F5",
+ "script": "MossdeepCity_EventScript_ItemNetBall",
"flag": "FLAG_ITEM_MOSSDEEP_CITY_NET_BALL"
},
{
diff --git a/data/maps/MossdeepCity_House4/scripts.inc b/data/maps/MossdeepCity_House4/scripts.inc
index 1763a9c46..4505b1f03 100644
--- a/data/maps/MossdeepCity_House4/scripts.inc
+++ b/data/maps/MossdeepCity_House4/scripts.inc
@@ -17,7 +17,7 @@ MossdeepCity_House4_EventScript_222DED:: @ 8222DED
MossdeepCity_House4_EventScript_222DF7:: @ 8222DF7
lock
faceplayer
- special sub_80E8BC8
+ special CheckPlayerHasSecretBase
compare VAR_RESULT, 0
goto_if_eq MossdeepCity_House4_EventScript_222E14
special GetSecretBaseNearbyMapName
diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc
index 15b94133d..b3a704443 100644
--- a/data/maps/MossdeepCity_StevensHouse/scripts.inc
+++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc
@@ -95,7 +95,7 @@ MossdeepCity_StevensHouse_EventScript_222865:: @ 8222865
MossdeepCity_StevensHouse_EventScript_222895:: @ 8222895
call MossdeepCity_StevensHouse_EventScript_2228EB
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq MossdeepCity_StevensHouse_EventScript_222901
call MossdeepCity_StevensHouse_EventScript_27378B
@@ -105,7 +105,7 @@ MossdeepCity_StevensHouse_EventScript_222895:: @ 8222895
MossdeepCity_StevensHouse_EventScript_2228BD:: @ 82228BD
call MossdeepCity_StevensHouse_EventScript_2228EB
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq MossdeepCity_StevensHouse_EventScript_2228E0
call MossdeepCity_StevensHouse_EventScript_273797
diff --git a/data/maps/MtPyre_2F/map.json b/data/maps/MtPyre_2F/map.json
index 7a5c4d639..64657cb0d 100644
--- a/data/maps/MtPyre_2F/map.json
+++ b/data/maps/MtPyre_2F/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_2F_EventScript_2912FD",
+ "script": "MtPyre_2F_EventScript_ItemUltraBall",
"flag": "FLAG_ITEM_MT_PYRE_2F_ULTRA_BALL"
},
{
diff --git a/data/maps/MtPyre_3F/map.json b/data/maps/MtPyre_3F/map.json
index b8684cff9..3e06adf8c 100644
--- a/data/maps/MtPyre_3F/map.json
+++ b/data/maps/MtPyre_3F/map.json
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_3F_EventScript_29130A",
+ "script": "MtPyre_3F_EventScript_ItemSuperRepel",
"flag": "FLAG_ITEM_MT_PYRE_3F_SUPER_REPEL"
},
{
diff --git a/data/maps/MtPyre_4F/map.json b/data/maps/MtPyre_4F/map.json
index 59d4dd110..782a6221e 100644
--- a/data/maps/MtPyre_4F/map.json
+++ b/data/maps/MtPyre_4F/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_4F_EventScript_291317",
+ "script": "MtPyre_4F_EventScript_ItemSeaIncense",
"flag": "FLAG_ITEM_MT_PYRE_4F_SEA_INCENSE"
}
],
diff --git a/data/maps/MtPyre_5F/map.json b/data/maps/MtPyre_5F/map.json
index 1c035bd4d..edd3544ca 100644
--- a/data/maps/MtPyre_5F/map.json
+++ b/data/maps/MtPyre_5F/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_5F_EventScript_291324",
+ "script": "MtPyre_5F_EventScript_ItemLaxIncense",
"flag": "FLAG_ITEM_MT_PYRE_5F_LAX_INCENSE"
}
],
diff --git a/data/maps/MtPyre_6F/map.json b/data/maps/MtPyre_6F/map.json
index 8f7c4f30f..3c889a7e0 100644
--- a/data/maps/MtPyre_6F/map.json
+++ b/data/maps/MtPyre_6F/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_6F_EventScript_291331",
+ "script": "MtPyre_6F_EventScript_ItemTM30",
"flag": "FLAG_ITEM_MT_PYRE_6F_TM_30"
},
{
diff --git a/data/maps/MtPyre_Exterior/map.json b/data/maps/MtPyre_Exterior/map.json
index 2a8a5eaff..c7653bbd1 100644
--- a/data/maps/MtPyre_Exterior/map.json
+++ b/data/maps/MtPyre_Exterior/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_Exterior_EventScript_29133E",
+ "script": "MtPyre_Exterior_EventScript_ItemMaxPotion",
"flag": "FLAG_ITEM_MT_PYRE_EXTERIOR_MAX_POTION"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_Exterior_EventScript_29134B",
+ "script": "MtPyre_Exterior_EventScript_ItemTM48",
"flag": "FLAG_ITEM_MT_PYRE_EXTERIOR_TM_48"
}
],
diff --git a/data/maps/NewMauville_Entrance/scripts.inc b/data/maps/NewMauville_Entrance/scripts.inc
index c3ed930a5..7adb2d7ce 100644
--- a/data/maps/NewMauville_Entrance/scripts.inc
+++ b/data/maps/NewMauville_Entrance/scripts.inc
@@ -1,6 +1,6 @@
NewMauville_Entrance_MapScripts:: @ 82372AD
map_script MAP_SCRIPT_ON_LOAD, NewMauville_Entrance_MapScript1_2372B8
- map_script MAP_SCRIPT_ON_TRANSITION, NewMauville_Entrance_MapScript1_2372FB
+ map_script MAP_SCRIPT_ON_TRANSITION, NewMauville_Entrance_OnTransition
.byte 0
NewMauville_Entrance_MapScript1_2372B8: @ 82372B8
@@ -17,7 +17,7 @@ NewMauville_Entrance_EventScript_2372C4:: @ 82372C4
setmetatile 5, 1, 798, 1
return
-NewMauville_Entrance_MapScript1_2372FB: @ 82372FB
+NewMauville_Entrance_OnTransition: @ 82372FB
setflag FLAG_LANDMARK_NEW_MAUVILLE
end
diff --git a/data/maps/NewMauville_Inside/map.json b/data/maps/NewMauville_Inside/map.json
index b13d6059d..e58588a47 100644
--- a/data/maps/NewMauville_Inside/map.json
+++ b/data/maps/NewMauville_Inside/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "NewMauville_Inside_EventScript_2911EC",
+ "script": "NewMauville_Inside_EventScript_ItemUltraRope",
"flag": "FLAG_ITEM_NEW_MAUVILLE_ULTRA_BALL"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "NewMauville_Inside_EventScript_2911F9",
+ "script": "NewMauville_Inside_EventScript_ItemEscapeRope",
"flag": "FLAG_ITEM_NEW_MAUVILLE_ESCAPE_ROPE"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "NewMauville_Inside_EventScript_291206",
+ "script": "NewMauville_Inside_EventScript_ItemThunderStone",
"flag": "FLAG_ITEM_NEW_MAUVILLE_THUNDER_STONE"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "NewMauville_Inside_EventScript_291213",
+ "script": "NewMauville_Inside_EventScript_ItemFullHeal",
"flag": "FLAG_ITEM_NEW_MAUVILLE_FULL_HEAL"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "NewMauville_Inside_EventScript_291220",
+ "script": "NewMauville_Inside_EventScript_ItemParalyzeHeal",
"flag": "FLAG_ITEM_NEW_MAUVILLE_PARALYZE_HEAL"
},
{
diff --git a/data/maps/PetalburgCity/map.json b/data/maps/PetalburgCity/map.json
index 6a9a6b33d..00e89bfa0 100644
--- a/data/maps/PetalburgCity/map.json
+++ b/data/maps/PetalburgCity/map.json
@@ -100,7 +100,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_EventScript_2910B4",
+ "script": "PetalburgCity_EventScript_ItemMaxRevive",
"flag": "FLAG_ITEM_PETALBURG_CITY_MAX_REVIVE"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_EventScript_2910C1",
+ "script": "PetalburgCity_EventScript_ItemEther",
"flag": "FLAG_ITEM_PETALBURG_CITY_ETHER"
},
{
diff --git a/data/maps/PetalburgWoods/map.json b/data/maps/PetalburgWoods/map.json
index 4bca7bb5e..7e7de784a 100644
--- a/data/maps/PetalburgWoods/map.json
+++ b/data/maps/PetalburgWoods/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgWoods_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_11"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgWoods_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_12"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgWoods_EventScript_29110F",
+ "script": "PetalburgWoods_EventScript_ItemGreatBall",
"flag": "FLAG_ITEM_PETALBURG_WOODS_GREAT_BALL"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgWoods_EventScript_291102",
+ "script": "PetalburgWoods_EventScript_ItemXAttack",
"flag": "FLAG_ITEM_PETALBURG_WOODS_X_ATTACK"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgWoods_EventScript_29111C",
+ "script": "PetalburgWoods_EventScript_ItemEther",
"flag": "FLAG_ITEM_PETALBURG_WOODS_ETHER"
},
{
@@ -167,7 +167,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgWoods_EventScript_291129",
+ "script": "PetalburgWoods_EventScript_ItemParalyzeHeal",
"flag": "FLAG_ITEM_PETALBURD_WOODS_PARALYZE_HEAL"
},
{
diff --git a/data/maps/Route102/map.json b/data/maps/Route102/map.json
index 7a6c6d963..323c4142b 100644
--- a/data/maps/Route102/map.json
+++ b/data/maps/Route102/map.json
@@ -100,7 +100,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route102_EventScript_290CD8",
+ "script": "Route102_EventScript_ItemPotion",
"flag": "FLAG_ITEM_ROUTE_102_POTION"
},
{
diff --git a/data/maps/Route103/map.json b/data/maps/Route103/map.json
index 6516e99dc..bf207ec2f 100644
--- a/data/maps/Route103/map.json
+++ b/data/maps/Route103/map.json
@@ -191,7 +191,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route103_EventScript_290CE5",
+ "script": "Route103_EventScript_ItemGuardSpec",
"flag": "FLAG_ITEM_ROUTE_103_GUARD_SPEC"
},
{
@@ -204,7 +204,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route103_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_12"
},
{
@@ -217,7 +217,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route103_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_13"
},
{
@@ -282,7 +282,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route103_EventScript_290CF2",
+ "script": "Route103_EventScript_ItemPPUp",
"flag": "FLAG_ITEM_ROUTE_103_PP_UP"
}
],
diff --git a/data/maps/Route104/map.json b/data/maps/Route104/map.json
index e14a73c29..d2c7cc146 100644
--- a/data/maps/Route104/map.json
+++ b/data/maps/Route104/map.json
@@ -300,7 +300,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_290CFF",
+ "script": "Route104_EventScript_ItemPPUp",
"flag": "FLAG_ITEM_ROUTE_104_PP_UP"
},
{
@@ -378,7 +378,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_290D0C",
+ "script": "Route104_EventScript_ItemPokeBall",
"flag": "FLAG_ITEM_ROUTE_104_POKE_BALL"
},
{
@@ -404,7 +404,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_290D19",
+ "script": "Route104_EventScript_ItemXAccuracy",
"flag": "FLAG_ITEM_ROUTE_104_X_ACCURACY"
},
{
@@ -417,7 +417,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_11"
},
{
@@ -430,7 +430,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_290D26",
+ "script": "Route104_EventScript_ItemPotion",
"flag": "FLAG_ITEM_ROUTE_104_POTION"
},
{
diff --git a/data/maps/Route104_MrBrineysHouse/scripts.inc b/data/maps/Route104_MrBrineysHouse/scripts.inc
index 8a4af48cd..52fd4b96d 100644
--- a/data/maps/Route104_MrBrineysHouse/scripts.inc
+++ b/data/maps/Route104_MrBrineysHouse/scripts.inc
@@ -1,8 +1,8 @@
Route104_MrBrineysHouse_MapScripts:: @ 8229D2E
- map_script MAP_SCRIPT_ON_TRANSITION, Route104_MrBrineysHouse_MapScript1_229D34
+ map_script MAP_SCRIPT_ON_TRANSITION, Route104_MrBrineysHouse_OnTransition
.byte 0
-Route104_MrBrineysHouse_MapScript1_229D34: @ 8229D34
+Route104_MrBrineysHouse_OnTransition: @ 8229D34
setflag FLAG_LANDMARK_MR_BRINEY_HOUSE
compare VAR_BRINEY_HOUSE_STATE, 1
call_if_eq Route104_MrBrineysHouse_EventScript_229D50
diff --git a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
index 26dfe7f8a..2a8a8b88e 100644
--- a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
+++ b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
@@ -1,8 +1,8 @@
Route104_PrettyPetalFlowerShop_MapScripts:: @ 822A34C
- map_script MAP_SCRIPT_ON_TRANSITION, Route104_PrettyPetalFlowerShop_MapScript1_22A352
+ map_script MAP_SCRIPT_ON_TRANSITION, Route104_PrettyPetalFlowerShop_OnTransition
.byte 0
-Route104_PrettyPetalFlowerShop_MapScript1_22A352: @ 822A352
+Route104_PrettyPetalFlowerShop_OnTransition: @ 822A352
setflag FLAG_LANDMARK_FLOWER_SHOP
goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_22A36B
goto_if_unset FLAG_BADGE03_GET, Route104_PrettyPetalFlowerShop_EventScript_22A36B
diff --git a/data/maps/Route105/map.json b/data/maps/Route105/map.json
index b42965229..4d447d4f8 100644
--- a/data/maps/Route105/map.json
+++ b/data/maps/Route105/map.json
@@ -92,7 +92,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route105_EventScript_290D33",
+ "script": "Route105_EventScript_ItemIron",
"flag": "FLAG_ITEM_ROUTE_105_IRON"
},
{
diff --git a/data/maps/Route106/map.json b/data/maps/Route106/map.json
index 93e98078b..70558d26e 100644
--- a/data/maps/Route106/map.json
+++ b/data/maps/Route106/map.json
@@ -87,7 +87,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route106_EventScript_290D40",
+ "script": "Route106_EventScript_ItemProtein",
"flag": "FLAG_ITEM_ROUTE_106_PROTEIN"
}
],
diff --git a/data/maps/Route108/map.json b/data/maps/Route108/map.json
index bb22c01e3..b8b188637 100644
--- a/data/maps/Route108/map.json
+++ b/data/maps/Route108/map.json
@@ -113,7 +113,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route108_EventScript_290D4D",
+ "script": "Route108_EventScript_ItemStarPiece",
"flag": "FLAG_ITEM_ROUTE_108_STAR_PIECE"
}
],
diff --git a/data/maps/Route109/map.json b/data/maps/Route109/map.json
index 9bb4d21de..361467266 100644
--- a/data/maps/Route109/map.json
+++ b/data/maps/Route109/map.json
@@ -152,7 +152,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route109_EventScript_290D5A",
+ "script": "Route109_EventScript_ItemPPUp",
"flag": "FLAG_ITEM_ROUTE_109_PP_UP"
},
{
@@ -321,7 +321,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route109_EventScript_290D67",
+ "script": "Route109_EventScript_ItemPotion",
"flag": "FLAG_ITEM_ROUTE_109_POTION"
},
{
diff --git a/data/maps/Route109_SeashoreHouse/scripts.inc b/data/maps/Route109_SeashoreHouse/scripts.inc
index ed27e32ff..e52ab08f9 100644
--- a/data/maps/Route109_SeashoreHouse/scripts.inc
+++ b/data/maps/Route109_SeashoreHouse/scripts.inc
@@ -1,8 +1,8 @@
Route109_SeashoreHouse_MapScripts:: @ 82693F4
- map_script MAP_SCRIPT_ON_TRANSITION, Route109_SeashoreHouse_MapScript1_2693FA
+ map_script MAP_SCRIPT_ON_TRANSITION, Route109_SeashoreHouse_OnTransition
.byte 0
-Route109_SeashoreHouse_MapScript1_2693FA: @ 82693FA
+Route109_SeashoreHouse_OnTransition: @ 82693FA
setflag FLAG_LANDMARK_SEASHORE_HOUSE
end
diff --git a/data/maps/Route110/map.json b/data/maps/Route110/map.json
index a9ac7796a..8cbc93af6 100644
--- a/data/maps/Route110/map.json
+++ b/data/maps/Route110/map.json
@@ -274,7 +274,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_290D81",
+ "script": "Route110_EventScript_ItemDireHit",
"flag": "FLAG_ITEM_ROUTE_110_DIRE_HIT"
},
{
@@ -287,7 +287,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_290D74",
+ "script": "Route110_EventScript_ItemRareCandy",
"flag": "FLAG_ITEM_ROUTE_109_RARE_CANDY"
},
{
@@ -482,7 +482,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_290D8E",
+ "script": "Route110_EventScript_ItemElixir",
"flag": "FLAG_ITEM_ROUTE_110_ELIXIR"
},
{
diff --git a/data/maps/Route110_TrickHouseEnd/scripts.inc b/data/maps/Route110_TrickHouseEnd/scripts.inc
index 7902cb95d..3ce8cfd5e 100644
--- a/data/maps/Route110_TrickHouseEnd/scripts.inc
+++ b/data/maps/Route110_TrickHouseEnd/scripts.inc
@@ -45,7 +45,7 @@ Route110_TrickHouseEnd_EventScript_26AD17:: @ 826AD17
faceplayer
msgbox Route110_TrickHouseEnd_Text_26B08D, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
- switch VAR_0x4044
+ switch VAR_TRICK_HOUSE_LEVEL
case 0, Route110_TrickHouseEnd_EventScript_26AD84
case 1, Route110_TrickHouseEnd_EventScript_26ADC0
case 2, Route110_TrickHouseEnd_EventScript_26ADFC
@@ -196,7 +196,7 @@ Route110_TrickHouseEnd_EventScript_26AFCF:: @ 826AFCF
applymovement 1, Route110_TrickHouseEnd_Movement_269E3F
waitmovement 0
removeobject 1
- addvar VAR_0x4044, 1
+ addvar VAR_TRICK_HOUSE_LEVEL, 1
return
Route110_TrickHouseEnd_EventScript_26AFEF:: @ 826AFEF
diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc
index a83d50dc3..aae615a62 100644
--- a/data/maps/Route110_TrickHouseEntrance/scripts.inc
+++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc
@@ -1,10 +1,10 @@
Route110_TrickHouseEntrance_MapScripts:: @ 8269A50
- map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseEntrance_MapScript1_269A60
+ map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseEntrance_OnTransition
map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHouseEntrance_MapScript2_269CEE
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHouseEntrance_MapScript2_269BD3
.byte 0
-Route110_TrickHouseEntrance_MapScript1_269A60: @ 8269A60
+Route110_TrickHouseEntrance_OnTransition: @ 8269A60
setflag FLAG_LANDMARK_TRICK_HOUSE
compare VAR_TRICK_HOUSE_STATE, 1
goto_if_eq Route110_TrickHouseEntrance_EventScript_269AF3
@@ -27,7 +27,7 @@ Route110_TrickHouseEntrance_MapScript1_269A60: @ 8269A60
Route110_TrickHouseEntrance_EventScript_269AD7:: @ 8269AD7
setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 1
- compare VAR_0x4044, 8
+ compare VAR_TRICK_HOUSE_LEVEL, 8
goto_if_eq Route110_TrickHouseEntrance_EventScript_269AED
setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 2
end
@@ -44,21 +44,21 @@ Route110_TrickHouseEntrance_EventScript_269AF3:: @ 8269AF3
Route110_TrickHouseEntrance_EventScript_269B03:: @ 8269B03
setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 0
- compare VAR_0x4044, 1
+ compare VAR_TRICK_HOUSE_LEVEL, 1
call_if_eq Route110_TrickHouseEntrance_EventScript_269B61
- compare VAR_0x4044, 2
+ compare VAR_TRICK_HOUSE_LEVEL, 2
call_if_eq Route110_TrickHouseEntrance_EventScript_269B6B
- compare VAR_0x4044, 3
+ compare VAR_TRICK_HOUSE_LEVEL, 3
call_if_eq Route110_TrickHouseEntrance_EventScript_269B75
- compare VAR_0x4044, 4
+ compare VAR_TRICK_HOUSE_LEVEL, 4
call_if_eq Route110_TrickHouseEntrance_EventScript_269B7F
- compare VAR_0x4044, 5
+ compare VAR_TRICK_HOUSE_LEVEL, 5
call_if_eq Route110_TrickHouseEntrance_EventScript_269B89
- compare VAR_0x4044, 6
+ compare VAR_TRICK_HOUSE_LEVEL, 6
call_if_eq Route110_TrickHouseEntrance_EventScript_269B93
- compare VAR_0x4044, 7
+ compare VAR_TRICK_HOUSE_LEVEL, 7
call_if_eq Route110_TrickHouseEntrance_EventScript_269B9D
- compare VAR_0x4044, 8
+ compare VAR_TRICK_HOUSE_LEVEL, 8
call_if_eq Route110_TrickHouseEntrance_EventScript_269BA7
return
@@ -139,7 +139,7 @@ Route110_TrickHouseEntrance_EventScript_269C15:: @ 8269C15
Route110_TrickHouseEntrance_EventScript_269C26:: @ 8269C26
addobject 1
hideobjectat 1, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- switch VAR_0x4044
+ switch VAR_TRICK_HOUSE_LEVEL
case 0, Route110_TrickHouseEntrance_EventScript_269C8C
case 1, Route110_TrickHouseEntrance_EventScript_269C94
case 2, Route110_TrickHouseEntrance_EventScript_269C9C
@@ -205,7 +205,7 @@ Route110_TrickHouseEntrance_MapScript2_269CEE: @ 8269CEE
Route110_TrickHouseEntrance_EventScript_269CF8:: @ 8269CF8
lockall
delay 20
- compare VAR_0x4044, 0
+ compare VAR_TRICK_HOUSE_LEVEL, 0
call_if_eq Route110_TrickHouseEntrance_EventScript_269E48
msgbox Route110_TrickHouseEntrance_Text_26A78C, MSGBOX_DEFAULT
closemessage
@@ -240,21 +240,21 @@ Route110_TrickHouseEntrance_EventScript_269D6E:: @ 8269D6E
waitmovement 0
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_Delay48
waitmovement 0
- compare VAR_0x4044, 0
+ compare VAR_TRICK_HOUSE_LEVEL, 0
call_if_eq Route110_TrickHouseEntrance_EventScript_269DEE
- compare VAR_0x4044, 1
+ compare VAR_TRICK_HOUSE_LEVEL, 1
call_if_eq Route110_TrickHouseEntrance_EventScript_269DF7
- compare VAR_0x4044, 2
+ compare VAR_TRICK_HOUSE_LEVEL, 2
call_if_eq Route110_TrickHouseEntrance_EventScript_269E00
- compare VAR_0x4044, 3
+ compare VAR_TRICK_HOUSE_LEVEL, 3
call_if_eq Route110_TrickHouseEntrance_EventScript_269E09
- compare VAR_0x4044, 4
+ compare VAR_TRICK_HOUSE_LEVEL, 4
call_if_eq Route110_TrickHouseEntrance_EventScript_269E12
- compare VAR_0x4044, 5
+ compare VAR_TRICK_HOUSE_LEVEL, 5
call_if_eq Route110_TrickHouseEntrance_EventScript_269E1B
- compare VAR_0x4044, 6
+ compare VAR_TRICK_HOUSE_LEVEL, 6
call_if_eq Route110_TrickHouseEntrance_EventScript_269E24
- compare VAR_0x4044, 7
+ compare VAR_TRICK_HOUSE_LEVEL, 7
call_if_eq Route110_TrickHouseEntrance_EventScript_269E2D
closemessage
setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 1
@@ -343,19 +343,19 @@ Route110_TrickHouseEntrance_EventScript_269E8F:: @ 8269E8F
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
msgbox Route110_TrickHouseEntrance_Text_26AA82, MSGBOX_DEFAULT
- compare VAR_0x4044, 1
+ compare VAR_TRICK_HOUSE_LEVEL, 1
goto_if_eq Route110_TrickHouseEntrance_EventScript_269EEF
- compare VAR_0x4044, 2
+ compare VAR_TRICK_HOUSE_LEVEL, 2
goto_if_eq Route110_TrickHouseEntrance_EventScript_269F1B
- compare VAR_0x4044, 3
+ compare VAR_TRICK_HOUSE_LEVEL, 3
goto_if_eq Route110_TrickHouseEntrance_EventScript_269F47
- compare VAR_0x4044, 4
+ compare VAR_TRICK_HOUSE_LEVEL, 4
goto_if_eq Route110_TrickHouseEntrance_EventScript_269F73
- compare VAR_0x4044, 5
+ compare VAR_TRICK_HOUSE_LEVEL, 5
goto_if_eq Route110_TrickHouseEntrance_EventScript_269F9F
- compare VAR_0x4044, 6
+ compare VAR_TRICK_HOUSE_LEVEL, 6
goto_if_eq Route110_TrickHouseEntrance_EventScript_269FCB
- compare VAR_0x4044, 7
+ compare VAR_TRICK_HOUSE_LEVEL, 7
goto_if_eq Route110_TrickHouseEntrance_EventScript_269FF7
end
@@ -510,7 +510,7 @@ Route110_TrickHouseEntrance_EventScript_26A126:: @ 826A126
waitmovement 0
applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_26A1A7
waitmovement 0
- switch VAR_0x4044
+ switch VAR_TRICK_HOUSE_LEVEL
case 0, Route110_TrickHouseEntrance_EventScript_26A1A9
case 1, Route110_TrickHouseEntrance_EventScript_26A1B4
case 2, Route110_TrickHouseEntrance_EventScript_26A1BF
@@ -579,7 +579,7 @@ Route110_TrickHouseEntrance_EventScript_26A201:: @ 826A201
end
Route110_TrickHouseEntrance_EventScript_26A20B:: @ 826A20B
- compare VAR_0x4044, 8
+ compare VAR_TRICK_HOUSE_LEVEL, 8
goto_if_eq Route110_TrickHouseEntrance_EventScript_26A220
msgbox Route110_TrickHouseEntrance_Text_26A878, MSGBOX_DEFAULT
releaseall
@@ -592,7 +592,7 @@ Route110_TrickHouseEntrance_EventScript_26A220:: @ 826A220
Route110_TrickHouseEntrance_EventScript_26A22A:: @ 826A22A
lockall
- switch VAR_0x4044
+ switch VAR_TRICK_HOUSE_LEVEL
case 0, Route110_TrickHouseEntrance_EventScript_26A289
case 1, Route110_TrickHouseEntrance_EventScript_26A2B2
case 2, Route110_TrickHouseEntrance_EventScript_26A2DB
@@ -727,11 +727,11 @@ Route110_TrickHouseEntrance_EventScript_26A3F8:: @ 826A3F8
lockall
msgbox Route110_TrickHouseEntrance_Text_26A474, MSGBOX_DEFAULT
releaseall
- compare VAR_0x4044, 0
+ compare VAR_TRICK_HOUSE_LEVEL, 0
call_if_eq Route110_TrickHouseEntrance_EventScript_26A429
- compare VAR_0x4044, 1
+ compare VAR_TRICK_HOUSE_LEVEL, 1
call_if_eq Route110_TrickHouseEntrance_EventScript_26A439
- compare VAR_0x4044, 2
+ compare VAR_TRICK_HOUSE_LEVEL, 2
call_if_eq Route110_TrickHouseEntrance_EventScript_26A449
setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 1
end
@@ -759,8 +759,8 @@ Route110_TrickHouseEntrance_EventScript_26A459:: @ 826A459
setfieldeffectargument 0, VAR_0x8004
setfieldeffectargument 1, VAR_0x8005
setfieldeffectargument 2, VAR_0x8006
- dofieldeffect 54
- waitfieldeffect 54
+ dofieldeffect FLDEFF_SPARKLE
+ waitfieldeffect FLDEFF_SPARKLE
delay 10
return
diff --git a/data/maps/Route110_TrickHousePuzzle1/map.json b/data/maps/Route110_TrickHousePuzzle1/map.json
index 849e74b62..18dc10027 100644
--- a/data/maps/Route110_TrickHousePuzzle1/map.json
+++ b/data/maps/Route110_TrickHousePuzzle1/map.json
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle1_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_13"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle1_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_12"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle1_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_14"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle1_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_17"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle1_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_16"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle1_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_15"
},
{
@@ -141,7 +141,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle1_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_19"
},
{
@@ -154,7 +154,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle1_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_18"
},
{
@@ -167,7 +167,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle1_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_1B"
},
{
@@ -180,7 +180,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle1_EventScript_29140E",
+ "script": "Route110_TrickHousePuzzle1_EventScript_ItemOrangeMail",
"flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_1_ORANGE_MAIL"
},
{
@@ -193,7 +193,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle1_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_1C"
},
{
@@ -206,7 +206,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle1_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_1E"
}
],
diff --git a/data/maps/Route110_TrickHousePuzzle2/map.json b/data/maps/Route110_TrickHousePuzzle2/map.json
index 9903231e7..3a9ed637d 100644
--- a/data/maps/Route110_TrickHousePuzzle2/map.json
+++ b/data/maps/Route110_TrickHousePuzzle2/map.json
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle2_EventScript_291428",
+ "script": "Route110_TrickHousePuzzle2_EventScript_ItemWaveMail",
"flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_WAVE_MAIL"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle2_EventScript_29141B",
+ "script": "Route110_TrickHousePuzzle2_EventScript_ItemHarborMail",
"flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_HARBOR_MAIL"
}
],
diff --git a/data/maps/Route110_TrickHousePuzzle3/map.json b/data/maps/Route110_TrickHousePuzzle3/map.json
index 22807b80b..a37498fd2 100644
--- a/data/maps/Route110_TrickHousePuzzle3/map.json
+++ b/data/maps/Route110_TrickHousePuzzle3/map.json
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle3_EventScript_291442",
+ "script": "Route110_TrickHousePuzzle3_EventScript_ItemWoodMail",
"flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_WOOD_MAIL"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle3_EventScript_291435",
+ "script": "Route110_TrickHousePuzzle3_EventScript_ItemShadowMail",
"flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_SHADOW_MAIL"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle3_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_15"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle3_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_16"
}
],
diff --git a/data/maps/Route110_TrickHousePuzzle4/map.json b/data/maps/Route110_TrickHousePuzzle4/map.json
index 542a67aec..f77fa9b22 100644
--- a/data/maps/Route110_TrickHousePuzzle4/map.json
+++ b/data/maps/Route110_TrickHousePuzzle4/map.json
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle4_EventScript_29144F",
+ "script": "Route110_TrickHousePuzzle4_EventScript_ItemMechMail",
"flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_4_MECH_MAIL"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle4_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_11"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle4_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_12"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle4_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_13"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle4_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_14"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle4_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_15"
},
{
@@ -141,7 +141,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle4_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_16"
},
{
@@ -154,7 +154,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle4_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_17"
},
{
@@ -167,7 +167,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle4_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_18"
},
{
@@ -180,7 +180,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle4_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_19"
},
{
@@ -193,7 +193,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle4_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_1A"
}
],
diff --git a/data/maps/Route110_TrickHousePuzzle6/map.json b/data/maps/Route110_TrickHousePuzzle6/map.json
index 144916353..aef182fbb 100644
--- a/data/maps/Route110_TrickHousePuzzle6/map.json
+++ b/data/maps/Route110_TrickHousePuzzle6/map.json
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle6_EventScript_29145C",
+ "script": "Route110_TrickHousePuzzle6_EventScript_ItemGlitterMail",
"flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_6_GLITTER_MAIL"
}
],
diff --git a/data/maps/Route110_TrickHousePuzzle7/map.json b/data/maps/Route110_TrickHousePuzzle7/map.json
index 0263e0848..09fdafbe2 100644
--- a/data/maps/Route110_TrickHousePuzzle7/map.json
+++ b/data/maps/Route110_TrickHousePuzzle7/map.json
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle7_EventScript_291469",
+ "script": "Route110_TrickHousePuzzle7_EventScript_ItemTropicMail",
"flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_7_TROPIC_MAIL"
},
{
diff --git a/data/maps/Route110_TrickHousePuzzle8/map.json b/data/maps/Route110_TrickHousePuzzle8/map.json
index f73e60337..b7a06abce 100644
--- a/data/maps/Route110_TrickHousePuzzle8/map.json
+++ b/data/maps/Route110_TrickHousePuzzle8/map.json
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle8_EventScript_291476",
+ "script": "Route110_TrickHousePuzzle8_EventScript_ItemBeadMail",
"flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_8_BEAD_MAIL"
}
],
diff --git a/data/maps/Route111/map.json b/data/maps/Route111/map.json
index ef981272a..ef7e29999 100644
--- a/data/maps/Route111/map.json
+++ b/data/maps/Route111/map.json
@@ -222,7 +222,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_11"
},
{
@@ -235,7 +235,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_12"
},
{
@@ -261,7 +261,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_290D9B",
+ "script": "Route111_EventScript_ItemTM37",
"flag": "FLAG_ITEM_ROUTE_111_TM_37"
},
{
@@ -352,7 +352,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_290DA8",
+ "script": "Route111_EventScript_ItemStardust",
"flag": "FLAG_ITEM_ROUTE_111_STARDUST"
},
{
@@ -365,7 +365,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_290DB5",
+ "script": "Route111_EventScript_ItemHPUp",
"flag": "FLAG_ITEM_ROUTE_111_HP_UP"
},
{
@@ -378,7 +378,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_13"
},
{
@@ -573,7 +573,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_290DC2",
+ "script": "Route111_EventScript_ItemElixir",
"flag": "FLAG_ITEM_ROUTE_111_ELIXIR"
},
{
diff --git a/data/maps/Route111_OldLadysRestStop/scripts.inc b/data/maps/Route111_OldLadysRestStop/scripts.inc
index 9427e8692..017043eae 100644
--- a/data/maps/Route111_OldLadysRestStop/scripts.inc
+++ b/data/maps/Route111_OldLadysRestStop/scripts.inc
@@ -1,8 +1,8 @@
Route111_OldLadysRestStop_MapScripts:: @ 822A916
- map_script MAP_SCRIPT_ON_TRANSITION, Route111_OldLadysRestStop_MapScript1_22A91C
+ map_script MAP_SCRIPT_ON_TRANSITION, Route111_OldLadysRestStop_OnTransition
.byte 0
-Route111_OldLadysRestStop_MapScript1_22A91C: @ 822A91C
+Route111_OldLadysRestStop_OnTransition: @ 822A91C
setflag FLAG_LANDMARK_OLD_LADY_REST_SHOP
end
diff --git a/data/maps/Route112/map.json b/data/maps/Route112/map.json
index 8839cc114..b963c6c48 100644
--- a/data/maps/Route112/map.json
+++ b/data/maps/Route112/map.json
@@ -183,7 +183,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route112_EventScript_290DCF",
+ "script": "Route112_EventScript_ItemNugget",
"flag": "FLAG_ITEM_ROUTE_112_NUGGET"
},
{
diff --git a/data/maps/Route113/map.json b/data/maps/Route113/map.json
index 1ae33fda7..bcff99de4 100644
--- a/data/maps/Route113/map.json
+++ b/data/maps/Route113/map.json
@@ -105,7 +105,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route113_EventScript_290DDC",
+ "script": "Route113_EventScript_ItemMaxEther",
"flag": "FLAG_ITEM_ROUTE_113_MAX_ETHER"
},
{
@@ -118,7 +118,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route113_EventScript_290DE9",
+ "script": "Route113_EventScript_ItemSuperRepel",
"flag": "FLAG_ITEM_ROUTE_113_SUPER_REPEL"
},
{
@@ -183,7 +183,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route113_EventScript_290DF6",
+ "script": "Route113_EventScript_ItemHyperPotion",
"flag": "FLAG_ITEM_ROUTE_113_HYPER_POTION"
},
{
diff --git a/data/maps/Route113_GlassWorkshop/scripts.inc b/data/maps/Route113_GlassWorkshop/scripts.inc
index 46134a3d5..b685389d9 100644
--- a/data/maps/Route113_GlassWorkshop/scripts.inc
+++ b/data/maps/Route113_GlassWorkshop/scripts.inc
@@ -1,8 +1,8 @@
Route113_GlassWorkshop_MapScripts:: @ 826ED03
- map_script MAP_SCRIPT_ON_TRANSITION, Route113_GlassWorkshop_MapScript1_26ED09
+ map_script MAP_SCRIPT_ON_TRANSITION, Route113_GlassWorkshop_OnTransition
.byte 0
-Route113_GlassWorkshop_MapScript1_26ED09: @ 826ED09
+Route113_GlassWorkshop_OnTransition: @ 826ED09
setflag FLAG_LANDMARK_GLASS_WORKSHOP
compare VAR_GLASS_WORKSHOP_STATE, 1
call_if_eq Route113_GlassWorkshop_EventScript_26ED18
diff --git a/data/maps/Route114/map.json b/data/maps/Route114/map.json
index 9d1002910..1aee2d422 100644
--- a/data/maps/Route114/map.json
+++ b/data/maps/Route114/map.json
@@ -139,7 +139,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_EventScript_290E03",
+ "script": "Route114_EventScript_ItemRareCandy",
"flag": "FLAG_ITEM_ROUTE_114_RARE_CANDY"
},
{
@@ -152,7 +152,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_EventScript_290E10",
+ "script": "Route114_EventScript_ItemProtein",
"flag": "FLAG_ITEM_ROUTE_114_PROTEIN"
},
{
@@ -165,7 +165,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_11"
},
{
@@ -256,7 +256,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_12"
},
{
@@ -269,7 +269,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_13"
},
{
@@ -282,7 +282,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_14"
},
{
@@ -295,7 +295,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_15"
},
{
@@ -360,7 +360,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_EventScript_290E1D",
+ "script": "Route114_EventScript_ItemEnergyPowder",
"flag": "FLAG_ITEM_ROUTE_114_ENERGY_POWDER"
},
{
diff --git a/data/maps/Route114_FossilManiacsHouse/scripts.inc b/data/maps/Route114_FossilManiacsHouse/scripts.inc
index c6b63d8da..83fade3e6 100644
--- a/data/maps/Route114_FossilManiacsHouse/scripts.inc
+++ b/data/maps/Route114_FossilManiacsHouse/scripts.inc
@@ -1,8 +1,8 @@
Route114_FossilManiacsHouse_MapScripts:: @ 822AD30
- map_script MAP_SCRIPT_ON_TRANSITION, Route114_FossilManiacsHouse_MapScript1_22AD36
+ map_script MAP_SCRIPT_ON_TRANSITION, Route114_FossilManiacsHouse_OnTransition
.byte 0
-Route114_FossilManiacsHouse_MapScript1_22AD36: @ 822AD36
+Route114_FossilManiacsHouse_OnTransition: @ 822AD36
setflag FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE
end
diff --git a/data/maps/Route114_LanettesHouse/scripts.inc b/data/maps/Route114_LanettesHouse/scripts.inc
index 1cf7ffb47..e24f6ce65 100644
--- a/data/maps/Route114_LanettesHouse/scripts.inc
+++ b/data/maps/Route114_LanettesHouse/scripts.inc
@@ -1,8 +1,8 @@
Route114_LanettesHouse_MapScripts:: @ 822B2C8
- map_script MAP_SCRIPT_ON_TRANSITION, Route114_LanettesHouse_MapScript1_22B2CE
+ map_script MAP_SCRIPT_ON_TRANSITION, Route114_LanettesHouse_OnTransition
.byte 0
-Route114_LanettesHouse_MapScript1_22B2CE: @ 822B2CE
+Route114_LanettesHouse_OnTransition: @ 822B2CE
setflag FLAG_LANDMARK_LANETTES_HOUSE
end
diff --git a/data/maps/Route115/map.json b/data/maps/Route115/map.json
index 1c7603b58..53ce80ce7 100644
--- a/data/maps/Route115/map.json
+++ b/data/maps/Route115/map.json
@@ -152,7 +152,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route115_EventScript_290E2A",
+ "script": "Route115_EventScript_ItemSuperPotion",
"flag": "FLAG_ITEM_ROUTE_115_SUPER_POTION"
},
{
@@ -165,7 +165,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route115_EventScript_290E37",
+ "script": "Route115_EventScript_ItemTM01",
"flag": "FLAG_ITEM_ROUTE_115_TM_01"
},
{
@@ -178,7 +178,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route115_EventScript_290E44",
+ "script": "Route115_EventScript_ItemIron",
"flag": "FLAG_ITEM_ROUTE_115_IRON"
},
{
@@ -217,7 +217,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route115_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_11"
},
{
@@ -230,7 +230,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route115_EventScript_290E51",
+ "script": "Route115_EventScript_ItemGreatBall",
"flag": "FLAG_ITEM_ROUTE_115_GREAT_BALL"
},
{
@@ -308,7 +308,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route115_EventScript_290E6B",
+ "script": "Route115_EventScript_ItemPPUp",
"flag": "FLAG_ITEM_ROUTE_115_PP_UP"
},
{
@@ -321,7 +321,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route115_EventScript_290E5E",
+ "script": "Route115_EventScript_ItemHealPowder",
"flag": "FLAG_ITEM_ROUTE_115_HEAL_POWDER"
}
],
diff --git a/data/maps/Route116/map.json b/data/maps/Route116/map.json
index 27eb381d0..8a369e407 100644
--- a/data/maps/Route116/map.json
+++ b/data/maps/Route116/map.json
@@ -74,7 +74,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_11"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_12"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_290E85",
+ "script": "Route116_EventScript_ItemEther",
"flag": "FLAG_ITEM_ROUTE_116_ETHER"
},
{
@@ -126,7 +126,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_290E92",
+ "script": "Route116_EventScript_ItemRepel",
"flag": "FLAG_ITEM_ROUTE_116_REPEL"
},
{
@@ -178,7 +178,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_13"
},
{
@@ -204,7 +204,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_14"
},
{
@@ -217,7 +217,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_290E9F",
+ "script": "Route116_EventScript_ItemHPUp",
"flag": "FLAG_ITEM_ROUTE_116_HP_UP"
},
{
@@ -282,7 +282,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_290E78",
+ "script": "Route116_EventScript_ItemXSpecial",
"flag": "FLAG_ITEM_ROUTE_116_X_SPECIAL"
},
{
@@ -347,7 +347,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_290EAC",
+ "script": "Route116_EventScript_ItemPotion",
"flag": "FLAG_ITEM_ROUTE_116_POTION"
},
{
@@ -360,7 +360,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_15"
},
{
diff --git a/data/maps/Route116_TunnelersRestHouse/scripts.inc b/data/maps/Route116_TunnelersRestHouse/scripts.inc
index bdd22aadd..e4e943e61 100644
--- a/data/maps/Route116_TunnelersRestHouse/scripts.inc
+++ b/data/maps/Route116_TunnelersRestHouse/scripts.inc
@@ -1,8 +1,8 @@
Route116_TunnelersRestHouse_MapScripts:: @ 822B850
- map_script MAP_SCRIPT_ON_TRANSITION, Route116_TunnelersRestHouse_MapScript1_22B856
+ map_script MAP_SCRIPT_ON_TRANSITION, Route116_TunnelersRestHouse_OnTransition
.byte 0
-Route116_TunnelersRestHouse_MapScript1_22B856: @ 822B856
+Route116_TunnelersRestHouse_OnTransition: @ 822B856
setflag FLAG_LANDMARK_TUNNELERS_REST_HOUSE
end
diff --git a/data/maps/Route117/map.json b/data/maps/Route117/map.json
index c4cb4d5e5..b29b58639 100644
--- a/data/maps/Route117/map.json
+++ b/data/maps/Route117/map.json
@@ -204,7 +204,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route117_EventScript_290EB9",
+ "script": "Route117_EventScript_ItemGreatBall",
"flag": "FLAG_ITEM_ROUTE_117_GREAT_BALL"
},
{
@@ -217,7 +217,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route117_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_11"
},
{
@@ -230,7 +230,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route117_EventScript_290EC6",
+ "script": "Route117_EventScript_ItemRevive",
"flag": "FLAG_ITEM_ROUTE_117_REVIVE"
},
{
diff --git a/data/maps/Route117_PokemonDayCare/scripts.inc b/data/maps/Route117_PokemonDayCare/scripts.inc
index ea9894ffc..898935b26 100644
--- a/data/maps/Route117_PokemonDayCare/scripts.inc
+++ b/data/maps/Route117_PokemonDayCare/scripts.inc
@@ -1,8 +1,8 @@
Route117_PokemonDayCare_MapScripts:: @ 822BBB1
- map_script MAP_SCRIPT_ON_TRANSITION, Route117_PokemonDayCare_MapScript1_22BBB7
+ map_script MAP_SCRIPT_ON_TRANSITION, Route117_PokemonDayCare_OnTransition
.byte 0
-Route117_PokemonDayCare_MapScript1_22BBB7: @ 822BBB7
+Route117_PokemonDayCare_OnTransition: @ 822BBB7
setflag FLAG_LANDMARK_POKEMON_DAYCARE
end
diff --git a/data/maps/Route118/map.json b/data/maps/Route118/map.json
index 7fc1e45c7..e7737bf1e 100644
--- a/data/maps/Route118/map.json
+++ b/data/maps/Route118/map.json
@@ -183,7 +183,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route118_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_11"
},
{
@@ -287,7 +287,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route118_EventScript_290ED3",
+ "script": "Route118_EventScript_ItemHyperPotion",
"flag": "FLAG_ITEM_ROUTE_118_HYPER_POTION"
},
{
diff --git a/data/maps/Route119/map.json b/data/maps/Route119/map.json
index 2146d5ec7..c84ff9db1 100644
--- a/data/maps/Route119/map.json
+++ b/data/maps/Route119/map.json
@@ -243,7 +243,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_290EE0",
+ "script": "Route119_EventScript_ItemSuperRepel",
"flag": "FLAG_ITEM_ROUTE_119_SUPER_REPEL"
},
{
@@ -256,7 +256,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_290EED",
+ "script": "Route119_EventScript_ItemZinc",
"flag": "FLAG_ITEM_ROUTE_119_ZINC"
},
{
@@ -269,7 +269,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_290EFA",
+ "script": "Route119_EventScript_ItemElixir",
"flag": "FLAG_ITEM_ROUTE_119_ELIXIR_1"
},
{
@@ -282,7 +282,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_290F07",
+ "script": "Route119_EventScript_ItemLeafStone",
"flag": "FLAG_ITEM_ROUTE_119_LEAF_STONE"
},
{
@@ -295,7 +295,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_290F14",
+ "script": "Route119_EventScript_ItemRareCandy",
"flag": "FLAG_ITEM_ROUTE_119_RARE_CANDY"
},
{
@@ -308,7 +308,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_290F21",
+ "script": "Route119_EventScript_ItemHyperPotion",
"flag": "FLAG_ITEM_ROUTE_119_HYPER_POTION_1"
},
{
@@ -438,7 +438,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_290F2E",
+ "script": "Route119_EventScript_ItemHyperPotion2",
"flag": "FLAG_ITEM_ROUTE_119_HYPER_POTION_2"
},
{
@@ -555,7 +555,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_291399",
+ "script": "Route119_EventScript_ItemNugget",
"flag": "FLAG_ITEM_ROUTE_119_NUGGET"
},
{
@@ -568,7 +568,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_290F3B",
+ "script": "Route119_EventScript_ItemElixir2",
"flag": "FLAG_ITEM_ROUTE_119_ELIXIR_2"
},
{
diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc
index fa2664d68..e41960fde 100644
--- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc
+++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc
@@ -94,7 +94,7 @@ Route119_WeatherInstitute_2F_EventScript_27004D:: @ 827004D
Route119_WeatherInstitute_2F_EventScript_270085:: @ 8270085
call Route119_WeatherInstitute_2F_EventScript_2700DB
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700EA
call Route119_WeatherInstitute_2F_EventScript_27378B
@@ -104,7 +104,7 @@ Route119_WeatherInstitute_2F_EventScript_270085:: @ 8270085
Route119_WeatherInstitute_2F_EventScript_2700AD:: @ 82700AD
call Route119_WeatherInstitute_2F_EventScript_2700DB
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700D0
call Route119_WeatherInstitute_2F_EventScript_273797
diff --git a/data/maps/Route120/map.json b/data/maps/Route120/map.json
index 63585f86f..fccf5c88e 100644
--- a/data/maps/Route120/map.json
+++ b/data/maps/Route120/map.json
@@ -230,7 +230,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_290F48",
+ "script": "Route120_EventScript_ItemNugget",
"flag": "FLAG_ITEM_ROUTE_120_NUGGET"
},
{
@@ -295,7 +295,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_11"
},
{
@@ -308,7 +308,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_290F55",
+ "script": "Route120_EventScript_ItemFullHeal",
"flag": "FLAG_ITEM_ROUTE_120_FULL_HEAL"
},
{
@@ -386,7 +386,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_290F6F",
+ "script": "Route120_EventScript_ItemNestBall",
"flag": "FLAG_ITEM_ROUTE_120_NEST_BALL"
},
{
@@ -399,7 +399,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_290F62",
+ "script": "Route120_EventScript_ItemHyperPotion",
"flag": "FLAG_ITEM_ROUTE_120_HYPER_POTION"
},
{
@@ -438,7 +438,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_14"
},
{
@@ -451,7 +451,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_12"
},
{
@@ -594,7 +594,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_290F7C",
+ "script": "Route120_EventScript_ItemRevive",
"flag": "FLAG_ITEM_ROUTE_120_REVIVE"
}
],
diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc
index 40c9ee09a..b484b064d 100644
--- a/data/maps/Route120/scripts.inc
+++ b/data/maps/Route120/scripts.inc
@@ -245,10 +245,10 @@ Route120_EventScript_1F572C:: @ 81F572C
waitmovement 0
delay 50
setfieldeffectargument 0, 1
- dofieldeffect 30
+ dofieldeffect FLDEFF_NPCFLY_OUT
delay 15
removeobject 31
- waitfieldeffect 30
+ waitfieldeffect FLDEFF_NPCFLY_OUT
setmetatile 13, 15, 663, 0
setmetatile 12, 16, 671, 0
setmetatile 12, 17, 161, 0
diff --git a/data/maps/Route121/map.json b/data/maps/Route121/map.json
index 4339b149d..9382ab375 100644
--- a/data/maps/Route121/map.json
+++ b/data/maps/Route121/map.json
@@ -222,7 +222,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route121_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_11"
},
{
@@ -235,7 +235,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route121_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_12"
},
{
@@ -300,7 +300,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route121_EventScript_290F89",
+ "script": "Route121_EventScript_ItemCarbos",
"flag": "FLAG_ITEM_ROUTE_121_CARBOS"
},
{
@@ -313,7 +313,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route121_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_13"
},
{
@@ -391,7 +391,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route121_EventScript_290F96",
+ "script": "Route121_EventScript_ItemRevive",
"flag": "FLAG_ITEM_ROUTE_121_REVIVE"
},
{
@@ -404,7 +404,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route121_EventScript_290FA3",
+ "script": "Route121_EventScript_ItemZinc",
"flag": "FLAG_ITEM_ROUTE_121_ZINC"
}
],
diff --git a/data/maps/Route123/map.json b/data/maps/Route123/map.json
index 6562fa7a9..c13d17a0c 100644
--- a/data/maps/Route123/map.json
+++ b/data/maps/Route123/map.json
@@ -256,7 +256,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route123_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_11"
},
{
@@ -269,7 +269,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route123_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_12"
},
{
@@ -282,7 +282,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route123_EventScript_2906BB",
+ "script": "EventScript_CutTree",
"flag": "FLAG_TEMP_13"
},
{
@@ -295,7 +295,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route123_EventScript_290FB0",
+ "script": "Route123_EventScript_ItemCalcium",
"flag": "FLAG_ITEM_ROUTE_123_CALCIUM"
},
{
@@ -438,7 +438,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route123_EventScript_290FBD",
+ "script": "Route123_EventScript_ItemUltraBall",
"flag": "FLAG_ITEM_ROUTE_123_ULTRA_BALL"
},
{
@@ -451,7 +451,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route123_EventScript_290FCA",
+ "script": "Route123_EventScript_ItemElixir",
"flag": "FLAG_ITEM_ROUTE_123_ELIXIR"
},
{
@@ -542,7 +542,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route123_EventScript_290FD7",
+ "script": "Route123_EventScript_ItemPPUp",
"flag": "FLAG_ITEM_ROUTE_123_PP_UP"
},
{
@@ -581,7 +581,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route123_EventScript_290FE4",
+ "script": "Route123_EventScript_ItemRevivalHerb",
"flag": "FLAG_ITEM_ROUTE_123_REVIVAL_HERB"
}
],
diff --git a/data/maps/Route123_BerryMastersHouse/scripts.inc b/data/maps/Route123_BerryMastersHouse/scripts.inc
index 31158782d..939cfed80 100644
--- a/data/maps/Route123_BerryMastersHouse/scripts.inc
+++ b/data/maps/Route123_BerryMastersHouse/scripts.inc
@@ -1,8 +1,8 @@
Route123_BerryMastersHouse_MapScripts:: @ 826F83B
- map_script MAP_SCRIPT_ON_TRANSITION, Route123_BerryMastersHouse_MapScript1_26F841
+ map_script MAP_SCRIPT_ON_TRANSITION, Route123_BerryMastersHouse_OnTransition
.byte 0
-Route123_BerryMastersHouse_MapScript1_26F841: @ 826F841
+Route123_BerryMastersHouse_OnTransition: @ 826F841
setflag FLAG_LANDMARK_BERRY_MASTERS_HOUSE
end
diff --git a/data/maps/Route124/map.json b/data/maps/Route124/map.json
index c1a22a2d0..913208954 100644
--- a/data/maps/Route124/map.json
+++ b/data/maps/Route124/map.json
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route124_EventScript_290FF1",
+ "script": "Route124_EventScript_ItemRedShard",
"flag": "FLAG_ITEM_ROUTE_124_RED_SHARD"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route124_EventScript_290FFE",
+ "script": "Route124_EventScript_ItemBlueShard",
"flag": "FLAG_ITEM_ROUTE_124_BLUE_SHARD"
},
{
@@ -141,7 +141,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route124_EventScript_29100B",
+ "script": "Route124_EventScript_ItemYellowShard",
"flag": "FLAG_ITEM_ROUTE_124_YELLOW_SHARD"
},
{
diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
index 250a5ba51..e1fb3d6f8 100644
--- a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
+++ b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
@@ -1,8 +1,8 @@
Route124_DivingTreasureHuntersHouse_MapScripts:: @ 8270A28
- map_script MAP_SCRIPT_ON_TRANSITION, Route124_DivingTreasureHuntersHouse_MapScript1_270A2E
+ map_script MAP_SCRIPT_ON_TRANSITION, Route124_DivingTreasureHuntersHouse_OnTransition
.byte 0
-Route124_DivingTreasureHuntersHouse_MapScript1_270A2E: @ 8270A2E
+Route124_DivingTreasureHuntersHouse_OnTransition: @ 8270A2E
setflag FLAG_LANDMARK_HUNTERS_HOUSE
end
diff --git a/data/maps/Route125/map.json b/data/maps/Route125/map.json
index 0ce520fdd..27615a521 100644
--- a/data/maps/Route125/map.json
+++ b/data/maps/Route125/map.json
@@ -157,7 +157,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route125_EventScript_291018",
+ "script": "Route125_EventScript_ItemBigPearl",
"flag": "FLAG_ITEM_ROUTE_125_BIG_PEARL"
}
],
diff --git a/data/maps/Route126/map.json b/data/maps/Route126/map.json
index ea63eb80d..b8359bd84 100644
--- a/data/maps/Route126/map.json
+++ b/data/maps/Route126/map.json
@@ -92,7 +92,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route126_EventScript_291025",
+ "script": "Route126_EventScript_ItemGreenShard",
"flag": "FLAG_ITEM_ROUTE_126_GREEN_SHARD"
},
{
diff --git a/data/maps/Route127/map.json b/data/maps/Route127/map.json
index e4a68c3e1..08d39d971 100644
--- a/data/maps/Route127/map.json
+++ b/data/maps/Route127/map.json
@@ -71,7 +71,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route127_EventScript_291032",
+ "script": "Route127_EventScript_ItemZinc",
"flag": "FLAG_ITEM_ROUTE_127_ZINC"
},
{
@@ -84,7 +84,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route127_EventScript_29103F",
+ "script": "Route127_EventScript_ItemCarbos",
"flag": "FLAG_ITEM_ROUTE_127_CARBOS"
},
{
@@ -175,7 +175,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route127_EventScript_29104C",
+ "script": "Route127_EventScript_ItemRareCandy",
"flag": "FLAG_ITEM_ROUTE_127_RARE_CANDY"
}
],
diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc
index 84091ac3a..d06abe297 100644
--- a/data/maps/Route128/scripts.inc
+++ b/data/maps/Route128/scripts.inc
@@ -48,8 +48,8 @@ Route128_EventScript_1F6B57:: @ 81F6B57
removeobject 4
delay 100
setfieldeffectargument 0, 1
- dofieldeffect 30
- waitfieldeffect 30
+ dofieldeffect FLDEFF_NPCFLY_OUT
+ waitfieldeffect FLDEFF_NPCFLY_OUT
addobject 3
applymovement 3, Route128_Movement_1F6C87
waitmovement 0
@@ -69,10 +69,10 @@ Route128_EventScript_1F6B57:: @ 81F6B57
waitmovement 0
delay 50
setfieldeffectargument 0, 1
- dofieldeffect 30
+ dofieldeffect FLDEFF_NPCFLY_OUT
delay 15
removeobject 3
- waitfieldeffect 30
+ waitfieldeffect FLDEFF_NPCFLY_OUT
clearflag FLAG_HIDE_MAP_NAME_POPUP
setvar VAR_ROUTE128_STATE, 2
releaseall
diff --git a/data/maps/Route132/map.json b/data/maps/Route132/map.json
index 15c0de83d..8a7597826 100644
--- a/data/maps/Route132/map.json
+++ b/data/maps/Route132/map.json
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route132_EventScript_291059",
+ "script": "Route132_EventScript_ItemRareCandy",
"flag": "FLAG_ITEM_ROUTE_132_RARE_CANDY"
},
{
@@ -152,7 +152,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route132_EventScript_291066",
+ "script": "Route132_EventScript_ItemProtein",
"flag": "FLAG_ITEM_ROUTE_132_PROTEIN"
}
],
diff --git a/data/maps/Route133/map.json b/data/maps/Route133/map.json
index eed30d7ee..8622515f0 100644
--- a/data/maps/Route133/map.json
+++ b/data/maps/Route133/map.json
@@ -74,7 +74,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route133_EventScript_291073",
+ "script": "Route133_EventScript_ItemBigPearl",
"flag": "FLAG_ITEM_ROUTE_133_BIG_PEARL"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route133_EventScript_291080",
+ "script": "Route133_EventScript_ItemStarPiece",
"flag": "FLAG_ITEM_ROUTE_133_STAR_PIECE"
},
{
@@ -152,7 +152,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route133_EventScript_29108D",
+ "script": "Route133_EventScript_ItemMaxRevive",
"flag": "FLAG_ITEM_ROUTE_133_MAX_REVIVE"
}
],
diff --git a/data/maps/Route134/map.json b/data/maps/Route134/map.json
index 8b3a9518e..e45920576 100644
--- a/data/maps/Route134/map.json
+++ b/data/maps/Route134/map.json
@@ -152,7 +152,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route134_EventScript_29109A",
+ "script": "Route134_EventScript_ItemCarbos",
"flag": "FLAG_ITEM_ROUTE_134_CARBOS"
},
{
@@ -165,7 +165,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route134_EventScript_2910A7",
+ "script": "Route134_EventScript_ItemStarPiece",
"flag": "FLAG_ITEM_ROUTE_134_STAR_PIECE"
}
],
diff --git a/data/maps/RustboroCity/map.json b/data/maps/RustboroCity/map.json
index 04c68baa3..94e22985b 100644
--- a/data/maps/RustboroCity/map.json
+++ b/data/maps/RustboroCity/map.json
@@ -183,7 +183,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_2910DB",
+ "script": "RustboroCity_EventScript_ItemXDefend",
"flag": "FLAG_ITEM_RUSTBORO_CITY_X_DEFEND"
},
{
diff --git a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
index 5c6138c6c..fab587fb7 100644
--- a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
@@ -167,7 +167,7 @@ RustboroCity_DevonCorp_2F_EventScript_211A3E:: @ 8211A3E
RustboroCity_DevonCorp_2F_EventScript_211A6E:: @ 8211A6E
call RustboroCity_DevonCorp_2F_EventScript_211AC4
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211AD7
call RustboroCity_DevonCorp_2F_EventScript_27378B
@@ -177,7 +177,7 @@ RustboroCity_DevonCorp_2F_EventScript_211A6E:: @ 8211A6E
RustboroCity_DevonCorp_2F_EventScript_211A96:: @ 8211A96
call RustboroCity_DevonCorp_2F_EventScript_211AC4
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211AB9
call RustboroCity_DevonCorp_2F_EventScript_273797
@@ -216,7 +216,7 @@ RustboroCity_DevonCorp_2F_EventScript_211AE1:: @ 8211AE1
RustboroCity_DevonCorp_2F_EventScript_211B11:: @ 8211B11
call RustboroCity_DevonCorp_2F_EventScript_211B67
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B7A
call RustboroCity_DevonCorp_2F_EventScript_27378B
@@ -226,7 +226,7 @@ RustboroCity_DevonCorp_2F_EventScript_211B11:: @ 8211B11
RustboroCity_DevonCorp_2F_EventScript_211B39:: @ 8211B39
call RustboroCity_DevonCorp_2F_EventScript_211B67
- msgbox gUnknown_08273374, MSGBOX_YESNO
+ msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B5C
call RustboroCity_DevonCorp_2F_EventScript_273797
diff --git a/data/maps/RusturfTunnel/map.json b/data/maps/RusturfTunnel/map.json
index b873c76c8..bd5c8206d 100644
--- a/data/maps/RusturfTunnel/map.json
+++ b/data/maps/RusturfTunnel/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RusturfTunnel_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RusturfTunnel_EventScript_291136",
+ "script": "RusturfTunnel_EventScript_ItemPokeBall",
"flag": "FLAG_ITEM_RUSTURF_TUNNEL_POKE_BALL"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RusturfTunnel_EventScript_291143",
+ "script": "RusturfTunnel_EventScript_ItemMaxEther",
"flag": "FLAG_ITEM_RUSTURF_TUNNEL_MAX_ETHER"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RusturfTunnel_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2"
},
{
diff --git a/data/maps/SafariZone_North/map.json b/data/maps/SafariZone_North/map.json
index 7c637f0ef..0dafeb180 100644
--- a/data/maps/SafariZone_North/map.json
+++ b/data/maps/SafariZone_North/map.json
@@ -66,7 +66,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_North_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_11"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_North_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_12"
},
{
@@ -92,7 +92,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_North_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_13"
},
{
@@ -105,7 +105,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_North_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_14"
},
{
@@ -118,7 +118,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_North_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_15"
},
{
@@ -131,7 +131,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_North_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_16"
},
{
@@ -144,7 +144,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_North_EventScript_2912C9",
+ "script": "SafariZone_North_EventScript_ItemCalcium",
"flag": "FLAG_ITEM_SAFARI_ZONE_NORTH_CALCIUM"
}
],
diff --git a/data/maps/SafariZone_Northeast/map.json b/data/maps/SafariZone_Northeast/map.json
index 8e3337f53..798563263 100644
--- a/data/maps/SafariZone_Northeast/map.json
+++ b/data/maps/SafariZone_Northeast/map.json
@@ -61,7 +61,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Northeast_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_15"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Northeast_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_13"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Northeast_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_11"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Northeast_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_14"
},
{
@@ -126,7 +126,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Northeast_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_12"
},
{
@@ -139,7 +139,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Northeast_EventScript_2912E3",
+ "script": "SafariZone_Northeast_EventScript_ItemNugget",
"flag": "FLAG_ITEM_SAFARI_ZONE_NORTH_EAST_NUGGET"
}
],
diff --git a/data/maps/SafariZone_Northwest/map.json b/data/maps/SafariZone_Northwest/map.json
index 2d3a1fa49..6ead6d714 100644
--- a/data/maps/SafariZone_Northwest/map.json
+++ b/data/maps/SafariZone_Northwest/map.json
@@ -48,7 +48,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Northwest_EventScript_2912BC",
+ "script": "SafariZone_Northwest_EventScript_ItemTM22",
"flag": "FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_22"
}
],
diff --git a/data/maps/SafariZone_Southeast/map.json b/data/maps/SafariZone_Southeast/map.json
index 3ace62488..cb293b149 100644
--- a/data/maps/SafariZone_Southeast/map.json
+++ b/data/maps/SafariZone_Southeast/map.json
@@ -74,7 +74,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Southeast_EventScript_2912F0",
+ "script": "SafariZone_Southeast_EventScript_ItemBigPearl",
"flag": "FLAG_ITEM_SAFARI_ZONE_SOUTH_EAST_BIG_PEARL"
},
{
diff --git a/data/maps/SafariZone_Southwest/map.json b/data/maps/SafariZone_Southwest/map.json
index 5e383a694..3784db801 100644
--- a/data/maps/SafariZone_Southwest/map.json
+++ b/data/maps/SafariZone_Southwest/map.json
@@ -48,7 +48,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Southwest_EventScript_2912D6",
+ "script": "SafariZone_Southwest_EventScript_ItemMaxRevive",
"flag": "FLAG_ITEM_SAFARI_ZONE_SOUTH_WEST_MAX_REVIVE"
}
],
diff --git a/data/maps/ScorchedSlab/map.json b/data/maps/ScorchedSlab/map.json
index 304ebd676..5abcf9adf 100644
--- a/data/maps/ScorchedSlab/map.json
+++ b/data/maps/ScorchedSlab/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "ScorchedSlab_EventScript_2912AF",
+ "script": "ScorchedSlab_EventScript_ItemTM11",
"flag": "FLAG_ITEM_SCORCHED_SLAB_TM_11"
}
],
diff --git a/data/maps/ScorchedSlab/scripts.inc b/data/maps/ScorchedSlab/scripts.inc
index 62a546780..34ad01330 100644
--- a/data/maps/ScorchedSlab/scripts.inc
+++ b/data/maps/ScorchedSlab/scripts.inc
@@ -1,8 +1,8 @@
ScorchedSlab_MapScripts:: @ 8239291
- map_script MAP_SCRIPT_ON_TRANSITION, ScorchedSlab_MapScript1_239297
+ map_script MAP_SCRIPT_ON_TRANSITION, ScorchedSlab_OnTransition
.byte 0
-ScorchedSlab_MapScript1_239297: @ 8239297
+ScorchedSlab_OnTransition: @ 8239297
setflag FLAG_LANDMARK_SCORCHED_SLAB
end
diff --git a/data/maps/SeafloorCavern_Room1/map.json b/data/maps/SeafloorCavern_Room1/map.json
index bcac09256..88db72b4a 100644
--- a/data/maps/SeafloorCavern_Room1/map.json
+++ b/data/maps/SeafloorCavern_Room1/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room1_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_11"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room1_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_12"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room1_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_13"
},
{
diff --git a/data/maps/SeafloorCavern_Room2/map.json b/data/maps/SeafloorCavern_Room2/map.json
index 3e5d6b127..f402b50d0 100644
--- a/data/maps/SeafloorCavern_Room2/map.json
+++ b/data/maps/SeafloorCavern_Room2/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room2_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_12"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room2_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_13"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room2_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_11"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room2_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_15"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room2_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_16"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room2_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_18"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room2_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_19"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room2_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_17"
}
],
diff --git a/data/maps/SeafloorCavern_Room3/map.json b/data/maps/SeafloorCavern_Room3/map.json
index c7a90b42d..2a33c44cf 100644
--- a/data/maps/SeafloorCavern_Room3/map.json
+++ b/data/maps/SeafloorCavern_Room3/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room3_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_12"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room3_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_14"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room3_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_15"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room3_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_16"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room3_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_17"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room3_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_18"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room3_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_19"
},
{
diff --git a/data/maps/SeafloorCavern_Room5/map.json b/data/maps/SeafloorCavern_Room5/map.json
index 975fc6a98..b9c85c9bf 100644
--- a/data/maps/SeafloorCavern_Room5/map.json
+++ b/data/maps/SeafloorCavern_Room5/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room5_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_11"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room5_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_12"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room5_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_13"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room5_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_15"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room5_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_16"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room5_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_14"
}
],
diff --git a/data/maps/SeafloorCavern_Room8/map.json b/data/maps/SeafloorCavern_Room8/map.json
index 88ea40e3a..c1d3b6cc2 100644
--- a/data/maps/SeafloorCavern_Room8/map.json
+++ b/data/maps/SeafloorCavern_Room8/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room8_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_11"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room8_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_12"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room8_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_13"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room8_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_14"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room8_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_15"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room8_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_16"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room8_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_17"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room8_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_18"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room8_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_19"
},
{
@@ -141,7 +141,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room8_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_1A"
},
{
@@ -154,7 +154,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room8_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_1B"
},
{
@@ -167,7 +167,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room8_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_1C"
}
],
diff --git a/data/maps/SeafloorCavern_Room9/map.json b/data/maps/SeafloorCavern_Room9/map.json
index f4f7fd336..77dcdc169 100644
--- a/data/maps/SeafloorCavern_Room9/map.json
+++ b/data/maps/SeafloorCavern_Room9/map.json
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Room9_EventScript_291401",
+ "script": "SeafloorCavern_Room9_EventScript_ItemTM26",
"flag": "FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_26"
},
{
diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc
index 4c630a1d4..b5e5034e7 100644
--- a/data/maps/SeafloorCavern_Room9/scripts.inc
+++ b/data/maps/SeafloorCavern_Room9/scripts.inc
@@ -40,8 +40,8 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
setfieldeffectargument 0, 16
setfieldeffectargument 1, 42
setfieldeffectargument 2, 0
- dofieldeffect 54
- waitfieldeffect 54
+ dofieldeffect FLDEFF_SPARKLE
+ waitfieldeffect FLDEFF_SPARKLE
closemessage
setvar VAR_RESULT, 0
playfanfare MUS_ME_TAMA
diff --git a/data/maps/SealedChamber_OuterRoom/scripts.inc b/data/maps/SealedChamber_OuterRoom/scripts.inc
index 71e6426fe..30228fda0 100644
--- a/data/maps/SealedChamber_OuterRoom/scripts.inc
+++ b/data/maps/SealedChamber_OuterRoom/scripts.inc
@@ -1,6 +1,6 @@
SealedChamber_OuterRoom_MapScripts:: @ 8239106
map_script MAP_SCRIPT_ON_RESUME, SealedChamber_OuterRoom_MapScript1_239116
- map_script MAP_SCRIPT_ON_TRANSITION, SealedChamber_OuterRoom_MapScript1_239127
+ map_script MAP_SCRIPT_ON_TRANSITION, SealedChamber_OuterRoom_OnTransition
map_script MAP_SCRIPT_ON_LOAD, SealedChamber_OuterRoom_MapScript1_23912B
.byte 0
@@ -9,7 +9,7 @@ SealedChamber_OuterRoom_MapScript1_239116: @ 8239116
setescapewarp MAP_UNDERWATER_SEALED_CHAMBER, 255, 12, 44
end
-SealedChamber_OuterRoom_MapScript1_239127: @ 8239127
+SealedChamber_OuterRoom_OnTransition: @ 8239127
setflag FLAG_LANDMARK_SEALED_CHAMBER
end
diff --git a/data/maps/SecretBase_YellowCave4/scripts.inc b/data/maps/SecretBase_YellowCave4/scripts.inc
index 805d7e299..c4ddb3a9e 100644
--- a/data/maps/SecretBase_YellowCave4/scripts.inc
+++ b/data/maps/SecretBase_YellowCave4/scripts.inc
@@ -11,7 +11,7 @@ SecretBase_RedCave1_MapScript2_23B498: @ 823B498
SecretBase_RedCave1_MapScript1_23B4A2: @ 823B4A2
call SecretBase_RedCave1_EventScript_275CE1
- special sub_80E95D4
+ special SetSecretBaseOwnerGfxId
special sub_80EB1AC
end
diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/map.json b/data/maps/ShoalCave_LowTideEntranceRoom/map.json
index 1ebb9f555..4b5d23110 100644
--- a/data/maps/ShoalCave_LowTideEntranceRoom/map.json
+++ b/data/maps/ShoalCave_LowTideEntranceRoom/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "ShoalCave_LowTideEntranceRoom_EventScript_2913C0",
+ "script": "ShoalCave_LowTideEntranceRoom_EventScript_ItemBigPearl",
"flag": "FLAG_ITEM_SHOAL_CAVE_ENTRANCE_BIG_PEARL"
},
{
diff --git a/data/maps/ShoalCave_LowTideIceRoom/map.json b/data/maps/ShoalCave_LowTideIceRoom/map.json
index dffef7da9..d2f69b51f 100644
--- a/data/maps/ShoalCave_LowTideIceRoom/map.json
+++ b/data/maps/ShoalCave_LowTideIceRoom/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "ShoalCave_LowTideIceRoom_EventScript_2913E7",
+ "script": "ShoalCave_LowTideIceRoom_EventScript_ItemTM07",
"flag": "FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_07"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "ShoalCave_LowTideIceRoom_EventScript_2913F4",
+ "script": "ShoalCave_LowTideIceRoom_EventScript_ItemNeverMeltIce",
"flag": "FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_NEVER_MELT_ICE"
}
],
diff --git a/data/maps/ShoalCave_LowTideInnerRoom/map.json b/data/maps/ShoalCave_LowTideInnerRoom/map.json
index 04e4ec67f..f9eec06c4 100644
--- a/data/maps/ShoalCave_LowTideInnerRoom/map.json
+++ b/data/maps/ShoalCave_LowTideInnerRoom/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "ShoalCave_LowTideInnerRoom_EventScript_2913CD",
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_ItemRareCandy",
"flag": "FLAG_ITEM_SHOAL_CAVE_INNER_ROOM_RARE_CANDY"
}
],
diff --git a/data/maps/ShoalCave_LowTideLowerRoom/map.json b/data/maps/ShoalCave_LowTideLowerRoom/map.json
index 92f0fd11a..fad5ddc00 100644
--- a/data/maps/ShoalCave_LowTideLowerRoom/map.json
+++ b/data/maps/ShoalCave_LowTideLowerRoom/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "ShoalCave_LowTideLowerRoom_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_11"
},
{
diff --git a/data/maps/ShoalCave_LowTideStairsRoom/map.json b/data/maps/ShoalCave_LowTideStairsRoom/map.json
index 239effc74..4da33c163 100644
--- a/data/maps/ShoalCave_LowTideStairsRoom/map.json
+++ b/data/maps/ShoalCave_LowTideStairsRoom/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "ShoalCave_LowTideStairsRoom_EventScript_2913DA",
+ "script": "ShoalCave_LowTideStairsRoom_EventScript_ItemIceHeal",
"flag": "FLAG_ITEM_SHOAL_CAVE_STAIRS_ROOM_ICE_HEAL"
}
],
diff --git a/data/maps/SkyPillar_Entrance/scripts.inc b/data/maps/SkyPillar_Entrance/scripts.inc
index 40d57a485..bc213d376 100644
--- a/data/maps/SkyPillar_Entrance/scripts.inc
+++ b/data/maps/SkyPillar_Entrance/scripts.inc
@@ -1,8 +1,8 @@
SkyPillar_Entrance_MapScripts:: @ 823929E
- map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Entrance_MapScript1_2392A4
+ map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Entrance_OnTransition
.byte 0
-SkyPillar_Entrance_MapScript1_2392A4: @ 82392A4
+SkyPillar_Entrance_OnTransition: @ 82392A4
setflag FLAG_LANDMARK_SKY_PILLAR
end
diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc
index d08b0b554..dccdac1b4 100644
--- a/data/maps/SkyPillar_Top/scripts.inc
+++ b/data/maps/SkyPillar_Top/scripts.inc
@@ -87,7 +87,7 @@ SkyPillar_Top_EventScript_239785:: @ 8239785
removeobject VAR_LAST_TALKED
fadescreenswapbuffers 0
bufferspeciesname 0, VAR_0x8004
- msgbox gUnknown_08273204, MSGBOX_DEFAULT
+ msgbox gText_LegendaryFlewAway, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc
index 1830c3f00..88bcb2e6c 100644
--- a/data/maps/SlateportCity/scripts.inc
+++ b/data/maps/SlateportCity/scripts.inc
@@ -732,11 +732,11 @@ SlateportCity_EventScript_1DD36E:: @ 81DD36E
SlateportCity_EventScript_1DD39A:: @ 81DD39A
setvar VAR_0x8004, 1
- specialvar VAR_RESULT, sub_80246D4
+ specialvar VAR_RESULT, HasEnoughBerryPowder
compare VAR_RESULT, 0
goto_if_eq SlateportCity_EventScript_1DD3C0
msgbox SlateportCity_Text_1DEE40, MSGBOX_DEFAULT
- special sub_80248B0
+ special DisplayBerryPowderVendorMenu
goto SlateportCity_EventScript_1DD3CA
end
@@ -846,7 +846,7 @@ SlateportCity_EventScript_1DD536:: @ 81DD536
SlateportCity_EventScript_1DD54A:: @ 81DD54A
msgbox SlateportCity_Text_1DEFBC, MSGBOX_DEFAULT
- special sub_8024918
+ special RemoveBerryPowderVendorMenu
release
end
@@ -855,26 +855,26 @@ SlateportCity_EventScript_1DD557:: @ 81DD557
compare VAR_RESULT, 0
goto_if_eq SlateportCity_EventScript_1DD3CA
copyvar VAR_0x8004, VAR_0x8009
- specialvar VAR_RESULT, sub_80246D4
+ specialvar VAR_RESULT, HasEnoughBerryPowder
compare VAR_RESULT, 0
goto_if_eq SlateportCity_EventScript_1DD5CE
giveitem_std VAR_0x8008
compare VAR_RESULT, 0
goto_if_eq SlateportCity_EventScript_1DD5C1
copyvar VAR_0x8004, VAR_0x8009
- special sub_802477C
- special sub_802488C
+ special TakeBerryPowder
+ special PrintPlayerBerryPowderAmount
msgbox SlateportCity_Text_1DEEF7, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_if_eq SlateportCity_EventScript_1DD3CA
msgbox SlateportCity_Text_1DEF79, MSGBOX_DEFAULT
- special sub_8024918
+ special RemoveBerryPowderVendorMenu
release
end
SlateportCity_EventScript_1DD5C1:: @ 81DD5C1
msgbox gUnknown_08272A89, MSGBOX_DEFAULT
- special sub_8024918
+ special RemoveBerryPowderVendorMenu
release
end
diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc
index 618ce864a..e3ecfa3db 100644
--- a/data/maps/SouthernIsland_Exterior/scripts.inc
+++ b/data/maps/SouthernIsland_Exterior/scripts.inc
@@ -1,8 +1,8 @@
SouthernIsland_Exterior_MapScripts:: @ 82429C8
- map_script MAP_SCRIPT_ON_TRANSITION, SouthernIsland_Exterior_MapScript1_2429CE
+ map_script MAP_SCRIPT_ON_TRANSITION, SouthernIsland_Exterior_OnTransition
.byte 0
-SouthernIsland_Exterior_MapScript1_2429CE: @ 82429CE
+SouthernIsland_Exterior_OnTransition: @ 82429CE
setflag FLAG_LANDMARK_SOUTHERN_ISLAND
end
diff --git a/data/maps/TrainerHill_Entrance/scripts.inc b/data/maps/TrainerHill_Entrance/scripts.inc
index 63e067a9a..60dc2149a 100644
--- a/data/maps/TrainerHill_Entrance/scripts.inc
+++ b/data/maps/TrainerHill_Entrance/scripts.inc
@@ -1,12 +1,12 @@
TrainerHill_Entrance_MapScripts:: @ 82680AC
map_script MAP_SCRIPT_ON_RESUME, TrainerHill_Entrance_MapScript1_2680D0
map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, TrainerHill_Entrance_MapScript1_26811B
- map_script MAP_SCRIPT_ON_TRANSITION, TrainerHill_Entrance_MapScript1_2680C6
+ map_script MAP_SCRIPT_ON_TRANSITION, TrainerHill_Entrance_OnTransition
map_script MAP_SCRIPT_ON_LOAD, TrainerHill_Entrance_MapScript1_268128
map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Entrance_MapScript2_26813E
.byte 0
-TrainerHill_Entrance_MapScript1_2680C6: @ 82680C6
+TrainerHill_Entrance_OnTransition: @ 82680C6
setflag FLAG_LANDMARK_TRAINER_HILL
getplayerxy VAR_TEMP_D, VAR_RESULT
end
diff --git a/data/maps/Underwater_SeafloorCavern/map.json b/data/maps/Underwater_SeafloorCavern/map.json
index 8e7d2c554..eedec4500 100644
--- a/data/maps/Underwater_SeafloorCavern/map.json
+++ b/data/maps/Underwater_SeafloorCavern/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Underwater_SeafloorCavern_EventScript_2343DC",
+ "script": "Underwater_SeafloorCavern_EventScript_CheckStolenSub",
"flag": "FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Underwater_SeafloorCavern_EventScript_2343DC",
+ "script": "Underwater_SeafloorCavern_EventScript_CheckStolenSub",
"flag": "FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Underwater_SeafloorCavern_EventScript_2343DC",
+ "script": "Underwater_SeafloorCavern_EventScript_CheckStolenSub",
"flag": "FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Underwater_SeafloorCavern_EventScript_2343DC",
+ "script": "Underwater_SeafloorCavern_EventScript_CheckStolenSub",
"flag": "FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE"
}
],
diff --git a/data/maps/Underwater_SeafloorCavern/scripts.inc b/data/maps/Underwater_SeafloorCavern/scripts.inc
index 9dc5b406a..3e7c1e22c 100644
--- a/data/maps/Underwater_SeafloorCavern/scripts.inc
+++ b/data/maps/Underwater_SeafloorCavern/scripts.inc
@@ -1,10 +1,10 @@
Underwater_SeafloorCavern_MapScripts:: @ 823433B
map_script MAP_SCRIPT_ON_RESUME, Underwater_SeafloorCavern_MapScript1_2343D3
- map_script MAP_SCRIPT_ON_TRANSITION, Underwater_SeafloorCavern_MapScript1_23434B
+ map_script MAP_SCRIPT_ON_TRANSITION, Underwater_SeafloorCavern_OnTransition
map_script MAP_SCRIPT_ON_LOAD, Underwater_SeafloorCavern_MapScript1_23435C
.byte 0
-Underwater_SeafloorCavern_MapScript1_23434B: @ 823434B
+Underwater_SeafloorCavern_OnTransition: @ 823434B
setflag FLAG_LANDMARK_SEAFLOOR_CAVERN
goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_234358
end
@@ -36,11 +36,11 @@ Underwater_SeafloorCavern_MapScript1_2343D3: @ 82343D3
setdivewarp MAP_SEAFLOOR_CAVERN_ENTRANCE, 255, 10, 17
end
-Underwater_SeafloorCavern_EventScript_2343DC:: @ 82343DC
- msgbox Underwater_SeafloorCavern_Text_2343E5, MSGBOX_SIGN
+Underwater_SeafloorCavern_EventScript_CheckStolenSub:: @ 82343DC
+ msgbox Underwater_SeafloorCavern_Text_SubExplorer1, MSGBOX_SIGN
end
-Underwater_SeafloorCavern_Text_2343E5: @ 82343E5
+Underwater_SeafloorCavern_Text_SubExplorer1: @ 82343E5
.string "“SUBMARINE EXPLORER 1” is painted\n"
.string "on the hull.\p"
.string "This is the submarine TEAM AQUA\n"
diff --git a/data/maps/VictoryRoad_1F/map.json b/data/maps/VictoryRoad_1F/map.json
index 05eb2b795..8685f3341 100644
--- a/data/maps/VictoryRoad_1F/map.json
+++ b/data/maps/VictoryRoad_1F/map.json
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_1F_EventScript_291483",
+ "script": "VictoryRoad_1F_EventScript_ItemMaxElixir",
"flag": "FLAG_ITEM_VICTORY_ROAD_1F_MAX_ELIXIR"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_1F_EventScript_291490",
+ "script": "VictoryRoad_1F_EventScript_ItemPPUp",
"flag": "FLAG_ITEM_VICTORY_ROAD_1F_PP_UP"
},
{
diff --git a/data/maps/VictoryRoad_B1F/map.json b/data/maps/VictoryRoad_B1F/map.json
index 2fde10090..b8f00f4fb 100644
--- a/data/maps/VictoryRoad_B1F/map.json
+++ b/data/maps/VictoryRoad_B1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_13"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_14"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_11"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_12"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_17"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_16"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_1E"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_19"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_1A"
},
{
@@ -141,7 +141,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_1B"
},
{
@@ -154,7 +154,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_1C"
},
{
@@ -167,7 +167,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_1D"
},
{
@@ -180,7 +180,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2908BA",
+ "script": "EventScript_StrengthBoulder",
"flag": "FLAG_TEMP_1F"
},
{
@@ -232,7 +232,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2907A6",
+ "script": "EventScript_RockSmash",
"flag": "FLAG_TEMP_15"
},
{
@@ -245,7 +245,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_29149D",
+ "script": "VictoryRoad_B1F_EventScript_ItemTM29",
"flag": "FLAG_ITEM_VICTORY_ROAD_B1F_TM_29"
},
{
@@ -258,7 +258,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B1F_EventScript_2914AA",
+ "script": "VictoryRoad_B1F_EventScript_ItemFullRestore",
"flag": "FLAG_ITEM_VICTORY_ROAD_B1F_FULL_RESTORE"
},
{
diff --git a/data/maps/VictoryRoad_B2F/map.json b/data/maps/VictoryRoad_B2F/map.json
index fd9195ed4..de10ef891 100644
--- a/data/maps/VictoryRoad_B2F/map.json
+++ b/data/maps/VictoryRoad_B2F/map.json
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_B2F_EventScript_2914B7",
+ "script": "VictoryRoad_B2F_EventScript_ItemFullHeal",
"flag": "FLAG_ITEM_VICTORY_ROAD_B2F_FULL_HEAL"
},
{
diff --git a/data/mystery_event_msg.s b/data/mystery_event_msg.s
index 24a075181..dd1f8e681 100644
--- a/data/mystery_event_msg.s
+++ b/data/mystery_event_msg.s
@@ -36,7 +36,7 @@ MysteryEventScript_SurfPichu:: @ 8674D3D
setvaddress MysteryEventScript_SurfPichu
checkflag FLAG_MYSTERY_EVENT_DONE
vgoto_if 0, SurfPichu_GiveIfPossible
- gotoram
+ returnram
SurfPichu_GiveIfPossible: @ 8674D4C
specialvar VAR_EVENT_PICHU_SLOT, CalculatePlayerPartyCount
diff --git a/data/pokemon_jump.s b/data/pokemon_jump.s
new file mode 100755
index 000000000..8ef0201e4
--- /dev/null
+++ b/data/pokemon_jump.s
@@ -0,0 +1,698 @@
+#include "constants/species.h"
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gPkmnJumpSpecies:: @ 82FB464
+ .2byte SPECIES_BULBASAUR, 0x0002
+ .2byte SPECIES_CHARMANDER, 0x0001
+ .2byte SPECIES_SQUIRTLE, 0x0000
+ .2byte SPECIES_CATERPIE, 0x0001
+ .2byte SPECIES_METAPOD, 0x0001
+ .2byte SPECIES_WEEDLE, 0x0001
+ .2byte SPECIES_KAKUNA, 0x0001
+ .2byte SPECIES_RATTATA, 0x0001
+ .2byte SPECIES_RATICATE, 0x0001
+ .2byte SPECIES_PIKACHU, 0x0000
+ .2byte SPECIES_SANDSHREW, 0x0000
+ .2byte SPECIES_NIDORAN_F, 0x0000
+ .2byte SPECIES_NIDORAN_M, 0x0000
+ .2byte SPECIES_CLEFAIRY, 0x0000
+ .2byte SPECIES_VULPIX, 0x0000
+ .2byte SPECIES_JIGGLYPUFF, 0x0002
+ .2byte SPECIES_ODDISH, 0x0002
+ .2byte SPECIES_PARAS, 0x0001
+ .2byte SPECIES_MEOWTH, 0x0000
+ .2byte SPECIES_PSYDUCK, 0x0002
+ .2byte SPECIES_MANKEY, 0x0001
+ .2byte SPECIES_GROWLITHE, 0x0001
+ .2byte SPECIES_POLIWAG, 0x0002
+ .2byte SPECIES_BELLSPROUT, 0x0002
+ .2byte SPECIES_SHELLDER, 0x0001
+ .2byte SPECIES_KRABBY, 0x0001
+ .2byte SPECIES_EXEGGCUTE, 0x0002
+ .2byte SPECIES_CUBONE, 0x0000
+ .2byte SPECIES_DITTO, 0x0002
+ .2byte SPECIES_EEVEE, 0x0000
+ .2byte SPECIES_OMANYTE, 0x0001
+ .2byte SPECIES_KABUTO, 0x0001
+ .2byte SPECIES_CHIKORITA, 0x0002
+ .2byte SPECIES_CYNDAQUIL, 0x0001
+ .2byte SPECIES_TOTODILE, 0x0000
+ .2byte SPECIES_SPINARAK, 0x0001
+ .2byte SPECIES_PICHU, 0x0000
+ .2byte SPECIES_CLEFFA, 0x0000
+ .2byte SPECIES_IGGLYBUFF, 0x0002
+ .2byte SPECIES_TOGEPI, 0x0002
+ .2byte SPECIES_MAREEP, 0x0000
+ .2byte SPECIES_BELLOSSOM, 0x0002
+ .2byte SPECIES_MARILL, 0x0002
+ .2byte SPECIES_SUNKERN, 0x0002
+ .2byte SPECIES_WOOPER, 0x0002
+ .2byte SPECIES_PINECO, 0x0002
+ .2byte SPECIES_SNUBBULL, 0x0000
+ .2byte SPECIES_SHUCKLE, 0x0002
+ .2byte SPECIES_TEDDIURSA, 0x0000
+ .2byte SPECIES_SLUGMA, 0x0002
+ .2byte SPECIES_SWINUB, 0x0000
+ .2byte SPECIES_HOUNDOUR, 0x0001
+ .2byte SPECIES_PHANPY, 0x0000
+ .2byte SPECIES_PORYGON2, 0x0000
+ .2byte SPECIES_TYROGUE, 0x0001
+ .2byte SPECIES_SMOOCHUM, 0x0002
+ .2byte SPECIES_ELEKID, 0x0001
+ .2byte SPECIES_MAGBY, 0x0001
+ .2byte SPECIES_LARVITAR, 0x0001
+ .2byte SPECIES_TREECKO, 0x0001
+ .2byte SPECIES_TORCHIC, 0x0002
+ .2byte SPECIES_MUDKIP, 0x0000
+ .2byte SPECIES_MARSHTOMP, 0x0000
+ .2byte SPECIES_POOCHYENA, 0x0001
+ .2byte SPECIES_ZIGZAGOON, 0x0000
+ .2byte SPECIES_LINOONE, 0x0000
+ .2byte SPECIES_WURMPLE, 0x0001
+ .2byte SPECIES_SILCOON, 0x0002
+ .2byte SPECIES_CASCOON, 0x0002
+ .2byte SPECIES_LOTAD, 0x0002
+ .2byte SPECIES_SEEDOT, 0x0001
+ .2byte SPECIES_RALTS, 0x0000
+ .2byte SPECIES_KIRLIA, 0x0000
+ .2byte SPECIES_SURSKIT, 0x0002
+ .2byte SPECIES_SHROOMISH, 0x0002
+ .2byte SPECIES_NINCADA, 0x0001
+ .2byte SPECIES_WHISMUR, 0x0000
+ .2byte SPECIES_AZURILL, 0x0002
+ .2byte SPECIES_SKITTY, 0x0000
+ .2byte SPECIES_SABLEYE, 0x0000
+ .2byte SPECIES_MAWILE, 0x0000
+ .2byte SPECIES_ARON, 0x0001
+ .2byte SPECIES_MEDITITE, 0x0002
+ .2byte SPECIES_ELECTRIKE, 0x0001
+ .2byte SPECIES_PLUSLE, 0x0001
+ .2byte SPECIES_MINUN, 0x0001
+ .2byte SPECIES_VOLBEAT, 0x0000
+ .2byte SPECIES_ILLUMISE, 0x0000
+ .2byte SPECIES_ROSELIA, 0x0002
+ .2byte SPECIES_GULPIN, 0x0002
+ .2byte SPECIES_NUMEL, 0x0002
+ .2byte SPECIES_TORKOAL, 0x0002
+ .2byte SPECIES_SPOINK, 0x0000
+ .2byte SPECIES_TRAPINCH, 0x0002
+ .2byte SPECIES_CACNEA, 0x0002
+ .2byte SPECIES_ANORITH, 0x0001
+ .2byte SPECIES_WYNAUT, 0x0000
+ .2byte SPECIES_SNORUNT, 0x0000
+ .2byte SPECIES_CLAMPERL, 0x0001
+ .2byte SPECIES_BAGON, 0x0001
+
+ .align 2
+gUnknown_082FB5F4:: @ 82FB5F4
+ .4byte sub_802B248
+ .4byte sub_802B2D4
+ .4byte sub_802B368
+ .4byte sub_802B3D4
+ .4byte sub_802B4CC
+ .4byte sub_802B5C8
+ .4byte sub_802B664
+ .4byte sub_802B6B8
+ .4byte sub_802B720
+
+ .align 2
+gUnknown_082FB618:: @ 82FB618
+ .4byte sub_802B29C
+ .4byte sub_802B31C
+ .4byte sub_802B3B4
+ .4byte sub_802B470
+ .4byte sub_802B568
+ .4byte sub_802B628
+ .4byte sub_802B664
+ .4byte sub_802B704
+ .4byte sub_802B720
+
+ .align 2
+gUnknown_082FB63C:: @ 82FB63C
+ .2byte 0x001a, 0x001f, 0x0024, 0x0029, 0x002e, 0x0033, 0x0038, 0x003d
+
+ .align 2
+gUnknown_082FB64C:: @ 82FB64C
+ .2byte 0x0000, 0x0001, 0x0001, 0x0002
+
+ .align 2
+gUnknown_082FB654:: @ 82FB654
+ .2byte 0x005f, 0x0066, 0x00e4, 0x0105
+
+ .align 2
+gUnknown_082FB65C:: @ 82FB65C
+ .byte 0xfd, 0xfa, 0xf8, 0xf6, 0xf3, 0xf1, 0xef, 0xed
+ .byte 0xeb, 0xe9, 0xe7, 0xe5, 0xe4, 0xe3, 0xe2, 0xe2
+ .byte 0xe2, 0xe4, 0xe5, 0xe6, 0xe7, 0xe9, 0xea, 0xec
+ .byte 0xee, 0xef, 0xf1, 0xf3, 0xf5, 0xf8, 0xfa, 0xfc
+ .byte 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0xfd, 0xfa, 0xf7, 0xf5, 0xf2, 0xf0, 0xee, 0xec
+ .byte 0xea, 0xe8, 0xe6, 0xe4, 0xe3, 0xe2, 0xe2, 0xe4
+ .byte 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2, 0xf5
+ .byte 0xf7, 0xfa, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0xfd, 0xfa, 0xf7, 0xf5, 0xf3, 0xf1, 0xef, 0xed
+ .byte 0xeb, 0xe9, 0xe7, 0xe5, 0xe4, 0xe3, 0xe2, 0xe2
+ .byte 0xe2, 0xe2, 0xe3, 0xe3, 0xe4, 0xe4, 0xe5, 0xe5
+ .byte 0xe6, 0xe7, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2
+ .byte 0xf4, 0xf5, 0xf7, 0xfa, 0xfc, 0xff, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .align 2
+gUnknown_082FB6EC:: @ 82FB6EC
+ .4byte 0x00000000, 0x00000000, 0x00000032, 0x00000064
+ .4byte 0x000000c8, 0x000001f4
+
+ .align 2
+gUnknown_082FB704:: @ 82FB704
+ .2byte 0x008a, 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093
+
+ .align 2
+gUnknown_082FB714:: @ 82FB714
+ .4byte 0x00001388, 0x00000001, 0x00001f40, 0x00000002
+ .4byte 0x00002ee0, 0x00000003, 0x00003e80, 0x00000004
+ .4byte 0x00004e20, 0x00000005
+
+ .align 2
+gPkmnJumpPal1:: @ 82FB73C
+ .incbin "graphics/link_games/pkmnjump_pal1.gbapal"
+
+ .align 2
+gPkmnJumpPal2:: @ 82FB75C
+ .incbin "graphics/link_games/pkmnjump_pal2.gbapal"
+
+ .align 2
+gPkmnJumpRopeGfx1:: @ 82FB77C
+ .incbin "graphics/link_games/pkmnjump_rope1.4bpp.lz"
+
+ .align 2
+gPkmnJumpRopeGfx2:: @ 82FB89C
+ .incbin "graphics/link_games/pkmnjump_rope2.4bpp.lz"
+
+ .align 2
+gPkmnJumpRopeGfx3:: @ 82FBA70
+ .incbin "graphics/link_games/pkmnjump_rope3.4bpp.lz"
+
+ .align 2
+gPkmnJumpRopeGfx4:: @ 82FBBA0
+ .incbin "graphics/link_games/pkmnjump_rope4.4bpp.lz"
+
+ .align 2
+gPkmnJumpStarGfx:: @ 82FBC9C
+ .incbin "graphics/link_games/pkmnjump_star.4bpp.lz"
+
+ .align 2
+gUnknown_082FBE08:: @ 82FBE08
+ obj_tiles gPkmnJumpRopeGfx1, 0x0600, 0x0005
+
+ .align 2
+ obj_tiles gPkmnJumpRopeGfx2, 0x0c00, 0x0006
+
+ .align 2
+ obj_tiles gPkmnJumpRopeGfx3, 0x0600, 0x0007
+
+ .align 2
+ obj_tiles gPkmnJumpRopeGfx4, 0x0600, 0x0008
+
+ .align 2
+ obj_tiles gPkmnJumpStarGfx, 0x0200, 0x000a
+
+ .align 2
+gUnknown_082FBE30:: @ 82FBE30
+ obj_pal gPkmnJumpPal1, 0x0005
+
+ .align 2
+ obj_pal gPkmnJumpPal2, 0x0006
+
+ .align 2
+gUnknown_082FBE40:: @ 82FBE40
+ spr_template 0x0000, 0x0000, gUnknown_082FBEC8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+gUnknown_082FBE58:: @ 82FBE58
+ .2byte 0x0060, 0x0060, 0x0060, 0x0072, 0x0078, 0x0078, 0x0078, 0x0072
+ .2byte 0x0060, 0x0060, 0x0046, 0x0050, 0x0060, 0x0072, 0x0078, 0x0080
+ .2byte 0x0078, 0x0072, 0x0060, 0x0050, 0x0032, 0x0048, 0x0060, 0x0072
+ .2byte 0x0080, 0x0088, 0x0080, 0x0072, 0x0060, 0x0048, 0x002a, 0x0048
+ .2byte 0x0060, 0x0072, 0x0080, 0x0088, 0x0080, 0x0072, 0x0060, 0x0048
+
+gUnknown_082FBEA8:: @ 82FBEA8
+ .2byte 0x0010, 0x0028, 0x0048, 0x0068, 0x0088, 0x00a8, 0x00c8, 0x00e0
+
+ .align 2
+gUnknown_082FBEB8:: @ 82FBEB8
+ .4byte gUnknown_082FBF78
+ .4byte gUnknown_082FBF90
+ .4byte gUnknown_082FBFA8
+ .4byte gUnknown_082FBFC0
+
+ .align 2
+gUnknown_082FBEC8:: @ 82FBED0
+ .byte 0x00, 0x00, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
+
+ .align 2
+gUnknown_082FBED0:: @ 82FBED0
+ .byte 0x00, 0x80, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
+
+ .align 2
+gUnknown_082FBED8:: @ 82FBED8
+ .byte 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
+
+ .align 2
+gUnknown_082FBEE0:: @ 82FBEE0
+ .byte 0x00, 0x40, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
+
+ .align 2
+gUnknown_082FBEE8:: @ 82FBEE8
+ .2byte 0x0000, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FBEF0:: @ 82FBEF0
+ .2byte 0x0008, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FBEF8:: @ 82FBEF8
+ .2byte 0x0010, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FBF00:: @ 82FBF00
+ .2byte 0x0018, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FBF08:: @ 82FBF08
+ .2byte 0x0020, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FBF10:: @ 82FBF10
+ .2byte 0x0028, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FBF18:: @ 82FBF18
+ .2byte 0x0000, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FBF20:: @ 82FBF20
+ .2byte 0x0010, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FBF28:: @ 82FBF28
+ .2byte 0x0020, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FBF30:: @ 82FBF30
+ .2byte 0x0030, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FBF38:: @ 82FBF38
+ .2byte 0x0040, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FBF40:: @ 82FBF40
+ .2byte 0x0050, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FBF48:: @ 82FBF48
+ .4byte gUnknown_082FBEE8
+ .4byte gUnknown_082FBEF0
+ .4byte gUnknown_082FBEF8
+ .4byte gUnknown_082FBF00
+ .4byte gUnknown_082FBF08
+ .4byte gUnknown_082FBF10
+
+ .align 2
+gUnknown_082FBF60:: @ 82FBF60
+ .4byte gUnknown_082FBF18
+ .4byte gUnknown_082FBF20
+ .4byte gUnknown_082FBF28
+ .4byte gUnknown_082FBF30
+ .4byte gUnknown_082FBF38
+ .4byte gUnknown_082FBF40
+
+ .align 2
+gUnknown_082FBF78:: @ 82FBF78
+ spr_template 0x0005, 0x0005, gUnknown_082FBED0, gUnknown_082FBF48, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_082FBF90:: @ 82FBF90
+ spr_template 0x0006, 0x0005, gUnknown_082FBED8, gUnknown_082FBF60, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_082FBFA8:: @ 82FBFA8
+ spr_template 0x0007, 0x0005, gUnknown_082FBEE0, gUnknown_082FBF48, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_082FBFC0:: @ 82FBFC0
+ spr_template 0x0008, 0x0005, gUnknown_082FBEE0, gUnknown_082FBF48, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_082FBFD8:: @ 82FBFD8
+ .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00
+
+ .align 2
+gUnknown_082FBFE0:: @ 82FBFE0
+ .2byte 0x0000, 0x0000
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FBFE8:: @ 82FBFE8
+ .2byte 0x0000, 0x0004
+ .2byte 0x0004, 0x0004
+ .2byte 0x0008, 0x0004
+ .2byte 0x000c, 0x0004
+ .2byte 0xfffd, 0x0001
+ .2byte 0x0000, 0x0004
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FC004:: @ 82FC004
+ .4byte gUnknown_082FBFE0
+ .4byte gUnknown_082FBFE8
+
+ .align 2
+gUnknown_082FC00C:: @ 82FC00C
+ spr_template 0x000a, 0x0005, gUnknown_082FBFD8, gUnknown_082FC004, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gPkmnJumpPal3:: @ 82FC024
+ .incbin "graphics/link_games/pkmnjump_pal3.gbapal"
+
+ .align 2
+gPkmnJumpBgPal:: @ 82FC044
+ .incbin "graphics/link_games/pkmnjump_bg.gbapal"
+
+ .align 2
+gPkmnJumpBgGfx:: @ 82FC064
+ .incbin "graphics/link_games/pkmnjump_bg.4bpp.lz"
+
+ .align 2
+gPkmnJumpBgTilemap:: @ 82FC290
+ .incbin "graphics/link_games/pkmnjump_bg.bin.lz"
+
+ .align 2
+gPkmnJumpVenusaurPal:: @ 82FC440
+ .incbin "graphics/link_games/pkmnjump_venusaur.gbapal"
+
+ .align 2
+gPkmnJumpVenusaurGfx:: @ 82FC460
+ .incbin "graphics/link_games/pkmnjump_venusaur.4bpp.lz"
+
+ .align 2
+gPkmnJumpVenusaurTilemap:: @ 82FCDB0
+ .incbin "graphics/link_games/pkmnjump_venusaur.bin.lz"
+
+ .align 2
+gPkmnJumpResultsPal:: @ 82FD168
+ .incbin "graphics/link_games/pkmnjump_results.gbapal"
+
+ .align 2
+gPkmnJumpResultsGfx:: @ 82FD188
+ .incbin "graphics/link_games/pkmnjump_results.4bpp.lz"
+
+ .align 2
+gPkmnJumpResultsTilemap:: @ 82FDC38
+ .incbin "graphics/link_games/pkmnjump_results.bin.lz"
+
+ .align 2
+gUnknown_082FE164:: @ 82FE164 struct BgTemplate
+ .4byte 0x000001b0, 0x000025e6, 0x000016c9, 0x000031df
+
+ .align 2
+gUnknown_082FE174:: @ 82FE174
+ window_template 0x00, 0x13, 0x00, 0x06, 0x02, 0x02, 0x0013
+ window_template 0x00, 0x08, 0x00, 0x06, 0x02, 0x02, 0x001f
+ null_window_template
+
+ .align 2
+gUnknown_082FE18C:: @ 82FE18C
+ .4byte 0x00000000, sub_802D150
+ .4byte 0x00000001, sub_802D2E4
+ .4byte 0x00000002, sub_802D350
+ .4byte 0x00000003, sub_802D3BC
+ .4byte 0x00000004, sub_802D448
+ .4byte 0x00000005, sub_802D4F4
+ .4byte 0x00000006, sub_802D598
+ .4byte 0x00000007, sub_802D5E4
+ .4byte 0x00000009, sub_802D72C
+ .4byte 0x00000008, sub_802D688
+
+ .align 2
+gUnknown_082FE1DC:: @ 82FE1DC
+ .byte 0x00, 0x02, 0x03
+
+gUnknown_082FE1DF:: @ 82FE1DF
+ .byte 0x02, 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00
+ .byte 0x00, 0x02, 0x00, 0x00, 0x00
+
+ .align 2
+gUnknown_082FE1EC:: @ 82FE1EC
+ obj_tiles gUnknown_082FF1F8, 0x0000, 0x0320
+
+ .align 2
+gUnknown_082FE1F4:: @ 82FE1F4
+ obj_pal gUnknown_082FF1D8, 0x0320
+
+ .align 2
+gUnknown_082FE1FC:: @ 82FE1FC
+ .2byte 0x0006, 0x0008, 0x0010, 0x0008
+
+ .align 2
+gUnknown_082FE204:: @ 82FE204
+ .2byte 0x0006, 0x0008, 0x000b, 0x0006, 0x0010, 0x0008
+
+ .align 2
+gUnknown_082FE210:: @ 82FE210
+ .2byte 0x0002, 0x0006, 0x0006, 0x0008, 0x0010, 0x0008, 0x0014, 0x0006
+
+ .align 2
+gUnknown_082FE220:: @ 82FE220
+ .2byte 0x0002, 0x0006, 0x0006, 0x0008, 0x000b, 0x0006
+ .2byte 0x0010, 0x0008, 0x0014, 0x0006
+
+ .align 2
+gUnknown_082FE234:: @ 82FE234
+ .4byte gUnknown_082FE1FC
+ .4byte gUnknown_082FE204
+ .4byte gUnknown_082FE210
+ .4byte gUnknown_082FE220
+
+ .align 2
+gUnknown_082FE244:: @ 82FE244
+ .2byte 0x0058, 0x0098
+
+gUnknown_082FE248:: @ 82FE248
+ .2byte 0x0058, 0x0078, 0x0098
+
+gUnknown_082FE24E:: @ 82FE24E
+ .2byte 0x0038, 0x0058, 0x0098, 0x00b8
+
+gUnknown_082FE256:: @ 82FE256
+ .2byte 0x0038, 0x0058, 0x0078, 0x0098, 0x00b8
+
+ .align 2
+gUnknown_082FE260:: @ 82FE260
+ .4byte gUnknown_082FE244
+ .4byte gUnknown_082FE248
+ .4byte gUnknown_082FE24E
+ .4byte gUnknown_082FE256
+
+ .align 2
+gUnknown_082FE270:: @ 82FE270
+ .4byte 0x1c010100, 0x00010f09
+
+ .align 2
+gUnknown_082FE278:: @ 82FE278
+ .4byte gText_JumpsInARow
+ .4byte gText_BestScore2
+ .4byte gText_ExcellentsInARow
+
+ .align 2
+gPkmnJump321StartPal1:: @ 82FE284
+ .incbin "graphics/link_games/pkmnjump_321start1.gbapal"
+
+ .align 2
+gPkmnJump321StartGfx1:: @ 82FE2A4
+ .incbin "graphics/link_games/pkmnjump_321start1.4bpp.lz"
+
+ .align 2
+gUnknown_082FE6C8:: @ 82FE6C8
+ obj_tiles gPkmnJump321StartGfx1, 0x0c00, 0x2000
+ null_obj_tiles
+
+ .align 2
+gUnknown_082FE6D8:: @ 82FE6D8
+ obj_pal gPkmnJump321StartPal1, 0x2000
+ null_obj_pal
+
+ .align 2
+gUnknown_082FE6E8:: @ 82FE6E8
+ .2byte 0x0000, 0x0000
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FE6F0:: @ 82FE6F0
+ .2byte 0x0010, 0x0000
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FE6F8:: @ 82FE6F8
+ .2byte 0x0020, 0x0000
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FE700:: @ 82FE700
+ .2byte 0x0040, 0x0000
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FE708:: @ 82FE708
+ .2byte 0x0030, 0x0000
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FE710:: @ 82FE710
+ .2byte 0x0050, 0x0000
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FE718:: @ 82FE718
+ .4byte gUnknown_082FE6E8
+ .4byte gUnknown_082FE6F0
+ .4byte gUnknown_082FE6F8
+ .4byte gUnknown_082FE700
+ .4byte gUnknown_082FE708
+ .4byte gUnknown_082FE710
+
+ .align 2
+gUnknown_082FE730:: @ 82FE730
+ spr_template 0x2000, 0x2000, gUnknown_08524914, gUnknown_082FE718, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_082FE748:: @ 82FE748
+ .4byte sub_802E83C
+ .4byte sub_802E8C8
+ .4byte sub_802EA50
+ .4byte sub_802EAB0
+
+ .align 2
+gPkmnJump321StartPal2:: @ 82FE758
+ .incbin "graphics/link_games/pkmnjump_321start2.gbapal"
+
+ .align 2
+gPkmnJump321StartGfx2:: @ 82FE778
+ .incbin "graphics/link_games/pkmnjump_321start2.4bpp.lz"
+
+ .align 2
+gUnknown_082FEBCC:: @ 82FEBCC
+ obj_tiles gPkmnJump321StartGfx2, 0x0e00, 0x0000
+
+ .align 2
+gUnknown_082FEBD4:: @ 82FEBD4
+ obj_pal gPkmnJump321StartPal2, 0x0000
+
+ .align 2
+gUnknown_082FEBDC:: @ 82FEBDC
+ .byte 0x00, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00
+
+ .align 2
+gUnknown_082FEBE4:: @ 82FEBE4
+ .byte 0x00, 0x40, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00
+
+ .align 2
+gUnknown_082FEBEC:: @ 82FEBEC
+ .2byte 0x0000, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FEBF4:: @ 82FEBF4
+ .2byte 0x0010, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FEBFC:: @ 82FEBFC
+ .2byte 0x0020, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FEC04:: @ 82FEC04
+ .4byte gUnknown_082FEBEC
+ .4byte gUnknown_082FEBF4
+ .4byte gUnknown_082FEBFC
+
+ .align 2
+gUnknown_082FEC10:: @ 82FEC10
+ .2byte 0x0030, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FEC18:: @ 82FEC18
+ .2byte 0x0050, 0x0001
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FEC20:: @ 82FEC20
+ .4byte gUnknown_082FEC10
+ .4byte gUnknown_082FEC18
+
+ .align 2
+gUnknown_082FEC28:: @ 82FEC28
+ .2byte 0x0100, 0x0100
+ .2byte 0x0000, 0x0000
+ .2byte 0x7fff, 0x0000
+ .2byte 0x0000, 0x0000
+
+ .align 2
+gUnknown_082FEC38:: @ 82FEC38
+ .2byte 0x0100, 0x0100
+ .2byte 0x0000, 0x0000
+ .2byte 0x0010, 0xfff0
+ .2byte 0x0800, 0x0000
+ .2byte 0x7fff, 0x0000
+ .2byte 0x0000, 0x0000
+
+ .align 2
+gUnknown_082FEC50:: @ 82FEC50
+ .2byte 0xffee, 0x0012
+ .2byte 0x0800, 0x0000
+ .2byte 0x7fff, 0x0000
+ .2byte 0x0000, 0x0000
+
+ .align 2
+gUnknown_082FEC60:: @ 82FEC60
+ .2byte 0x0006, 0xfffa
+ .2byte 0x0800, 0x0000
+ .2byte 0xfffc, 0x0004
+ .2byte 0x0800, 0x0000
+ .2byte 0x0100, 0x0100
+ .2byte 0x0000, 0x0000
+ .2byte 0x7fff, 0x0000
+ .2byte 0x0000, 0x0000
+
+ .align 2
+gUnknown_082FEC80:: @ 82FEC80
+ .4byte gUnknown_082FEC28
+ .4byte gUnknown_082FEC38
+ .4byte gUnknown_082FEC50
+ .4byte gUnknown_082FEC60
+
+gUnknown_082FEC90:: @ 82FEC90
+ spr_template 0x0000, 0x0000, gUnknown_082FEBDC, gUnknown_082FEC04, NULL, gUnknown_082FEC80, SpriteCallbackDummy
+
+gUnknown_082FECA8:: @ 82FECA8
+ spr_template 0x0000, 0x0000, gUnknown_082FEBE4, gUnknown_082FEC20, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
diff --git a/data/rom_8011DC0.s b/data/rom_8011DC0.s
deleted file mode 100644
index f03b036d1..000000000
--- a/data/rom_8011DC0.s
+++ /dev/null
@@ -1,4385 +0,0 @@
-@ the second big chunk of data
-
-#include "constants/species.h"
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-
-gUnknown_082ED82C:: @ 82ED82C
- .byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
- .byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
- .byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
- .byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00
-
-gUnknown_082ED84B:: @ 82ED84B
- .byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
- .byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00
-
-gUnknown_082ED85B:: @ 82ED85B
- .byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
- .byte 0x00, 0x20, 0x00, 0x2a, 0x00
-
-gUnknown_082ED868:: @ 82ED868
- .asciz "NOWSLOT"
-
- .asciz " "
-
- .asciz "CLOCK DRIFT"
-
- .asciz "BUSY SEND "
-
- .asciz "CMD REJECT "
-
- .asciz "CLOCK SLAVE"
-
- .ascii "CHILD "
-
- .align 2
- .ascii "PARENT"
-
- .align 2
- .ascii "SEARCH"
-
- .align 2
-gText_EmptyString:: @ 82ED8C4
- .string "$"
-
- .align 2
-gText_Colon:: @ 82ED8C8
- .string ":$"
-
- .align 2
-gText_UnkCtrlCodeF907:: @ 82ED8CC
- .string "{ID}$"
-
- .align 2
-gText_PleaseStartOver:: @ 82ED8D0
- .string "Please start over from the beginning.$"
-
- .align 2
-gText_WirelessSearchCanceled:: @ 82ED8F8
- .string "The WIRELESS COMMUNICATION\nSYSTEM search has been canceled.$"
-
- .align 2
- .string "Awaiting communication\nfrom another player.$"
-
- .align 2
-gText_AwaitingCommunication:: @ 82ED960
- .string "{STR_VAR_1}! Awaiting\ncommunication from another player.$"
-
-gText_AwaitingLink:: @ 82ED990
- .string "{STR_VAR_1}! Awaiting link!\nPress START when everyone's ready.$"
-
- .align 2
-gJPText_SingleBattle:: @ 82ED9C8
- .string "シングルバトルを かいさいする$" @ "shingurubatoruwo kaisaisuru" ("hold a single battle" in Japanese)
-
- .align 2
-gJPText_DoubleBattle:: @ 82ED9D8
- .string "ダブルバトルを かいさいする$" @ "daburubatoruwo kaisaisuru" ("hold a double battle" in Japanese)
-
- .align 2
-gJPText_MultiBattle:: @ 82ED9E8
- .string "マルチバトルを かいさいする$" @ "maruchibatoruwo kaisaisuru" ("hold a multi battle" in Japanese)
-
- .align 2
-gJPText_TradePokemon:: @ 82ED9F8
- .string "ポケモンこうかんを かいさいする$" @ "pokemonkoukanwo kaisaisuru" ("trade Pokémon" in Japanese)
-
- .align 2
-gJPText_Chat:: @ 82EDA0C
- .string "チャットを かいさいする$" @ "chattowo kaisaisuru" ("chat" in Japanese)
-
- .align 2
-gJPText_DistWonderCard:: @ 82EDA1C
- .string "ふしぎなカードをくばる$" @ "fushiginakaadowokubaru" ("distribute Wonder Card" in Japanese)
-
- .align 2
-gJPText_DistWonderNews:: @ 82EDA28
- .string "ふしぎなニュースをくばる$" @ "fushiginanyuusuwokubaru" ("distribute Wonder News" in Japanese)
-
- .align 2
- .string "ふしぎなできごとを かいさいする$" @ "fushiginadekigotowo kaisaisuru" ("hold a session of Mystery Event" in Japanese)
-
- .align 2
-gJPText_HoldPokemonJump:: @ 82EDA4C
- .string "なわとびを かいさいする$" @ "nawatobiwo kaisaisuru" ("hold a session of Jump" in Japanese)
-
- .align 2
-gJPText_HoldBerryCrush:: @ 82EDA5C
- .string "きのみマッシャーを かいさいする$" @ "kinomimassha-wo kaisaisuru" ("hold a session of Berry Masher" in Japanese)
-
- .align 2
-gJPText_HoldBerryPicking:: @ 82EDA70
- .string "きのみどりを かいさいする$" @ "kinomidoriwo kaisaisuru" ("hold a session of Berry Picking" in Japanese)
-
- .align 2
-gJPText_HoldSpinTrade:: @ 82EDA80
- .string "ぐるぐるこうかんを かいさいする$" @ "gurugurukoukanwo kaisaisuru" ("hold a session of Spin Trade" in Japanese)
-
- .align 2
-gJPText_HoldSpinShop:: @ 82EDA94
- .string "ぐるぐるショップを かいさいする$" @ "gurugurushoppuwo kaisaisuru" ("hold a session of Spin Shop" in Japanese)
-
- .align 2
- .4byte gJPText_SingleBattle
- .4byte gJPText_DoubleBattle
- .4byte gJPText_MultiBattle
- .4byte gJPText_TradePokemon
- .4byte gJPText_Chat
- .4byte gJPText_DistWonderCard
- .4byte gJPText_DistWonderNews
- .4byte gJPText_DistWonderCard
- .4byte gJPText_HoldPokemonJump
- .4byte gJPText_HoldBerryCrush
- .4byte gJPText_HoldBerryPicking
- .4byte gJPText_HoldBerryPicking
- .4byte gJPText_HoldSpinTrade
- .4byte gJPText_HoldSpinShop
-
-gText_1PlayerNeeded:: @ 82EDAE0
- .string "1 player\nneeded.$"
-
-gText_2PlayersNeeded:: @ 82EDAF1
- .string "2 players\nneeded.$"
-
-gText_3PlayersNeeded:: @ 82EDB03
- .string "3 players\nneeded.$"
-
-gText_4PlayersNeeded:: @ 82EDB15
- .string "4 players\nneeded.$"
-
-gText_2PlayerMode:: @ 82EDB27
- .string "2-PLAYER\nMODE$"
-
-gText_3PlayerMode:: @ 82EDB35
- .string "3-PLAYER\nMODE$"
-
-gText_4PlayerMode:: @ 82EDB43
- .string "4-PLAYER\nMODE$"
-
-gText_5PlayerMode:: @ 82EDB51
- .string "5-PLAYER\nMODE$"
-
- .align 2
-gUnknown_082EDB60:: @ 82EDB60
- .4byte gText_1PlayerNeeded
- .4byte gText_2PlayerMode
- .4byte NULL
- .4byte NULL
- .4byte NULL
- .4byte gText_3PlayersNeeded
- .4byte gText_2PlayersNeeded
- .4byte gText_1PlayerNeeded
- .4byte gText_4PlayerMode
- .4byte NULL
- .4byte gText_1PlayerNeeded
- .4byte gText_2PlayerMode
- .4byte gText_3PlayerMode
- .4byte gText_4PlayerMode
- .4byte gText_5PlayerMode
- .4byte gText_2PlayersNeeded
- .4byte gText_1PlayerNeeded
- .4byte gText_3PlayerMode
- .4byte gText_4PlayerMode
- .4byte gText_5PlayerMode
- .4byte gText_1PlayerNeeded
- .4byte gText_2PlayerMode
- .4byte gText_3PlayerMode
- .4byte gText_4PlayerMode
- .4byte NULL
-
- .align 2
-gUnknown_082EDBC4:: @ 82EDBC4
- .string "{B_BUTTON}CANCEL$"
-
- .align 2
- .string "ため\nさんかしゃ ぼしゅうちゅう です!$" @ "tame\nsankasha boshuuchuu desu!"
-
- .align 2
-gUnknown_082EDBE8:: @ 82EDBE8
- .string "{STR_VAR_2} contacted you for\n{STR_VAR_1}. Accept?$"
-
- .align 2
-gUnknown_082EDC0C:: @ 82EDC0C
- .string "{STR_VAR_2} contacted you.\nWill you share {STR_VAR_1}?$"
-
- .align 2
-gUnknown_082EDC34:: @ 82EDC34
- .string "{STR_VAR_2} contacted you.\nAdd to the members?$"
-
- .align 2
-gUnknown_082EDC5C:: @ 82EDC5C
- .string "{STR_VAR_1}!\nAre these members OK?$"
-
- .align 2
-gUnknown_082EDC78:: @ 82EDC78
- .string "Cancel {STR_VAR_1} MODE\nwith these members?$"
-
- .align 2
-gUnknown_082EDC9C:: @ 82EDC9C
- .string "An “OK” was sent\nto {STR_VAR_1}.$"
-
- .align 2
-gUnknown_082EDCB4:: @ 82EDCB4
- .string "The other TRAINER doesn't appear\nto be available now…\p$"
-
- .align 2
-gUnknown_082EDCEC:: @ 82EDCEC
- .string "You can't transmit with a TRAINER\nwho is too far away.\p$"
-
- .align 2
-gUnknown_082EDD24:: @ 82EDD24
- .string "The other TRAINER(S) is/are not\nready yet.\p$"
-
- .align 2
-gUnknown_082EDD50:: @ 82EDD50
- .4byte gUnknown_082EDCEC
- .4byte gUnknown_082EDD24
-
- .align 2
-gUnknown_082EDD58:: @ 82EDD58
- .string "The {STR_VAR_1} MODE with\nthese members will be canceled.{PAUSE 60}$"
-
- .align 2
-gUnknown_082EDD8C:: @ 82EDD8C
- .string "There is a member who can no\nlonger remain available.\p$"
-
- .align 2
-gUnknown_082EDDC4:: @ 82EDDC4
- .4byte gUnknown_082EDCB4
- .4byte gUnknown_082EDD8C
-
- .align 2
-gUnknown_082EDDCC:: @ 82EDDCC
- .string "The other TRAINER appears\nunavailable…\p$"
-
- .align 2
-gUnknown_082EDDF4:: @ 82EDDF4
- .string "{STR_VAR_1} sent back an “OK”!$"
-
- .align 2
-gUnknown_082EDE0C:: @ 82EDE0C
- .string "{STR_VAR_1} OK'd your registration as\na member.$"
-
- .align 2
-gUnknown_082EDE34:: @ 82EDE34
- .string "{STR_VAR_1} replied, “No…”\p$"
-
- .align 2
-gUnknown_082EDE48:: @ 82EDE48
- .string "{STR_VAR_1}!\nAwaiting other members!$"
-
- .align 2
-gUnknown_082EDE64:: @ 82EDE64
- .string "Quit being a member?$"
-
- .align 2
-gUnknown_082EDE7C:: @ 82EDE7C
- .string "You stopped being a member.\p$"
-
- .align 2
-gUnknown_082EDE9C:: @ 82EDE9C
- .4byte NULL
- .4byte gUnknown_082EDD8C
- .4byte gUnknown_082EDDCC
- .4byte NULL
- .4byte NULL
- .4byte NULL
- .4byte gUnknown_082EDE34
- .4byte NULL
- .4byte NULL
- .4byte gUnknown_082EDE7C
-
- .align 2
-gUnknown_082EDEC4:: @ 82EDEC4
- .string "The WIRELESS COMMUNICATION\nSYSTEM link has been established.$"
-
- .align 2
-gUnknown_082EDF04:: @ 82EDF04
- .string "The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…$"
-
- .align 2
-gUnknown_082EDF40:: @ 82EDF40
- .string "The link with your friend has been\ndropped…$"
-
- .align 2
-gUnknown_082EDF6C:: @ 82EDF6C
- .string "{STR_VAR_1} replied, “No…”$"
-
- .align 2
-gUnknown_082EDF80:: @ 82EDF80
- .4byte NULL
- .4byte gUnknown_082EDF40
- .4byte gUnknown_082EDF40
- .4byte NULL
- .4byte NULL
- .4byte NULL
- .4byte gUnknown_082EDF6C
- .4byte NULL
- .4byte NULL
- .4byte NULL
-
- .align 2
-gUnknown_082EDFA8:: @ 82EDF80
- .string "Do you want the {STR_VAR_2}\nMODE?$"
-
- .align 2
-gUnknown_082EDFC4:: @ 82EDFC4
- .string "Do you want the {STR_VAR_2}\nMODE?$"
-
- .align 2
- .4byte gUnknown_082EDFA8
- .4byte gUnknown_082EDFC4
-
- .align 2
- .string "Communicating…\nPlease wait.$"
-
- .align 2
-gUnknown_082EE004:: @ 82EE004
- .string "Awaiting {STR_VAR_1}'s response about\nthe trade…$"
-
- .align 2
-gUnknown_082EE02C:: @ 82EE02C
- .string "Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$"
-
- .align 2
-gUnknown_082EE098:: @ 82EE098
- .string "Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$"
-
- .align 2
-gUnknown_082EE104:: @ 82EE104
- .string "Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$"
-
- .align 2
-gUnknown_082EE17C:: @ 82EE17C
- .4byte gUnknown_082EE02C
- .4byte gUnknown_082EE098
- .4byte gUnknown_082EE104
-
- .align 2
-gUnknown_082EE188:: @ 82EE188
- .string "Hiya! Is there something that you\nwanted to do?$"
-
- .align 2
-gUnknown_082EE1B8:: @ 82EE1B8
- .string "Hello!\nWould you like to do something?$"
-
- .align 2
-gUnknown_082EE1E0:: @ 82EE1E0
- .string "{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?$"
-
- .align 2
-gUnknown_082EE218:: @ 82EE218
- .string "{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?$"
-
- .align 2
-gUnknown_082EE24C:: @ 82EE24C
- .4byte gUnknown_082EE188
- .4byte gUnknown_082EE1B8
- .4byte gUnknown_082EE1E0
- .4byte gUnknown_082EE218
-
- .align 2
-gUnknown_082EE25C:: @ 82EE25C
- .string "Want to do something?$"
-
- .align 2
-gUnknown_082EE274:: @ 82EE274
- .string "Would you like to do something?$"
-
- .align 2
-gUnknown_082EE294:: @ 82EE294
- .string "{STR_VAR_1}: What would you like to\ndo now?$"
-
- .align 2
- .string "{STR_VAR_1}: Want to do anything else?$"
-
- .align 2
- .4byte gUnknown_082EE25C
- .4byte gUnknown_082EE274
- .4byte gUnknown_082EE294
- .4byte gUnknown_082EE294
-
- .align 2
-gUnknown_082EE2E8:: @ 82EE2E8
- .string "Somebody has contacted you.{PAUSE 60}$"
-
- .align 2
-gUnknown_082EE308:: @ 82EE308
- .string "{STR_VAR_1} has contacted you.{PAUSE 60}$"
-
- .align 2
-gUnknown_082EE324:: @ 82EE324
- .4byte gUnknown_082EE2E8
- .4byte gUnknown_082EE308
-
- .align 2
-gUnknown_082EE32C:: @ 82EE32C
- .string "Awaiting a response from\nthe other TRAINER…$"
-
- .align 2
-gUnknown_082EE358:: @ 82EE358
- .string "Awaiting a response from\n{STR_VAR_1}…$"
-
- .align 2
-gUnknown_082EE378:: @ 82EE378
- .4byte gUnknown_082EE32C
- .4byte gUnknown_082EE358
-
- .align 2
-gUnknown_082EE380:: @ 82EE380
- .string "The other TRAINER showed\nyou their TRAINER CARD.\pWould you like to show your\nTRAINER CARD?$"
-
- .align 2
-gUnknown_082EE3DC:: @ 82EE3DC
- .string "The other TRAINER challenges you\nto battle.\pWill you accept the battle\nchallenge?$"
-
- .align 2
-gUnknown_082EE430:: @ 82EE430
- .string "The other TRAINER invites you\nto chat.\pWill you accept the chat\ninvitation?$"
-
- .align 2
-gUnknown_082EE47C:: @ 82EE47C
- .string "There is an offer to trade your\nregistered Lv. {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}\pin exchange for a\nLv. {SPECIAL_F7 0x02} {SPECIAL_F7 0x03}.\pWill you accept this trade\noffer?$"
-
- .align 2
-gUnknown_082EE4F0:: @ 82EE4F0
- .string "There is an offer to trade your\nregistered EGG.\lWill you accept this trade offer?$"
-
- .align 2
-gUnknown_082EE544:: @ 82EE544
- .string "The chat has been dropped.\p$"
-
- .align 2
-gUnknown_082EE560:: @ 82EE560
- .string "You declined the offer.\p$"
-
- .align 2
-gUnknown_082EE57C:: @ 82EE57C
- .string "You declined the offer.\p$"
-
- .align 2
-gUnknown_082EE598:: @ 82EE598
- .string "The chat was ended.\p$"
-
- .align 2
- .4byte gUnknown_082EE380
- .4byte gUnknown_082EE3DC
- .4byte gUnknown_082EE430
- .4byte gUnknown_082EE47C
-
- .align 2
-gUnknown_082EE5C0:: @ 82EE5C0
- .string "Oh, hey! We're in a chat right now.\nWant to join us?$"
-
- .align 2
-gUnknown_082EE5F8:: @ 82EE5F8
- .string "{STR_VAR_1}: Hey, {PLAYER}!\nWe're having a chat right now.\lWant to join us?$"
-
- .align 2
-gUnknown_082EE638:: @ 82EE638
- .string "Oh, hi! We're having a chat now.\nWould you like to join us?$"
-
- .align 2
-gUnknown_082EE674:: @ 82EE674
- .string "{STR_VAR_1}: Oh, hi, {PLAYER}!\nWe're having a chat now.\lWould you like to join us?$"
-
- .align 2
-gUnknown_082EE6B8:: @ 82EE6B8
- .4byte gUnknown_082EE5C0
- .4byte gUnknown_082EE638
- .4byte gUnknown_082EE5F8
- .4byte gUnknown_082EE674
-
- .align 2
-gUnknown_082EE6C8:: @ 82EE6C8
- .string "……\nThe TRAINER appears to be busy…\p$"
-
- .align 2
-gUnknown_082EE6EC:: @ 82EE6EC
- .string "A battle, huh?\nAll right, just give me some time.$"
-
- .align 2
-gUnknown_082EE720:: @ 82EE720
- .string "You want to chat, huh?\nSure, just wait a little.$"
-
- .align 2
-gUnknown_082EE754:: @ 82EE754
- .string "Sure thing! As my “Greetings,”\nhere's my TRAINER CARD.$"
-
- .align 2
-gUnknown_082EE78C:: @ 82EE78C
- .string "A battle? Of course, but I need\ntime to get ready.$"
-
- .align 2
-gUnknown_082EE7C0:: @ 82EE7C0
- .string "Did you want to chat?\nOkay, but please wait a moment.$"
-
- .align 2
-gUnknown_082EE7F8:: @ 82EE7F8
- .string "As my introduction, I'll show you\nmy TRAINER CARD.$"
-
- .align 2
-gUnknown_082EE82C:: @ 82EE82C
- .4byte gUnknown_082EE6EC
- .4byte gUnknown_082EE720
- .4byte NULL
- .4byte gUnknown_082EE754
- .4byte gUnknown_082EE78C
- .4byte gUnknown_082EE7C0
- .4byte NULL
- .4byte gUnknown_082EE7F8
-
- .align 2
- .string "You want to chat, huh?\nSure, just wait a little.$"
-
- .align 2
-gUnknown_082EE880:: @ 82EE880
- .string "Thanks for waiting!\nLet's get our battle started!{PAUSE 60}$"
-
- .align 2
-gUnknown_082EE8B8:: @ 82EE880
- .string "All right!\nLet's chat!{PAUSE 60}$"
-
- .align 2
-gUnknown_082EE8D4:: @ 82EE8D4
- .string "Sorry I made you wait!\nLet's get started!{PAUSE 60}$"
-
- .align 2
-gUnknown_082EE904:: @ 82EE904
- .string "Sorry I made you wait!\nLet's chat.{PAUSE 60}$"
-
- .align 2
-gUnknown_082EE92C:: @ 82EE92C
- .string "The trade will be started.{PAUSE 60}$"
-
- .align 2
-gUnknown_082EE94C:: @ 82EE94C
- .string "The battle will be started.{PAUSE 60}$"
-
- .align 2
-gUnknown_082EE96C:: @ 82EE96C
- .string "Entering the chat…{PAUSE 60}$"
-
- .align 2
-gUnknown_082EE984:: @ 82EE984
- .4byte gUnknown_082EE94C
- .4byte gUnknown_082EE96C
- .4byte gUnknown_082EE92C
- .4byte gUnknown_082EE94C
- .4byte gUnknown_082EE96C
- .4byte gUnknown_082EE92C
- .4byte gUnknown_082EE880
- .4byte gUnknown_082EE8B8
- .4byte gUnknown_082EE92C
- .4byte gUnknown_082EE8D4
- .4byte gUnknown_082EE904
- .4byte gUnknown_082EE92C
-
- .align 2
-gUnknown_082EE9B4:: @ 82EE9B4
- .string "Sorry! My POKéMON don't seem to\nbe feeling too well right now.\lLet me battle you another time.\p$"
-
- .align 2
-gUnknown_082EEA14:: @ 82EEA14
- .string "I'm terribly sorry, but my POKéMON\naren't feeling well…\pLet's battle another time.\p$"
-
- .align 2
-gUnknown_082EEA68:: @ 82EEA68
- .4byte gUnknown_082EE9B4
- .4byte gUnknown_082EEA14
-
- .align 2
-gUnknown_082EEA70:: @ 82EEA70
- .string "Huh? My TRAINER CARD…\nWhere'd it go now?\lSorry! I'll show you another time!\p$"
-
- .align 2
-gUnknown_082EEAC0:: @ 82EEAC0
- .string "Oh? Now where did I put my\nTRAINER CARD?…\lSorry! I'll show you later!\p$"
-
- .align 2
-gUnknown_082EEB08:: @ 82EEB08
- .4byte gUnknown_082EEA70
- .4byte gUnknown_082EEAC0
-
- .align 2
-gUnknown_082EEB10:: @ 82EEB10
- .string "If you want to do something with\nme, just give me a shout!\p$"
-
- .align 2
-gUnknown_082EEB4C:: @ 82EEB4C
- .string "If you want to do something with\nme, don't be shy.\p$"
-
- .align 2
-gUnknown_082EEB80:: @ 82EEB80
- .4byte gUnknown_082EEB10
- .4byte gUnknown_082EEB4C
-
- .align 2
-gUnknown_082EEB88:: @ 82EEB88
- .string "Whoops! Sorry, but I have to do\nsomething else.\lAnother time, okay?\p$"
-
- .align 2
-gUnknown_082EEBD0:: @ 82EEBD0
- .string "If you want to battle, you need\ntwo POKéMON that are below\lLv. 30.\p$"
-
- .align 2
-gUnknown_082EEC14:: @ 82EEC14
- .string "For a battle, you need two\nPOKéMON that are below Lv. 30.\p$"
-
- .align 2
-gUnknown_082EEC50:: @ 82EEC50
- .string "Oh, all right.\nCome see me anytime, okay?\p$"
-
- .align 2
-gUnknown_082EEC7C:: @ 82EEC7C
- .string "Oh…\nPlease come by anytime.\p$"
-
- .align 2
-gUnknown_082EEC9C:: @ 82EEC9C
- .4byte gUnknown_082EEC50
- .4byte gUnknown_082EEC7C
-
- .align 2
-gUnknown_082EECA4:: @ 82EECA4
- .string "Oh, sorry!\nI just can't right this instant.\lLet's chat another time.\p$"
-
- .align 2
-gUnknown_082EECEC:: @ 82EECEC
- .string "Oh, I'm sorry.\nI have too much to do right now.\lLet's chat some other time.\p$"
-
- .align 2
-gUnknown_082EED3C:: @ 82EED3C
- .4byte gUnknown_082EECA4
- .4byte gUnknown_082EECEC
-
- .align 2
-gUnknown_082EED44:: @ 82EED3C
- .string "Whoa!\nI can tell you're pretty tough!\p$"
-
- .align 2
-gUnknown_082EED6C:: @ 82EED6C
- .string "You used that move?\nThat's good strategy!\p$"
-
- .align 2
-gUnknown_082EED98:: @ 82EED98
- .string "Way to go!\nThat was an eye-opener!\p$"
-
- .align 2
-gUnknown_082EEDBC:: @ 82EEDBC
- .string "Oh! How could you use that\nPOKéMON in that situation?\p$"
-
- .align 2
-gUnknown_082EEDF4:: @ 82EEDF4
- .string "That POKéMON…\nIt's been raised really well!\p$"
-
- .align 2
-gUnknown_082EEE24:: @ 82EEE24
- .string "That's it!\nThis is the right move now!\p$"
-
- .align 2
-gUnknown_082EEE4C:: @ 82EEE4C
- .string "That's awesome!\nYou can battle that way?\p$"
-
- .align 2
-gUnknown_082EEE78:: @ 82EEE78
- .string "You have exquisite timing for\nswitching POKéMON!\p$"
-
- .align 2
-gUnknown_082EEEAC:: @ 82EEEAC
- .4byte gUnknown_082EED44
- .4byte gUnknown_082EED6C
- .4byte gUnknown_082EED98
- .4byte gUnknown_082EEDBC
- .4byte gUnknown_082EEDF4
- .4byte gUnknown_082EEE24
- .4byte gUnknown_082EEE4C
- .4byte gUnknown_082EEE78
-
- .align 2
-gUnknown_082EEECC:: @ 82EEECC
- .string "Oh, I see!\nThis is educational!\p$"
-
- .align 2
-gUnknown_082EEEF0:: @ 82EEEF0
- .string "Don't say anything funny anymore!\nI'm sore from laughing!\p$"
-
- .align 2
-gUnknown_082EEF2C:: @ 82EEF2C
- .string "Oh?\nSomething like that happened.\p$"
-
- .align 2
-gUnknown_082EEF50:: @ 82EEF50
- .string "Hmhm… What?\nSo is this what you're saying?\p$"
-
- .align 2
-gUnknown_082EEF7C:: @ 82EEF7C
- .string "Is that right?\nI didn't know that.\p$"
-
- .align 2
-gUnknown_082EEFA0:: @ 82EEFA0
- .string "Ahaha!\nWhat is that about?\p$"
-
- .align 2
-gUnknown_082EEFBC:: @ 82EEFBC
- .string "Yes, that's exactly it!\nThat's what I meant.\p$"
-
- .align 2
-gUnknown_082EEFEC:: @ 82EEFEC
- .string "In other words…\nYes! That's right!\p$"
-
- .align 2
-gUnknown_082EF010:: @ 82EF010
- .4byte gUnknown_082EEECC
- .4byte gUnknown_082EEEF0
- .4byte gUnknown_082EEF2C
- .4byte gUnknown_082EEF50
- .4byte gUnknown_082EEF7C
- .4byte gUnknown_082EEFA0
- .4byte gUnknown_082EEFBC
- .4byte gUnknown_082EEFEC
-
- .align 2
-gUnknown_082EF030:: @ 82EF030
- .string "I'm just showing my TRAINER CARD\nas my way of greeting.\p$"
-
- .align 2
-gUnknown_082EF06C:: @ 82EF06C
- .string "I hope I get to know you better!\p$"
-
- .align 2
-gUnknown_082EF090:: @ 82EF010
- .string "We're showing each other our\nTRAINER CARDS to get acquainted.\p$"
-
- .align 2
-gUnknown_082EF0D0:: @ 82EF0D0
- .string "Glad to meet you.\nPlease don't be a stranger!\p$"
-
- .align 2
-gUnknown_082EF100:: @ 82EF100
- .4byte gUnknown_082EF030
- .4byte gUnknown_082EF06C
- .4byte gUnknown_082EF090
- .4byte gUnknown_082EF0D0
-
- .align 2
-gUnknown_082EF110:: @ 82EF110
- .string "Yeahah!\nI really wanted this POKéMON!\p$"
-
- .align 2
-gUnknown_082EF138:: @ 82EF138
- .string "Finally, a trade got me that\nPOKéMON I'd wanted a long time.\p$"
-
- .align 2
-gUnknown_082EF178:: @ 82EF178
- .string "I'm trading POKéMON right now.\p$"
-
- .align 2
-gUnknown_082EF198:: @ 82EF198
- .string "I finally got that POKéMON I\nwanted in a trade!\p$"
-
- .align 2
-gUnknown_082EF1CC:: @ 82EF1CC
- .4byte gUnknown_082EF110
- .4byte gUnknown_082EF138
- .4byte NULL
- .4byte NULL
- .4byte gUnknown_082EF178
- .4byte gUnknown_082EF198
- .4byte NULL
- .4byte NULL
-
- .align 2
-gUnknown_082EF1EC:: @ 82EF1EC
- .string "{STR_VAR_1} checked the\nTRADING BOARD.\p$"
-
- .align 2
-gUnknown_082EF20C:: @ 82EF20C
- .string "Welcome to the TRADING BOARD.\pYou may register your POKéMON\nand offer it up for a trade.\pWould you like to register one of\nyour POKéMON?$"
-
- .align 2
-gUnknown_082EF298:: @ 82EF298
- .string "This TRADING BOARD is used for\noffering a POKéMON for a trade.\pAll you need to do is register a\nPOKéMON for a trade.\pAnother TRAINER may offer a party\nPOKéMON in return for the trade.\pWe hope you will register POKéMON\nand trade them with many, many\lother TRAINERS.\pWould you like to register one of\nyour POKéMON?$"
-
- .align 2
- .string "We have registered your POKéMON for\ntrade on the TRADING BOARD.\pThank you for using this service!\p$"
-
- .align 2
- .string "Nobody has registered any POKéMON\nfor trade on the TRADING BOARD.\p\n$"
-
- .align 2
-gUnknown_082EF47C:: @ 82EF47C
- .string "Please choose the type of POKéMON\nthat you would like in the trade.\n$"
-
- .align 2
-gUnknown_082EF4C4:: @ 82EF4C4
- .string "Which of your party POKéMON will\nyou offer in trade?\p$"
-
- .align 2
-gUnknown_082EF4FC:: @ 82EF4FC
- .string "Registration has been canceled.\p$"
-
- .align 2
-gUnknown_082EF520:: @ 82EF520
- .string "Registration has been completed.\p$"
-
- .align 2
-gUnknown_082EF544:: @ 82EF544
- .string "The trade has been canceled.\p$"
-
- .align 2
-gUnknown_082EF564:: @ 82EF564
- .string "Cancel the registration of your\nLv. {STR_VAR_2} {STR_VAR_1}?$"
-
- .align 2
-gUnknown_082EF590:: @ 82EF590
- .string "Cancel the registration of your\nEGG?$"
-
- .align 2
-gUnknown_082EF5B8:: @ 82EF5B8
- .string "The registration has been canceled.\p$"
-
- .align 2
- .string "TRAINERS wishing to make a trade\nwill be listed.$"
-
- .align 2
- .string "Please choose the TRAINER with whom\nyou would like to trade POKéMON.$"
-
- .align 2
-gUnknown_082EF65C:: @ 82EF65C
- .string "Would you like to ask {STR_VAR_1} to\nmake a trade?$"
-
- .align 2
- .string "Awaiting a response from\nthe other TRAINER…$"
-
- .align 2
- .string "You have not registered a POKéMON\nfor trading.\p$"
-
- .align 2
-gUnknown_082EF6E4:: @ 82EF6E4
- .string "You don't have a {STR_VAR_2}-type\nPOKéMON that {STR_VAR_1} wants.\p$"
-
- .align 2
-gUnknown_082EF718:: @ 82EF718
- .string "You don't have an EGG that\n{STR_VAR_1} wants.\p$"
-
- .align 2
-gUnknown_082EF740:: @ 82EF740
- .string "{STR_VAR_1} can't make a trade for\nyour POKéMON right now.\p$"
-
- .align 2
-gUnknown_082EF774:: @ 82EF774
- .string "You can't make a trade for\n{STR_VAR_1}'s POKéMON right now.\p$"
-
- .align 2
- .4byte gUnknown_082EF740
- .4byte gUnknown_082EF774
-
- .align 2
-gUnknown_082EF7B0:: @ 82EF7B0
- .string "Your trade offer was rejected.\p$"
-
- .align 2
-gUnknown_082EF7D0:: @ 82EF7D0
- .string "EGG TRADE$"
-
- .align 2
-gUnknown_082EF7DC:: @ 82EF7DC
- .string "{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL$"
-
- .align 2
-gUnknown_082EF7F8:: @ 82EF7F8
- .string "Please choose a TRAINER.$"
-
- .align 2
-gUnknown_082EF814:: @ 82EF814
- .string "Please choose a TRAINER for\na SINGLE BATTLE.$"
-
- .align 2
-gUnknown_082EF844:: @ 82EF844
- .string "Please choose a TRAINER for\na DOUBLE BATTLE.$"
-
- .align 2
-gUnknown_082EF874:: @ 82EF874
- .string "Please choose the LEADER\nfor a MULTI BATTLE.$"
-
- .align 2
-gUnknown_082EF8A4:: @ 82EF8A4
- .string "Please choose the TRAINER to\ntrade with.$"
-
- .align 2
-gUnknown_082EF8D0:: @ 82EF8D0
- .string "Please choose the TRAINER who is\nsharing WONDER CARDS.$"
-
- .align 2
-gUnknown_082EF908:: @ 82EF908
- .string "Please choose the TRAINER who is\nsharing WONDER NEWS.$"
-
- .align 2
-gUnknown_082EF940:: @ 82EF940
- .string "Jump with mini POKéMON!\nPlease choose the LEADER.$"
-
- .align 2
-gUnknown_082EF974:: @ 82EF974
- .string "BERRY CRUSH!\nPlease choose the LEADER.$"
-
- .align 2
-gUnknown_082EF99C:: @ 82EF974
- .string "DODRIO BERRY-PICKING!\nPlease choose the LEADER.$"
-
- .align 2
-gUnknown_082EF9CC:: @ 82EF9CC
- .string "BERRY BLENDER!\nPlease choose the LEADER.$"
-
- .align 2
-gUnknown_082EF9F8:: @ 82EF9F8
- .string "RECORD CORNER!\nPlease choose the LEADER.$"
-
- .align 2
-gUnknown_082EFA24:: @ 82EFA24
- .string "COOLNESS CONTEST!\nPlease choose the LEADER.$"
-
- .align 2
-gUnknown_082EFA50:: @ 82EFA50
- .string "BEAUTY CONTEST!\nPlease choose the LEADER.$"
-
- .align 2
-gUnknown_082EFA7C:: @ 82EFA7C
- .string "CUTENESS CONTEST!\nPlease choose the LEADER.$"
-
- .align 2
-gUnknown_082EFAA8:: @ 82EFAA8
- .string "SMARTNESS CONTEST!\nPlease choose the LEADER.$"
-
- .align 2
-gUnknown_082EFAD8:: @ 82EFAD8
- .string "TOUGHNESS CONTEST!\nPlease choose the LEADER.$"
-
- .align 2
-gUnknown_082EFB08:: @ 82EFB08
- .string "BATTLE TOWER LEVEL 50!\nPlease choose the LEADER.$"
-
- .align 2
-gUnknown_082EFB3C:: @ 82EFB3C
- .string "BATTLE TOWER OPEN LEVEL!\nPlease choose the LEADER.$"
-
- .align 2
-gUnknown_082EFB70:: @ 82EFB70
- .4byte gUnknown_082EF814
- .4byte gUnknown_082EF844
- .4byte gUnknown_082EF874
- .4byte gUnknown_082EF8A4
- .4byte gUnknown_082EF940
- .4byte gUnknown_082EF974
- .4byte gUnknown_082EF99C
- .4byte gUnknown_082EF8D0
- .4byte gUnknown_082EF908
- .4byte NULL
- .4byte NULL
- .4byte NULL
- .4byte gUnknown_082EF9F8
- .4byte gUnknown_082EF9CC
- .4byte NULL
- .4byte gUnknown_082EFA24
- .4byte gUnknown_082EFA50
- .4byte gUnknown_082EFA7C
- .4byte gUnknown_082EFAA8
- .4byte gUnknown_082EFAD8
- .4byte gUnknown_082EFB08
- .4byte gUnknown_082EFB3C
-
- .align 2
-gUnknown_082EFBC8:: @ 82EFBC8
- .string "Searching for a WIRELESS\nCOMMUNICATION SYSTEM. Wait...$"
-
- .align 2
- .string "For a DOUBLE BATTLE, you must have\nat least two POKéMON.\p$"
-
- .align 2
-gUnknown_082EFC3C:: @ 82EFC3C
- .string "Awaiting {STR_VAR_1}'s response…$"
-
- .align 2
-gUnknown_082EFC54:: @ 82EFC54
- .string "{STR_VAR_1} has been asked to register\nyou as a member. Please wait.$"
-
- .align 2
-gUnknown_082EFC90:: @ 82EFC90
- .string "Awaiting a response from the\nWIRELESS COMMUNICATION SYSTEM.$"
-
- .align 2
- .string "Please wait for other TRAINERS to\ngather and get ready.$"
-
- .align 2
-gUnknown_082EFD04:: @ 82EFD04
- .string "No CARDS appear to be shared \nright now.$"
-
- .align 2
-gUnknown_082EFD30:: @ 82EFD30
- .string "No NEWS appears to be shared\nright now.$"
-
- .align 2
-gUnknown_082EFD58:: @ 82EFD58
- .4byte gUnknown_082EFD04
- .4byte gUnknown_082EFD30
-
- .align 2
-gUnknown_082EFD60:: @ 82EFD60
- .string "BATTLE$"
-
- .align 2
-gUnknown_082EFD68:: @ 82EFD68
- .string "CHAT$"
-
- .align 2
-gUnknown_082EFD70:: @ 82EFD70
- .string "GREETINGS$"
-
- .align 2
-gUnknown_082EFD7C:: @ 82EFD7C
- .string "EXIT$"
-
- .align 2
-gUnknown_082EFD84:: @ 82EFD84
- .string "EXIT$"
-
- .align 2
-gUnknown_082EFD8C:: @ 82EFD8C
- .string "INFO$"
-
- .align 2
-gUnknown_082EFD94:: @ 82EFD94
- .string "NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV.$"
-
- .align 2
-gUnknown_082EFDB0:: @ 82EFDB0
- .string "SINGLE BATTLE$"
-
- .align 2
-gUnknown_082EFDC0:: @ 82EFDC0
- .string "DOUBLE BATTLE$"
-
- .align 2
-gUnknown_082EFDD0:: @ 82EFDD0
- .string "MULTI BATTLE$"
-
- .align 2
-gUnknown_082EFDE0:: @ 82EFDE0
- .string "POKéMON TRADES$"
-
- .align 2
-gUnknown_082EFDF0:: @ 82EFDF0
- .string "CHAT$"
-
- .align 2
-gUnknown_082EFDF8:: @ 82EFDF8
- .string "CARDS$"
-
- .align 2
-gUnknown_082EFE00:: @ 82EFE00
- .string "WONDER CARDS$"
-
- .align 2
-gUnknown_082EFE10:: @ 82EFE10
- .string "WONDER NEWS$"
-
- .align 2
-gUnknown_082EFE1C:: @ 82EFE1C
- .string "POKéMON JUMP$"
-
- .align 2
-gUnknown_082EFE2C:: @ 82EFE2C
- .string "BERRY CRUSH$"
-
- .align 2
-gUnknown_082EFE38:: @ 82EFE38
- .string "BERRY-PICKING$"
-
- .align 2
-gUnknown_082EFE48:: @ 82EFE48
- .string "SEARCH$"
-
- .align 2
-gUnknown_082EFE50:: @ 82EFE50
- .string "BERRY BLENDER$"
-
- .align 2
-gUnknown_082EFE60:: @ 82EFE60
- .string "RECORD CORNER$"
-
- .align 2
-gUnknown_082EFE70:: @ 82EFE70
- .string "COOL CONTEST$"
-
- .align 2
-gUnknown_082EFE80:: @ 82EFE80
- .string "BEAUTY CONTEST$"
-
- .align 2
-gUnknown_082EFE90:: @ 82EFE90
- .string "CUTE CONTEST$"
-
- .align 2
-gUnknown_082EFEA0:: @ 82EFEA0
- .string "SMART CONTEST$"
-
- .align 2
-gUnknown_082EFEB0:: @ 82EFEB0
- .string "TOUGH CONTEST$"
-
- .align 2
-gUnknown_082EFEC0:: @ 82EFEC0
- .string "BATTLE TOWER LV. 50$"
-
- .align 2
-gUnknown_082EFED4:: @ 82EFED4
- .string "BATTLE TOWER OPEN LEVEL$"
-
- .align 2
-gUnknown_082EFEEC:: @ 82EFEEC
- .string "It's a NORMAL CARD.$"
-
- .align 2
-gUnknown_082EFF00:: @ 82EFF00
- .string "It's a BRONZE CARD!$"
-
- .align 2
-gUnknown_082EFF14:: @ 82EFF14
- .string "It's a COPPER CARD!$"
-
- .align 2
-gUnknown_082EFF28:: @ 82EFF28
- .string "It's a SILVER CARD!$"
-
- .align 2
-gUnknown_082EFF3C:: @ 82EFF3C
- .string "It's a GOLD CARD!$"
-
- .align 2
-gUnknown_082EFF50:: @ 82EFF50
- .4byte gUnknown_082EFEEC
- .4byte gUnknown_082EFF00
- .4byte gUnknown_082EFF14
- .4byte gUnknown_082EFF28
- .4byte gUnknown_082EFF3C
-
-gUnknown_082EFF64:: @ 82EFF64
- .string "This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p$"
-
- .align 2
-gUnknown_082EFFA4:: @ 82EFFA4
- .string "BATTLES: WINS: {SPECIAL_F7 0x00} LOSSES: {SPECIAL_F7 0x02}\nTRADES: {SPECIAL_F7 0x03}\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p$"
-
- .align 2
-gUnknown_082EFFDC:: @ 82EFFDC
- .string "{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}$"
-
- .align 2
-gUnknown_082EFFFC:: @ 82EFFFC
- .string "{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}$"
-
- .align 2
-gUnknown_082F0018:: @ 82F0018
- .4byte gUnknown_082EFFDC
- .4byte gUnknown_082EFFFC
-
- .align 2
-gUnknown_082F0020:: @ 82F0020
- .string "Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}$"
-
- .align 2
-gUnknown_082F0048:: @ 82F0048
- .4byte gText_EmptyString
- .4byte gUnknown_082EFDB0
- .4byte gUnknown_082EFDC0
- .4byte gUnknown_082EFDD0
- .4byte gUnknown_082EFDE0
- .4byte gUnknown_082EFDF0
- .4byte gUnknown_082EFE00
- .4byte gUnknown_082EFE10
- .4byte gUnknown_082EFDF8
- .4byte gUnknown_082EFE1C
- .4byte gUnknown_082EFE2C
- .4byte gUnknown_082EFE38
- .4byte gUnknown_082EFE48
- .4byte gText_EmptyString
- .4byte gUnknown_082EFED4
- .4byte gUnknown_082EFE60
- .4byte gUnknown_082EFE50
- .4byte gText_EmptyString
- .4byte gText_EmptyString
- .4byte gText_EmptyString
- .4byte gText_EmptyString
- .4byte gUnknown_082EFE00
- .4byte gUnknown_082EFE10
- .4byte gUnknown_082EFE70
- .4byte gUnknown_082EFE80
- .4byte gUnknown_082EFE90
- .4byte gUnknown_082EFEA0
- .4byte gUnknown_082EFEB0
- .4byte gUnknown_082EFEC0
-
- .align 2
-gUnknown_082F00BC:: @ 82F00BC
- window_template 0x00, 0x00, 0x00, 0x1E, 0x02, 0x0F, 0x0008
-
- .align 2
-gUnknown_082F00C4:: @ 82F00C4
- .byte 0x01, 0x02, 0x00, 0x00
- .byte 0x02, 0x02, 0x00, 0x00
- .byte 0x03, 0x04, 0x00, 0x00
- .byte 0x04, 0x02, 0x00, 0x00
- .byte 0x09, 0x25, 0x00, 0x00
- .byte 0x0a, 0x25, 0x00, 0x00
- .byte 0x0b, 0x35, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x0f, 0x24, 0x00, 0x00
- .byte 0x10, 0x24, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x17, 0x24, 0x00, 0x00
- .byte 0x18, 0x24, 0x00, 0x00
- .byte 0x19, 0x24, 0x00, 0x00
- .byte 0x1a, 0x24, 0x00, 0x00
- .byte 0x1b, 0x24, 0x00, 0x00
- .byte 0x1c, 0x02, 0x00, 0x00
- .byte 0x0e, 0x02, 0x00, 0x00
-
- .align 2
-gUnknown_082F011C:: @ 82F011C
- window_template 0x00, 0x01, 0x03, 0x0d, 0x08, 0x0f, 0x0044
-
- .align 2
-gUnknown_082F0124:: @ 82F0124
- window_template 0x00, 0x01, 0x03, 0x0d, 0x0a, 0x0f, 0x0044
-
- .align 2
-gUnknown_082F012C:: @ 82F012C
- window_template 0x00, 0x10, 0x03, 0x07, 0x04, 0x0f, 0x00c6
-
- .align 2
-gUnknown_082F0134:: @ 82F0134
- .4byte gText_EmptyString
- .4byte 0x00000000
- .4byte gText_EmptyString
- .4byte 0x00000001
- .4byte gText_EmptyString
- .4byte 0x00000002
- .4byte gText_EmptyString
- .4byte 0x00000003
- .4byte gText_EmptyString
- .4byte 0x00000004
-
- .align 2
-gUnknown_082F015C:: @ 82F015C struct ListMenuTemplate
- .4byte gUnknown_082F0134
- .4byte NULL
- .4byte sub_8013278
- .byte 0x05, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x21, 0x31, 0x00, 0x41
-
- .align 2
-gUnknown_082F0174:: @ 82F0174
- window_template 0x00, 0x01, 0x03, 0x11, 0x0a, 0x0f, 0x0044
-
- .align 2
-gUnknown_082F017C:: @ 82F017C
- window_template 0x00, 0x14, 0x03, 0x07, 0x04, 0x0f, 0x00ee
-
- .align 2
-gUnknown_082F0184:: @ 82F0184
- .4byte gText_EmptyString, 0x00000000
- .4byte gText_EmptyString, 0x00000001
- .4byte gText_EmptyString, 0x00000002
- .4byte gText_EmptyString, 0x00000003
- .4byte gText_EmptyString, 0x00000004
- .4byte gText_EmptyString, 0x00000005
- .4byte gText_EmptyString, 0x00000006
- .4byte gText_EmptyString, 0x00000007
- .4byte gText_EmptyString, 0x00000008
- .4byte gText_EmptyString, 0x00000009
- .4byte gText_EmptyString, 0x0000000a
- .4byte gText_EmptyString, 0x0000000b
- .4byte gText_EmptyString, 0x0000000c
- .4byte gText_EmptyString, 0x0000000d
- .4byte gText_EmptyString, 0x0000000e
- .4byte gText_EmptyString, 0x0000000f
-
- .align 2
-gUnknown_082F0204:: @ 82F0204 struct ListMenuTemplate
- .4byte gUnknown_082F0184
- .4byte ListMenuDefaultCursorMoveFunc
- .4byte sub_8013DF4
- .byte 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00
- .byte 0x21, 0x31, 0x40, 0x01
-
- .align 2
-gUnknown_082F021C:: @ 82F021C
- window_template 0x00, 0x14, 0x05, 0x10, 0x08, 0x0f, 0x0001
-
- .align 2
-gUnknown_082F0224:: @ 82F0224
- .4byte gUnknown_082EFD70, 0x00000208
- .4byte gUnknown_082EFD60, 0x00000241
- .4byte gUnknown_082EFD68, 0x00000245
- .4byte gUnknown_082EFD7C, 0x00000040
-
- .align 2
-gUnknown_082F0244:: @ 82F0244 struct ListMenuTemplate
- .4byte gUnknown_082F0224
- .byte 0x79, 0xf0, 0x1a, 0x08
- .4byte NULL
- .byte 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00
- .byte 0x21, 0x31, 0x00, 0x01
-
- .align 2
-gUnknown_082F025C:: @ 82F025C
- window_template 0x00, 0x12, 0x07, 0x10, 0x06, 0x0f, 0x0001
-
-gUnknown_082F0264:: @ 82F0264
- .4byte gText_Register, 0x00000001
- .4byte gUnknown_082EFD8C, 0x00000002
- .4byte gUnknown_082EFD7C, 0x00000003
-
- .align 2
-gUnknown_082F027C:: @ 82F027C
- .4byte gUnknown_082F0264
- .4byte ListMenuDefaultCursorMoveFunc
- .4byte NULL
- .byte 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00
- .byte 0x21, 0x31, 0x00, 0x01
-
- .align 2
-gUnknown_082F0294:: @ 82F0294
- window_template 0x00, 0x14, 0x01, 0x10, 0x0c, 0x0f, 0x0001
-
- .align 2
-gUnknown_082F029C:: @ 82F029C
- .4byte gTypeNames, 0x00000000 @ NORMAL
- .4byte gTypeNames+0x46, 0x0000000a @ FIRE
- .4byte gTypeNames+0x4D, 0x0000000b @ WATER
- .4byte gTypeNames+0x5B, 0x0000000d @ ELECTR
- .4byte gTypeNames+0x54, 0x0000000c @ GRASS
- .4byte gTypeNames+0x69, 0x0000000f @ ICE
- .4byte gTypeNames+0x1C, 0x00000004 @ GROUND
- .4byte gTypeNames+0x23, 0x00000005 @ ROCK
- .4byte gTypeNames+0x0E, 0x00000002 @ FLYING
- .4byte gTypeNames+0x62, 0x0000000e @ PSYCHC
- .4byte gTypeNames+0x07, 0x00000001 @ FIGHT
- .4byte gTypeNames+0x15, 0x00000003 @ POISON
- .4byte gTypeNames+0x2A, 0x00000006 @ BUG
- .4byte gTypeNames+0x31, 0x00000007 @ GHOST
- .4byte gTypeNames+0x70, 0x00000010 @ DRAGON
- .4byte gTypeNames+0x38, 0x00000008 @ STEEL
- .4byte gTypeNames+0x77, 0x00000011 @ DARK
- .4byte gUnknown_082EFD7C, 0x00000012 @ EXIT
-
- .align 2
-gUnknown_082F032C:: @ 82F032C
- .4byte gUnknown_082F029C
- .4byte ListMenuDefaultCursorMoveFunc
- .4byte NULL
- .byte 0x12, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00
- .byte 0x21, 0x31, 0x00, 0x01
-
- .align 2
-gUnknown_082F0344:: @ 82F0344
- window_template 0x00, 0x01, 0x01, 0x1c, 0x02, 0x0d, 0x0001
-
- .align 2
-gUnknown_082F034C:: @ 82F034C
- window_template 0x00, 0x01, 0x05, 0x1c, 0x0c, 0x0d, 0x0039
-
- .align 2
-gUnknown_082F0354:: @ 82F0354
- .4byte gText_EmptyString, 0xfffffffd
- .4byte gText_EmptyString, 0x00000000
- .4byte gText_EmptyString, 0x00000001
- .4byte gText_EmptyString, 0x00000002
- .4byte gText_EmptyString, 0x00000003
- .4byte gText_EmptyString, 0x00000004
- .4byte gText_EmptyString, 0x00000005
- .4byte gText_EmptyString, 0x00000006
- .4byte gText_EmptyString, 0x00000007
- .4byte gUnknown_082EFD84, 0x00000008
-
- .align 2
-gUnknown_082F03A4:: @ 82F03A4
- .4byte gUnknown_082F0354
- .4byte ListMenuDefaultCursorMoveFunc
- .4byte sub_8017BE8
- .byte 0x0a, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00
- .byte 0xe1, 0xdf, 0x00, 0x01
-
- .align 2
- window_template 0x00, 0x01, 0x05, 0x1c, 0x0c, 0x0d, 0x0039
-
- .align 2
-gUnknown_082F03C4:: @ 82F03C4
- .4byte gText_EmptyString, 0x00000000
- .4byte gText_EmptyString, 0x00000001
- .4byte gText_EmptyString, 0x00000002
- .4byte gText_EmptyString, 0x00000003
- .4byte gText_EmptyString, 0x00000004
- .4byte gText_EmptyString, 0x00000005
- .4byte gText_EmptyString, 0x00000006
- .4byte gText_EmptyString, 0x00000007
- .4byte gText_EmptyString, 0x00000008
- .4byte gText_EmptyString, 0x00000009
- .4byte gText_EmptyString, 0x0000000a
- .4byte gText_EmptyString, 0x0000000b
- .4byte gText_EmptyString, 0x0000000c
- .4byte gText_EmptyString, 0x0000000d
- .4byte gText_EmptyString, 0x0000000e
- .4byte gText_EmptyString, 0x0000000f
-
- .align 2
- .4byte gUnknown_082F03C4
- .4byte ListMenuDefaultCursorMoveFunc
- .4byte nullsub_14
- .byte 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00
- .byte 0x21, 0x31, 0x40, 0x01
-
- .align 2
-gUnknown_082F045C:: @ 82F045C
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F0474:: @ 82F0474
- .byte 0x01, 0xff
-
- .align 2
-gUnknown_082F0478:: @ 82F0478
- .byte 0x02, 0xff
-
- .align 2
-gUnknown_082F047C:: @ 82F047C
- .byte 0x03, 0xff
-
- .align 2
-gUnknown_082F0480:: @ 82F0480
- .byte 0x04, 0xff
-
- .align 2
-gUnknown_082F0484:: @ 82F0484
- .byte 0x09, 0xff
-
- .align 2
-gUnknown_082F0488:: @ 82F0488
- .byte 0x0a, 0xff
-
- .align 2
-gUnknown_082F048C:: @ 82F048C
- .byte 0x0b, 0xff
-
- .align 2
-gUnknown_082F0490:: @ 82F0490
- .byte 0x15, 0xff
-
- .align 2
-gUnknown_082F0494:: @ 82F0494
- .byte 0x16, 0xff
-
- .align 2
-gUnknown_082F0498:: @ 82F0498
- .byte 0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xff
-
- .align 2
-gUnknown_082F04A4:: @ 82F04A4
- .byte 0x0c, 0xff
-
- .align 2
-gUnknown_082F04A8:: @ 82F04A8
- .byte 0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15, 0x16, 0x0d, 0xff
-
- .align 2
-gUnknown_082F04B4:: @ 82F04B4
- .byte 0x0f, 0xff
-
- .align 2
-gUnknown_082F04B8:: @ 82F04B8
- .byte 0x10, 0xff
-
- .align 2
-gUnknown_082F04BC:: @ 82F04BC
- .byte 0x17, 0xff
-
- .align 2
-gUnknown_082F04C0:: @ 82F04C0
- .byte 0x18, 0xff
-
- .align 2
-gUnknown_082F04C4:: @ 82F04C4
- .byte 0x19, 0xff
-
- .align 2
-gUnknown_082F04C8:: @ 82F04C8
- .byte 0x1a, 0xff
-
- .align 2
-gUnknown_082F04CC:: @ 82F04CC
- .byte 0x1b, 0xff
-
- .align 2
-gUnknown_082F04D0:: @ 82F04D0
- .byte 0x1c, 0xff
-
- .align 2
-gUnknown_082F04D4:: @ 82F04D4
- .byte 0x0e, 0xff
-
- .align 2
-gUnknown_082F04D8:: @ 82F04D8
- .4byte gUnknown_082F0474
- .4byte gUnknown_082F0478
- .4byte gUnknown_082F047C
- .4byte gUnknown_082F0480
- .4byte gUnknown_082F0484
- .4byte gUnknown_082F0488
- .4byte gUnknown_082F048C
- .4byte gUnknown_082F0490
- .4byte gUnknown_082F0494
- .4byte gUnknown_082F0498
- .4byte gUnknown_082F04A4
- .4byte gUnknown_082F04A8
- .4byte gUnknown_082F04B4
- .4byte gUnknown_082F04B8
- .4byte NULL
- .4byte gUnknown_082F04BC
- .4byte gUnknown_082F04C0
- .4byte gUnknown_082F04C4
- .4byte gUnknown_082F04C8
- .4byte gUnknown_082F04CC
- .4byte gUnknown_082F04D0
- .4byte gUnknown_082F04D4
-
- .align 2
-gUnknown_082F0530:: @ 82F0530
- .byte 0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15
- .byte 0x16, 0x00, 0x00, 0x00, 0x0f, 0x10, 0x00, 0x17
- .byte 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x0e, 0x00, 0x00
-
- .align 2
-gUnkTextboxBorderPal:: @ 82F0548
- .incbin "graphics/interface/unk_textbox_border.gbapal"
-
- .align 2
-gUnkTextboxBorderGfx:: @ 82F0568
- .incbin "graphics/interface/unk_textbox_border.4bpp.lz"
-
- .align 2
-gUnknown_082F0598:: @ 82F0598 struct BgTemplate
- .4byte 0x000000f8
- .4byte 0x000010e1
- .4byte 0x000020d2
- .4byte 0x000030c3
-
- .align 2
-gUnknown_082F05A8:: @ 82F05A8
- window_template 0x00, 0x00, 0x00, 0x1e, 0x02, 0x0c, 0x0013
- window_template 0x00, 0x01, 0x0f, 0x1c, 0x04, 0x0c, 0x004f
- window_template 0x00, 0x00, 0x0f, 0x1e, 0x05, 0x0d, 0x004f
- null_window_template
-
- .align 2
-gUnknown_082F05C8:: @ 82F05C8
- window_template 0x00, 0x01, 0x0f, 0x1c, 0x04, 0x0c, 0x00e5
-
- .align 2
-gUnknown_082F05D0:: @ 82F05D0
- window_template 0x00, 0x01, 0x0f, 0x14, 0x04, 0x0c, 0x00e5
-
- .align 2
-gUnknown_082F05D8:: @ 82F05D8
- window_template 0x00, 0x01, 0x0f, 0x13, 0x04, 0x0c, 0x00e5
-
- .align 2
-gUnknown_082F05E0:: @ 82F05E0
- window_template 0x00, 0x08, 0x06, 0x0e, 0x06, 0x0c, 0x0155
-
- .align 2
-gUnknown_082F05E8:: @ 82F05E8
- window_template 0x00, 0x17, 0x0f, 0x06, 0x04, 0x0c, 0x0155
-
- .align 2
-gUnknown_082F05F0:: @ 82F05F0
- window_template 0x00, 0x16, 0x0b, 0x07, 0x08, 0x0c, 0x0155
-
- .align 2
-gUnknown_082F05F8:: @ 82F05F8
- window_template 0x00, 0x16, 0x0d, 0x07, 0x06, 0x0c, 0x0155
-
- .align 2
-gUnknown_082F0600:: @ 82F0600
- window_template 0x00, 0x16, 0x0f, 0x07, 0x04, 0x0c, 0x0155
-
- .align 2
-gUnknown_082F0608:: @ 82F0608
- .4byte gText_WonderCards, 0x00000000
- .4byte gText_WonderNews, 0x00000001
- .4byte gText_Exit3, 0xfffffffe
-
- .align 2
-gUnknown_082F0620:: @ 82F0620
- .4byte gText_WirelessCommunication, 0x00000000
- .4byte gText_Friend2, 0x00000001
- .4byte gText_Cancel2, 0xfffffffe
-
- .align 2
-gUnknown_082F0638:: @ 82F0638 struct ListMenuTemplate
- .4byte NULL
- .4byte ListMenuDefaultCursorMoveFunc
- .4byte NULL
- .byte 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00
- .byte 0x21, 0x31, 0x00, 0x01
-
- .align 2
-gUnknown_082F0650:: @ 82F0650
- .4byte gText_Receive, 0x00000000
- .4byte gText_Send, 0x00000001
- .4byte gText_Toss, 0x00000002
- .4byte gText_Cancel2, 0xfffffffe
-
- .align 2
-gUnknown_082F0670:: @ 82F0670
- .4byte gText_Receive, 0x00000000
- .4byte gText_Toss, 0x00000002
- .4byte gText_Cancel2, 0xfffffffe
-
- .align 2
-gUnknown_082F0688:: @ 82F0688
- .4byte gText_Receive, 0x00000000
- .4byte gText_Send, 0x00000001
- .4byte gText_Cancel2, 0xfffffffe
-
- .align 2
-gUnknown_082F06A0:: @ 82F06A0
- .4byte gText_Receive, 0x00000000
- .4byte gText_Cancel2, 0xfffffffe
-
- .align 2
-gUnknown_082F06B0:: @ 82F06B0 struct ListMenuTemplate
- .4byte gUnknown_082F0650
- .4byte ListMenuDefaultCursorMoveFunc
- .4byte NULL
- .byte 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00
- .byte 0x21, 0x31, 0x00, 0x01
-
- .align 2
-gUnknown_082F06C8:: @ 82F06C8
- .4byte gUnknown_082F0670
- .4byte ListMenuDefaultCursorMoveFunc
- .4byte NULL
- .byte 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00
- .byte 0x21, 0x31, 0x00, 0x01
-
- .align 2
-gUnknown_082F06E0:: @ 82F06E0
- .4byte gUnknown_082F0688
- .4byte ListMenuDefaultCursorMoveFunc
- .4byte NULL
- .byte 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00
- .byte 0x21, 0x31, 0x00, 0x01
-
- .align 2
-gUnknown_082F06F8:: @ 82F06F8
- .4byte gUnknown_082F06A0
- .4byte ListMenuDefaultCursorMoveFunc
- .4byte NULL
- .byte 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00
- .byte 0x21, 0x31, 0x00, 0x01
-
- .align 2
- .4byte gText_VarietyOfEventsImportedWireless
- .4byte gText_WonderCardsInPossession
- .4byte gText_ReadNewsThatArrived
- .4byte gText_ReturnToTitle
-
- .align 2
-gUnknown_082F0720:: @ 82F0720
- .byte 0x00, 0x01, 0x02
-
- .align 2
- .byte 0x00, 0x01, 0x02
-
- .align 2
-gUnknown_082F0728:: @ 82F0728
- .byte 0x01, 0x02, 0x03
-
- .align 2
-gUnknown_082F072C:: @ 82F072C
- .byte 0x21, 0x2c, 0x1f, 0x23, 0x25, 0x24, 0x41, 0x42
- .byte 0x00, 0x00, 0x22, 0x28, 0x20, 0x2f, 0x2f, 0x0e
- .byte 0x14, 0x2d, 0x00, 0x00
-
- .align 2
-gUnknown_082F0740:: @ 82F0740
- .2byte 0x0004, 0x0006, 0x000d, 0x0008
- .2byte 0x000a, 0x0006, 0x0001, 0x0008
- .2byte 0x000d, 0x0004, 0x0007, 0x0004
- .2byte 0x0001, 0x0004, 0x0007, 0x0008
-
- .align 2
-gUnknown_082F0760:: @ 82F0760
- .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00
- .byte 0x00, 0x01
-
-gUnknown_082F076A:: @ 82F076A
- .byte 0x00, 0x02, 0x01, 0x04, 0x03
-
-gUnknown_082F076F:: @ 82F076F
- .byte 0x01, 0x03, 0x01, 0x04, 0x02
-
-gUnknown_082F0774:: @ 82F0774
- .byte 0x09, 0x08, 0x07, 0x02, 0x06, 0x05, 0x04, 0x03
- .byte 0xbf, 0x02, 0xc0, 0x02, 0xc1, 0x02, 0xc2, 0x02
- .byte 0xc3, 0x02, 0xc4, 0x02, 0xc5, 0x02, 0xc6, 0x02
-
-gUnknown_082F078C:: @ 82F078C
- .byte 0x9c, 0xfe
-
-gUnknown_082F078E:: @ 82F078E
- .byte 0x9d, 0xfe
-
- .align 2
-gWirelessInfoScreenPal:: @ 82F0790
- .incbin "graphics/interface/wireless_info_screen.gbapal"
-
- .align 2
-gWirelessInfoScreenGfx:: @ 82F0990
- .incbin "graphics/interface/wireless_info_screen.4bpp.lz"
-
- .align 2
-gWirelessInfoScreenTilemap:: @ 82F0BA0
- .incbin "graphics/interface/wireless_info_screen.bin.lz"
-
- .align 2
-gUnknown_082F0D34:: @ 82F0D34
- .4byte 0x000001f8
- .4byte 0x00001081
-
- .align 2
-gUnknown_082F0D3C:: @ 82F0D3C
- window_template 0x00, 0x03, 0x00, 0x18, 0x03, 0x0f, 0x0001
- window_template 0x00, 0x03, 0x04, 0x15, 0x0f, 0x0f, 0x0049
- window_template 0x00, 0x18, 0x04, 0x03, 0x0f, 0x0f, 0x0184
- null_window_template
-
- .align 2
-gUnknown_082F0D5C:: @ 82F0D5C
- .4byte gText_WirelessCommStatus
- .4byte gText_PeopleTrading
- .4byte gText_PeopleBattling
- .4byte gText_PeopleInUnionRoom
- .4byte gText_PeopleCommunicating
-
- .align 2
-gUnknown_082F0D70:: @ 82F0D70
- .byte 0x01, 0x01, 0x02, 0x02, 0x01, 0x02, 0x03, 0x01
- .byte 0x04, 0x04, 0x00, 0x02, 0x06, 0x03, 0x02, 0x07
- .byte 0x03, 0x02, 0x09, 0x03, 0x00, 0x0a, 0x03, 0x00
- .byte 0x0b, 0x03, 0x00, 0x0c, 0xff, 0x00, 0x0d, 0x00
- .byte 0x00, 0x10, 0x03, 0x00, 0x0f, 0x03, 0x00, 0x40
- .byte 0x02, 0x01, 0x41, 0x02, 0x02, 0x44, 0x02, 0x02
- .byte 0x45, 0x02, 0x00, 0x48, 0x02, 0x02, 0x54, 0x02
- .byte 0x01, 0x53, 0x02, 0x02, 0x51, 0x02, 0x01, 0x52
- .byte 0x02, 0x01, 0x15, 0x03, 0x02, 0x16, 0x03, 0x02
- .byte 0x17, 0x03, 0x00, 0x18, 0x03, 0x00, 0x19, 0x03
- .byte 0x00, 0x1a, 0x03, 0x00, 0x1b, 0x03, 0x00, 0x1c
- .byte 0x01, 0x02, 0x0e, 0x01, 0x02, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F0DD0:: @ 82F0DD0
- .4byte 0x000001FC
-
- .align 2
-gUnknown_082F0DD4:: @ 82F0DD4
- window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0e, 0x0014
- null_window_template
-
- .align 2
-gUnknown_082F0DE4:: @ 82F0DE4
- .byte 0x01, 0x02, 0x03
-
- .align 2
-gUnknown_082F0DE8:: @ 82F0DE8
- .2byte 0x013a, 0x013b, 0x013c, 0x013d, 0x013e, 0x013f, 0x0140, 0x0141
- .2byte 0x0142, 0x0143, 0x0144, 0x0145, 0x0146, 0x0147, 0x0148, 0x0149
- .2byte 0x014a, 0x014b, 0x014c, 0x014d
-
- .align 2
-gUnknown_082F0E10:: @ 82F0E10
- .byte 0x00, 0x02, 0x03
- .byte 0x00, 0x01, 0x02
-
- .align 2
-gUnknown_082F0E18:: @ 82F0E18
- .byte 0x07, 0x04, 0x07, 0x00
-
- .align 2
-gUnknown_082F0E1C:: @ 82F0E1C
- window_template 0x01, 0x01, 0x01, 0x19, 0x04, 0x02, 0x029C
- window_template 0x01, 0x01, 0x06, 0x1C, 0x08, 0x02, 0x01BC
- window_template 0x01, 0x01, 0x0E, 0x1C, 0x05, 0x02, 0x0130
-
- .align 2
-gWonderCardBgPal1:: @ 82F0E34
- .incbin "graphics/wonder_transfers/wonder_card_1.gbapal"
-
- .align 2
-gWonderCardBgPal2:: @ 82F0E54
- .incbin "graphics/wonder_transfers/wonder_card_2.gbapal"
-
- .align 2
-gWonderCardBgPal3:: @ 82F0E74
- .incbin "graphics/wonder_transfers/wonder_card_3.gbapal"
-
- .align 2
-gWonderCardBgPal4:: @ 82F0E94
- .incbin "graphics/wonder_transfers/wonder_card_4.gbapal"
-
- .align 2
-gWonderCardBgPal5:: @ 82F0EB4
- .incbin "graphics/wonder_transfers/wonder_card_5.gbapal"
-
- .align 2
-gWonderCardBgPal6:: @ 82F0ED4
- .incbin "graphics/wonder_transfers/wonder_card_6.gbapal"
-
- .align 2
-gWonderCardBgPal7:: @ 82F0EF4
- .incbin "graphics/wonder_transfers/wonder_card_7.gbapal"
-
- .align 2
-gWonderCardBgPal8:: @ 82F0F14
- .incbin "graphics/wonder_transfers/wonder_card_8.gbapal"
-
- .align 2
-gWonderCardBgGfx1:: @ 82F0F34
- .incbin "graphics/wonder_transfers/wonder_card_1.4bpp.lz"
-
- .align 2
-gWonderCardBgTilemap1:: @ 82F1030
- .incbin "graphics/wonder_transfers/wonder_card_1.bin.lz"
-
- .align 2
-gWonderCardBgGfx2:: @ 82F1124
- .incbin "graphics/wonder_transfers/wonder_card_2.4bpp.lz"
-
- .align 2
-gWonderCardBgTilemap2:: @ 82F1218
- .incbin "graphics/wonder_transfers/wonder_card_2.bin.lz"
-
- .align 2
-gWonderCardBgGfx3:: @ 82F1300
- .incbin "graphics/wonder_transfers/wonder_card_3.4bpp.lz"
-
- .align 2
-gWonderCardBgTilemap3:: @ 82F13D4
- .incbin "graphics/wonder_transfers/wonder_card_3.bin.lz"
-
- .align 2
-gWonderCardBgGfx7:: @ 82F14A8
- .incbin "graphics/wonder_transfers/wonder_card_7.4bpp.lz"
-
- .align 2
-gWonderCardBgTilemap7:: @ 82F16DC
- .incbin "graphics/wonder_transfers/wonder_card_7.bin.lz"
-
- .align 2
-gWonderCardBgGfx8:: @ 82F1824
- .incbin "graphics/wonder_transfers/wonder_card_8.4bpp.lz"
-
- .align 2
-gWonderCardBgTilemap8:: @ 82F1A54
- .incbin "graphics/wonder_transfers/wonder_card_8.bin.lz"
-
- .align 2
-gWonderCardShadowPal1:: @ 82F1B9C
- .incbin "graphics/wonder_transfers/wonder_card_shadow_1.gbapal"
-
- .align 2
-gWonderCardShadowPal2:: @ 82F1BBC
- .incbin "graphics/wonder_transfers/wonder_card_shadow_2.gbapal"
-
- .align 2
-gWonderCardShadowPal3:: @ 82F1BDC
- .incbin "graphics/wonder_transfers/wonder_card_shadow_3.gbapal"
-
- .align 2
-gWonderCardShadowPal4:: @ 82F1BFC
- .incbin "graphics/wonder_transfers/wonder_card_shadow_4.gbapal"
-
- .align 2
-gWonderCardShadowPal5:: @ 82F1C1C
- .incbin "graphics/wonder_transfers/wonder_card_shadow_5.gbapal"
-
- .align 2
-gWonderCardShadowPal6:: @ 82F1C3C
- .incbin "graphics/wonder_transfers/wonder_card_shadow_6.gbapal"
-
- .align 2
-gWonderCardShadowPal7:: @ 82F1C5C
- .incbin "graphics/wonder_transfers/wonder_card_shadow_7.gbapal"
-
- .align 2
-gWonderCardShadowPal8:: @ 82F1C7C
- .incbin "graphics/wonder_transfers/wonder_card_shadow_8.gbapal"
-
- .align 2
-gWonderCardShadowGfx:: @ 82F1C9C
- .incbin "graphics/wonder_transfers/wonder_card_shadow.4bpp.lz"
-
- .align 2
-gUnknown_082F1D00:: @ 82F1D00 struct CompressedSpriteSheet
- .4byte gWonderCardShadowGfx
- .2byte 0x0100
- .2byte 0x8000
-
- .align 2
-gUnknown_082F1D08:: @ 82F1D08 struct SpritePalette
- .4byte gWonderCardShadowPal1
- .2byte 0x8000
-
- .align 2
- .4byte gWonderCardShadowPal2
- .2byte 0x8000
-
- .align 2
- .4byte gWonderCardShadowPal3
- .2byte 0x8000
-
- .align 2
- .4byte gWonderCardShadowPal4
- .2byte 0x8000
-
- .align 2
- .4byte gWonderCardShadowPal5
- .2byte 0x8000
-
- .align 2
- .4byte gWonderCardShadowPal6
- .2byte 0x8000
-
- .align 2
- .4byte gWonderCardShadowPal7
- .2byte 0x8000
-
- .align 2
- .4byte gWonderCardShadowPal8
- .2byte 0x8000
-
- .align 2
-gUnknown_082F1D48:: @ 82F1D48
- spr_template 0x8000, 0x8000, gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082F1D60:: @ 82F1D60
- .4byte 0x00000001, gWonderCardBgGfx1, gWonderCardBgTilemap1, gWonderCardBgPal1
- .4byte 0x00001001, gWonderCardBgGfx2, gWonderCardBgTilemap2, gWonderCardBgPal2
- .4byte 0x00002001, gWonderCardBgGfx3, gWonderCardBgTilemap3, gWonderCardBgPal3
- .4byte 0x00003001, gWonderCardBgGfx3, gWonderCardBgTilemap3, gWonderCardBgPal4
- .4byte 0x00004001, gWonderCardBgGfx3, gWonderCardBgTilemap3, gWonderCardBgPal5
- .4byte 0x00005001, gWonderCardBgGfx3, gWonderCardBgTilemap3, gWonderCardBgPal6
- .4byte 0x00006001, gWonderCardBgGfx7, gWonderCardBgTilemap7, gWonderCardBgPal7
- .4byte 0x00007001, gWonderCardBgGfx8, gWonderCardBgTilemap8, gWonderCardBgPal8
-
-gUnknown_082F1DE0:: @ 82F1DE0
- .byte 0x00, 0x02, 0x03, 0x00, 0x01, 0x02, 0x00, 0x00
-
-gUnknown_082F1DE8:: @ 82F1DE8
- window_template 0x00, 0x01, 0x00, 0x1C, 0x03, 0x02, 0x02AC
- window_template 0x02, 0x01, 0x03, 0x1C, 0x14, 0x02, 0x007C
-
-gUnknown_082F1DF8:: @ 82F1DF8
- .4byte 0x0318e802, 0x000098e8, 0x10000002, 0x00001000
-
- .align 2
-gWonderNewsPal1:: @ 82F1E08
- .incbin "graphics/wonder_transfers/wonder_news_1.gbapal"
-
- .align 2
-gWonderNewsPal7:: @ 82F1E28
- .incbin "graphics/wonder_transfers/wonder_news_7.gbapal"
-
- .align 2
-gWonderNewsPal8:: @ 82F1E48
- .incbin "graphics/wonder_transfers/wonder_news_8.gbapal"
-
- .align 2
-gWonderNewsGfx1:: @ 82F1E68
- .incbin "graphics/wonder_transfers/wonder_news_1.4bpp.lz"
-
- .align 2
-gWonderNewsTilemap1:: @ 82F1EE8
- .incbin "graphics/wonder_transfers/wonder_news_1.bin.lz"
-
- .align 2
-gWonderNewsGfx2:: @ 82F1FC4
- .incbin "graphics/wonder_transfers/wonder_news_2.4bpp.lz"
-
- .align 2
-gWonderNewsTilemap2:: @ 82F1FF4
- .incbin "graphics/wonder_transfers/wonder_news_2.bin.lz"
-
- .align 2
-gWonderNewsGfx3:: @ 82F20B4
- .incbin "graphics/wonder_transfers/wonder_news_3.4bpp.lz"
-
- .align 2
-gWonderNewsTilemap3:: @ 82F2124
- .incbin "graphics/wonder_transfers/wonder_news_3.bin.lz"
-
- .align 2
-gWonderNewsGfx7:: @ 82F21F0
- .incbin "graphics/wonder_transfers/wonder_news_7.4bpp.lz"
-
- .align 2
-gWonderNewsTilemap7:: @ 82F2280
- .incbin "graphics/wonder_transfers/wonder_news_7.bin.lz"
-
- .align 2
-gWonderNewsGfx8:: @ 82F235C
- .incbin "graphics/wonder_transfers/wonder_news_8.4bpp.lz"
-
- .align 2
-gWonderNewsTilemap8:: @ 82F23EC
- .incbin "graphics/wonder_transfers/wonder_news_8.bin.lz"
-
- .align 2
-gUnknown_082F24C8:: @ 82F24C8
- .4byte 0x00000001, gWonderNewsGfx1, gWonderNewsTilemap1, gWonderNewsPal1
- .4byte 0x00000001, gWonderNewsGfx2, gWonderNewsTilemap2, gWonderCardBgPal2
- .4byte 0x00000001, gWonderNewsGfx3, gWonderNewsTilemap3, gWonderCardBgPal3
- .4byte 0x00000001, gWonderNewsGfx3, gWonderNewsTilemap3, gWonderCardBgPal4
- .4byte 0x00000001, gWonderNewsGfx3, gWonderNewsTilemap3, gWonderCardBgPal5
- .4byte 0x00000001, gWonderNewsGfx3, gWonderNewsTilemap3, gWonderCardBgPal6
- .4byte 0x00000001, gWonderNewsGfx7, gWonderNewsTilemap7, gWonderNewsPal7
- .4byte 0x00000001, gWonderNewsGfx8, gWonderNewsTilemap8, gWonderNewsPal8
-
- .align 2
-gUnknown_082F2548:: @ 82F2548
- .4byte sub_801D1AC
- .4byte sub_801D1B4
- .4byte sub_801D1B8
- .4byte sub_801D1D4
- .4byte sub_801D1F0
-
- .align 2
-gUnknown_082F255C:: @ 82F255C
- .4byte sub_801D5D0
- .4byte sub_801D5F8
- .4byte sub_801D5FC
- .4byte sub_801D61C
- .4byte sub_801D63C
- .4byte sub_801D810
- .4byte sub_801D828
- .4byte sub_801D860
-
- .align 2
-gText_CanceledReadingCard:: @ 82F257C
- .string "Canceled reading\nthe Card.$"
-
- .align 2
-gUnknown_082F2598:: @ 82F2598
- .byte 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
- .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F25A8:: @ 82F25A8
- .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
- .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F25C8:: @ 82F25C8
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F25D8:: @ 82F25D8
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F25E8:: @ 82F25E8
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F25F8:: @ 82F25F8
- .byte 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
- .byte 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
- .byte 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F2628:: @ 82F2628
- .byte 0x02, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
- .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
- .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F2650:: @ 82F2650
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F2660:: @ 82F2660
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F2670:: @ 82F2670
- .byte 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
- .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F2698:: @ 82F2698
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F26A8:: @ 82F26A8
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F26B8:: @ 82F26B8
- .byte 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
- .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
- .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F26F8:: @ 82F26F8
- .byte 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F25C8
- .byte 0x01, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F25D8
- .byte 0x01, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F2698
- .byte 0x01, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F2788:: @ 82F2788
- .byte 0x12, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F26B8
- .byte 0x01, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00
-
- .4byte gText_CanceledReadingCard
- .byte 0x01, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F27D0:: @ 82F27D0
- .byte 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F2650
- .byte 0x01, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F2800:: @ 82F2800
- .byte 0x12, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F2628
- .byte 0x01, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F27D0
- .byte 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F2660
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F2884:: @ 82F2884
- .byte 0x12, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F25F8
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F28E4:: @ 82F28E4
- .byte 0x12, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F2670
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
- .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F2884
- .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F2788
-
- .align 2
-gUnknown_082F292C:: @ 82F292C
- .byte 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F26A8
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
- .byte 0x10, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F25E8
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F298C:: @ 82F298C
- .byte 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
- .byte 0x20, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F25A8
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
- .byte 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F26F8
- .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F2800
-
- .align 2
-gUnknown_082F29EC:: @ 82F29EC
- .byte 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x12, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F25A8
- .byte 0x01, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F26F8
- .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F28E4
- .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F2884
- .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .4byte gUnknown_082F292C
-
- .align 2
-gUnknown_082F2A7C:: @ 82F2A7C
- .4byte sub_801DFAC
- .4byte sub_801E030
- .4byte sub_801E120
- .4byte sub_801E240
- .4byte sub_801E764
- .4byte sub_801E838
- .4byte sub_801E460
- .4byte sub_801E5C4
- .4byte sub_801E668
- .4byte sub_801E978
-
- .align 2
-gUnknown_082F2AA4:: @ 82F2AA4
- .byte 0x09, 0x09, 0x09, 0x09
-
- .align 2
-gUnknown_082F2AA8:: @ 82F2AA8
- .byte 0x00, 0x16, 0x17, 0x68, 0x19, 0x1a, 0x1b, 0x1c
- .byte 0x1d, 0x1e, 0x00, 0x20, 0x21, 0x22, 0x23, 0x24
- .byte 0x25, 0x26, 0x27, 0x28, 0x29, 0x15, 0x01, 0x02
- .byte 0x00, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00
- .byte 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12
- .byte 0x13, 0x14, 0x2a, 0x2b, 0x2c, 0x2d, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x36, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x53, 0x54, 0x55, 0x56, 0x00
- .byte 0x00, 0x00, 0x6f, 0x5b, 0x5c, 0x5d, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x84, 0x85, 0x86, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7
- .byte 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf
- .byte 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7
- .byte 0xb8, 0xb9, 0xba, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9
- .byte 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1
- .byte 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9
- .byte 0xea, 0xeb, 0xec, 0xed, 0xee, 0xbb, 0xbc, 0xbd
- .byte 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5
- .byte 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd
- .byte 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xef
- .byte 0xf0, 0xf4, 0xf5, 0xf6, 0xf1, 0xf2, 0xf3, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F2BA8:: @ 82F2BA8
- .4byte gUnknown_0862B9F9
- .4byte gUnknown_0862B9FF
- .4byte gUnknown_0862BA05
- .4byte gUnknown_0862BA0B
- .4byte gUnknown_0862BA11
- .4byte gUnknown_0862BA17
- .4byte gUnknown_0862BA1D
- .4byte gUnknown_0862BA23
- .4byte gUnknown_0862BA29
- .4byte gUnknown_0862BA2F
- .4byte gUnknown_0862BA35
- .4byte gUnknown_0862BA3B
- .4byte gUnknown_0862BA41
- .4byte gUnknown_0862BA47
- .4byte gUnknown_0862BA4D
- .4byte gUnknown_0862BA53
- .4byte gUnknown_0862BA59
- .4byte gUnknown_0862BA5F
- .4byte gUnknown_0862BA65
- .4byte gUnknown_0862BA6B
- .4byte gUnknown_0862BA79
- .4byte gUnknown_0862BA84
- .4byte gUnknown_0862BA8F
- .4byte gUnknown_0862BA9A
- .4byte gUnknown_0862BAA3
- .4byte gUnknown_0862BAAE
- .4byte gUnknown_0862BAB9
- .4byte gUnknown_0862BAC4
- .4byte gUnknown_0862BACF
- .4byte gUnknown_0862BADA
-
- .align 2
-gUnknown_082F2C20:: @ 82F2C20
- .incbin "graphics/interface/unk_palette1.gbapal"
-
- .align 2
-gUnknown_082F2C40:: @ 82F2C40
- .incbin "graphics/interface/unk_palette2.gbapal"
-
- .align 2
-gUnknown_082F2C60:: @ 82F2C60 struct BgTemplate
- .4byte 0x00000070, 0x000011fd, 0x0000217a, 0x000070f7
-
- .align 2
-gUnknown_082F2C70:: @ 82F2C70
- window_template 0x03, 0x08, 0x01, 0x15, 0x13, 0x0f, 0x0001
- window_template 0x01, 0x09, 0x12, 0x0f, 0x02, 0x0c, 0x007a
- window_template 0x01, 0x00, 0x02, 0x06, 0x0f, 0x07, 0x0020
- window_template 0x00, 0x01, 0x02, 0x07, 0x09, 0x0e, 0x0013
- null_window_template
-
- .align 2
-gUnknown_082F2C98:: @ 82F2C98
- .4byte 0x00000000, sub_801F658
- .4byte 0x00000003, sub_801F6F8
- .4byte 0x00000004, sub_801F730
- .4byte 0x00000005, sub_801F768
- .4byte 0x00000001, sub_801F7D4
- .4byte 0x00000006, sub_801F7E0
- .4byte 0x00000007, sub_801F82C
- .4byte 0x00000008, sub_801F870
- .4byte 0x00000009, sub_801F8DC
- .4byte 0x0000000a, sub_801F984
- .4byte 0x0000000b, sub_801FA2C
- .4byte 0x0000000c, sub_801FA68
- .4byte 0x00000002, sub_801FB44
- .4byte 0x0000000d, sub_801FB70
- .4byte 0x00000012, sub_801FBB4
- .4byte 0x00000013, sub_801FBF8
- .4byte 0x0000000e, sub_801FC4C
- .4byte 0x0000000f, sub_801FC9C
- .4byte 0x00000010, sub_801FCEC
- .4byte 0x00000011, sub_801FD30
- .4byte 0x00000014, sub_801FD88
-
- .align 2
-gUnknown_082F2D40:: @ 82F2D40
- .4byte gText_QuitChatting
- .byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .4byte gText_RegisterTextWhere
- .byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .4byte gText_RegisterTextHere
- .byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .4byte gText_InputText
- .byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .4byte gText_ExitingChat
- .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .4byte gText_LeaderLeftEndingChat
- .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00
-
- .4byte gText_RegisteredTextChanged
- .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00
-
- .4byte gText_AlreadySavedFile_Unused
- .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00
-
- .4byte gText_SavingDontTurnOff_Unused
- .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00
-
- .4byte gText_PlayerSavedGame_Unused
- .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00
-
- .4byte gText_IfLeaderLeavesChatEnds
- .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00
-
- .align 2
-gText_Ellipsis:: @ 82F2DC4
- .string "…$"
-
- .align 2
-gUnknown_082F2DC8:: @ 82F2DC8
- .4byte gText_Upper, 0x00000000
- .4byte gText_Lower, 0x00000000
- .4byte gText_Symbols, 0x00000000
- .4byte gText_Register2, 0x00000000
- .4byte gText_Exit2, 0x00000000
-
- .align 2
-gUnknown_082F2DF0:: @ 82F2DF0
- .incbin "graphics/interface/unk_palette3.gbapal"
-
- .align 2
-gUnknown_082F2E10:: @ 82F2E10
- .incbin "graphics/interface/unk_cursor.4bpp.lz"
-
- .align 2
-gUnknown_082F3094:: @ 82F3094
- .incbin "graphics/interface/unk_dash.4bpp.lz"
-
- .align 2
-gUnknown_082F30B4:: @ 82F30B4
- .incbin "graphics/interface/unk_cursor_arrow.4bpp.lz"
-
- .align 2
-gUnknown_082F30E0:: @ 82F30E0
- .incbin "graphics/interface/unk_rbutton.4bpp.lz"
-
- .align 2
-gUnknown_082F3134:: @ 82F3134
- .4byte gUnknown_082F2E10
- .2byte 0x1000, 0x0000
-
- .4byte gUnknown_082F30B4
- .2byte 0x0040, 0x0001
-
- .4byte gUnknown_082F3094
- .2byte 0x0040, 0x0002
-
- .4byte gUnknown_082F30E0
- .2byte 0x0080, 0x0003
-
- .4byte gUnknown_08DD4CF8
- .2byte 0x0400, 0x0004
-
- .align 2
-gUnknown_082F315C:: @ 82F315C struct SpritePalette
- .4byte gUnknown_082F2DF0
- .2byte 0x0000
-
- .align 2
-gUnknown_082F3164:: @ 82F3164
- .2byte 0x4000, 0xc000, 0x0400, 0x0000
-
- .align 2
-gUnknown_082F316C:: @ 82F316C
- .2byte 0x0000, 0x001e, 0xffff, 0x0000
-
- .align 2
-gUnknown_082F3174:: @ 82F3174
- .2byte 0x0020, 0x001e, 0xffff, 0x0000
-
- .align 2
-gUnknown_082F317C:: @ 82F317C
- .2byte 0x0040, 0x001e, 0xffff, 0x0000
-
- .align 2
-gUnknown_082F3184:: @ 82F3184
- .2byte 0x0060, 0x001e, 0xffff, 0x0000
-
-gUnknown_082F318C:: @ 82F318C
- .4byte gUnknown_082F316C
- .4byte gUnknown_082F3174
- .4byte gUnknown_082F317C
- .4byte gUnknown_082F3184
-
- .align 2
-gUnknown_082F319C:: @ 82F319C
- spr_template 0x0000, 0x0000, gUnknown_082F3164, gUnknown_082F318C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082F31B4:: @ 82F31B4
- .byte 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_082F31BC:: @ 82F31BC
- spr_template 0x0002, 0x0000, gUnknown_082F31B4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8020ABC
-
- .align 2
-gUnknown_082F31D4:: @ 82F31D4
- spr_template 0x0001, 0x0000, gUnknown_082F31B4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8020AF4
-
- .align 2
-gUnknown_082F31EC:: @ 82F31EC
- .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_082F31F4:: @ 82F31F4
- .byte 0x00, 0x40, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_082F31FC:: @ 82F31FC
- .2byte 0x0000, 0x0002, 0xffff, 0x0000
-
- .align 2
-gUnknown_082F3204:: @ 82F3204
- .2byte 0x0008, 0x0002, 0xffff, 0x0000
-
- .align 2
-gUnknown_082F320C:: @ 82F320C
- .2byte 0x0010, 0x0002, 0xffff, 0x0000
-
- .align 2
-gUnknown_082F3214:: @ 82F3214
- .2byte 0x0018, 0x0002, 0xffff, 0x0000
-
- .align 2
-gUnknown_082F321C:: @ 82F321C
- .4byte gUnknown_082F31FC
- .4byte gUnknown_082F3204
- .4byte gUnknown_082F320C
- .4byte gUnknown_082F3214
-
- .align 2
-gUnknown_082F322C:: @ 82F322C
- spr_template 0x0003, 0x0000, gUnknown_082F31EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082F3244:: @ 82F3244
- spr_template 0x0004, 0x0000, gUnknown_082F31F4, gUnknown_082F321C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082F325C:: @ 82F325C
- .byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
-
- .align 2
-gUnknown_082F3264:: @ 82F3264
- .byte 0x00, 0x01, 0x02, 0x03, 0x05, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F326C:: @ 82F326C
- .byte 0x04, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0x04
- .byte 0x02, 0x00, 0xff, 0x00, 0x00, 0x00, 0x04, 0x02
- .byte 0x00, 0xfe, 0x00, 0x00, 0x00, 0x06, 0x03, 0x01
- .byte 0xff, 0xfd, 0xff, 0x00, 0x06, 0x04, 0x01, 0xfe
- .byte 0xfc, 0xfe, 0x00, 0x00
-
- .align 2
-gUnknown_082F3290:: @ 82F3290
- .byte 0x03, 0x02, 0x01, 0x00, 0x03, 0x03, 0x01, 0x00
- .byte 0x03, 0x03, 0x02, 0x00, 0x03, 0x04, 0x02, 0x00
- .byte 0x03, 0x05, 0x03, 0x00
-
- .align 2
-gUnknown_082F32A4:: @ 82F32A4
- .4byte gText_ReadyToBerryCrush
- .4byte gText_WaitForAllChooseBerry
- .4byte gText_EndedWithXUnitsPowder
- .4byte gText_RecordingGameResults
- .4byte gText_PlayBerryCrushAgain
- .4byte gText_YouHaveNoBerries
- .4byte gText_MemberDroppedOut
- .4byte gText_TimesUpNoGoodPowder
- .4byte gText_CommunicationStandby2
-
- .align 2
-gUnknown_082F32C8:: @ 82F32C8 struct BgTemplate
- .4byte 0x000000F8
-
- .align 2
-gUnknown_082F32CC:: @ 82F32CC struct BgTemplate? not sure
- .byte 0xd1, 0x14, 0x00, 0x00, 0xc2, 0x20, 0x00, 0x00
- .byte 0xb3, 0x30, 0x00, 0x00
-
- .align 2
-gUnknown_082F32D8:: @ 82F32D8
- .byte 0x01, 0x02, 0x03
-
-gUnknown_082F32DB:: @ 82F32DB
- .byte 0x00, 0x01, 0x02
-
-gUnknown_082F32DE:: @ 82F32DE
- .byte 0x00, 0x03, 0x04
-
-gUnknown_082F32E1:: @ 82F32E1
- .byte 0x01, 0x08, 0x09
- .byte 0x01, 0x06, 0x07
-
-gUnknown_082F32E7:: @ 82F32E7
- .byte 0x01, 0x04, 0x05
-
- .align 2
-gUnknown_082F32EC:: @ 82F32EC
- window_template 0x00, 0x03, 0x04, 0x18, 0x0d, 0x0f, 0x0001
-
- .align 2
-gUnknown_082F32F4:: @ 82F32F4
- window_template 0x00, 0x00, 0x00, 0x09, 0x02, 0x08, 0x03ed
- window_template 0x00, 0x00, 0x03, 0x09, 0x02, 0x08, 0x03db
- window_template 0x00, 0x00, 0x06, 0x09, 0x02, 0x08, 0x03c9
- window_template 0x00, 0x15, 0x03, 0x09, 0x02, 0x08, 0x03b7
- window_template 0x00, 0x15, 0x06, 0x09, 0x02, 0x08, 0x03a5
- null_window_template
-
- window_template 0x00, 0x05, 0x02, 0x14, 0x10, 0x0f, 0x0001
- window_template 0x00, 0x05, 0x02, 0x14, 0x10, 0x0f, 0x0001
- window_template 0x00, 0x04, 0x02, 0x16, 0x10, 0x0f, 0x0001
- null_window_template
-
- .align 2
-gUnknown_082F3344:: @ 82F3344
- .byte 0x06, 0x08, 0x09, 0x0b, 0x0c, 0x0e, 0x0f, 0x10
-
- .align 2
-gUnknown_082F334C:: @ 82F334C
- .byte 0x80, 0xf0, 0xfa, 0x02, 0x40, 0x78, 0x7d, 0x01
- .byte 0x20, 0xbc, 0xbe, 0x00, 0x10, 0x5e, 0x5f, 0x00
- .byte 0x08, 0xaf, 0x2f, 0x00, 0x84, 0xd7, 0x17, 0x00
- .byte 0xc2, 0xeb, 0x0b, 0x00, 0xe1, 0xf5, 0x05, 0x00
-
- .align 2
-gBerryCrushGrinderBasePal:: @ 82F336C
- .incbin "graphics/link_games/berrycrush_grinder_base.gbapal"
-
- .align 2
-gBerryCrushMiscSpritesPal:: @ 82F338C
- .incbin "graphics/link_games/berrycrush_misc.gbapal"
-
- .align 2
-gBerryCrushTimerDigitsPal:: @ 82F33AC
- .incbin "graphics/link_games/berrycrush_timerdigits.gbapal"
-
- .align 2
-gBerryCrushGrinderBaseGfx:: @ 82F33CC
- .incbin "graphics/link_games/berrycrush_grinder_base.4bpp.lz"
-
- .align 2
-gBerryCrushBtnPressGfx:: @ 82F36F8
- .incbin "graphics/link_games/berrycrush_btnpress.4bpp.lz"
-
- .align 2
-gBerryCrushSparkleGfx:: @ 82F3A74
- .incbin "graphics/link_games/berrycrush_sparkle.4bpp.lz"
-
- .align 2
-gBerryCrushTimerDigitsGfx:: @ 82F3BC0
- .incbin "graphics/link_games/berrycrush_timerdigits.4bpp.lz"
-
- .align 2
-gBerryCrushGrinderTopTilemap:: @ 82F3C8C
- .incbin "graphics/link_games/berrycrush_grinder_top.bin.lz"
-
- .align 2
-gBerryCrushContainerCapTilemap:: @ 82F3DBC
- .incbin "graphics/link_games/berrycrush_container_cap.bin.lz"
-
- .align 2
-gBerryCrushBackgroundTilemap:: @ 82F3F54
- .incbin "graphics/link_games/berrycrush_background.bin.lz"
-
- .align 2
-gUnknown_082F417C:: @ 82F417C
- .byte 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03
- .byte 0x00, 0x00, 0x01, 0x03, 0x02, 0x04, 0x00, 0x00
- .byte 0x01, 0x03, 0x02, 0x04
-
- .align 2
-gUnknown_082F4190:: @ 82F4190
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff
- .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00
- .byte 0xe4, 0xff, 0xfc, 0xff, 0xe8, 0xff, 0x10, 0x00
- .byte 0x02, 0x00, 0x06, 0x00, 0xf0, 0xff, 0x14, 0x00
- .byte 0xf8, 0xff, 0x10, 0x00, 0x03, 0x14, 0x03, 0x00
- .byte 0x1c, 0x00, 0xfc, 0xff, 0x20, 0x00, 0xf8, 0xff
- .byte 0x04, 0x14, 0x06, 0x00, 0x10, 0x00, 0x14, 0x00
- .byte 0x10, 0x00, 0xf8, 0xff
-
- .align 2
-gUnknown_082F41CC:: @ 82F41CC
- .byte 0x00, 0x00, 0xff, 0x00, 0x01, 0x01, 0x00, 0x00
- .byte 0xf0, 0xfc, 0x10, 0xfc, 0xf8, 0xfe, 0x08, 0xfe
- .byte 0xe8, 0xf8, 0x18, 0xf8, 0xe0, 0xf4, 0x20, 0xf4
- .byte 0xd8, 0xf0, 0x28, 0xf0
-
- .align 2
-gUnknown_082F41E8:: @ 82F41E8
- .2byte 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x0000
-
- .align 2
-gUnknown_082F41F4:: @ 82F41F4
- .4byte gBerryCrushGrinderBaseGfx
- .2byte 0x0800, 0x0001
-
- .4byte gBerryCrushBtnPressGfx
- .2byte 0x0e00, 0x0002
-
- .4byte gBerryCrushSparkleGfx
- .2byte 0x0700, 0x0003
-
- .align 2
-gUnknown_082F420C:: @ 82F420C
- .4byte gBerryCrushTimerDigitsGfx
- .2byte 0x02c0, 0x0004
-
- .4byte NULL
- .2byte 0x0000, 0x0000
-
- .align 2
-gUnknown_082F421C:: @ 82F421C
- .4byte gBerryCrushGrinderBasePal
- .2byte 0x0001
-
- .align 2
- .4byte gBerryCrushMiscSpritesPal
- .2byte 0x0002
-
- .align 2
-gUnknown_082F422C:: @ 82F422C
- .align 2
- .4byte gBerryCrushTimerDigitsPal
- .2byte 0x0004
-
- .align 2
- .4byte NULL
- .2byte 0x0000
-
- .align 2
-gUnknown_082F423C:: @ 82F423C
- .2byte 0x0000, 0x0000, 0xffff, 0x0000
-
- .align 2
-gUnknown_082F4244:: @ 82F4244
- .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_082F4254:: @ 82F4254
- .2byte 0x0030, 0x0002, 0x0040, 0x0002, 0x0050, 0x0002, 0x0060, 0x0002
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082F4268:: @ 82F4268
- .2byte 0x0000, 0x0002, 0x0004, 0x0002, 0x0008, 0x0002, 0x000c, 0x0002
- .2byte 0x0010, 0x0002, 0x0014, 0x0002, 0xfffe, 0x0000
-
- .align 2
-gUnknown_082F4284:: @ 82F4284
- .2byte 0x0018, 0x0004, 0x001c, 0x0004, 0x0020, 0x0004, 0x0024, 0x0004
- .2byte 0x0028, 0x0004, 0x002c, 0x0004, 0x0030, 0x0004, 0x0034, 0x0004
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082F42A8:: @ 82F42A8
- .2byte 0x0014, 0x0000, 0xffff, 0x0000
-
- .align 2
-gUnknown_082F42B0:: @ 82F42B0
- .2byte 0x0000, 0x0000, 0xffff, 0x0000
-
- .align 2
-gUnknown_082F42B8:: @ 82F42B8
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0102, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_082F42D0:: @ 82F42D0
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x01fe, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_082F42E8:: @ 82F42E8
- .4byte gUnknown_082F423C
-
- .align 2
-gUnknown_082F42EC:: @ 82F42EC
- .4byte gUnknown_082F4244
- .4byte gUnknown_082F4254
-
- .align 2
-gUnknown_082F42F4:: @ 82F42F4
- .4byte gUnknown_082F4268
- .4byte gUnknown_082F4284
-
- .align 2
-gUnknown_082F42FC:: @ 82F42FC
- .4byte gUnknown_082F42A8
-
- .align 2
-gUnknown_082F4300:: @ 82F4300
- .4byte gUnknown_082F42B0
-
- .align 2
-gUnknown_082F4304:: @ 82F4304
- .4byte gUnknown_082F42B8
- .4byte gUnknown_082F42D0
-
- .align 2
-gUnknown_082F430C:: @ 82F430C
- spr_template 0x0001, 0x0001, gUnknown_0852491C, gUnknown_082F42E8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082F4324:: @ 82F4324
- spr_template 0x0002, 0x0002, gUnknown_08524914, gUnknown_082F42EC, NULL, gDummySpriteAffineAnimTable, sub_8022A20
-
- .align 2
-gUnknown_082F433C:: @ 82F433C
- spr_template 0x0003, 0x0002, gUnknown_0852490C, gUnknown_082F42F4, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082F4354:: @ 82F4354
- spr_template 0x0004, 0x0004, gUnknown_08524944, gUnknown_082F42FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082F436C:: @ 82F436C
- spr_template 0x0005, 0x0005, gUnknown_085249D4, gUnknown_082F4300, NULL, gUnknown_082F4304, SpriteCallbackDummy
-
- .align 2
-gUnknown_082F4384:: @ 82F4384
- .byte 0x09, 0x02, 0x08, 0x00, 0x9c, 0x00, 0x00, 0x00
- .4byte gUnknown_082F420C
- .4byte gUnknown_082F422C
-
- .byte 0x08, 0x02, 0x08, 0x00, 0xb4, 0x00, 0x00, 0x00
- .4byte gUnknown_082F420C
- .4byte gUnknown_082F422C
-
- .byte 0x08, 0x02, 0x08, 0x00, 0xcc, 0x00, 0x00, 0x00
- .4byte gUnknown_082F420C
- .4byte gUnknown_082F422C
-
- .align 2
-gUnknown_082F43B4:: @ 82F43B4
- .4byte gText_SpaceTimes2
- .4byte gText_XDotY
- .4byte gText_Var1Berry
- .4byte gText_NeatnessRankings
- .4byte gText_CoopRankings
- .4byte gText_PressingPowerRankings
-
- .align 2
-gUnknown_082F43CC:: @ 82F43CC
- .4byte NULL
- .4byte sub_8022C58
- .4byte sub_8022CB0
- .4byte sub_8022D14
- .4byte sub_8022E1C
- .4byte sub_8022E3C
- .4byte sub_8022E5C
- .4byte sub_8022EAC
- .4byte sub_8022F04
- .4byte sub_8022F1C
- .4byte sub_8023070
- .4byte sub_80231B8
- .4byte sub_80232EC
- .4byte sub_80238F0
- .4byte sub_8023998
- .4byte sub_8023A30
- .4byte sub_8023BC0
- .4byte sub_8023CAC
- .4byte sub_8024048
- .4byte sub_8024134
- .4byte sub_8024228
- .4byte sub_80242E0
- .4byte sub_80243BC
- .4byte sub_8024444
- .4byte sub_8024508
- .4byte sub_8024568
-
- .align 2
-gUnknown_082F4434:: @ 82F4434
- .byte 0x02, 0x04, 0x06, 0x07, 0x03, 0x05, 0x08, 0x0b
- .byte 0x03, 0x07, 0x0b, 0x0f, 0x04, 0x08, 0x0c, 0x11
-
-gUnknown_082F4444:: @ 82F4444
- .byte 0x05, 0x07, 0x09, 0x0c
-
-gUnknown_082F4448:: @ 82F4448
- .byte 0x03, 0x07, 0x0f, 0x1f
-
- .align 2
-gUnknown_082F7BA4_UnrefDupe:: @ 82F444C struct BgTemplate
- .4byte 0x000001e0
- .4byte 0x000012c9
- .4byte 0x000012ea
- .4byte 0x000021ff
- .4byte 0x000000ff
- .4byte 0x00000000
-
- .align 2
-gUnknown_082F7BBC_UnrefDupe:: @ 82F4464
- window_template 0x00, 0x01, 0x01, 0x1c, 0x02, 0x0d, 0x0013
- window_template 0x00, 0x01, 0x05, 0x1c, 0x0e, 0x0d, 0x004b
-
- .align 2
-gUnknown_082F7BCC_UnrefDupe:: @ 82F4474
- window_template 0x00, 0x01, 0x05, 0x1c, 0x07, 0x0d, 0x004b
-
- .align 2
-gUnknown_082F7BD4_UnrefDupe:: @ 82F447C
- window_template 0x00, 0x01, 0x08, 0x13, 0x03, 0x0d, 0x0013
- window_template 0x00, 0x16, 0x07, 0x06, 0x04, 0x0d, 0x004c
-
- .align 2
-gUnknown_082F7BE4_UnrefDupe:: @ 82F448C
- window_template 0x00, 0x04, 0x06, 0x16, 0x05, 0x0d, 0x0013
-
- .align 2
-gUnknown_082F7BEC_UnrefDupe:: @ 82F4494
- window_template 0x00, 0x05, 0x08, 0x13, 0x03, 0x0d, 0x0013
-
- .align 2
-gUnknown_082F449C:: @ 82F449C
- .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
- .byte 0x08, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x03, 0x08
- .byte 0x09, 0x00, 0x00, 0x01, 0x02, 0x05, 0x06, 0x03
- .byte 0x04, 0x05, 0x08, 0x09, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
- .byte 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x02, 0x09
- .byte 0x00, 0x00, 0x01, 0x04, 0x05, 0x06, 0x07, 0x02
- .byte 0x03, 0x04, 0x09, 0x00, 0x00, 0x01, 0x06, 0x07
- .byte 0x02, 0x03, 0x04, 0x05, 0x06, 0x09, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02
- .byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x00
- .byte 0x00, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01
- .byte 0x02, 0x03, 0x00, 0x00, 0x05, 0x06, 0x07, 0x08
- .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x07
- .byte 0x08, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03
- .byte 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x02
- .byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00
- .byte 0x01, 0x02, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09
- .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x08
- .byte 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
- .byte 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05
- .byte 0x06, 0x07, 0x08, 0x04, 0x05, 0x06, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x03, 0x04, 0x05, 0x05, 0x06, 0x03
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x04, 0x05, 0x06, 0x06, 0x07, 0x02, 0x02
- .byte 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x04, 0x05, 0x05, 0x06, 0x07, 0x07, 0x08
- .byte 0x01, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x04
- .byte 0x05, 0x06, 0x06, 0x07, 0x08, 0x08, 0x09, 0x00
- .byte 0x00, 0x01, 0x02, 0x02, 0x03, 0x04, 0x01, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01
- .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00
- .byte 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x01
- .byte 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00
- .byte 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x02
- .byte 0x01, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x04
- .byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09
- .byte 0x01, 0x01, 0x01, 0x09, 0x09, 0x09, 0x09, 0x09
- .byte 0x09, 0x09, 0x00, 0x00, 0x01, 0x01, 0x00, 0x09
- .byte 0x09, 0x09, 0x09, 0x09, 0x02, 0x02, 0x00, 0x00
- .byte 0x01, 0x01, 0x01, 0x09, 0x09, 0x09, 0x03, 0x03
- .byte 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x09
- .byte 0x03, 0x03, 0x04, 0x04, 0x00, 0x00, 0x01, 0x01
- .byte 0x02, 0x02, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00
- .byte 0x04, 0x06, 0x00, 0x00, 0x00, 0x03, 0x05, 0x07
- .byte 0x00, 0x00, 0x02, 0x04, 0x06, 0x08, 0x00, 0x01
- .byte 0x03, 0x05, 0x06, 0x09
-
- .align 2
-gUnknown_082F7DF0_UnrefDupe:: @ 82F4698
- .incbin "graphics/link_games/dodrioberry_bg1.gbapal"
-
- .align 2
- .incbin "graphics/link_games/dodrioberry_bg2.gbapal"
-
- .align 2
-gUnknown_082F7E30_UnrefDupe:: @ 82F46B8
- .incbin "graphics/link_games/dodrioberry_pkmn.gbapal"
-
- .align 2
-gUnknown_082F7E50_UnrefDupe:: @ 82F46D8
- .incbin "graphics/link_games/dodrioberry_shiny.gbapal"
-
- .align 2
-gUnknown_082F7E70_UnrefDupe:: @ 82F46F8
- .incbin "graphics/link_games/dodrioberry_status.gbapal"
-
- .align 2
-gUnknown_082F7E90_UnrefDupe:: @ 82F4718
- .incbin "graphics/link_games/dodrioberry_berrysprites.gbapal"
-
- .align 2
-gUnknown_082F7EB0_UnrefDupe:: @ 82F4738
- .incbin "graphics/link_games/dodrioberry_berrysprites.4bpp.lz"
-
- .align 2
-gUnknown_082F8064_UnrefDupe:: @ 82F490C
- .incbin "graphics/link_games/dodrioberry_platform.gbapal"
-
- .align 2
-gUnknown_082F8084_UnrefDupe:: @ 82F492C
- .incbin "graphics/link_games/dodrioberry_bg1.4bpp.lz"
-
- .align 2
-gUnknown_082F8914_UnrefDupe:: @ 82F51BC
- .incbin "graphics/link_games/dodrioberry_bg2.4bpp.lz"
-
- .align 2
-gUnknown_082F96E0_UnrefDupe:: @ 82F5F88
- .incbin "graphics/link_games/dodrioberry_status.4bpp.lz"
-
- .align 2
-gUnknown_082F9774_UnrefDupe:: @ 82F601C
- .incbin "graphics/link_games/dodrioberry_platform.4bpp.lz"
-
- .align 2
-gUnknown_082F98BC_UnrefDupe:: @ 82F6164
- .incbin "graphics/link_games/dodrioberry_pkmn.4bpp.lz"
-
- .align 2
-gUnknown_082FAAD8_UnrefDupe:: @ 82F7380
- .incbin "graphics/link_games/dodrioberry_bg1.bin.lz"
-
- .align 2
-gUnknown_082FAD44_UnrefDupe:: @ 82F75EC
- .incbin "graphics/link_games/dodrioberry_bg2right.bin.lz"
-
- .align 2
-gUnknown_082FAF94_UnrefDupe:: @ 82F783C
- .incbin "graphics/link_games/dodrioberry_bg2left.bin.lz"
-
- .align 2
-gUnknown_082F7A88:: @ 82F7A88
- .byte 0x28, 0x18, 0x0d, 0x20, 0x13, 0x0a, 0x16, 0x0d
- .byte 0x07, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F7A94:: @ 82F7A94
- .byte 0x08, 0x05, 0x08, 0x0b, 0x0f, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082F7A9C:: @ 82F7A9C
- .byte 0x05, 0x0a, 0x14, 0x1e, 0x32, 0x46, 0x64, 0x00
-
- .align 2
-gUnknown_082F7AA4:: @ 82F7AA4
- .byte 0x0f, 0x10, 0x11, 0x12, 0x13, 0x13, 0x12, 0x11
- .byte 0x10, 0x0f, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19
- .byte 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21
- .byte 0x22, 0x22, 0x21, 0x20, 0x1f, 0x1e, 0x00, 0x00
-
- .align 2
-gUnknown_082F7AC4:: @ 82F7AC4
- .4byte sub_8024DBC
- .4byte sub_8024E00
- .4byte sub_8024E38
- .4byte sub_8024F10
- .4byte sub_8024F38
- .4byte sub_8025198
- .4byte sub_8025324
- .4byte sub_8025470
- .4byte sub_8025644
- .4byte sub_80256AC
- .4byte sub_8025758
- .4byte sub_80250D4
-
- .align 2
-gUnknown_082F7AF4:: @ 82F7AF4
- .4byte sub_8024DBC
- .4byte sub_8024E00
- .4byte sub_8024E38
- .4byte sub_8024F10
- .4byte sub_8024FFC
- .4byte sub_8025230
- .4byte sub_8025324
- .4byte sub_8025470
- .4byte sub_8025644
- .4byte sub_80256AC
- .4byte sub_8025758
- .4byte sub_8025158
-
- .align 2
-gUnknown_082F7B24:: @ 82F7B24
- .2byte 0x000a, 0x001e, 0x0032, 0x0032
-
- .align 2
-gUnknown_082F7B2C:: @ 82F7B2C
- .byte 0x00, 0x05, 0x01, 0x14, 0x0b, 0x0f, 0x01, 0x00
-
- .align 2
-gUnknown_082F7B34:: @ 82F7B34
- .4byte gText_BerriesPicked
- .4byte gText_BestScore
- .4byte gText_BerriesInRowFivePlayers
-
- .align 2
-gUnknown_082F7B40:: @ 82F7B40
- .byte 0x04, 0x07, 0x04, 0x00
-
- .align 2
-gUnknown_082F7B44:: @ 82F7B44
- .2byte 0x0019, 0x0029, 0x0039
-
-gUnknown_082F7B4A:: @ 82F7B4A
- .2byte 0x0019, 0x0029, 0x0049
-
- .align 2
-gUnknown_082F7B50:: @ 82F7B50
- .2byte 0x270f, 0x0000, 0x005a, 0x270f, 0x270f, 0x270f, 0x0046, 0x270f
- .2byte 0x270f, 0x0000, 0x270f, 0x0000, 0x270f, 0x270f, 0x003c, 0x0000
- .2byte 0x270f, 0x270f, 0x270f, 0x0000
-
- .align 2
-gUnknown_082F7B78:: @ 82F7B78
- .string "ÀÁÂÇÈÉÊ$"
-
- .align 2
-gUnknown_082F7B80:: @ 82F7B80
- .string "ABCDEFG$"
-
- .align 2
-gUnknown_082F7B88:: @ 82F7B88
- .string "0123456$"
-
- .align 2
-gUnknown_082F7B90:: @ 82F7B90
- .4byte gUnknown_082F7B78
- .4byte gUnknown_082F7B78
- .4byte gUnknown_082F7B78
- .4byte gUnknown_082F7B80
- .4byte gUnknown_082F7B88
-
- .align 2
-gUnknown_082F7BA4:: @ 82F7BA4 struct BgTemplate
- .4byte 0x000001e0
- .4byte 0x000012c9
- .4byte 0x000012ea
- .4byte 0x000021ff
- .4byte 0x000000ff
- .4byte 0x00000000
-
- .align 2
-gUnknown_082F7BBC:: @ 82F7BBC
- window_template 0x00, 0x01, 0x01, 0x1c, 0x02, 0x0d, 0x0013
- window_template 0x00, 0x01, 0x05, 0x1c, 0x0e, 0x0d, 0x004b
-
- .align 2
-gUnknown_082F7BCC:: @ 82F7BCC
- window_template 0x00, 0x01, 0x05, 0x1c, 0x07, 0x0d, 0x004b
-
- .align 2
-gUnknown_082F7BD4:: @ 82F7BD4
- window_template 0x00, 0x01, 0x08, 0x13, 0x03, 0x0d, 0x0013
- window_template 0x00, 0x16, 0x07, 0x06, 0x04, 0x0d, 0x004c
-
- .align 2
-gUnknown_082F7BE4:: @ 82F7BE4
- window_template 0x00, 0x04, 0x06, 0x16, 0x05, 0x0d, 0x0013
-
- .align 2
-gUnknown_082F7BEC:: @ 82F7BEC
- window_template 0x00, 0x05, 0x08, 0x13, 0x03, 0x0d, 0x0013
-
- .align 2
-gUnknown_082F449C_UnrefDupe:: @ 82F7BF4
- .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
- .byte 0x08, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x03, 0x08
- .byte 0x09, 0x00, 0x00, 0x01, 0x02, 0x05, 0x06, 0x03
- .byte 0x04, 0x05, 0x08, 0x09, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
- .byte 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x02, 0x09
- .byte 0x00, 0x00, 0x01, 0x04, 0x05, 0x06, 0x07, 0x02
- .byte 0x03, 0x04, 0x09, 0x00, 0x00, 0x01, 0x06, 0x07
- .byte 0x02, 0x03, 0x04, 0x05, 0x06, 0x09, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02
- .byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x00
- .byte 0x00, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01
- .byte 0x02, 0x03, 0x00, 0x00, 0x05, 0x06, 0x07, 0x08
- .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x07
- .byte 0x08, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03
- .byte 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x02
- .byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00
- .byte 0x01, 0x02, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09
- .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x08
- .byte 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
- .byte 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05
- .byte 0x06, 0x07, 0x08, 0x04, 0x05, 0x06, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x03, 0x04, 0x05, 0x05, 0x06, 0x03
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x04, 0x05, 0x06, 0x06, 0x07, 0x02, 0x02
- .byte 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x04, 0x05, 0x05, 0x06, 0x07, 0x07, 0x08
- .byte 0x01, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x04
- .byte 0x05, 0x06, 0x06, 0x07, 0x08, 0x08, 0x09, 0x00
- .byte 0x00, 0x01, 0x02, 0x02, 0x03, 0x04, 0x01, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01
- .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00
- .byte 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x01
- .byte 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00
- .byte 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x02
- .byte 0x01, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x04
- .byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09
- .byte 0x01, 0x01, 0x01, 0x09, 0x09, 0x09, 0x09, 0x09
- .byte 0x09, 0x09, 0x00, 0x00, 0x01, 0x01, 0x00, 0x09
- .byte 0x09, 0x09, 0x09, 0x09, 0x02, 0x02, 0x00, 0x00
- .byte 0x01, 0x01, 0x01, 0x09, 0x09, 0x09, 0x03, 0x03
- .byte 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x09
- .byte 0x03, 0x03, 0x04, 0x04, 0x00, 0x00, 0x01, 0x01
- .byte 0x02, 0x02, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00
- .byte 0x04, 0x06, 0x00, 0x00, 0x00, 0x03, 0x05, 0x07
- .byte 0x00, 0x00, 0x02, 0x04, 0x06, 0x08, 0x00, 0x01
- .byte 0x03, 0x05, 0x06, 0x09
-
- .align 2
-gDodrioBerryBgPal1:: @ 82F7DF0
- .incbin "graphics/link_games/dodrioberry_bg1.gbapal"
-
- .align 2
- .incbin "graphics/link_games/dodrioberry_bg2.gbapal"
-
- .align 2
-gDodrioBerryPkmnPal:: @ 82F7E30
- .incbin "graphics/link_games/dodrioberry_pkmn.gbapal"
-
- .align 2
-gDodrioBerryShinyPal:: @ 82F7E50
- .incbin "graphics/link_games/dodrioberry_shiny.gbapal"
-
- .align 2
-gDodrioBerryStatusPal:: @ 82F7E70
- .incbin "graphics/link_games/dodrioberry_status.gbapal"
-
- .align 2
-gDodrioBerrySpritesPal:: @ 82F7E90
- .incbin "graphics/link_games/dodrioberry_berrysprites.gbapal"
-
- .align 2
-gDodrioBerrySpritesGfx:: @ 82F7EB0
- .incbin "graphics/link_games/dodrioberry_berrysprites.4bpp.lz"
-
- .align 2
-gDodrioBerryPlatformPal:: @ 82F8064
- .incbin "graphics/link_games/dodrioberry_platform.gbapal"
-
- .align 2
-gDodrioBerryBgGfx1:: @ 82F8084
- .incbin "graphics/link_games/dodrioberry_bg1.4bpp.lz"
-
- .align 2
-gDodrioBerryBgGfx2:: @ 82F8914
- .incbin "graphics/link_games/dodrioberry_bg2.4bpp.lz"
-
- .align 2
-gDodrioBerryStatusGfx:: @ 82F96E0
- .incbin "graphics/link_games/dodrioberry_status.4bpp.lz"
-
- .align 2
-gDodrioBerryPlatformGfx:: @ 82F9774
- .incbin "graphics/link_games/dodrioberry_platform.4bpp.lz"
-
- .align 2
-gDodrioBerryPkmnGfx:: @ 82F98BC
- .incbin "graphics/link_games/dodrioberry_pkmn.4bpp.lz"
-
- .align 2
-gDodrioBerryBgTilemap1:: @ 82FAAD8
- .incbin "graphics/link_games/dodrioberry_bg1.bin.lz"
-
- .align 2
-gDodrioBerryBgTilemap2Right:: @ 82FAD44
- .incbin "graphics/link_games/dodrioberry_bg2right.bin.lz"
-
- .align 2
-gDodrioBerryBgTilemap2Left:: @ 82FAF94
- .incbin "graphics/link_games/dodrioberry_bg2left.bin.lz"
-
- .align 2
-gUnknown_082FB1E0:: @ 82FB1E0
- .byte 0x00, 0x00, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_082FB1E8:: @ 82FB1E8
- .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082FB1F0:: @ 82FB1F0
- .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_082FB1F8:: @ 82FB1F8
- .byte 0x00, 0x40, 0x00, 0xc0, 0x00, 0x0c, 0x00, 0x00
-
- .align 2
-gUnknown_082FB200:: @ 82FB200
- .2byte 0x0000, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB208:: @ 82FB208
- .2byte 0x0040, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB210:: @ 82FB210
- .2byte 0x0080, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB218:: @ 82FB218
- .2byte 0x00c0, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB220:: @ 82FB220
- .2byte 0x0100, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB228:: @ 82FB228
- .4byte gUnknown_082FB200
- .4byte gUnknown_082FB208
- .4byte gUnknown_082FB210
- .4byte gUnknown_082FB218
- .4byte gUnknown_082FB220
-
- .align 2
-gUnknown_082FB23C:: @ 82FB23C
- .2byte 0x0000, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB244:: @ 82FB244
- .2byte 0x0004, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB24C:: @ 82FB24C
- .2byte 0x0008, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB254:: @ 82FB254
- .4byte gUnknown_082FB23C
- .4byte gUnknown_082FB244
- .4byte gUnknown_082FB24C
-
- .align 2
-gUnknown_082FB260:: @ 82FB260
- .2byte 0x0000, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB268:: @ 82FB268
- .2byte 0x0004, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB270:: @ 82FB270
- .2byte 0x0008, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB278:: @ 82FB278
- .2byte 0x000c, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB280:: @ 82FB280
- .2byte 0x0010, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB288:: @ 82FB288
- .2byte 0x0014, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB290:: @ 82FB290
- .2byte 0x0018, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB298:: @ 82FB298
- .2byte 0x001c, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB2A0:: @ 82FB2A0
- .2byte 0x0020, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB2A8:: @ 82FB2A8
- .4byte gUnknown_082FB260
- .4byte gUnknown_082FB268
- .4byte gUnknown_082FB270
- .4byte gUnknown_082FB278
- .4byte gUnknown_082FB280
- .4byte gUnknown_082FB288
- .4byte gUnknown_082FB290
- .4byte gUnknown_082FB298
- .4byte gUnknown_082FB2A0
-
- .align 2
-gUnknown_082FB2CC:: @ 82FB2CC
- .2byte 0x0000, 0x0014
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_082FB2D4:: @ 82FB2D4
- .4byte gUnknown_082FB2CC
-
- .align 2
-gUnknown_082FB2D8:: @ 82FB2D8
- obj_pal gDodrioBerryPkmnPal, 0x0000
-
- .align 2
-gUnknown_082FB2E0:: @ 82FB2E0
- obj_pal gDodrioBerryShinyPal, 0x0001
-
- .align 2
-gUnknown_082FB2E8:: @ 82FB2E8
- obj_pal gDodrioBerryStatusPal, 0x0002
-
- .align 2
-gUnknown_082FB2F0:: @ 82FB2F0
- spr_template 0x0001, 0x0002, gUnknown_082FB1E8, gUnknown_082FB254, NULL, gDummySpriteAffineAnimTable, nullsub_15
-
- .align 2
- .byte 0xD4, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44
- .byte 0x45, 0xFB, 0x00, 0x00
-
- .align 2
-gUnknown_082FB314:: @ 82FB314
- obj_pal gDodrioBerrySpritesPal, 0x0003
-
- .align 2
-gUnknown_082FB31C:: @ 82FB31C
- .2byte 0x0058, 0x0080, 0x00a8, 0x00d0
-
- .align 2
-gUnknown_082FB324:: @ 82FB324
- spr_template 0x0002, 0x0003, gUnknown_082FB1F0, gUnknown_082FB2A8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082FB33C:: @ 82FB33C
- spr_template 0x0002, 0x0003, gUnknown_082FB1E8, gUnknown_082FB2A8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082FB354:: @ 82FB354
- .byte 0x1E, 0x14
-
-gUnknown_082FB356:: @ 82FB356
- .byte 0xE6, 0x00
-
- .align 2
-gUnknown_082FB358:: @ 82FB358
- .2byte 0x0037, 0x001e, 0x004a, 0x0000
-
- .align 2
-gUnknown_082FB360:: @ 82FB360
- obj_pal gDodrioBerryPlatformPal, 0x0006
-
- .align 2
-gUnknown_082FB368:: @ 82FB368
- spr_template 0x0005, 0x0006, gUnknown_082FB1F8, gUnknown_082FB2D4, NULL, gDummySpriteAffineAnimTable, sub_8028CF4
-
- .align 2
-gUnknown_082FB380:: @ 82FB380
- .byte 0x01, 0x02, 0x03
-
-gUnknown_082FB383:: @ 82FB383
- .byte 0x01, 0x04, 0x05
- .byte 0x01, 0x08, 0x09
- .byte 0x01, 0x06, 0x07
-
- .align 2
-gUnknown_082FB38C:: @ 82FB38C
- .byte 0x0c, 0x06, 0x00, 0x00
-
- .align 2
-gUnknown_082FB390:: @ 82FB390
- .byte 0x09, 0x0a, 0x00, 0x00, 0x0f, 0x06, 0x00, 0x00
-
- .align 2
-gUnknown_082FB398:: @ 82FB398
- .byte 0x0c, 0x06, 0x00, 0x00, 0x12, 0x0a, 0x00, 0x00
- .byte 0x06, 0x0a, 0x00, 0x00
-
- .align 2
-gUnknown_082FB3A4:: @ 82FB3A4
- .byte 0x09, 0x0a, 0x00, 0x00, 0x0f, 0x06, 0x00, 0x00
- .byte 0x15, 0x0a, 0x00, 0x00, 0x03, 0x06, 0x00, 0x00
-
- .align 2
-gUnknown_082FB3B4:: @ 82FB3B4
- .byte 0x0c, 0x06, 0x00, 0x00, 0x12, 0x0a, 0x00, 0x00
- .byte 0x17, 0x06, 0x00, 0x00, 0x01, 0x06, 0x00, 0x00
- .byte 0x06, 0x0a, 0x00, 0x00
-
- .align 2
-gUnknown_082FB3C8:: @ 82FB3C8
- .4byte gUnknown_082FB38C
- .4byte gUnknown_082FB390
- .4byte gUnknown_082FB398
- .4byte gUnknown_082FB3A4
- .4byte gUnknown_082FB3B4
-
- .align 2
-gUnknown_082FB3DC:: @ 82FB3DC
- .4byte gText_1Colon
- .4byte gText_2Colon
- .4byte gText_3Colon
- .4byte gText_4Colon
- .4byte gText_5Colon
-
- .align 2
-gUnknown_082FB3F0:: @ 82FB3F0
- .2byte 0x005c, 0x0084, 0x00ac, 0x00d4
-
-gUnknown_082FB3F8:: @ 82FB3F8
- .2byte 0x0021, 0x0031, 0x0041, 0x0051, 0x0061
-
-gUnknown_082FB402:: @ 82FB402
- .2byte 0x0011, 0x0021, 0x0031, 0x0041, 0x0051
-
- .align 2
-gUnknown_082FB40C:: @ 82FB40C
- .4byte 0x00000000, sub_8029338
- .4byte 0x00000001, sub_8029440
- .4byte 0x00000002, sub_802988C
- .4byte 0x00000003, sub_802A010
- .4byte 0x00000004, sub_802A380
- .4byte 0x00000005, sub_802A454
- .4byte 0x00000006, sub_802A534
- .4byte 0x00000007, sub_802A588
- .4byte 0x00000008, unused_0
- .4byte 0x00000009, nullsub_16
-
- .align 2
-gUnknown_082FB45C:: @ 82FB45C
- .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00
-
- .align 2
-gPkmnJumpSpecies:: @ 82FB464
- .2byte SPECIES_BULBASAUR, 0x0002
- .2byte SPECIES_CHARMANDER, 0x0001
- .2byte SPECIES_SQUIRTLE, 0x0000
- .2byte SPECIES_CATERPIE, 0x0001
- .2byte SPECIES_METAPOD, 0x0001
- .2byte SPECIES_WEEDLE, 0x0001
- .2byte SPECIES_KAKUNA, 0x0001
- .2byte SPECIES_RATTATA, 0x0001
- .2byte SPECIES_RATICATE, 0x0001
- .2byte SPECIES_PIKACHU, 0x0000
- .2byte SPECIES_SANDSHREW, 0x0000
- .2byte SPECIES_NIDORAN_F, 0x0000
- .2byte SPECIES_NIDORAN_M, 0x0000
- .2byte SPECIES_CLEFAIRY, 0x0000
- .2byte SPECIES_VULPIX, 0x0000
- .2byte SPECIES_JIGGLYPUFF, 0x0002
- .2byte SPECIES_ODDISH, 0x0002
- .2byte SPECIES_PARAS, 0x0001
- .2byte SPECIES_MEOWTH, 0x0000
- .2byte SPECIES_PSYDUCK, 0x0002
- .2byte SPECIES_MANKEY, 0x0001
- .2byte SPECIES_GROWLITHE, 0x0001
- .2byte SPECIES_POLIWAG, 0x0002
- .2byte SPECIES_BELLSPROUT, 0x0002
- .2byte SPECIES_SHELLDER, 0x0001
- .2byte SPECIES_KRABBY, 0x0001
- .2byte SPECIES_EXEGGCUTE, 0x0002
- .2byte SPECIES_CUBONE, 0x0000
- .2byte SPECIES_DITTO, 0x0002
- .2byte SPECIES_EEVEE, 0x0000
- .2byte SPECIES_OMANYTE, 0x0001
- .2byte SPECIES_KABUTO, 0x0001
- .2byte SPECIES_CHIKORITA, 0x0002
- .2byte SPECIES_CYNDAQUIL, 0x0001
- .2byte SPECIES_TOTODILE, 0x0000
- .2byte SPECIES_SPINARAK, 0x0001
- .2byte SPECIES_PICHU, 0x0000
- .2byte SPECIES_CLEFFA, 0x0000
- .2byte SPECIES_IGGLYBUFF, 0x0002
- .2byte SPECIES_TOGEPI, 0x0002
- .2byte SPECIES_MAREEP, 0x0000
- .2byte SPECIES_BELLOSSOM, 0x0002
- .2byte SPECIES_MARILL, 0x0002
- .2byte SPECIES_SUNKERN, 0x0002
- .2byte SPECIES_WOOPER, 0x0002
- .2byte SPECIES_PINECO, 0x0002
- .2byte SPECIES_SNUBBULL, 0x0000
- .2byte SPECIES_SHUCKLE, 0x0002
- .2byte SPECIES_TEDDIURSA, 0x0000
- .2byte SPECIES_SLUGMA, 0x0002
- .2byte SPECIES_SWINUB, 0x0000
- .2byte SPECIES_HOUNDOUR, 0x0001
- .2byte SPECIES_PHANPY, 0x0000
- .2byte SPECIES_PORYGON2, 0x0000
- .2byte SPECIES_TYROGUE, 0x0001
- .2byte SPECIES_SMOOCHUM, 0x0002
- .2byte SPECIES_ELEKID, 0x0001
- .2byte SPECIES_MAGBY, 0x0001
- .2byte SPECIES_LARVITAR, 0x0001
- .2byte SPECIES_TREECKO, 0x0001
- .2byte SPECIES_TORCHIC, 0x0002
- .2byte SPECIES_MUDKIP, 0x0000
- .2byte SPECIES_MARSHTOMP, 0x0000
- .2byte SPECIES_POOCHYENA, 0x0001
- .2byte SPECIES_ZIGZAGOON, 0x0000
- .2byte SPECIES_LINOONE, 0x0000
- .2byte SPECIES_WURMPLE, 0x0001
- .2byte SPECIES_SILCOON, 0x0002
- .2byte SPECIES_CASCOON, 0x0002
- .2byte SPECIES_LOTAD, 0x0002
- .2byte SPECIES_SEEDOT, 0x0001
- .2byte SPECIES_RALTS, 0x0000
- .2byte SPECIES_KIRLIA, 0x0000
- .2byte SPECIES_SURSKIT, 0x0002
- .2byte SPECIES_SHROOMISH, 0x0002
- .2byte SPECIES_NINCADA, 0x0001
- .2byte SPECIES_WHISMUR, 0x0000
- .2byte SPECIES_AZURILL, 0x0002
- .2byte SPECIES_SKITTY, 0x0000
- .2byte SPECIES_SABLEYE, 0x0000
- .2byte SPECIES_MAWILE, 0x0000
- .2byte SPECIES_ARON, 0x0001
- .2byte SPECIES_MEDITITE, 0x0002
- .2byte SPECIES_ELECTRIKE, 0x0001
- .2byte SPECIES_PLUSLE, 0x0001
- .2byte SPECIES_MINUN, 0x0001
- .2byte SPECIES_VOLBEAT, 0x0000
- .2byte SPECIES_ILLUMISE, 0x0000
- .2byte SPECIES_ROSELIA, 0x0002
- .2byte SPECIES_GULPIN, 0x0002
- .2byte SPECIES_NUMEL, 0x0002
- .2byte SPECIES_TORKOAL, 0x0002
- .2byte SPECIES_SPOINK, 0x0000
- .2byte SPECIES_TRAPINCH, 0x0002
- .2byte SPECIES_CACNEA, 0x0002
- .2byte SPECIES_ANORITH, 0x0001
- .2byte SPECIES_WYNAUT, 0x0000
- .2byte SPECIES_SNORUNT, 0x0000
- .2byte SPECIES_CLAMPERL, 0x0001
- .2byte SPECIES_BAGON, 0x0001
-
- .align 2
-gUnknown_082FB5F4:: @ 82FB5F4
- .4byte sub_802B248
- .4byte sub_802B2D4
- .4byte sub_802B368
- .4byte sub_802B3D4
- .4byte sub_802B4CC
- .4byte sub_802B5C8
- .4byte sub_802B664
- .4byte sub_802B6B8
- .4byte sub_802B720
-
- .align 2
-gUnknown_082FB618:: @ 82FB618
- .4byte sub_802B29C
- .4byte sub_802B31C
- .4byte sub_802B3B4
- .4byte sub_802B470
- .4byte sub_802B568
- .4byte sub_802B628
- .4byte sub_802B664
- .4byte sub_802B704
- .4byte sub_802B720
-
- .align 2
-gUnknown_082FB63C:: @ 82FB63C
- .2byte 0x001a, 0x001f, 0x0024, 0x0029, 0x002e, 0x0033, 0x0038, 0x003d
-
- .align 2
-gUnknown_082FB64C:: @ 82FB64C
- .2byte 0x0000, 0x0001, 0x0001, 0x0002
-
- .align 2
-gUnknown_082FB654:: @ 82FB654
- .2byte 0x005f, 0x0066, 0x00e4, 0x0105
-
- .align 2
-gUnknown_082FB65C:: @ 82FB65C
- .byte 0xfd, 0xfa, 0xf8, 0xf6, 0xf3, 0xf1, 0xef, 0xed
- .byte 0xeb, 0xe9, 0xe7, 0xe5, 0xe4, 0xe3, 0xe2, 0xe2
- .byte 0xe2, 0xe4, 0xe5, 0xe6, 0xe7, 0xe9, 0xea, 0xec
- .byte 0xee, 0xef, 0xf1, 0xf3, 0xf5, 0xf8, 0xfa, 0xfc
- .byte 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0xfd, 0xfa, 0xf7, 0xf5, 0xf2, 0xf0, 0xee, 0xec
- .byte 0xea, 0xe8, 0xe6, 0xe4, 0xe3, 0xe2, 0xe2, 0xe4
- .byte 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2, 0xf5
- .byte 0xf7, 0xfa, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0xfd, 0xfa, 0xf7, 0xf5, 0xf3, 0xf1, 0xef, 0xed
- .byte 0xeb, 0xe9, 0xe7, 0xe5, 0xe4, 0xe3, 0xe2, 0xe2
- .byte 0xe2, 0xe2, 0xe3, 0xe3, 0xe4, 0xe4, 0xe5, 0xe5
- .byte 0xe6, 0xe7, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2
- .byte 0xf4, 0xf5, 0xf7, 0xfa, 0xfc, 0xff, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082FB6EC:: @ 82FB6EC
- .4byte 0x00000000, 0x00000000, 0x00000032, 0x00000064
- .4byte 0x000000c8, 0x000001f4
-
- .align 2
-gUnknown_082FB704:: @ 82FB704
- .2byte 0x008a, 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093
-
- .align 2
-gUnknown_082FB714:: @ 82FB714
- .4byte 0x00001388, 0x00000001, 0x00001f40, 0x00000002
- .4byte 0x00002ee0, 0x00000003, 0x00003e80, 0x00000004
- .4byte 0x00004e20, 0x00000005
-
- .align 2
-gPkmnJumpPal1:: @ 82FB73C
- .incbin "graphics/link_games/pkmnjump_pal1.gbapal"
-
- .align 2
-gPkmnJumpPal2:: @ 82FB75C
- .incbin "graphics/link_games/pkmnjump_pal2.gbapal"
-
- .align 2
-gPkmnJumpRopeGfx1:: @ 82FB77C
- .incbin "graphics/link_games/pkmnjump_rope1.4bpp.lz"
-
- .align 2
-gPkmnJumpRopeGfx2:: @ 82FB89C
- .incbin "graphics/link_games/pkmnjump_rope2.4bpp.lz"
-
- .align 2
-gPkmnJumpRopeGfx3:: @ 82FBA70
- .incbin "graphics/link_games/pkmnjump_rope3.4bpp.lz"
-
- .align 2
-gPkmnJumpRopeGfx4:: @ 82FBBA0
- .incbin "graphics/link_games/pkmnjump_rope4.4bpp.lz"
-
- .align 2
-gPkmnJumpStarGfx:: @ 82FBC9C
- .incbin "graphics/link_games/pkmnjump_star.4bpp.lz"
-
- .align 2
-gUnknown_082FBE08:: @ 82FBE08
- obj_tiles gPkmnJumpRopeGfx1, 0x0600, 0x0005
-
- .align 2
- obj_tiles gPkmnJumpRopeGfx2, 0x0c00, 0x0006
-
- .align 2
- obj_tiles gPkmnJumpRopeGfx3, 0x0600, 0x0007
-
- .align 2
- obj_tiles gPkmnJumpRopeGfx4, 0x0600, 0x0008
-
- .align 2
- obj_tiles gPkmnJumpStarGfx, 0x0200, 0x000a
-
- .align 2
-gUnknown_082FBE30:: @ 82FBE30
- obj_pal gPkmnJumpPal1, 0x0005
-
- .align 2
- obj_pal gPkmnJumpPal2, 0x0006
-
- .align 2
-gUnknown_082FBE40:: @ 82FBE40
- spr_template 0x0000, 0x0000, gUnknown_082FBEC8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_082FBE58:: @ 82FBE58
- .2byte 0x0060, 0x0060, 0x0060, 0x0072, 0x0078, 0x0078, 0x0078, 0x0072
- .2byte 0x0060, 0x0060, 0x0046, 0x0050, 0x0060, 0x0072, 0x0078, 0x0080
- .2byte 0x0078, 0x0072, 0x0060, 0x0050, 0x0032, 0x0048, 0x0060, 0x0072
- .2byte 0x0080, 0x0088, 0x0080, 0x0072, 0x0060, 0x0048, 0x002a, 0x0048
- .2byte 0x0060, 0x0072, 0x0080, 0x0088, 0x0080, 0x0072, 0x0060, 0x0048
-
-gUnknown_082FBEA8:: @ 82FBEA8
- .2byte 0x0010, 0x0028, 0x0048, 0x0068, 0x0088, 0x00a8, 0x00c8, 0x00e0
-
- .align 2
-gUnknown_082FBEB8:: @ 82FBEB8
- .4byte gUnknown_082FBF78
- .4byte gUnknown_082FBF90
- .4byte gUnknown_082FBFA8
- .4byte gUnknown_082FBFC0
-
- .align 2
-gUnknown_082FBEC8:: @ 82FBED0
- .byte 0x00, 0x00, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_082FBED0:: @ 82FBED0
- .byte 0x00, 0x80, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_082FBED8:: @ 82FBED8
- .byte 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_082FBEE0:: @ 82FBEE0
- .byte 0x00, 0x40, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_082FBEE8:: @ 82FBEE8
- .2byte 0x0000, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FBEF0:: @ 82FBEF0
- .2byte 0x0008, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FBEF8:: @ 82FBEF8
- .2byte 0x0010, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FBF00:: @ 82FBF00
- .2byte 0x0018, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FBF08:: @ 82FBF08
- .2byte 0x0020, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FBF10:: @ 82FBF10
- .2byte 0x0028, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FBF18:: @ 82FBF18
- .2byte 0x0000, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FBF20:: @ 82FBF20
- .2byte 0x0010, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FBF28:: @ 82FBF28
- .2byte 0x0020, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FBF30:: @ 82FBF30
- .2byte 0x0030, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FBF38:: @ 82FBF38
- .2byte 0x0040, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FBF40:: @ 82FBF40
- .2byte 0x0050, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FBF48:: @ 82FBF48
- .4byte gUnknown_082FBEE8
- .4byte gUnknown_082FBEF0
- .4byte gUnknown_082FBEF8
- .4byte gUnknown_082FBF00
- .4byte gUnknown_082FBF08
- .4byte gUnknown_082FBF10
-
- .align 2
-gUnknown_082FBF60:: @ 82FBF60
- .4byte gUnknown_082FBF18
- .4byte gUnknown_082FBF20
- .4byte gUnknown_082FBF28
- .4byte gUnknown_082FBF30
- .4byte gUnknown_082FBF38
- .4byte gUnknown_082FBF40
-
- .align 2
-gUnknown_082FBF78:: @ 82FBF78
- spr_template 0x0005, 0x0005, gUnknown_082FBED0, gUnknown_082FBF48, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082FBF90:: @ 82FBF90
- spr_template 0x0006, 0x0005, gUnknown_082FBED8, gUnknown_082FBF60, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082FBFA8:: @ 82FBFA8
- spr_template 0x0007, 0x0005, gUnknown_082FBEE0, gUnknown_082FBF48, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082FBFC0:: @ 82FBFC0
- spr_template 0x0008, 0x0005, gUnknown_082FBEE0, gUnknown_082FBF48, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082FBFD8:: @ 82FBFD8
- .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00
-
- .align 2
-gUnknown_082FBFE0:: @ 82FBFE0
- .2byte 0x0000, 0x0000
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FBFE8:: @ 82FBFE8
- .2byte 0x0000, 0x0004
- .2byte 0x0004, 0x0004
- .2byte 0x0008, 0x0004
- .2byte 0x000c, 0x0004
- .2byte 0xfffd, 0x0001
- .2byte 0x0000, 0x0004
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FC004:: @ 82FC004
- .4byte gUnknown_082FBFE0
- .4byte gUnknown_082FBFE8
-
- .align 2
-gUnknown_082FC00C:: @ 82FC00C
- spr_template 0x000a, 0x0005, gUnknown_082FBFD8, gUnknown_082FC004, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gPkmnJumpPal3:: @ 82FC024
- .incbin "graphics/link_games/pkmnjump_pal3.gbapal"
-
- .align 2
-gPkmnJumpBgPal:: @ 82FC044
- .incbin "graphics/link_games/pkmnjump_bg.gbapal"
-
- .align 2
-gPkmnJumpBgGfx:: @ 82FC064
- .incbin "graphics/link_games/pkmnjump_bg.4bpp.lz"
-
- .align 2
-gPkmnJumpBgTilemap:: @ 82FC290
- .incbin "graphics/link_games/pkmnjump_bg.bin.lz"
-
- .align 2
-gPkmnJumpVenusaurPal:: @ 82FC440
- .incbin "graphics/link_games/pkmnjump_venusaur.gbapal"
-
- .align 2
-gPkmnJumpVenusaurGfx:: @ 82FC460
- .incbin "graphics/link_games/pkmnjump_venusaur.4bpp.lz"
-
- .align 2
-gPkmnJumpVenusaurTilemap:: @ 82FCDB0
- .incbin "graphics/link_games/pkmnjump_venusaur.bin.lz"
-
- .align 2
-gPkmnJumpResultsPal:: @ 82FD168
- .incbin "graphics/link_games/pkmnjump_results.gbapal"
-
- .align 2
-gPkmnJumpResultsGfx:: @ 82FD188
- .incbin "graphics/link_games/pkmnjump_results.4bpp.lz"
-
- .align 2
-gPkmnJumpResultsTilemap:: @ 82FDC38
- .incbin "graphics/link_games/pkmnjump_results.bin.lz"
-
- .align 2
-gUnknown_082FE164:: @ 82FE164 struct BgTemplate
- .4byte 0x000001b0, 0x000025e6, 0x000016c9, 0x000031df
-
- .align 2
-gUnknown_082FE174:: @ 82FE174
- window_template 0x00, 0x13, 0x00, 0x06, 0x02, 0x02, 0x0013
- window_template 0x00, 0x08, 0x00, 0x06, 0x02, 0x02, 0x001f
- null_window_template
-
- .align 2
-gUnknown_082FE18C:: @ 82FE18C
- .4byte 0x00000000, sub_802D150
- .4byte 0x00000001, sub_802D2E4
- .4byte 0x00000002, sub_802D350
- .4byte 0x00000003, sub_802D3BC
- .4byte 0x00000004, sub_802D448
- .4byte 0x00000005, sub_802D4F4
- .4byte 0x00000006, sub_802D598
- .4byte 0x00000007, sub_802D5E4
- .4byte 0x00000009, sub_802D72C
- .4byte 0x00000008, sub_802D688
-
- .align 2
-gUnknown_082FE1DC:: @ 82FE1DC
- .byte 0x00, 0x02, 0x03
-
-gUnknown_082FE1DF:: @ 82FE1DF
- .byte 0x02, 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00
- .byte 0x00, 0x02, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082FE1EC:: @ 82FE1EC
- obj_tiles gUnknown_082FF1F8, 0x0000, 0x0320
-
- .align 2
-gUnknown_082FE1F4:: @ 82FE1F4
- obj_pal gUnknown_082FF1D8, 0x0320
-
- .align 2
-gUnknown_082FE1FC:: @ 82FE1FC
- .2byte 0x0006, 0x0008, 0x0010, 0x0008
-
- .align 2
-gUnknown_082FE204:: @ 82FE204
- .2byte 0x0006, 0x0008, 0x000b, 0x0006, 0x0010, 0x0008
-
- .align 2
-gUnknown_082FE210:: @ 82FE210
- .2byte 0x0002, 0x0006, 0x0006, 0x0008, 0x0010, 0x0008, 0x0014, 0x0006
-
- .align 2
-gUnknown_082FE220:: @ 82FE220
- .2byte 0x0002, 0x0006, 0x0006, 0x0008, 0x000b, 0x0006
- .2byte 0x0010, 0x0008, 0x0014, 0x0006
-
- .align 2
-gUnknown_082FE234:: @ 82FE234
- .4byte gUnknown_082FE1FC
- .4byte gUnknown_082FE204
- .4byte gUnknown_082FE210
- .4byte gUnknown_082FE220
-
- .align 2
-gUnknown_082FE244:: @ 82FE244
- .2byte 0x0058, 0x0098
-
-gUnknown_082FE248:: @ 82FE248
- .2byte 0x0058, 0x0078, 0x0098
-
-gUnknown_082FE24E:: @ 82FE24E
- .2byte 0x0038, 0x0058, 0x0098, 0x00b8
-
-gUnknown_082FE256:: @ 82FE256
- .2byte 0x0038, 0x0058, 0x0078, 0x0098, 0x00b8
-
- .align 2
-gUnknown_082FE260:: @ 82FE260
- .4byte gUnknown_082FE244
- .4byte gUnknown_082FE248
- .4byte gUnknown_082FE24E
- .4byte gUnknown_082FE256
-
- .align 2
-gUnknown_082FE270:: @ 82FE270
- .4byte 0x1c010100, 0x00010f09
-
- .align 2
-gUnknown_082FE278:: @ 82FE278
- .4byte gText_JumpsInARow
- .4byte gText_BestScore2
- .4byte gText_ExcellentsInARow
-
- .align 2
-gPkmnJump321StartPal1:: @ 82FE284
- .incbin "graphics/link_games/pkmnjump_321start1.gbapal"
-
- .align 2
-gPkmnJump321StartGfx1:: @ 82FE2A4
- .incbin "graphics/link_games/pkmnjump_321start1.4bpp.lz"
-
- .align 2
-gUnknown_082FE6C8:: @ 82FE6C8
- obj_tiles gPkmnJump321StartGfx1, 0x0c00, 0x2000
- null_obj_tiles
-
- .align 2
-gUnknown_082FE6D8:: @ 82FE6D8
- obj_pal gPkmnJump321StartPal1, 0x2000
- null_obj_pal
-
- .align 2
-gUnknown_082FE6E8:: @ 82FE6E8
- .2byte 0x0000, 0x0000
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FE6F0:: @ 82FE6F0
- .2byte 0x0010, 0x0000
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FE6F8:: @ 82FE6F8
- .2byte 0x0020, 0x0000
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FE700:: @ 82FE700
- .2byte 0x0040, 0x0000
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FE708:: @ 82FE708
- .2byte 0x0030, 0x0000
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FE710:: @ 82FE710
- .2byte 0x0050, 0x0000
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FE718:: @ 82FE718
- .4byte gUnknown_082FE6E8
- .4byte gUnknown_082FE6F0
- .4byte gUnknown_082FE6F8
- .4byte gUnknown_082FE700
- .4byte gUnknown_082FE708
- .4byte gUnknown_082FE710
-
- .align 2
-gUnknown_082FE730:: @ 82FE730
- spr_template 0x2000, 0x2000, gUnknown_08524914, gUnknown_082FE718, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_082FE748:: @ 82FE748
- .4byte sub_802E83C
- .4byte sub_802E8C8
- .4byte sub_802EA50
- .4byte sub_802EAB0
-
- .align 2
-gPkmnJump321StartPal2:: @ 82FE758
- .incbin "graphics/link_games/pkmnjump_321start2.gbapal"
-
- .align 2
-gPkmnJump321StartGfx2:: @ 82FE778
- .incbin "graphics/link_games/pkmnjump_321start2.4bpp.lz"
-
- .align 2
-gUnknown_082FEBCC:: @ 82FEBCC
- obj_tiles gPkmnJump321StartGfx2, 0x0e00, 0x0000
-
- .align 2
-gUnknown_082FEBD4:: @ 82FEBD4
- obj_pal gPkmnJump321StartPal2, 0x0000
-
- .align 2
-gUnknown_082FEBDC:: @ 82FEBDC
- .byte 0x00, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082FEBE4:: @ 82FEBE4
- .byte 0x00, 0x40, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_082FEBEC:: @ 82FEBEC
- .2byte 0x0000, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FEBF4:: @ 82FEBF4
- .2byte 0x0010, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FEBFC:: @ 82FEBFC
- .2byte 0x0020, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FEC04:: @ 82FEC04
- .4byte gUnknown_082FEBEC
- .4byte gUnknown_082FEBF4
- .4byte gUnknown_082FEBFC
-
- .align 2
-gUnknown_082FEC10:: @ 82FEC10
- .2byte 0x0030, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FEC18:: @ 82FEC18
- .2byte 0x0050, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_082FEC20:: @ 82FEC20
- .4byte gUnknown_082FEC10
- .4byte gUnknown_082FEC18
-
- .align 2
-gUnknown_082FEC28:: @ 82FEC28
- .2byte 0x0100, 0x0100
- .2byte 0x0000, 0x0000
- .2byte 0x7fff, 0x0000
- .2byte 0x0000, 0x0000
-
- .align 2
-gUnknown_082FEC38:: @ 82FEC38
- .2byte 0x0100, 0x0100
- .2byte 0x0000, 0x0000
- .2byte 0x0010, 0xfff0
- .2byte 0x0800, 0x0000
- .2byte 0x7fff, 0x0000
- .2byte 0x0000, 0x0000
-
- .align 2
-gUnknown_082FEC50:: @ 82FEC50
- .2byte 0xffee, 0x0012
- .2byte 0x0800, 0x0000
- .2byte 0x7fff, 0x0000
- .2byte 0x0000, 0x0000
-
- .align 2
-gUnknown_082FEC60:: @ 82FEC60
- .2byte 0x0006, 0xfffa
- .2byte 0x0800, 0x0000
- .2byte 0xfffc, 0x0004
- .2byte 0x0800, 0x0000
- .2byte 0x0100, 0x0100
- .2byte 0x0000, 0x0000
- .2byte 0x7fff, 0x0000
- .2byte 0x0000, 0x0000
-
- .align 2
-gUnknown_082FEC80:: @ 82FEC80
- .4byte gUnknown_082FEC28
- .4byte gUnknown_082FEC38
- .4byte gUnknown_082FEC50
- .4byte gUnknown_082FEC60
-
-gUnknown_082FEC90:: @ 82FEC90
- spr_template 0x0000, 0x0000, gUnknown_082FEBDC, gUnknown_082FEC04, NULL, gUnknown_082FEC80, SpriteCallbackDummy
-
-gUnknown_082FECA8:: @ 82FECA8
- spr_template 0x0000, 0x0000, gUnknown_082FEBE4, gUnknown_082FEC20, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
diff --git a/data/rom_81D1C44.s b/data/rom_81D1C44.s
deleted file mode 100644
index 9a012a6a7..000000000
--- a/data/rom_81D1C44.s
+++ /dev/null
@@ -1,251 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-gUnknown_086253E8:: @ 86253E8
- .4byte 0x8010100
- .4byte 0x80F02
- .4byte 0x8011500
- .4byte 0x180F12
- .4byte 0xB010100
- .4byte 0x180F08
-
-gUnknown_08625400:: @ 8625400
- .byte 1, 2, 3
-
-gUnknown_08625403:: @ 8625403
- .byte 0xFF
-
-gUnknown_08625404:: @ 8625404
- .byte 0x40, 0, 0, 4, 1, 0, 0x60, 0xA6, 1, 0, 0, 0
-
-gUnknown_08625410:: @ 8625410
- .byte 4, 5, 6, 7, 8, 9, 9, 0xA, 0xA, 0xB, 0xB, 0xC, 0xC, 0xD, 0xD, 0xD, 0xD, 0xE, 0xE, 0xE, 0xE, 0xF, 0xF, 0xF, 0xF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23
-
-gUnknown_08625510:: @ 8625510
- .4byte 0x10010101
- .4byte 0xA0F0C
- .4byte 0x10010101
- .4byte 0xCA0F0C
- .4byte 0xA011301
- .4byte 0x18A0F0C
- .4byte 0x160F0401
- .4byte 0x2020F04
- .4byte 0x5081600
- .4byte 0x25A0F04
- .4byte 0xFF
- .4byte NULL
-
-gUnknown_08625540:: @ 8625540
- .4byte 0x5081600
- .4byte 0x25A0F04
-
-gUnknown_08625548:: @ 8625548
- .4byte NULL
- .4byte sub_81D2BD0
- .4byte NULL
- .2byte 0
- .2byte 0
- .byte 2
- .byte 0
- .byte 8
- .byte 0
- .4byte 0x1003121
-
-gUnknown_08625560:: @ 8625560
- .incbin "graphics/pokenav/pokeball.4bpp"
-
-gUnknown_08625660:: @ 8625660
- .incbin "graphics/pokenav/8625660.4bpp"
-
-gUnknown_08625680:: @ 8625680
- .incbin "graphics/pokenav/sparkle.gbapal"
-
-gUnknown_086256A0:: @ 86255A0
- .incbin "graphics/pokenav/sparkle.4bpp"
-
-gUnknown_08625A20:: @ 8625A20
- .2byte 0
- .2byte 0xC000
- .2byte 0x400
- .2byte 0
-
-gUnknown_08625A28:: @ 8625A28
- .2byte 0
- .2byte 0x4000
- .2byte 0x800
- .2byte 0
-
-gUnknown_08625A30:: @ 8625A30
- .2byte 0
- .2byte 5
- .2byte 0xFFFF
- .2byte 0
-
-gUnknown_08625A38:: @ 8625A38
- .2byte 4
- .2byte 5
- .2byte 0xFFFF
- .2byte 0
-
-gUnknown_08625A40:: @ 8625A40
- .4byte gUnknown_08625A30
- .4byte gUnknown_08625A38
-
-gUnknown_08625A48:: @ 8625A48
- .4byte NULL
- .4byte 0x640800
-
-gUnknown_08625A50:: @ 8625A50
- spr_template 0x64, 0x64, gUnknown_08625A20, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_08625A68:: @ 8625A68
- .4byte NULL
- .4byte 0x64
-
-gUnknown_08625A70:: @ 8625A70
- .4byte gUnknown_08625560
- .byte 0, 1, 0x65, 0
- .4byte gUnknown_08625660
- .2byte 0x20, 0x67
- .4byte gPokenavConditionCancel_Gfx
- .byte 0, 1, 0x66, 0
- .4byte NULL, NULL
-
-gUnknown_08625A90:: @ 8625A90
- .4byte gPokenavConditionCancel_Pal + 0x0
- .byte 0x65, 0, 0, 0
- .4byte gPokenavConditionCancel_Pal + 0x20
- .byte 0x66, 0, 0, 0
- .4byte NULL, NULL
-
-gUnknown_08625AA8:: @ 8625AA8
- spr_template 0x65, 0x65, gUnknown_08625A28, gUnknown_08625A40, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_08625AC0:: @ 8625AC0
- .4byte gUnknown_086256A0
- .byte 0x80, 3, 0x68, 0
-
-gUnknown_08625AC8:: @ 8625AC8
- .4byte gUnknown_08625680
- .byte 0x68, 0, 0, 0
-
-gUnknown_08625AD0:: @ 8625AD0
- .2byte 0
- .2byte 0x4000
- .2byte 0
- .2byte 0
-
-gUnknown_08625AD8:: @ 8625AD8
- .2byte 0
- .2byte 5
- .2byte 4
- .2byte 5
-
-gUnknown_08625AE0:: @ 8625AE0
- .2byte 8
- .2byte 5
- .2byte 12
- .2byte 5
-
-gUnknown_08625AE8:: @ 8625AE8
- .2byte 16
- .2byte 5
- .2byte 20
- .2byte 5
-
-gUnknown_08625AF0:: @ 8625AF0
- .2byte 24
- .2byte 5
- .2byte 0xFFFF
- .2byte 0
-
-gUnknown_08625AF8:: @ 8625AF8
- .4byte gUnknown_08625AD8
- .4byte gUnknown_08625AE0
-
-gUnknown_08625B00:: @ 8625B00
- .4byte gUnknown_08625AE8
- .4byte gUnknown_08625AF0
-
-gUnknown_08625B08:: @ 8625B08
- .4byte gUnknown_08625AF8
- .4byte gUnknown_08625B00
- .4byte gUnknown_08625B08
-
-gUnknown_08625B14:: @ 8625B14
- spr_template 0x68, 0x68, gUnknown_08625AD0, gUnknown_08625AF8, NULL gDummySpriteAffineAnimTable, sub_81D3564
-
-gUnknown_08625B2C:: @ 8625B2C
- .2byte 0, 0xFFDD
- .2byte 20, 0xFFE4
- .2byte 33, 0xFFF6
- .2byte 33, 10
- .2byte 20, 28
- .2byte 0, 35
- .2byte 0xFFEC, 28
- .2byte 0xFFDF, 10
- .2byte 0xFFDF, 0xFFF6
- .2byte 0xFFEC, 0xFFE4
-
-gUnknown_08625B54:: @ 8625B54
- .4byte gUnknown_085EEA46
- .4byte gUnknown_085EEA4E
- .4byte gUnknown_085EEA55
- .4byte gUnknown_085EEA63
- .4byte gUnknown_085EEA6B
- .4byte gUnknown_085EEA5D
-
-gUnknown_08625B6C:: @ 8625B6C
-@ apparently e-reader trainer data? idk
-.byte 0x6f, 0x57, 0x54, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x2e, 0x14, 0x0c, 0x0e, 0x23, 0x10, 0x47, 0x0a, 0x1f, 0x06, 0x24, 0x0e, 0x48, 0x0a, 0x0f, 0x06
-.byte 0x22, 0x27, 0x2c, 0x16, 0x07, 0x06, 0x01, 0x0c, 0x47, 0x0a, 0x06, 0x06, 0x24, 0x0e, 0x00, 0x1e, 0x19, 0x12, 0x05, 0x0c, 0x25, 0x16, 0x25, 0x10, 0x0d, 0x1c, 0x2a, 0x1c, 0x06, 0x0a, 0x06, 0x0c
-.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-.byte 0xff, 0xff, 0xff, 0x00, 0x70, 0x01, 0xdb, 0x00, 0xbc, 0x00, 0xf7, 0x00, 0xdc, 0x00, 0x19, 0x01, 0x00, 0x00, 0x37, 0xff, 0x64, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a
-.byte 0x80, 0x00, 0x00, 0x00, 0x6f, 0x79, 0x69, 0xae, 0x71, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x26, 0x01, 0xb3, 0x00, 0x3e, 0x01, 0xbc, 0x00, 0xf7, 0x00, 0xca, 0x00, 0x00, 0x00, 0x00, 0xff
-.byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x95, 0x58, 0x59, 0x52, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0x01, 0xb7, 0x00
-.byte 0xf6, 0x00, 0x39, 0x00, 0x59, 0x00, 0x85, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x9b, 0xff, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x2f, 0x00, 0x00, 0x00, 0x8d, 0xae, 0x77, 0x7e
-.byte 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6a, 0x79, 0x6b, 0x64, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x1b, 0x01, 0x00, 0x00, 0x00, 0x54, 0x27, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a
-.byte 0x20, 0x06, 0x00, 0x0c, 0x13, 0x24, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x05, 0x12, 0x00, 0x0c, 0x6b, 0x26, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x0e, 0x12, 0x00, 0x0c, 0x2c, 0x24, 0x2b, 0x0e
-.byte 0xff, 0xff, 0x3b, 0x0a, 0x17, 0x12, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
-.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x59, 0x01, 0xb7, 0x00, 0xca, 0x00, 0xb9, 0x00, 0x09, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x37, 0x00, 0x64, 0x00, 0xff, 0x64
-.byte 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x8c, 0x00, 0x00, 0x00, 0x69, 0x58, 0x60, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x31, 0x01, 0xb3, 0x00, 0x07, 0x01, 0x4c, 0x01
-.byte 0x62, 0x00, 0x68, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x80, 0x00, 0x00, 0x00, 0x55, 0x55, 0x5d, 0x96, 0x72, 0xff, 0xff, 0xff
-.byte 0xff, 0xff, 0xff, 0xff, 0x44, 0x01, 0x86, 0x00, 0x39, 0x00, 0x59, 0x00, 0x85, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a
-.byte 0x00, 0x00, 0x00, 0x00, 0x65, 0x6f, 0x8e, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x72, 0x52, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x27, 0x01, 0x00, 0x00, 0x00
-.byte 0x4a, 0x04, 0x0e, 0x02, 0x35, 0x16, 0x10, 0x10, 0xda, 0x26, 0x3e, 0x10, 0x4a, 0x04, 0x0e, 0x02, 0x47, 0x0a, 0xd9, 0x26, 0x21, 0x16, 0x3e, 0x10, 0x14, 0x1e, 0x07, 0x1e, 0x30, 0x06, 0x23, 0x16
-.byte 0x24, 0x0e, 0x06, 0x0c, 0x18, 0x14, 0x2f, 0x14, 0x1a, 0x08, 0x27, 0x1c, 0x00, 0x0c, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
-.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff
-.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x3c, 0x01, 0x8d, 0x00, 0x2f, 0x00, 0x22, 0x00, 0xf7, 0x00, 0xe7, 0x00
-.byte 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x03, 0x00, 0x00, 0x00, 0x54, 0x68, 0x5a, 0x7b, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-.byte 0x6b, 0x01, 0xc8, 0x00, 0xca, 0x00, 0x40, 0x01, 0x5c, 0x00, 0x49, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a, 0x06, 0x00, 0x00, 0x00
-.byte 0x7b, 0x8f, 0x78, 0x51, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x24, 0x01, 0xb3, 0x00, 0x3e, 0x01, 0x4c, 0x01, 0xd5, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x64, 0xc8, 0x00, 0x00, 0xc8, 0x00
-.byte 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x51, 0x8a, 0x6a, 0x7e, 0x64, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9c, 0x54, 0xae, 0x79, 0xff, 0xff, 0xff, 0xff
-.byte 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0a, 0x02, 0x06, 0x20, 0x06, 0x0a, 0x0a, 0x23, 0x10, 0x00, 0x0c, 0x28, 0x0c, 0x14, 0x18, 0x32, 0x14, 0x02, 0x16, 0x05, 0x10, 0xff, 0xff
-.byte 0x0c, 0x1e, 0x0a, 0x0a, 0x34, 0x12, 0x11, 0x1e, 0x1a, 0x08, 0x05, 0x0c, 0x1e, 0x0a, 0x02, 0x06, 0x20, 0x06, 0x22, 0x0a, 0x15, 0x10, 0x01, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-.byte 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-.byte 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x63, 0x01, 0xb3, 0x00
-.byte 0xf2, 0x00, 0x35, 0x00, 0x09, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0xff, 0x9b, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x58, 0x61, 0xae, 0x64
-.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4b, 0x01, 0xc6, 0x00, 0x39, 0x00, 0xf2, 0x00, 0x26, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10
-.byte 0xa5, 0x94, 0x52, 0x0a, 0x96, 0x00, 0x00, 0x00, 0x5b, 0x72, 0x6a, 0x91, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0x01, 0x8d, 0x00, 0x5e, 0x00, 0xf7, 0x00, 0x55, 0x00, 0x05, 0x01
-.byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x96, 0x00, 0x00, 0x00, 0x8d, 0x85, 0x9e, 0xa0, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-
-gUnknown_0862608C:: @ 862608C
- .2byte 21, 16
- .2byte 25, 16
- .2byte 16, 17
- .2byte 20, 20
-
-gUnknown_0862609C:: @ 862609C
- .incbin "data/unknown_jp_62609C.bin"
diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc
index 39864b2a8..e9a14437a 100644
--- a/data/script_cmd_table.inc
+++ b/data/script_cmd_table.inc
@@ -12,7 +12,7 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_callstd
.4byte ScrCmd_gotostd_if
.4byte ScrCmd_callstd_if
- .4byte ScrCmd_gotoram
+ .4byte ScrCmd_returnram
.4byte ScrCmd_killscript
.4byte ScrCmd_setmysteryeventstatus
.4byte ScrCmd_loadword
@@ -207,7 +207,7 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_nop1
.4byte ScrCmd_setmonobedient
.4byte ScrCmd_checkmonobedience
- .4byte ScrCmd_cmdCF
+ .4byte ScrCmd_gotoram
.4byte ScrCmd_nop1
.4byte ScrCmd_warpD1
.4byte ScrCmd_setmonmetlocation
diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc
index 685949006..2dc016a52 100644
--- a/data/scripts/berry_tree.inc
+++ b/data/scripts/berry_tree.inc
@@ -1,261 +1,261 @@
BerryTreeScript:: @ 82742F9
special EventObjectInteractionGetBerryTreeData
switch VAR_0x8004
- case 255, Route102_EventScript_27434F
- case 0, Route102_EventScript_274359
- case 1, Route102_EventScript_2743B1
- case 2, Route102_EventScript_2743C1
- case 3, Route102_EventScript_2743D1
- case 4, Route102_EventScript_2743E1
- case 5, Route102_EventScript_274421
+ case 255, BerryTree_EventScript_27434F
+ case 0, BerryTree_EventScript_CheckSoil
+ case 1, BerryTree_EventScript_CheckBerryStage1
+ case 2, BerryTree_EventScript_CheckBerryStage2
+ case 3, BerryTree_EventScript_CheckBerryStage3
+ case 4, BerryTree_EventScript_CheckBerryStage4
+ case 5, BerryTree_EventScript_CheckBerryFullyGrown
end
-Route102_EventScript_27434F:: @ 827434F
+BerryTree_EventScript_27434F:: @ 827434F
lockall
- message Route102_Text_274744
+ message BerryTree_Text_ExclamationPoint
waitmessage
waitbuttonpress
releaseall
end
-Route102_EventScript_274359:: @ 8274359
+BerryTree_EventScript_CheckSoil:: @ 8274359
lock
faceplayer
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 1
- goto_if_eq Route102_EventScript_274374
- message Route102_Text_2744F0
+ goto_if_eq BerryTree_EventScript_WantToPlant
+ message BerryTree_Text_ItsSoftLoamySoil
waitmessage
waitbuttonpress
release
end
-Route102_EventScript_274374:: @ 8274374
- msgbox Route102_Text_274507, MSGBOX_YESNO
+BerryTree_EventScript_WantToPlant:: @ 8274374
+ msgbox BerryTree_Text_WantToPlant, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_if_eq Route102_EventScript_274393
+ goto_if_eq BerryTree_EventScript_ChooseBerryToPlant
compare VAR_RESULT, 0
- goto_if_eq Route102_EventScript_2743AF
+ goto_if_eq BerryTree_EventScript_CancelPlanting
end
-Route102_EventScript_274393:: @ 8274393
+BerryTree_EventScript_ChooseBerryToPlant:: @ 8274393
fadescreen 1
closemessage
special Bag_ChooseBerry
waitstate
compare VAR_ITEM_ID, 0
- goto_if_eq Route102_EventScript_2743AF
+ goto_if_eq BerryTree_EventScript_CancelPlanting
takeitem VAR_ITEM_ID, 1
- call Route102_EventScript_2744DD
+ call BerryTree_EventScript_PlantBerry
-Route102_EventScript_2743AF:: @ 82743AF
+BerryTree_EventScript_CancelPlanting:: @ 82743AF
release
end
-Route102_EventScript_2743B1:: @ 82743B1
+BerryTree_EventScript_CheckBerryStage1:: @ 82743B1
lockall
special EventObjectInteractionGetBerryCountString
- message Route102_Text_274560
+ message BerryTree_Text_BerryGrowthStage1
waitmessage
waitbuttonpress
- goto Route102_EventScript_27448D
+ goto BerryTree_EventScript_WantToWater
-Route102_EventScript_2743C1:: @ 82743C1
+BerryTree_EventScript_CheckBerryStage2:: @ 82743C1
lockall
special EventObjectInteractionGetBerryName
- message Route102_Text_274579
+ message BerryTree_Text_BerryGrowthStage2
waitmessage
waitbuttonpress
- goto Route102_EventScript_27448D
+ goto BerryTree_EventScript_WantToWater
-Route102_EventScript_2743D1:: @ 82743D1
+BerryTree_EventScript_CheckBerryStage3:: @ 82743D1
lockall
special EventObjectInteractionGetBerryName
- message Route102_Text_27458A
+ message BerryTree_Text_BerryGrowthStage3
waitmessage
waitbuttonpress
- goto Route102_EventScript_27448D
+ goto BerryTree_EventScript_WantToWater
-Route102_EventScript_2743E1:: @ 82743E1
- call Route102_EventScript_2743F6
+BerryTree_EventScript_CheckBerryStage4:: @ 82743E1
+ call BerryTree_EventScript_GetCareAdverb
lockall
special EventObjectInteractionGetBerryName
- message Route102_Text_2745AB
+ message BerryTree_Text_BerryGrowthStage4
waitmessage
waitbuttonpress
- goto Route102_EventScript_27448D
+ goto BerryTree_EventScript_WantToWater
-Route102_EventScript_2743F6:: @ 82743F6
+BerryTree_EventScript_GetCareAdverb:: @ 82743F6
compare VAR_0x8005, 0
- goto_if_eq Route102_EventScript_27441A
+ goto_if_eq BerryTree_EventScript_SetAdverbPoor
compare VAR_0x8005, 4
- goto_if_eq Route102_EventScript_274413
- bufferstring 1, Route102_Text_2745E5
+ goto_if_eq BerryTree_EventScript_SetAdverbGreat
+ bufferstring 1, BerryTree_Text_CareAdverbGood
return
-Route102_EventScript_274413:: @ 8274413
- bufferstring 1, Route102_Text_2745CD
+BerryTree_EventScript_SetAdverbGreat:: @ 8274413
+ bufferstring 1, BerryTree_Text_CareAdverbGreat
return
-Route102_EventScript_27441A:: @ 827441A
- bufferstring 1, Route102_Text_2745DE
+BerryTree_EventScript_SetAdverbPoor:: @ 827441A
+ bufferstring 1, BerryTree_Text_CareAdverbPoor
return
-Route102_EventScript_274421:: @ 8274421
+BerryTree_EventScript_CheckBerryFullyGrown:: @ 8274421
buffernumberstring 1, VAR_0x8006
lock
faceplayer
special EventObjectInteractionGetBerryCountString
- msgbox Route102_Text_2745EE, MSGBOX_YESNO
+ msgbox BerryTree_Text_WantToPick, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_if_eq Route102_EventScript_274448
+ goto_if_eq BerryTree_EventScript_PickBerry
compare VAR_RESULT, 0
- goto_if_eq Route102_EventScript_274479
+ goto_if_eq BerryTree_EventScript_CancelPickingBerry
-Route102_EventScript_274448:: @ 8274448
+BerryTree_EventScript_PickBerry:: @ 8274448
special EventObjectInteractionPickBerryTree
compare VAR_0x8004, 0
- goto_if_eq Route102_EventScript_274470
+ goto_if_eq BerryTree_EventScript_BerryPocketFull
special sub_80EED34
special EventObjectInteractionRemoveBerryTree
- message Route102_Text_27461B
+ message BerryTree_Text_PickedTheBerry
playfanfare MUS_ME_KINOMI
waitmessage
waitfanfare
waitbuttonpress
- message Route102_Text_274630
+ message BerryTree_Text_PutAwayBerry
waitmessage
waitbuttonpress
release
end
-Route102_EventScript_274470:: @ 8274470
- message Route102_Text_27468F
+BerryTree_EventScript_BerryPocketFull:: @ 8274470
+ message BerryTree_Text_BerryPocketFull
waitmessage
waitbuttonpress
release
end
-Route102_EventScript_274479:: @ 8274479
- message Route102_Text_2746CB
+BerryTree_EventScript_CancelPickingBerry:: @ 8274479
+ message BerryTree_Text_BerryLeftUnpicked
waitmessage
waitbuttonpress
release
end
-Route102_EventScript_274482:: @ 8274482
+BerryTree_EventScript_274482:: @ 8274482
lockall
special EventObjectInteractionGetBerryTreeData
- call Route102_EventScript_2744DD
+ call BerryTree_EventScript_PlantBerry
releaseall
end
-Route102_EventScript_27448D:: @ 827448D
+BerryTree_EventScript_WantToWater:: @ 827448D
checkitem ITEM_WAILMER_PAIL, 1
compare VAR_RESULT, 0
- goto_if_eq Route102_EventScript_2744BE
+ goto_if_eq BerryTree_EventScript_DontWater
special EventObjectInteractionGetBerryName
- msgbox Route102_Text_2746E4, MSGBOX_YESNO
+ msgbox BerryTree_Text_WantToWater, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_if_eq Route102_EventScript_2744C4
+ goto_if_eq BerryTree_EventScript_WaterBerry
compare VAR_RESULT, 0
- goto_if_eq Route102_EventScript_2744BE
+ goto_if_eq BerryTree_EventScript_DontWater
-Route102_EventScript_2744BE:: @ 82744BE
+BerryTree_EventScript_DontWater:: @ 82744BE
releaseall
end
-Route102_EventScript_2744C0:: @ 82744C0
+BerryTree_EventScript_2744C0:: @ 82744C0
special EventObjectInteractionGetBerryTreeData
lockall
-Route102_EventScript_2744C4:: @ 82744C4
+BerryTree_EventScript_WaterBerry:: @ 82744C4
special EventObjectInteractionGetBerryName
- message Route102_Text_274710
+ message BerryTree_Text_WateredTheBerry
waitmessage
special EventObjectInteractionWaterBerryTree
special DoWateringBerryTreeAnim
waitstate
- message Route102_Text_274723
+ message BerryTree_Text_PlantIsDelighted
waitmessage
waitbuttonpress
releaseall
end
-Route102_EventScript_2744DD:: @ 82744DD
+BerryTree_EventScript_PlantBerry:: @ 82744DD
special EventObjectInteractionPlantBerryTree
incrementgamestat 3
special sub_80EED10
special EventObjectInteractionGetBerryCountString
- message Route102_Text_274535
+ message BerryTree_Text_PlantedOneBerry
waitmessage
waitbuttonpress
return
-Route102_Text_2744F0: @ 82744F0
+BerryTree_Text_ItsSoftLoamySoil: @ 82744F0
.string "It's soft, loamy soil.$"
-Route102_Text_274507: @ 8274507
+BerryTree_Text_WantToPlant: @ 8274507
.string "It's soft, loamy soil.\n"
.string "Want to plant a BERRY?$"
-Route102_Text_274535: @ 8274535
+BerryTree_Text_PlantedOneBerry: @ 8274535
.string "{PLAYER} planted one {STR_VAR_1} in\n"
.string "the soft, loamy soil.$"
-Route102_Text_274560: @ 8274560
+BerryTree_Text_BerryGrowthStage1: @ 8274560
.string "One {STR_VAR_1} was planted here.$"
-Route102_Text_274579: @ 8274579
+BerryTree_Text_BerryGrowthStage2: @ 8274579
.string "{STR_VAR_1} has sprouted.$"
-Route102_Text_27458A: @ 827458A
+BerryTree_Text_BerryGrowthStage3: @ 827458A
.string "This {STR_VAR_1} plant is growing taller.$"
-Route102_Text_2745AB: @ 82745AB
+BerryTree_Text_BerryGrowthStage4: @ 82745AB
.string "These {STR_VAR_1} flowers are blooming\n"
.string "{STR_VAR_2}.$"
-Route102_Text_2745CD: @ 82745CD
+BerryTree_Text_CareAdverbGreat: @ 82745CD
.string "very beautifully$"
-Route102_Text_2745DE: @ 82745DE
+BerryTree_Text_CareAdverbPoor: @ 82745DE
.string "cutely$"
-Route102_Text_2745E5: @ 82745E5
+BerryTree_Text_CareAdverbGood: @ 82745E5
.string "prettily$"
-Route102_Text_2745EE: @ 82745EE
+BerryTree_Text_WantToPick: @ 82745EE
.string "You found {STR_VAR_2} {STR_VAR_1}!\p"
.string "Do you want to pick the\n"
.string "{STR_VAR_1}?$"
-Route102_Text_27461B: @ 827461B
+BerryTree_Text_PickedTheBerry: @ 827461B
.string "{PLAYER} picked the {STR_VAR_2} {STR_VAR_1}.$"
-Route102_Text_274630: @ 8274630
+BerryTree_Text_PutAwayBerry: @ 8274630
.string "{PLAYER} put away the {STR_VAR_1}\n"
.string "in the BAG's BERRIES POCKET.\p"
.string "The soil returned to its soft and\n"
.string "loamy state.$"
-Route102_Text_27468F: @ 827468F
+BerryTree_Text_BerryPocketFull: @ 827468F
.string "The BAG's BERRIES POCKET is full.\p"
.string "The {STR_VAR_1} couldn't be taken.$"
-Route102_Text_2746CB: @ 82746CB
+BerryTree_Text_BerryLeftUnpicked: @ 82746CB
.string "{PLAYER} left the {STR_VAR_1}\n"
.string "unpicked.$"
-Route102_Text_2746E4: @ 82746E4
+BerryTree_Text_WantToWater: @ 82746E4
.string "Want to water the {STR_VAR_1} with the\n"
.string "WAILMER PAIL?$"
-Route102_Text_274710: @ 8274710
+BerryTree_Text_WateredTheBerry: @ 8274710
.string "{PLAYER} watered the {STR_VAR_1}.$"
-Route102_Text_274723: @ 8274723
+BerryTree_Text_PlantIsDelighted: @ 8274723
.string "The plant seems to be delighted.$"
-Route102_Text_274744: @ 8274744
+BerryTree_Text_ExclamationPoint: @ 8274744
.string "!$"
diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc
index 1914fee4f..c755493dc 100644
--- a/data/scripts/cable_club.inc
+++ b/data/scripts/cable_club.inc
@@ -22,7 +22,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276AD5:: @ 8276AD5
specialvar VAR_RESULT, sub_813B514
compare VAR_RESULT, 1
goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFB
- specialvar VAR_RESULT, sub_801B27C
+ specialvar VAR_RESULT, ValidateReceivedWonderCard
compare VAR_RESULT, 0
goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFF
goto OldaleTown_PokemonCenter_2F_EventScript_276AFB
@@ -60,7 +60,7 @@ VerdanturfTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
end
OldaleTown_PokemonCenter_2F_EventScript_276B19:: @ 8276B19
- execram
+ gotoram
OldaleTown_PokemonCenter_2F_EventScript_276B1A:: @ 8276B1A
msgbox gUnknown_08273178, MSGBOX_NPC
diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc
index 024ffbf85..6eae55294 100644
--- a/data/scripts/field_move_scripts.inc
+++ b/data/scripts/field_move_scripts.inc
@@ -1,221 +1,189 @@
-PetalburgWoods_EventScript_2906BB:: @ 82906BB
-Route103_EventScript_2906BB:: @ 82906BB
-Route104_EventScript_2906BB:: @ 82906BB
-Route110_TrickHousePuzzle1_EventScript_2906BB:: @ 82906BB
-Route111_EventScript_2906BB:: @ 82906BB
-Route116_EventScript_2906BB:: @ 82906BB
-Route117_EventScript_2906BB:: @ 82906BB
-Route118_EventScript_2906BB:: @ 82906BB
-Route120_EventScript_2906BB:: @ 82906BB
-Route121_EventScript_2906BB:: @ 82906BB
-Route123_EventScript_2906BB:: @ 82906BB
+
+EventScript_CutTree:: @ 82906BB
lockall
- goto_if_unset FLAG_BADGE01_GET, Route103_EventScript_290721
+ goto_if_unset FLAG_BADGE01_GET, EventScript_CheckTreeCantCut
checkpartymove MOVE_CUT
compare VAR_RESULT, 6
- goto_if_eq Route103_EventScript_290721
+ goto_if_eq EventScript_CheckTreeCantCut
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick 0, VAR_RESULT
buffermovename 1, MOVE_CUT
- msgbox Route103_Text_29072E, MSGBOX_YESNO
+ msgbox Text_WantToCut, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_if_eq Route103_EventScript_29072B
- msgbox Route103_Text_290771, MSGBOX_DEFAULT
+ goto_if_eq EventScript_CancelCut
+ msgbox Text_MonUsedHM, MSGBOX_DEFAULT
closemessage
- dofieldeffect 2
+ dofieldeffect FLDEFF_USE_CUT_ON_TREE
waitstate
- goto Route103_EventScript_290710
+ goto EventScript_CutTreeDown
end
-Route103_EventScript_290705:: @ 8290705
+EventScript_FldEffCut:: @ 8290705
lockall
- dofieldeffect 2
+ dofieldeffect FLDEFF_USE_CUT_ON_TREE
waitstate
- goto Route103_EventScript_290710
+ goto EventScript_CutTreeDown
end
-Route103_EventScript_290710:: @ 8290710
- applymovement VAR_LAST_TALKED, Route103_Movement_29071F
+EventScript_CutTreeDown:: @ 8290710
+ applymovement VAR_LAST_TALKED, Movement_CutTreeDown
waitmovement 0
removeobject VAR_LAST_TALKED
releaseall
end
-Route103_Movement_29071F: @ 829071F
+Movement_CutTreeDown: @ 829071F
cut_tree
step_end
-Route103_EventScript_290721:: @ 8290721
- msgbox Route103_Text_29077D, MSGBOX_DEFAULT
+EventScript_CheckTreeCantCut:: @ 8290721
+ msgbox Text_CantCut, MSGBOX_DEFAULT
releaseall
end
-Route103_EventScript_29072B:: @ 829072B
+EventScript_CancelCut:: @ 829072B
closemessage
releaseall
end
-Route103_Text_29072E: @ 829072E
+Text_WantToCut: @ 829072E
.string "This tree looks like it can be\n"
.string "CUT down!\p"
.string "Would you like to CUT it?$"
-Route103_Text_290771: @ 8290771
-Route111_Text_290771: @ 8290771
+Text_MonUsedHM: @ 8290771
.string "{STR_VAR_1} used {STR_VAR_2}!$"
-Route103_Text_29077D: @ 829077D
+Text_CantCut: @ 829077D
.string "This tree looks like it can be\n"
.string "CUT down!$"
-GraniteCave_B2F_EventScript_2907A6:: @ 82907A6
-MirageTower_3F_EventScript_2907A6:: @ 82907A6
-MirageTower_4F_EventScript_2907A6:: @ 82907A6
-Route110_TrickHousePuzzle3_EventScript_2907A6:: @ 82907A6
-Route111_EventScript_2907A6:: @ 82907A6
-Route114_EventScript_2907A6:: @ 82907A6
-Route115_EventScript_2907A6:: @ 82907A6
-RusturfTunnel_EventScript_2907A6:: @ 82907A6
-SafariZone_North_EventScript_2907A6:: @ 82907A6
-SafariZone_Northeast_EventScript_2907A6:: @ 82907A6
-SeafloorCavern_Room1_EventScript_2907A6:: @ 82907A6
-SeafloorCavern_Room2_EventScript_2907A6:: @ 82907A6
-SeafloorCavern_Room5_EventScript_2907A6:: @ 82907A6
-VictoryRoad_B1F_EventScript_2907A6:: @ 82907A6
+EventScript_RockSmash:: @ 82907A6
lockall
- goto_if_unset FLAG_BADGE03_GET, Route111_EventScript_29082D
+ goto_if_unset FLAG_BADGE03_GET, EventScript_CantSmashRock
checkpartymove MOVE_ROCK_SMASH
compare VAR_RESULT, 6
- goto_if_eq Route111_EventScript_29082D
+ goto_if_eq EventScript_CantSmashRock
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick 0, VAR_RESULT
buffermovename 1, MOVE_ROCK_SMASH
- msgbox Route111_Text_29083A, MSGBOX_YESNO
+ msgbox Text_WantToSmash, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_if_eq Route111_EventScript_290837
- msgbox Route111_Text_290771, MSGBOX_DEFAULT
+ goto_if_eq EventScript_CancelSmash
+ msgbox Text_MonUsedHM, MSGBOX_DEFAULT
closemessage
- dofieldeffect 37
+ dofieldeffect FLDEFF_USE_ROCK_SMASH
waitstate
- goto Route111_EventScript_2907FB
+ goto EventScript_SmashRock
end
-Route111_EventScript_2907F0:: @ 82907F0
+EventScript_FldEffRockSmash:: @ 82907F0
lockall
- dofieldeffect 37
+ dofieldeffect FLDEFF_USE_ROCK_SMASH
waitstate
- goto Route111_EventScript_2907FB
+ goto EventScript_SmashRock
end
-Route111_EventScript_2907FB:: @ 82907FB
- applymovement VAR_LAST_TALKED, Route111_Movement_29082B
+EventScript_SmashRock:: @ 82907FB
+ applymovement VAR_LAST_TALKED, Movement_SmashRock
waitmovement 0
removeobject VAR_LAST_TALKED
specialvar VAR_RESULT, TryUpdateRusturfTunnelState
compare VAR_RESULT, 1
- goto_if_eq Route111_EventScript_290829
+ goto_if_eq EventScript_EndSmash
special RockSmashWildEncounter
compare VAR_RESULT, 0
- goto_if_eq Route111_EventScript_290829
+ goto_if_eq EventScript_EndSmash
waitstate
releaseall
end
-Route111_EventScript_290829:: @ 8290829
+EventScript_EndSmash:: @ 8290829
releaseall
end
-Route111_Movement_29082B: @ 829082B
+Movement_SmashRock: @ 829082B
rock_smash_break
step_end
-Route111_EventScript_29082D:: @ 829082D
- msgbox Route111_Text_29087F, MSGBOX_DEFAULT
+EventScript_CantSmashRock:: @ 829082D
+ msgbox Text_CantSmash, MSGBOX_DEFAULT
releaseall
end
-Route111_EventScript_290837:: @ 8290837
+EventScript_CancelSmash:: @ 8290837
closemessage
releaseall
end
-Route111_Text_29083A: @ 829083A
+Text_WantToSmash: @ 829083A
.string "This rock appears to be breakable.\n"
.string "Would you like to use ROCK SMASH?$"
-Route111_Text_29087F: @ 829087F
+Text_CantSmash: @ 829087F
.string "It's a rugged rock, but a POKéMON\n"
.string "may be able to smash it.$"
-FieryPath_EventScript_2908BA:: @ 82908BA
-MagmaHideout_1F_EventScript_2908BA:: @ 82908BA
-Route110_TrickHousePuzzle4_EventScript_2908BA:: @ 82908BA
-SeafloorCavern_Room1_EventScript_2908BA:: @ 82908BA
-SeafloorCavern_Room2_EventScript_2908BA:: @ 82908BA
-SeafloorCavern_Room3_EventScript_2908BA:: @ 82908BA
-SeafloorCavern_Room5_EventScript_2908BA:: @ 82908BA
-SeafloorCavern_Room8_EventScript_2908BA:: @ 82908BA
-ShoalCave_LowTideLowerRoom_EventScript_2908BA:: @ 82908BA
-VictoryRoad_B1F_EventScript_2908BA:: @ 82908BA
+EventScript_StrengthBoulder:: @ 82908BA
lockall
- goto_if_unset FLAG_BADGE04_GET, FieryPath_EventScript_290915
- goto_if_set FLAG_SYS_USE_STRENGTH, FieryPath_EventScript_29091F
+ goto_if_unset FLAG_BADGE04_GET, EventScript_CantStrength
+ goto_if_set FLAG_SYS_USE_STRENGTH, EventScript_CheckActivatedBoulder
checkpartymove MOVE_STRENGTH
compare VAR_RESULT, 6
- goto_if_eq FieryPath_EventScript_290915
+ goto_if_eq EventScript_CantStrength
setfieldeffectargument 0, VAR_RESULT
- msgbox FieryPath_Text_29092C, MSGBOX_YESNO
+ msgbox Text_WantToStrength, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_if_eq FieryPath_EventScript_290929
+ goto_if_eq EventScript_CancelStrength
closemessage
- dofieldeffect 40
+ dofieldeffect FLDEFF_USE_STRENGTH
waitstate
- goto FieryPath_EventScript_290908
+ goto EventScript_ActivateStrength
end
-FieryPath_EventScript_2908FD:: @ 82908FD
+EventScript_FldEffStrength:: @ 82908FD
lockall
- dofieldeffect 40
+ dofieldeffect FLDEFF_USE_STRENGTH
waitstate
- goto FieryPath_EventScript_290908
+ goto EventScript_ActivateStrength
end
-FieryPath_EventScript_290908:: @ 8290908
+EventScript_ActivateStrength:: @ 8290908
setflag FLAG_SYS_USE_STRENGTH
- msgbox FieryPath_Text_29098C, MSGBOX_DEFAULT
+ msgbox Text_MonUsedStrength, MSGBOX_DEFAULT
releaseall
end
-FieryPath_EventScript_290915:: @ 8290915
- msgbox FieryPath_Text_2909D6, MSGBOX_DEFAULT
+EventScript_CantStrength:: @ 8290915
+ msgbox Text_CantStrength, MSGBOX_DEFAULT
releaseall
end
-FieryPath_EventScript_29091F:: @ 829091F
- msgbox FieryPath_Text_290A16, MSGBOX_DEFAULT
+EventScript_CheckActivatedBoulder:: @ 829091F
+ msgbox Text_StrengthActivated, MSGBOX_DEFAULT
releaseall
end
-FieryPath_EventScript_290929:: @ 8290929
+EventScript_CancelStrength:: @ 8290929
closemessage
releaseall
end
-FieryPath_Text_29092C: @ 829092C
+Text_WantToStrength: @ 829092C
.string "It's a big boulder, but a POKéMON\n"
.string "may be able to push it aside.\p"
.string "Would you like to use STRENGTH?$"
-FieryPath_Text_29098C: @ 829098C
+Text_MonUsedStrength: @ 829098C
.string "{STR_VAR_1} used STRENGTH!\p"
.string "{STR_VAR_1}'s STRENGTH made it\n"
.string "possible to move boulders around!$"
-FieryPath_Text_2909D6: @ 82909D6
+Text_CantStrength: @ 82909D6
.string "It's a big boulder, but a POKéMON\n"
.string "may be able to push it aside.$"
-FieryPath_Text_290A16: @ 8290A16
+Text_StrengthActivated: @ 8290A16
.string "STRENGTH made it possible to move\n"
.string "boulders around.$"
@@ -223,59 +191,59 @@ EventScript_UseWaterfall:: @ 8290A49
lockall
checkpartymove MOVE_WATERFALL
compare VAR_RESULT, 6
- goto_if_eq EventScript_290A84
+ goto_if_eq EventScript_CantWaterfall
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
- msgbox Text_290AC3, MSGBOX_YESNO
+ msgbox Text_WantToWaterfall, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_if_eq EventScript_290A8C
- msgbox Text_290AFC, MSGBOX_DEFAULT
- dofieldeffect 43
- goto EventScript_290A8C
+ goto_if_eq EventScript_EndWaterfall
+ msgbox Text_MonUsedWaterfall, MSGBOX_DEFAULT
+ dofieldeffect FLDEFF_USE_WATERFALL
+ goto EventScript_EndWaterfall
EventScript_CannotUseWaterfall:: @ 8290A83
lockall
-EventScript_290A84:: @ 8290A84
- msgbox Text_290A8E, MSGBOX_DEFAULT
+EventScript_CantWaterfall:: @ 8290A84
+ msgbox Text_CantWaterfall, MSGBOX_DEFAULT
-EventScript_290A8C:: @ 8290A8C
+EventScript_EndWaterfall:: @ 8290A8C
releaseall
end
-Text_290A8E: @ 8290A8E
+Text_CantWaterfall: @ 8290A8E
.string "A wall of water is crashing down with\n"
.string "a mighty roar.$"
-Text_290AC3: @ 8290AC3
+Text_WantToWaterfall: @ 8290AC3
.string "It's a large waterfall.\n"
.string "Would you like to use WATERFALL?$"
-Text_290AFC: @ 8290AFC
+Text_MonUsedWaterfall: @ 8290AFC
.string "{STR_VAR_1} used WATERFALL.$"
EventScript_UseDive:: @ 8290B0F
lockall
checkpartymove MOVE_DIVE
compare VAR_RESULT, 6
- goto_if_eq EventScript_290B4E
+ goto_if_eq EventScript_CantDive
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
- msgbox Text_290BE8, MSGBOX_YESNO
+ msgbox Text_WantToDive, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_if_eq EventScript_290B58
- msgbox Text_290C1A, MSGBOX_DEFAULT
- dofieldeffect 44
- goto EventScript_290B58
+ goto_if_eq EventScript_EndDive
+ msgbox Text_MonUsedDive, MSGBOX_DEFAULT
+ dofieldeffect FLDEFF_USE_DIVE
+ goto EventScript_EndDive
end
-EventScript_290B4E:: @ 8290B4E
- msgbox Text_290BAA, MSGBOX_DEFAULT
+EventScript_CantDive:: @ 8290B4E
+ msgbox Text_CantDive, MSGBOX_DEFAULT
releaseall
end
-EventScript_290B58:: @ 8290B58
+EventScript_EndDive:: @ 8290B58
releaseall
end
@@ -283,50 +251,50 @@ EventScript_UseDiveUnderwater:: @ 8290B5A
lockall
checkpartymove MOVE_DIVE
compare VAR_RESULT, 6
- goto_if_eq EventScript_290B99
+ goto_if_eq EventScript_CantSurface
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
- msgbox Text_290C6E, MSGBOX_YESNO
+ msgbox Text_WantToSurface, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_if_eq EventScript_290BA8
- msgbox Text_290C1A, MSGBOX_DEFAULT
- dofieldeffect 44
- goto EventScript_290BA8
+ goto_if_eq EventScript_EndSurface
+ msgbox Text_MonUsedDive, MSGBOX_DEFAULT
+ dofieldeffect FLDEFF_USE_DIVE
+ goto EventScript_EndSurface
end
-EventScript_290B99:: @ 8290B99
+EventScript_CantSurface:: @ 8290B99
lockall
- msgbox Text_290C28, MSGBOX_DEFAULT
- goto EventScript_290BA8
+ msgbox Text_CantSurface, MSGBOX_DEFAULT
+ goto EventScript_EndSurface
end
-EventScript_290BA8:: @ 8290BA8
+EventScript_EndSurface:: @ 8290BA8
releaseall
end
-Text_290BAA: @ 8290BAA
+Text_CantDive: @ 8290BAA
.string "The sea is deep here. A POKéMON\n"
.string "may be able to go underwater.$"
-Text_290BE8: @ 8290BE8
+Text_WantToDive: @ 8290BE8
.string "The sea is deep here.\n"
.string "Would you like to use DIVE?$"
-Text_290C1A: @ 8290C1A
+Text_MonUsedDive: @ 8290C1A
.string "{STR_VAR_1} used DIVE.$"
-Text_290C28: @ 8290C28
+Text_CantSurface: @ 8290C28
.string "Light is filtering down from above.\n"
.string "A POKéMON may be able to surface.$"
-Text_290C6E: @ 8290C6E
+Text_WantToSurface: @ 8290C6E
.string "Light is filtering down from above.\n"
.string "Would you like to use DIVE?$"
-EventScript_290CAE:: @ 8290CAE
- msgbox Text_290CB7, MSGBOX_SIGN
+EventScript_FailSweetScent:: @ 8290CAE
+ msgbox Text_FailSweetScent, MSGBOX_SIGN
end
-Text_290CB7: @ 8290CB7
+Text_FailSweetScent: @ 8290CB7
.string "Looks like there's nothing here…$"
diff --git a/data/scripts/item_ball_scripts.inc b/data/scripts/item_ball_scripts.inc
index 2b0083175..045fbb5a7 100644
--- a/data/scripts/item_ball_scripts.inc
+++ b/data/scripts/item_ball_scripts.inc
@@ -1,659 +1,659 @@
-Route102_EventScript_290CD8:: @ 8290CD8
+Route102_EventScript_ItemPotion:: @ 8290CD8
giveitem_std ITEM_POTION, 1, 1
end
-Route103_EventScript_290CE5:: @ 8290CE5
+Route103_EventScript_ItemGuardSpec:: @ 8290CE5
giveitem_std ITEM_GUARD_SPEC, 1, 1
end
-Route103_EventScript_290CF2:: @ 8290CF2
+Route103_EventScript_ItemPPUp:: @ 8290CF2
giveitem_std ITEM_PP_UP, 1, 1
end
-Route104_EventScript_290CFF:: @ 8290CFF
+Route104_EventScript_ItemPPUp:: @ 8290CFF
giveitem_std ITEM_PP_UP, 1, 1
end
-Route104_EventScript_290D0C:: @ 8290D0C
+Route104_EventScript_ItemPokeBall:: @ 8290D0C
giveitem_std ITEM_POKE_BALL, 1, 1
end
-Route104_EventScript_290D19:: @ 8290D19
+Route104_EventScript_ItemXAccuracy:: @ 8290D19
giveitem_std ITEM_X_ACCURACY, 1, 1
end
-Route104_EventScript_290D26:: @ 8290D26
+Route104_EventScript_ItemPotion:: @ 8290D26
giveitem_std ITEM_POTION, 1, 1
end
-Route105_EventScript_290D33:: @ 8290D33
+Route105_EventScript_ItemIron:: @ 8290D33
giveitem_std ITEM_IRON, 1, 1
end
-Route106_EventScript_290D40:: @ 8290D40
+Route106_EventScript_ItemProtein:: @ 8290D40
giveitem_std ITEM_PROTEIN, 1, 1
end
-Route108_EventScript_290D4D:: @ 8290D4D
+Route108_EventScript_ItemStarPiece:: @ 8290D4D
giveitem_std ITEM_STAR_PIECE, 1, 1
end
-Route109_EventScript_290D5A:: @ 8290D5A
+Route109_EventScript_ItemPPUp:: @ 8290D5A
giveitem_std ITEM_PP_UP, 1, 1
end
-Route109_EventScript_290D67:: @ 8290D67
+Route109_EventScript_ItemPotion:: @ 8290D67
giveitem_std ITEM_POTION, 1, 1
end
-Route110_EventScript_290D74:: @ 8290D74
+Route110_EventScript_ItemRareCandy:: @ 8290D74
giveitem_std ITEM_RARE_CANDY, 1, 1
end
-Route110_EventScript_290D81:: @ 8290D81
+Route110_EventScript_ItemDireHit:: @ 8290D81
giveitem_std ITEM_DIRE_HIT, 1, 1
end
-Route110_EventScript_290D8E:: @ 8290D8E
+Route110_EventScript_ItemElixir:: @ 8290D8E
giveitem_std ITEM_ELIXIR, 1, 1
end
-Route111_EventScript_290D9B:: @ 8290D9B
+Route111_EventScript_ItemTM37:: @ 8290D9B
giveitem_std ITEM_TM37, 1, 1
end
-Route111_EventScript_290DA8:: @ 8290DA8
+Route111_EventScript_ItemStardust:: @ 8290DA8
giveitem_std ITEM_STARDUST, 1, 1
end
-Route111_EventScript_290DB5:: @ 8290DB5
+Route111_EventScript_ItemHPUp:: @ 8290DB5
giveitem_std ITEM_HP_UP, 1, 1
end
-Route111_EventScript_290DC2:: @ 8290DC2
+Route111_EventScript_ItemElixir:: @ 8290DC2
giveitem_std ITEM_ELIXIR, 1, 1
end
-Route112_EventScript_290DCF:: @ 8290DCF
+Route112_EventScript_ItemNugget:: @ 8290DCF
giveitem_std ITEM_NUGGET, 1, 1
end
-Route113_EventScript_290DDC:: @ 8290DDC
+Route113_EventScript_ItemMaxEther:: @ 8290DDC
giveitem_std ITEM_MAX_ETHER, 1, 1
end
-Route113_EventScript_290DE9:: @ 8290DE9
+Route113_EventScript_ItemSuperRepel:: @ 8290DE9
giveitem_std ITEM_SUPER_REPEL, 1, 1
end
-Route113_EventScript_290DF6:: @ 8290DF6
+Route113_EventScript_ItemHyperPotion:: @ 8290DF6
giveitem_std ITEM_HYPER_POTION, 1, 1
end
-Route114_EventScript_290E03:: @ 8290E03
+Route114_EventScript_ItemRareCandy:: @ 8290E03
giveitem_std ITEM_RARE_CANDY, 1, 1
end
-Route114_EventScript_290E10:: @ 8290E10
+Route114_EventScript_ItemProtein:: @ 8290E10
giveitem_std ITEM_PROTEIN, 1, 1
end
-Route114_EventScript_290E1D:: @ 8290E1D
+Route114_EventScript_ItemEnergyPowder:: @ 8290E1D
giveitem_std ITEM_ENERGY_POWDER, 1, 1
end
-Route115_EventScript_290E2A:: @ 8290E2A
+Route115_EventScript_ItemSuperPotion:: @ 8290E2A
giveitem_std ITEM_SUPER_POTION, 1, 1
end
-Route115_EventScript_290E37:: @ 8290E37
+Route115_EventScript_ItemTM01:: @ 8290E37
giveitem_std ITEM_TM01, 1, 1
end
-Route115_EventScript_290E44:: @ 8290E44
+Route115_EventScript_ItemIron:: @ 8290E44
giveitem_std ITEM_IRON, 1, 1
end
-Route115_EventScript_290E51:: @ 8290E51
+Route115_EventScript_ItemGreatBall:: @ 8290E51
giveitem_std ITEM_GREAT_BALL, 1, 1
end
-Route115_EventScript_290E5E:: @ 8290E5E
+Route115_EventScript_ItemHealPowder:: @ 8290E5E
giveitem_std ITEM_HEAL_POWDER, 1, 1
end
-Route115_EventScript_290E6B:: @ 8290E6B
+Route115_EventScript_ItemPPUp:: @ 8290E6B
giveitem_std ITEM_PP_UP, 1, 1
end
-Route116_EventScript_290E78:: @ 8290E78
+Route116_EventScript_ItemXSpecial:: @ 8290E78
giveitem_std ITEM_X_SPECIAL, 1, 1
end
-Route116_EventScript_290E85:: @ 8290E85
+Route116_EventScript_ItemEther:: @ 8290E85
giveitem_std ITEM_ETHER, 1, 1
end
-Route116_EventScript_290E92:: @ 8290E92
+Route116_EventScript_ItemRepel:: @ 8290E92
giveitem_std ITEM_REPEL, 1, 1
end
-Route116_EventScript_290E9F:: @ 8290E9F
+Route116_EventScript_ItemHPUp:: @ 8290E9F
giveitem_std ITEM_HP_UP, 1, 1
end
-Route116_EventScript_290EAC:: @ 8290EAC
+Route116_EventScript_ItemPotion:: @ 8290EAC
giveitem_std ITEM_POTION, 1, 1
end
-Route117_EventScript_290EB9:: @ 8290EB9
+Route117_EventScript_ItemGreatBall:: @ 8290EB9
giveitem_std ITEM_GREAT_BALL, 1, 1
end
-Route117_EventScript_290EC6:: @ 8290EC6
+Route117_EventScript_ItemRevive:: @ 8290EC6
giveitem_std ITEM_REVIVE, 1, 1
end
-Route118_EventScript_290ED3:: @ 8290ED3
+Route118_EventScript_ItemHyperPotion:: @ 8290ED3
giveitem_std ITEM_HYPER_POTION, 1, 1
end
-Route119_EventScript_290EE0:: @ 8290EE0
+Route119_EventScript_ItemSuperRepel:: @ 8290EE0
giveitem_std ITEM_SUPER_REPEL, 1, 1
end
-Route119_EventScript_290EED:: @ 8290EED
+Route119_EventScript_ItemZinc:: @ 8290EED
giveitem_std ITEM_ZINC, 1, 1
end
-Route119_EventScript_290EFA:: @ 8290EFA
+Route119_EventScript_ItemElixir:: @ 8290EFA
giveitem_std ITEM_ELIXIR, 1, 1
end
-Route119_EventScript_290F07:: @ 8290F07
+Route119_EventScript_ItemLeafStone:: @ 8290F07
giveitem_std ITEM_LEAF_STONE, 1, 1
end
-Route119_EventScript_290F14:: @ 8290F14
+Route119_EventScript_ItemRareCandy:: @ 8290F14
giveitem_std ITEM_RARE_CANDY, 1, 1
end
-Route119_EventScript_290F21:: @ 8290F21
+Route119_EventScript_ItemHyperPotion:: @ 8290F21
giveitem_std ITEM_HYPER_POTION, 1, 1
end
-Route119_EventScript_290F2E:: @ 8290F2E
+Route119_EventScript_ItemHyperPotion2:: @ 8290F2E
giveitem_std ITEM_HYPER_POTION, 1, 1
end
-Route119_EventScript_290F3B:: @ 8290F3B
+Route119_EventScript_ItemElixir2:: @ 8290F3B
giveitem_std ITEM_ELIXIR, 1, 1
end
-Route120_EventScript_290F48:: @ 8290F48
+Route120_EventScript_ItemNugget:: @ 8290F48
giveitem_std ITEM_NUGGET, 1, 1
end
-Route120_EventScript_290F55:: @ 8290F55
+Route120_EventScript_ItemFullHeal:: @ 8290F55
giveitem_std ITEM_FULL_HEAL, 1, 1
end
-Route120_EventScript_290F62:: @ 8290F62
+Route120_EventScript_ItemHyperPotion:: @ 8290F62
giveitem_std ITEM_HYPER_POTION, 1, 1
end
-Route120_EventScript_290F6F:: @ 8290F6F
+Route120_EventScript_ItemNestBall:: @ 8290F6F
giveitem_std ITEM_NEST_BALL, 1, 1
end
-Route120_EventScript_290F7C:: @ 8290F7C
+Route120_EventScript_ItemRevive:: @ 8290F7C
giveitem_std ITEM_REVIVE, 1, 1
end
-Route121_EventScript_290F89:: @ 8290F89
+Route121_EventScript_ItemCarbos:: @ 8290F89
giveitem_std ITEM_CARBOS, 1, 1
end
-Route121_EventScript_290F96:: @ 8290F96
+Route121_EventScript_ItemRevive:: @ 8290F96
giveitem_std ITEM_REVIVE, 1, 1
end
-Route121_EventScript_290FA3:: @ 8290FA3
+Route121_EventScript_ItemZinc:: @ 8290FA3
giveitem_std ITEM_ZINC, 1, 1
end
-Route123_EventScript_290FB0:: @ 8290FB0
+Route123_EventScript_ItemCalcium:: @ 8290FB0
giveitem_std ITEM_CALCIUM, 1, 1
end
-Route123_EventScript_290FBD:: @ 8290FBD
+Route123_EventScript_ItemUltraBall:: @ 8290FBD
giveitem_std ITEM_ULTRA_BALL, 1, 1
end
-Route123_EventScript_290FCA:: @ 8290FCA
+Route123_EventScript_ItemElixir:: @ 8290FCA
giveitem_std ITEM_ELIXIR, 1, 1
end
-Route123_EventScript_290FD7:: @ 8290FD7
+Route123_EventScript_ItemPPUp:: @ 8290FD7
giveitem_std ITEM_PP_UP, 1, 1
end
-Route123_EventScript_290FE4:: @ 8290FE4
+Route123_EventScript_ItemRevivalHerb:: @ 8290FE4
giveitem_std ITEM_REVIVAL_HERB, 1, 1
end
-Route124_EventScript_290FF1:: @ 8290FF1
+Route124_EventScript_ItemRedShard:: @ 8290FF1
giveitem_std ITEM_RED_SHARD, 1, 1
end
-Route124_EventScript_290FFE:: @ 8290FFE
+Route124_EventScript_ItemBlueShard:: @ 8290FFE
giveitem_std ITEM_BLUE_SHARD, 1, 1
end
-Route124_EventScript_29100B:: @ 829100B
+Route124_EventScript_ItemYellowShard:: @ 829100B
giveitem_std ITEM_YELLOW_SHARD, 1, 1
end
-Route125_EventScript_291018:: @ 8291018
+Route125_EventScript_ItemBigPearl:: @ 8291018
giveitem_std ITEM_BIG_PEARL, 1, 1
end
-Route126_EventScript_291025:: @ 8291025
+Route126_EventScript_ItemGreenShard:: @ 8291025
giveitem_std ITEM_GREEN_SHARD, 1, 1
end
-Route127_EventScript_291032:: @ 8291032
+Route127_EventScript_ItemZinc:: @ 8291032
giveitem_std ITEM_ZINC, 1, 1
end
-Route127_EventScript_29103F:: @ 829103F
+Route127_EventScript_ItemCarbos:: @ 829103F
giveitem_std ITEM_CARBOS, 1, 1
end
-Route127_EventScript_29104C:: @ 829104C
+Route127_EventScript_ItemRareCandy:: @ 829104C
giveitem_std ITEM_RARE_CANDY, 1, 1
end
-Route132_EventScript_291059:: @ 8291059
+Route132_EventScript_ItemRareCandy:: @ 8291059
giveitem_std ITEM_RARE_CANDY, 1, 1
end
-Route132_EventScript_291066:: @ 8291066
+Route132_EventScript_ItemProtein:: @ 8291066
giveitem_std ITEM_PROTEIN, 1, 1
end
-Route133_EventScript_291073:: @ 8291073
+Route133_EventScript_ItemBigPearl:: @ 8291073
giveitem_std ITEM_BIG_PEARL, 1, 1
end
-Route133_EventScript_291080:: @ 8291080
+Route133_EventScript_ItemStarPiece:: @ 8291080
giveitem_std ITEM_STAR_PIECE, 1, 1
end
-Route133_EventScript_29108D:: @ 829108D
+Route133_EventScript_ItemMaxRevive:: @ 829108D
giveitem_std ITEM_MAX_REVIVE, 1, 1
end
-Route134_EventScript_29109A:: @ 829109A
+Route134_EventScript_ItemCarbos:: @ 829109A
giveitem_std ITEM_CARBOS, 1, 1
end
-Route134_EventScript_2910A7:: @ 82910A7
+Route134_EventScript_ItemStarPiece:: @ 82910A7
giveitem_std ITEM_STAR_PIECE, 1, 1
end
-PetalburgCity_EventScript_2910B4:: @ 82910B4
+PetalburgCity_EventScript_ItemMaxRevive:: @ 82910B4
giveitem_std ITEM_MAX_REVIVE, 1, 1
end
-PetalburgCity_EventScript_2910C1:: @ 82910C1
+PetalburgCity_EventScript_ItemEther:: @ 82910C1
giveitem_std ITEM_ETHER, 1, 1
end
-MauvilleCity_EventScript_2910CE:: @ 82910CE
+MauvilleCity_EventScript_ItemXSpeed:: @ 82910CE
giveitem_std ITEM_X_SPEED, 1, 1
end
-RustboroCity_EventScript_2910DB:: @ 82910DB
+RustboroCity_EventScript_ItemXDefend:: @ 82910DB
giveitem_std ITEM_X_DEFEND, 1, 1
end
-LilycoveCity_EventScript_2910E8:: @ 82910E8
+LilycoveCity_EventScript_ItemMaxRepel:: @ 82910E8
giveitem_std ITEM_MAX_REPEL, 1, 1
end
-MossdeepCity_EventScript_2910F5:: @ 82910F5
+MossdeepCity_EventScript_ItemNetBall:: @ 82910F5
giveitem_std ITEM_NET_BALL, 1, 1
end
-PetalburgWoods_EventScript_291102:: @ 8291102
+PetalburgWoods_EventScript_ItemXAttack:: @ 8291102
giveitem_std ITEM_X_ATTACK, 1, 1
end
-PetalburgWoods_EventScript_29110F:: @ 829110F
+PetalburgWoods_EventScript_ItemGreatBall:: @ 829110F
giveitem_std ITEM_GREAT_BALL, 1, 1
end
-PetalburgWoods_EventScript_29111C:: @ 829111C
+PetalburgWoods_EventScript_ItemEther:: @ 829111C
giveitem_std ITEM_ETHER, 1, 1
end
-PetalburgWoods_EventScript_291129:: @ 8291129
+PetalburgWoods_EventScript_ItemParalyzeHeal:: @ 8291129
giveitem_std ITEM_PARALYZE_HEAL, 1, 1
end
-RusturfTunnel_EventScript_291136:: @ 8291136
+RusturfTunnel_EventScript_ItemPokeBall:: @ 8291136
giveitem_std ITEM_POKE_BALL, 1, 1
end
-RusturfTunnel_EventScript_291143:: @ 8291143
+RusturfTunnel_EventScript_ItemMaxEther:: @ 8291143
giveitem_std ITEM_MAX_ETHER, 1, 1
end
-GraniteCave_1F_EventScript_291150:: @ 8291150
+GraniteCave_1F_EventScript_ItemEscapeRope:: @ 8291150
giveitem_std ITEM_ESCAPE_ROPE, 1, 1
end
-GraniteCave_B1F_EventScript_29115D:: @ 829115D
+GraniteCave_B1F_EventScript_ItemPokeBall:: @ 829115D
giveitem_std ITEM_POKE_BALL, 1, 1
end
-GraniteCave_B2F_EventScript_29116A:: @ 829116A
+GraniteCave_B2F_EventScript_ItemRepel:: @ 829116A
giveitem_std ITEM_REPEL, 1, 1
end
-GraniteCave_B2F_EventScript_291177:: @ 8291177
+GraniteCave_B2F_EventScript_ItemRareCandy:: @ 8291177
giveitem_std ITEM_RARE_CANDY, 1, 1
end
-JaggedPass_EventScript_291184:: @ 8291184
+JaggedPass_EventScript_ItemBurnHeal:: @ 8291184
giveitem_std ITEM_BURN_HEAL, 1, 1
end
-FieryPath_EventScript_291191:: @ 8291191
+FieryPath_EventScript_ItemFireStone:: @ 8291191
giveitem_std ITEM_FIRE_STONE, 1, 1
end
-FieryPath_EventScript_29119E:: @ 829119E
+FieryPath_EventScript_ItemTM06:: @ 829119E
giveitem_std ITEM_TM06, 1, 1
end
-MeteorFalls_1F_1R_EventScript_2911AB:: @ 82911AB
+MeteorFalls_1F_1R_EventScript_ItemTM23:: @ 82911AB
giveitem_std ITEM_TM23, 1, 1
end
-MeteorFalls_1F_1R_EventScript_2911B8:: @ 82911B8
+MeteorFalls_1F_1R_EventScript_ItemFullHeal:: @ 82911B8
giveitem_std ITEM_FULL_HEAL, 1, 1
end
-MeteorFalls_1F_1R_EventScript_2911C5:: @ 82911C5
+MeteorFalls_1F_1R_EventScript_ItemMoonStone:: @ 82911C5
giveitem_std ITEM_MOON_STONE, 1, 1
end
-MeteorFalls_1F_1R_EventScript_2911D2:: @ 82911D2
+MeteorFalls_1F_1R_EventScript_ItemPPUP:: @ 82911D2
giveitem_std ITEM_PP_UP, 1, 1
end
-MeteorFalls_B1F_2R_EventScript_2911DF:: @ 82911DF
+MeteorFalls_B1F_2R_EventScript_ItemTM02:: @ 82911DF
giveitem_std ITEM_TM02, 1, 1
end
-NewMauville_Inside_EventScript_2911EC:: @ 82911EC
+NewMauville_Inside_EventScript_ItemUltraRope:: @ 82911EC
giveitem_std ITEM_ULTRA_BALL, 1, 1
end
-NewMauville_Inside_EventScript_2911F9:: @ 82911F9
+NewMauville_Inside_EventScript_ItemEscapeRope:: @ 82911F9
giveitem_std ITEM_ESCAPE_ROPE, 1, 1
end
-NewMauville_Inside_EventScript_291206:: @ 8291206
+NewMauville_Inside_EventScript_ItemThunderStone:: @ 8291206
giveitem_std ITEM_THUNDER_STONE, 1, 1
end
-NewMauville_Inside_EventScript_291213:: @ 8291213
+NewMauville_Inside_EventScript_ItemFullHeal:: @ 8291213
giveitem_std ITEM_FULL_HEAL, 1, 1
end
-NewMauville_Inside_EventScript_291220:: @ 8291220
+NewMauville_Inside_EventScript_ItemParalyzeHeal:: @ 8291220
giveitem_std ITEM_PARALYZE_HEAL, 1, 1
end
-AbandonedShip_Rooms_1F_EventScript_29122D:: @ 829122D
+AbandonedShip_Rooms_1F_EventScript_ItemHarborMail:: @ 829122D
giveitem_std ITEM_HARBOR_MAIL, 1, 1
end
-AbandonedShip_Rooms_B1F_EventScript_29123A:: @ 829123A
+AbandonedShip_Rooms_B1F_EventScript_ItemEscapeRope:: @ 829123A
giveitem_std ITEM_ESCAPE_ROPE, 1, 1
end
-AbandonedShip_Rooms2_B1F_EventScript_291247:: @ 8291247
+AbandonedShip_Rooms2_B1F_EventScript_ItemDiveBall:: @ 8291247
giveitem_std ITEM_DIVE_BALL, 1, 1
end
-AbandonedShip_Room_B1F_EventScript_291254:: @ 8291254
+AbandonedShip_Room_B1F_EventScript_ItemTM13:: @ 8291254
giveitem_std ITEM_TM13, 1, 1
end
-AbandonedShip_Rooms2_1F_EventScript_291261:: @ 8291261
+AbandonedShip_Rooms2_1F_EventScript_ItemRevive:: @ 8291261
giveitem_std ITEM_REVIVE, 1, 1
end
-AbandonedShip_CaptainsOffice_EventScript_29126E:: @ 829126E
+AbandonedShip_CaptainsOffice_EventScript_ItemStorageKey:: @ 829126E
giveitem_std ITEM_STORAGE_KEY, 1, 1
end
-AbandonedShip_HiddenFloorRooms_EventScript_29127B:: @ 829127B
+AbandonedShip_HiddenFloorRooms_EventScript_ItemLuxuryBall:: @ 829127B
giveitem_std ITEM_LUXURY_BALL, 1, 1
end
-AbandonedShip_HiddenFloorRooms_EventScript_291288:: @ 8291288
+AbandonedShip_HiddenFloorRooms_EventScript_ItemScanner:: @ 8291288
giveitem_std ITEM_SCANNER, 1, 1
end
-AbandonedShip_HiddenFloorRooms_EventScript_291295:: @ 8291295
+AbandonedShip_HiddenFloorRooms_EventScript_ItemWaterStone:: @ 8291295
giveitem_std ITEM_WATER_STONE, 1, 1
end
-AbandonedShip_HiddenFloorRooms_EventScript_2912A2:: @ 82912A2
+AbandonedShip_HiddenFloorRooms_EventScript_ItemTM18:: @ 82912A2
giveitem_std ITEM_TM18, 1, 1
end
-ScorchedSlab_EventScript_2912AF:: @ 82912AF
+ScorchedSlab_EventScript_ItemTM11:: @ 82912AF
giveitem_std ITEM_TM11, 1, 1
end
-SafariZone_Northwest_EventScript_2912BC:: @ 82912BC
+SafariZone_Northwest_EventScript_ItemTM22:: @ 82912BC
giveitem_std ITEM_TM22, 1, 1
end
-SafariZone_North_EventScript_2912C9:: @ 82912C9
+SafariZone_North_EventScript_ItemCalcium:: @ 82912C9
giveitem_std ITEM_CALCIUM, 1, 1
end
-SafariZone_Southwest_EventScript_2912D6:: @ 82912D6
+SafariZone_Southwest_EventScript_ItemMaxRevive:: @ 82912D6
giveitem_std ITEM_MAX_REVIVE, 1, 1
end
-SafariZone_Northeast_EventScript_2912E3:: @ 82912E3
+SafariZone_Northeast_EventScript_ItemNugget:: @ 82912E3
giveitem_std ITEM_NUGGET, 1, 1
end
-SafariZone_Southeast_EventScript_2912F0:: @ 82912F0
+SafariZone_Southeast_EventScript_ItemBigPearl:: @ 82912F0
giveitem_std ITEM_BIG_PEARL, 1, 1
end
-MtPyre_2F_EventScript_2912FD:: @ 82912FD
+MtPyre_2F_EventScript_ItemUltraBall:: @ 82912FD
giveitem_std ITEM_ULTRA_BALL, 1, 1
end
-MtPyre_3F_EventScript_29130A:: @ 829130A
+MtPyre_3F_EventScript_ItemSuperRepel:: @ 829130A
giveitem_std ITEM_SUPER_REPEL, 1, 1
end
-MtPyre_4F_EventScript_291317:: @ 8291317
+MtPyre_4F_EventScript_ItemSeaIncense:: @ 8291317
giveitem_std ITEM_SEA_INCENSE, 1, 1
end
-MtPyre_5F_EventScript_291324:: @ 8291324
+MtPyre_5F_EventScript_ItemLaxIncense:: @ 8291324
giveitem_std ITEM_LAX_INCENSE, 1, 1
end
-MtPyre_6F_EventScript_291331:: @ 8291331
+MtPyre_6F_EventScript_ItemTM30:: @ 8291331
giveitem_std ITEM_TM30, 1, 1
end
-MtPyre_Exterior_EventScript_29133E:: @ 829133E
+MtPyre_Exterior_EventScript_ItemMaxPotion:: @ 829133E
giveitem_std ITEM_MAX_POTION, 1, 1
end
-MtPyre_Exterior_EventScript_29134B:: @ 829134B
+MtPyre_Exterior_EventScript_ItemTM48:: @ 829134B
giveitem_std ITEM_TM48, 1, 1
end
-AquaHideout_B1F_EventScript_291358:: @ 8291358
+AquaHideout_B1F_EventScript_ItemMasterBall:: @ 8291358
giveitem_std ITEM_MASTER_BALL, 1, 1
end
-AquaHideout_B1F_EventScript_291365:: @ 8291365
+AquaHideout_B1F_EventScript_ItemNugget:: @ 8291365
giveitem_std ITEM_NUGGET, 1, 1
end
-AquaHideout_B1F_EventScript_291372:: @ 8291372
+AquaHideout_B1F_EventScript_ItemMaxElixir:: @ 8291372
giveitem_std ITEM_MAX_ELIXIR, 1, 1
end
-AquaHideout_B2F_EventScript_29137F:: @ 829137F
+AquaHideout_B2F_EventScript_ItemNestBall:: @ 829137F
giveitem_std ITEM_NEST_BALL, 1, 1
end
-AquaHideout_B2F_EventScript_29138C:: @ 829138C
- giveitem_std ITEM_MASTER_BALL, 1, 1
+AquaHideout_B2F_EventScript_ItemMasterBall:: @ 829138C
+ giveitem_std ITEM_MASTER_BALL, 1, 1 // Unused
end
-Route119_EventScript_291399:: @ 8291399
+Route119_EventScript_ItemNugget:: @ 8291399
giveitem_std ITEM_NUGGET, 1, 1
end
-Route119_EventScript_2913A6:: @ 82913A6
+Route119_EventScript_ItemMaxElixir:: @ 82913A6
giveitem_std ITEM_MAX_ELIXIR, 1, 1
end
-Route119_EventScript_2913B3:: @ 82913B3
+Route119_EventScript_ItemNestBall:: @ 82913B3
giveitem_std ITEM_NEST_BALL, 1, 1
end
-ShoalCave_LowTideEntranceRoom_EventScript_2913C0:: @ 82913C0
+ShoalCave_LowTideEntranceRoom_EventScript_ItemBigPearl:: @ 82913C0
giveitem_std ITEM_BIG_PEARL, 1, 1
end
-ShoalCave_LowTideInnerRoom_EventScript_2913CD:: @ 82913CD
+ShoalCave_LowTideInnerRoom_EventScript_ItemRareCandy:: @ 82913CD
giveitem_std ITEM_RARE_CANDY, 1, 1
end
-ShoalCave_LowTideStairsRoom_EventScript_2913DA:: @ 82913DA
+ShoalCave_LowTideStairsRoom_EventScript_ItemIceHeal:: @ 82913DA
giveitem_std ITEM_ICE_HEAL, 1, 1
end
-ShoalCave_LowTideIceRoom_EventScript_2913E7:: @ 82913E7
+ShoalCave_LowTideIceRoom_EventScript_ItemTM07:: @ 82913E7
giveitem_std ITEM_TM07, 1, 1
end
-ShoalCave_LowTideIceRoom_EventScript_2913F4:: @ 82913F4
+ShoalCave_LowTideIceRoom_EventScript_ItemNeverMeltIce:: @ 82913F4
giveitem_std ITEM_NEVER_MELT_ICE, 1, 1
end
-SeafloorCavern_Room9_EventScript_291401:: @ 8291401
+SeafloorCavern_Room9_EventScript_ItemTM26:: @ 8291401
giveitem_std ITEM_TM26, 1, 1
end
-Route110_TrickHousePuzzle1_EventScript_29140E:: @ 829140E
+Route110_TrickHousePuzzle1_EventScript_ItemOrangeMail:: @ 829140E
giveitem_std ITEM_ORANGE_MAIL, 1, 1
end
-Route110_TrickHousePuzzle2_EventScript_29141B:: @ 829141B
+Route110_TrickHousePuzzle2_EventScript_ItemHarborMail:: @ 829141B
giveitem_std ITEM_HARBOR_MAIL, 1, 1
end
-Route110_TrickHousePuzzle2_EventScript_291428:: @ 8291428
+Route110_TrickHousePuzzle2_EventScript_ItemWaveMail:: @ 8291428
giveitem_std ITEM_WAVE_MAIL, 1, 1
end
-Route110_TrickHousePuzzle3_EventScript_291435:: @ 8291435
+Route110_TrickHousePuzzle3_EventScript_ItemShadowMail:: @ 8291435
giveitem_std ITEM_SHADOW_MAIL, 1, 1
end
-Route110_TrickHousePuzzle3_EventScript_291442:: @ 8291442
+Route110_TrickHousePuzzle3_EventScript_ItemWoodMail:: @ 8291442
giveitem_std ITEM_WOOD_MAIL, 1, 1
end
-Route110_TrickHousePuzzle4_EventScript_29144F:: @ 829144F
+Route110_TrickHousePuzzle4_EventScript_ItemMechMail:: @ 829144F
giveitem_std ITEM_MECH_MAIL, 1, 1
end
-Route110_TrickHousePuzzle6_EventScript_29145C:: @ 829145C
+Route110_TrickHousePuzzle6_EventScript_ItemGlitterMail:: @ 829145C
giveitem_std ITEM_GLITTER_MAIL, 1, 1
end
-Route110_TrickHousePuzzle7_EventScript_291469:: @ 8291469
+Route110_TrickHousePuzzle7_EventScript_ItemTropicMail:: @ 8291469
giveitem_std ITEM_TROPIC_MAIL, 1, 1
end
-Route110_TrickHousePuzzle8_EventScript_291476:: @ 8291476
+Route110_TrickHousePuzzle8_EventScript_ItemBeadMail:: @ 8291476
giveitem_std ITEM_BEAD_MAIL, 1, 1
end
-VictoryRoad_1F_EventScript_291483:: @ 8291483
+VictoryRoad_1F_EventScript_ItemMaxElixir:: @ 8291483
giveitem_std ITEM_MAX_ELIXIR, 1, 1
end
-VictoryRoad_1F_EventScript_291490:: @ 8291490
+VictoryRoad_1F_EventScript_ItemPPUp:: @ 8291490
giveitem_std ITEM_PP_UP, 1, 1
end
-VictoryRoad_B1F_EventScript_29149D:: @ 829149D
+VictoryRoad_B1F_EventScript_ItemTM29:: @ 829149D
giveitem_std ITEM_TM29, 1, 1
end
-VictoryRoad_B1F_EventScript_2914AA:: @ 82914AA
+VictoryRoad_B1F_EventScript_ItemFullRestore:: @ 82914AA
giveitem_std ITEM_FULL_RESTORE, 1, 1
end
-VictoryRoad_B2F_EventScript_2914B7:: @ 82914B7
+VictoryRoad_B2F_EventScript_ItemFullHeal:: @ 82914B7
giveitem_std ITEM_FULL_HEAL, 1, 1
end
-ArtisanCave_B1F_EventScript_2914C4:: @ 82914C4
+ArtisanCave_B1F_EventScript_ItemHPUp:: @ 82914C4
giveitem_std ITEM_HP_UP, 1, 1
end
-ArtisanCave_1F_EventScript_2914D1:: @ 82914D1
+ArtisanCave_1F_EventScript_ItemCarbos:: @ 82914D1
giveitem_std ITEM_CARBOS, 1, 1
end
-MagmaHideout_1F_EventScript_2914DE:: @ 82914DE
+MagmaHideout_1F_EventScript_ItemRareCandy:: @ 82914DE
giveitem_std ITEM_RARE_CANDY, 1, 1
end
-MagmaHideout_2F_2R_EventScript_2914EB:: @ 82914EB
+MagmaHideout_2F_2R_EventScript_MaxElixir:: @ 82914EB
giveitem_std ITEM_MAX_ELIXIR, 1, 1
end
-MagmaHideout_2F_2R_EventScript_2914F8:: @ 82914F8
+MagmaHideout_2F_2R_EventScript_ItemFullRestore:: @ 82914F8
giveitem_std ITEM_FULL_RESTORE, 1, 1
end
-MagmaHideout_3F_1R_EventScript_291505:: @ 8291505
+MagmaHideout_3F_1R_EventScript_ItemNugget:: @ 8291505
giveitem_std ITEM_NUGGET, 1, 1
end
-MagmaHideout_3F_2R_EventScript_291512:: @ 8291512
+MagmaHideout_3F_2R_EventScript_ItemPPMax:: @ 8291512
giveitem_std ITEM_PP_MAX, 1, 1
end
-MagmaHideout_4F_EventScript_29151F:: @ 829151F
+MagmaHideout_4F_EventScript_MaxRevive:: @ 829151F
giveitem_std ITEM_MAX_REVIVE, 1, 1
end
-MagmaHideout_3F_3R_EventScript_29152C:: @ 829152C
+MagmaHideout_3F_3R_EventScript_ItemEscapeRope:: @ 829152C
giveitem_std ITEM_ESCAPE_ROPE, 1, 1
end
diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc
index 6302a33a8..81bd388f8 100644
--- a/data/scripts/secret_base.inc
+++ b/data/scripts/secret_base.inc
@@ -310,8 +310,8 @@ SecretBase_RedCave1_Text_275944: @ 8275944
.string "Are you speechless?$"
EventScript_2759F1:: @ 82759F1
- special sub_80E8C98
- special sub_80E8BC8
+ special GetSecretBaseTypeInFrontOfPlayer
+ special CheckPlayerHasSecretBase
compare VAR_RESULT, 1
goto_if_eq EventScript_275BE8
checkpartymove MOVE_SECRET_POWER
@@ -339,7 +339,7 @@ EventScript_275A50:: @ 8275A50
msgbox gText_23B704, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq EventScript_275CDE
- msgbox Route103_Text_290771, MSGBOX_DEFAULT
+ msgbox Text_MonUsedHM, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
waitstate
@@ -371,7 +371,7 @@ EventScript_275AA9:: @ 8275AA9
msgbox Text_274779, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq EventScript_275CDE
- msgbox Route103_Text_290771, MSGBOX_DEFAULT
+ msgbox Text_MonUsedHM, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
waitstate
@@ -403,7 +403,7 @@ EventScript_275B02:: @ 8275B02
msgbox Text_274825, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_if_eq EventScript_275CDE
- msgbox Route103_Text_290771, MSGBOX_DEFAULT
+ msgbox Text_MonUsedHM, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
waitstate
@@ -432,11 +432,11 @@ EventScript_275B5B:: @ 8275B5B
playse SE_KAIDAN
setvar VAR_INIT_SECRET_BASE, 0
setflag FLAG_DECORATION_0
- special sub_80E8E18
- special sub_80E9068
+ special SetPlayerSecretBase
+ special EnterSecretBase
setvar VAR_0x8004, 0
setvar VAR_0x8005, 0
- special sub_80E933C
+ special InitSecretBaseDecorationSprites
setvar VAR_SECRET_BASE_INITIALIZED, 1
waitstate
end
@@ -450,13 +450,13 @@ SecretBase_RedCave1_EventScript_275B81:: @ 8275B81
goto_if_eq SecretBase_RedCave1_EventScript_275BAB
closemessage
playse SE_KAIDAN
- special sub_80E9A90
+ special ClearAndLeaveSecretBase
end
SecretBase_RedCave1_EventScript_275BAB:: @ 8275BAB
closemessage
setflag FLAG_RECEIVED_SECRET_POWER
- special sub_80E91F8
+ special EnterNewlyCreatedSecretBase
waitstate
end
@@ -469,18 +469,18 @@ EventScript_275BB7:: @ 8275BB7
lockall
setvar VAR_INIT_SECRET_BASE, 1
playse SE_KAIDAN
- special sub_80E9744
+ special IsCurSecretBaseOwnedByAnotherPlayer
compare VAR_RESULT, 0
goto_if_eq EventScript_275BDB
clearflag FLAG_DECORATION_0
- special sub_80E9068
+ special EnterSecretBase
setvar VAR_SECRET_BASE_INITIALIZED, 0
waitstate
end
EventScript_275BDB:: @ 8275BDB
setflag FLAG_DECORATION_0
- special sub_80E9068
+ special EnterSecretBase
setvar VAR_SECRET_BASE_INITIALIZED, 0
waitstate
end
@@ -500,7 +500,7 @@ EventScript_275BE8:: @ 8275BE8
compare VAR_RESULT, 0
goto_if_eq EventScript_275CDE
fadescreenswapbuffers 1
- special sub_80E9B70
+ special MoveOutOfSecretBaseFromOutside
closemessage
fadescreenswapbuffers 0
msgbox Text_276A95, MSGBOX_YESNO
@@ -508,7 +508,7 @@ EventScript_275BE8:: @ 8275BE8
goto_if_eq EventScript_275CDE
bufferpartymonnick 0, VAR_0x8004
buffermovename 1, MOVE_SECRET_POWER
- msgbox Route103_Text_290771, MSGBOX_DEFAULT
+ msgbox Text_MonUsedHM, MSGBOX_DEFAULT
closemessage
closemessage
compare VAR_0x8007, 1
@@ -569,7 +569,7 @@ SecretBase_RedCave1_EventScript_275CE1:: @ 8275CE1
EventScript_275D0C:: @ 8275D0C
setvar VAR_0x8004, 0
setvar VAR_0x8005, 0
- special sub_80E933C
+ special InitSecretBaseDecorationSprites
setvar VAR_SECRET_BASE_INITIALIZED, 1
end
@@ -626,7 +626,7 @@ SecretBase_YellowCave1_EventScript_275D64:: @ 8275D64
SecretBase_YellowCave2_EventScript_275D64:: @ 8275D64
SecretBase_YellowCave3_EventScript_275D64:: @ 8275D64
SecretBase_YellowCave4_EventScript_275D64:: @ 8275D64
- special sub_80EA354
+ special GetSecretBaseOwnerInteractionState
compare VAR_0x8004, 0
goto_if_eq SecretBase_RedCave1_EventScript_275DD6
compare VAR_0x8004, 1
@@ -1010,7 +1010,7 @@ SecretBase_RedCave1_EventScript_27627C:: @ 827627C
end
SecretBase_RedCave1_EventScript_276286:: @ 8276286
- special sub_80EA2E4
+ special PrepSecretBaseBattleFlags
setvar VAR_0x8004, SPECIAL_BATTLE_SECRET_BASE
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
@@ -1039,12 +1039,20 @@ SecretBase_RedCave1_EventScript_2762C5:: @ 82762C5
.include "data/scripts/secret_power_tm.inc"
+SecretBase_EventScript_DollInteract:: @ 82766A2
+ special sub_80EB290
+ end
+
+SecretBase_EventScript_CushionInteract:: @ 82766A6
+ special sub_80EB2C8
+ end
+
Text_2766AA: @ 82766AA
.string "All decorations and furniture in your\n"
.string "SECRET BASE will be returned to your PC.\p"
.string "Is that okay?$"
-Text_276707: @ 8276707
+Text_WantToRegisterSecretBase: @ 8276707
.string "Do you want to register\n"
.string "{STR_VAR_1}'s SECRET BASE?$"
@@ -1052,7 +1060,7 @@ Text_276731: @ 8276731
.string "This data is already registered.\n"
.string "Would you like to delete it?$"
-Text_27676F: @ 827676F
+Text_TooManyBasesDeleteSome: @ 827676F
.string "Up to 10 locations can be registered.\p"
.string "Delete a location if you want to\n"
.string "register another location.$"
@@ -1063,10 +1071,10 @@ Text_2767D1: @ 82767D1
Text_2767E9: @ 82767E9
.string "Data has been unregistered.$"
-Text_276805: @ 8276805
+Text_SecretBaseBootUpPC: @ 8276805
.string "{PLAYER} booted up the PC.$"
-Text_27681A: @ 827681A
+Text_SecretBasePCStartMenu: @ 827681A
.string "What would you like to do?$"
Text_276835: @ 8276835
diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc
index ed7216357..647064829 100644
--- a/data/scripts/secret_power_tm.inc
+++ b/data/scripts/secret_power_tm.inc
@@ -103,11 +103,3 @@ Route111_Movement_276696: @ 8276696
walk_down
walk_down
step_end
-
-EventScript_SecretPower1:: @ 82766A2
- special sub_80EB290
- end
-
-EventScript_SecretPower2:: @ 82766A6
- special sub_80EB2C8
- end
diff --git a/data/specials.inc b/data/specials.inc
index d57c76bde..7a2b0f975 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -14,25 +14,25 @@ gSpecials:: @ 81DBA64
def_special sub_80AF9F8
def_special CleanupLinkRoomState
def_special ExitLinkRoom
- def_special sub_80E8E18
- def_special sub_80E8BC8
- def_special sub_80E9068
- def_special sub_80E9A90
- def_special sub_80E9AC0
- def_special sub_80E9744
- def_special sub_80E9BDC
- def_special sub_80E9C2C
- def_special sub_80E9C74
- def_special sub_80E9C88
- def_special sub_80EA2E4
- def_special sub_80EA354
- def_special sub_80E933C
+ def_special SetPlayerSecretBase
+ def_special CheckPlayerHasSecretBase
+ def_special EnterSecretBase
+ def_special ClearAndLeaveSecretBase
+ def_special MoveOutOfSecretBase
+ def_special IsCurSecretBaseOwnedByAnotherPlayer
+ def_special GetCurSecretBaseRegistrationValidity
+ def_special ToggleCurSecretBaseRegistry
+ def_special ShowSecretBaseDecorationMenu
+ def_special ShowSecretBaseRegistryMenu
+ def_special PrepSecretBaseBattleFlags
+ def_special GetSecretBaseOwnerInteractionState
+ def_special InitSecretBaseDecorationSprites
def_special sub_8127E18
def_special sub_81297AC
- def_special sub_80E8C98
- def_special sub_80E95D4
+ def_special GetSecretBaseTypeInFrontOfPlayer
+ def_special SetSecretBaseOwnerGfxId
def_special sub_8129708
- def_special sub_80E91F8
+ def_special EnterNewlyCreatedSecretBase
def_special sub_80EA30C
def_special DoSecretBasePCTurnOffEffect
def_special RecordMixingPlayerSpotTriggered
@@ -235,7 +235,7 @@ gSpecials:: @ 81DBA64
def_special sub_81B9770
def_special sub_81B9718
def_special sub_81B96D0
- def_special TeachMoveTutorMove
+ def_special TeachMoveRelearnerMove
def_special GetRecordedCyclingRoadResults
def_special Special_BeginCyclingRoadChallenge
def_special GetPlayerAvatarBike
@@ -313,7 +313,7 @@ gSpecials:: @ 81DBA64
def_special sub_80AFC60
def_special PutZigzagoonInPlayerParty
def_special IsStarterInParty
- def_special sub_80E980C
+ def_special CopyCurSecretBaseOwnerName_StrVar1
def_special ScriptCheckFreePokemonStorageSpace
def_special DoSealedChamberShakingEffect1
def_special sub_8139B60
@@ -327,7 +327,7 @@ gSpecials:: @ 81DBA64
def_special SetUpTrainerMovement
def_special DoSealedChamberShakingEffect2
def_special FoundBlackGlasses
- def_special sub_80AC81C
+ def_special StartDroughtWeatherBlend
def_special DoDiveWarp
def_special DoFallWarp
def_special ShowContestEntryMonPic
@@ -340,7 +340,7 @@ gSpecials:: @ 81DBA64
def_special ScriptGetPartyMonSpecies
def_special sub_81B98DC
def_special nullsub_54
- def_special sub_80E9B70
+ def_special MoveOutOfSecretBaseFromOutside
def_special LoadPlayerBag
def_special sub_80B05B4
def_special SetPacifidlogTMReceivedDay
@@ -361,17 +361,17 @@ gSpecials:: @ 81DBA64
def_special sub_80EED10
def_special sub_80EED34
def_special sub_80EB1AC
- def_special sub_80EBE7C
+ def_special SetSecretBaseSecretsTvFlags_SandOrnament
def_special sub_80EB300
def_special sub_80EB438
def_special sub_80EB368
def_special sub_80EB3D0
def_special sub_80EB290
def_special sub_80EB2C8
- def_special sub_80EB56C
- def_special sub_80EB9E0
- def_special sub_80EBB28
- def_special sub_80EB498
+ def_special SetSecretBaseSecretsTvFlags_MiscFurnature
+ def_special SetSecretBaseSecretsTvFlags_LargeDecorationSpot
+ def_special SetSecretBaseSecretsTvFlags_SmallDecorationSpot
+ def_special SetSecretBaseSecretsTvFlags_Poster
def_special sub_818D9C0
def_special sub_818DAEC
def_special sub_818DBE8
@@ -434,7 +434,7 @@ gSpecials:: @ 81DBA64
def_special sub_81B8958
def_special sub_8018090
def_special sub_813990C
- def_special sub_801B27C
+ def_special ValidateReceivedWonderCard
def_special HasAtLeastOneBerry
def_special sub_802C920
def_special sub_802E3C4
@@ -471,11 +471,11 @@ gSpecials:: @ 81DBA64
def_special sub_813AA04
def_special sub_813AA18
def_special sub_813AA44
- def_special sub_80248B0
- def_special sub_8024918
- def_special sub_80246D4
- def_special sub_802477C
- def_special sub_802488C
+ def_special DisplayBerryPowderVendorMenu
+ def_special RemoveBerryPowderVendorMenu
+ def_special HasEnoughBerryPowder
+ def_special TakeBerryPowder
+ def_special PrintPlayerBerryPowderAmount
def_special sub_813A820
def_special sub_813A854
def_special sub_813B7D8
diff --git a/data/text/contest_text_pointers.inc b/data/text/contest_text_pointers.inc
deleted file mode 100644
index f9cf4b70e..000000000
--- a/data/text/contest_text_pointers.inc
+++ /dev/null
@@ -1,78 +0,0 @@
- .align 2
-gContestEffectDescriptionPointers:: @ 8587C50
- .4byte gContestEffect00hDescription
- .4byte gContestEffect01hDescription
- .4byte gContestEffect02hDescription
- .4byte gContestEffect03hDescription
- .4byte gContestEffect04hDescription
- .4byte gContestEffect05hDescription
- .4byte gContestEffect06hDescription
- .4byte gContestEffect07hDescription
- .4byte gContestEffect08hDescription
- .4byte gContestEffect09hDescription
- .4byte gContestEffect0AhDescription
- .4byte gContestEffect0BhDescription
- .4byte gContestEffect0ChDescription
- .4byte gContestEffect0DhDescription
- .4byte gContestEffect0EhDescription
- .4byte gContestEffect0FhDescription
- .4byte gContestEffect10hDescription
- .4byte gContestEffect11hDescription
- .4byte gContestEffect12hDescription
- .4byte gContestEffect13hDescription
- .4byte gContestEffect14hDescription
- .4byte gContestEffect15hDescription
- .4byte gContestEffect16hDescription
- .4byte gContestEffect17hDescription
- .4byte gContestEffect18hDescription
- .4byte gContestEffect19hDescription
- .4byte gContestEffect1AhDescription
- .4byte gContestEffect1BhDescription
- .4byte gContestEffect1ChDescription
- .4byte gContestEffect1DhDescription
- .4byte gContestEffect1EhDescription
- .4byte gContestEffect1FhDescription
- .4byte gContestEffect20hDescription
- .4byte gContestEffect21hDescription
- .4byte gContestEffect22hDescription
- .4byte gContestEffect23hDescription
- .4byte gContestEffect24hDescription
- .4byte gContestEffect25hDescription
- .4byte gContestEffect26hDescription
- .4byte gContestEffect27hDescription
- .4byte gContestEffect28hDescription
- .4byte gContestEffect29hDescription
- .4byte gContestEffect2AhDescription
- .4byte gContestEffect2BhDescription
- .4byte gContestEffect2ChDescription
- .4byte gContestEffect2DhDescription
- .4byte gContestEffect2EhDescription
- .4byte gContestEffect2FhDescription
-
-@ 8587D10
-@ Unreferenced array of pointers to move names.
-@ All of the moves except Conversion are combo starters, so this may have
-@ been an early list of combo starters.
- .align 2
- .4byte gUnusedContestMoveName0
- .4byte gUnusedContestMoveName0
- .4byte gUnusedContestMoveName1
- .4byte gUnusedContestMoveName2
- .4byte gUnusedContestMoveName3
- .4byte gUnusedContestMoveName4
- .4byte gUnusedContestMoveName5
- .4byte gUnusedContestMoveName6
- .4byte gUnusedContestMoveName7
- .4byte gUnusedContestMoveName8
- .4byte gUnusedContestMoveName9
- .4byte gUnusedContestMoveName10
- .4byte gUnusedContestMoveName11
- .4byte gUnusedContestMoveName12
-
- .align 2
-gContestMoveTypeTextPointers:: @ 8587D48
- .4byte gContestMoveTypeCoolText
- .4byte gContestMoveTypeBeautyText
- .4byte gContestMoveTypeCuteText
- .4byte gContestMoveTypeSmartText
- .4byte gContestMoveTypeToughText
diff --git a/data/text/surf.inc b/data/text/surf.inc
index 2751dae7b..31c197222 100644
--- a/data/text/surf.inc
+++ b/data/text/surf.inc
@@ -1,5 +1,5 @@
-gUnknown_08272FD6:: @ 8272FD6
+gText_WantToUseSurf:: @ 8272FD6
.string "The water is dyed a deep blue…\nWould you like to SURF?$"
-gUnknown_0827300D:: @ 827300D
+gText_PlayerUsedSurf:: @ 827300D
.string "{STR_VAR_1} used SURF!$"
diff --git a/data/use_pokeblock.s b/data/use_pokeblock.s
index c257961d3..dc2c7bd70 100644
--- a/data/use_pokeblock.s
+++ b/data/use_pokeblock.s
@@ -48,10 +48,10 @@ sContestStatNames:: @ 85DFD04
.4byte gText_Cuteness
.4byte gText_Beauty3
-gUnknown_085DFD18:: @ 85DFD18
+gSpriteSheet_ConditionUpDown:: @ 85DFD18
obj_tiles gUsePokeblockUpDown_Gfx, 0x200, 0
-gUnknown_085DFD20:: @ 85DFD20
+gSpritePalette_ConditionUpDown:: @ 85DFD20
obj_pal gUsePokeblockUpDown_Pal, 0
gUnknown_085DFD28:: @ 85DFD28
@@ -79,7 +79,7 @@ gUnknown_085DFD54:: @ 85DFD54
.4byte gUnknown_085DFD44
.4byte gUnknown_085DFD4C
-gUnknown_085DFD5C:: @ 85DFD5C
+gSpriteTemplate_085DFD5C:: @ 85DFD5C
spr_template 0, 0, gUnknown_085DFD3C, gUnknown_085DFD54, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
gUnknown_085DFD74:: @ 85DFD74
diff --git a/graphics/battle_anims/backgrounds/20.bin b/graphics/battle_anims/backgrounds/aurora.bin
index d72acf171..d72acf171 100644
--- a/graphics/battle_anims/backgrounds/20.bin
+++ b/graphics/battle_anims/backgrounds/aurora.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/20.png b/graphics/battle_anims/backgrounds/aurora.png
index 34f22002a..34f22002a 100644
--- a/graphics/battle_anims/backgrounds/20.png
+++ b/graphics/battle_anims/backgrounds/aurora.png
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/22.pal b/graphics/battle_anims/backgrounds/bug.pal
index e8c5f59dc..e8c5f59dc 100644
--- a/graphics/battle_anims/backgrounds/22.pal
+++ b/graphics/battle_anims/backgrounds/bug.pal
diff --git a/graphics/battle_anims/backgrounds/16.bin b/graphics/battle_anims/backgrounds/cosmic.bin
index 54740367a..54740367a 100644
--- a/graphics/battle_anims/backgrounds/16.bin
+++ b/graphics/battle_anims/backgrounds/cosmic.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/16.png b/graphics/battle_anims/backgrounds/cosmic.png
index 6b0aa4973..6b0aa4973 100644
--- a/graphics/battle_anims/backgrounds/16.png
+++ b/graphics/battle_anims/backgrounds/cosmic.png
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/00.bin b/graphics/battle_anims/backgrounds/dark.bin
index dc70b2cf8..dc70b2cf8 100644
--- a/graphics/battle_anims/backgrounds/00.bin
+++ b/graphics/battle_anims/backgrounds/dark.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/00.png b/graphics/battle_anims/backgrounds/dark.png
index f88de79c3..f88de79c3 100644
--- a/graphics/battle_anims/backgrounds/00.png
+++ b/graphics/battle_anims/backgrounds/dark.png
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/07.bin b/graphics/battle_anims/backgrounds/drill.bin
index ca591c75e..ca591c75e 100644
--- a/graphics/battle_anims/backgrounds/07.bin
+++ b/graphics/battle_anims/backgrounds/drill.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/07.png b/graphics/battle_anims/backgrounds/drill.png
index 893bcee52..893bcee52 100644
--- a/graphics/battle_anims/backgrounds/07.png
+++ b/graphics/battle_anims/backgrounds/drill.png
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/08.bin b/graphics/battle_anims/backgrounds/drill_contests.bin
index 8c9716842..8c9716842 100644
--- a/graphics/battle_anims/backgrounds/08.bin
+++ b/graphics/battle_anims/backgrounds/drill_contests.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/21.bin b/graphics/battle_anims/backgrounds/fissure.bin
index e3d6f46e9..e3d6f46e9 100644
--- a/graphics/battle_anims/backgrounds/21.bin
+++ b/graphics/battle_anims/backgrounds/fissure.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/21.png b/graphics/battle_anims/backgrounds/fissure.png
index 1571a1d69..1571a1d69 100644
--- a/graphics/battle_anims/backgrounds/21.png
+++ b/graphics/battle_anims/backgrounds/fissure.png
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/02.bin b/graphics/battle_anims/backgrounds/ghost.bin
index fabe87b3f..fabe87b3f 100644
--- a/graphics/battle_anims/backgrounds/02.bin
+++ b/graphics/battle_anims/backgrounds/ghost.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/02.png b/graphics/battle_anims/backgrounds/ghost.png
index c4519d909..c4519d909 100644
--- a/graphics/battle_anims/backgrounds/02.png
+++ b/graphics/battle_anims/backgrounds/ghost.png
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/12.png b/graphics/battle_anims/backgrounds/guillotine.png
index cd831bb8f..cd831bb8f 100644
--- a/graphics/battle_anims/backgrounds/12.png
+++ b/graphics/battle_anims/backgrounds/guillotine.png
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/14.bin b/graphics/battle_anims/backgrounds/guillotine_contests.bin
index 2181a0227..2181a0227 100644
--- a/graphics/battle_anims/backgrounds/14.bin
+++ b/graphics/battle_anims/backgrounds/guillotine_contests.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/12.bin b/graphics/battle_anims/backgrounds/guillotine_opponent.bin
index 1c0ae690e..1c0ae690e 100644
--- a/graphics/battle_anims/backgrounds/12.bin
+++ b/graphics/battle_anims/backgrounds/guillotine_opponent.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/13.bin b/graphics/battle_anims/backgrounds/guillotine_player.bin
index 89556edc3..89556edc3 100644
--- a/graphics/battle_anims/backgrounds/13.bin
+++ b/graphics/battle_anims/backgrounds/guillotine_player.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/09.png b/graphics/battle_anims/backgrounds/highspeed.png
index 5746191e7..5746191e7 100644
--- a/graphics/battle_anims/backgrounds/09.png
+++ b/graphics/battle_anims/backgrounds/highspeed.png
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/09.bin b/graphics/battle_anims/backgrounds/highspeed_opponent.bin
index d414051ce..d414051ce 100644
--- a/graphics/battle_anims/backgrounds/09.bin
+++ b/graphics/battle_anims/backgrounds/highspeed_opponent.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/10.bin b/graphics/battle_anims/backgrounds/highspeed_player.bin
index 99b488a43..99b488a43 100644
--- a/graphics/battle_anims/backgrounds/10.bin
+++ b/graphics/battle_anims/backgrounds/highspeed_player.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/15.bin b/graphics/battle_anims/backgrounds/ice.bin
index 5b0aff44b..5b0aff44b 100644
--- a/graphics/battle_anims/backgrounds/15.bin
+++ b/graphics/battle_anims/backgrounds/ice.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/15.png b/graphics/battle_anims/backgrounds/ice.png
index 818811701..818811701 100644
--- a/graphics/battle_anims/backgrounds/15.png
+++ b/graphics/battle_anims/backgrounds/ice.png
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/04.png b/graphics/battle_anims/backgrounds/impact.png
index 071684622..071684622 100644
--- a/graphics/battle_anims/backgrounds/04.png
+++ b/graphics/battle_anims/backgrounds/impact.png
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/06.bin b/graphics/battle_anims/backgrounds/impact_contests.bin
index ef73f747c..ef73f747c 100644
--- a/graphics/battle_anims/backgrounds/06.bin
+++ b/graphics/battle_anims/backgrounds/impact_contests.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/04.bin b/graphics/battle_anims/backgrounds/impact_opponent.bin
index 91230cb01..91230cb01 100644
--- a/graphics/battle_anims/backgrounds/04.bin
+++ b/graphics/battle_anims/backgrounds/impact_opponent.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/05.bin b/graphics/battle_anims/backgrounds/impact_player.bin
index 42b26559c..42b26559c 100644
--- a/graphics/battle_anims/backgrounds/05.bin
+++ b/graphics/battle_anims/backgrounds/impact_player.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/17.bin b/graphics/battle_anims/backgrounds/in_air.bin
index 8cb199d05..8cb199d05 100644
--- a/graphics/battle_anims/backgrounds/17.bin
+++ b/graphics/battle_anims/backgrounds/in_air.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/17.png b/graphics/battle_anims/backgrounds/in_air.png
index 5f9dd14dd..5f9dd14dd 100644
--- a/graphics/battle_anims/backgrounds/17.png
+++ b/graphics/battle_anims/backgrounds/in_air.png
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/03.bin b/graphics/battle_anims/backgrounds/psychic.bin
index f642d1c7a..f642d1c7a 100644
--- a/graphics/battle_anims/backgrounds/03.bin
+++ b/graphics/battle_anims/backgrounds/psychic.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/03.png b/graphics/battle_anims/backgrounds/psychic.png
index 2c2f9de87..2c2f9de87 100644
--- a/graphics/battle_anims/backgrounds/03.png
+++ b/graphics/battle_anims/backgrounds/psychic.png
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/18.pal b/graphics/battle_anims/backgrounds/sky.pal
index df2b878f6..df2b878f6 100644
--- a/graphics/battle_anims/backgrounds/18.pal
+++ b/graphics/battle_anims/backgrounds/sky.pal
diff --git a/graphics/battle_anims/backgrounds/24.pal b/graphics/battle_anims/backgrounds/solarbeam.pal
index 5eec18c67..5eec18c67 100644
--- a/graphics/battle_anims/backgrounds/24.pal
+++ b/graphics/battle_anims/backgrounds/solarbeam.pal
diff --git a/graphics/battle_anims/backgrounds/11.bin b/graphics/battle_anims/backgrounds/thunder.bin
index 6aaaae228..6aaaae228 100644
--- a/graphics/battle_anims/backgrounds/11.bin
+++ b/graphics/battle_anims/backgrounds/thunder.bin
Binary files differ
diff --git a/graphics/battle_anims/backgrounds/11.png b/graphics/battle_anims/backgrounds/thunder.png
index 1d63d85bf..1d63d85bf 100644
--- a/graphics/battle_anims/backgrounds/11.png
+++ b/graphics/battle_anims/backgrounds/thunder.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/061.png b/graphics/battle_anims/sprites/air_slash.png
index 6efa4e537..6efa4e537 100644
--- a/graphics/battle_anims/sprites/061.png
+++ b/graphics/battle_anims/sprites/air_slash.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/003.png b/graphics/battle_anims/sprites/air_wave.png
index b3164ff01..b3164ff01 100644
--- a/graphics/battle_anims/sprites/003.png
+++ b/graphics/battle_anims/sprites/air_wave.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/154.png b/graphics/battle_anims/sprites/air_wave_2.png
index 8b55a24a2..8b55a24a2 100644
--- a/graphics/battle_anims/sprites/154.png
+++ b/graphics/battle_anims/sprites/air_wave_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/075.png b/graphics/battle_anims/sprites/alert.png
index 9455a1962..9455a1962 100644
--- a/graphics/battle_anims/sprites/075.png
+++ b/graphics/battle_anims/sprites/alert.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/093.png b/graphics/battle_anims/sprites/amnesia.png
index 29f9e6a50..29f9e6a50 100644
--- a/graphics/battle_anims/sprites/093.png
+++ b/graphics/battle_anims/sprites/amnesia.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/220.png b/graphics/battle_anims/sprites/angel.png
index 900a9e428..900a9e428 100644
--- a/graphics/battle_anims/sprites/220.png
+++ b/graphics/battle_anims/sprites/angel.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/087.png b/graphics/battle_anims/sprites/anger.png
index e0e88687e..e0e88687e 100644
--- a/graphics/battle_anims/sprites/087.png
+++ b/graphics/battle_anims/sprites/anger.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/205.png b/graphics/battle_anims/sprites/bell.png
index 8c558c433..8c558c433 100644
--- a/graphics/battle_anims/sprites/205.png
+++ b/graphics/battle_anims/sprites/bell.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/080.png b/graphics/battle_anims/sprites/bell_2.png
index f4089ee01..f4089ee01 100644
--- a/graphics/battle_anims/sprites/080.png
+++ b/graphics/battle_anims/sprites/bell_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/097.png b/graphics/battle_anims/sprites/bent_spoon.png
index 5366d02cf..5366d02cf 100644
--- a/graphics/battle_anims/sprites/097.png
+++ b/graphics/battle_anims/sprites/bent_spoon.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/284.png b/graphics/battle_anims/sprites/bird.png
index 67c1bcd0a..67c1bcd0a 100644
--- a/graphics/battle_anims/sprites/284.png
+++ b/graphics/battle_anims/sprites/bird.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/017.png b/graphics/battle_anims/sprites/black_ball.png
index e287698b4..e287698b4 100644
--- a/graphics/battle_anims/sprites/017.png
+++ b/graphics/battle_anims/sprites/black_ball.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/171.png b/graphics/battle_anims/sprites/black_ball_2.png
index 7b60d7450..7b60d7450 100644
--- a/graphics/battle_anims/sprites/171.png
+++ b/graphics/battle_anims/sprites/black_ball_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/016.png b/graphics/battle_anims/sprites/black_smoke.png
index df9651411..df9651411 100644
--- a/graphics/battle_anims/sprites/016.png
+++ b/graphics/battle_anims/sprites/black_smoke.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/028.png b/graphics/battle_anims/sprites/blue_burst.png
index b3a096996..b3a096996 100644
--- a/graphics/battle_anims/sprites/028.png
+++ b/graphics/battle_anims/sprites/blue_burst.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/076.png b/graphics/battle_anims/sprites/blue_flames.png
index 4d6d9d0c1..4d6d9d0c1 100644
--- a/graphics/battle_anims/sprites/076.png
+++ b/graphics/battle_anims/sprites/blue_flames.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/077.png b/graphics/battle_anims/sprites/blue_flames_2.png
index c2cc22be3..c2cc22be3 100644
--- a/graphics/battle_anims/sprites/077.png
+++ b/graphics/battle_anims/sprites/blue_flames_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/167.pal b/graphics/battle_anims/sprites/blue_light_wall.pal
index 5f4852f39..5f4852f39 100644
--- a/graphics/battle_anims/sprites/167.pal
+++ b/graphics/battle_anims/sprites/blue_light_wall.pal
diff --git a/graphics/battle_anims/sprites/082.png b/graphics/battle_anims/sprites/blue_lines.png
index a1b2d7318..a1b2d7318 100644
--- a/graphics/battle_anims/sprites/082.png
+++ b/graphics/battle_anims/sprites/blue_lines.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/236.pal b/graphics/battle_anims/sprites/blue_orb.pal
index 0b587a87c..0b587a87c 100644
--- a/graphics/battle_anims/sprites/236.pal
+++ b/graphics/battle_anims/sprites/blue_orb.pal
diff --git a/graphics/battle_anims/sprites/165.pal b/graphics/battle_anims/sprites/blue_ring.pal
index 048980708..048980708 100644
--- a/graphics/battle_anims/sprites/165.pal
+++ b/graphics/battle_anims/sprites/blue_ring.pal
diff --git a/graphics/battle_anims/sprites/288.pal b/graphics/battle_anims/sprites/blue_ring_2.pal
index f8ea0ca54..f8ea0ca54 100644
--- a/graphics/battle_anims/sprites/288.pal
+++ b/graphics/battle_anims/sprites/blue_ring_2.pal
diff --git a/graphics/battle_anims/sprites/023.png b/graphics/battle_anims/sprites/blue_shards.png
index a1dbc20c2..a1dbc20c2 100644
--- a/graphics/battle_anims/sprites/023.png
+++ b/graphics/battle_anims/sprites/blue_shards.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/031.png b/graphics/battle_anims/sprites/blue_star.png
index c6727ad1c..c6727ad1c 100644
--- a/graphics/battle_anims/sprites/031.png
+++ b/graphics/battle_anims/sprites/blue_star.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/251.png b/graphics/battle_anims/sprites/bluegreen_orb.png
index ad16940d9..ad16940d9 100644
--- a/graphics/battle_anims/sprites/251.png
+++ b/graphics/battle_anims/sprites/bluegreen_orb.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/000.png b/graphics/battle_anims/sprites/bone.png
index 3d8662a86..3d8662a86 100644
--- a/graphics/battle_anims/sprites/000.png
+++ b/graphics/battle_anims/sprites/bone.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/119.png b/graphics/battle_anims/sprites/bone_2.png
index 93e03bb00..93e03bb00 100644
--- a/graphics/battle_anims/sprites/119.png
+++ b/graphics/battle_anims/sprites/bone_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/202.png b/graphics/battle_anims/sprites/breaking_egg.png
index 48af9a21e..48af9a21e 100644
--- a/graphics/battle_anims/sprites/202.png
+++ b/graphics/battle_anims/sprites/breaking_egg.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/086.png b/graphics/battle_anims/sprites/breath.png
index ba93d952e..ba93d952e 100644
--- a/graphics/battle_anims/sprites/086.png
+++ b/graphics/battle_anims/sprites/breath.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/259.pal b/graphics/battle_anims/sprites/brown_orb.pal
index ead25c0c6..ead25c0c6 100644
--- a/graphics/battle_anims/sprites/259.pal
+++ b/graphics/battle_anims/sprites/brown_orb.pal
diff --git a/graphics/battle_anims/sprites/066.png b/graphics/battle_anims/sprites/brown_triangle.png
index d70924235..d70924235 100644
--- a/graphics/battle_anims/sprites/066.png
+++ b/graphics/battle_anims/sprites/brown_triangle.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/146.png b/graphics/battle_anims/sprites/bubble.png
index e7b0360a6..e7b0360a6 100644
--- a/graphics/battle_anims/sprites/146.png
+++ b/graphics/battle_anims/sprites/bubble.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/032.png b/graphics/battle_anims/sprites/bubble_burst.png
index 80ffb7b72..80ffb7b72 100644
--- a/graphics/battle_anims/sprites/032.png
+++ b/graphics/battle_anims/sprites/bubble_burst.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/042.png b/graphics/battle_anims/sprites/bubble_burst_2.png
index cf8909080..cf8909080 100644
--- a/graphics/battle_anims/sprites/042.png
+++ b/graphics/battle_anims/sprites/bubble_burst_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/136.png b/graphics/battle_anims/sprites/circle_impact.png
index cc99103d5..cc99103d5 100644
--- a/graphics/battle_anims/sprites/136.png
+++ b/graphics/battle_anims/sprites/circle_impact.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/212.png b/graphics/battle_anims/sprites/circle_of_light.png
index 8a8c3a0ac..8a8c3a0ac 100644
--- a/graphics/battle_anims/sprites/212.png
+++ b/graphics/battle_anims/sprites/circle_of_light.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/145.png b/graphics/battle_anims/sprites/clamp.png
index b44edaadb..b44edaadb 100644
--- a/graphics/battle_anims/sprites/145.png
+++ b/graphics/battle_anims/sprites/clamp.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/091.png b/graphics/battle_anims/sprites/clapping.png
index 7648de5aa..7648de5aa 100644
--- a/graphics/battle_anims/sprites/091.png
+++ b/graphics/battle_anims/sprites/clapping.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/039.png b/graphics/battle_anims/sprites/claw_slash.png
index bc61b20d7..bc61b20d7 100644
--- a/graphics/battle_anims/sprites/039.png
+++ b/graphics/battle_anims/sprites/claw_slash.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/038.png b/graphics/battle_anims/sprites/claw_slash_2.png
index 2dfa037c1..2dfa037c1 100644
--- a/graphics/battle_anims/sprites/038.png
+++ b/graphics/battle_anims/sprites/claw_slash_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/024.png b/graphics/battle_anims/sprites/closing_eye.png
index 7c5d0f382..7c5d0f382 100644
--- a/graphics/battle_anims/sprites/024.png
+++ b/graphics/battle_anims/sprites/closing_eye.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/125.png b/graphics/battle_anims/sprites/closing_eye_2.png
index 2bc2c212f..2bc2c212f 100644
--- a/graphics/battle_anims/sprites/125.png
+++ b/graphics/battle_anims/sprites/closing_eye_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/100.png b/graphics/battle_anims/sprites/coin.png
index 057655918..057655918 100644
--- a/graphics/battle_anims/sprites/100.png
+++ b/graphics/battle_anims/sprites/coin.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/240.png b/graphics/battle_anims/sprites/confetti.png
index 783dd40f9..783dd40f9 100644
--- a/graphics/battle_anims/sprites/240.png
+++ b/graphics/battle_anims/sprites/confetti.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/018.png b/graphics/battle_anims/sprites/conversion.png
index c760ff81a..c760ff81a 100644
--- a/graphics/battle_anims/sprites/018.png
+++ b/graphics/battle_anims/sprites/conversion.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/101.png b/graphics/battle_anims/sprites/cracked_egg.png
index f2fa227f2..f2fa227f2 100644
--- a/graphics/battle_anims/sprites/101.png
+++ b/graphics/battle_anims/sprites/cracked_egg.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/285.png b/graphics/battle_anims/sprites/cross_impact.png
index eb54111b2..eb54111b2 100644
--- a/graphics/battle_anims/sprites/285.png
+++ b/graphics/battle_anims/sprites/cross_impact.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/138.png b/graphics/battle_anims/sprites/cut.png
index 559244bbc..559244bbc 100644
--- a/graphics/battle_anims/sprites/138.png
+++ b/graphics/battle_anims/sprites/cut.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/221.png b/graphics/battle_anims/sprites/devil.png
index f30ca7907..f30ca7907 100644
--- a/graphics/battle_anims/sprites/221.png
+++ b/graphics/battle_anims/sprites/devil.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/281.png b/graphics/battle_anims/sprites/dirt_mound.png
index e3cc13492..e3cc13492 100644
--- a/graphics/battle_anims/sprites/281.png
+++ b/graphics/battle_anims/sprites/dirt_mound.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/073.png b/graphics/battle_anims/sprites/duck.png
index 95484d2a0..95484d2a0 100644
--- a/graphics/battle_anims/sprites/073.png
+++ b/graphics/battle_anims/sprites/duck.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/234.png b/graphics/battle_anims/sprites/eclipsing_orb.png
index e5efece20..e5efece20 100644
--- a/graphics/battle_anims/sprites/234.png
+++ b/graphics/battle_anims/sprites/eclipsing_orb.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/211.png b/graphics/battle_anims/sprites/electric_orbs.png
index 28f5317e5..28f5317e5 100644
--- a/graphics/battle_anims/sprites/211.png
+++ b/graphics/battle_anims/sprites/electric_orbs.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/213.png b/graphics/battle_anims/sprites/electricity.png
index 90a622f64..90a622f64 100644
--- a/graphics/battle_anims/sprites/213.png
+++ b/graphics/battle_anims/sprites/electricity.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/198.png b/graphics/battle_anims/sprites/explosion.png
index abe613212..abe613212 100644
--- a/graphics/battle_anims/sprites/198.png
+++ b/graphics/battle_anims/sprites/explosion.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/105.png b/graphics/battle_anims/sprites/explosion_2.png
index 5df0e7215..5df0e7215 100644
--- a/graphics/battle_anims/sprites/105.png
+++ b/graphics/battle_anims/sprites/explosion_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/106.png b/graphics/battle_anims/sprites/explosion_3.png
index 82297fb00..82297fb00 100644
--- a/graphics/battle_anims/sprites/106.png
+++ b/graphics/battle_anims/sprites/explosion_3.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/130.png b/graphics/battle_anims/sprites/explosion_4.png
index 4a753e6d5..4a753e6d5 100644
--- a/graphics/battle_anims/sprites/130.png
+++ b/graphics/battle_anims/sprites/explosion_4.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/131.png b/graphics/battle_anims/sprites/explosion_5.png
index 4683e161f..4683e161f 100644
--- a/graphics/battle_anims/sprites/131.png
+++ b/graphics/battle_anims/sprites/explosion_5.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/007.png b/graphics/battle_anims/sprites/explosion_6.png
index 5a2369dad..5a2369dad 100644
--- a/graphics/battle_anims/sprites/007.png
+++ b/graphics/battle_anims/sprites/explosion_6.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/187.png b/graphics/battle_anims/sprites/eye.png
index b0caeb98f..b0caeb98f 100644
--- a/graphics/battle_anims/sprites/187.png
+++ b/graphics/battle_anims/sprites/eye.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/218.png b/graphics/battle_anims/sprites/eye_sparkle.png
index d22ff8ef9..d22ff8ef9 100644
--- a/graphics/battle_anims/sprites/218.png
+++ b/graphics/battle_anims/sprites/eye_sparkle.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/192.png b/graphics/battle_anims/sprites/fang_attack.png
index 1f76354ab..1f76354ab 100644
--- a/graphics/battle_anims/sprites/192.png
+++ b/graphics/battle_anims/sprites/fang_attack.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/104.png b/graphics/battle_anims/sprites/fangs.png
index 7c4244da0..7c4244da0 100644
--- a/graphics/battle_anims/sprites/104.png
+++ b/graphics/battle_anims/sprites/fangs.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/064.png b/graphics/battle_anims/sprites/finger.png
index 069f4a311..069f4a311 100644
--- a/graphics/battle_anims/sprites/064.png
+++ b/graphics/battle_anims/sprites/finger.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/214.png b/graphics/battle_anims/sprites/finger_2.png
index 9f6fc8d81..9f6fc8d81 100644
--- a/graphics/battle_anims/sprites/214.png
+++ b/graphics/battle_anims/sprites/finger_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/033.png b/graphics/battle_anims/sprites/fire.png
index eb1ed3473..eb1ed3473 100644
--- a/graphics/battle_anims/sprites/033.png
+++ b/graphics/battle_anims/sprites/fire.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/035.png b/graphics/battle_anims/sprites/fire_plume.png
index cde2105dd..cde2105dd 100644
--- a/graphics/battle_anims/sprites/035.png
+++ b/graphics/battle_anims/sprites/fire_plume.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/257.png b/graphics/battle_anims/sprites/flat_rock.png
index d3fba6c4f..d3fba6c4f 100644
--- a/graphics/battle_anims/sprites/257.png
+++ b/graphics/battle_anims/sprites/flat_rock.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/001.pal b/graphics/battle_anims/sprites/flower.pal
index 81af310e1..81af310e1 100644
--- a/graphics/battle_anims/sprites/001.pal
+++ b/graphics/battle_anims/sprites/flower.pal
diff --git a/graphics/battle_anims/sprites/159_0.png b/graphics/battle_anims/sprites/flower_0.png
index 4e9831863..4e9831863 100644
--- a/graphics/battle_anims/sprites/159_0.png
+++ b/graphics/battle_anims/sprites/flower_0.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/159_1.png b/graphics/battle_anims/sprites/flower_1.png
index 065ea5052..065ea5052 100644
--- a/graphics/battle_anims/sprites/159_1.png
+++ b/graphics/battle_anims/sprites/flower_1.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/261.png b/graphics/battle_anims/sprites/flying_dirt.png
index 12f0b1744..12f0b1744 100644
--- a/graphics/battle_anims/sprites/261.png
+++ b/graphics/battle_anims/sprites/flying_dirt.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/184.png b/graphics/battle_anims/sprites/focus_energy.png
index 99ba7e475..99ba7e475 100644
--- a/graphics/battle_anims/sprites/184.png
+++ b/graphics/battle_anims/sprites/focus_energy.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/103.png b/graphics/battle_anims/sprites/fresh_egg.png
index 0ad9c1b14..0ad9c1b14 100644
--- a/graphics/battle_anims/sprites/103.png
+++ b/graphics/battle_anims/sprites/fresh_egg.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/116.png b/graphics/battle_anims/sprites/fury_swipes.png
index b9e0df20e..b9e0df20e 100644
--- a/graphics/battle_anims/sprites/116.png
+++ b/graphics/battle_anims/sprites/fury_swipes.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/274.png b/graphics/battle_anims/sprites/gem_1.png
index e284c57a6..e284c57a6 100644
--- a/graphics/battle_anims/sprites/274.png
+++ b/graphics/battle_anims/sprites/gem_1.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/275.png b/graphics/battle_anims/sprites/gem_2.png
index b1b7b6644..b1b7b6644 100644
--- a/graphics/battle_anims/sprites/275.png
+++ b/graphics/battle_anims/sprites/gem_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/276.png b/graphics/battle_anims/sprites/gem_3.png
index 21d51a22b..21d51a22b 100644
--- a/graphics/battle_anims/sprites/276.png
+++ b/graphics/battle_anims/sprites/gem_3.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/200.png b/graphics/battle_anims/sprites/ghostly_spirit.png
index b7b9d16e6..b7b9d16e6 100644
--- a/graphics/battle_anims/sprites/200.png
+++ b/graphics/battle_anims/sprites/ghostly_spirit.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/019.png b/graphics/battle_anims/sprites/glass.png
index af29ec730..af29ec730 100644
--- a/graphics/battle_anims/sprites/019.png
+++ b/graphics/battle_anims/sprites/glass.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/044.png b/graphics/battle_anims/sprites/glass_2.png
index 7baf82357..7baf82357 100644
--- a/graphics/battle_anims/sprites/044.png
+++ b/graphics/battle_anims/sprites/glass_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/268.pal b/graphics/battle_anims/sprites/glowy_blue_orb.pal
index d40d72f69..d40d72f69 100644
--- a/graphics/battle_anims/sprites/268.pal
+++ b/graphics/battle_anims/sprites/glowy_blue_orb.pal
diff --git a/graphics/battle_anims/sprites/265.pal b/graphics/battle_anims/sprites/glowy_green_orb.pal
index 34914d257..34914d257 100644
--- a/graphics/battle_anims/sprites/265.pal
+++ b/graphics/battle_anims/sprites/glowy_green_orb.pal
diff --git a/graphics/battle_anims/sprites/264.png b/graphics/battle_anims/sprites/glowy_red_orb.png
index a590d96a5..a590d96a5 100644
--- a/graphics/battle_anims/sprites/264.png
+++ b/graphics/battle_anims/sprites/glowy_red_orb.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/163.png b/graphics/battle_anims/sprites/gold_ring.png
index 29c06f9b7..29c06f9b7 100644
--- a/graphics/battle_anims/sprites/163.png
+++ b/graphics/battle_anims/sprites/gold_ring.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/233.png b/graphics/battle_anims/sprites/gold_stars.png
index e71e97eda..e71e97eda 100644
--- a/graphics/battle_anims/sprites/233.png
+++ b/graphics/battle_anims/sprites/gold_stars.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/169.pal b/graphics/battle_anims/sprites/gray_light_wall.pal
index 6d037b09f..6d037b09f 100644
--- a/graphics/battle_anims/sprites/169.pal
+++ b/graphics/battle_anims/sprites/gray_light_wall.pal
diff --git a/graphics/battle_anims/sprites/235.png b/graphics/battle_anims/sprites/gray_orb.png
index 1bbd9c027..1bbd9c027 100644
--- a/graphics/battle_anims/sprites/235.png
+++ b/graphics/battle_anims/sprites/gray_orb.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/030.png b/graphics/battle_anims/sprites/gray_smoke.png
index ba7161fa1..ba7161fa1 100644
--- a/graphics/battle_anims/sprites/030.png
+++ b/graphics/battle_anims/sprites/gray_smoke.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/166.png b/graphics/battle_anims/sprites/green_light_wall.png
index b5fefee24..b5fefee24 100644
--- a/graphics/battle_anims/sprites/166.png
+++ b/graphics/battle_anims/sprites/green_light_wall.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/195.png b/graphics/battle_anims/sprites/green_sparkle.png
index 9aefe398e..9aefe398e 100644
--- a/graphics/battle_anims/sprites/195.png
+++ b/graphics/battle_anims/sprites/green_sparkle.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/266.png b/graphics/battle_anims/sprites/green_spike.png
index c53e8059c..c53e8059c 100644
--- a/graphics/battle_anims/sprites/266.png
+++ b/graphics/battle_anims/sprites/green_spike.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/241.png b/graphics/battle_anims/sprites/green_star.png
index 21218ceb6..21218ceb6 100644
--- a/graphics/battle_anims/sprites/241.png
+++ b/graphics/battle_anims/sprites/green_star.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/244.png b/graphics/battle_anims/sprites/guard_ring.png
index 09e0c0d68..09e0c0d68 100644
--- a/graphics/battle_anims/sprites/244.png
+++ b/graphics/battle_anims/sprites/guard_ring.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/009.png b/graphics/battle_anims/sprites/gust.png
index 5818ae41d..5818ae41d 100644
--- a/graphics/battle_anims/sprites/009.png
+++ b/graphics/battle_anims/sprites/gust.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/263.png b/graphics/battle_anims/sprites/hail.png
index 53148056c..53148056c 100644
--- a/graphics/battle_anims/sprites/263.png
+++ b/graphics/battle_anims/sprites/hail.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/143.png b/graphics/battle_anims/sprites/hands_and_feet.png
index da3f273ac..da3f273ac 100644
--- a/graphics/battle_anims/sprites/143.png
+++ b/graphics/battle_anims/sprites/hands_and_feet.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/102.png b/graphics/battle_anims/sprites/hatched_egg.png
index aa8842244..aa8842244 100644
--- a/graphics/battle_anims/sprites/102.png
+++ b/graphics/battle_anims/sprites/hatched_egg.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/021.png b/graphics/battle_anims/sprites/hit.png
index c531b820c..c531b820c 100644
--- a/graphics/battle_anims/sprites/021.png
+++ b/graphics/battle_anims/sprites/hit.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/022.pal b/graphics/battle_anims/sprites/hit_2.pal
index 35cbf0096..35cbf0096 100644
--- a/graphics/battle_anims/sprites/022.pal
+++ b/graphics/battle_anims/sprites/hit_2.pal
diff --git a/graphics/battle_anims/sprites/026.png b/graphics/battle_anims/sprites/hit_duplicate.png
index c531b820c..c531b820c 100644
--- a/graphics/battle_anims/sprites/026.png
+++ b/graphics/battle_anims/sprites/hit_duplicate.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/249.png b/graphics/battle_anims/sprites/hollow_orb.png
index 33d6511ff..33d6511ff 100644
--- a/graphics/battle_anims/sprites/249.png
+++ b/graphics/battle_anims/sprites/hollow_orb.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/020.png b/graphics/battle_anims/sprites/horn_hit.png
index 73c7f1344..73c7f1344 100644
--- a/graphics/battle_anims/sprites/020.png
+++ b/graphics/battle_anims/sprites/horn_hit.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/153.png b/graphics/battle_anims/sprites/horn_hit_2.png
index d3dd12ae1..d3dd12ae1 100644
--- a/graphics/battle_anims/sprites/153.png
+++ b/graphics/battle_anims/sprites/horn_hit_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/050.png b/graphics/battle_anims/sprites/humanoid_foot.png
index 9f2c101e4..9f2c101e4 100644
--- a/graphics/battle_anims/sprites/050.png
+++ b/graphics/battle_anims/sprites/humanoid_foot.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/052.png b/graphics/battle_anims/sprites/humanoid_hand.png
index 9928271d5..9928271d5 100644
--- a/graphics/battle_anims/sprites/052.png
+++ b/graphics/battle_anims/sprites/humanoid_hand.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/043.png b/graphics/battle_anims/sprites/ice_chunk.png
index e5e929ede..e5e929ede 100644
--- a/graphics/battle_anims/sprites/043.png
+++ b/graphics/battle_anims/sprites/ice_chunk.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/010.pal b/graphics/battle_anims/sprites/ice_crystals.pal
index c5f241feb..c5f241feb 100644
--- a/graphics/battle_anims/sprites/010.pal
+++ b/graphics/battle_anims/sprites/ice_crystals.pal
diff --git a/graphics/battle_anims/sprites/141_0.png b/graphics/battle_anims/sprites/ice_crystals_0.png
index 631d344c8..631d344c8 100644
--- a/graphics/battle_anims/sprites/141_0.png
+++ b/graphics/battle_anims/sprites/ice_crystals_0.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/141_1.png b/graphics/battle_anims/sprites/ice_crystals_1.png
index 95f24953f..95f24953f 100644
--- a/graphics/battle_anims/sprites/141_1.png
+++ b/graphics/battle_anims/sprites/ice_crystals_1.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/141_2.png b/graphics/battle_anims/sprites/ice_crystals_2.png
index ec1e4b090..ec1e4b090 100644
--- a/graphics/battle_anims/sprites/141_2.png
+++ b/graphics/battle_anims/sprites/ice_crystals_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/141_3.png b/graphics/battle_anims/sprites/ice_crystals_3.png
index 02ac9d68e..02ac9d68e 100644
--- a/graphics/battle_anims/sprites/141_3.png
+++ b/graphics/battle_anims/sprites/ice_crystals_3.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/141_4.png b/graphics/battle_anims/sprites/ice_crystals_4.png
index a7af91f4b..a7af91f4b 100644
--- a/graphics/battle_anims/sprites/141_4.png
+++ b/graphics/battle_anims/sprites/ice_crystals_4.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/141.pal b/graphics/battle_anims/sprites/ice_cube.pal
index c5f241feb..c5f241feb 100644
--- a/graphics/battle_anims/sprites/141.pal
+++ b/graphics/battle_anims/sprites/ice_cube.pal
diff --git a/graphics/battle_anims/sprites/010_0.png b/graphics/battle_anims/sprites/ice_cube_0.png
index 8eea99de0..8eea99de0 100644
--- a/graphics/battle_anims/sprites/010_0.png
+++ b/graphics/battle_anims/sprites/ice_cube_0.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/010_1.png b/graphics/battle_anims/sprites/ice_cube_1.png
index ba3ca6192..ba3ca6192 100644
--- a/graphics/battle_anims/sprites/010_1.png
+++ b/graphics/battle_anims/sprites/ice_cube_1.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/010_2.png b/graphics/battle_anims/sprites/ice_cube_2.png
index b71a875e7..b71a875e7 100644
--- a/graphics/battle_anims/sprites/010_2.png
+++ b/graphics/battle_anims/sprites/ice_cube_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/010_3.png b/graphics/battle_anims/sprites/ice_cube_3.png
index e310ca5df..e310ca5df 100644
--- a/graphics/battle_anims/sprites/010_3.png
+++ b/graphics/battle_anims/sprites/ice_cube_3.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/142.png b/graphics/battle_anims/sprites/ice_spikes.png
index 130bcf82e..130bcf82e 100644
--- a/graphics/battle_anims/sprites/142.png
+++ b/graphics/battle_anims/sprites/ice_spikes.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/262.png b/graphics/battle_anims/sprites/icicle_spear.png
index 857558fd2..857558fd2 100644
--- a/graphics/battle_anims/sprites/262.png
+++ b/graphics/battle_anims/sprites/icicle_spear.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/135.png b/graphics/battle_anims/sprites/impact.png
index 38a04f373..38a04f373 100644
--- a/graphics/battle_anims/sprites/135.png
+++ b/graphics/battle_anims/sprites/impact.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/084.png b/graphics/battle_anims/sprites/impact_2.png
index 306668035..306668035 100644
--- a/graphics/battle_anims/sprites/084.png
+++ b/graphics/battle_anims/sprites/impact_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/083.png b/graphics/battle_anims/sprites/impact_3.png
index 8e8178422..8e8178422 100644
--- a/graphics/battle_anims/sprites/083.png
+++ b/graphics/battle_anims/sprites/impact_3.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/224.png b/graphics/battle_anims/sprites/item_bag.png
index c6e8a1c63..c6e8a1c63 100644
--- a/graphics/battle_anims/sprites/224.png
+++ b/graphics/battle_anims/sprites/item_bag.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/225.png b/graphics/battle_anims/sprites/jagged_music_note.png
index c4efbf2de..c4efbf2de 100644
--- a/graphics/battle_anims/sprites/225.png
+++ b/graphics/battle_anims/sprites/jagged_music_note.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/175.png b/graphics/battle_anims/sprites/large_fresh_egg.png
index 042ef87ac..042ef87ac 100644
--- a/graphics/battle_anims/sprites/175.png
+++ b/graphics/battle_anims/sprites/large_fresh_egg.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/063.png b/graphics/battle_anims/sprites/leaf.png
index 8828f4e8d..8828f4e8d 100644
--- a/graphics/battle_anims/sprites/063.png
+++ b/graphics/battle_anims/sprites/leaf.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/027.png b/graphics/battle_anims/sprites/leer.png
index 28b3876b7..28b3876b7 100644
--- a/graphics/battle_anims/sprites/027.png
+++ b/graphics/battle_anims/sprites/leer.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/228.png b/graphics/battle_anims/sprites/letter_z.png
index e569fea34..e569fea34 100644
--- a/graphics/battle_anims/sprites/228.png
+++ b/graphics/battle_anims/sprites/letter_z.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/177.png b/graphics/battle_anims/sprites/lick.png
index ec1b2246b..ec1b2246b 100644
--- a/graphics/battle_anims/sprites/177.png
+++ b/graphics/battle_anims/sprites/lick.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/182.png b/graphics/battle_anims/sprites/lightbulb.png
index e586f630b..e586f630b 100644
--- a/graphics/battle_anims/sprites/182.png
+++ b/graphics/battle_anims/sprites/lightbulb.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/037.png b/graphics/battle_anims/sprites/lightning.png
index 62a692036..62a692036 100644
--- a/graphics/battle_anims/sprites/037.png
+++ b/graphics/battle_anims/sprites/lightning.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/036.png b/graphics/battle_anims/sprites/lightning_2.png
index bddf4a25a..bddf4a25a 100644
--- a/graphics/battle_anims/sprites/036.png
+++ b/graphics/battle_anims/sprites/lightning_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/014.png b/graphics/battle_anims/sprites/lock_on.png
index ab635306b..ab635306b 100644
--- a/graphics/battle_anims/sprites/014.png
+++ b/graphics/battle_anims/sprites/lock_on.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/210.png b/graphics/battle_anims/sprites/magenta_heart.png
index 5ebfa0684..5ebfa0684 100644
--- a/graphics/battle_anims/sprites/210.png
+++ b/graphics/battle_anims/sprites/magenta_heart.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/258.png b/graphics/battle_anims/sprites/magnifying_glass.png
index bf50cc099..bf50cc099 100644
--- a/graphics/battle_anims/sprites/258.png
+++ b/graphics/battle_anims/sprites/magnifying_glass.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/126.png b/graphics/battle_anims/sprites/metal_ball.png
index 9f1962902..9f1962902 100644
--- a/graphics/battle_anims/sprites/126.png
+++ b/graphics/battle_anims/sprites/metal_ball.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/260.png b/graphics/battle_anims/sprites/metal_sound_waves.png
index c7883c900..c7883c900 100644
--- a/graphics/battle_anims/sprites/260.png
+++ b/graphics/battle_anims/sprites/metal_sound_waves.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/256.png b/graphics/battle_anims/sprites/meteor.png
index 7043d824b..7043d824b 100644
--- a/graphics/battle_anims/sprites/256.png
+++ b/graphics/battle_anims/sprites/meteor.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/099.png b/graphics/battle_anims/sprites/milk_bottle.png
index a7a79f8bf..a7a79f8bf 100644
--- a/graphics/battle_anims/sprites/099.png
+++ b/graphics/battle_anims/sprites/milk_bottle.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/144.png b/graphics/battle_anims/sprites/mist_cloud.png
index 069926395..069926395 100644
--- a/graphics/battle_anims/sprites/144.png
+++ b/graphics/battle_anims/sprites/mist_cloud.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/127.png b/graphics/battle_anims/sprites/monster_doll.png
index 55706275c..55706275c 100644
--- a/graphics/battle_anims/sprites/127.png
+++ b/graphics/battle_anims/sprites/monster_doll.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/051.png b/graphics/battle_anims/sprites/monster_foot.png
index 14d7036bc..14d7036bc 100644
--- a/graphics/battle_anims/sprites/051.png
+++ b/graphics/battle_anims/sprites/monster_foot.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/194.png b/graphics/battle_anims/sprites/moon.png
index 228013658..228013658 100644
--- a/graphics/battle_anims/sprites/194.png
+++ b/graphics/battle_anims/sprites/moon.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/215.png b/graphics/battle_anims/sprites/movement_waves.png
index 895ab4ec5..895ab4ec5 100644
--- a/graphics/battle_anims/sprites/215.png
+++ b/graphics/battle_anims/sprites/movement_waves.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/074.pal b/graphics/battle_anims/sprites/mud_sand.pal
index f8976f672..f8976f672 100644
--- a/graphics/battle_anims/sprites/074.pal
+++ b/graphics/battle_anims/sprites/mud_sand.pal
diff --git a/graphics/battle_anims/sprites/074_0.png b/graphics/battle_anims/sprites/mud_sand_0.png
index 81af47193..81af47193 100644
--- a/graphics/battle_anims/sprites/074_0.png
+++ b/graphics/battle_anims/sprites/mud_sand_0.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/074_1.png b/graphics/battle_anims/sprites/mud_sand_1.png
index 827ec5d48..827ec5d48 100644
--- a/graphics/battle_anims/sprites/074_1.png
+++ b/graphics/battle_anims/sprites/mud_sand_1.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/114.png b/graphics/battle_anims/sprites/mud_unk.png
index b1bee0080..b1bee0080 100644
--- a/graphics/battle_anims/sprites/114.png
+++ b/graphics/battle_anims/sprites/mud_unk.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/072.png b/graphics/battle_anims/sprites/music_notes.png
index 14976ded1..14976ded1 100644
--- a/graphics/battle_anims/sprites/072.png
+++ b/graphics/battle_anims/sprites/music_notes.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/206.pal b/graphics/battle_anims/sprites/music_notes_2.pal
index b90e8d645..b90e8d645 100644
--- a/graphics/battle_anims/sprites/206.pal
+++ b/graphics/battle_anims/sprites/music_notes_2.pal
diff --git a/graphics/battle_anims/sprites/206.png b/graphics/battle_anims/sprites/music_notes_2.png
index d3584f855..d3584f855 100644
--- a/graphics/battle_anims/sprites/206.png
+++ b/graphics/battle_anims/sprites/music_notes_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/199.png b/graphics/battle_anims/sprites/nail.png
index 9468fddc9..9468fddc9 100644
--- a/graphics/battle_anims/sprites/199.png
+++ b/graphics/battle_anims/sprites/nail.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/161.png b/graphics/battle_anims/sprites/needle.png
index 5976b2b8c..5976b2b8c 100644
--- a/graphics/battle_anims/sprites/161.png
+++ b/graphics/battle_anims/sprites/needle.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/053.png b/graphics/battle_anims/sprites/noise_line.png
index 9aaccf334..9aaccf334 100644
--- a/graphics/battle_anims/sprites/053.png
+++ b/graphics/battle_anims/sprites/noise_line.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/190.png b/graphics/battle_anims/sprites/opening_eye.png
index 6fcb4826e..6fcb4826e 100644
--- a/graphics/battle_anims/sprites/190.png
+++ b/graphics/battle_anims/sprites/opening_eye.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/012.png b/graphics/battle_anims/sprites/orange.png
index 1a9e4c870..1a9e4c870 100644
--- a/graphics/battle_anims/sprites/012.png
+++ b/graphics/battle_anims/sprites/orange.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/170.pal b/graphics/battle_anims/sprites/orange_light_wall.pal
index 63ff0a239..63ff0a239 100644
--- a/graphics/battle_anims/sprites/170.pal
+++ b/graphics/battle_anims/sprites/orange_light_wall.pal
diff --git a/graphics/battle_anims/sprites/004.png b/graphics/battle_anims/sprites/orb.png
index c7cad5ef9..c7cad5ef9 100644
--- a/graphics/battle_anims/sprites/004.png
+++ b/graphics/battle_anims/sprites/orb.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/147.png b/graphics/battle_anims/sprites/orbs.png
index 6dcc9cdff..6dcc9cdff 100644
--- a/graphics/battle_anims/sprites/147.png
+++ b/graphics/battle_anims/sprites/orbs.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/239.png b/graphics/battle_anims/sprites/pain_split.png
index b2c2d72ce..b2c2d72ce 100644
--- a/graphics/battle_anims/sprites/239.png
+++ b/graphics/battle_anims/sprites/pain_split.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/252.png b/graphics/battle_anims/sprites/paw_print.png
index 2ed8eee4a..2ed8eee4a 100644
--- a/graphics/battle_anims/sprites/252.png
+++ b/graphics/battle_anims/sprites/paw_print.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/002.png b/graphics/battle_anims/sprites/pencil.png
index c2a98f6f5..c2a98f6f5 100644
--- a/graphics/battle_anims/sprites/002.png
+++ b/graphics/battle_anims/sprites/pencil.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/095.png b/graphics/battle_anims/sprites/pencil_2.png
index 616b02121..616b02121 100644
--- a/graphics/battle_anims/sprites/095.png
+++ b/graphics/battle_anims/sprites/pencil_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/096.png b/graphics/battle_anims/sprites/petal.png
index 99873ba10..99873ba10 100644
--- a/graphics/battle_anims/sprites/096.png
+++ b/graphics/battle_anims/sprites/petal.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/242.png b/graphics/battle_anims/sprites/pink_cloud.png
index 414225c8f..414225c8f 100644
--- a/graphics/battle_anims/sprites/242.png
+++ b/graphics/battle_anims/sprites/pink_cloud.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/081.png b/graphics/battle_anims/sprites/pink_glove.png
index 0d6783cd9..0d6783cd9 100644
--- a/graphics/battle_anims/sprites/081.png
+++ b/graphics/battle_anims/sprites/pink_glove.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/219.pal b/graphics/battle_anims/sprites/pink_heart.pal
index 27cf421cc..27cf421cc 100644
--- a/graphics/battle_anims/sprites/219.pal
+++ b/graphics/battle_anims/sprites/pink_heart.pal
diff --git a/graphics/battle_anims/sprites/045.png b/graphics/battle_anims/sprites/pink_heart_2.png
index 45aeae356..45aeae356 100644
--- a/graphics/battle_anims/sprites/045.png
+++ b/graphics/battle_anims/sprites/pink_heart_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/008.png b/graphics/battle_anims/sprites/pink_orb.png
index 634c4d2bb..634c4d2bb 100644
--- a/graphics/battle_anims/sprites/008.png
+++ b/graphics/battle_anims/sprites/pink_orb.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/238.png b/graphics/battle_anims/sprites/pink_petal.png
index 1c9565881..1c9565881 100644
--- a/graphics/battle_anims/sprites/238.png
+++ b/graphics/battle_anims/sprites/pink_petal.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/150.png b/graphics/battle_anims/sprites/poison_bubble.png
index e6c55b573..e6c55b573 100644
--- a/graphics/battle_anims/sprites/150.png
+++ b/graphics/battle_anims/sprites/poison_bubble.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/065.png b/graphics/battle_anims/sprites/poison_powder.png
index 8916253e4..8916253e4 100644
--- a/graphics/battle_anims/sprites/065.png
+++ b/graphics/battle_anims/sprites/poison_powder.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/226.png b/graphics/battle_anims/sprites/pokeball.png
index a8b2e817a..a8b2e817a 100644
--- a/graphics/battle_anims/sprites/226.png
+++ b/graphics/battle_anims/sprites/pokeball.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/280.png b/graphics/battle_anims/sprites/protect.png
index ce7f086fd..ce7f086fd 100644
--- a/graphics/battle_anims/sprites/280.png
+++ b/graphics/battle_anims/sprites/protect.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/204.png b/graphics/battle_anims/sprites/punch_impact.png
index c36d57e10..c36d57e10 100644
--- a/graphics/battle_anims/sprites/204.png
+++ b/graphics/battle_anims/sprites/punch_impact.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/122.png b/graphics/battle_anims/sprites/purple_coral.png
index 0a1da6c03..0a1da6c03 100644
--- a/graphics/battle_anims/sprites/122.png
+++ b/graphics/battle_anims/sprites/purple_coral.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/123.png b/graphics/battle_anims/sprites/purple_droplet.png
index c1d71a8b7..c1d71a8b7 100644
--- a/graphics/battle_anims/sprites/123.png
+++ b/graphics/battle_anims/sprites/purple_droplet.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/253.png b/graphics/battle_anims/sprites/purple_flame.png
index 22f08ddef..22f08ddef 100644
--- a/graphics/battle_anims/sprites/253.png
+++ b/graphics/battle_anims/sprites/purple_flame.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/172.pal b/graphics/battle_anims/sprites/purple_gas_cloud.pal
index 4b1755b0c..4b1755b0c 100644
--- a/graphics/battle_anims/sprites/172.pal
+++ b/graphics/battle_anims/sprites/purple_gas_cloud.pal
diff --git a/graphics/battle_anims/sprites/112.png b/graphics/battle_anims/sprites/purple_green_unk.png
index 4503849e9..4503849e9 100644
--- a/graphics/battle_anims/sprites/112.png
+++ b/graphics/battle_anims/sprites/purple_green_unk.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/193.png b/graphics/battle_anims/sprites/purple_hand_outline.png
index f3b6bd2c2..f3b6bd2c2 100644
--- a/graphics/battle_anims/sprites/193.png
+++ b/graphics/battle_anims/sprites/purple_hand_outline.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/164.pal b/graphics/battle_anims/sprites/purple_ring.pal
index 4fdffdcdb..4fdffdcdb 100644
--- a/graphics/battle_anims/sprites/164.pal
+++ b/graphics/battle_anims/sprites/purple_ring.pal
diff --git a/graphics/battle_anims/sprites/245.png b/graphics/battle_anims/sprites/purple_scratch.png
index 39618d394..39618d394 100644
--- a/graphics/battle_anims/sprites/245.png
+++ b/graphics/battle_anims/sprites/purple_scratch.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/246.png b/graphics/battle_anims/sprites/purple_swipe.png
index d1835b10b..d1835b10b 100644
--- a/graphics/battle_anims/sprites/246.png
+++ b/graphics/battle_anims/sprites/purple_swipe.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/115.png b/graphics/battle_anims/sprites/rain_drops.png
index 51c909134..51c909134 100644
--- a/graphics/battle_anims/sprites/115.png
+++ b/graphics/battle_anims/sprites/rain_drops.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/140.png b/graphics/battle_anims/sprites/rainbow_rings.png
index 1133f2ee8..1133f2ee8 100644
--- a/graphics/battle_anims/sprites/140.png
+++ b/graphics/battle_anims/sprites/rainbow_rings.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/229.png b/graphics/battle_anims/sprites/rapid_spin.png
index be1e038da..be1e038da 100644
--- a/graphics/battle_anims/sprites/229.png
+++ b/graphics/battle_anims/sprites/rapid_spin.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/160.png b/graphics/battle_anims/sprites/razor_leaf.png
index 35459b66b..35459b66b 100644
--- a/graphics/battle_anims/sprites/160.png
+++ b/graphics/battle_anims/sprites/razor_leaf.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/278.png b/graphics/battle_anims/sprites/recycle.png
index 7281bfdbd..7281bfdbd 100644
--- a/graphics/battle_anims/sprites/278.png
+++ b/graphics/battle_anims/sprites/recycle.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/254.png b/graphics/battle_anims/sprites/red_ball.png
index 1aa77e17f..1aa77e17f 100644
--- a/graphics/battle_anims/sprites/254.png
+++ b/graphics/battle_anims/sprites/red_ball.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/269.png b/graphics/battle_anims/sprites/red_brick.png
index d699f4c48..d699f4c48 100644
--- a/graphics/battle_anims/sprites/269.png
+++ b/graphics/battle_anims/sprites/red_brick.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/055.png b/graphics/battle_anims/sprites/red_fist.png
index bd6590322..bd6590322 100644
--- a/graphics/battle_anims/sprites/055.png
+++ b/graphics/battle_anims/sprites/red_fist.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/216.pal b/graphics/battle_anims/sprites/red_heart.pal
index 225cf9cf6..225cf9cf6 100644
--- a/graphics/battle_anims/sprites/216.pal
+++ b/graphics/battle_anims/sprites/red_heart.pal
diff --git a/graphics/battle_anims/sprites/168.pal b/graphics/battle_anims/sprites/red_light_wall.pal
index a99d113d2..a99d113d2 100644
--- a/graphics/battle_anims/sprites/168.pal
+++ b/graphics/battle_anims/sprites/red_light_wall.pal
diff --git a/graphics/battle_anims/sprites/217.png b/graphics/battle_anims/sprites/red_orb.png
index 3583670eb..3583670eb 100644
--- a/graphics/battle_anims/sprites/217.png
+++ b/graphics/battle_anims/sprites/red_orb.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/237.pal b/graphics/battle_anims/sprites/red_orb_2.pal
index 3eddc5612..3eddc5612 100644
--- a/graphics/battle_anims/sprites/237.pal
+++ b/graphics/battle_anims/sprites/red_orb_2.pal
diff --git a/graphics/battle_anims/sprites/279.png b/graphics/battle_anims/sprites/red_particles.png
index 46933b76e..46933b76e 100644
--- a/graphics/battle_anims/sprites/279.png
+++ b/graphics/battle_anims/sprites/red_particles.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/092.png b/graphics/battle_anims/sprites/red_tube.png
index 8d98d6eaa..8d98d6eaa 100644
--- a/graphics/battle_anims/sprites/092.png
+++ b/graphics/battle_anims/sprites/red_tube.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/111.png b/graphics/battle_anims/sprites/red_wand.png
index 2bbbe8694..2bbbe8694 100644
--- a/graphics/battle_anims/sprites/111.png
+++ b/graphics/battle_anims/sprites/red_wand.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/085.png b/graphics/battle_anims/sprites/reticle.png
index ab9fdce5e..ab9fdce5e 100644
--- a/graphics/battle_anims/sprites/085.png
+++ b/graphics/battle_anims/sprites/reticle.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/057.png b/graphics/battle_anims/sprites/ring.png
index ffc3f7634..ffc3f7634 100644
--- a/graphics/battle_anims/sprites/057.png
+++ b/graphics/battle_anims/sprites/ring.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/058.png b/graphics/battle_anims/sprites/rocks.png
index 89e01f78a..89e01f78a 100644
--- a/graphics/battle_anims/sprites/058.png
+++ b/graphics/battle_anims/sprites/rocks.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/223.png b/graphics/battle_anims/sprites/roots.png
index 5f9dbf83e..5f9dbf83e 100644
--- a/graphics/battle_anims/sprites/223.png
+++ b/graphics/battle_anims/sprites/roots.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/156.png b/graphics/battle_anims/sprites/round_shadow.png
index c0567df8c..c0567df8c 100644
--- a/graphics/battle_anims/sprites/156.png
+++ b/graphics/battle_anims/sprites/round_shadow.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/191.png b/graphics/battle_anims/sprites/round_white_halo.png
index e1442ff5c..e1442ff5c 100644
--- a/graphics/battle_anims/sprites/191.png
+++ b/graphics/battle_anims/sprites/round_white_halo.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/046.png b/graphics/battle_anims/sprites/sap_drip.png
index 85a052486..85a052486 100644
--- a/graphics/battle_anims/sprites/046.png
+++ b/graphics/battle_anims/sprites/sap_drip.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/047.pal b/graphics/battle_anims/sprites/sap_drip_2.pal
index 226cf039a..226cf039a 100644
--- a/graphics/battle_anims/sprites/047.pal
+++ b/graphics/battle_anims/sprites/sap_drip_2.pal
diff --git a/graphics/battle_anims/sprites/137.png b/graphics/battle_anims/sprites/scratch.png
index 7f3d26644..7f3d26644 100644
--- a/graphics/battle_anims/sprites/137.png
+++ b/graphics/battle_anims/sprites/scratch.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/041.png b/graphics/battle_anims/sprites/scratch_2.png
index e088c1f86..e088c1f86 100644
--- a/graphics/battle_anims/sprites/041.png
+++ b/graphics/battle_anims/sprites/scratch_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/040.png b/graphics/battle_anims/sprites/scratch_3.png
index c7d493d92..c7d493d92 100644
--- a/graphics/battle_anims/sprites/040.png
+++ b/graphics/battle_anims/sprites/scratch_3.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/006.png b/graphics/battle_anims/sprites/seed.png
index 30e2dffc1..30e2dffc1 100644
--- a/graphics/battle_anims/sprites/006.png
+++ b/graphics/battle_anims/sprites/seed.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/109.png b/graphics/battle_anims/sprites/seed_2.png
index f848e388b..f848e388b 100644
--- a/graphics/battle_anims/sprites/109.png
+++ b/graphics/battle_anims/sprites/seed_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/176.png b/graphics/battle_anims/sprites/shadow_ball.png
index aaa3c2f96..aaa3c2f96 100644
--- a/graphics/battle_anims/sprites/176.png
+++ b/graphics/battle_anims/sprites/shadow_ball.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/139.png b/graphics/battle_anims/sprites/sharp_teeth.png
index 38b74a9e4..38b74a9e4 100644
--- a/graphics/battle_anims/sprites/139.png
+++ b/graphics/battle_anims/sprites/sharp_teeth.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/079.png b/graphics/battle_anims/sprites/shock.png
index 193ba3942..193ba3942 100644
--- a/graphics/battle_anims/sprites/079.png
+++ b/graphics/battle_anims/sprites/shock.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/124.png b/graphics/battle_anims/sprites/shock_2.png
index 343705a07..343705a07 100644
--- a/graphics/battle_anims/sprites/124.png
+++ b/graphics/battle_anims/sprites/shock_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/282.png b/graphics/battle_anims/sprites/shock_3.png
index d89aab1ad..d89aab1ad 100644
--- a/graphics/battle_anims/sprites/282.png
+++ b/graphics/battle_anims/sprites/shock_3.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/078.png b/graphics/battle_anims/sprites/shock_4.png
index b48af4900..b48af4900 100644
--- a/graphics/battle_anims/sprites/078.png
+++ b/graphics/battle_anims/sprites/shock_4.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/056.png b/graphics/battle_anims/sprites/slam_hit.png
index 1a10645a4..1a10645a4 100644
--- a/graphics/battle_anims/sprites/056.png
+++ b/graphics/battle_anims/sprites/slam_hit.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/277.png b/graphics/battle_anims/sprites/slam_hit_2.png
index 7745fc28c..7745fc28c 100644
--- a/graphics/battle_anims/sprites/277.png
+++ b/graphics/battle_anims/sprites/slam_hit_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/183.png b/graphics/battle_anims/sprites/slash.png
index 55b2044b8..55b2044b8 100644
--- a/graphics/battle_anims/sprites/183.png
+++ b/graphics/battle_anims/sprites/slash.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/286.pal b/graphics/battle_anims/sprites/slash_2.pal
index a2703b853..a2703b853 100644
--- a/graphics/battle_anims/sprites/286.pal
+++ b/graphics/battle_anims/sprites/slash_2.pal
diff --git a/graphics/battle_anims/sprites/067.pal b/graphics/battle_anims/sprites/sleep_powder.pal
index 4c3a4265e..4c3a4265e 100644
--- a/graphics/battle_anims/sprites/067.pal
+++ b/graphics/battle_anims/sprites/sleep_powder.pal
diff --git a/graphics/battle_anims/sprites/155.png b/graphics/battle_anims/sprites/small_bubbles.png
index 9547b39fa..9547b39fa 100644
--- a/graphics/battle_anims/sprites/155.png
+++ b/graphics/battle_anims/sprites/small_bubbles.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/029.png b/graphics/battle_anims/sprites/small_ember.png
index b04a8dc65..b04a8dc65 100644
--- a/graphics/battle_anims/sprites/029.png
+++ b/graphics/battle_anims/sprites/small_ember.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/248.png b/graphics/battle_anims/sprites/small_red_eye.png
index 5a3fb393f..5a3fb393f 100644
--- a/graphics/battle_anims/sprites/248.png
+++ b/graphics/battle_anims/sprites/small_red_eye.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/255.png b/graphics/battle_anims/sprites/smellingsalt_effect.png
index f5f8c9e8b..f5f8c9e8b 100644
--- a/graphics/battle_anims/sprites/255.png
+++ b/graphics/battle_anims/sprites/smellingsalt_effect.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/133.png b/graphics/battle_anims/sprites/smoke.png
index cebce575e..cebce575e 100644
--- a/graphics/battle_anims/sprites/133.png
+++ b/graphics/battle_anims/sprites/smoke.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/134.png b/graphics/battle_anims/sprites/smoke_2.png
index 933852b07..933852b07 100644
--- a/graphics/battle_anims/sprites/134.png
+++ b/graphics/battle_anims/sprites/smoke_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/197.png b/graphics/battle_anims/sprites/snore_z.png
index ac7ac5083..ac7ac5083 100644
--- a/graphics/battle_anims/sprites/197.png
+++ b/graphics/battle_anims/sprites/snore_z.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/088.png b/graphics/battle_anims/sprites/snowball.png
index 09fed7d85..09fed7d85 100644
--- a/graphics/battle_anims/sprites/088.png
+++ b/graphics/battle_anims/sprites/snowball.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/159.pal b/graphics/battle_anims/sprites/spark.pal
index 81af310e1..81af310e1 100644
--- a/graphics/battle_anims/sprites/159.pal
+++ b/graphics/battle_anims/sprites/spark.pal
diff --git a/graphics/battle_anims/sprites/001_0.png b/graphics/battle_anims/sprites/spark_0.png
index 77c454dcb..77c454dcb 100644
--- a/graphics/battle_anims/sprites/001_0.png
+++ b/graphics/battle_anims/sprites/spark_0.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/001_1.png b/graphics/battle_anims/sprites/spark_1.png
index 2cfd6bd0b..2cfd6bd0b 100644
--- a/graphics/battle_anims/sprites/001_1.png
+++ b/graphics/battle_anims/sprites/spark_1.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/011.png b/graphics/battle_anims/sprites/spark_2.png
index 23ce049b0..23ce049b0 100644
--- a/graphics/battle_anims/sprites/011.png
+++ b/graphics/battle_anims/sprites/spark_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/173.png b/graphics/battle_anims/sprites/spark_h.png
index d50982122..d50982122 100644
--- a/graphics/battle_anims/sprites/173.png
+++ b/graphics/battle_anims/sprites/spark_h.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/048.png b/graphics/battle_anims/sprites/sparkle_1.png
index 4a6631ab8..4a6631ab8 100644
--- a/graphics/battle_anims/sprites/048.png
+++ b/graphics/battle_anims/sprites/sparkle_1.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/049.pal b/graphics/battle_anims/sprites/sparkle_2.pal
index 268ce4f4f..268ce4f4f 100644
--- a/graphics/battle_anims/sprites/049.pal
+++ b/graphics/battle_anims/sprites/sparkle_2.pal
diff --git a/graphics/battle_anims/sprites/070.png b/graphics/battle_anims/sprites/sparkle_3.png
index dfb03010c..dfb03010c 100644
--- a/graphics/battle_anims/sprites/070.png
+++ b/graphics/battle_anims/sprites/sparkle_3.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/071.png b/graphics/battle_anims/sprites/sparkle_4.png
index 88d20bb5e..88d20bb5e 100644
--- a/graphics/battle_anims/sprites/071.png
+++ b/graphics/battle_anims/sprites/sparkle_4.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/271.png b/graphics/battle_anims/sprites/sparkle_6.png
index d77ca0682..d77ca0682 100644
--- a/graphics/battle_anims/sprites/271.png
+++ b/graphics/battle_anims/sprites/sparkle_6.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/207.png b/graphics/battle_anims/sprites/speed_dust.png
index 0d3450c6e..0d3450c6e 100644
--- a/graphics/battle_anims/sprites/207.png
+++ b/graphics/battle_anims/sprites/speed_dust.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/185.png b/graphics/battle_anims/sprites/sphere_to_cube.png
index f3a4305c5..f3a4305c5 100644
--- a/graphics/battle_anims/sprites/185.png
+++ b/graphics/battle_anims/sprites/sphere_to_cube.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/181.png b/graphics/battle_anims/sprites/spider_web.png
index ea561b9db..ea561b9db 100644
--- a/graphics/battle_anims/sprites/181.png
+++ b/graphics/battle_anims/sprites/spider_web.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/152.png b/graphics/battle_anims/sprites/spikes.png
index 1b5e8e904..1b5e8e904 100644
--- a/graphics/battle_anims/sprites/152.png
+++ b/graphics/battle_anims/sprites/spikes.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/034.png b/graphics/battle_anims/sprites/spinning_fire.png
index 22f836d1e..22f836d1e 100644
--- a/graphics/battle_anims/sprites/034.png
+++ b/graphics/battle_anims/sprites/spinning_fire.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/062.png b/graphics/battle_anims/sprites/spinning_green_orbs.png
index bdfaa78c4..bdfaa78c4 100644
--- a/graphics/battle_anims/sprites/062.png
+++ b/graphics/battle_anims/sprites/spinning_green_orbs.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/196.png b/graphics/battle_anims/sprites/spiral.png
index c3dee2e0a..c3dee2e0a 100644
--- a/graphics/battle_anims/sprites/196.png
+++ b/graphics/battle_anims/sprites/spiral.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/272.png b/graphics/battle_anims/sprites/splash.png
index 0acaa474d..0acaa474d 100644
--- a/graphics/battle_anims/sprites/272.png
+++ b/graphics/battle_anims/sprites/splash.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/158.png b/graphics/battle_anims/sprites/spore.png
index a91eaafdb..a91eaafdb 100644
--- a/graphics/battle_anims/sprites/158.png
+++ b/graphics/battle_anims/sprites/spore.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/227.png b/graphics/battle_anims/sprites/spotlight.png
index baa51d106..baa51d106 100644
--- a/graphics/battle_anims/sprites/227.png
+++ b/graphics/battle_anims/sprites/spotlight.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/110.png b/graphics/battle_anims/sprites/sprout.png
index 787cb58c3..787cb58c3 100644
--- a/graphics/battle_anims/sprites/110.png
+++ b/graphics/battle_anims/sprites/sprout.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/179.png b/graphics/battle_anims/sprites/string.png
index 94f102402..94f102402 100644
--- a/graphics/battle_anims/sprites/179.png
+++ b/graphics/battle_anims/sprites/string.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/094.png b/graphics/battle_anims/sprites/string_2.png
index c29ff535d..c29ff535d 100644
--- a/graphics/battle_anims/sprites/094.png
+++ b/graphics/battle_anims/sprites/string_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/068.pal b/graphics/battle_anims/sprites/stun_spore.pal
index 3075ab6b6..3075ab6b6 100644
--- a/graphics/battle_anims/sprites/068.pal
+++ b/graphics/battle_anims/sprites/stun_spore.pal
diff --git a/graphics/battle_anims/sprites/157.png b/graphics/battle_anims/sprites/sunlight.png
index 7fa6a0531..7fa6a0531 100644
--- a/graphics/battle_anims/sprites/157.png
+++ b/graphics/battle_anims/sprites/sunlight.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/273.png b/graphics/battle_anims/sprites/sweat_bead.png
index 6398df8c0..6398df8c0 100644
--- a/graphics/battle_anims/sprites/273.png
+++ b/graphics/battle_anims/sprites/sweat_bead.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/243.png b/graphics/battle_anims/sprites/sweat_drop.png
index 15cffcc85..15cffcc85 100644
--- a/graphics/battle_anims/sprites/243.png
+++ b/graphics/battle_anims/sprites/sweat_drop.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/222.png b/graphics/battle_anims/sprites/swipe.png
index 1205494d4..1205494d4 100644
--- a/graphics/battle_anims/sprites/222.png
+++ b/graphics/battle_anims/sprites/swipe.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/005.png b/graphics/battle_anims/sprites/sword.png
index 8bd4ac426..8bd4ac426 100644
--- a/graphics/battle_anims/sprites/005.png
+++ b/graphics/battle_anims/sprites/sword.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/090.png b/graphics/battle_anims/sprites/sword_2.png
index c90ff299d..c90ff299d 100644
--- a/graphics/battle_anims/sprites/090.png
+++ b/graphics/battle_anims/sprites/sword_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/247.png b/graphics/battle_anims/sprites/tag_hand.png
index 858d4640d..858d4640d 100644
--- a/graphics/battle_anims/sprites/247.png
+++ b/graphics/battle_anims/sprites/tag_hand.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/189.png b/graphics/battle_anims/sprites/teal_alert.png
index 67fdd4536..67fdd4536 100644
--- a/graphics/battle_anims/sprites/189.png
+++ b/graphics/battle_anims/sprites/teal_alert.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/118.png b/graphics/battle_anims/sprites/teeth.png
index 6e2075e51..6e2075e51 100644
--- a/graphics/battle_anims/sprites/118.png
+++ b/graphics/battle_anims/sprites/teeth.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/186.png b/graphics/battle_anims/sprites/tendrils.png
index 8fbc31367..8fbc31367 100644
--- a/graphics/battle_anims/sprites/186.png
+++ b/graphics/battle_anims/sprites/tendrils.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/203.png b/graphics/battle_anims/sprites/thin_ring.png
index f7a81679f..f7a81679f 100644
--- a/graphics/battle_anims/sprites/203.png
+++ b/graphics/battle_anims/sprites/thin_ring.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/209.png b/graphics/battle_anims/sprites/thought_bubble.png
index dea2a60bb..dea2a60bb 100644
--- a/graphics/battle_anims/sprites/209.png
+++ b/graphics/battle_anims/sprites/thought_bubble.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/015.png b/graphics/battle_anims/sprites/tied_bag.png
index 48895d36a..48895d36a 100644
--- a/graphics/battle_anims/sprites/015.png
+++ b/graphics/battle_anims/sprites/tied_bag.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/132.png b/graphics/battle_anims/sprites/tongue.png
index ebed3740a..ebed3740a 100644
--- a/graphics/battle_anims/sprites/132.png
+++ b/graphics/battle_anims/sprites/tongue.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/208.png b/graphics/battle_anims/sprites/torn_metal.png
index 61bac622e..61bac622e 100644
--- a/graphics/battle_anims/sprites/208.png
+++ b/graphics/battle_anims/sprites/torn_metal.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/151.png b/graphics/battle_anims/sprites/toxic_bubble.png
index bf7819273..bf7819273 100644
--- a/graphics/battle_anims/sprites/151.png
+++ b/graphics/battle_anims/sprites/toxic_bubble.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/230.png b/graphics/battle_anims/sprites/tri_force_triangle.png
index 9157118fd..9157118fd 100644
--- a/graphics/battle_anims/sprites/230.png
+++ b/graphics/battle_anims/sprites/tri_force_triangle.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/121.png b/graphics/battle_anims/sprites/unknown.png
index c4fc11f86..c4fc11f86 100644
--- a/graphics/battle_anims/sprites/121.png
+++ b/graphics/battle_anims/sprites/unknown.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/089.png b/graphics/battle_anims/sprites/vine.png
index 19155f2c4..19155f2c4 100644
--- a/graphics/battle_anims/sprites/089.png
+++ b/graphics/battle_anims/sprites/vine.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/117.png b/graphics/battle_anims/sprites/vine_2.png
index f2c7e1b41..f2c7e1b41 100644
--- a/graphics/battle_anims/sprites/117.png
+++ b/graphics/battle_anims/sprites/vine_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/178.png b/graphics/battle_anims/sprites/void_lines.png
index c7b68d278..c7b68d278 100644
--- a/graphics/battle_anims/sprites/178.png
+++ b/graphics/battle_anims/sprites/void_lines.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/201.png b/graphics/battle_anims/sprites/warm_rock.png
index 4b8cb700c..4b8cb700c 100644
--- a/graphics/battle_anims/sprites/201.png
+++ b/graphics/battle_anims/sprites/warm_rock.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/113.png b/graphics/battle_anims/sprites/water_column.png
index 3a4a5b328..3a4a5b328 100644
--- a/graphics/battle_anims/sprites/113.png
+++ b/graphics/battle_anims/sprites/water_column.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/107.png b/graphics/battle_anims/sprites/water_droplet.png
index 202152ab4..202152ab4 100644
--- a/graphics/battle_anims/sprites/107.png
+++ b/graphics/battle_anims/sprites/water_droplet.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/108.png b/graphics/battle_anims/sprites/water_droplet_2.png
index f3f5871b4..f3f5871b4 100644
--- a/graphics/battle_anims/sprites/108.png
+++ b/graphics/battle_anims/sprites/water_droplet_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/148.png b/graphics/battle_anims/sprites/water_impact.png
index ea5738321..ea5738321 100644
--- a/graphics/battle_anims/sprites/148.png
+++ b/graphics/battle_anims/sprites/water_impact.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/149.png b/graphics/battle_anims/sprites/water_orb.png
index 8e52802d7..8e52802d7 100644
--- a/graphics/battle_anims/sprites/149.png
+++ b/graphics/battle_anims/sprites/water_orb.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/025.png b/graphics/battle_anims/sprites/waving_hand.png
index 864f71065..864f71065 100644
--- a/graphics/battle_anims/sprites/025.png
+++ b/graphics/battle_anims/sprites/waving_hand.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/283.png b/graphics/battle_anims/sprites/weather_ball.png
index 03853aef6..03853aef6 100644
--- a/graphics/battle_anims/sprites/283.png
+++ b/graphics/battle_anims/sprites/weather_ball.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/098.png b/graphics/battle_anims/sprites/web.png
index 33cfd705c..33cfd705c 100644
--- a/graphics/battle_anims/sprites/098.png
+++ b/graphics/battle_anims/sprites/web.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/180.png b/graphics/battle_anims/sprites/web_thread.png
index 76eb7c9a8..76eb7c9a8 100644
--- a/graphics/battle_anims/sprites/180.png
+++ b/graphics/battle_anims/sprites/web_thread.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/287.pal b/graphics/battle_anims/sprites/whip_hit.pal
index 631948567..631948567 100644
--- a/graphics/battle_anims/sprites/287.pal
+++ b/graphics/battle_anims/sprites/whip_hit.pal
diff --git a/graphics/battle_anims/sprites/128.png b/graphics/battle_anims/sprites/whirlwind.png
index fb9e61980..fb9e61980 100644
--- a/graphics/battle_anims/sprites/128.png
+++ b/graphics/battle_anims/sprites/whirlwind.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/129.png b/graphics/battle_anims/sprites/whirlwind_2.png
index c29a44c06..c29a44c06 100644
--- a/graphics/battle_anims/sprites/129.png
+++ b/graphics/battle_anims/sprites/whirlwind_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/162.png b/graphics/battle_anims/sprites/whirlwind_lines.png
index f1fac116b..f1fac116b 100644
--- a/graphics/battle_anims/sprites/162.png
+++ b/graphics/battle_anims/sprites/whirlwind_lines.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/120.png b/graphics/battle_anims/sprites/white_bag.png
index 58e15e018..58e15e018 100644
--- a/graphics/battle_anims/sprites/120.png
+++ b/graphics/battle_anims/sprites/white_bag.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/267.pal b/graphics/battle_anims/sprites/white_circle_of_light.pal
index 1973e6f45..1973e6f45 100644
--- a/graphics/battle_anims/sprites/267.pal
+++ b/graphics/battle_anims/sprites/white_circle_of_light.pal
diff --git a/graphics/battle_anims/sprites/270.png b/graphics/battle_anims/sprites/white_feather.png
index 1581ad1ea..1581ad1ea 100644
--- a/graphics/battle_anims/sprites/270.png
+++ b/graphics/battle_anims/sprites/white_feather.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/188.png b/graphics/battle_anims/sprites/white_shadow.png
index 3b0b6f402..3b0b6f402 100644
--- a/graphics/battle_anims/sprites/188.png
+++ b/graphics/battle_anims/sprites/white_shadow.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/232.png b/graphics/battle_anims/sprites/wisp_fire.png
index ebdf118e1..ebdf118e1 100644
--- a/graphics/battle_anims/sprites/232.png
+++ b/graphics/battle_anims/sprites/wisp_fire.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/231.png b/graphics/battle_anims/sprites/wisp_orb.png
index 7b3474bb9..7b3474bb9 100644
--- a/graphics/battle_anims/sprites/231.png
+++ b/graphics/battle_anims/sprites/wisp_orb.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/250.png b/graphics/battle_anims/sprites/x_sign.png
index 4088e3328..4088e3328 100644
--- a/graphics/battle_anims/sprites/250.png
+++ b/graphics/battle_anims/sprites/x_sign.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/013.png b/graphics/battle_anims/sprites/yellow_ball.png
index 407671ff6..407671ff6 100644
--- a/graphics/battle_anims/sprites/013.png
+++ b/graphics/battle_anims/sprites/yellow_ball.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/174.png b/graphics/battle_anims/sprites/yellow_star.png
index d8cf8dbe4..d8cf8dbe4 100644
--- a/graphics/battle_anims/sprites/174.png
+++ b/graphics/battle_anims/sprites/yellow_star.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/054.png b/graphics/battle_anims/sprites/yellow_unk.png
index afffd9e77..afffd9e77 100644
--- a/graphics/battle_anims/sprites/054.png
+++ b/graphics/battle_anims/sprites/yellow_unk.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/060.png b/graphics/battle_anims/sprites/yellow_unk_2.png
index c4c0fb53e..c4c0fb53e 100644
--- a/graphics/battle_anims/sprites/060.png
+++ b/graphics/battle_anims/sprites/yellow_unk_2.png
Binary files differ
diff --git a/graphics/battle_anims/sprites/059.png b/graphics/battle_anims/sprites/z.png
index 4d93be124..4d93be124 100644
--- a/graphics/battle_anims/sprites/059.png
+++ b/graphics/battle_anims/sprites/z.png
Binary files differ
diff --git a/graphics/decorations/unk_85a6bb0.pal b/graphics/decorations/decoration_menu.pal
index 4239a1f5e..4239a1f5e 100644
--- a/graphics/decorations/unk_85a6bb0.pal
+++ b/graphics/decorations/decoration_menu.pal
diff --git a/graphics/pokemon/anim_front_pics/abra_front_pic.png b/graphics/pokemon/abra/anim_front.png
index ee466f539..ee466f539 100644
--- a/graphics/pokemon/anim_front_pics/abra_front_pic.png
+++ b/graphics/pokemon/abra/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/abra_back_pic.png b/graphics/pokemon/abra/back.png
index 5035bde91..5035bde91 100644
--- a/graphics/pokemon/back_pics/abra_back_pic.png
+++ b/graphics/pokemon/abra/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/abra_footprint.png b/graphics/pokemon/abra/footprint.png
index 42b5e416f..42b5e416f 100644
--- a/graphics/pokemon/footprints/abra_footprint.png
+++ b/graphics/pokemon/abra/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/abra_still_front_pic.png b/graphics/pokemon/abra/front.png
index 5e7ff8066..5e7ff8066 100644
--- a/graphics/pokemon/front_pics/abra_still_front_pic.png
+++ b/graphics/pokemon/abra/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/abra_icon.png b/graphics/pokemon/abra/icon.png
index cf7d3d2f7..cf7d3d2f7 100644
--- a/graphics/pokemon/icons/abra_icon.png
+++ b/graphics/pokemon/abra/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/abra_palette.pal b/graphics/pokemon/abra/normal.pal
index b688ea0bc..b688ea0bc 100644
--- a/graphics/pokemon/palettes/abra_palette.pal
+++ b/graphics/pokemon/abra/normal.pal
diff --git a/graphics/pokemon/palettes/abra_shiny_palette.pal b/graphics/pokemon/abra/shiny.pal
index 4122603ff..4122603ff 100644
--- a/graphics/pokemon/palettes/abra_shiny_palette.pal
+++ b/graphics/pokemon/abra/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/absol_front_pic.png b/graphics/pokemon/absol/anim_front.png
index 5b459aef0..5b459aef0 100644
--- a/graphics/pokemon/anim_front_pics/absol_front_pic.png
+++ b/graphics/pokemon/absol/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/absol_back_pic.png b/graphics/pokemon/absol/back.png
index 876ba48aa..876ba48aa 100644
--- a/graphics/pokemon/back_pics/absol_back_pic.png
+++ b/graphics/pokemon/absol/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/absol_footprint.png b/graphics/pokemon/absol/footprint.png
index da4076f78..da4076f78 100644
--- a/graphics/pokemon/footprints/absol_footprint.png
+++ b/graphics/pokemon/absol/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/absol_still_front_pic.png b/graphics/pokemon/absol/front.png
index 17759b2e7..17759b2e7 100644
--- a/graphics/pokemon/front_pics/absol_still_front_pic.png
+++ b/graphics/pokemon/absol/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/absol_icon.png b/graphics/pokemon/absol/icon.png
index 3cc5e01b5..3cc5e01b5 100644
--- a/graphics/pokemon/icons/absol_icon.png
+++ b/graphics/pokemon/absol/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/absol_palette.pal b/graphics/pokemon/absol/normal.pal
index 990038917..990038917 100644
--- a/graphics/pokemon/palettes/absol_palette.pal
+++ b/graphics/pokemon/absol/normal.pal
diff --git a/graphics/pokemon/palettes/absol_shiny_palette.pal b/graphics/pokemon/absol/shiny.pal
index 4b86195a7..4b86195a7 100644
--- a/graphics/pokemon/palettes/absol_shiny_palette.pal
+++ b/graphics/pokemon/absol/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/aerodactyl_front_pic.png b/graphics/pokemon/aerodactyl/anim_front.png
index 4b5ea3378..4b5ea3378 100644
--- a/graphics/pokemon/anim_front_pics/aerodactyl_front_pic.png
+++ b/graphics/pokemon/aerodactyl/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/aerodactyl_back_pic.png b/graphics/pokemon/aerodactyl/back.png
index 8dfa76f57..8dfa76f57 100644
--- a/graphics/pokemon/back_pics/aerodactyl_back_pic.png
+++ b/graphics/pokemon/aerodactyl/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/aerodactyl_footprint.png b/graphics/pokemon/aerodactyl/footprint.png
index 7c5d3e6c1..7c5d3e6c1 100644
--- a/graphics/pokemon/footprints/aerodactyl_footprint.png
+++ b/graphics/pokemon/aerodactyl/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/aerodactyl_still_front_pic.png b/graphics/pokemon/aerodactyl/front.png
index 5f7e41552..5f7e41552 100644
--- a/graphics/pokemon/front_pics/aerodactyl_still_front_pic.png
+++ b/graphics/pokemon/aerodactyl/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/aerodactyl_icon.png b/graphics/pokemon/aerodactyl/icon.png
index f90e269b0..f90e269b0 100644
--- a/graphics/pokemon/icons/aerodactyl_icon.png
+++ b/graphics/pokemon/aerodactyl/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/aerodactyl_palette.pal b/graphics/pokemon/aerodactyl/normal.pal
index 45116129c..45116129c 100644
--- a/graphics/pokemon/palettes/aerodactyl_palette.pal
+++ b/graphics/pokemon/aerodactyl/normal.pal
diff --git a/graphics/pokemon/palettes/aerodactyl_shiny_palette.pal b/graphics/pokemon/aerodactyl/shiny.pal
index 1e2e3f8d7..1e2e3f8d7 100644
--- a/graphics/pokemon/palettes/aerodactyl_shiny_palette.pal
+++ b/graphics/pokemon/aerodactyl/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/aggron_front_pic.png b/graphics/pokemon/aggron/anim_front.png
index 43adabd58..43adabd58 100644
--- a/graphics/pokemon/anim_front_pics/aggron_front_pic.png
+++ b/graphics/pokemon/aggron/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/aggron_back_pic.png b/graphics/pokemon/aggron/back.png
index 24ade1ff4..24ade1ff4 100644
--- a/graphics/pokemon/back_pics/aggron_back_pic.png
+++ b/graphics/pokemon/aggron/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/aggron_footprint.png b/graphics/pokemon/aggron/footprint.png
index 3ba6d480b..3ba6d480b 100644
--- a/graphics/pokemon/footprints/aggron_footprint.png
+++ b/graphics/pokemon/aggron/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/aggron_still_front_pic.png b/graphics/pokemon/aggron/front.png
index 0c357efe4..0c357efe4 100644
--- a/graphics/pokemon/front_pics/aggron_still_front_pic.png
+++ b/graphics/pokemon/aggron/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/aggron_icon.png b/graphics/pokemon/aggron/icon.png
index ed7ae52e4..ed7ae52e4 100644
--- a/graphics/pokemon/icons/aggron_icon.png
+++ b/graphics/pokemon/aggron/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/aggron_palette.pal b/graphics/pokemon/aggron/normal.pal
index b5711fdad..b5711fdad 100644
--- a/graphics/pokemon/palettes/aggron_palette.pal
+++ b/graphics/pokemon/aggron/normal.pal
diff --git a/graphics/pokemon/palettes/aggron_shiny_palette.pal b/graphics/pokemon/aggron/shiny.pal
index eadb9aa81..eadb9aa81 100644
--- a/graphics/pokemon/palettes/aggron_shiny_palette.pal
+++ b/graphics/pokemon/aggron/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/aipom_front_pic.png b/graphics/pokemon/aipom/anim_front.png
index 1643e37cf..1643e37cf 100644
--- a/graphics/pokemon/anim_front_pics/aipom_front_pic.png
+++ b/graphics/pokemon/aipom/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/aipom_back_pic.png b/graphics/pokemon/aipom/back.png
index 7e9594b6f..7e9594b6f 100644
--- a/graphics/pokemon/back_pics/aipom_back_pic.png
+++ b/graphics/pokemon/aipom/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/aipom_footprint.png b/graphics/pokemon/aipom/footprint.png
index 67f7f1188..67f7f1188 100644
--- a/graphics/pokemon/footprints/aipom_footprint.png
+++ b/graphics/pokemon/aipom/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/aipom_still_front_pic.png b/graphics/pokemon/aipom/front.png
index 25b20c739..25b20c739 100644
--- a/graphics/pokemon/front_pics/aipom_still_front_pic.png
+++ b/graphics/pokemon/aipom/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/aipom_icon.png b/graphics/pokemon/aipom/icon.png
index d5138f203..d5138f203 100644
--- a/graphics/pokemon/icons/aipom_icon.png
+++ b/graphics/pokemon/aipom/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/aipom_palette.pal b/graphics/pokemon/aipom/normal.pal
index bc79b2a2a..bc79b2a2a 100644
--- a/graphics/pokemon/palettes/aipom_palette.pal
+++ b/graphics/pokemon/aipom/normal.pal
diff --git a/graphics/pokemon/palettes/aipom_shiny_palette.pal b/graphics/pokemon/aipom/shiny.pal
index 785e324ab..785e324ab 100644
--- a/graphics/pokemon/palettes/aipom_shiny_palette.pal
+++ b/graphics/pokemon/aipom/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/alakazam_front_pic.png b/graphics/pokemon/alakazam/anim_front.png
index 3891f3242..3891f3242 100644
--- a/graphics/pokemon/anim_front_pics/alakazam_front_pic.png
+++ b/graphics/pokemon/alakazam/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/alakazam_back_pic.png b/graphics/pokemon/alakazam/back.png
index aad3363af..aad3363af 100644
--- a/graphics/pokemon/back_pics/alakazam_back_pic.png
+++ b/graphics/pokemon/alakazam/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/alakazam_footprint.png b/graphics/pokemon/alakazam/footprint.png
index e3c3795cf..e3c3795cf 100644
--- a/graphics/pokemon/footprints/alakazam_footprint.png
+++ b/graphics/pokemon/alakazam/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/alakazam_still_front_pic.png b/graphics/pokemon/alakazam/front.png
index d0c45a230..d0c45a230 100644
--- a/graphics/pokemon/front_pics/alakazam_still_front_pic.png
+++ b/graphics/pokemon/alakazam/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/alakazam_icon.png b/graphics/pokemon/alakazam/icon.png
index f15231469..f15231469 100644
--- a/graphics/pokemon/icons/alakazam_icon.png
+++ b/graphics/pokemon/alakazam/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/alakazam_palette.pal b/graphics/pokemon/alakazam/normal.pal
index 0617af6a5..0617af6a5 100644
--- a/graphics/pokemon/palettes/alakazam_palette.pal
+++ b/graphics/pokemon/alakazam/normal.pal
diff --git a/graphics/pokemon/palettes/alakazam_shiny_palette.pal b/graphics/pokemon/alakazam/shiny.pal
index 083ce6897..083ce6897 100644
--- a/graphics/pokemon/palettes/alakazam_shiny_palette.pal
+++ b/graphics/pokemon/alakazam/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/altaria_front_pic.png b/graphics/pokemon/altaria/anim_front.png
index ff00eaa72..ff00eaa72 100644
--- a/graphics/pokemon/anim_front_pics/altaria_front_pic.png
+++ b/graphics/pokemon/altaria/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/altaria_back_pic.png b/graphics/pokemon/altaria/back.png
index b224676be..b224676be 100644
--- a/graphics/pokemon/back_pics/altaria_back_pic.png
+++ b/graphics/pokemon/altaria/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/altaria_footprint.png b/graphics/pokemon/altaria/footprint.png
index 6c65deae5..6c65deae5 100644
--- a/graphics/pokemon/footprints/altaria_footprint.png
+++ b/graphics/pokemon/altaria/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/altaria_still_front_pic.png b/graphics/pokemon/altaria/front.png
index 8b45828a2..8b45828a2 100644
--- a/graphics/pokemon/front_pics/altaria_still_front_pic.png
+++ b/graphics/pokemon/altaria/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/altaria_icon.png b/graphics/pokemon/altaria/icon.png
index 300dfec82..300dfec82 100644
--- a/graphics/pokemon/icons/altaria_icon.png
+++ b/graphics/pokemon/altaria/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/altaria_palette.pal b/graphics/pokemon/altaria/normal.pal
index d7af0b531..d7af0b531 100644
--- a/graphics/pokemon/palettes/altaria_palette.pal
+++ b/graphics/pokemon/altaria/normal.pal
diff --git a/graphics/pokemon/palettes/altaria_shiny_palette.pal b/graphics/pokemon/altaria/shiny.pal
index 0ebea146a..0ebea146a 100644
--- a/graphics/pokemon/palettes/altaria_shiny_palette.pal
+++ b/graphics/pokemon/altaria/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/ampharos_front_pic.png b/graphics/pokemon/ampharos/anim_front.png
index cf0558411..cf0558411 100644
--- a/graphics/pokemon/anim_front_pics/ampharos_front_pic.png
+++ b/graphics/pokemon/ampharos/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ampharos_back_pic.png b/graphics/pokemon/ampharos/back.png
index 2e7c2399e..2e7c2399e 100644
--- a/graphics/pokemon/back_pics/ampharos_back_pic.png
+++ b/graphics/pokemon/ampharos/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ampharos_footprint.png b/graphics/pokemon/ampharos/footprint.png
index bfc2f8034..bfc2f8034 100644
--- a/graphics/pokemon/footprints/ampharos_footprint.png
+++ b/graphics/pokemon/ampharos/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ampharos_still_front_pic.png b/graphics/pokemon/ampharos/front.png
index cc4956afb..cc4956afb 100644
--- a/graphics/pokemon/front_pics/ampharos_still_front_pic.png
+++ b/graphics/pokemon/ampharos/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ampharos_icon.png b/graphics/pokemon/ampharos/icon.png
index d7a3f9e70..d7a3f9e70 100644
--- a/graphics/pokemon/icons/ampharos_icon.png
+++ b/graphics/pokemon/ampharos/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ampharos_palette.pal b/graphics/pokemon/ampharos/normal.pal
index f7fdd3683..f7fdd3683 100644
--- a/graphics/pokemon/palettes/ampharos_palette.pal
+++ b/graphics/pokemon/ampharos/normal.pal
diff --git a/graphics/pokemon/palettes/ampharos_shiny_palette.pal b/graphics/pokemon/ampharos/shiny.pal
index f29dc710f..f29dc710f 100644
--- a/graphics/pokemon/palettes/ampharos_shiny_palette.pal
+++ b/graphics/pokemon/ampharos/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/anorith_front_pic.png b/graphics/pokemon/anorith/anim_front.png
index 17d439d83..17d439d83 100644
--- a/graphics/pokemon/anim_front_pics/anorith_front_pic.png
+++ b/graphics/pokemon/anorith/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/anorith_back_pic.png b/graphics/pokemon/anorith/back.png
index 0f9c0efc0..0f9c0efc0 100644
--- a/graphics/pokemon/back_pics/anorith_back_pic.png
+++ b/graphics/pokemon/anorith/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/anorith_footprint.png b/graphics/pokemon/anorith/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/anorith_footprint.png
+++ b/graphics/pokemon/anorith/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/anorith_still_front_pic.png b/graphics/pokemon/anorith/front.png
index 425ff4c0d..425ff4c0d 100644
--- a/graphics/pokemon/front_pics/anorith_still_front_pic.png
+++ b/graphics/pokemon/anorith/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/anorith_icon.png b/graphics/pokemon/anorith/icon.png
index 936355d61..936355d61 100644
--- a/graphics/pokemon/icons/anorith_icon.png
+++ b/graphics/pokemon/anorith/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/anorith_palette.pal b/graphics/pokemon/anorith/normal.pal
index 01bb5c13f..01bb5c13f 100644
--- a/graphics/pokemon/palettes/anorith_palette.pal
+++ b/graphics/pokemon/anorith/normal.pal
diff --git a/graphics/pokemon/palettes/anorith_shiny_palette.pal b/graphics/pokemon/anorith/shiny.pal
index dc1fe0374..dc1fe0374 100644
--- a/graphics/pokemon/palettes/anorith_shiny_palette.pal
+++ b/graphics/pokemon/anorith/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/arbok_front_pic.png b/graphics/pokemon/arbok/anim_front.png
index 98ca8aab2..98ca8aab2 100644
--- a/graphics/pokemon/anim_front_pics/arbok_front_pic.png
+++ b/graphics/pokemon/arbok/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/arbok_back_pic.png b/graphics/pokemon/arbok/back.png
index 7984d422e..7984d422e 100644
--- a/graphics/pokemon/back_pics/arbok_back_pic.png
+++ b/graphics/pokemon/arbok/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/arbok_footprint.png b/graphics/pokemon/arbok/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/arbok_footprint.png
+++ b/graphics/pokemon/arbok/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/arbok_still_front_pic.png b/graphics/pokemon/arbok/front.png
index 89c8d548b..89c8d548b 100644
--- a/graphics/pokemon/front_pics/arbok_still_front_pic.png
+++ b/graphics/pokemon/arbok/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/arbok_icon.png b/graphics/pokemon/arbok/icon.png
index 8967d44a6..8967d44a6 100644
--- a/graphics/pokemon/icons/arbok_icon.png
+++ b/graphics/pokemon/arbok/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/arbok_palette.pal b/graphics/pokemon/arbok/normal.pal
index afd5a0a16..afd5a0a16 100644
--- a/graphics/pokemon/palettes/arbok_palette.pal
+++ b/graphics/pokemon/arbok/normal.pal
diff --git a/graphics/pokemon/palettes/arbok_shiny_palette.pal b/graphics/pokemon/arbok/shiny.pal
index 6c88ffb42..6c88ffb42 100644
--- a/graphics/pokemon/palettes/arbok_shiny_palette.pal
+++ b/graphics/pokemon/arbok/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/arcanine_front_pic.png b/graphics/pokemon/arcanine/anim_front.png
index d955b812f..d955b812f 100644
--- a/graphics/pokemon/anim_front_pics/arcanine_front_pic.png
+++ b/graphics/pokemon/arcanine/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/arcanine_back_pic.png b/graphics/pokemon/arcanine/back.png
index 1b0840c8a..1b0840c8a 100644
--- a/graphics/pokemon/back_pics/arcanine_back_pic.png
+++ b/graphics/pokemon/arcanine/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/arcanine_footprint.png b/graphics/pokemon/arcanine/footprint.png
index 96b7f93ae..96b7f93ae 100644
--- a/graphics/pokemon/footprints/arcanine_footprint.png
+++ b/graphics/pokemon/arcanine/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/arcanine_still_front_pic.png b/graphics/pokemon/arcanine/front.png
index fb943a5d3..fb943a5d3 100644
--- a/graphics/pokemon/front_pics/arcanine_still_front_pic.png
+++ b/graphics/pokemon/arcanine/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/arcanine_icon.png b/graphics/pokemon/arcanine/icon.png
index 3fed9199a..3fed9199a 100644
--- a/graphics/pokemon/icons/arcanine_icon.png
+++ b/graphics/pokemon/arcanine/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/arcanine_palette.pal b/graphics/pokemon/arcanine/normal.pal
index 46135bf32..46135bf32 100644
--- a/graphics/pokemon/palettes/arcanine_palette.pal
+++ b/graphics/pokemon/arcanine/normal.pal
diff --git a/graphics/pokemon/palettes/arcanine_shiny_palette.pal b/graphics/pokemon/arcanine/shiny.pal
index 99edcb435..99edcb435 100644
--- a/graphics/pokemon/palettes/arcanine_shiny_palette.pal
+++ b/graphics/pokemon/arcanine/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/ariados_front_pic.png b/graphics/pokemon/ariados/anim_front.png
index 9fdd51362..9fdd51362 100644
--- a/graphics/pokemon/anim_front_pics/ariados_front_pic.png
+++ b/graphics/pokemon/ariados/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ariados_back_pic.png b/graphics/pokemon/ariados/back.png
index b677b7222..b677b7222 100644
--- a/graphics/pokemon/back_pics/ariados_back_pic.png
+++ b/graphics/pokemon/ariados/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ariados_footprint.png b/graphics/pokemon/ariados/footprint.png
index cee3b1ba5..cee3b1ba5 100644
--- a/graphics/pokemon/footprints/ariados_footprint.png
+++ b/graphics/pokemon/ariados/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ariados_still_front_pic.png b/graphics/pokemon/ariados/front.png
index 07bc4a4db..07bc4a4db 100644
--- a/graphics/pokemon/front_pics/ariados_still_front_pic.png
+++ b/graphics/pokemon/ariados/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ariados_icon.png b/graphics/pokemon/ariados/icon.png
index 4284968f2..4284968f2 100644
--- a/graphics/pokemon/icons/ariados_icon.png
+++ b/graphics/pokemon/ariados/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ariados_palette.pal b/graphics/pokemon/ariados/normal.pal
index ccf5f7fe7..ccf5f7fe7 100644
--- a/graphics/pokemon/palettes/ariados_palette.pal
+++ b/graphics/pokemon/ariados/normal.pal
diff --git a/graphics/pokemon/palettes/ariados_shiny_palette.pal b/graphics/pokemon/ariados/shiny.pal
index c2557b589..c2557b589 100644
--- a/graphics/pokemon/palettes/ariados_shiny_palette.pal
+++ b/graphics/pokemon/ariados/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/armaldo_front_pic.png b/graphics/pokemon/armaldo/anim_front.png
index 8f07191fb..8f07191fb 100644
--- a/graphics/pokemon/anim_front_pics/armaldo_front_pic.png
+++ b/graphics/pokemon/armaldo/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/armaldo_back_pic.png b/graphics/pokemon/armaldo/back.png
index 23c8c7113..23c8c7113 100644
--- a/graphics/pokemon/back_pics/armaldo_back_pic.png
+++ b/graphics/pokemon/armaldo/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/armaldo_footprint.png b/graphics/pokemon/armaldo/footprint.png
index d12d2e42c..d12d2e42c 100644
--- a/graphics/pokemon/footprints/armaldo_footprint.png
+++ b/graphics/pokemon/armaldo/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/armaldo_still_front_pic.png b/graphics/pokemon/armaldo/front.png
index 01b7ee08b..01b7ee08b 100644
--- a/graphics/pokemon/front_pics/armaldo_still_front_pic.png
+++ b/graphics/pokemon/armaldo/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/armaldo_icon.png b/graphics/pokemon/armaldo/icon.png
index ed3bb65f2..ed3bb65f2 100644
--- a/graphics/pokemon/icons/armaldo_icon.png
+++ b/graphics/pokemon/armaldo/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/armaldo_palette.pal b/graphics/pokemon/armaldo/normal.pal
index a6fc406b3..a6fc406b3 100644
--- a/graphics/pokemon/palettes/armaldo_palette.pal
+++ b/graphics/pokemon/armaldo/normal.pal
diff --git a/graphics/pokemon/palettes/armaldo_shiny_palette.pal b/graphics/pokemon/armaldo/shiny.pal
index e6d09d611..e6d09d611 100644
--- a/graphics/pokemon/palettes/armaldo_shiny_palette.pal
+++ b/graphics/pokemon/armaldo/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/aron_front_pic.png b/graphics/pokemon/aron/anim_front.png
index 928d118f0..928d118f0 100644
--- a/graphics/pokemon/anim_front_pics/aron_front_pic.png
+++ b/graphics/pokemon/aron/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/aron_back_pic.png b/graphics/pokemon/aron/back.png
index 330d46c42..330d46c42 100644
--- a/graphics/pokemon/back_pics/aron_back_pic.png
+++ b/graphics/pokemon/aron/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/aron_footprint.png b/graphics/pokemon/aron/footprint.png
index fe53cb5eb..fe53cb5eb 100644
--- a/graphics/pokemon/footprints/aron_footprint.png
+++ b/graphics/pokemon/aron/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/aron_still_front_pic.png b/graphics/pokemon/aron/front.png
index f3764ec2b..f3764ec2b 100644
--- a/graphics/pokemon/front_pics/aron_still_front_pic.png
+++ b/graphics/pokemon/aron/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/aron_icon.png b/graphics/pokemon/aron/icon.png
index 547846374..547846374 100644
--- a/graphics/pokemon/icons/aron_icon.png
+++ b/graphics/pokemon/aron/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/aron_palette.pal b/graphics/pokemon/aron/normal.pal
index b5711fdad..b5711fdad 100644
--- a/graphics/pokemon/palettes/aron_palette.pal
+++ b/graphics/pokemon/aron/normal.pal
diff --git a/graphics/pokemon/palettes/aron_shiny_palette.pal b/graphics/pokemon/aron/shiny.pal
index eadb9aa81..eadb9aa81 100644
--- a/graphics/pokemon/palettes/aron_shiny_palette.pal
+++ b/graphics/pokemon/aron/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/articuno_front_pic.png b/graphics/pokemon/articuno/anim_front.png
index 3e92cc8b3..3e92cc8b3 100644
--- a/graphics/pokemon/anim_front_pics/articuno_front_pic.png
+++ b/graphics/pokemon/articuno/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/articuno_back_pic.png b/graphics/pokemon/articuno/back.png
index 7e06ba84e..7e06ba84e 100644
--- a/graphics/pokemon/back_pics/articuno_back_pic.png
+++ b/graphics/pokemon/articuno/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/articuno_footprint.png b/graphics/pokemon/articuno/footprint.png
index e6e4fa9ef..e6e4fa9ef 100644
--- a/graphics/pokemon/footprints/articuno_footprint.png
+++ b/graphics/pokemon/articuno/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/articuno_still_front_pic.png b/graphics/pokemon/articuno/front.png
index e3c87eb9a..e3c87eb9a 100644
--- a/graphics/pokemon/front_pics/articuno_still_front_pic.png
+++ b/graphics/pokemon/articuno/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/articuno_icon.png b/graphics/pokemon/articuno/icon.png
index e2f19f133..e2f19f133 100644
--- a/graphics/pokemon/icons/articuno_icon.png
+++ b/graphics/pokemon/articuno/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/articuno_palette.pal b/graphics/pokemon/articuno/normal.pal
index 4dafc1203..4dafc1203 100644
--- a/graphics/pokemon/palettes/articuno_palette.pal
+++ b/graphics/pokemon/articuno/normal.pal
diff --git a/graphics/pokemon/palettes/articuno_shiny_palette.pal b/graphics/pokemon/articuno/shiny.pal
index bb1ccfa81..bb1ccfa81 100644
--- a/graphics/pokemon/palettes/articuno_shiny_palette.pal
+++ b/graphics/pokemon/articuno/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/azumarill_front_pic.png b/graphics/pokemon/azumarill/anim_front.png
index 9097edc43..9097edc43 100644
--- a/graphics/pokemon/anim_front_pics/azumarill_front_pic.png
+++ b/graphics/pokemon/azumarill/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/azumarill_back_pic.png b/graphics/pokemon/azumarill/back.png
index ca59011c6..ca59011c6 100644
--- a/graphics/pokemon/back_pics/azumarill_back_pic.png
+++ b/graphics/pokemon/azumarill/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/azumarill_footprint.png b/graphics/pokemon/azumarill/footprint.png
index 904bf941c..904bf941c 100644
--- a/graphics/pokemon/footprints/azumarill_footprint.png
+++ b/graphics/pokemon/azumarill/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/azumarill_still_front_pic.png b/graphics/pokemon/azumarill/front.png
index feb172d52..feb172d52 100644
--- a/graphics/pokemon/front_pics/azumarill_still_front_pic.png
+++ b/graphics/pokemon/azumarill/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/azumarill_icon.png b/graphics/pokemon/azumarill/icon.png
index f41d53d2c..f41d53d2c 100644
--- a/graphics/pokemon/icons/azumarill_icon.png
+++ b/graphics/pokemon/azumarill/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/azumarill_palette.pal b/graphics/pokemon/azumarill/normal.pal
index 429d3fecc..429d3fecc 100644
--- a/graphics/pokemon/palettes/azumarill_palette.pal
+++ b/graphics/pokemon/azumarill/normal.pal
diff --git a/graphics/pokemon/palettes/azumarill_shiny_palette.pal b/graphics/pokemon/azumarill/shiny.pal
index 5f185cecb..5f185cecb 100644
--- a/graphics/pokemon/palettes/azumarill_shiny_palette.pal
+++ b/graphics/pokemon/azumarill/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/azurill_front_pic.png b/graphics/pokemon/azurill/anim_front.png
index 212454b4e..212454b4e 100644
--- a/graphics/pokemon/anim_front_pics/azurill_front_pic.png
+++ b/graphics/pokemon/azurill/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/azurill_back_pic.png b/graphics/pokemon/azurill/back.png
index cf10bded4..cf10bded4 100644
--- a/graphics/pokemon/back_pics/azurill_back_pic.png
+++ b/graphics/pokemon/azurill/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/azurill_footprint.png b/graphics/pokemon/azurill/footprint.png
index 60db8e03b..60db8e03b 100644
--- a/graphics/pokemon/footprints/azurill_footprint.png
+++ b/graphics/pokemon/azurill/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/azurill_still_front_pic.png b/graphics/pokemon/azurill/front.png
index 02cc79a6c..02cc79a6c 100644
--- a/graphics/pokemon/front_pics/azurill_still_front_pic.png
+++ b/graphics/pokemon/azurill/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/azurill_icon.png b/graphics/pokemon/azurill/icon.png
index b69acc7fd..b69acc7fd 100644
--- a/graphics/pokemon/icons/azurill_icon.png
+++ b/graphics/pokemon/azurill/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/azurill_palette.pal b/graphics/pokemon/azurill/normal.pal
index 44214498f..44214498f 100644
--- a/graphics/pokemon/palettes/azurill_palette.pal
+++ b/graphics/pokemon/azurill/normal.pal
diff --git a/graphics/pokemon/palettes/azurill_shiny_palette.pal b/graphics/pokemon/azurill/shiny.pal
index bbc8d2f29..bbc8d2f29 100644
--- a/graphics/pokemon/palettes/azurill_shiny_palette.pal
+++ b/graphics/pokemon/azurill/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/bagon_front_pic.png b/graphics/pokemon/bagon/anim_front.png
index dfcae12bb..dfcae12bb 100644
--- a/graphics/pokemon/anim_front_pics/bagon_front_pic.png
+++ b/graphics/pokemon/bagon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/bagon_back_pic.png b/graphics/pokemon/bagon/back.png
index 0a058d768..0a058d768 100644
--- a/graphics/pokemon/back_pics/bagon_back_pic.png
+++ b/graphics/pokemon/bagon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/bagon_footprint.png b/graphics/pokemon/bagon/footprint.png
index 9a93a7564..9a93a7564 100644
--- a/graphics/pokemon/footprints/bagon_footprint.png
+++ b/graphics/pokemon/bagon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/bagon_still_front_pic.png b/graphics/pokemon/bagon/front.png
index 259872b72..259872b72 100644
--- a/graphics/pokemon/front_pics/bagon_still_front_pic.png
+++ b/graphics/pokemon/bagon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/bagon_icon.png b/graphics/pokemon/bagon/icon.png
index cc3af423f..cc3af423f 100644
--- a/graphics/pokemon/icons/bagon_icon.png
+++ b/graphics/pokemon/bagon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/bagon_palette.pal b/graphics/pokemon/bagon/normal.pal
index c71cdb94b..c71cdb94b 100644
--- a/graphics/pokemon/palettes/bagon_palette.pal
+++ b/graphics/pokemon/bagon/normal.pal
diff --git a/graphics/pokemon/palettes/bagon_shiny_palette.pal b/graphics/pokemon/bagon/shiny.pal
index 6cd8ce5ea..6cd8ce5ea 100644
--- a/graphics/pokemon/palettes/bagon_shiny_palette.pal
+++ b/graphics/pokemon/bagon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/baltoy_front_pic.png b/graphics/pokemon/baltoy/anim_front.png
index 94e7fc2c7..94e7fc2c7 100644
--- a/graphics/pokemon/anim_front_pics/baltoy_front_pic.png
+++ b/graphics/pokemon/baltoy/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/baltoy_back_pic.png b/graphics/pokemon/baltoy/back.png
index a8d124481..a8d124481 100644
--- a/graphics/pokemon/back_pics/baltoy_back_pic.png
+++ b/graphics/pokemon/baltoy/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/baltoy_footprint.png b/graphics/pokemon/baltoy/footprint.png
index 6965dbe60..6965dbe60 100644
--- a/graphics/pokemon/footprints/baltoy_footprint.png
+++ b/graphics/pokemon/baltoy/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/baltoy_still_front_pic.png b/graphics/pokemon/baltoy/front.png
index d161de265..d161de265 100644
--- a/graphics/pokemon/front_pics/baltoy_still_front_pic.png
+++ b/graphics/pokemon/baltoy/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/baltoy_icon.png b/graphics/pokemon/baltoy/icon.png
index 4ec3f35e9..4ec3f35e9 100644
--- a/graphics/pokemon/icons/baltoy_icon.png
+++ b/graphics/pokemon/baltoy/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/baltoy_palette.pal b/graphics/pokemon/baltoy/normal.pal
index 335657267..335657267 100644
--- a/graphics/pokemon/palettes/baltoy_palette.pal
+++ b/graphics/pokemon/baltoy/normal.pal
diff --git a/graphics/pokemon/palettes/baltoy_shiny_palette.pal b/graphics/pokemon/baltoy/shiny.pal
index 39cfa55ad..39cfa55ad 100644
--- a/graphics/pokemon/palettes/baltoy_shiny_palette.pal
+++ b/graphics/pokemon/baltoy/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/banette_front_pic.png b/graphics/pokemon/banette/anim_front.png
index 7d10d2c50..7d10d2c50 100644
--- a/graphics/pokemon/anim_front_pics/banette_front_pic.png
+++ b/graphics/pokemon/banette/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/banette_back_pic.png b/graphics/pokemon/banette/back.png
index 3ea5f30af..3ea5f30af 100644
--- a/graphics/pokemon/back_pics/banette_back_pic.png
+++ b/graphics/pokemon/banette/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/banette_footprint.png b/graphics/pokemon/banette/footprint.png
index a15814f2f..a15814f2f 100644
--- a/graphics/pokemon/footprints/banette_footprint.png
+++ b/graphics/pokemon/banette/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/banette_still_front_pic.png b/graphics/pokemon/banette/front.png
index be02be897..be02be897 100644
--- a/graphics/pokemon/front_pics/banette_still_front_pic.png
+++ b/graphics/pokemon/banette/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/banette_icon.png b/graphics/pokemon/banette/icon.png
index 3b5cbaed1..3b5cbaed1 100644
--- a/graphics/pokemon/icons/banette_icon.png
+++ b/graphics/pokemon/banette/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/banette_palette.pal b/graphics/pokemon/banette/normal.pal
index cebcb7757..cebcb7757 100644
--- a/graphics/pokemon/palettes/banette_palette.pal
+++ b/graphics/pokemon/banette/normal.pal
diff --git a/graphics/pokemon/palettes/banette_shiny_palette.pal b/graphics/pokemon/banette/shiny.pal
index b6df68803..b6df68803 100644
--- a/graphics/pokemon/palettes/banette_shiny_palette.pal
+++ b/graphics/pokemon/banette/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/barboach_front_pic.png b/graphics/pokemon/barboach/anim_front.png
index c8dfda78e..c8dfda78e 100644
--- a/graphics/pokemon/anim_front_pics/barboach_front_pic.png
+++ b/graphics/pokemon/barboach/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/barboach_back_pic.png b/graphics/pokemon/barboach/back.png
index 4fa892c53..4fa892c53 100644
--- a/graphics/pokemon/back_pics/barboach_back_pic.png
+++ b/graphics/pokemon/barboach/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/barboach_footprint.png b/graphics/pokemon/barboach/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/barboach_footprint.png
+++ b/graphics/pokemon/barboach/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/barboach_still_front_pic.png b/graphics/pokemon/barboach/front.png
index 150e6c086..150e6c086 100644
--- a/graphics/pokemon/front_pics/barboach_still_front_pic.png
+++ b/graphics/pokemon/barboach/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/barboach_icon.png b/graphics/pokemon/barboach/icon.png
index ad874daac..ad874daac 100644
--- a/graphics/pokemon/icons/barboach_icon.png
+++ b/graphics/pokemon/barboach/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/barboach_palette.pal b/graphics/pokemon/barboach/normal.pal
index 20167a557..20167a557 100644
--- a/graphics/pokemon/palettes/barboach_palette.pal
+++ b/graphics/pokemon/barboach/normal.pal
diff --git a/graphics/pokemon/palettes/barboach_shiny_palette.pal b/graphics/pokemon/barboach/shiny.pal
index e29a02099..e29a02099 100644
--- a/graphics/pokemon/palettes/barboach_shiny_palette.pal
+++ b/graphics/pokemon/barboach/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/bayleef_front_pic.png b/graphics/pokemon/bayleef/anim_front.png
index aa3606d43..aa3606d43 100644
--- a/graphics/pokemon/anim_front_pics/bayleef_front_pic.png
+++ b/graphics/pokemon/bayleef/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/bayleef_back_pic.png b/graphics/pokemon/bayleef/back.png
index 63ba17c5e..63ba17c5e 100644
--- a/graphics/pokemon/back_pics/bayleef_back_pic.png
+++ b/graphics/pokemon/bayleef/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/bayleef_footprint.png b/graphics/pokemon/bayleef/footprint.png
index 04b375a7a..04b375a7a 100644
--- a/graphics/pokemon/footprints/bayleef_footprint.png
+++ b/graphics/pokemon/bayleef/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/bayleef_still_front_pic.png b/graphics/pokemon/bayleef/front.png
index ad6713c61..ad6713c61 100644
--- a/graphics/pokemon/front_pics/bayleef_still_front_pic.png
+++ b/graphics/pokemon/bayleef/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/bayleef_icon.png b/graphics/pokemon/bayleef/icon.png
index 47d2774d6..47d2774d6 100644
--- a/graphics/pokemon/icons/bayleef_icon.png
+++ b/graphics/pokemon/bayleef/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/bayleef_palette.pal b/graphics/pokemon/bayleef/normal.pal
index 9fce32009..9fce32009 100644
--- a/graphics/pokemon/palettes/bayleef_palette.pal
+++ b/graphics/pokemon/bayleef/normal.pal
diff --git a/graphics/pokemon/palettes/bayleef_shiny_palette.pal b/graphics/pokemon/bayleef/shiny.pal
index 573c02e75..573c02e75 100644
--- a/graphics/pokemon/palettes/bayleef_shiny_palette.pal
+++ b/graphics/pokemon/bayleef/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/beautifly_front_pic.png b/graphics/pokemon/beautifly/anim_front.png
index 7c1cffea8..7c1cffea8 100644
--- a/graphics/pokemon/anim_front_pics/beautifly_front_pic.png
+++ b/graphics/pokemon/beautifly/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/beautifly_back_pic.png b/graphics/pokemon/beautifly/back.png
index 1eca6edc9..1eca6edc9 100644
--- a/graphics/pokemon/back_pics/beautifly_back_pic.png
+++ b/graphics/pokemon/beautifly/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/beautifly_footprint.png b/graphics/pokemon/beautifly/footprint.png
index 49175cb02..49175cb02 100644
--- a/graphics/pokemon/footprints/beautifly_footprint.png
+++ b/graphics/pokemon/beautifly/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/beautifly_still_front_pic.png b/graphics/pokemon/beautifly/front.png
index 89020c63a..89020c63a 100644
--- a/graphics/pokemon/front_pics/beautifly_still_front_pic.png
+++ b/graphics/pokemon/beautifly/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/beautifly_icon.png b/graphics/pokemon/beautifly/icon.png
index 346c5c906..346c5c906 100644
--- a/graphics/pokemon/icons/beautifly_icon.png
+++ b/graphics/pokemon/beautifly/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/beautifly_palette.pal b/graphics/pokemon/beautifly/normal.pal
index 65a02145f..65a02145f 100644
--- a/graphics/pokemon/palettes/beautifly_palette.pal
+++ b/graphics/pokemon/beautifly/normal.pal
diff --git a/graphics/pokemon/palettes/beautifly_shiny_palette.pal b/graphics/pokemon/beautifly/shiny.pal
index 9f0418187..9f0418187 100644
--- a/graphics/pokemon/palettes/beautifly_shiny_palette.pal
+++ b/graphics/pokemon/beautifly/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/beedrill_front_pic.png b/graphics/pokemon/beedrill/anim_front.png
index 169d14812..169d14812 100644
--- a/graphics/pokemon/anim_front_pics/beedrill_front_pic.png
+++ b/graphics/pokemon/beedrill/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/beedrill_back_pic.png b/graphics/pokemon/beedrill/back.png
index 166c399e5..166c399e5 100644
--- a/graphics/pokemon/back_pics/beedrill_back_pic.png
+++ b/graphics/pokemon/beedrill/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/beedrill_footprint.png b/graphics/pokemon/beedrill/footprint.png
index 5c3f21090..5c3f21090 100644
--- a/graphics/pokemon/footprints/beedrill_footprint.png
+++ b/graphics/pokemon/beedrill/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/beedrill_still_front_pic.png b/graphics/pokemon/beedrill/front.png
index 477b20b2e..477b20b2e 100644
--- a/graphics/pokemon/front_pics/beedrill_still_front_pic.png
+++ b/graphics/pokemon/beedrill/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/beedrill_icon.png b/graphics/pokemon/beedrill/icon.png
index d5e6471ab..d5e6471ab 100644
--- a/graphics/pokemon/icons/beedrill_icon.png
+++ b/graphics/pokemon/beedrill/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/beedrill_palette.pal b/graphics/pokemon/beedrill/normal.pal
index 24c875141..24c875141 100644
--- a/graphics/pokemon/palettes/beedrill_palette.pal
+++ b/graphics/pokemon/beedrill/normal.pal
diff --git a/graphics/pokemon/palettes/beedrill_shiny_palette.pal b/graphics/pokemon/beedrill/shiny.pal
index f35f264de..f35f264de 100644
--- a/graphics/pokemon/palettes/beedrill_shiny_palette.pal
+++ b/graphics/pokemon/beedrill/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/beldum_front_pic.png b/graphics/pokemon/beldum/anim_front.png
index 85d936d3e..85d936d3e 100644
--- a/graphics/pokemon/anim_front_pics/beldum_front_pic.png
+++ b/graphics/pokemon/beldum/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/beldum_back_pic.png b/graphics/pokemon/beldum/back.png
index 7a2cab465..7a2cab465 100644
--- a/graphics/pokemon/back_pics/beldum_back_pic.png
+++ b/graphics/pokemon/beldum/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/beldum_footprint.png b/graphics/pokemon/beldum/footprint.png
index 0554eedfe..0554eedfe 100644
--- a/graphics/pokemon/footprints/beldum_footprint.png
+++ b/graphics/pokemon/beldum/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/beldum_still_front_pic.png b/graphics/pokemon/beldum/front.png
index 1c2a04e68..1c2a04e68 100644
--- a/graphics/pokemon/front_pics/beldum_still_front_pic.png
+++ b/graphics/pokemon/beldum/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/beldum_icon.png b/graphics/pokemon/beldum/icon.png
index 346a0469d..346a0469d 100644
--- a/graphics/pokemon/icons/beldum_icon.png
+++ b/graphics/pokemon/beldum/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/beldum_palette.pal b/graphics/pokemon/beldum/normal.pal
index 41b48bc08..41b48bc08 100644
--- a/graphics/pokemon/palettes/beldum_palette.pal
+++ b/graphics/pokemon/beldum/normal.pal
diff --git a/graphics/pokemon/palettes/beldum_shiny_palette.pal b/graphics/pokemon/beldum/shiny.pal
index 8fc3bc4be..8fc3bc4be 100644
--- a/graphics/pokemon/palettes/beldum_shiny_palette.pal
+++ b/graphics/pokemon/beldum/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/bellossom_front_pic.png b/graphics/pokemon/bellossom/anim_front.png
index 1549e692b..1549e692b 100644
--- a/graphics/pokemon/anim_front_pics/bellossom_front_pic.png
+++ b/graphics/pokemon/bellossom/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/bellossom_back_pic.png b/graphics/pokemon/bellossom/back.png
index 2bd8b176e..2bd8b176e 100644
--- a/graphics/pokemon/back_pics/bellossom_back_pic.png
+++ b/graphics/pokemon/bellossom/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/bellossom_footprint.png b/graphics/pokemon/bellossom/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/bellossom_footprint.png
+++ b/graphics/pokemon/bellossom/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/bellossom_still_front_pic.png b/graphics/pokemon/bellossom/front.png
index 11ec4a08c..11ec4a08c 100644
--- a/graphics/pokemon/front_pics/bellossom_still_front_pic.png
+++ b/graphics/pokemon/bellossom/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/bellossom_icon.png b/graphics/pokemon/bellossom/icon.png
index 443d7a98c..443d7a98c 100644
--- a/graphics/pokemon/icons/bellossom_icon.png
+++ b/graphics/pokemon/bellossom/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/bellossom_palette.pal b/graphics/pokemon/bellossom/normal.pal
index 7b0591a62..7b0591a62 100644
--- a/graphics/pokemon/palettes/bellossom_palette.pal
+++ b/graphics/pokemon/bellossom/normal.pal
diff --git a/graphics/pokemon/palettes/bellossom_shiny_palette.pal b/graphics/pokemon/bellossom/shiny.pal
index 1f10af6fb..1f10af6fb 100644
--- a/graphics/pokemon/palettes/bellossom_shiny_palette.pal
+++ b/graphics/pokemon/bellossom/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/bellsprout_front_pic.png b/graphics/pokemon/bellsprout/anim_front.png
index 3fb2689a2..3fb2689a2 100644
--- a/graphics/pokemon/anim_front_pics/bellsprout_front_pic.png
+++ b/graphics/pokemon/bellsprout/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/bellsprout_back_pic.png b/graphics/pokemon/bellsprout/back.png
index e2a336696..e2a336696 100644
--- a/graphics/pokemon/back_pics/bellsprout_back_pic.png
+++ b/graphics/pokemon/bellsprout/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/bellsprout_footprint.png b/graphics/pokemon/bellsprout/footprint.png
index 8fcf4f4f4..8fcf4f4f4 100644
--- a/graphics/pokemon/footprints/bellsprout_footprint.png
+++ b/graphics/pokemon/bellsprout/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/bellsprout_still_front_pic.png b/graphics/pokemon/bellsprout/front.png
index b3a494b03..b3a494b03 100644
--- a/graphics/pokemon/front_pics/bellsprout_still_front_pic.png
+++ b/graphics/pokemon/bellsprout/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/bellsprout_icon.png b/graphics/pokemon/bellsprout/icon.png
index f67c94eec..f67c94eec 100644
--- a/graphics/pokemon/icons/bellsprout_icon.png
+++ b/graphics/pokemon/bellsprout/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/bellsprout_palette.pal b/graphics/pokemon/bellsprout/normal.pal
index 88ab00230..88ab00230 100644
--- a/graphics/pokemon/palettes/bellsprout_palette.pal
+++ b/graphics/pokemon/bellsprout/normal.pal
diff --git a/graphics/pokemon/palettes/bellsprout_shiny_palette.pal b/graphics/pokemon/bellsprout/shiny.pal
index 6a813078f..6a813078f 100644
--- a/graphics/pokemon/palettes/bellsprout_shiny_palette.pal
+++ b/graphics/pokemon/bellsprout/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/blastoise_front_pic.png b/graphics/pokemon/blastoise/anim_front.png
index 68b8bd7dd..68b8bd7dd 100644
--- a/graphics/pokemon/anim_front_pics/blastoise_front_pic.png
+++ b/graphics/pokemon/blastoise/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/blastoise_back_pic.png b/graphics/pokemon/blastoise/back.png
index abb14e565..abb14e565 100644
--- a/graphics/pokemon/back_pics/blastoise_back_pic.png
+++ b/graphics/pokemon/blastoise/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/blastoise_footprint.png b/graphics/pokemon/blastoise/footprint.png
index b881f9270..b881f9270 100644
--- a/graphics/pokemon/footprints/blastoise_footprint.png
+++ b/graphics/pokemon/blastoise/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/blastoise_still_front_pic.png b/graphics/pokemon/blastoise/front.png
index 060cec2f9..060cec2f9 100644
--- a/graphics/pokemon/front_pics/blastoise_still_front_pic.png
+++ b/graphics/pokemon/blastoise/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/blastoise_icon.png b/graphics/pokemon/blastoise/icon.png
index 253d4f8da..253d4f8da 100644
--- a/graphics/pokemon/icons/blastoise_icon.png
+++ b/graphics/pokemon/blastoise/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/blastoise_palette.pal b/graphics/pokemon/blastoise/normal.pal
index 632bbc021..632bbc021 100644
--- a/graphics/pokemon/palettes/blastoise_palette.pal
+++ b/graphics/pokemon/blastoise/normal.pal
diff --git a/graphics/pokemon/palettes/blastoise_shiny_palette.pal b/graphics/pokemon/blastoise/shiny.pal
index d0547a706..d0547a706 100644
--- a/graphics/pokemon/palettes/blastoise_shiny_palette.pal
+++ b/graphics/pokemon/blastoise/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/blaziken_front_pic.png b/graphics/pokemon/blaziken/anim_front.png
index 8639d034c..8639d034c 100644
--- a/graphics/pokemon/anim_front_pics/blaziken_front_pic.png
+++ b/graphics/pokemon/blaziken/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/blaziken_back_pic.png b/graphics/pokemon/blaziken/back.png
index cf89544c1..cf89544c1 100644
--- a/graphics/pokemon/back_pics/blaziken_back_pic.png
+++ b/graphics/pokemon/blaziken/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/blaziken_footprint.png b/graphics/pokemon/blaziken/footprint.png
index cf18a353a..cf18a353a 100644
--- a/graphics/pokemon/footprints/blaziken_footprint.png
+++ b/graphics/pokemon/blaziken/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/blaziken_still_front_pic.png b/graphics/pokemon/blaziken/front.png
index 7c8721171..7c8721171 100644
--- a/graphics/pokemon/front_pics/blaziken_still_front_pic.png
+++ b/graphics/pokemon/blaziken/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/blaziken_icon.png b/graphics/pokemon/blaziken/icon.png
index 6197cce23..6197cce23 100644
--- a/graphics/pokemon/icons/blaziken_icon.png
+++ b/graphics/pokemon/blaziken/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/blaziken_palette.pal b/graphics/pokemon/blaziken/normal.pal
index 64aaed794..64aaed794 100644
--- a/graphics/pokemon/palettes/blaziken_palette.pal
+++ b/graphics/pokemon/blaziken/normal.pal
diff --git a/graphics/pokemon/palettes/blaziken_shiny_palette.pal b/graphics/pokemon/blaziken/shiny.pal
index fea29cce8..fea29cce8 100644
--- a/graphics/pokemon/palettes/blaziken_shiny_palette.pal
+++ b/graphics/pokemon/blaziken/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/blissey_front_pic.png b/graphics/pokemon/blissey/anim_front.png
index 5692e36b2..5692e36b2 100644
--- a/graphics/pokemon/anim_front_pics/blissey_front_pic.png
+++ b/graphics/pokemon/blissey/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/blissey_back_pic.png b/graphics/pokemon/blissey/back.png
index 9823bd994..9823bd994 100644
--- a/graphics/pokemon/back_pics/blissey_back_pic.png
+++ b/graphics/pokemon/blissey/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/blissey_footprint.png b/graphics/pokemon/blissey/footprint.png
index 3da3dbf93..3da3dbf93 100644
--- a/graphics/pokemon/footprints/blissey_footprint.png
+++ b/graphics/pokemon/blissey/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/blissey_still_front_pic.png b/graphics/pokemon/blissey/front.png
index 3173f820c..3173f820c 100644
--- a/graphics/pokemon/front_pics/blissey_still_front_pic.png
+++ b/graphics/pokemon/blissey/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/blissey_icon.png b/graphics/pokemon/blissey/icon.png
index 44af9704c..44af9704c 100644
--- a/graphics/pokemon/icons/blissey_icon.png
+++ b/graphics/pokemon/blissey/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/blissey_palette.pal b/graphics/pokemon/blissey/normal.pal
index edeacbdaa..edeacbdaa 100644
--- a/graphics/pokemon/palettes/blissey_palette.pal
+++ b/graphics/pokemon/blissey/normal.pal
diff --git a/graphics/pokemon/palettes/blissey_shiny_palette.pal b/graphics/pokemon/blissey/shiny.pal
index d6d75db9e..d6d75db9e 100644
--- a/graphics/pokemon/palettes/blissey_shiny_palette.pal
+++ b/graphics/pokemon/blissey/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/breloom_front_pic.png b/graphics/pokemon/breloom/anim_front.png
index e4d7aab2f..e4d7aab2f 100644
--- a/graphics/pokemon/anim_front_pics/breloom_front_pic.png
+++ b/graphics/pokemon/breloom/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/breloom_back_pic.png b/graphics/pokemon/breloom/back.png
index 85df08040..85df08040 100644
--- a/graphics/pokemon/back_pics/breloom_back_pic.png
+++ b/graphics/pokemon/breloom/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/breloom_footprint.png b/graphics/pokemon/breloom/footprint.png
index 98d920669..98d920669 100644
--- a/graphics/pokemon/footprints/breloom_footprint.png
+++ b/graphics/pokemon/breloom/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/breloom_still_front_pic.png b/graphics/pokemon/breloom/front.png
index 932fdbad8..932fdbad8 100644
--- a/graphics/pokemon/front_pics/breloom_still_front_pic.png
+++ b/graphics/pokemon/breloom/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/breloom_icon.png b/graphics/pokemon/breloom/icon.png
index 314873a27..314873a27 100644
--- a/graphics/pokemon/icons/breloom_icon.png
+++ b/graphics/pokemon/breloom/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/breloom_palette.pal b/graphics/pokemon/breloom/normal.pal
index f01f5d947..f01f5d947 100644
--- a/graphics/pokemon/palettes/breloom_palette.pal
+++ b/graphics/pokemon/breloom/normal.pal
diff --git a/graphics/pokemon/palettes/breloom_shiny_palette.pal b/graphics/pokemon/breloom/shiny.pal
index ad89e65f2..ad89e65f2 100644
--- a/graphics/pokemon/palettes/breloom_shiny_palette.pal
+++ b/graphics/pokemon/breloom/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/bulbasaur_front_pic.png b/graphics/pokemon/bulbasaur/anim_front.png
index bb5fb3d23..bb5fb3d23 100644
--- a/graphics/pokemon/anim_front_pics/bulbasaur_front_pic.png
+++ b/graphics/pokemon/bulbasaur/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/bulbasaur_back_pic.png b/graphics/pokemon/bulbasaur/back.png
index f97806b58..f97806b58 100644
--- a/graphics/pokemon/back_pics/bulbasaur_back_pic.png
+++ b/graphics/pokemon/bulbasaur/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/bulbasaur_footprint.png b/graphics/pokemon/bulbasaur/footprint.png
index 8e9ab9c6b..8e9ab9c6b 100644
--- a/graphics/pokemon/footprints/bulbasaur_footprint.png
+++ b/graphics/pokemon/bulbasaur/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/bulbasaur_still_front_pic.png b/graphics/pokemon/bulbasaur/front.png
index 846545a26..846545a26 100644
--- a/graphics/pokemon/front_pics/bulbasaur_still_front_pic.png
+++ b/graphics/pokemon/bulbasaur/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/bulbasaur_icon.png b/graphics/pokemon/bulbasaur/icon.png
index 8d6fe1725..8d6fe1725 100644
--- a/graphics/pokemon/icons/bulbasaur_icon.png
+++ b/graphics/pokemon/bulbasaur/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/bulbasaur_palette.pal b/graphics/pokemon/bulbasaur/normal.pal
index 5147bd974..5147bd974 100644
--- a/graphics/pokemon/palettes/bulbasaur_palette.pal
+++ b/graphics/pokemon/bulbasaur/normal.pal
diff --git a/graphics/pokemon/palettes/bulbasaur_shiny_palette.pal b/graphics/pokemon/bulbasaur/shiny.pal
index 86a535831..86a535831 100644
--- a/graphics/pokemon/palettes/bulbasaur_shiny_palette.pal
+++ b/graphics/pokemon/bulbasaur/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/butterfree_front_pic.png b/graphics/pokemon/butterfree/anim_front.png
index 1626e11c0..1626e11c0 100644
--- a/graphics/pokemon/anim_front_pics/butterfree_front_pic.png
+++ b/graphics/pokemon/butterfree/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/butterfree_back_pic.png b/graphics/pokemon/butterfree/back.png
index 6887ed815..6887ed815 100644
--- a/graphics/pokemon/back_pics/butterfree_back_pic.png
+++ b/graphics/pokemon/butterfree/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/butterfree_footprint.png b/graphics/pokemon/butterfree/footprint.png
index b2740e9cc..b2740e9cc 100644
--- a/graphics/pokemon/footprints/butterfree_footprint.png
+++ b/graphics/pokemon/butterfree/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/butterfree_still_front_pic.png b/graphics/pokemon/butterfree/front.png
index 1a3d3d6ae..1a3d3d6ae 100644
--- a/graphics/pokemon/front_pics/butterfree_still_front_pic.png
+++ b/graphics/pokemon/butterfree/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/butterfree_icon.png b/graphics/pokemon/butterfree/icon.png
index 11c4a379f..11c4a379f 100644
--- a/graphics/pokemon/icons/butterfree_icon.png
+++ b/graphics/pokemon/butterfree/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/butterfree_palette.pal b/graphics/pokemon/butterfree/normal.pal
index a59d4a5d5..a59d4a5d5 100644
--- a/graphics/pokemon/palettes/butterfree_palette.pal
+++ b/graphics/pokemon/butterfree/normal.pal
diff --git a/graphics/pokemon/palettes/butterfree_shiny_palette.pal b/graphics/pokemon/butterfree/shiny.pal
index da1e68990..da1e68990 100644
--- a/graphics/pokemon/palettes/butterfree_shiny_palette.pal
+++ b/graphics/pokemon/butterfree/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/cacnea_front_pic.png b/graphics/pokemon/cacnea/anim_front.png
index ac3158742..ac3158742 100644
--- a/graphics/pokemon/anim_front_pics/cacnea_front_pic.png
+++ b/graphics/pokemon/cacnea/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/cacnea_back_pic.png b/graphics/pokemon/cacnea/back.png
index dbc804775..dbc804775 100644
--- a/graphics/pokemon/back_pics/cacnea_back_pic.png
+++ b/graphics/pokemon/cacnea/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/cacnea_footprint.png b/graphics/pokemon/cacnea/footprint.png
index 00b6a8a7e..00b6a8a7e 100644
--- a/graphics/pokemon/footprints/cacnea_footprint.png
+++ b/graphics/pokemon/cacnea/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/cacnea_still_front_pic.png b/graphics/pokemon/cacnea/front.png
index c57dce95f..c57dce95f 100644
--- a/graphics/pokemon/front_pics/cacnea_still_front_pic.png
+++ b/graphics/pokemon/cacnea/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/cacnea_icon.png b/graphics/pokemon/cacnea/icon.png
index 367f07668..367f07668 100644
--- a/graphics/pokemon/icons/cacnea_icon.png
+++ b/graphics/pokemon/cacnea/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/cacnea_palette.pal b/graphics/pokemon/cacnea/normal.pal
index 2bfc05a1e..2bfc05a1e 100644
--- a/graphics/pokemon/palettes/cacnea_palette.pal
+++ b/graphics/pokemon/cacnea/normal.pal
diff --git a/graphics/pokemon/palettes/cacnea_shiny_palette.pal b/graphics/pokemon/cacnea/shiny.pal
index 67e730f61..67e730f61 100644
--- a/graphics/pokemon/palettes/cacnea_shiny_palette.pal
+++ b/graphics/pokemon/cacnea/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/cacturne_front_pic.png b/graphics/pokemon/cacturne/anim_front.png
index 2ee1646e8..2ee1646e8 100644
--- a/graphics/pokemon/anim_front_pics/cacturne_front_pic.png
+++ b/graphics/pokemon/cacturne/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/cacturne_back_pic.png b/graphics/pokemon/cacturne/back.png
index 9a67227d0..9a67227d0 100644
--- a/graphics/pokemon/back_pics/cacturne_back_pic.png
+++ b/graphics/pokemon/cacturne/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/cacturne_footprint.png b/graphics/pokemon/cacturne/footprint.png
index 5441f92d6..5441f92d6 100644
--- a/graphics/pokemon/footprints/cacturne_footprint.png
+++ b/graphics/pokemon/cacturne/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/cacturne_still_front_pic.png b/graphics/pokemon/cacturne/front.png
index 80434c3c8..80434c3c8 100644
--- a/graphics/pokemon/front_pics/cacturne_still_front_pic.png
+++ b/graphics/pokemon/cacturne/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/cacturne_icon.png b/graphics/pokemon/cacturne/icon.png
index 948bea2d8..948bea2d8 100644
--- a/graphics/pokemon/icons/cacturne_icon.png
+++ b/graphics/pokemon/cacturne/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/cacturne_palette.pal b/graphics/pokemon/cacturne/normal.pal
index cd8281641..cd8281641 100644
--- a/graphics/pokemon/palettes/cacturne_palette.pal
+++ b/graphics/pokemon/cacturne/normal.pal
diff --git a/graphics/pokemon/palettes/cacturne_shiny_palette.pal b/graphics/pokemon/cacturne/shiny.pal
index 11914015b..11914015b 100644
--- a/graphics/pokemon/palettes/cacturne_shiny_palette.pal
+++ b/graphics/pokemon/cacturne/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/camerupt_front_pic.png b/graphics/pokemon/camerupt/anim_front.png
index b63d901ba..b63d901ba 100644
--- a/graphics/pokemon/anim_front_pics/camerupt_front_pic.png
+++ b/graphics/pokemon/camerupt/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/camerupt_back_pic.png b/graphics/pokemon/camerupt/back.png
index 3b1744755..3b1744755 100644
--- a/graphics/pokemon/back_pics/camerupt_back_pic.png
+++ b/graphics/pokemon/camerupt/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/camerupt_footprint.png b/graphics/pokemon/camerupt/footprint.png
index 40708b8a1..40708b8a1 100644
--- a/graphics/pokemon/footprints/camerupt_footprint.png
+++ b/graphics/pokemon/camerupt/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/camerupt_still_front_pic.png b/graphics/pokemon/camerupt/front.png
index ffd9ed0f2..ffd9ed0f2 100644
--- a/graphics/pokemon/front_pics/camerupt_still_front_pic.png
+++ b/graphics/pokemon/camerupt/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/camerupt_icon.png b/graphics/pokemon/camerupt/icon.png
index 372fc7ce0..372fc7ce0 100644
--- a/graphics/pokemon/icons/camerupt_icon.png
+++ b/graphics/pokemon/camerupt/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/camerupt_palette.pal b/graphics/pokemon/camerupt/normal.pal
index bd1096ff6..bd1096ff6 100644
--- a/graphics/pokemon/palettes/camerupt_palette.pal
+++ b/graphics/pokemon/camerupt/normal.pal
diff --git a/graphics/pokemon/palettes/camerupt_shiny_palette.pal b/graphics/pokemon/camerupt/shiny.pal
index c402d68dd..c402d68dd 100644
--- a/graphics/pokemon/palettes/camerupt_shiny_palette.pal
+++ b/graphics/pokemon/camerupt/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/carvanha_front_pic.png b/graphics/pokemon/carvanha/anim_front.png
index ec2df0cf9..ec2df0cf9 100644
--- a/graphics/pokemon/anim_front_pics/carvanha_front_pic.png
+++ b/graphics/pokemon/carvanha/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/carvanha_back_pic.png b/graphics/pokemon/carvanha/back.png
index cef8c25dd..cef8c25dd 100644
--- a/graphics/pokemon/back_pics/carvanha_back_pic.png
+++ b/graphics/pokemon/carvanha/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/carvanha_footprint.png b/graphics/pokemon/carvanha/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/carvanha_footprint.png
+++ b/graphics/pokemon/carvanha/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/carvanha_still_front_pic.png b/graphics/pokemon/carvanha/front.png
index f67f56cc7..f67f56cc7 100644
--- a/graphics/pokemon/front_pics/carvanha_still_front_pic.png
+++ b/graphics/pokemon/carvanha/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/carvanha_icon.png b/graphics/pokemon/carvanha/icon.png
index 6b0d48a8a..6b0d48a8a 100644
--- a/graphics/pokemon/icons/carvanha_icon.png
+++ b/graphics/pokemon/carvanha/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/carvanha_palette.pal b/graphics/pokemon/carvanha/normal.pal
index fbe24d28b..fbe24d28b 100644
--- a/graphics/pokemon/palettes/carvanha_palette.pal
+++ b/graphics/pokemon/carvanha/normal.pal
diff --git a/graphics/pokemon/palettes/carvanha_shiny_palette.pal b/graphics/pokemon/carvanha/shiny.pal
index 0e0cb9268..0e0cb9268 100644
--- a/graphics/pokemon/palettes/carvanha_shiny_palette.pal
+++ b/graphics/pokemon/carvanha/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/cascoon_front_pic.png b/graphics/pokemon/cascoon/anim_front.png
index 19080ba2c..19080ba2c 100644
--- a/graphics/pokemon/anim_front_pics/cascoon_front_pic.png
+++ b/graphics/pokemon/cascoon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/cascoon_back_pic.png b/graphics/pokemon/cascoon/back.png
index fb6bc2955..fb6bc2955 100644
--- a/graphics/pokemon/back_pics/cascoon_back_pic.png
+++ b/graphics/pokemon/cascoon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/cascoon_footprint.png b/graphics/pokemon/cascoon/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/cascoon_footprint.png
+++ b/graphics/pokemon/cascoon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/cascoon_still_front_pic.png b/graphics/pokemon/cascoon/front.png
index 474610aac..474610aac 100644
--- a/graphics/pokemon/front_pics/cascoon_still_front_pic.png
+++ b/graphics/pokemon/cascoon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/cascoon_icon.png b/graphics/pokemon/cascoon/icon.png
index 4d49506c0..4d49506c0 100644
--- a/graphics/pokemon/icons/cascoon_icon.png
+++ b/graphics/pokemon/cascoon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/cascoon_palette.pal b/graphics/pokemon/cascoon/normal.pal
index 05dceb931..05dceb931 100644
--- a/graphics/pokemon/palettes/cascoon_palette.pal
+++ b/graphics/pokemon/cascoon/normal.pal
diff --git a/graphics/pokemon/palettes/cascoon_shiny_palette.pal b/graphics/pokemon/cascoon/shiny.pal
index e8b230ed1..e8b230ed1 100644
--- a/graphics/pokemon/palettes/cascoon_shiny_palette.pal
+++ b/graphics/pokemon/cascoon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/castform_normal_form_front_pic.png b/graphics/pokemon/castform/anim_front_normal_form.png
index 39bfaf426..39bfaf426 100644
--- a/graphics/pokemon/anim_front_pics/castform_normal_form_front_pic.png
+++ b/graphics/pokemon/castform/anim_front_normal_form.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/castform_rainy_form_front_pic.png b/graphics/pokemon/castform/anim_front_rainy_form.png
index 155374035..155374035 100644
--- a/graphics/pokemon/anim_front_pics/castform_rainy_form_front_pic.png
+++ b/graphics/pokemon/castform/anim_front_rainy_form.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/castform_snowy_form_front_pic.png b/graphics/pokemon/castform/anim_front_snowy_form.png
index a75bf647e..a75bf647e 100644
--- a/graphics/pokemon/anim_front_pics/castform_snowy_form_front_pic.png
+++ b/graphics/pokemon/castform/anim_front_snowy_form.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/castform_sunny_form_front_pic.png b/graphics/pokemon/castform/anim_front_sunny_form.png
index 7e14f9892..7e14f9892 100644
--- a/graphics/pokemon/anim_front_pics/castform_sunny_form_front_pic.png
+++ b/graphics/pokemon/castform/anim_front_sunny_form.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/castform_normal_form_back_pic.png b/graphics/pokemon/castform/back_normal_form.png
index 6348a35e8..6348a35e8 100644
--- a/graphics/pokemon/back_pics/castform_normal_form_back_pic.png
+++ b/graphics/pokemon/castform/back_normal_form.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/castform_rainy_form_back_pic.png b/graphics/pokemon/castform/back_rainy_form.png
index 70bad9130..70bad9130 100644
--- a/graphics/pokemon/back_pics/castform_rainy_form_back_pic.png
+++ b/graphics/pokemon/castform/back_rainy_form.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/castform_snowy_form_back_pic.png b/graphics/pokemon/castform/back_snowy_form.png
index b4f27cbe6..b4f27cbe6 100644
--- a/graphics/pokemon/back_pics/castform_snowy_form_back_pic.png
+++ b/graphics/pokemon/castform/back_snowy_form.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/castform_sunny_form_back_pic.png b/graphics/pokemon/castform/back_sunny_form.png
index 83b27298a..83b27298a 100644
--- a/graphics/pokemon/back_pics/castform_sunny_form_back_pic.png
+++ b/graphics/pokemon/castform/back_sunny_form.png
Binary files differ
diff --git a/graphics/pokemon/footprints/castform_footprint.png b/graphics/pokemon/castform/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/castform_footprint.png
+++ b/graphics/pokemon/castform/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/castform_normal_form_still_front_pic.png b/graphics/pokemon/castform/front_normal_form.png
index 39bfaf426..39bfaf426 100644
--- a/graphics/pokemon/front_pics/castform_normal_form_still_front_pic.png
+++ b/graphics/pokemon/castform/front_normal_form.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/castform_rainy_form_still_front_pic.png b/graphics/pokemon/castform/front_rainy_form.png
index 155374035..155374035 100644
--- a/graphics/pokemon/front_pics/castform_rainy_form_still_front_pic.png
+++ b/graphics/pokemon/castform/front_rainy_form.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/castform_snowy_form_still_front_pic.png b/graphics/pokemon/castform/front_snowy_form.png
index a75bf647e..a75bf647e 100644
--- a/graphics/pokemon/front_pics/castform_snowy_form_still_front_pic.png
+++ b/graphics/pokemon/castform/front_snowy_form.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/castform_sunny_form_still_front_pic.png b/graphics/pokemon/castform/front_sunny_form.png
index 7e14f9892..7e14f9892 100644
--- a/graphics/pokemon/front_pics/castform_sunny_form_still_front_pic.png
+++ b/graphics/pokemon/castform/front_sunny_form.png
Binary files differ
diff --git a/graphics/pokemon/icons/castform_icon.png b/graphics/pokemon/castform/icon.png
index 56c62ad07..56c62ad07 100644
--- a/graphics/pokemon/icons/castform_icon.png
+++ b/graphics/pokemon/castform/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/castform_normal_form_palette.pal b/graphics/pokemon/castform/normal_normal_form.pal
index 3fe2b7692..3fe2b7692 100644
--- a/graphics/pokemon/palettes/castform_normal_form_palette.pal
+++ b/graphics/pokemon/castform/normal_normal_form.pal
diff --git a/graphics/pokemon/palettes/castform_rainy_form_palette.pal b/graphics/pokemon/castform/normal_rainy_form.pal
index 914cdac62..914cdac62 100644
--- a/graphics/pokemon/palettes/castform_rainy_form_palette.pal
+++ b/graphics/pokemon/castform/normal_rainy_form.pal
diff --git a/graphics/pokemon/palettes/castform_snowy_form_palette.pal b/graphics/pokemon/castform/normal_snowy_form.pal
index d1c64ac75..d1c64ac75 100644
--- a/graphics/pokemon/palettes/castform_snowy_form_palette.pal
+++ b/graphics/pokemon/castform/normal_snowy_form.pal
diff --git a/graphics/pokemon/palettes/castform_sunny_form_palette.pal b/graphics/pokemon/castform/normal_sunny_form.pal
index af0cfbb93..af0cfbb93 100644
--- a/graphics/pokemon/palettes/castform_sunny_form_palette.pal
+++ b/graphics/pokemon/castform/normal_sunny_form.pal
diff --git a/graphics/pokemon/palettes/castform_normal_form_shiny_palette.pal b/graphics/pokemon/castform/shiny_normal_form.pal
index 2fa401dd6..2fa401dd6 100644
--- a/graphics/pokemon/palettes/castform_normal_form_shiny_palette.pal
+++ b/graphics/pokemon/castform/shiny_normal_form.pal
diff --git a/graphics/pokemon/palettes/castform_rainy_form_shiny_palette.pal b/graphics/pokemon/castform/shiny_rainy_form.pal
index 914cdac62..914cdac62 100644
--- a/graphics/pokemon/palettes/castform_rainy_form_shiny_palette.pal
+++ b/graphics/pokemon/castform/shiny_rainy_form.pal
diff --git a/graphics/pokemon/palettes/castform_snowy_form_shiny_palette.pal b/graphics/pokemon/castform/shiny_snowy_form.pal
index d1c64ac75..d1c64ac75 100644
--- a/graphics/pokemon/palettes/castform_snowy_form_shiny_palette.pal
+++ b/graphics/pokemon/castform/shiny_snowy_form.pal
diff --git a/graphics/pokemon/palettes/castform_sunny_form_shiny_palette.pal b/graphics/pokemon/castform/shiny_sunny_form.pal
index af0cfbb93..af0cfbb93 100644
--- a/graphics/pokemon/palettes/castform_sunny_form_shiny_palette.pal
+++ b/graphics/pokemon/castform/shiny_sunny_form.pal
diff --git a/graphics/pokemon/anim_front_pics/caterpie_front_pic.png b/graphics/pokemon/caterpie/anim_front.png
index 602b7e30f..602b7e30f 100644
--- a/graphics/pokemon/anim_front_pics/caterpie_front_pic.png
+++ b/graphics/pokemon/caterpie/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/caterpie_back_pic.png b/graphics/pokemon/caterpie/back.png
index 801748d1c..801748d1c 100644
--- a/graphics/pokemon/back_pics/caterpie_back_pic.png
+++ b/graphics/pokemon/caterpie/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/caterpie_footprint.png b/graphics/pokemon/caterpie/footprint.png
index c1c0058e7..c1c0058e7 100644
--- a/graphics/pokemon/footprints/caterpie_footprint.png
+++ b/graphics/pokemon/caterpie/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/caterpie_still_front_pic.png b/graphics/pokemon/caterpie/front.png
index b8b3ce00d..b8b3ce00d 100644
--- a/graphics/pokemon/front_pics/caterpie_still_front_pic.png
+++ b/graphics/pokemon/caterpie/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/caterpie_icon.png b/graphics/pokemon/caterpie/icon.png
index be20669c3..be20669c3 100644
--- a/graphics/pokemon/icons/caterpie_icon.png
+++ b/graphics/pokemon/caterpie/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/caterpie_palette.pal b/graphics/pokemon/caterpie/normal.pal
index c672687ac..c672687ac 100644
--- a/graphics/pokemon/palettes/caterpie_palette.pal
+++ b/graphics/pokemon/caterpie/normal.pal
diff --git a/graphics/pokemon/palettes/caterpie_shiny_palette.pal b/graphics/pokemon/caterpie/shiny.pal
index 4b797001e..4b797001e 100644
--- a/graphics/pokemon/palettes/caterpie_shiny_palette.pal
+++ b/graphics/pokemon/caterpie/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/celebi_front_pic.png b/graphics/pokemon/celebi/anim_front.png
index e4b6a9d61..e4b6a9d61 100644
--- a/graphics/pokemon/anim_front_pics/celebi_front_pic.png
+++ b/graphics/pokemon/celebi/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/celebi_back_pic.png b/graphics/pokemon/celebi/back.png
index c43e455dc..c43e455dc 100644
--- a/graphics/pokemon/back_pics/celebi_back_pic.png
+++ b/graphics/pokemon/celebi/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/celebi_footprint.png b/graphics/pokemon/celebi/footprint.png
index 11aa4301c..11aa4301c 100644
--- a/graphics/pokemon/footprints/celebi_footprint.png
+++ b/graphics/pokemon/celebi/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/celebi_still_front_pic.png b/graphics/pokemon/celebi/front.png
index 1717f2561..1717f2561 100644
--- a/graphics/pokemon/front_pics/celebi_still_front_pic.png
+++ b/graphics/pokemon/celebi/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/celebi_icon.png b/graphics/pokemon/celebi/icon.png
index 245d580f7..245d580f7 100644
--- a/graphics/pokemon/icons/celebi_icon.png
+++ b/graphics/pokemon/celebi/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/celebi_palette.pal b/graphics/pokemon/celebi/normal.pal
index aed1b3ec2..aed1b3ec2 100644
--- a/graphics/pokemon/palettes/celebi_palette.pal
+++ b/graphics/pokemon/celebi/normal.pal
diff --git a/graphics/pokemon/palettes/celebi_shiny_palette.pal b/graphics/pokemon/celebi/shiny.pal
index b90d6ed43..b90d6ed43 100644
--- a/graphics/pokemon/palettes/celebi_shiny_palette.pal
+++ b/graphics/pokemon/celebi/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/chansey_front_pic.png b/graphics/pokemon/chansey/anim_front.png
index 1fa9b268d..1fa9b268d 100644
--- a/graphics/pokemon/anim_front_pics/chansey_front_pic.png
+++ b/graphics/pokemon/chansey/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/chansey_back_pic.png b/graphics/pokemon/chansey/back.png
index db61e1c11..db61e1c11 100644
--- a/graphics/pokemon/back_pics/chansey_back_pic.png
+++ b/graphics/pokemon/chansey/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/chansey_footprint.png b/graphics/pokemon/chansey/footprint.png
index 17893b9fb..17893b9fb 100644
--- a/graphics/pokemon/footprints/chansey_footprint.png
+++ b/graphics/pokemon/chansey/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/chansey_still_front_pic.png b/graphics/pokemon/chansey/front.png
index a8e26bc01..a8e26bc01 100644
--- a/graphics/pokemon/front_pics/chansey_still_front_pic.png
+++ b/graphics/pokemon/chansey/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/chansey_icon.png b/graphics/pokemon/chansey/icon.png
index 4083185b0..4083185b0 100644
--- a/graphics/pokemon/icons/chansey_icon.png
+++ b/graphics/pokemon/chansey/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/chansey_palette.pal b/graphics/pokemon/chansey/normal.pal
index 556aaa5e1..556aaa5e1 100644
--- a/graphics/pokemon/palettes/chansey_palette.pal
+++ b/graphics/pokemon/chansey/normal.pal
diff --git a/graphics/pokemon/palettes/chansey_shiny_palette.pal b/graphics/pokemon/chansey/shiny.pal
index e8107f8d5..e8107f8d5 100644
--- a/graphics/pokemon/palettes/chansey_shiny_palette.pal
+++ b/graphics/pokemon/chansey/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/charizard_front_pic.png b/graphics/pokemon/charizard/anim_front.png
index b3ed32338..b3ed32338 100644
--- a/graphics/pokemon/anim_front_pics/charizard_front_pic.png
+++ b/graphics/pokemon/charizard/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/charizard_back_pic.png b/graphics/pokemon/charizard/back.png
index 22cf6b043..22cf6b043 100644
--- a/graphics/pokemon/back_pics/charizard_back_pic.png
+++ b/graphics/pokemon/charizard/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/charizard_footprint.png b/graphics/pokemon/charizard/footprint.png
index e69f38392..e69f38392 100644
--- a/graphics/pokemon/footprints/charizard_footprint.png
+++ b/graphics/pokemon/charizard/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/charizard_still_front_pic.png b/graphics/pokemon/charizard/front.png
index 892c26c5d..892c26c5d 100644
--- a/graphics/pokemon/front_pics/charizard_still_front_pic.png
+++ b/graphics/pokemon/charizard/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/charizard_icon.png b/graphics/pokemon/charizard/icon.png
index 9c8140887..9c8140887 100644
--- a/graphics/pokemon/icons/charizard_icon.png
+++ b/graphics/pokemon/charizard/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/charizard_palette.pal b/graphics/pokemon/charizard/normal.pal
index 154a0f0c5..154a0f0c5 100644
--- a/graphics/pokemon/palettes/charizard_palette.pal
+++ b/graphics/pokemon/charizard/normal.pal
diff --git a/graphics/pokemon/palettes/charizard_shiny_palette.pal b/graphics/pokemon/charizard/shiny.pal
index 0704ae619..0704ae619 100644
--- a/graphics/pokemon/palettes/charizard_shiny_palette.pal
+++ b/graphics/pokemon/charizard/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/charmander_front_pic.png b/graphics/pokemon/charmander/anim_front.png
index b4f1a3c73..b4f1a3c73 100644
--- a/graphics/pokemon/anim_front_pics/charmander_front_pic.png
+++ b/graphics/pokemon/charmander/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/charmander_back_pic.png b/graphics/pokemon/charmander/back.png
index 9e3eb944e..9e3eb944e 100644
--- a/graphics/pokemon/back_pics/charmander_back_pic.png
+++ b/graphics/pokemon/charmander/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/charmander_footprint.png b/graphics/pokemon/charmander/footprint.png
index 2f7723621..2f7723621 100644
--- a/graphics/pokemon/footprints/charmander_footprint.png
+++ b/graphics/pokemon/charmander/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/charmander_still_front_pic.png b/graphics/pokemon/charmander/front.png
index b697f7ec2..b697f7ec2 100644
--- a/graphics/pokemon/front_pics/charmander_still_front_pic.png
+++ b/graphics/pokemon/charmander/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/charmander_icon.png b/graphics/pokemon/charmander/icon.png
index c3fa4fde4..c3fa4fde4 100644
--- a/graphics/pokemon/icons/charmander_icon.png
+++ b/graphics/pokemon/charmander/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/charmander_palette.pal b/graphics/pokemon/charmander/normal.pal
index 1e542aa48..1e542aa48 100644
--- a/graphics/pokemon/palettes/charmander_palette.pal
+++ b/graphics/pokemon/charmander/normal.pal
diff --git a/graphics/pokemon/palettes/charmander_shiny_palette.pal b/graphics/pokemon/charmander/shiny.pal
index 3b5bff449..3b5bff449 100644
--- a/graphics/pokemon/palettes/charmander_shiny_palette.pal
+++ b/graphics/pokemon/charmander/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/charmeleon_front_pic.png b/graphics/pokemon/charmeleon/anim_front.png
index 909f4f394..909f4f394 100644
--- a/graphics/pokemon/anim_front_pics/charmeleon_front_pic.png
+++ b/graphics/pokemon/charmeleon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/charmeleon_back_pic.png b/graphics/pokemon/charmeleon/back.png
index d2fb0c776..d2fb0c776 100644
--- a/graphics/pokemon/back_pics/charmeleon_back_pic.png
+++ b/graphics/pokemon/charmeleon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/charmeleon_footprint.png b/graphics/pokemon/charmeleon/footprint.png
index 6ec15ee20..6ec15ee20 100644
--- a/graphics/pokemon/footprints/charmeleon_footprint.png
+++ b/graphics/pokemon/charmeleon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/charmeleon_still_front_pic.png b/graphics/pokemon/charmeleon/front.png
index f2eb19033..f2eb19033 100644
--- a/graphics/pokemon/front_pics/charmeleon_still_front_pic.png
+++ b/graphics/pokemon/charmeleon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/charmeleon_icon.png b/graphics/pokemon/charmeleon/icon.png
index 0f1550d0c..0f1550d0c 100644
--- a/graphics/pokemon/icons/charmeleon_icon.png
+++ b/graphics/pokemon/charmeleon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/charmeleon_palette.pal b/graphics/pokemon/charmeleon/normal.pal
index 400b49d5c..400b49d5c 100644
--- a/graphics/pokemon/palettes/charmeleon_palette.pal
+++ b/graphics/pokemon/charmeleon/normal.pal
diff --git a/graphics/pokemon/palettes/charmeleon_shiny_palette.pal b/graphics/pokemon/charmeleon/shiny.pal
index 7b7b96e79..7b7b96e79 100644
--- a/graphics/pokemon/palettes/charmeleon_shiny_palette.pal
+++ b/graphics/pokemon/charmeleon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/chikorita_front_pic.png b/graphics/pokemon/chikorita/anim_front.png
index fcc5174d2..fcc5174d2 100644
--- a/graphics/pokemon/anim_front_pics/chikorita_front_pic.png
+++ b/graphics/pokemon/chikorita/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/chikorita_back_pic.png b/graphics/pokemon/chikorita/back.png
index 18c3569bf..18c3569bf 100644
--- a/graphics/pokemon/back_pics/chikorita_back_pic.png
+++ b/graphics/pokemon/chikorita/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/chikorita_footprint.png b/graphics/pokemon/chikorita/footprint.png
index 3ac4abd9f..3ac4abd9f 100644
--- a/graphics/pokemon/footprints/chikorita_footprint.png
+++ b/graphics/pokemon/chikorita/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/chikorita_still_front_pic.png b/graphics/pokemon/chikorita/front.png
index 80f5dc9ab..80f5dc9ab 100644
--- a/graphics/pokemon/front_pics/chikorita_still_front_pic.png
+++ b/graphics/pokemon/chikorita/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/chikorita_icon.png b/graphics/pokemon/chikorita/icon.png
index f9bc40d0e..f9bc40d0e 100644
--- a/graphics/pokemon/icons/chikorita_icon.png
+++ b/graphics/pokemon/chikorita/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/chikorita_palette.pal b/graphics/pokemon/chikorita/normal.pal
index 9bca4c3eb..9bca4c3eb 100644
--- a/graphics/pokemon/palettes/chikorita_palette.pal
+++ b/graphics/pokemon/chikorita/normal.pal
diff --git a/graphics/pokemon/palettes/chikorita_shiny_palette.pal b/graphics/pokemon/chikorita/shiny.pal
index d7ecae6fb..d7ecae6fb 100644
--- a/graphics/pokemon/palettes/chikorita_shiny_palette.pal
+++ b/graphics/pokemon/chikorita/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/chimecho_front_pic.png b/graphics/pokemon/chimecho/anim_front.png
index 26acbd0a0..26acbd0a0 100644
--- a/graphics/pokemon/anim_front_pics/chimecho_front_pic.png
+++ b/graphics/pokemon/chimecho/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/chimecho_back_pic.png b/graphics/pokemon/chimecho/back.png
index 7a3fedacb..7a3fedacb 100644
--- a/graphics/pokemon/back_pics/chimecho_back_pic.png
+++ b/graphics/pokemon/chimecho/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/chimecho_footprint.png b/graphics/pokemon/chimecho/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/chimecho_footprint.png
+++ b/graphics/pokemon/chimecho/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/chimecho_still_front_pic.png b/graphics/pokemon/chimecho/front.png
index 534bec4d7..534bec4d7 100644
--- a/graphics/pokemon/front_pics/chimecho_still_front_pic.png
+++ b/graphics/pokemon/chimecho/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/chimecho_icon.png b/graphics/pokemon/chimecho/icon.png
index 11b2d93b2..11b2d93b2 100644
--- a/graphics/pokemon/icons/chimecho_icon.png
+++ b/graphics/pokemon/chimecho/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/chimecho_palette.pal b/graphics/pokemon/chimecho/normal.pal
index 9dd34b7c4..9dd34b7c4 100644
--- a/graphics/pokemon/palettes/chimecho_palette.pal
+++ b/graphics/pokemon/chimecho/normal.pal
diff --git a/graphics/pokemon/palettes/chimecho_shiny_palette.pal b/graphics/pokemon/chimecho/shiny.pal
index 44983802b..44983802b 100644
--- a/graphics/pokemon/palettes/chimecho_shiny_palette.pal
+++ b/graphics/pokemon/chimecho/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/chinchou_front_pic.png b/graphics/pokemon/chinchou/anim_front.png
index a573e6985..a573e6985 100644
--- a/graphics/pokemon/anim_front_pics/chinchou_front_pic.png
+++ b/graphics/pokemon/chinchou/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/chinchou_back_pic.png b/graphics/pokemon/chinchou/back.png
index a3b11b2dc..a3b11b2dc 100644
--- a/graphics/pokemon/back_pics/chinchou_back_pic.png
+++ b/graphics/pokemon/chinchou/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/chinchou_footprint.png b/graphics/pokemon/chinchou/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/chinchou_footprint.png
+++ b/graphics/pokemon/chinchou/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/chinchou_still_front_pic.png b/graphics/pokemon/chinchou/front.png
index 7bb954382..7bb954382 100644
--- a/graphics/pokemon/front_pics/chinchou_still_front_pic.png
+++ b/graphics/pokemon/chinchou/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/chinchou_icon.png b/graphics/pokemon/chinchou/icon.png
index 1b585204b..1b585204b 100644
--- a/graphics/pokemon/icons/chinchou_icon.png
+++ b/graphics/pokemon/chinchou/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/chinchou_palette.pal b/graphics/pokemon/chinchou/normal.pal
index fc382ddbb..fc382ddbb 100644
--- a/graphics/pokemon/palettes/chinchou_palette.pal
+++ b/graphics/pokemon/chinchou/normal.pal
diff --git a/graphics/pokemon/palettes/chinchou_shiny_palette.pal b/graphics/pokemon/chinchou/shiny.pal
index babb78178..babb78178 100644
--- a/graphics/pokemon/palettes/chinchou_shiny_palette.pal
+++ b/graphics/pokemon/chinchou/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/circled_question_mark_front_pic.png b/graphics/pokemon/circled_question_mark/anim_front.png
index 9eb27931e..9eb27931e 100644
--- a/graphics/pokemon/anim_front_pics/circled_question_mark_front_pic.png
+++ b/graphics/pokemon/circled_question_mark/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/circled_question_mark_back_pic.png b/graphics/pokemon/circled_question_mark/back.png
index 3056402db..3056402db 100644
--- a/graphics/pokemon/back_pics/circled_question_mark_back_pic.png
+++ b/graphics/pokemon/circled_question_mark/back.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/circled_question_mark_still_front_pic.png b/graphics/pokemon/circled_question_mark/front.png
index 3056402db..3056402db 100644
--- a/graphics/pokemon/front_pics/circled_question_mark_still_front_pic.png
+++ b/graphics/pokemon/circled_question_mark/front.png
Binary files differ
diff --git a/graphics/pokemon/palettes/circled_question_mark_palette.pal b/graphics/pokemon/circled_question_mark/normal.pal
index 681f1cefe..681f1cefe 100644
--- a/graphics/pokemon/palettes/circled_question_mark_palette.pal
+++ b/graphics/pokemon/circled_question_mark/normal.pal
diff --git a/graphics/pokemon/palettes/circled_question_mark_shiny_palette.pal b/graphics/pokemon/circled_question_mark/shiny.pal
index aa8d08dc3..aa8d08dc3 100644
--- a/graphics/pokemon/palettes/circled_question_mark_shiny_palette.pal
+++ b/graphics/pokemon/circled_question_mark/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/clamperl_front_pic.png b/graphics/pokemon/clamperl/anim_front.png
index 21e547219..21e547219 100644
--- a/graphics/pokemon/anim_front_pics/clamperl_front_pic.png
+++ b/graphics/pokemon/clamperl/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/clamperl_back_pic.png b/graphics/pokemon/clamperl/back.png
index 5b1324473..5b1324473 100644
--- a/graphics/pokemon/back_pics/clamperl_back_pic.png
+++ b/graphics/pokemon/clamperl/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/clamperl_footprint.png b/graphics/pokemon/clamperl/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/clamperl_footprint.png
+++ b/graphics/pokemon/clamperl/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/clamperl_still_front_pic.png b/graphics/pokemon/clamperl/front.png
index 1cfe4d4f8..1cfe4d4f8 100644
--- a/graphics/pokemon/front_pics/clamperl_still_front_pic.png
+++ b/graphics/pokemon/clamperl/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/clamperl_icon.png b/graphics/pokemon/clamperl/icon.png
index fabcd9641..fabcd9641 100644
--- a/graphics/pokemon/icons/clamperl_icon.png
+++ b/graphics/pokemon/clamperl/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/clamperl_palette.pal b/graphics/pokemon/clamperl/normal.pal
index 84d730399..84d730399 100644
--- a/graphics/pokemon/palettes/clamperl_palette.pal
+++ b/graphics/pokemon/clamperl/normal.pal
diff --git a/graphics/pokemon/palettes/clamperl_shiny_palette.pal b/graphics/pokemon/clamperl/shiny.pal
index d479da971..d479da971 100644
--- a/graphics/pokemon/palettes/clamperl_shiny_palette.pal
+++ b/graphics/pokemon/clamperl/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/claydol_front_pic.png b/graphics/pokemon/claydol/anim_front.png
index 034ff3262..034ff3262 100644
--- a/graphics/pokemon/anim_front_pics/claydol_front_pic.png
+++ b/graphics/pokemon/claydol/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/claydol_back_pic.png b/graphics/pokemon/claydol/back.png
index 9fdd6e0c2..9fdd6e0c2 100644
--- a/graphics/pokemon/back_pics/claydol_back_pic.png
+++ b/graphics/pokemon/claydol/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/claydol_footprint.png b/graphics/pokemon/claydol/footprint.png
index 2f0bca1ac..2f0bca1ac 100644
--- a/graphics/pokemon/footprints/claydol_footprint.png
+++ b/graphics/pokemon/claydol/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/claydol_still_front_pic.png b/graphics/pokemon/claydol/front.png
index ea8e2cf74..ea8e2cf74 100644
--- a/graphics/pokemon/front_pics/claydol_still_front_pic.png
+++ b/graphics/pokemon/claydol/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/claydol_icon.png b/graphics/pokemon/claydol/icon.png
index 3f3f04ead..3f3f04ead 100644
--- a/graphics/pokemon/icons/claydol_icon.png
+++ b/graphics/pokemon/claydol/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/claydol_palette.pal b/graphics/pokemon/claydol/normal.pal
index cd7f876c5..cd7f876c5 100644
--- a/graphics/pokemon/palettes/claydol_palette.pal
+++ b/graphics/pokemon/claydol/normal.pal
diff --git a/graphics/pokemon/palettes/claydol_shiny_palette.pal b/graphics/pokemon/claydol/shiny.pal
index e4203b19b..e4203b19b 100644
--- a/graphics/pokemon/palettes/claydol_shiny_palette.pal
+++ b/graphics/pokemon/claydol/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/clefable_front_pic.png b/graphics/pokemon/clefable/anim_front.png
index ee7af0d1b..ee7af0d1b 100644
--- a/graphics/pokemon/anim_front_pics/clefable_front_pic.png
+++ b/graphics/pokemon/clefable/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/clefable_back_pic.png b/graphics/pokemon/clefable/back.png
index 42592b8d7..42592b8d7 100644
--- a/graphics/pokemon/back_pics/clefable_back_pic.png
+++ b/graphics/pokemon/clefable/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/clefable_footprint.png b/graphics/pokemon/clefable/footprint.png
index 5ff3e19a1..5ff3e19a1 100644
--- a/graphics/pokemon/footprints/clefable_footprint.png
+++ b/graphics/pokemon/clefable/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/clefable_still_front_pic.png b/graphics/pokemon/clefable/front.png
index e1894fdfa..e1894fdfa 100644
--- a/graphics/pokemon/front_pics/clefable_still_front_pic.png
+++ b/graphics/pokemon/clefable/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/clefable_icon.png b/graphics/pokemon/clefable/icon.png
index 4078e2854..4078e2854 100644
--- a/graphics/pokemon/icons/clefable_icon.png
+++ b/graphics/pokemon/clefable/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/clefable_palette.pal b/graphics/pokemon/clefable/normal.pal
index 0befc3d13..0befc3d13 100644
--- a/graphics/pokemon/palettes/clefable_palette.pal
+++ b/graphics/pokemon/clefable/normal.pal
diff --git a/graphics/pokemon/palettes/clefable_shiny_palette.pal b/graphics/pokemon/clefable/shiny.pal
index d89afdc81..d89afdc81 100644
--- a/graphics/pokemon/palettes/clefable_shiny_palette.pal
+++ b/graphics/pokemon/clefable/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/clefairy_front_pic.png b/graphics/pokemon/clefairy/anim_front.png
index 633414022..633414022 100644
--- a/graphics/pokemon/anim_front_pics/clefairy_front_pic.png
+++ b/graphics/pokemon/clefairy/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/clefairy_back_pic.png b/graphics/pokemon/clefairy/back.png
index 6720a7865..6720a7865 100644
--- a/graphics/pokemon/back_pics/clefairy_back_pic.png
+++ b/graphics/pokemon/clefairy/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/clefairy_footprint.png b/graphics/pokemon/clefairy/footprint.png
index 85c25a5dc..85c25a5dc 100644
--- a/graphics/pokemon/footprints/clefairy_footprint.png
+++ b/graphics/pokemon/clefairy/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/clefairy_still_front_pic.png b/graphics/pokemon/clefairy/front.png
index faa5af32d..faa5af32d 100644
--- a/graphics/pokemon/front_pics/clefairy_still_front_pic.png
+++ b/graphics/pokemon/clefairy/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/clefairy_icon.png b/graphics/pokemon/clefairy/icon.png
index 7895bb93c..7895bb93c 100644
--- a/graphics/pokemon/icons/clefairy_icon.png
+++ b/graphics/pokemon/clefairy/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/clefairy_palette.pal b/graphics/pokemon/clefairy/normal.pal
index 7a7bcf171..7a7bcf171 100644
--- a/graphics/pokemon/palettes/clefairy_palette.pal
+++ b/graphics/pokemon/clefairy/normal.pal
diff --git a/graphics/pokemon/palettes/clefairy_shiny_palette.pal b/graphics/pokemon/clefairy/shiny.pal
index 7cb5d7bfc..7cb5d7bfc 100644
--- a/graphics/pokemon/palettes/clefairy_shiny_palette.pal
+++ b/graphics/pokemon/clefairy/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/cleffa_front_pic.png b/graphics/pokemon/cleffa/anim_front.png
index 19256d078..19256d078 100644
--- a/graphics/pokemon/anim_front_pics/cleffa_front_pic.png
+++ b/graphics/pokemon/cleffa/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/cleffa_back_pic.png b/graphics/pokemon/cleffa/back.png
index b110614e1..b110614e1 100644
--- a/graphics/pokemon/back_pics/cleffa_back_pic.png
+++ b/graphics/pokemon/cleffa/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/cleffa_footprint.png b/graphics/pokemon/cleffa/footprint.png
index 4bf9339ae..4bf9339ae 100644
--- a/graphics/pokemon/footprints/cleffa_footprint.png
+++ b/graphics/pokemon/cleffa/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/cleffa_still_front_pic.png b/graphics/pokemon/cleffa/front.png
index 82b6c103b..82b6c103b 100644
--- a/graphics/pokemon/front_pics/cleffa_still_front_pic.png
+++ b/graphics/pokemon/cleffa/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/cleffa_icon.png b/graphics/pokemon/cleffa/icon.png
index e866394f0..e866394f0 100644
--- a/graphics/pokemon/icons/cleffa_icon.png
+++ b/graphics/pokemon/cleffa/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/cleffa_palette.pal b/graphics/pokemon/cleffa/normal.pal
index 757446357..757446357 100644
--- a/graphics/pokemon/palettes/cleffa_palette.pal
+++ b/graphics/pokemon/cleffa/normal.pal
diff --git a/graphics/pokemon/palettes/cleffa_shiny_palette.pal b/graphics/pokemon/cleffa/shiny.pal
index 1af070d66..1af070d66 100644
--- a/graphics/pokemon/palettes/cleffa_shiny_palette.pal
+++ b/graphics/pokemon/cleffa/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/cloyster_front_pic.png b/graphics/pokemon/cloyster/anim_front.png
index e6331a126..e6331a126 100644
--- a/graphics/pokemon/anim_front_pics/cloyster_front_pic.png
+++ b/graphics/pokemon/cloyster/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/cloyster_back_pic.png b/graphics/pokemon/cloyster/back.png
index fa69b7b59..fa69b7b59 100644
--- a/graphics/pokemon/back_pics/cloyster_back_pic.png
+++ b/graphics/pokemon/cloyster/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/cloyster_footprint.png b/graphics/pokemon/cloyster/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/cloyster_footprint.png
+++ b/graphics/pokemon/cloyster/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/cloyster_still_front_pic.png b/graphics/pokemon/cloyster/front.png
index 7390f523d..7390f523d 100644
--- a/graphics/pokemon/front_pics/cloyster_still_front_pic.png
+++ b/graphics/pokemon/cloyster/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/cloyster_icon.png b/graphics/pokemon/cloyster/icon.png
index 71ca401c4..71ca401c4 100644
--- a/graphics/pokemon/icons/cloyster_icon.png
+++ b/graphics/pokemon/cloyster/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/cloyster_palette.pal b/graphics/pokemon/cloyster/normal.pal
index a53db8d44..a53db8d44 100644
--- a/graphics/pokemon/palettes/cloyster_palette.pal
+++ b/graphics/pokemon/cloyster/normal.pal
diff --git a/graphics/pokemon/palettes/cloyster_shiny_palette.pal b/graphics/pokemon/cloyster/shiny.pal
index 8a0d5bd4b..8a0d5bd4b 100644
--- a/graphics/pokemon/palettes/cloyster_shiny_palette.pal
+++ b/graphics/pokemon/cloyster/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/combusken_front_pic.png b/graphics/pokemon/combusken/anim_front.png
index ffa1748b3..ffa1748b3 100644
--- a/graphics/pokemon/anim_front_pics/combusken_front_pic.png
+++ b/graphics/pokemon/combusken/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/combusken_back_pic.png b/graphics/pokemon/combusken/back.png
index 6c6d094dd..6c6d094dd 100644
--- a/graphics/pokemon/back_pics/combusken_back_pic.png
+++ b/graphics/pokemon/combusken/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/combusken_footprint.png b/graphics/pokemon/combusken/footprint.png
index 6b66429d8..6b66429d8 100644
--- a/graphics/pokemon/footprints/combusken_footprint.png
+++ b/graphics/pokemon/combusken/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/combusken_still_front_pic.png b/graphics/pokemon/combusken/front.png
index 5852709f3..5852709f3 100644
--- a/graphics/pokemon/front_pics/combusken_still_front_pic.png
+++ b/graphics/pokemon/combusken/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/combusken_icon.png b/graphics/pokemon/combusken/icon.png
index 3cdd0f5c1..3cdd0f5c1 100644
--- a/graphics/pokemon/icons/combusken_icon.png
+++ b/graphics/pokemon/combusken/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/combusken_palette.pal b/graphics/pokemon/combusken/normal.pal
index 7327dbece..7327dbece 100644
--- a/graphics/pokemon/palettes/combusken_palette.pal
+++ b/graphics/pokemon/combusken/normal.pal
diff --git a/graphics/pokemon/palettes/combusken_shiny_palette.pal b/graphics/pokemon/combusken/shiny.pal
index 6fbb74b08..6fbb74b08 100644
--- a/graphics/pokemon/palettes/combusken_shiny_palette.pal
+++ b/graphics/pokemon/combusken/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/corphish_front_pic.png b/graphics/pokemon/corphish/anim_front.png
index 8e8ac3d23..8e8ac3d23 100644
--- a/graphics/pokemon/anim_front_pics/corphish_front_pic.png
+++ b/graphics/pokemon/corphish/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/corphish_back_pic.png b/graphics/pokemon/corphish/back.png
index 01d603778..01d603778 100644
--- a/graphics/pokemon/back_pics/corphish_back_pic.png
+++ b/graphics/pokemon/corphish/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/corphish_footprint.png b/graphics/pokemon/corphish/footprint.png
index f624724c7..f624724c7 100644
--- a/graphics/pokemon/footprints/corphish_footprint.png
+++ b/graphics/pokemon/corphish/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/corphish_still_front_pic.png b/graphics/pokemon/corphish/front.png
index f8a06a67c..f8a06a67c 100644
--- a/graphics/pokemon/front_pics/corphish_still_front_pic.png
+++ b/graphics/pokemon/corphish/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/corphish_icon.png b/graphics/pokemon/corphish/icon.png
index f14b262d2..f14b262d2 100644
--- a/graphics/pokemon/icons/corphish_icon.png
+++ b/graphics/pokemon/corphish/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/corphish_palette.pal b/graphics/pokemon/corphish/normal.pal
index 0fd4ea330..0fd4ea330 100644
--- a/graphics/pokemon/palettes/corphish_palette.pal
+++ b/graphics/pokemon/corphish/normal.pal
diff --git a/graphics/pokemon/palettes/corphish_shiny_palette.pal b/graphics/pokemon/corphish/shiny.pal
index a3eb45805..a3eb45805 100644
--- a/graphics/pokemon/palettes/corphish_shiny_palette.pal
+++ b/graphics/pokemon/corphish/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/corsola_front_pic.png b/graphics/pokemon/corsola/anim_front.png
index c37d0e054..c37d0e054 100644
--- a/graphics/pokemon/anim_front_pics/corsola_front_pic.png
+++ b/graphics/pokemon/corsola/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/corsola_back_pic.png b/graphics/pokemon/corsola/back.png
index d15f330fc..d15f330fc 100644
--- a/graphics/pokemon/back_pics/corsola_back_pic.png
+++ b/graphics/pokemon/corsola/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/corsola_footprint.png b/graphics/pokemon/corsola/footprint.png
index bae0aaf92..bae0aaf92 100644
--- a/graphics/pokemon/footprints/corsola_footprint.png
+++ b/graphics/pokemon/corsola/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/corsola_still_front_pic.png b/graphics/pokemon/corsola/front.png
index 550ddbbe3..550ddbbe3 100644
--- a/graphics/pokemon/front_pics/corsola_still_front_pic.png
+++ b/graphics/pokemon/corsola/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/corsola_icon.png b/graphics/pokemon/corsola/icon.png
index dd2d2e82e..dd2d2e82e 100644
--- a/graphics/pokemon/icons/corsola_icon.png
+++ b/graphics/pokemon/corsola/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/corsola_palette.pal b/graphics/pokemon/corsola/normal.pal
index 95c7616fe..95c7616fe 100644
--- a/graphics/pokemon/palettes/corsola_palette.pal
+++ b/graphics/pokemon/corsola/normal.pal
diff --git a/graphics/pokemon/palettes/corsola_shiny_palette.pal b/graphics/pokemon/corsola/shiny.pal
index 13daa4e26..13daa4e26 100644
--- a/graphics/pokemon/palettes/corsola_shiny_palette.pal
+++ b/graphics/pokemon/corsola/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/cradily_front_pic.png b/graphics/pokemon/cradily/anim_front.png
index b38c51c8e..b38c51c8e 100644
--- a/graphics/pokemon/anim_front_pics/cradily_front_pic.png
+++ b/graphics/pokemon/cradily/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/cradily_back_pic.png b/graphics/pokemon/cradily/back.png
index 338c7f0ba..338c7f0ba 100644
--- a/graphics/pokemon/back_pics/cradily_back_pic.png
+++ b/graphics/pokemon/cradily/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/cradily_footprint.png b/graphics/pokemon/cradily/footprint.png
index 998229dc7..998229dc7 100644
--- a/graphics/pokemon/footprints/cradily_footprint.png
+++ b/graphics/pokemon/cradily/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/cradily_still_front_pic.png b/graphics/pokemon/cradily/front.png
index 0bc94d6a3..0bc94d6a3 100644
--- a/graphics/pokemon/front_pics/cradily_still_front_pic.png
+++ b/graphics/pokemon/cradily/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/cradily_icon.png b/graphics/pokemon/cradily/icon.png
index ea57b45f1..ea57b45f1 100644
--- a/graphics/pokemon/icons/cradily_icon.png
+++ b/graphics/pokemon/cradily/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/cradily_palette.pal b/graphics/pokemon/cradily/normal.pal
index 9167eb879..9167eb879 100644
--- a/graphics/pokemon/palettes/cradily_palette.pal
+++ b/graphics/pokemon/cradily/normal.pal
diff --git a/graphics/pokemon/palettes/cradily_shiny_palette.pal b/graphics/pokemon/cradily/shiny.pal
index 32a3b9e8f..32a3b9e8f 100644
--- a/graphics/pokemon/palettes/cradily_shiny_palette.pal
+++ b/graphics/pokemon/cradily/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/crawdaunt_front_pic.png b/graphics/pokemon/crawdaunt/anim_front.png
index f150b6d15..f150b6d15 100644
--- a/graphics/pokemon/anim_front_pics/crawdaunt_front_pic.png
+++ b/graphics/pokemon/crawdaunt/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/crawdaunt_back_pic.png b/graphics/pokemon/crawdaunt/back.png
index f96f2c488..f96f2c488 100644
--- a/graphics/pokemon/back_pics/crawdaunt_back_pic.png
+++ b/graphics/pokemon/crawdaunt/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/crawdaunt_footprint.png b/graphics/pokemon/crawdaunt/footprint.png
index 9169e2807..9169e2807 100644
--- a/graphics/pokemon/footprints/crawdaunt_footprint.png
+++ b/graphics/pokemon/crawdaunt/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/crawdaunt_still_front_pic.png b/graphics/pokemon/crawdaunt/front.png
index 88ee71100..88ee71100 100644
--- a/graphics/pokemon/front_pics/crawdaunt_still_front_pic.png
+++ b/graphics/pokemon/crawdaunt/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/crawdaunt_icon.png b/graphics/pokemon/crawdaunt/icon.png
index 605482d25..605482d25 100644
--- a/graphics/pokemon/icons/crawdaunt_icon.png
+++ b/graphics/pokemon/crawdaunt/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/crawdaunt_palette.pal b/graphics/pokemon/crawdaunt/normal.pal
index 7fe04e329..7fe04e329 100644
--- a/graphics/pokemon/palettes/crawdaunt_palette.pal
+++ b/graphics/pokemon/crawdaunt/normal.pal
diff --git a/graphics/pokemon/palettes/crawdaunt_shiny_palette.pal b/graphics/pokemon/crawdaunt/shiny.pal
index 21b58b2a0..21b58b2a0 100644
--- a/graphics/pokemon/palettes/crawdaunt_shiny_palette.pal
+++ b/graphics/pokemon/crawdaunt/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/crobat_front_pic.png b/graphics/pokemon/crobat/anim_front.png
index 1843423b7..1843423b7 100644
--- a/graphics/pokemon/anim_front_pics/crobat_front_pic.png
+++ b/graphics/pokemon/crobat/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/crobat_back_pic.png b/graphics/pokemon/crobat/back.png
index d14ecec7b..d14ecec7b 100644
--- a/graphics/pokemon/back_pics/crobat_back_pic.png
+++ b/graphics/pokemon/crobat/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/crobat_footprint.png b/graphics/pokemon/crobat/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/crobat_footprint.png
+++ b/graphics/pokemon/crobat/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/crobat_still_front_pic.png b/graphics/pokemon/crobat/front.png
index b61cdebe7..b61cdebe7 100644
--- a/graphics/pokemon/front_pics/crobat_still_front_pic.png
+++ b/graphics/pokemon/crobat/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/crobat_icon.png b/graphics/pokemon/crobat/icon.png
index 817951dd0..817951dd0 100644
--- a/graphics/pokemon/icons/crobat_icon.png
+++ b/graphics/pokemon/crobat/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/crobat_palette.pal b/graphics/pokemon/crobat/normal.pal
index 9c466e9e8..9c466e9e8 100644
--- a/graphics/pokemon/palettes/crobat_palette.pal
+++ b/graphics/pokemon/crobat/normal.pal
diff --git a/graphics/pokemon/palettes/crobat_shiny_palette.pal b/graphics/pokemon/crobat/shiny.pal
index 8f22fd4b0..8f22fd4b0 100644
--- a/graphics/pokemon/palettes/crobat_shiny_palette.pal
+++ b/graphics/pokemon/crobat/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/croconaw_front_pic.png b/graphics/pokemon/croconaw/anim_front.png
index e7d23841b..e7d23841b 100644
--- a/graphics/pokemon/anim_front_pics/croconaw_front_pic.png
+++ b/graphics/pokemon/croconaw/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/croconaw_back_pic.png b/graphics/pokemon/croconaw/back.png
index 991be60bc..991be60bc 100644
--- a/graphics/pokemon/back_pics/croconaw_back_pic.png
+++ b/graphics/pokemon/croconaw/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/croconaw_footprint.png b/graphics/pokemon/croconaw/footprint.png
index 43da8e68e..43da8e68e 100644
--- a/graphics/pokemon/footprints/croconaw_footprint.png
+++ b/graphics/pokemon/croconaw/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/croconaw_still_front_pic.png b/graphics/pokemon/croconaw/front.png
index 585be79f4..585be79f4 100644
--- a/graphics/pokemon/front_pics/croconaw_still_front_pic.png
+++ b/graphics/pokemon/croconaw/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/croconaw_icon.png b/graphics/pokemon/croconaw/icon.png
index 6f57e5656..6f57e5656 100644
--- a/graphics/pokemon/icons/croconaw_icon.png
+++ b/graphics/pokemon/croconaw/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/croconaw_palette.pal b/graphics/pokemon/croconaw/normal.pal
index 2e64441a4..2e64441a4 100644
--- a/graphics/pokemon/palettes/croconaw_palette.pal
+++ b/graphics/pokemon/croconaw/normal.pal
diff --git a/graphics/pokemon/palettes/croconaw_shiny_palette.pal b/graphics/pokemon/croconaw/shiny.pal
index 847f2ed29..847f2ed29 100644
--- a/graphics/pokemon/palettes/croconaw_shiny_palette.pal
+++ b/graphics/pokemon/croconaw/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/cubone_front_pic.png b/graphics/pokemon/cubone/anim_front.png
index 42fd8be2c..42fd8be2c 100644
--- a/graphics/pokemon/anim_front_pics/cubone_front_pic.png
+++ b/graphics/pokemon/cubone/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/cubone_back_pic.png b/graphics/pokemon/cubone/back.png
index a7b879b40..a7b879b40 100644
--- a/graphics/pokemon/back_pics/cubone_back_pic.png
+++ b/graphics/pokemon/cubone/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/cubone_footprint.png b/graphics/pokemon/cubone/footprint.png
index 21deee1a6..21deee1a6 100644
--- a/graphics/pokemon/footprints/cubone_footprint.png
+++ b/graphics/pokemon/cubone/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/cubone_still_front_pic.png b/graphics/pokemon/cubone/front.png
index 3ce31c79c..3ce31c79c 100644
--- a/graphics/pokemon/front_pics/cubone_still_front_pic.png
+++ b/graphics/pokemon/cubone/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/cubone_icon.png b/graphics/pokemon/cubone/icon.png
index 679d8e7e5..679d8e7e5 100644
--- a/graphics/pokemon/icons/cubone_icon.png
+++ b/graphics/pokemon/cubone/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/cubone_palette.pal b/graphics/pokemon/cubone/normal.pal
index faaeef75c..faaeef75c 100644
--- a/graphics/pokemon/palettes/cubone_palette.pal
+++ b/graphics/pokemon/cubone/normal.pal
diff --git a/graphics/pokemon/palettes/cubone_shiny_palette.pal b/graphics/pokemon/cubone/shiny.pal
index 51b6bc8ba..51b6bc8ba 100644
--- a/graphics/pokemon/palettes/cubone_shiny_palette.pal
+++ b/graphics/pokemon/cubone/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/cyndaquil_front_pic.png b/graphics/pokemon/cyndaquil/anim_front.png
index 3974d5b40..3974d5b40 100644
--- a/graphics/pokemon/anim_front_pics/cyndaquil_front_pic.png
+++ b/graphics/pokemon/cyndaquil/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/cyndaquil_back_pic.png b/graphics/pokemon/cyndaquil/back.png
index cfc64164e..cfc64164e 100644
--- a/graphics/pokemon/back_pics/cyndaquil_back_pic.png
+++ b/graphics/pokemon/cyndaquil/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/cyndaquil_footprint.png b/graphics/pokemon/cyndaquil/footprint.png
index 6413cbaae..6413cbaae 100644
--- a/graphics/pokemon/footprints/cyndaquil_footprint.png
+++ b/graphics/pokemon/cyndaquil/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/cyndaquil_still_front_pic.png b/graphics/pokemon/cyndaquil/front.png
index 1a31da433..1a31da433 100644
--- a/graphics/pokemon/front_pics/cyndaquil_still_front_pic.png
+++ b/graphics/pokemon/cyndaquil/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/cyndaquil_icon.png b/graphics/pokemon/cyndaquil/icon.png
index 5f174dcf1..5f174dcf1 100644
--- a/graphics/pokemon/icons/cyndaquil_icon.png
+++ b/graphics/pokemon/cyndaquil/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/cyndaquil_palette.pal b/graphics/pokemon/cyndaquil/normal.pal
index 46fb06347..46fb06347 100644
--- a/graphics/pokemon/palettes/cyndaquil_palette.pal
+++ b/graphics/pokemon/cyndaquil/normal.pal
diff --git a/graphics/pokemon/palettes/cyndaquil_shiny_palette.pal b/graphics/pokemon/cyndaquil/shiny.pal
index 14e35dbc5..14e35dbc5 100644
--- a/graphics/pokemon/palettes/cyndaquil_shiny_palette.pal
+++ b/graphics/pokemon/cyndaquil/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/delcatty_front_pic.png b/graphics/pokemon/delcatty/anim_front.png
index ca4bad007..ca4bad007 100644
--- a/graphics/pokemon/anim_front_pics/delcatty_front_pic.png
+++ b/graphics/pokemon/delcatty/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/delcatty_back_pic.png b/graphics/pokemon/delcatty/back.png
index 38bcfd5a7..38bcfd5a7 100644
--- a/graphics/pokemon/back_pics/delcatty_back_pic.png
+++ b/graphics/pokemon/delcatty/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/delcatty_footprint.png b/graphics/pokemon/delcatty/footprint.png
index 5ff40e5a0..5ff40e5a0 100644
--- a/graphics/pokemon/footprints/delcatty_footprint.png
+++ b/graphics/pokemon/delcatty/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/delcatty_still_front_pic.png b/graphics/pokemon/delcatty/front.png
index bfb7f3894..bfb7f3894 100644
--- a/graphics/pokemon/front_pics/delcatty_still_front_pic.png
+++ b/graphics/pokemon/delcatty/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/delcatty_icon.png b/graphics/pokemon/delcatty/icon.png
index b5d874a88..b5d874a88 100644
--- a/graphics/pokemon/icons/delcatty_icon.png
+++ b/graphics/pokemon/delcatty/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/delcatty_palette.pal b/graphics/pokemon/delcatty/normal.pal
index 7d7d44e12..7d7d44e12 100644
--- a/graphics/pokemon/palettes/delcatty_palette.pal
+++ b/graphics/pokemon/delcatty/normal.pal
diff --git a/graphics/pokemon/palettes/delcatty_shiny_palette.pal b/graphics/pokemon/delcatty/shiny.pal
index caf7d7be8..caf7d7be8 100644
--- a/graphics/pokemon/palettes/delcatty_shiny_palette.pal
+++ b/graphics/pokemon/delcatty/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/delibird_front_pic.png b/graphics/pokemon/delibird/anim_front.png
index 43ba20e19..43ba20e19 100644
--- a/graphics/pokemon/anim_front_pics/delibird_front_pic.png
+++ b/graphics/pokemon/delibird/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/delibird_back_pic.png b/graphics/pokemon/delibird/back.png
index b4dccb119..b4dccb119 100644
--- a/graphics/pokemon/back_pics/delibird_back_pic.png
+++ b/graphics/pokemon/delibird/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/delibird_footprint.png b/graphics/pokemon/delibird/footprint.png
index e7348586e..e7348586e 100644
--- a/graphics/pokemon/footprints/delibird_footprint.png
+++ b/graphics/pokemon/delibird/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/delibird_still_front_pic.png b/graphics/pokemon/delibird/front.png
index b31baa203..b31baa203 100644
--- a/graphics/pokemon/front_pics/delibird_still_front_pic.png
+++ b/graphics/pokemon/delibird/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/delibird_icon.png b/graphics/pokemon/delibird/icon.png
index 438f80863..438f80863 100644
--- a/graphics/pokemon/icons/delibird_icon.png
+++ b/graphics/pokemon/delibird/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/delibird_palette.pal b/graphics/pokemon/delibird/normal.pal
index a975e93d3..a975e93d3 100644
--- a/graphics/pokemon/palettes/delibird_palette.pal
+++ b/graphics/pokemon/delibird/normal.pal
diff --git a/graphics/pokemon/palettes/delibird_shiny_palette.pal b/graphics/pokemon/delibird/shiny.pal
index f94267729..f94267729 100644
--- a/graphics/pokemon/palettes/delibird_shiny_palette.pal
+++ b/graphics/pokemon/delibird/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/deoxys_front_pic.png b/graphics/pokemon/deoxys/anim_front.png
index dc7faf915..dc7faf915 100644
--- a/graphics/pokemon/anim_front_pics/deoxys_front_pic.png
+++ b/graphics/pokemon/deoxys/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/deoxys_back_pic.png b/graphics/pokemon/deoxys/back.png
index d8ba065fd..d8ba065fd 100644
--- a/graphics/pokemon/back_pics/deoxys_back_pic.png
+++ b/graphics/pokemon/deoxys/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/deoxys_footprint.png b/graphics/pokemon/deoxys/footprint.png
index ea97e4014..ea97e4014 100644
--- a/graphics/pokemon/footprints/deoxys_footprint.png
+++ b/graphics/pokemon/deoxys/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/deoxys_still_front_pic.png b/graphics/pokemon/deoxys/front.png
index 4b3b5fa6b..4b3b5fa6b 100644
--- a/graphics/pokemon/front_pics/deoxys_still_front_pic.png
+++ b/graphics/pokemon/deoxys/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/deoxys_icon.png b/graphics/pokemon/deoxys/icon.png
index 18735fc72..18735fc72 100644
--- a/graphics/pokemon/icons/deoxys_icon.png
+++ b/graphics/pokemon/deoxys/icon.png
Binary files differ
diff --git a/graphics/pokemon/icons/deoxys_speed_icon.png b/graphics/pokemon/deoxys/icon_speed.png
index 674b93a9c..674b93a9c 100644
--- a/graphics/pokemon/icons/deoxys_speed_icon.png
+++ b/graphics/pokemon/deoxys/icon_speed.png
Binary files differ
diff --git a/graphics/pokemon/palettes/deoxys_palette.pal b/graphics/pokemon/deoxys/normal.pal
index 90fcff114..90fcff114 100644
--- a/graphics/pokemon/palettes/deoxys_palette.pal
+++ b/graphics/pokemon/deoxys/normal.pal
diff --git a/graphics/pokemon/palettes/deoxys_shiny_palette.pal b/graphics/pokemon/deoxys/shiny.pal
index 74b8fc777..74b8fc777 100644
--- a/graphics/pokemon/palettes/deoxys_shiny_palette.pal
+++ b/graphics/pokemon/deoxys/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/dewgong_front_pic.png b/graphics/pokemon/dewgong/anim_front.png
index 035275cc0..035275cc0 100644
--- a/graphics/pokemon/anim_front_pics/dewgong_front_pic.png
+++ b/graphics/pokemon/dewgong/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/dewgong_back_pic.png b/graphics/pokemon/dewgong/back.png
index ba6c297ea..ba6c297ea 100644
--- a/graphics/pokemon/back_pics/dewgong_back_pic.png
+++ b/graphics/pokemon/dewgong/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/dewgong_footprint.png b/graphics/pokemon/dewgong/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/dewgong_footprint.png
+++ b/graphics/pokemon/dewgong/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/dewgong_still_front_pic.png b/graphics/pokemon/dewgong/front.png
index 315df9d0f..315df9d0f 100644
--- a/graphics/pokemon/front_pics/dewgong_still_front_pic.png
+++ b/graphics/pokemon/dewgong/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/dewgong_icon.png b/graphics/pokemon/dewgong/icon.png
index ea227df7c..ea227df7c 100644
--- a/graphics/pokemon/icons/dewgong_icon.png
+++ b/graphics/pokemon/dewgong/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/dewgong_palette.pal b/graphics/pokemon/dewgong/normal.pal
index d3440f5a3..d3440f5a3 100644
--- a/graphics/pokemon/palettes/dewgong_palette.pal
+++ b/graphics/pokemon/dewgong/normal.pal
diff --git a/graphics/pokemon/palettes/dewgong_shiny_palette.pal b/graphics/pokemon/dewgong/shiny.pal
index 02a02aa66..02a02aa66 100644
--- a/graphics/pokemon/palettes/dewgong_shiny_palette.pal
+++ b/graphics/pokemon/dewgong/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/diglett_front_pic.png b/graphics/pokemon/diglett/anim_front.png
index f06decaa8..f06decaa8 100644
--- a/graphics/pokemon/anim_front_pics/diglett_front_pic.png
+++ b/graphics/pokemon/diglett/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/diglett_back_pic.png b/graphics/pokemon/diglett/back.png
index 7f0b0863b..7f0b0863b 100644
--- a/graphics/pokemon/back_pics/diglett_back_pic.png
+++ b/graphics/pokemon/diglett/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/diglett_footprint.png b/graphics/pokemon/diglett/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/diglett_footprint.png
+++ b/graphics/pokemon/diglett/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/diglett_still_front_pic.png b/graphics/pokemon/diglett/front.png
index 20579c491..20579c491 100644
--- a/graphics/pokemon/front_pics/diglett_still_front_pic.png
+++ b/graphics/pokemon/diglett/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/diglett_icon.png b/graphics/pokemon/diglett/icon.png
index 43db9f62d..43db9f62d 100644
--- a/graphics/pokemon/icons/diglett_icon.png
+++ b/graphics/pokemon/diglett/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/diglett_palette.pal b/graphics/pokemon/diglett/normal.pal
index 431b7e0f0..431b7e0f0 100644
--- a/graphics/pokemon/palettes/diglett_palette.pal
+++ b/graphics/pokemon/diglett/normal.pal
diff --git a/graphics/pokemon/palettes/diglett_shiny_palette.pal b/graphics/pokemon/diglett/shiny.pal
index c7c26b7e5..c7c26b7e5 100644
--- a/graphics/pokemon/palettes/diglett_shiny_palette.pal
+++ b/graphics/pokemon/diglett/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/ditto_front_pic.png b/graphics/pokemon/ditto/anim_front.png
index 4a8120ace..4a8120ace 100644
--- a/graphics/pokemon/anim_front_pics/ditto_front_pic.png
+++ b/graphics/pokemon/ditto/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ditto_back_pic.png b/graphics/pokemon/ditto/back.png
index 002635423..002635423 100644
--- a/graphics/pokemon/back_pics/ditto_back_pic.png
+++ b/graphics/pokemon/ditto/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ditto_footprint.png b/graphics/pokemon/ditto/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/ditto_footprint.png
+++ b/graphics/pokemon/ditto/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ditto_still_front_pic.png b/graphics/pokemon/ditto/front.png
index 52eef0e60..52eef0e60 100644
--- a/graphics/pokemon/front_pics/ditto_still_front_pic.png
+++ b/graphics/pokemon/ditto/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ditto_icon.png b/graphics/pokemon/ditto/icon.png
index e6328feb5..e6328feb5 100644
--- a/graphics/pokemon/icons/ditto_icon.png
+++ b/graphics/pokemon/ditto/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ditto_palette.pal b/graphics/pokemon/ditto/normal.pal
index 262742c15..262742c15 100644
--- a/graphics/pokemon/palettes/ditto_palette.pal
+++ b/graphics/pokemon/ditto/normal.pal
diff --git a/graphics/pokemon/palettes/ditto_shiny_palette.pal b/graphics/pokemon/ditto/shiny.pal
index 987958312..987958312 100644
--- a/graphics/pokemon/palettes/ditto_shiny_palette.pal
+++ b/graphics/pokemon/ditto/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/dodrio_front_pic.png b/graphics/pokemon/dodrio/anim_front.png
index 96cead2d1..96cead2d1 100644
--- a/graphics/pokemon/anim_front_pics/dodrio_front_pic.png
+++ b/graphics/pokemon/dodrio/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/dodrio_back_pic.png b/graphics/pokemon/dodrio/back.png
index 090c189e4..090c189e4 100644
--- a/graphics/pokemon/back_pics/dodrio_back_pic.png
+++ b/graphics/pokemon/dodrio/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/dodrio_footprint.png b/graphics/pokemon/dodrio/footprint.png
index 34f85bfb3..34f85bfb3 100644
--- a/graphics/pokemon/footprints/dodrio_footprint.png
+++ b/graphics/pokemon/dodrio/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/dodrio_still_front_pic.png b/graphics/pokemon/dodrio/front.png
index 13ce71f56..13ce71f56 100644
--- a/graphics/pokemon/front_pics/dodrio_still_front_pic.png
+++ b/graphics/pokemon/dodrio/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/dodrio_icon.png b/graphics/pokemon/dodrio/icon.png
index 3d462999e..3d462999e 100644
--- a/graphics/pokemon/icons/dodrio_icon.png
+++ b/graphics/pokemon/dodrio/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/dodrio_palette.pal b/graphics/pokemon/dodrio/normal.pal
index 445bd3377..445bd3377 100644
--- a/graphics/pokemon/palettes/dodrio_palette.pal
+++ b/graphics/pokemon/dodrio/normal.pal
diff --git a/graphics/pokemon/palettes/dodrio_shiny_palette.pal b/graphics/pokemon/dodrio/shiny.pal
index e7c27940f..e7c27940f 100644
--- a/graphics/pokemon/palettes/dodrio_shiny_palette.pal
+++ b/graphics/pokemon/dodrio/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/doduo_front_pic.png b/graphics/pokemon/doduo/anim_front.png
index 7c0576996..7c0576996 100644
--- a/graphics/pokemon/anim_front_pics/doduo_front_pic.png
+++ b/graphics/pokemon/doduo/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/doduo_back_pic.png b/graphics/pokemon/doduo/back.png
index 4589eff60..4589eff60 100644
--- a/graphics/pokemon/back_pics/doduo_back_pic.png
+++ b/graphics/pokemon/doduo/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/doduo_footprint.png b/graphics/pokemon/doduo/footprint.png
index 0710eca52..0710eca52 100644
--- a/graphics/pokemon/footprints/doduo_footprint.png
+++ b/graphics/pokemon/doduo/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/doduo_still_front_pic.png b/graphics/pokemon/doduo/front.png
index 6773f0a6f..6773f0a6f 100644
--- a/graphics/pokemon/front_pics/doduo_still_front_pic.png
+++ b/graphics/pokemon/doduo/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/doduo_icon.png b/graphics/pokemon/doduo/icon.png
index 540834591..540834591 100644
--- a/graphics/pokemon/icons/doduo_icon.png
+++ b/graphics/pokemon/doduo/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/doduo_palette.pal b/graphics/pokemon/doduo/normal.pal
index d3213543a..d3213543a 100644
--- a/graphics/pokemon/palettes/doduo_palette.pal
+++ b/graphics/pokemon/doduo/normal.pal
diff --git a/graphics/pokemon/palettes/doduo_shiny_palette.pal b/graphics/pokemon/doduo/shiny.pal
index fa2c1c8fb..fa2c1c8fb 100644
--- a/graphics/pokemon/palettes/doduo_shiny_palette.pal
+++ b/graphics/pokemon/doduo/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/donphan_front_pic.png b/graphics/pokemon/donphan/anim_front.png
index 23181fc63..23181fc63 100644
--- a/graphics/pokemon/anim_front_pics/donphan_front_pic.png
+++ b/graphics/pokemon/donphan/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/donphan_back_pic.png b/graphics/pokemon/donphan/back.png
index d50d467ee..d50d467ee 100644
--- a/graphics/pokemon/back_pics/donphan_back_pic.png
+++ b/graphics/pokemon/donphan/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/donphan_footprint.png b/graphics/pokemon/donphan/footprint.png
index 394cf6457..394cf6457 100644
--- a/graphics/pokemon/footprints/donphan_footprint.png
+++ b/graphics/pokemon/donphan/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/donphan_still_front_pic.png b/graphics/pokemon/donphan/front.png
index c971f446a..c971f446a 100644
--- a/graphics/pokemon/front_pics/donphan_still_front_pic.png
+++ b/graphics/pokemon/donphan/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/donphan_icon.png b/graphics/pokemon/donphan/icon.png
index 09000b166..09000b166 100644
--- a/graphics/pokemon/icons/donphan_icon.png
+++ b/graphics/pokemon/donphan/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/donphan_palette.pal b/graphics/pokemon/donphan/normal.pal
index 4e0393757..4e0393757 100644
--- a/graphics/pokemon/palettes/donphan_palette.pal
+++ b/graphics/pokemon/donphan/normal.pal
diff --git a/graphics/pokemon/palettes/donphan_shiny_palette.pal b/graphics/pokemon/donphan/shiny.pal
index 55a6da008..55a6da008 100644
--- a/graphics/pokemon/palettes/donphan_shiny_palette.pal
+++ b/graphics/pokemon/donphan/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/double_question_mark_front_pic.png b/graphics/pokemon/double_question_mark/anim_front.png
index 6afe02dee..6afe02dee 100644
--- a/graphics/pokemon/anim_front_pics/double_question_mark_front_pic.png
+++ b/graphics/pokemon/double_question_mark/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/double_question_mark_back_pic.png b/graphics/pokemon/double_question_mark/back.png
index 14eb6e139..14eb6e139 100644
--- a/graphics/pokemon/back_pics/double_question_mark_back_pic.png
+++ b/graphics/pokemon/double_question_mark/back.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/double_question_mark_still_front_pic.png b/graphics/pokemon/double_question_mark/front.png
index f23b08476..f23b08476 100644
--- a/graphics/pokemon/front_pics/double_question_mark_still_front_pic.png
+++ b/graphics/pokemon/double_question_mark/front.png
Binary files differ
diff --git a/graphics/pokemon/palettes/double_question_mark_palette.pal b/graphics/pokemon/double_question_mark/normal.pal
index 67be6bbf4..67be6bbf4 100644
--- a/graphics/pokemon/palettes/double_question_mark_palette.pal
+++ b/graphics/pokemon/double_question_mark/normal.pal
diff --git a/graphics/pokemon/palettes/double_question_mark_shiny_palette.pal b/graphics/pokemon/double_question_mark/shiny.pal
index 67be6bbf4..67be6bbf4 100644
--- a/graphics/pokemon/palettes/double_question_mark_shiny_palette.pal
+++ b/graphics/pokemon/double_question_mark/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/dragonair_front_pic.png b/graphics/pokemon/dragonair/anim_front.png
index 3a41bef76..3a41bef76 100644
--- a/graphics/pokemon/anim_front_pics/dragonair_front_pic.png
+++ b/graphics/pokemon/dragonair/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/dragonair_back_pic.png b/graphics/pokemon/dragonair/back.png
index ee3cf04d1..ee3cf04d1 100644
--- a/graphics/pokemon/back_pics/dragonair_back_pic.png
+++ b/graphics/pokemon/dragonair/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/dragonair_footprint.png b/graphics/pokemon/dragonair/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/dragonair_footprint.png
+++ b/graphics/pokemon/dragonair/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/dragonair_still_front_pic.png b/graphics/pokemon/dragonair/front.png
index e824a6a87..e824a6a87 100644
--- a/graphics/pokemon/front_pics/dragonair_still_front_pic.png
+++ b/graphics/pokemon/dragonair/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/dragonair_icon.png b/graphics/pokemon/dragonair/icon.png
index f4b870a2a..f4b870a2a 100644
--- a/graphics/pokemon/icons/dragonair_icon.png
+++ b/graphics/pokemon/dragonair/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/dragonair_palette.pal b/graphics/pokemon/dragonair/normal.pal
index 4297fb8e9..4297fb8e9 100644
--- a/graphics/pokemon/palettes/dragonair_palette.pal
+++ b/graphics/pokemon/dragonair/normal.pal
diff --git a/graphics/pokemon/palettes/dragonair_shiny_palette.pal b/graphics/pokemon/dragonair/shiny.pal
index da7b6d02e..da7b6d02e 100644
--- a/graphics/pokemon/palettes/dragonair_shiny_palette.pal
+++ b/graphics/pokemon/dragonair/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/dragonite_front_pic.png b/graphics/pokemon/dragonite/anim_front.png
index 188c9ee59..188c9ee59 100644
--- a/graphics/pokemon/anim_front_pics/dragonite_front_pic.png
+++ b/graphics/pokemon/dragonite/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/dragonite_back_pic.png b/graphics/pokemon/dragonite/back.png
index 7107f90cf..7107f90cf 100644
--- a/graphics/pokemon/back_pics/dragonite_back_pic.png
+++ b/graphics/pokemon/dragonite/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/dragonite_footprint.png b/graphics/pokemon/dragonite/footprint.png
index 1f41296b0..1f41296b0 100644
--- a/graphics/pokemon/footprints/dragonite_footprint.png
+++ b/graphics/pokemon/dragonite/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/dragonite_still_front_pic.png b/graphics/pokemon/dragonite/front.png
index 85d652bc1..85d652bc1 100644
--- a/graphics/pokemon/front_pics/dragonite_still_front_pic.png
+++ b/graphics/pokemon/dragonite/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/dragonite_icon.png b/graphics/pokemon/dragonite/icon.png
index efcbd8f11..efcbd8f11 100644
--- a/graphics/pokemon/icons/dragonite_icon.png
+++ b/graphics/pokemon/dragonite/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/dragonite_palette.pal b/graphics/pokemon/dragonite/normal.pal
index 80f21c5c0..80f21c5c0 100644
--- a/graphics/pokemon/palettes/dragonite_palette.pal
+++ b/graphics/pokemon/dragonite/normal.pal
diff --git a/graphics/pokemon/palettes/dragonite_shiny_palette.pal b/graphics/pokemon/dragonite/shiny.pal
index 4e04571b1..4e04571b1 100644
--- a/graphics/pokemon/palettes/dragonite_shiny_palette.pal
+++ b/graphics/pokemon/dragonite/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/dratini_front_pic.png b/graphics/pokemon/dratini/anim_front.png
index b80476eee..b80476eee 100644
--- a/graphics/pokemon/anim_front_pics/dratini_front_pic.png
+++ b/graphics/pokemon/dratini/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/dratini_back_pic.png b/graphics/pokemon/dratini/back.png
index f87eb13cb..f87eb13cb 100644
--- a/graphics/pokemon/back_pics/dratini_back_pic.png
+++ b/graphics/pokemon/dratini/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/dratini_footprint.png b/graphics/pokemon/dratini/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/dratini_footprint.png
+++ b/graphics/pokemon/dratini/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/dratini_still_front_pic.png b/graphics/pokemon/dratini/front.png
index 7d86aa2d5..7d86aa2d5 100644
--- a/graphics/pokemon/front_pics/dratini_still_front_pic.png
+++ b/graphics/pokemon/dratini/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/dratini_icon.png b/graphics/pokemon/dratini/icon.png
index c26efee60..c26efee60 100644
--- a/graphics/pokemon/icons/dratini_icon.png
+++ b/graphics/pokemon/dratini/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/dratini_palette.pal b/graphics/pokemon/dratini/normal.pal
index 97c442e6d..97c442e6d 100644
--- a/graphics/pokemon/palettes/dratini_palette.pal
+++ b/graphics/pokemon/dratini/normal.pal
diff --git a/graphics/pokemon/palettes/dratini_shiny_palette.pal b/graphics/pokemon/dratini/shiny.pal
index b2e5cc781..b2e5cc781 100644
--- a/graphics/pokemon/palettes/dratini_shiny_palette.pal
+++ b/graphics/pokemon/dratini/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/drowzee_front_pic.png b/graphics/pokemon/drowzee/anim_front.png
index 2e74d279c..2e74d279c 100644
--- a/graphics/pokemon/anim_front_pics/drowzee_front_pic.png
+++ b/graphics/pokemon/drowzee/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/drowzee_back_pic.png b/graphics/pokemon/drowzee/back.png
index b63105878..b63105878 100644
--- a/graphics/pokemon/back_pics/drowzee_back_pic.png
+++ b/graphics/pokemon/drowzee/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/drowzee_footprint.png b/graphics/pokemon/drowzee/footprint.png
index 23293423e..23293423e 100644
--- a/graphics/pokemon/footprints/drowzee_footprint.png
+++ b/graphics/pokemon/drowzee/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/drowzee_still_front_pic.png b/graphics/pokemon/drowzee/front.png
index 684438509..684438509 100644
--- a/graphics/pokemon/front_pics/drowzee_still_front_pic.png
+++ b/graphics/pokemon/drowzee/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/drowzee_icon.png b/graphics/pokemon/drowzee/icon.png
index 39b84c871..39b84c871 100644
--- a/graphics/pokemon/icons/drowzee_icon.png
+++ b/graphics/pokemon/drowzee/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/drowzee_palette.pal b/graphics/pokemon/drowzee/normal.pal
index 2fc73cae9..2fc73cae9 100644
--- a/graphics/pokemon/palettes/drowzee_palette.pal
+++ b/graphics/pokemon/drowzee/normal.pal
diff --git a/graphics/pokemon/palettes/drowzee_shiny_palette.pal b/graphics/pokemon/drowzee/shiny.pal
index f192e20d0..f192e20d0 100644
--- a/graphics/pokemon/palettes/drowzee_shiny_palette.pal
+++ b/graphics/pokemon/drowzee/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/dugtrio_front_pic.png b/graphics/pokemon/dugtrio/anim_front.png
index 81f462cc6..81f462cc6 100644
--- a/graphics/pokemon/anim_front_pics/dugtrio_front_pic.png
+++ b/graphics/pokemon/dugtrio/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/dugtrio_back_pic.png b/graphics/pokemon/dugtrio/back.png
index 84fd0b630..84fd0b630 100644
--- a/graphics/pokemon/back_pics/dugtrio_back_pic.png
+++ b/graphics/pokemon/dugtrio/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/dugtrio_footprint.png b/graphics/pokemon/dugtrio/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/dugtrio_footprint.png
+++ b/graphics/pokemon/dugtrio/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/dugtrio_still_front_pic.png b/graphics/pokemon/dugtrio/front.png
index 6122554de..6122554de 100644
--- a/graphics/pokemon/front_pics/dugtrio_still_front_pic.png
+++ b/graphics/pokemon/dugtrio/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/dugtrio_icon.png b/graphics/pokemon/dugtrio/icon.png
index a837c7f6f..a837c7f6f 100644
--- a/graphics/pokemon/icons/dugtrio_icon.png
+++ b/graphics/pokemon/dugtrio/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/dugtrio_palette.pal b/graphics/pokemon/dugtrio/normal.pal
index 78691ac04..78691ac04 100644
--- a/graphics/pokemon/palettes/dugtrio_palette.pal
+++ b/graphics/pokemon/dugtrio/normal.pal
diff --git a/graphics/pokemon/palettes/dugtrio_shiny_palette.pal b/graphics/pokemon/dugtrio/shiny.pal
index 77345a714..77345a714 100644
--- a/graphics/pokemon/palettes/dugtrio_shiny_palette.pal
+++ b/graphics/pokemon/dugtrio/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/dunsparce_front_pic.png b/graphics/pokemon/dunsparce/anim_front.png
index 527b51c93..527b51c93 100644
--- a/graphics/pokemon/anim_front_pics/dunsparce_front_pic.png
+++ b/graphics/pokemon/dunsparce/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/dunsparce_back_pic.png b/graphics/pokemon/dunsparce/back.png
index 05f700ea7..05f700ea7 100644
--- a/graphics/pokemon/back_pics/dunsparce_back_pic.png
+++ b/graphics/pokemon/dunsparce/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/dunsparce_footprint.png b/graphics/pokemon/dunsparce/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/dunsparce_footprint.png
+++ b/graphics/pokemon/dunsparce/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/dunsparce_still_front_pic.png b/graphics/pokemon/dunsparce/front.png
index cf3c421af..cf3c421af 100644
--- a/graphics/pokemon/front_pics/dunsparce_still_front_pic.png
+++ b/graphics/pokemon/dunsparce/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/dunsparce_icon.png b/graphics/pokemon/dunsparce/icon.png
index d2896e72b..d2896e72b 100644
--- a/graphics/pokemon/icons/dunsparce_icon.png
+++ b/graphics/pokemon/dunsparce/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/dunsparce_palette.pal b/graphics/pokemon/dunsparce/normal.pal
index e0440cdc1..e0440cdc1 100644
--- a/graphics/pokemon/palettes/dunsparce_palette.pal
+++ b/graphics/pokemon/dunsparce/normal.pal
diff --git a/graphics/pokemon/palettes/dunsparce_shiny_palette.pal b/graphics/pokemon/dunsparce/shiny.pal
index 425dc8b36..425dc8b36 100644
--- a/graphics/pokemon/palettes/dunsparce_shiny_palette.pal
+++ b/graphics/pokemon/dunsparce/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/dusclops_front_pic.png b/graphics/pokemon/dusclops/anim_front.png
index c567f1703..c567f1703 100644
--- a/graphics/pokemon/anim_front_pics/dusclops_front_pic.png
+++ b/graphics/pokemon/dusclops/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/dusclops_back_pic.png b/graphics/pokemon/dusclops/back.png
index 9362e8421..9362e8421 100644
--- a/graphics/pokemon/back_pics/dusclops_back_pic.png
+++ b/graphics/pokemon/dusclops/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/dusclops_footprint.png b/graphics/pokemon/dusclops/footprint.png
index 752ffa353..752ffa353 100644
--- a/graphics/pokemon/footprints/dusclops_footprint.png
+++ b/graphics/pokemon/dusclops/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/dusclops_still_front_pic.png b/graphics/pokemon/dusclops/front.png
index 477423e62..477423e62 100644
--- a/graphics/pokemon/front_pics/dusclops_still_front_pic.png
+++ b/graphics/pokemon/dusclops/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/dusclops_icon.png b/graphics/pokemon/dusclops/icon.png
index 6ebc957da..6ebc957da 100644
--- a/graphics/pokemon/icons/dusclops_icon.png
+++ b/graphics/pokemon/dusclops/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/dusclops_palette.pal b/graphics/pokemon/dusclops/normal.pal
index f82d7f82e..f82d7f82e 100644
--- a/graphics/pokemon/palettes/dusclops_palette.pal
+++ b/graphics/pokemon/dusclops/normal.pal
diff --git a/graphics/pokemon/palettes/dusclops_shiny_palette.pal b/graphics/pokemon/dusclops/shiny.pal
index f07d7112f..f07d7112f 100644
--- a/graphics/pokemon/palettes/dusclops_shiny_palette.pal
+++ b/graphics/pokemon/dusclops/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/duskull_front_pic.png b/graphics/pokemon/duskull/anim_front.png
index 46c83d72f..46c83d72f 100644
--- a/graphics/pokemon/anim_front_pics/duskull_front_pic.png
+++ b/graphics/pokemon/duskull/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/duskull_back_pic.png b/graphics/pokemon/duskull/back.png
index 52a5c867d..52a5c867d 100644
--- a/graphics/pokemon/back_pics/duskull_back_pic.png
+++ b/graphics/pokemon/duskull/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/duskull_footprint.png b/graphics/pokemon/duskull/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/duskull_footprint.png
+++ b/graphics/pokemon/duskull/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/duskull_still_front_pic.png b/graphics/pokemon/duskull/front.png
index bf379af6d..bf379af6d 100644
--- a/graphics/pokemon/front_pics/duskull_still_front_pic.png
+++ b/graphics/pokemon/duskull/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/duskull_icon.png b/graphics/pokemon/duskull/icon.png
index 22710a79f..22710a79f 100644
--- a/graphics/pokemon/icons/duskull_icon.png
+++ b/graphics/pokemon/duskull/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/duskull_palette.pal b/graphics/pokemon/duskull/normal.pal
index aa1fb6ba4..aa1fb6ba4 100644
--- a/graphics/pokemon/palettes/duskull_palette.pal
+++ b/graphics/pokemon/duskull/normal.pal
diff --git a/graphics/pokemon/palettes/duskull_shiny_palette.pal b/graphics/pokemon/duskull/shiny.pal
index 2ec13fb1d..2ec13fb1d 100644
--- a/graphics/pokemon/palettes/duskull_shiny_palette.pal
+++ b/graphics/pokemon/duskull/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/dustox_front_pic.png b/graphics/pokemon/dustox/anim_front.png
index b2b1924a9..b2b1924a9 100644
--- a/graphics/pokemon/anim_front_pics/dustox_front_pic.png
+++ b/graphics/pokemon/dustox/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/dustox_back_pic.png b/graphics/pokemon/dustox/back.png
index 759b98ea2..759b98ea2 100644
--- a/graphics/pokemon/back_pics/dustox_back_pic.png
+++ b/graphics/pokemon/dustox/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/dustox_footprint.png b/graphics/pokemon/dustox/footprint.png
index f7cc85bf9..f7cc85bf9 100644
--- a/graphics/pokemon/footprints/dustox_footprint.png
+++ b/graphics/pokemon/dustox/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/dustox_still_front_pic.png b/graphics/pokemon/dustox/front.png
index 8866606d8..8866606d8 100644
--- a/graphics/pokemon/front_pics/dustox_still_front_pic.png
+++ b/graphics/pokemon/dustox/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/dustox_icon.png b/graphics/pokemon/dustox/icon.png
index 2f0d14001..2f0d14001 100644
--- a/graphics/pokemon/icons/dustox_icon.png
+++ b/graphics/pokemon/dustox/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/dustox_palette.pal b/graphics/pokemon/dustox/normal.pal
index 262b7d1ba..262b7d1ba 100644
--- a/graphics/pokemon/palettes/dustox_palette.pal
+++ b/graphics/pokemon/dustox/normal.pal
diff --git a/graphics/pokemon/palettes/dustox_shiny_palette.pal b/graphics/pokemon/dustox/shiny.pal
index c1c43725b..c1c43725b 100644
--- a/graphics/pokemon/palettes/dustox_shiny_palette.pal
+++ b/graphics/pokemon/dustox/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/eevee_front_pic.png b/graphics/pokemon/eevee/anim_front.png
index 04fd9b506..04fd9b506 100644
--- a/graphics/pokemon/anim_front_pics/eevee_front_pic.png
+++ b/graphics/pokemon/eevee/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/eevee_back_pic.png b/graphics/pokemon/eevee/back.png
index 79bd1129c..79bd1129c 100644
--- a/graphics/pokemon/back_pics/eevee_back_pic.png
+++ b/graphics/pokemon/eevee/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/eevee_footprint.png b/graphics/pokemon/eevee/footprint.png
index 4e4c01c9f..4e4c01c9f 100644
--- a/graphics/pokemon/footprints/eevee_footprint.png
+++ b/graphics/pokemon/eevee/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/eevee_still_front_pic.png b/graphics/pokemon/eevee/front.png
index 6ef22ee6b..6ef22ee6b 100644
--- a/graphics/pokemon/front_pics/eevee_still_front_pic.png
+++ b/graphics/pokemon/eevee/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/eevee_icon.png b/graphics/pokemon/eevee/icon.png
index 13b90c2e2..13b90c2e2 100644
--- a/graphics/pokemon/icons/eevee_icon.png
+++ b/graphics/pokemon/eevee/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/eevee_palette.pal b/graphics/pokemon/eevee/normal.pal
index 266f9f174..266f9f174 100644
--- a/graphics/pokemon/palettes/eevee_palette.pal
+++ b/graphics/pokemon/eevee/normal.pal
diff --git a/graphics/pokemon/palettes/eevee_shiny_palette.pal b/graphics/pokemon/eevee/shiny.pal
index 7f9f3c7b8..7f9f3c7b8 100644
--- a/graphics/pokemon/palettes/eevee_shiny_palette.pal
+++ b/graphics/pokemon/eevee/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/egg_front_pic.png b/graphics/pokemon/egg/anim_front.png
index 5451b34a2..5451b34a2 100644
--- a/graphics/pokemon/anim_front_pics/egg_front_pic.png
+++ b/graphics/pokemon/egg/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/egg_still_front_pic.png b/graphics/pokemon/egg/front.png
index d9680a899..d9680a899 100644
--- a/graphics/pokemon/front_pics/egg_still_front_pic.png
+++ b/graphics/pokemon/egg/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/egg_icon.png b/graphics/pokemon/egg/icon.png
index 8f6ca5dde..8f6ca5dde 100644
--- a/graphics/pokemon/icons/egg_icon.png
+++ b/graphics/pokemon/egg/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/egg_palette.pal b/graphics/pokemon/egg/normal.pal
index cadeacee0..cadeacee0 100644
--- a/graphics/pokemon/palettes/egg_palette.pal
+++ b/graphics/pokemon/egg/normal.pal
diff --git a/graphics/pokemon/anim_front_pics/ekans_front_pic.png b/graphics/pokemon/ekans/anim_front.png
index 22d3fe19c..22d3fe19c 100644
--- a/graphics/pokemon/anim_front_pics/ekans_front_pic.png
+++ b/graphics/pokemon/ekans/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ekans_back_pic.png b/graphics/pokemon/ekans/back.png
index e72a7a9ed..e72a7a9ed 100644
--- a/graphics/pokemon/back_pics/ekans_back_pic.png
+++ b/graphics/pokemon/ekans/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ekans_footprint.png b/graphics/pokemon/ekans/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/ekans_footprint.png
+++ b/graphics/pokemon/ekans/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ekans_still_front_pic.png b/graphics/pokemon/ekans/front.png
index 7bd27381c..7bd27381c 100644
--- a/graphics/pokemon/front_pics/ekans_still_front_pic.png
+++ b/graphics/pokemon/ekans/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ekans_icon.png b/graphics/pokemon/ekans/icon.png
index 3c81efd69..3c81efd69 100644
--- a/graphics/pokemon/icons/ekans_icon.png
+++ b/graphics/pokemon/ekans/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ekans_palette.pal b/graphics/pokemon/ekans/normal.pal
index 55289888c..55289888c 100644
--- a/graphics/pokemon/palettes/ekans_palette.pal
+++ b/graphics/pokemon/ekans/normal.pal
diff --git a/graphics/pokemon/palettes/ekans_shiny_palette.pal b/graphics/pokemon/ekans/shiny.pal
index 529864430..529864430 100644
--- a/graphics/pokemon/palettes/ekans_shiny_palette.pal
+++ b/graphics/pokemon/ekans/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/electabuzz_front_pic.png b/graphics/pokemon/electabuzz/anim_front.png
index 7edefd605..7edefd605 100644
--- a/graphics/pokemon/anim_front_pics/electabuzz_front_pic.png
+++ b/graphics/pokemon/electabuzz/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/electabuzz_back_pic.png b/graphics/pokemon/electabuzz/back.png
index 8d84c2cb6..8d84c2cb6 100644
--- a/graphics/pokemon/back_pics/electabuzz_back_pic.png
+++ b/graphics/pokemon/electabuzz/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/electabuzz_footprint.png b/graphics/pokemon/electabuzz/footprint.png
index b2b4de625..b2b4de625 100644
--- a/graphics/pokemon/footprints/electabuzz_footprint.png
+++ b/graphics/pokemon/electabuzz/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/electabuzz_still_front_pic.png b/graphics/pokemon/electabuzz/front.png
index 783cd49c8..783cd49c8 100644
--- a/graphics/pokemon/front_pics/electabuzz_still_front_pic.png
+++ b/graphics/pokemon/electabuzz/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/electabuzz_icon.png b/graphics/pokemon/electabuzz/icon.png
index 4c9babe2a..4c9babe2a 100644
--- a/graphics/pokemon/icons/electabuzz_icon.png
+++ b/graphics/pokemon/electabuzz/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/electabuzz_palette.pal b/graphics/pokemon/electabuzz/normal.pal
index 1a18eb70d..1a18eb70d 100644
--- a/graphics/pokemon/palettes/electabuzz_palette.pal
+++ b/graphics/pokemon/electabuzz/normal.pal
diff --git a/graphics/pokemon/palettes/electabuzz_shiny_palette.pal b/graphics/pokemon/electabuzz/shiny.pal
index df9fa23e8..df9fa23e8 100644
--- a/graphics/pokemon/palettes/electabuzz_shiny_palette.pal
+++ b/graphics/pokemon/electabuzz/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/electrike_front_pic.png b/graphics/pokemon/electrike/anim_front.png
index 396dd670b..396dd670b 100644
--- a/graphics/pokemon/anim_front_pics/electrike_front_pic.png
+++ b/graphics/pokemon/electrike/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/electrike_back_pic.png b/graphics/pokemon/electrike/back.png
index c6e9e83e5..c6e9e83e5 100644
--- a/graphics/pokemon/back_pics/electrike_back_pic.png
+++ b/graphics/pokemon/electrike/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/electrike_footprint.png b/graphics/pokemon/electrike/footprint.png
index 8dd914b35..8dd914b35 100644
--- a/graphics/pokemon/footprints/electrike_footprint.png
+++ b/graphics/pokemon/electrike/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/electrike_still_front_pic.png b/graphics/pokemon/electrike/front.png
index 0a86b13af..0a86b13af 100644
--- a/graphics/pokemon/front_pics/electrike_still_front_pic.png
+++ b/graphics/pokemon/electrike/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/electrike_icon.png b/graphics/pokemon/electrike/icon.png
index ebef61c49..ebef61c49 100644
--- a/graphics/pokemon/icons/electrike_icon.png
+++ b/graphics/pokemon/electrike/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/electrike_palette.pal b/graphics/pokemon/electrike/normal.pal
index 5ee96cb84..5ee96cb84 100644
--- a/graphics/pokemon/palettes/electrike_palette.pal
+++ b/graphics/pokemon/electrike/normal.pal
diff --git a/graphics/pokemon/palettes/electrike_shiny_palette.pal b/graphics/pokemon/electrike/shiny.pal
index c7f51a2b1..c7f51a2b1 100644
--- a/graphics/pokemon/palettes/electrike_shiny_palette.pal
+++ b/graphics/pokemon/electrike/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/electrode_front_pic.png b/graphics/pokemon/electrode/anim_front.png
index 57c95efa1..57c95efa1 100644
--- a/graphics/pokemon/anim_front_pics/electrode_front_pic.png
+++ b/graphics/pokemon/electrode/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/electrode_back_pic.png b/graphics/pokemon/electrode/back.png
index 74ca458d3..74ca458d3 100644
--- a/graphics/pokemon/back_pics/electrode_back_pic.png
+++ b/graphics/pokemon/electrode/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/electrode_footprint.png b/graphics/pokemon/electrode/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/electrode_footprint.png
+++ b/graphics/pokemon/electrode/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/electrode_still_front_pic.png b/graphics/pokemon/electrode/front.png
index 801c2cdb2..801c2cdb2 100644
--- a/graphics/pokemon/front_pics/electrode_still_front_pic.png
+++ b/graphics/pokemon/electrode/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/electrode_icon.png b/graphics/pokemon/electrode/icon.png
index e46c57974..e46c57974 100644
--- a/graphics/pokemon/icons/electrode_icon.png
+++ b/graphics/pokemon/electrode/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/electrode_palette.pal b/graphics/pokemon/electrode/normal.pal
index 1848bf716..1848bf716 100644
--- a/graphics/pokemon/palettes/electrode_palette.pal
+++ b/graphics/pokemon/electrode/normal.pal
diff --git a/graphics/pokemon/palettes/electrode_shiny_palette.pal b/graphics/pokemon/electrode/shiny.pal
index d651b064f..d651b064f 100644
--- a/graphics/pokemon/palettes/electrode_shiny_palette.pal
+++ b/graphics/pokemon/electrode/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/elekid_front_pic.png b/graphics/pokemon/elekid/anim_front.png
index 7f3091f52..7f3091f52 100644
--- a/graphics/pokemon/anim_front_pics/elekid_front_pic.png
+++ b/graphics/pokemon/elekid/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/elekid_back_pic.png b/graphics/pokemon/elekid/back.png
index 0d8d9428a..0d8d9428a 100644
--- a/graphics/pokemon/back_pics/elekid_back_pic.png
+++ b/graphics/pokemon/elekid/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/elekid_footprint.png b/graphics/pokemon/elekid/footprint.png
index 15547931c..15547931c 100644
--- a/graphics/pokemon/footprints/elekid_footprint.png
+++ b/graphics/pokemon/elekid/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/elekid_still_front_pic.png b/graphics/pokemon/elekid/front.png
index 0c3d5325e..0c3d5325e 100644
--- a/graphics/pokemon/front_pics/elekid_still_front_pic.png
+++ b/graphics/pokemon/elekid/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/elekid_icon.png b/graphics/pokemon/elekid/icon.png
index d80ce6f0d..d80ce6f0d 100644
--- a/graphics/pokemon/icons/elekid_icon.png
+++ b/graphics/pokemon/elekid/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/elekid_palette.pal b/graphics/pokemon/elekid/normal.pal
index 522f7de84..522f7de84 100644
--- a/graphics/pokemon/palettes/elekid_palette.pal
+++ b/graphics/pokemon/elekid/normal.pal
diff --git a/graphics/pokemon/palettes/elekid_shiny_palette.pal b/graphics/pokemon/elekid/shiny.pal
index 59ff6b2cf..59ff6b2cf 100644
--- a/graphics/pokemon/palettes/elekid_shiny_palette.pal
+++ b/graphics/pokemon/elekid/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/entei_front_pic.png b/graphics/pokemon/entei/anim_front.png
index 297d253b1..297d253b1 100644
--- a/graphics/pokemon/anim_front_pics/entei_front_pic.png
+++ b/graphics/pokemon/entei/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/entei_back_pic.png b/graphics/pokemon/entei/back.png
index 902b4461a..902b4461a 100644
--- a/graphics/pokemon/back_pics/entei_back_pic.png
+++ b/graphics/pokemon/entei/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/entei_footprint.png b/graphics/pokemon/entei/footprint.png
index 7336df599..7336df599 100644
--- a/graphics/pokemon/footprints/entei_footprint.png
+++ b/graphics/pokemon/entei/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/entei_still_front_pic.png b/graphics/pokemon/entei/front.png
index 1aa34cf4d..1aa34cf4d 100644
--- a/graphics/pokemon/front_pics/entei_still_front_pic.png
+++ b/graphics/pokemon/entei/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/entei_icon.png b/graphics/pokemon/entei/icon.png
index 4d2353a20..4d2353a20 100644
--- a/graphics/pokemon/icons/entei_icon.png
+++ b/graphics/pokemon/entei/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/entei_palette.pal b/graphics/pokemon/entei/normal.pal
index 27cad95ea..27cad95ea 100644
--- a/graphics/pokemon/palettes/entei_palette.pal
+++ b/graphics/pokemon/entei/normal.pal
diff --git a/graphics/pokemon/palettes/entei_shiny_palette.pal b/graphics/pokemon/entei/shiny.pal
index e3f22acdd..e3f22acdd 100644
--- a/graphics/pokemon/palettes/entei_shiny_palette.pal
+++ b/graphics/pokemon/entei/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/espeon_front_pic.png b/graphics/pokemon/espeon/anim_front.png
index 95ff75a0c..95ff75a0c 100644
--- a/graphics/pokemon/anim_front_pics/espeon_front_pic.png
+++ b/graphics/pokemon/espeon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/espeon_back_pic.png b/graphics/pokemon/espeon/back.png
index c3e5d96de..c3e5d96de 100644
--- a/graphics/pokemon/back_pics/espeon_back_pic.png
+++ b/graphics/pokemon/espeon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/espeon_footprint.png b/graphics/pokemon/espeon/footprint.png
index c7b17a4ad..c7b17a4ad 100644
--- a/graphics/pokemon/footprints/espeon_footprint.png
+++ b/graphics/pokemon/espeon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/espeon_still_front_pic.png b/graphics/pokemon/espeon/front.png
index 9e66b1626..9e66b1626 100644
--- a/graphics/pokemon/front_pics/espeon_still_front_pic.png
+++ b/graphics/pokemon/espeon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/espeon_icon.png b/graphics/pokemon/espeon/icon.png
index bc63aa3f2..bc63aa3f2 100644
--- a/graphics/pokemon/icons/espeon_icon.png
+++ b/graphics/pokemon/espeon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/espeon_palette.pal b/graphics/pokemon/espeon/normal.pal
index b001102c1..b001102c1 100644
--- a/graphics/pokemon/palettes/espeon_palette.pal
+++ b/graphics/pokemon/espeon/normal.pal
diff --git a/graphics/pokemon/palettes/espeon_shiny_palette.pal b/graphics/pokemon/espeon/shiny.pal
index 22222e2c7..22222e2c7 100644
--- a/graphics/pokemon/palettes/espeon_shiny_palette.pal
+++ b/graphics/pokemon/espeon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/exeggcute_front_pic.png b/graphics/pokemon/exeggcute/anim_front.png
index ca0b6df22..ca0b6df22 100644
--- a/graphics/pokemon/anim_front_pics/exeggcute_front_pic.png
+++ b/graphics/pokemon/exeggcute/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/exeggcute_back_pic.png b/graphics/pokemon/exeggcute/back.png
index e340cd036..e340cd036 100644
--- a/graphics/pokemon/back_pics/exeggcute_back_pic.png
+++ b/graphics/pokemon/exeggcute/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/exeggcute_footprint.png b/graphics/pokemon/exeggcute/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/exeggcute_footprint.png
+++ b/graphics/pokemon/exeggcute/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/exeggcute_still_front_pic.png b/graphics/pokemon/exeggcute/front.png
index 6868d6e05..6868d6e05 100644
--- a/graphics/pokemon/front_pics/exeggcute_still_front_pic.png
+++ b/graphics/pokemon/exeggcute/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/exeggcute_icon.png b/graphics/pokemon/exeggcute/icon.png
index 5d0306610..5d0306610 100644
--- a/graphics/pokemon/icons/exeggcute_icon.png
+++ b/graphics/pokemon/exeggcute/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/exeggcute_palette.pal b/graphics/pokemon/exeggcute/normal.pal
index 04f5ede31..04f5ede31 100644
--- a/graphics/pokemon/palettes/exeggcute_palette.pal
+++ b/graphics/pokemon/exeggcute/normal.pal
diff --git a/graphics/pokemon/palettes/exeggcute_shiny_palette.pal b/graphics/pokemon/exeggcute/shiny.pal
index 4b18e5857..4b18e5857 100644
--- a/graphics/pokemon/palettes/exeggcute_shiny_palette.pal
+++ b/graphics/pokemon/exeggcute/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/exeggutor_front_pic.png b/graphics/pokemon/exeggutor/anim_front.png
index f4100b755..f4100b755 100644
--- a/graphics/pokemon/anim_front_pics/exeggutor_front_pic.png
+++ b/graphics/pokemon/exeggutor/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/exeggutor_back_pic.png b/graphics/pokemon/exeggutor/back.png
index ff28c8555..ff28c8555 100644
--- a/graphics/pokemon/back_pics/exeggutor_back_pic.png
+++ b/graphics/pokemon/exeggutor/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/exeggutor_footprint.png b/graphics/pokemon/exeggutor/footprint.png
index 6df7122f8..6df7122f8 100644
--- a/graphics/pokemon/footprints/exeggutor_footprint.png
+++ b/graphics/pokemon/exeggutor/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/exeggutor_still_front_pic.png b/graphics/pokemon/exeggutor/front.png
index 67c59d0bb..67c59d0bb 100644
--- a/graphics/pokemon/front_pics/exeggutor_still_front_pic.png
+++ b/graphics/pokemon/exeggutor/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/exeggutor_icon.png b/graphics/pokemon/exeggutor/icon.png
index 610c65a3d..610c65a3d 100644
--- a/graphics/pokemon/icons/exeggutor_icon.png
+++ b/graphics/pokemon/exeggutor/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/exeggutor_palette.pal b/graphics/pokemon/exeggutor/normal.pal
index 6c375af6d..6c375af6d 100644
--- a/graphics/pokemon/palettes/exeggutor_palette.pal
+++ b/graphics/pokemon/exeggutor/normal.pal
diff --git a/graphics/pokemon/palettes/exeggutor_shiny_palette.pal b/graphics/pokemon/exeggutor/shiny.pal
index c06646a6c..c06646a6c 100644
--- a/graphics/pokemon/palettes/exeggutor_shiny_palette.pal
+++ b/graphics/pokemon/exeggutor/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/exploud_front_pic.png b/graphics/pokemon/exploud/anim_front.png
index 8cf38b83e..8cf38b83e 100644
--- a/graphics/pokemon/anim_front_pics/exploud_front_pic.png
+++ b/graphics/pokemon/exploud/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/exploud_back_pic.png b/graphics/pokemon/exploud/back.png
index 37132bf48..37132bf48 100644
--- a/graphics/pokemon/back_pics/exploud_back_pic.png
+++ b/graphics/pokemon/exploud/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/exploud_footprint.png b/graphics/pokemon/exploud/footprint.png
index b27283a14..b27283a14 100644
--- a/graphics/pokemon/footprints/exploud_footprint.png
+++ b/graphics/pokemon/exploud/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/exploud_still_front_pic.png b/graphics/pokemon/exploud/front.png
index 48e86c610..48e86c610 100644
--- a/graphics/pokemon/front_pics/exploud_still_front_pic.png
+++ b/graphics/pokemon/exploud/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/exploud_icon.png b/graphics/pokemon/exploud/icon.png
index 04ed7f13d..04ed7f13d 100644
--- a/graphics/pokemon/icons/exploud_icon.png
+++ b/graphics/pokemon/exploud/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/exploud_palette.pal b/graphics/pokemon/exploud/normal.pal
index 074305af3..074305af3 100644
--- a/graphics/pokemon/palettes/exploud_palette.pal
+++ b/graphics/pokemon/exploud/normal.pal
diff --git a/graphics/pokemon/palettes/exploud_shiny_palette.pal b/graphics/pokemon/exploud/shiny.pal
index cfde98dc2..cfde98dc2 100644
--- a/graphics/pokemon/palettes/exploud_shiny_palette.pal
+++ b/graphics/pokemon/exploud/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/farfetch_d_front_pic.png b/graphics/pokemon/farfetch_d/anim_front.png
index 23176939b..23176939b 100644
--- a/graphics/pokemon/anim_front_pics/farfetch_d_front_pic.png
+++ b/graphics/pokemon/farfetch_d/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/farfetch_d_back_pic.png b/graphics/pokemon/farfetch_d/back.png
index 7f981b389..7f981b389 100644
--- a/graphics/pokemon/back_pics/farfetch_d_back_pic.png
+++ b/graphics/pokemon/farfetch_d/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/farfetch_d_footprint.png b/graphics/pokemon/farfetch_d/footprint.png
index 2f08f732d..2f08f732d 100644
--- a/graphics/pokemon/footprints/farfetch_d_footprint.png
+++ b/graphics/pokemon/farfetch_d/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/farfetch_d_still_front_pic.png b/graphics/pokemon/farfetch_d/front.png
index d938c1b50..d938c1b50 100644
--- a/graphics/pokemon/front_pics/farfetch_d_still_front_pic.png
+++ b/graphics/pokemon/farfetch_d/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/farfetch_d_icon.png b/graphics/pokemon/farfetch_d/icon.png
index cb3cd931b..cb3cd931b 100644
--- a/graphics/pokemon/icons/farfetch_d_icon.png
+++ b/graphics/pokemon/farfetch_d/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/farfetch_d_palette.pal b/graphics/pokemon/farfetch_d/normal.pal
index 397d1195c..397d1195c 100644
--- a/graphics/pokemon/palettes/farfetch_d_palette.pal
+++ b/graphics/pokemon/farfetch_d/normal.pal
diff --git a/graphics/pokemon/palettes/farfetch_d_shiny_palette.pal b/graphics/pokemon/farfetch_d/shiny.pal
index 5537612ce..5537612ce 100644
--- a/graphics/pokemon/palettes/farfetch_d_shiny_palette.pal
+++ b/graphics/pokemon/farfetch_d/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/fearow_front_pic.png b/graphics/pokemon/fearow/anim_front.png
index 42bc44fd3..42bc44fd3 100644
--- a/graphics/pokemon/anim_front_pics/fearow_front_pic.png
+++ b/graphics/pokemon/fearow/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/fearow_back_pic.png b/graphics/pokemon/fearow/back.png
index ae54db9a7..ae54db9a7 100644
--- a/graphics/pokemon/back_pics/fearow_back_pic.png
+++ b/graphics/pokemon/fearow/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/fearow_footprint.png b/graphics/pokemon/fearow/footprint.png
index 04ea7924d..04ea7924d 100644
--- a/graphics/pokemon/footprints/fearow_footprint.png
+++ b/graphics/pokemon/fearow/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/fearow_still_front_pic.png b/graphics/pokemon/fearow/front.png
index cfea711a3..cfea711a3 100644
--- a/graphics/pokemon/front_pics/fearow_still_front_pic.png
+++ b/graphics/pokemon/fearow/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/fearow_icon.png b/graphics/pokemon/fearow/icon.png
index 9a3be9393..9a3be9393 100644
--- a/graphics/pokemon/icons/fearow_icon.png
+++ b/graphics/pokemon/fearow/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/fearow_palette.pal b/graphics/pokemon/fearow/normal.pal
index 6b73e3639..6b73e3639 100644
--- a/graphics/pokemon/palettes/fearow_palette.pal
+++ b/graphics/pokemon/fearow/normal.pal
diff --git a/graphics/pokemon/palettes/fearow_shiny_palette.pal b/graphics/pokemon/fearow/shiny.pal
index 686e65a9c..686e65a9c 100644
--- a/graphics/pokemon/palettes/fearow_shiny_palette.pal
+++ b/graphics/pokemon/fearow/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/feebas_front_pic.png b/graphics/pokemon/feebas/anim_front.png
index 9afa332dc..9afa332dc 100644
--- a/graphics/pokemon/anim_front_pics/feebas_front_pic.png
+++ b/graphics/pokemon/feebas/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/feebas_back_pic.png b/graphics/pokemon/feebas/back.png
index 3eabd6021..3eabd6021 100644
--- a/graphics/pokemon/back_pics/feebas_back_pic.png
+++ b/graphics/pokemon/feebas/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/feebas_footprint.png b/graphics/pokemon/feebas/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/feebas_footprint.png
+++ b/graphics/pokemon/feebas/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/feebas_still_front_pic.png b/graphics/pokemon/feebas/front.png
index 036e151e8..036e151e8 100644
--- a/graphics/pokemon/front_pics/feebas_still_front_pic.png
+++ b/graphics/pokemon/feebas/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/feebas_icon.png b/graphics/pokemon/feebas/icon.png
index 19e08797a..19e08797a 100644
--- a/graphics/pokemon/icons/feebas_icon.png
+++ b/graphics/pokemon/feebas/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/feebas_palette.pal b/graphics/pokemon/feebas/normal.pal
index c66deb1e0..c66deb1e0 100644
--- a/graphics/pokemon/palettes/feebas_palette.pal
+++ b/graphics/pokemon/feebas/normal.pal
diff --git a/graphics/pokemon/palettes/feebas_shiny_palette.pal b/graphics/pokemon/feebas/shiny.pal
index 6d85b2866..6d85b2866 100644
--- a/graphics/pokemon/palettes/feebas_shiny_palette.pal
+++ b/graphics/pokemon/feebas/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/feraligatr_front_pic.png b/graphics/pokemon/feraligatr/anim_front.png
index 17228a853..17228a853 100644
--- a/graphics/pokemon/anim_front_pics/feraligatr_front_pic.png
+++ b/graphics/pokemon/feraligatr/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/feraligatr_back_pic.png b/graphics/pokemon/feraligatr/back.png
index d996dd8ce..d996dd8ce 100644
--- a/graphics/pokemon/back_pics/feraligatr_back_pic.png
+++ b/graphics/pokemon/feraligatr/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/feraligatr_footprint.png b/graphics/pokemon/feraligatr/footprint.png
index efe894289..efe894289 100644
--- a/graphics/pokemon/footprints/feraligatr_footprint.png
+++ b/graphics/pokemon/feraligatr/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/feraligatr_still_front_pic.png b/graphics/pokemon/feraligatr/front.png
index c44e7afc2..c44e7afc2 100644
--- a/graphics/pokemon/front_pics/feraligatr_still_front_pic.png
+++ b/graphics/pokemon/feraligatr/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/feraligatr_icon.png b/graphics/pokemon/feraligatr/icon.png
index fe3f4fca6..fe3f4fca6 100644
--- a/graphics/pokemon/icons/feraligatr_icon.png
+++ b/graphics/pokemon/feraligatr/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/feraligatr_palette.pal b/graphics/pokemon/feraligatr/normal.pal
index 7fc0a9eb8..7fc0a9eb8 100644
--- a/graphics/pokemon/palettes/feraligatr_palette.pal
+++ b/graphics/pokemon/feraligatr/normal.pal
diff --git a/graphics/pokemon/palettes/feraligatr_shiny_palette.pal b/graphics/pokemon/feraligatr/shiny.pal
index 81c5ebc2a..81c5ebc2a 100644
--- a/graphics/pokemon/palettes/feraligatr_shiny_palette.pal
+++ b/graphics/pokemon/feraligatr/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/flaaffy_front_pic.png b/graphics/pokemon/flaaffy/anim_front.png
index 11d7dd68b..11d7dd68b 100644
--- a/graphics/pokemon/anim_front_pics/flaaffy_front_pic.png
+++ b/graphics/pokemon/flaaffy/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/flaaffy_back_pic.png b/graphics/pokemon/flaaffy/back.png
index e0ac771bf..e0ac771bf 100644
--- a/graphics/pokemon/back_pics/flaaffy_back_pic.png
+++ b/graphics/pokemon/flaaffy/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/flaaffy_footprint.png b/graphics/pokemon/flaaffy/footprint.png
index d1695ec80..d1695ec80 100644
--- a/graphics/pokemon/footprints/flaaffy_footprint.png
+++ b/graphics/pokemon/flaaffy/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/flaaffy_still_front_pic.png b/graphics/pokemon/flaaffy/front.png
index 49f794128..49f794128 100644
--- a/graphics/pokemon/front_pics/flaaffy_still_front_pic.png
+++ b/graphics/pokemon/flaaffy/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/flaaffy_icon.png b/graphics/pokemon/flaaffy/icon.png
index 719ed69a3..719ed69a3 100644
--- a/graphics/pokemon/icons/flaaffy_icon.png
+++ b/graphics/pokemon/flaaffy/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/flaaffy_palette.pal b/graphics/pokemon/flaaffy/normal.pal
index 4efbb5bda..4efbb5bda 100644
--- a/graphics/pokemon/palettes/flaaffy_palette.pal
+++ b/graphics/pokemon/flaaffy/normal.pal
diff --git a/graphics/pokemon/palettes/flaaffy_shiny_palette.pal b/graphics/pokemon/flaaffy/shiny.pal
index b99745d84..b99745d84 100644
--- a/graphics/pokemon/palettes/flaaffy_shiny_palette.pal
+++ b/graphics/pokemon/flaaffy/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/flareon_front_pic.png b/graphics/pokemon/flareon/anim_front.png
index 5d8850930..5d8850930 100644
--- a/graphics/pokemon/anim_front_pics/flareon_front_pic.png
+++ b/graphics/pokemon/flareon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/flareon_back_pic.png b/graphics/pokemon/flareon/back.png
index c1efa1306..c1efa1306 100644
--- a/graphics/pokemon/back_pics/flareon_back_pic.png
+++ b/graphics/pokemon/flareon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/flareon_footprint.png b/graphics/pokemon/flareon/footprint.png
index db5d37ed4..db5d37ed4 100644
--- a/graphics/pokemon/footprints/flareon_footprint.png
+++ b/graphics/pokemon/flareon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/flareon_still_front_pic.png b/graphics/pokemon/flareon/front.png
index 006aa5047..006aa5047 100644
--- a/graphics/pokemon/front_pics/flareon_still_front_pic.png
+++ b/graphics/pokemon/flareon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/flareon_icon.png b/graphics/pokemon/flareon/icon.png
index 317aa61d0..317aa61d0 100644
--- a/graphics/pokemon/icons/flareon_icon.png
+++ b/graphics/pokemon/flareon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/flareon_palette.pal b/graphics/pokemon/flareon/normal.pal
index b617df86b..b617df86b 100644
--- a/graphics/pokemon/palettes/flareon_palette.pal
+++ b/graphics/pokemon/flareon/normal.pal
diff --git a/graphics/pokemon/palettes/flareon_shiny_palette.pal b/graphics/pokemon/flareon/shiny.pal
index 60c1b337c..60c1b337c 100644
--- a/graphics/pokemon/palettes/flareon_shiny_palette.pal
+++ b/graphics/pokemon/flareon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/flygon_front_pic.png b/graphics/pokemon/flygon/anim_front.png
index d7b750f75..d7b750f75 100644
--- a/graphics/pokemon/anim_front_pics/flygon_front_pic.png
+++ b/graphics/pokemon/flygon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/flygon_back_pic.png b/graphics/pokemon/flygon/back.png
index 576cff1c5..576cff1c5 100644
--- a/graphics/pokemon/back_pics/flygon_back_pic.png
+++ b/graphics/pokemon/flygon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/flygon_footprint.png b/graphics/pokemon/flygon/footprint.png
index 5af877878..5af877878 100644
--- a/graphics/pokemon/footprints/flygon_footprint.png
+++ b/graphics/pokemon/flygon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/flygon_still_front_pic.png b/graphics/pokemon/flygon/front.png
index 310966c6e..310966c6e 100644
--- a/graphics/pokemon/front_pics/flygon_still_front_pic.png
+++ b/graphics/pokemon/flygon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/flygon_icon.png b/graphics/pokemon/flygon/icon.png
index f033c9a88..f033c9a88 100644
--- a/graphics/pokemon/icons/flygon_icon.png
+++ b/graphics/pokemon/flygon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/flygon_palette.pal b/graphics/pokemon/flygon/normal.pal
index 33888cd1a..33888cd1a 100644
--- a/graphics/pokemon/palettes/flygon_palette.pal
+++ b/graphics/pokemon/flygon/normal.pal
diff --git a/graphics/pokemon/palettes/flygon_shiny_palette.pal b/graphics/pokemon/flygon/shiny.pal
index 772834b38..772834b38 100644
--- a/graphics/pokemon/palettes/flygon_shiny_palette.pal
+++ b/graphics/pokemon/flygon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/forretress_front_pic.png b/graphics/pokemon/forretress/anim_front.png
index 59cca7fb4..59cca7fb4 100644
--- a/graphics/pokemon/anim_front_pics/forretress_front_pic.png
+++ b/graphics/pokemon/forretress/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/forretress_back_pic.png b/graphics/pokemon/forretress/back.png
index 5761be137..5761be137 100644
--- a/graphics/pokemon/back_pics/forretress_back_pic.png
+++ b/graphics/pokemon/forretress/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/forretress_footprint.png b/graphics/pokemon/forretress/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/forretress_footprint.png
+++ b/graphics/pokemon/forretress/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/forretress_still_front_pic.png b/graphics/pokemon/forretress/front.png
index 511ee5720..511ee5720 100644
--- a/graphics/pokemon/front_pics/forretress_still_front_pic.png
+++ b/graphics/pokemon/forretress/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/forretress_icon.png b/graphics/pokemon/forretress/icon.png
index 056683bec..056683bec 100644
--- a/graphics/pokemon/icons/forretress_icon.png
+++ b/graphics/pokemon/forretress/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/forretress_palette.pal b/graphics/pokemon/forretress/normal.pal
index 285c56291..285c56291 100644
--- a/graphics/pokemon/palettes/forretress_palette.pal
+++ b/graphics/pokemon/forretress/normal.pal
diff --git a/graphics/pokemon/palettes/forretress_shiny_palette.pal b/graphics/pokemon/forretress/shiny.pal
index 7b894a11a..7b894a11a 100644
--- a/graphics/pokemon/palettes/forretress_shiny_palette.pal
+++ b/graphics/pokemon/forretress/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/furret_front_pic.png b/graphics/pokemon/furret/anim_front.png
index 2a0e35ee1..2a0e35ee1 100644
--- a/graphics/pokemon/anim_front_pics/furret_front_pic.png
+++ b/graphics/pokemon/furret/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/furret_back_pic.png b/graphics/pokemon/furret/back.png
index 0dd2873af..0dd2873af 100644
--- a/graphics/pokemon/back_pics/furret_back_pic.png
+++ b/graphics/pokemon/furret/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/furret_footprint.png b/graphics/pokemon/furret/footprint.png
index 225445fb3..225445fb3 100644
--- a/graphics/pokemon/footprints/furret_footprint.png
+++ b/graphics/pokemon/furret/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/furret_still_front_pic.png b/graphics/pokemon/furret/front.png
index 4f7ca56e1..4f7ca56e1 100644
--- a/graphics/pokemon/front_pics/furret_still_front_pic.png
+++ b/graphics/pokemon/furret/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/furret_icon.png b/graphics/pokemon/furret/icon.png
index 6974ee9f3..6974ee9f3 100644
--- a/graphics/pokemon/icons/furret_icon.png
+++ b/graphics/pokemon/furret/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/furret_palette.pal b/graphics/pokemon/furret/normal.pal
index 5996436be..5996436be 100644
--- a/graphics/pokemon/palettes/furret_palette.pal
+++ b/graphics/pokemon/furret/normal.pal
diff --git a/graphics/pokemon/palettes/furret_shiny_palette.pal b/graphics/pokemon/furret/shiny.pal
index 24ebc5bd6..24ebc5bd6 100644
--- a/graphics/pokemon/palettes/furret_shiny_palette.pal
+++ b/graphics/pokemon/furret/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/gardevoir_front_pic.png b/graphics/pokemon/gardevoir/anim_front.png
index 88067c8c0..88067c8c0 100644
--- a/graphics/pokemon/anim_front_pics/gardevoir_front_pic.png
+++ b/graphics/pokemon/gardevoir/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/gardevoir_back_pic.png b/graphics/pokemon/gardevoir/back.png
index 9f975a82c..9f975a82c 100644
--- a/graphics/pokemon/back_pics/gardevoir_back_pic.png
+++ b/graphics/pokemon/gardevoir/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/gardevoir_footprint.png b/graphics/pokemon/gardevoir/footprint.png
index fd9f4755b..fd9f4755b 100644
--- a/graphics/pokemon/footprints/gardevoir_footprint.png
+++ b/graphics/pokemon/gardevoir/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/gardevoir_still_front_pic.png b/graphics/pokemon/gardevoir/front.png
index 27de874ac..27de874ac 100644
--- a/graphics/pokemon/front_pics/gardevoir_still_front_pic.png
+++ b/graphics/pokemon/gardevoir/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/gardevoir_icon.png b/graphics/pokemon/gardevoir/icon.png
index 958ea7f62..958ea7f62 100644
--- a/graphics/pokemon/icons/gardevoir_icon.png
+++ b/graphics/pokemon/gardevoir/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/gardevoir_palette.pal b/graphics/pokemon/gardevoir/normal.pal
index 1e513ae87..1e513ae87 100644
--- a/graphics/pokemon/palettes/gardevoir_palette.pal
+++ b/graphics/pokemon/gardevoir/normal.pal
diff --git a/graphics/pokemon/palettes/gardevoir_shiny_palette.pal b/graphics/pokemon/gardevoir/shiny.pal
index b588f6eea..b588f6eea 100644
--- a/graphics/pokemon/palettes/gardevoir_shiny_palette.pal
+++ b/graphics/pokemon/gardevoir/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/gastly_front_pic.png b/graphics/pokemon/gastly/anim_front.png
index 935ff437d..935ff437d 100644
--- a/graphics/pokemon/anim_front_pics/gastly_front_pic.png
+++ b/graphics/pokemon/gastly/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/gastly_back_pic.png b/graphics/pokemon/gastly/back.png
index 3ff1badde..3ff1badde 100644
--- a/graphics/pokemon/back_pics/gastly_back_pic.png
+++ b/graphics/pokemon/gastly/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/gastly_footprint.png b/graphics/pokemon/gastly/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/gastly_footprint.png
+++ b/graphics/pokemon/gastly/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/gastly_still_front_pic.png b/graphics/pokemon/gastly/front.png
index 444ac485a..444ac485a 100644
--- a/graphics/pokemon/front_pics/gastly_still_front_pic.png
+++ b/graphics/pokemon/gastly/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/gastly_icon.png b/graphics/pokemon/gastly/icon.png
index 6a33a8ab5..6a33a8ab5 100644
--- a/graphics/pokemon/icons/gastly_icon.png
+++ b/graphics/pokemon/gastly/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/gastly_palette.pal b/graphics/pokemon/gastly/normal.pal
index 6098ec195..6098ec195 100644
--- a/graphics/pokemon/palettes/gastly_palette.pal
+++ b/graphics/pokemon/gastly/normal.pal
diff --git a/graphics/pokemon/palettes/gastly_shiny_palette.pal b/graphics/pokemon/gastly/shiny.pal
index 350cb8abf..350cb8abf 100644
--- a/graphics/pokemon/palettes/gastly_shiny_palette.pal
+++ b/graphics/pokemon/gastly/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/gengar_front_pic.png b/graphics/pokemon/gengar/anim_front.png
index 8f0cb8913..8f0cb8913 100644
--- a/graphics/pokemon/anim_front_pics/gengar_front_pic.png
+++ b/graphics/pokemon/gengar/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/gengar_back_pic.png b/graphics/pokemon/gengar/back.png
index 1132f4523..1132f4523 100644
--- a/graphics/pokemon/back_pics/gengar_back_pic.png
+++ b/graphics/pokemon/gengar/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/gengar_footprint.png b/graphics/pokemon/gengar/footprint.png
index 0eb8fcebf..0eb8fcebf 100644
--- a/graphics/pokemon/footprints/gengar_footprint.png
+++ b/graphics/pokemon/gengar/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/gengar_still_front_pic.png b/graphics/pokemon/gengar/front.png
index f1537c6a4..f1537c6a4 100644
--- a/graphics/pokemon/front_pics/gengar_still_front_pic.png
+++ b/graphics/pokemon/gengar/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/gengar_icon.png b/graphics/pokemon/gengar/icon.png
index bbc3d758d..bbc3d758d 100644
--- a/graphics/pokemon/icons/gengar_icon.png
+++ b/graphics/pokemon/gengar/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/gengar_palette.pal b/graphics/pokemon/gengar/normal.pal
index 595c47909..595c47909 100644
--- a/graphics/pokemon/palettes/gengar_palette.pal
+++ b/graphics/pokemon/gengar/normal.pal
diff --git a/graphics/pokemon/palettes/gengar_shiny_palette.pal b/graphics/pokemon/gengar/shiny.pal
index d3f61f7d5..d3f61f7d5 100644
--- a/graphics/pokemon/palettes/gengar_shiny_palette.pal
+++ b/graphics/pokemon/gengar/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/geodude_front_pic.png b/graphics/pokemon/geodude/anim_front.png
index 941f279f3..941f279f3 100644
--- a/graphics/pokemon/anim_front_pics/geodude_front_pic.png
+++ b/graphics/pokemon/geodude/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/geodude_back_pic.png b/graphics/pokemon/geodude/back.png
index 29a4e3f3d..29a4e3f3d 100644
--- a/graphics/pokemon/back_pics/geodude_back_pic.png
+++ b/graphics/pokemon/geodude/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/geodude_footprint.png b/graphics/pokemon/geodude/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/geodude_footprint.png
+++ b/graphics/pokemon/geodude/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/geodude_still_front_pic.png b/graphics/pokemon/geodude/front.png
index 99d5a1afe..99d5a1afe 100644
--- a/graphics/pokemon/front_pics/geodude_still_front_pic.png
+++ b/graphics/pokemon/geodude/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/geodude_icon.png b/graphics/pokemon/geodude/icon.png
index da39c60f0..da39c60f0 100644
--- a/graphics/pokemon/icons/geodude_icon.png
+++ b/graphics/pokemon/geodude/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/geodude_palette.pal b/graphics/pokemon/geodude/normal.pal
index 0bb2d6afd..0bb2d6afd 100644
--- a/graphics/pokemon/palettes/geodude_palette.pal
+++ b/graphics/pokemon/geodude/normal.pal
diff --git a/graphics/pokemon/palettes/geodude_shiny_palette.pal b/graphics/pokemon/geodude/shiny.pal
index d98062067..d98062067 100644
--- a/graphics/pokemon/palettes/geodude_shiny_palette.pal
+++ b/graphics/pokemon/geodude/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/girafarig_front_pic.png b/graphics/pokemon/girafarig/anim_front.png
index fded8246b..fded8246b 100644
--- a/graphics/pokemon/anim_front_pics/girafarig_front_pic.png
+++ b/graphics/pokemon/girafarig/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/girafarig_back_pic.png b/graphics/pokemon/girafarig/back.png
index 8d86e1f79..8d86e1f79 100644
--- a/graphics/pokemon/back_pics/girafarig_back_pic.png
+++ b/graphics/pokemon/girafarig/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/girafarig_footprint.png b/graphics/pokemon/girafarig/footprint.png
index f7af3f622..f7af3f622 100644
--- a/graphics/pokemon/footprints/girafarig_footprint.png
+++ b/graphics/pokemon/girafarig/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/girafarig_still_front_pic.png b/graphics/pokemon/girafarig/front.png
index bcada08dd..bcada08dd 100644
--- a/graphics/pokemon/front_pics/girafarig_still_front_pic.png
+++ b/graphics/pokemon/girafarig/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/girafarig_icon.png b/graphics/pokemon/girafarig/icon.png
index c8b79b132..c8b79b132 100644
--- a/graphics/pokemon/icons/girafarig_icon.png
+++ b/graphics/pokemon/girafarig/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/girafarig_palette.pal b/graphics/pokemon/girafarig/normal.pal
index 03e09de81..03e09de81 100644
--- a/graphics/pokemon/palettes/girafarig_palette.pal
+++ b/graphics/pokemon/girafarig/normal.pal
diff --git a/graphics/pokemon/palettes/girafarig_shiny_palette.pal b/graphics/pokemon/girafarig/shiny.pal
index d720557a7..d720557a7 100644
--- a/graphics/pokemon/palettes/girafarig_shiny_palette.pal
+++ b/graphics/pokemon/girafarig/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/glalie_front_pic.png b/graphics/pokemon/glalie/anim_front.png
index 3363961d7..3363961d7 100644
--- a/graphics/pokemon/anim_front_pics/glalie_front_pic.png
+++ b/graphics/pokemon/glalie/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/glalie_back_pic.png b/graphics/pokemon/glalie/back.png
index 9c73ee9b2..9c73ee9b2 100644
--- a/graphics/pokemon/back_pics/glalie_back_pic.png
+++ b/graphics/pokemon/glalie/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/glalie_footprint.png b/graphics/pokemon/glalie/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/glalie_footprint.png
+++ b/graphics/pokemon/glalie/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/glalie_still_front_pic.png b/graphics/pokemon/glalie/front.png
index c49ea517c..c49ea517c 100644
--- a/graphics/pokemon/front_pics/glalie_still_front_pic.png
+++ b/graphics/pokemon/glalie/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/glalie_icon.png b/graphics/pokemon/glalie/icon.png
index 0fc66c900..0fc66c900 100644
--- a/graphics/pokemon/icons/glalie_icon.png
+++ b/graphics/pokemon/glalie/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/glalie_palette.pal b/graphics/pokemon/glalie/normal.pal
index aeadcf782..aeadcf782 100644
--- a/graphics/pokemon/palettes/glalie_palette.pal
+++ b/graphics/pokemon/glalie/normal.pal
diff --git a/graphics/pokemon/palettes/glalie_shiny_palette.pal b/graphics/pokemon/glalie/shiny.pal
index c45ff937f..c45ff937f 100644
--- a/graphics/pokemon/palettes/glalie_shiny_palette.pal
+++ b/graphics/pokemon/glalie/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/gligar_front_pic.png b/graphics/pokemon/gligar/anim_front.png
index c5ce592eb..c5ce592eb 100644
--- a/graphics/pokemon/anim_front_pics/gligar_front_pic.png
+++ b/graphics/pokemon/gligar/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/gligar_back_pic.png b/graphics/pokemon/gligar/back.png
index 8179867e9..8179867e9 100644
--- a/graphics/pokemon/back_pics/gligar_back_pic.png
+++ b/graphics/pokemon/gligar/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/gligar_footprint.png b/graphics/pokemon/gligar/footprint.png
index 3ca9864f0..3ca9864f0 100644
--- a/graphics/pokemon/footprints/gligar_footprint.png
+++ b/graphics/pokemon/gligar/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/gligar_still_front_pic.png b/graphics/pokemon/gligar/front.png
index b6bb68483..b6bb68483 100644
--- a/graphics/pokemon/front_pics/gligar_still_front_pic.png
+++ b/graphics/pokemon/gligar/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/gligar_icon.png b/graphics/pokemon/gligar/icon.png
index baa8414a7..baa8414a7 100644
--- a/graphics/pokemon/icons/gligar_icon.png
+++ b/graphics/pokemon/gligar/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/gligar_palette.pal b/graphics/pokemon/gligar/normal.pal
index 2f5ba7645..2f5ba7645 100644
--- a/graphics/pokemon/palettes/gligar_palette.pal
+++ b/graphics/pokemon/gligar/normal.pal
diff --git a/graphics/pokemon/palettes/gligar_shiny_palette.pal b/graphics/pokemon/gligar/shiny.pal
index 9b1d7d308..9b1d7d308 100644
--- a/graphics/pokemon/palettes/gligar_shiny_palette.pal
+++ b/graphics/pokemon/gligar/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/gloom_front_pic.png b/graphics/pokemon/gloom/anim_front.png
index 07f85cfb8..07f85cfb8 100644
--- a/graphics/pokemon/anim_front_pics/gloom_front_pic.png
+++ b/graphics/pokemon/gloom/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/gloom_back_pic.png b/graphics/pokemon/gloom/back.png
index ec65e869e..ec65e869e 100644
--- a/graphics/pokemon/back_pics/gloom_back_pic.png
+++ b/graphics/pokemon/gloom/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/gloom_footprint.png b/graphics/pokemon/gloom/footprint.png
index 7e9c265e8..7e9c265e8 100644
--- a/graphics/pokemon/footprints/gloom_footprint.png
+++ b/graphics/pokemon/gloom/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/gloom_still_front_pic.png b/graphics/pokemon/gloom/front.png
index 2a2658c5a..2a2658c5a 100644
--- a/graphics/pokemon/front_pics/gloom_still_front_pic.png
+++ b/graphics/pokemon/gloom/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/gloom_icon.png b/graphics/pokemon/gloom/icon.png
index 99c487dd2..99c487dd2 100644
--- a/graphics/pokemon/icons/gloom_icon.png
+++ b/graphics/pokemon/gloom/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/gloom_palette.pal b/graphics/pokemon/gloom/normal.pal
index 7b0861249..7b0861249 100644
--- a/graphics/pokemon/palettes/gloom_palette.pal
+++ b/graphics/pokemon/gloom/normal.pal
diff --git a/graphics/pokemon/palettes/gloom_shiny_palette.pal b/graphics/pokemon/gloom/shiny.pal
index c5e913980..c5e913980 100644
--- a/graphics/pokemon/palettes/gloom_shiny_palette.pal
+++ b/graphics/pokemon/gloom/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/golbat_front_pic.png b/graphics/pokemon/golbat/anim_front.png
index c7ba99936..c7ba99936 100644
--- a/graphics/pokemon/anim_front_pics/golbat_front_pic.png
+++ b/graphics/pokemon/golbat/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/golbat_back_pic.png b/graphics/pokemon/golbat/back.png
index caa196036..caa196036 100644
--- a/graphics/pokemon/back_pics/golbat_back_pic.png
+++ b/graphics/pokemon/golbat/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/golbat_footprint.png b/graphics/pokemon/golbat/footprint.png
index 65c126fb3..65c126fb3 100644
--- a/graphics/pokemon/footprints/golbat_footprint.png
+++ b/graphics/pokemon/golbat/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/golbat_still_front_pic.png b/graphics/pokemon/golbat/front.png
index 84a7de3ba..84a7de3ba 100644
--- a/graphics/pokemon/front_pics/golbat_still_front_pic.png
+++ b/graphics/pokemon/golbat/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/golbat_icon.png b/graphics/pokemon/golbat/icon.png
index 25b3f6821..25b3f6821 100644
--- a/graphics/pokemon/icons/golbat_icon.png
+++ b/graphics/pokemon/golbat/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/golbat_palette.pal b/graphics/pokemon/golbat/normal.pal
index 424bccef8..424bccef8 100644
--- a/graphics/pokemon/palettes/golbat_palette.pal
+++ b/graphics/pokemon/golbat/normal.pal
diff --git a/graphics/pokemon/palettes/golbat_shiny_palette.pal b/graphics/pokemon/golbat/shiny.pal
index 7255f93b7..7255f93b7 100644
--- a/graphics/pokemon/palettes/golbat_shiny_palette.pal
+++ b/graphics/pokemon/golbat/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/goldeen_front_pic.png b/graphics/pokemon/goldeen/anim_front.png
index 375571730..375571730 100644
--- a/graphics/pokemon/anim_front_pics/goldeen_front_pic.png
+++ b/graphics/pokemon/goldeen/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/goldeen_back_pic.png b/graphics/pokemon/goldeen/back.png
index 8ac7cb7bc..8ac7cb7bc 100644
--- a/graphics/pokemon/back_pics/goldeen_back_pic.png
+++ b/graphics/pokemon/goldeen/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/goldeen_footprint.png b/graphics/pokemon/goldeen/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/goldeen_footprint.png
+++ b/graphics/pokemon/goldeen/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/goldeen_still_front_pic.png b/graphics/pokemon/goldeen/front.png
index 8014f649d..8014f649d 100644
--- a/graphics/pokemon/front_pics/goldeen_still_front_pic.png
+++ b/graphics/pokemon/goldeen/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/goldeen_icon.png b/graphics/pokemon/goldeen/icon.png
index 9dc3bff80..9dc3bff80 100644
--- a/graphics/pokemon/icons/goldeen_icon.png
+++ b/graphics/pokemon/goldeen/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/goldeen_palette.pal b/graphics/pokemon/goldeen/normal.pal
index d88f14932..d88f14932 100644
--- a/graphics/pokemon/palettes/goldeen_palette.pal
+++ b/graphics/pokemon/goldeen/normal.pal
diff --git a/graphics/pokemon/palettes/goldeen_shiny_palette.pal b/graphics/pokemon/goldeen/shiny.pal
index d2a881523..d2a881523 100644
--- a/graphics/pokemon/palettes/goldeen_shiny_palette.pal
+++ b/graphics/pokemon/goldeen/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/golduck_front_pic.png b/graphics/pokemon/golduck/anim_front.png
index 87b2327ce..87b2327ce 100644
--- a/graphics/pokemon/anim_front_pics/golduck_front_pic.png
+++ b/graphics/pokemon/golduck/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/golduck_back_pic.png b/graphics/pokemon/golduck/back.png
index 1422a73ae..1422a73ae 100644
--- a/graphics/pokemon/back_pics/golduck_back_pic.png
+++ b/graphics/pokemon/golduck/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/golduck_footprint.png b/graphics/pokemon/golduck/footprint.png
index 63ba752e4..63ba752e4 100644
--- a/graphics/pokemon/footprints/golduck_footprint.png
+++ b/graphics/pokemon/golduck/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/golduck_still_front_pic.png b/graphics/pokemon/golduck/front.png
index c0da452fe..c0da452fe 100644
--- a/graphics/pokemon/front_pics/golduck_still_front_pic.png
+++ b/graphics/pokemon/golduck/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/golduck_icon.png b/graphics/pokemon/golduck/icon.png
index c0c922834..c0c922834 100644
--- a/graphics/pokemon/icons/golduck_icon.png
+++ b/graphics/pokemon/golduck/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/golduck_palette.pal b/graphics/pokemon/golduck/normal.pal
index f6dc8cce1..f6dc8cce1 100644
--- a/graphics/pokemon/palettes/golduck_palette.pal
+++ b/graphics/pokemon/golduck/normal.pal
diff --git a/graphics/pokemon/palettes/golduck_shiny_palette.pal b/graphics/pokemon/golduck/shiny.pal
index 2d563d702..2d563d702 100644
--- a/graphics/pokemon/palettes/golduck_shiny_palette.pal
+++ b/graphics/pokemon/golduck/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/golem_front_pic.png b/graphics/pokemon/golem/anim_front.png
index 48e7128d6..48e7128d6 100644
--- a/graphics/pokemon/anim_front_pics/golem_front_pic.png
+++ b/graphics/pokemon/golem/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/golem_back_pic.png b/graphics/pokemon/golem/back.png
index fb27ae43f..fb27ae43f 100644
--- a/graphics/pokemon/back_pics/golem_back_pic.png
+++ b/graphics/pokemon/golem/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/golem_footprint.png b/graphics/pokemon/golem/footprint.png
index 8ddc6345c..8ddc6345c 100644
--- a/graphics/pokemon/footprints/golem_footprint.png
+++ b/graphics/pokemon/golem/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/golem_still_front_pic.png b/graphics/pokemon/golem/front.png
index 02c98b38f..02c98b38f 100644
--- a/graphics/pokemon/front_pics/golem_still_front_pic.png
+++ b/graphics/pokemon/golem/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/golem_icon.png b/graphics/pokemon/golem/icon.png
index 480f8c0bb..480f8c0bb 100644
--- a/graphics/pokemon/icons/golem_icon.png
+++ b/graphics/pokemon/golem/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/golem_palette.pal b/graphics/pokemon/golem/normal.pal
index bb55b42d9..bb55b42d9 100644
--- a/graphics/pokemon/palettes/golem_palette.pal
+++ b/graphics/pokemon/golem/normal.pal
diff --git a/graphics/pokemon/palettes/golem_shiny_palette.pal b/graphics/pokemon/golem/shiny.pal
index 41b80863c..41b80863c 100644
--- a/graphics/pokemon/palettes/golem_shiny_palette.pal
+++ b/graphics/pokemon/golem/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/gorebyss_front_pic.png b/graphics/pokemon/gorebyss/anim_front.png
index d3dd2fd48..d3dd2fd48 100644
--- a/graphics/pokemon/anim_front_pics/gorebyss_front_pic.png
+++ b/graphics/pokemon/gorebyss/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/gorebyss_back_pic.png b/graphics/pokemon/gorebyss/back.png
index aaf24366b..aaf24366b 100644
--- a/graphics/pokemon/back_pics/gorebyss_back_pic.png
+++ b/graphics/pokemon/gorebyss/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/gorebyss_footprint.png b/graphics/pokemon/gorebyss/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/gorebyss_footprint.png
+++ b/graphics/pokemon/gorebyss/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/gorebyss_still_front_pic.png b/graphics/pokemon/gorebyss/front.png
index ba017418c..ba017418c 100644
--- a/graphics/pokemon/front_pics/gorebyss_still_front_pic.png
+++ b/graphics/pokemon/gorebyss/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/gorebyss_icon.png b/graphics/pokemon/gorebyss/icon.png
index 7dc8bc476..7dc8bc476 100644
--- a/graphics/pokemon/icons/gorebyss_icon.png
+++ b/graphics/pokemon/gorebyss/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/gorebyss_palette.pal b/graphics/pokemon/gorebyss/normal.pal
index 432c0eccc..432c0eccc 100644
--- a/graphics/pokemon/palettes/gorebyss_palette.pal
+++ b/graphics/pokemon/gorebyss/normal.pal
diff --git a/graphics/pokemon/palettes/gorebyss_shiny_palette.pal b/graphics/pokemon/gorebyss/shiny.pal
index 693375005..693375005 100644
--- a/graphics/pokemon/palettes/gorebyss_shiny_palette.pal
+++ b/graphics/pokemon/gorebyss/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/granbull_front_pic.png b/graphics/pokemon/granbull/anim_front.png
index e077f8b07..e077f8b07 100644
--- a/graphics/pokemon/anim_front_pics/granbull_front_pic.png
+++ b/graphics/pokemon/granbull/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/granbull_back_pic.png b/graphics/pokemon/granbull/back.png
index 2ac044da6..2ac044da6 100644
--- a/graphics/pokemon/back_pics/granbull_back_pic.png
+++ b/graphics/pokemon/granbull/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/granbull_footprint.png b/graphics/pokemon/granbull/footprint.png
index 010b5fb67..010b5fb67 100644
--- a/graphics/pokemon/footprints/granbull_footprint.png
+++ b/graphics/pokemon/granbull/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/granbull_still_front_pic.png b/graphics/pokemon/granbull/front.png
index ee4c40b25..ee4c40b25 100644
--- a/graphics/pokemon/front_pics/granbull_still_front_pic.png
+++ b/graphics/pokemon/granbull/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/granbull_icon.png b/graphics/pokemon/granbull/icon.png
index 89beb7a8c..89beb7a8c 100644
--- a/graphics/pokemon/icons/granbull_icon.png
+++ b/graphics/pokemon/granbull/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/granbull_palette.pal b/graphics/pokemon/granbull/normal.pal
index b83b14d16..b83b14d16 100644
--- a/graphics/pokemon/palettes/granbull_palette.pal
+++ b/graphics/pokemon/granbull/normal.pal
diff --git a/graphics/pokemon/palettes/granbull_shiny_palette.pal b/graphics/pokemon/granbull/shiny.pal
index a8dfec728..a8dfec728 100644
--- a/graphics/pokemon/palettes/granbull_shiny_palette.pal
+++ b/graphics/pokemon/granbull/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/graveler_front_pic.png b/graphics/pokemon/graveler/anim_front.png
index 09b913061..09b913061 100644
--- a/graphics/pokemon/anim_front_pics/graveler_front_pic.png
+++ b/graphics/pokemon/graveler/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/graveler_back_pic.png b/graphics/pokemon/graveler/back.png
index 79e87cee9..79e87cee9 100644
--- a/graphics/pokemon/back_pics/graveler_back_pic.png
+++ b/graphics/pokemon/graveler/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/graveler_footprint.png b/graphics/pokemon/graveler/footprint.png
index c836ad3f4..c836ad3f4 100644
--- a/graphics/pokemon/footprints/graveler_footprint.png
+++ b/graphics/pokemon/graveler/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/graveler_still_front_pic.png b/graphics/pokemon/graveler/front.png
index 25c7066a4..25c7066a4 100644
--- a/graphics/pokemon/front_pics/graveler_still_front_pic.png
+++ b/graphics/pokemon/graveler/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/graveler_icon.png b/graphics/pokemon/graveler/icon.png
index 84e81dc10..84e81dc10 100644
--- a/graphics/pokemon/icons/graveler_icon.png
+++ b/graphics/pokemon/graveler/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/graveler_palette.pal b/graphics/pokemon/graveler/normal.pal
index b176f1268..b176f1268 100644
--- a/graphics/pokemon/palettes/graveler_palette.pal
+++ b/graphics/pokemon/graveler/normal.pal
diff --git a/graphics/pokemon/palettes/graveler_shiny_palette.pal b/graphics/pokemon/graveler/shiny.pal
index 3b61619d9..3b61619d9 100644
--- a/graphics/pokemon/palettes/graveler_shiny_palette.pal
+++ b/graphics/pokemon/graveler/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/grimer_front_pic.png b/graphics/pokemon/grimer/anim_front.png
index 9305e2d97..9305e2d97 100644
--- a/graphics/pokemon/anim_front_pics/grimer_front_pic.png
+++ b/graphics/pokemon/grimer/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/grimer_back_pic.png b/graphics/pokemon/grimer/back.png
index 593a1ab54..593a1ab54 100644
--- a/graphics/pokemon/back_pics/grimer_back_pic.png
+++ b/graphics/pokemon/grimer/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/grimer_footprint.png b/graphics/pokemon/grimer/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/grimer_footprint.png
+++ b/graphics/pokemon/grimer/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/grimer_still_front_pic.png b/graphics/pokemon/grimer/front.png
index 040fbd192..040fbd192 100644
--- a/graphics/pokemon/front_pics/grimer_still_front_pic.png
+++ b/graphics/pokemon/grimer/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/grimer_icon.png b/graphics/pokemon/grimer/icon.png
index c814df542..c814df542 100644
--- a/graphics/pokemon/icons/grimer_icon.png
+++ b/graphics/pokemon/grimer/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/grimer_palette.pal b/graphics/pokemon/grimer/normal.pal
index 6a1087bcf..6a1087bcf 100644
--- a/graphics/pokemon/palettes/grimer_palette.pal
+++ b/graphics/pokemon/grimer/normal.pal
diff --git a/graphics/pokemon/palettes/grimer_shiny_palette.pal b/graphics/pokemon/grimer/shiny.pal
index 6c9a6b415..6c9a6b415 100644
--- a/graphics/pokemon/palettes/grimer_shiny_palette.pal
+++ b/graphics/pokemon/grimer/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/groudon_front_pic.png b/graphics/pokemon/groudon/anim_front.png
index 815808a92..815808a92 100644
--- a/graphics/pokemon/anim_front_pics/groudon_front_pic.png
+++ b/graphics/pokemon/groudon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/groudon_back_pic.png b/graphics/pokemon/groudon/back.png
index e2b711932..e2b711932 100644
--- a/graphics/pokemon/back_pics/groudon_back_pic.png
+++ b/graphics/pokemon/groudon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/groudon_footprint.png b/graphics/pokemon/groudon/footprint.png
index cb80ba48d..cb80ba48d 100644
--- a/graphics/pokemon/footprints/groudon_footprint.png
+++ b/graphics/pokemon/groudon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/groudon_still_front_pic.png b/graphics/pokemon/groudon/front.png
index 2e768694f..2e768694f 100644
--- a/graphics/pokemon/front_pics/groudon_still_front_pic.png
+++ b/graphics/pokemon/groudon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/groudon_icon.png b/graphics/pokemon/groudon/icon.png
index 2b8707bb8..2b8707bb8 100644
--- a/graphics/pokemon/icons/groudon_icon.png
+++ b/graphics/pokemon/groudon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/groudon_palette.pal b/graphics/pokemon/groudon/normal.pal
index 24c99e510..24c99e510 100644
--- a/graphics/pokemon/palettes/groudon_palette.pal
+++ b/graphics/pokemon/groudon/normal.pal
diff --git a/graphics/pokemon/palettes/groudon_shiny_palette.pal b/graphics/pokemon/groudon/shiny.pal
index 6c0a16585..6c0a16585 100644
--- a/graphics/pokemon/palettes/groudon_shiny_palette.pal
+++ b/graphics/pokemon/groudon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/grovyle_front_pic.png b/graphics/pokemon/grovyle/anim_front.png
index daee3d1be..daee3d1be 100644
--- a/graphics/pokemon/anim_front_pics/grovyle_front_pic.png
+++ b/graphics/pokemon/grovyle/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/grovyle_back_pic.png b/graphics/pokemon/grovyle/back.png
index 1ffed7b90..1ffed7b90 100644
--- a/graphics/pokemon/back_pics/grovyle_back_pic.png
+++ b/graphics/pokemon/grovyle/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/grovyle_footprint.png b/graphics/pokemon/grovyle/footprint.png
index c78ea507c..c78ea507c 100644
--- a/graphics/pokemon/footprints/grovyle_footprint.png
+++ b/graphics/pokemon/grovyle/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/grovyle_still_front_pic.png b/graphics/pokemon/grovyle/front.png
index 95a19a7ca..95a19a7ca 100644
--- a/graphics/pokemon/front_pics/grovyle_still_front_pic.png
+++ b/graphics/pokemon/grovyle/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/grovyle_icon.png b/graphics/pokemon/grovyle/icon.png
index bed04dc98..bed04dc98 100644
--- a/graphics/pokemon/icons/grovyle_icon.png
+++ b/graphics/pokemon/grovyle/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/grovyle_palette.pal b/graphics/pokemon/grovyle/normal.pal
index a1e6181fc..a1e6181fc 100644
--- a/graphics/pokemon/palettes/grovyle_palette.pal
+++ b/graphics/pokemon/grovyle/normal.pal
diff --git a/graphics/pokemon/palettes/grovyle_shiny_palette.pal b/graphics/pokemon/grovyle/shiny.pal
index c61afa4a3..c61afa4a3 100644
--- a/graphics/pokemon/palettes/grovyle_shiny_palette.pal
+++ b/graphics/pokemon/grovyle/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/growlithe_front_pic.png b/graphics/pokemon/growlithe/anim_front.png
index ee7564cb9..ee7564cb9 100644
--- a/graphics/pokemon/anim_front_pics/growlithe_front_pic.png
+++ b/graphics/pokemon/growlithe/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/growlithe_back_pic.png b/graphics/pokemon/growlithe/back.png
index 2b89351a3..2b89351a3 100644
--- a/graphics/pokemon/back_pics/growlithe_back_pic.png
+++ b/graphics/pokemon/growlithe/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/growlithe_footprint.png b/graphics/pokemon/growlithe/footprint.png
index 2517cdcba..2517cdcba 100644
--- a/graphics/pokemon/footprints/growlithe_footprint.png
+++ b/graphics/pokemon/growlithe/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/growlithe_still_front_pic.png b/graphics/pokemon/growlithe/front.png
index 12ae57290..12ae57290 100644
--- a/graphics/pokemon/front_pics/growlithe_still_front_pic.png
+++ b/graphics/pokemon/growlithe/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/growlithe_icon.png b/graphics/pokemon/growlithe/icon.png
index 8870c8b4f..8870c8b4f 100644
--- a/graphics/pokemon/icons/growlithe_icon.png
+++ b/graphics/pokemon/growlithe/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/growlithe_palette.pal b/graphics/pokemon/growlithe/normal.pal
index 0c7054eae..0c7054eae 100644
--- a/graphics/pokemon/palettes/growlithe_palette.pal
+++ b/graphics/pokemon/growlithe/normal.pal
diff --git a/graphics/pokemon/palettes/growlithe_shiny_palette.pal b/graphics/pokemon/growlithe/shiny.pal
index 0604c9c25..0604c9c25 100644
--- a/graphics/pokemon/palettes/growlithe_shiny_palette.pal
+++ b/graphics/pokemon/growlithe/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/grumpig_front_pic.png b/graphics/pokemon/grumpig/anim_front.png
index 1d128a652..1d128a652 100644
--- a/graphics/pokemon/anim_front_pics/grumpig_front_pic.png
+++ b/graphics/pokemon/grumpig/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/grumpig_back_pic.png b/graphics/pokemon/grumpig/back.png
index 08d476c29..08d476c29 100644
--- a/graphics/pokemon/back_pics/grumpig_back_pic.png
+++ b/graphics/pokemon/grumpig/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/grumpig_footprint.png b/graphics/pokemon/grumpig/footprint.png
index ddff0e500..ddff0e500 100644
--- a/graphics/pokemon/footprints/grumpig_footprint.png
+++ b/graphics/pokemon/grumpig/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/grumpig_still_front_pic.png b/graphics/pokemon/grumpig/front.png
index 42604aed2..42604aed2 100644
--- a/graphics/pokemon/front_pics/grumpig_still_front_pic.png
+++ b/graphics/pokemon/grumpig/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/grumpig_icon.png b/graphics/pokemon/grumpig/icon.png
index fb3cac59d..fb3cac59d 100644
--- a/graphics/pokemon/icons/grumpig_icon.png
+++ b/graphics/pokemon/grumpig/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/grumpig_palette.pal b/graphics/pokemon/grumpig/normal.pal
index c49601f91..c49601f91 100644
--- a/graphics/pokemon/palettes/grumpig_palette.pal
+++ b/graphics/pokemon/grumpig/normal.pal
diff --git a/graphics/pokemon/palettes/grumpig_shiny_palette.pal b/graphics/pokemon/grumpig/shiny.pal
index b9c88ae3d..b9c88ae3d 100644
--- a/graphics/pokemon/palettes/grumpig_shiny_palette.pal
+++ b/graphics/pokemon/grumpig/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/gulpin_front_pic.png b/graphics/pokemon/gulpin/anim_front.png
index 8381bfdc7..8381bfdc7 100644
--- a/graphics/pokemon/anim_front_pics/gulpin_front_pic.png
+++ b/graphics/pokemon/gulpin/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/gulpin_back_pic.png b/graphics/pokemon/gulpin/back.png
index 928f291d1..928f291d1 100644
--- a/graphics/pokemon/back_pics/gulpin_back_pic.png
+++ b/graphics/pokemon/gulpin/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/gulpin_footprint.png b/graphics/pokemon/gulpin/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/gulpin_footprint.png
+++ b/graphics/pokemon/gulpin/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/gulpin_still_front_pic.png b/graphics/pokemon/gulpin/front.png
index 14809cf73..14809cf73 100644
--- a/graphics/pokemon/front_pics/gulpin_still_front_pic.png
+++ b/graphics/pokemon/gulpin/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/gulpin_icon.png b/graphics/pokemon/gulpin/icon.png
index 53eed645f..53eed645f 100644
--- a/graphics/pokemon/icons/gulpin_icon.png
+++ b/graphics/pokemon/gulpin/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/gulpin_palette.pal b/graphics/pokemon/gulpin/normal.pal
index 588be1e4a..588be1e4a 100644
--- a/graphics/pokemon/palettes/gulpin_palette.pal
+++ b/graphics/pokemon/gulpin/normal.pal
diff --git a/graphics/pokemon/palettes/gulpin_shiny_palette.pal b/graphics/pokemon/gulpin/shiny.pal
index 83373f072..83373f072 100644
--- a/graphics/pokemon/palettes/gulpin_shiny_palette.pal
+++ b/graphics/pokemon/gulpin/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/gyarados_front_pic.png b/graphics/pokemon/gyarados/anim_front.png
index 7b1864f1b..7b1864f1b 100644
--- a/graphics/pokemon/anim_front_pics/gyarados_front_pic.png
+++ b/graphics/pokemon/gyarados/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/gyarados_back_pic.png b/graphics/pokemon/gyarados/back.png
index 8240fa3cc..8240fa3cc 100644
--- a/graphics/pokemon/back_pics/gyarados_back_pic.png
+++ b/graphics/pokemon/gyarados/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/gyarados_footprint.png b/graphics/pokemon/gyarados/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/gyarados_footprint.png
+++ b/graphics/pokemon/gyarados/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/gyarados_still_front_pic.png b/graphics/pokemon/gyarados/front.png
index 3a2d4f3e7..3a2d4f3e7 100644
--- a/graphics/pokemon/front_pics/gyarados_still_front_pic.png
+++ b/graphics/pokemon/gyarados/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/gyarados_icon.png b/graphics/pokemon/gyarados/icon.png
index 13e611d09..13e611d09 100644
--- a/graphics/pokemon/icons/gyarados_icon.png
+++ b/graphics/pokemon/gyarados/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/gyarados_palette.pal b/graphics/pokemon/gyarados/normal.pal
index 63b325d5b..63b325d5b 100644
--- a/graphics/pokemon/palettes/gyarados_palette.pal
+++ b/graphics/pokemon/gyarados/normal.pal
diff --git a/graphics/pokemon/palettes/gyarados_shiny_palette.pal b/graphics/pokemon/gyarados/shiny.pal
index a8afe9dcd..a8afe9dcd 100644
--- a/graphics/pokemon/palettes/gyarados_shiny_palette.pal
+++ b/graphics/pokemon/gyarados/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/hariyama_front_pic.png b/graphics/pokemon/hariyama/anim_front.png
index d71ec4704..d71ec4704 100644
--- a/graphics/pokemon/anim_front_pics/hariyama_front_pic.png
+++ b/graphics/pokemon/hariyama/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/hariyama_back_pic.png b/graphics/pokemon/hariyama/back.png
index 09eba4b52..09eba4b52 100644
--- a/graphics/pokemon/back_pics/hariyama_back_pic.png
+++ b/graphics/pokemon/hariyama/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/hariyama_footprint.png b/graphics/pokemon/hariyama/footprint.png
index ab5d9f369..ab5d9f369 100644
--- a/graphics/pokemon/footprints/hariyama_footprint.png
+++ b/graphics/pokemon/hariyama/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/hariyama_still_front_pic.png b/graphics/pokemon/hariyama/front.png
index abefe0de2..abefe0de2 100644
--- a/graphics/pokemon/front_pics/hariyama_still_front_pic.png
+++ b/graphics/pokemon/hariyama/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/hariyama_icon.png b/graphics/pokemon/hariyama/icon.png
index b16b04907..b16b04907 100644
--- a/graphics/pokemon/icons/hariyama_icon.png
+++ b/graphics/pokemon/hariyama/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/hariyama_palette.pal b/graphics/pokemon/hariyama/normal.pal
index 99b5902d9..99b5902d9 100644
--- a/graphics/pokemon/palettes/hariyama_palette.pal
+++ b/graphics/pokemon/hariyama/normal.pal
diff --git a/graphics/pokemon/palettes/hariyama_shiny_palette.pal b/graphics/pokemon/hariyama/shiny.pal
index 14281f812..14281f812 100644
--- a/graphics/pokemon/palettes/hariyama_shiny_palette.pal
+++ b/graphics/pokemon/hariyama/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/haunter_front_pic.png b/graphics/pokemon/haunter/anim_front.png
index a41b867fd..a41b867fd 100644
--- a/graphics/pokemon/anim_front_pics/haunter_front_pic.png
+++ b/graphics/pokemon/haunter/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/haunter_back_pic.png b/graphics/pokemon/haunter/back.png
index 4b4585904..4b4585904 100644
--- a/graphics/pokemon/back_pics/haunter_back_pic.png
+++ b/graphics/pokemon/haunter/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/haunter_footprint.png b/graphics/pokemon/haunter/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/haunter_footprint.png
+++ b/graphics/pokemon/haunter/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/haunter_still_front_pic.png b/graphics/pokemon/haunter/front.png
index e773c0863..e773c0863 100644
--- a/graphics/pokemon/front_pics/haunter_still_front_pic.png
+++ b/graphics/pokemon/haunter/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/haunter_icon.png b/graphics/pokemon/haunter/icon.png
index aac3e15f8..aac3e15f8 100644
--- a/graphics/pokemon/icons/haunter_icon.png
+++ b/graphics/pokemon/haunter/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/haunter_palette.pal b/graphics/pokemon/haunter/normal.pal
index 1f3ceb070..1f3ceb070 100644
--- a/graphics/pokemon/palettes/haunter_palette.pal
+++ b/graphics/pokemon/haunter/normal.pal
diff --git a/graphics/pokemon/palettes/haunter_shiny_palette.pal b/graphics/pokemon/haunter/shiny.pal
index d6cab2588..d6cab2588 100644
--- a/graphics/pokemon/palettes/haunter_shiny_palette.pal
+++ b/graphics/pokemon/haunter/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/heracross_front_pic.png b/graphics/pokemon/heracross/anim_front.png
index 96af2d24f..96af2d24f 100644
--- a/graphics/pokemon/anim_front_pics/heracross_front_pic.png
+++ b/graphics/pokemon/heracross/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/heracross_back_pic.png b/graphics/pokemon/heracross/back.png
index df8202179..df8202179 100644
--- a/graphics/pokemon/back_pics/heracross_back_pic.png
+++ b/graphics/pokemon/heracross/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/heracross_footprint.png b/graphics/pokemon/heracross/footprint.png
index a740a17c9..a740a17c9 100644
--- a/graphics/pokemon/footprints/heracross_footprint.png
+++ b/graphics/pokemon/heracross/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/heracross_still_front_pic.png b/graphics/pokemon/heracross/front.png
index f693a4c46..f693a4c46 100644
--- a/graphics/pokemon/front_pics/heracross_still_front_pic.png
+++ b/graphics/pokemon/heracross/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/heracross_icon.png b/graphics/pokemon/heracross/icon.png
index 994fbe33f..994fbe33f 100644
--- a/graphics/pokemon/icons/heracross_icon.png
+++ b/graphics/pokemon/heracross/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/heracross_palette.pal b/graphics/pokemon/heracross/normal.pal
index 06fe289a5..06fe289a5 100644
--- a/graphics/pokemon/palettes/heracross_palette.pal
+++ b/graphics/pokemon/heracross/normal.pal
diff --git a/graphics/pokemon/palettes/heracross_shiny_palette.pal b/graphics/pokemon/heracross/shiny.pal
index c85ace38b..c85ace38b 100644
--- a/graphics/pokemon/palettes/heracross_shiny_palette.pal
+++ b/graphics/pokemon/heracross/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/hitmonchan_front_pic.png b/graphics/pokemon/hitmonchan/anim_front.png
index a08e0a0da..a08e0a0da 100644
--- a/graphics/pokemon/anim_front_pics/hitmonchan_front_pic.png
+++ b/graphics/pokemon/hitmonchan/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/hitmonchan_back_pic.png b/graphics/pokemon/hitmonchan/back.png
index 8d9423071..8d9423071 100644
--- a/graphics/pokemon/back_pics/hitmonchan_back_pic.png
+++ b/graphics/pokemon/hitmonchan/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/hitmonchan_footprint.png b/graphics/pokemon/hitmonchan/footprint.png
index cfd1efd54..cfd1efd54 100644
--- a/graphics/pokemon/footprints/hitmonchan_footprint.png
+++ b/graphics/pokemon/hitmonchan/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/hitmonchan_still_front_pic.png b/graphics/pokemon/hitmonchan/front.png
index 5a16c4070..5a16c4070 100644
--- a/graphics/pokemon/front_pics/hitmonchan_still_front_pic.png
+++ b/graphics/pokemon/hitmonchan/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/hitmonchan_icon.png b/graphics/pokemon/hitmonchan/icon.png
index a657a6d74..a657a6d74 100644
--- a/graphics/pokemon/icons/hitmonchan_icon.png
+++ b/graphics/pokemon/hitmonchan/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/hitmonchan_palette.pal b/graphics/pokemon/hitmonchan/normal.pal
index 77c20d85a..77c20d85a 100644
--- a/graphics/pokemon/palettes/hitmonchan_palette.pal
+++ b/graphics/pokemon/hitmonchan/normal.pal
diff --git a/graphics/pokemon/palettes/hitmonchan_shiny_palette.pal b/graphics/pokemon/hitmonchan/shiny.pal
index 2e4a28f0c..2e4a28f0c 100644
--- a/graphics/pokemon/palettes/hitmonchan_shiny_palette.pal
+++ b/graphics/pokemon/hitmonchan/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/hitmonlee_front_pic.png b/graphics/pokemon/hitmonlee/anim_front.png
index 46d29bd4a..46d29bd4a 100644
--- a/graphics/pokemon/anim_front_pics/hitmonlee_front_pic.png
+++ b/graphics/pokemon/hitmonlee/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/hitmonlee_back_pic.png b/graphics/pokemon/hitmonlee/back.png
index 9aa095a6a..9aa095a6a 100644
--- a/graphics/pokemon/back_pics/hitmonlee_back_pic.png
+++ b/graphics/pokemon/hitmonlee/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/hitmonlee_footprint.png b/graphics/pokemon/hitmonlee/footprint.png
index 505120110..505120110 100644
--- a/graphics/pokemon/footprints/hitmonlee_footprint.png
+++ b/graphics/pokemon/hitmonlee/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/hitmonlee_still_front_pic.png b/graphics/pokemon/hitmonlee/front.png
index 543c4e58c..543c4e58c 100644
--- a/graphics/pokemon/front_pics/hitmonlee_still_front_pic.png
+++ b/graphics/pokemon/hitmonlee/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/hitmonlee_icon.png b/graphics/pokemon/hitmonlee/icon.png
index b45c93686..b45c93686 100644
--- a/graphics/pokemon/icons/hitmonlee_icon.png
+++ b/graphics/pokemon/hitmonlee/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/hitmonlee_palette.pal b/graphics/pokemon/hitmonlee/normal.pal
index e70409a90..e70409a90 100644
--- a/graphics/pokemon/palettes/hitmonlee_palette.pal
+++ b/graphics/pokemon/hitmonlee/normal.pal
diff --git a/graphics/pokemon/palettes/hitmonlee_shiny_palette.pal b/graphics/pokemon/hitmonlee/shiny.pal
index 74e6c6452..74e6c6452 100644
--- a/graphics/pokemon/palettes/hitmonlee_shiny_palette.pal
+++ b/graphics/pokemon/hitmonlee/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/hitmontop_front_pic.png b/graphics/pokemon/hitmontop/anim_front.png
index 69365ac62..69365ac62 100644
--- a/graphics/pokemon/anim_front_pics/hitmontop_front_pic.png
+++ b/graphics/pokemon/hitmontop/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/hitmontop_back_pic.png b/graphics/pokemon/hitmontop/back.png
index 09d16414c..09d16414c 100644
--- a/graphics/pokemon/back_pics/hitmontop_back_pic.png
+++ b/graphics/pokemon/hitmontop/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/hitmontop_footprint.png b/graphics/pokemon/hitmontop/footprint.png
index ba8c1cca2..ba8c1cca2 100644
--- a/graphics/pokemon/footprints/hitmontop_footprint.png
+++ b/graphics/pokemon/hitmontop/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/hitmontop_still_front_pic.png b/graphics/pokemon/hitmontop/front.png
index d2d7b5093..d2d7b5093 100644
--- a/graphics/pokemon/front_pics/hitmontop_still_front_pic.png
+++ b/graphics/pokemon/hitmontop/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/hitmontop_icon.png b/graphics/pokemon/hitmontop/icon.png
index c5b8ee564..c5b8ee564 100644
--- a/graphics/pokemon/icons/hitmontop_icon.png
+++ b/graphics/pokemon/hitmontop/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/hitmontop_palette.pal b/graphics/pokemon/hitmontop/normal.pal
index b49c96760..b49c96760 100644
--- a/graphics/pokemon/palettes/hitmontop_palette.pal
+++ b/graphics/pokemon/hitmontop/normal.pal
diff --git a/graphics/pokemon/palettes/hitmontop_shiny_palette.pal b/graphics/pokemon/hitmontop/shiny.pal
index 8c6bbd31f..8c6bbd31f 100644
--- a/graphics/pokemon/palettes/hitmontop_shiny_palette.pal
+++ b/graphics/pokemon/hitmontop/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/ho_oh_front_pic.png b/graphics/pokemon/ho_oh/anim_front.png
index 5b60f009a..5b60f009a 100644
--- a/graphics/pokemon/anim_front_pics/ho_oh_front_pic.png
+++ b/graphics/pokemon/ho_oh/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ho_oh_back_pic.png b/graphics/pokemon/ho_oh/back.png
index 9acbdf0cc..9acbdf0cc 100644
--- a/graphics/pokemon/back_pics/ho_oh_back_pic.png
+++ b/graphics/pokemon/ho_oh/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ho_oh_footprint.png b/graphics/pokemon/ho_oh/footprint.png
index adceb3878..adceb3878 100644
--- a/graphics/pokemon/footprints/ho_oh_footprint.png
+++ b/graphics/pokemon/ho_oh/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ho_oh_still_front_pic.png b/graphics/pokemon/ho_oh/front.png
index 97a7c3e25..97a7c3e25 100644
--- a/graphics/pokemon/front_pics/ho_oh_still_front_pic.png
+++ b/graphics/pokemon/ho_oh/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ho_oh_icon.png b/graphics/pokemon/ho_oh/icon.png
index 4cd5ed871..4cd5ed871 100644
--- a/graphics/pokemon/icons/ho_oh_icon.png
+++ b/graphics/pokemon/ho_oh/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ho_oh_palette.pal b/graphics/pokemon/ho_oh/normal.pal
index f4b583541..f4b583541 100644
--- a/graphics/pokemon/palettes/ho_oh_palette.pal
+++ b/graphics/pokemon/ho_oh/normal.pal
diff --git a/graphics/pokemon/palettes/ho_oh_shiny_palette.pal b/graphics/pokemon/ho_oh/shiny.pal
index 2c14ff9e4..2c14ff9e4 100644
--- a/graphics/pokemon/palettes/ho_oh_shiny_palette.pal
+++ b/graphics/pokemon/ho_oh/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/hoothoot_front_pic.png b/graphics/pokemon/hoothoot/anim_front.png
index c2abe1464..c2abe1464 100644
--- a/graphics/pokemon/anim_front_pics/hoothoot_front_pic.png
+++ b/graphics/pokemon/hoothoot/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/hoothoot_back_pic.png b/graphics/pokemon/hoothoot/back.png
index 2ab2253bd..2ab2253bd 100644
--- a/graphics/pokemon/back_pics/hoothoot_back_pic.png
+++ b/graphics/pokemon/hoothoot/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/hoothoot_footprint.png b/graphics/pokemon/hoothoot/footprint.png
index 1eacf9116..1eacf9116 100644
--- a/graphics/pokemon/footprints/hoothoot_footprint.png
+++ b/graphics/pokemon/hoothoot/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/hoothoot_still_front_pic.png b/graphics/pokemon/hoothoot/front.png
index 12e160d81..12e160d81 100644
--- a/graphics/pokemon/front_pics/hoothoot_still_front_pic.png
+++ b/graphics/pokemon/hoothoot/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/hoothoot_icon.png b/graphics/pokemon/hoothoot/icon.png
index c25065113..c25065113 100644
--- a/graphics/pokemon/icons/hoothoot_icon.png
+++ b/graphics/pokemon/hoothoot/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/hoothoot_palette.pal b/graphics/pokemon/hoothoot/normal.pal
index f1a3ee54e..f1a3ee54e 100644
--- a/graphics/pokemon/palettes/hoothoot_palette.pal
+++ b/graphics/pokemon/hoothoot/normal.pal
diff --git a/graphics/pokemon/palettes/hoothoot_shiny_palette.pal b/graphics/pokemon/hoothoot/shiny.pal
index 3b951e004..3b951e004 100644
--- a/graphics/pokemon/palettes/hoothoot_shiny_palette.pal
+++ b/graphics/pokemon/hoothoot/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/hoppip_front_pic.png b/graphics/pokemon/hoppip/anim_front.png
index 1295bbc84..1295bbc84 100644
--- a/graphics/pokemon/anim_front_pics/hoppip_front_pic.png
+++ b/graphics/pokemon/hoppip/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/hoppip_back_pic.png b/graphics/pokemon/hoppip/back.png
index a5d042909..a5d042909 100644
--- a/graphics/pokemon/back_pics/hoppip_back_pic.png
+++ b/graphics/pokemon/hoppip/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/hoppip_footprint.png b/graphics/pokemon/hoppip/footprint.png
index 0be22ed86..0be22ed86 100644
--- a/graphics/pokemon/footprints/hoppip_footprint.png
+++ b/graphics/pokemon/hoppip/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/hoppip_still_front_pic.png b/graphics/pokemon/hoppip/front.png
index 87110d09c..87110d09c 100644
--- a/graphics/pokemon/front_pics/hoppip_still_front_pic.png
+++ b/graphics/pokemon/hoppip/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/hoppip_icon.png b/graphics/pokemon/hoppip/icon.png
index 0692f69d7..0692f69d7 100644
--- a/graphics/pokemon/icons/hoppip_icon.png
+++ b/graphics/pokemon/hoppip/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/hoppip_palette.pal b/graphics/pokemon/hoppip/normal.pal
index 578494117..578494117 100644
--- a/graphics/pokemon/palettes/hoppip_palette.pal
+++ b/graphics/pokemon/hoppip/normal.pal
diff --git a/graphics/pokemon/palettes/hoppip_shiny_palette.pal b/graphics/pokemon/hoppip/shiny.pal
index c70c55c99..c70c55c99 100644
--- a/graphics/pokemon/palettes/hoppip_shiny_palette.pal
+++ b/graphics/pokemon/hoppip/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/horsea_front_pic.png b/graphics/pokemon/horsea/anim_front.png
index 24f4d0116..24f4d0116 100644
--- a/graphics/pokemon/anim_front_pics/horsea_front_pic.png
+++ b/graphics/pokemon/horsea/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/horsea_back_pic.png b/graphics/pokemon/horsea/back.png
index bd6cb3d2b..bd6cb3d2b 100644
--- a/graphics/pokemon/back_pics/horsea_back_pic.png
+++ b/graphics/pokemon/horsea/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/horsea_footprint.png b/graphics/pokemon/horsea/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/horsea_footprint.png
+++ b/graphics/pokemon/horsea/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/horsea_still_front_pic.png b/graphics/pokemon/horsea/front.png
index 572beb851..572beb851 100644
--- a/graphics/pokemon/front_pics/horsea_still_front_pic.png
+++ b/graphics/pokemon/horsea/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/horsea_icon.png b/graphics/pokemon/horsea/icon.png
index d57901f51..d57901f51 100644
--- a/graphics/pokemon/icons/horsea_icon.png
+++ b/graphics/pokemon/horsea/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/horsea_palette.pal b/graphics/pokemon/horsea/normal.pal
index a14e2b4c5..a14e2b4c5 100644
--- a/graphics/pokemon/palettes/horsea_palette.pal
+++ b/graphics/pokemon/horsea/normal.pal
diff --git a/graphics/pokemon/palettes/horsea_shiny_palette.pal b/graphics/pokemon/horsea/shiny.pal
index f163c929a..f163c929a 100644
--- a/graphics/pokemon/palettes/horsea_shiny_palette.pal
+++ b/graphics/pokemon/horsea/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/houndoom_front_pic.png b/graphics/pokemon/houndoom/anim_front.png
index adebd878b..adebd878b 100644
--- a/graphics/pokemon/anim_front_pics/houndoom_front_pic.png
+++ b/graphics/pokemon/houndoom/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/houndoom_back_pic.png b/graphics/pokemon/houndoom/back.png
index 6aae855c6..6aae855c6 100644
--- a/graphics/pokemon/back_pics/houndoom_back_pic.png
+++ b/graphics/pokemon/houndoom/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/houndoom_footprint.png b/graphics/pokemon/houndoom/footprint.png
index b1f2c80f4..b1f2c80f4 100644
--- a/graphics/pokemon/footprints/houndoom_footprint.png
+++ b/graphics/pokemon/houndoom/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/houndoom_still_front_pic.png b/graphics/pokemon/houndoom/front.png
index d5ab79d18..d5ab79d18 100644
--- a/graphics/pokemon/front_pics/houndoom_still_front_pic.png
+++ b/graphics/pokemon/houndoom/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/houndoom_icon.png b/graphics/pokemon/houndoom/icon.png
index 8ca4aec3c..8ca4aec3c 100644
--- a/graphics/pokemon/icons/houndoom_icon.png
+++ b/graphics/pokemon/houndoom/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/houndoom_palette.pal b/graphics/pokemon/houndoom/normal.pal
index 676369d07..676369d07 100644
--- a/graphics/pokemon/palettes/houndoom_palette.pal
+++ b/graphics/pokemon/houndoom/normal.pal
diff --git a/graphics/pokemon/palettes/houndoom_shiny_palette.pal b/graphics/pokemon/houndoom/shiny.pal
index 7e7aa56bf..7e7aa56bf 100644
--- a/graphics/pokemon/palettes/houndoom_shiny_palette.pal
+++ b/graphics/pokemon/houndoom/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/houndour_front_pic.png b/graphics/pokemon/houndour/anim_front.png
index 057479784..057479784 100644
--- a/graphics/pokemon/anim_front_pics/houndour_front_pic.png
+++ b/graphics/pokemon/houndour/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/houndour_back_pic.png b/graphics/pokemon/houndour/back.png
index 64e104954..64e104954 100644
--- a/graphics/pokemon/back_pics/houndour_back_pic.png
+++ b/graphics/pokemon/houndour/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/houndour_footprint.png b/graphics/pokemon/houndour/footprint.png
index 3f8161431..3f8161431 100644
--- a/graphics/pokemon/footprints/houndour_footprint.png
+++ b/graphics/pokemon/houndour/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/houndour_still_front_pic.png b/graphics/pokemon/houndour/front.png
index 87bbce73e..87bbce73e 100644
--- a/graphics/pokemon/front_pics/houndour_still_front_pic.png
+++ b/graphics/pokemon/houndour/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/houndour_icon.png b/graphics/pokemon/houndour/icon.png
index 1d397d9bf..1d397d9bf 100644
--- a/graphics/pokemon/icons/houndour_icon.png
+++ b/graphics/pokemon/houndour/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/houndour_palette.pal b/graphics/pokemon/houndour/normal.pal
index 676369d07..676369d07 100644
--- a/graphics/pokemon/palettes/houndour_palette.pal
+++ b/graphics/pokemon/houndour/normal.pal
diff --git a/graphics/pokemon/palettes/houndour_shiny_palette.pal b/graphics/pokemon/houndour/shiny.pal
index 4197f8de7..4197f8de7 100644
--- a/graphics/pokemon/palettes/houndour_shiny_palette.pal
+++ b/graphics/pokemon/houndour/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/huntail_front_pic.png b/graphics/pokemon/huntail/anim_front.png
index 6963d99c8..6963d99c8 100644
--- a/graphics/pokemon/anim_front_pics/huntail_front_pic.png
+++ b/graphics/pokemon/huntail/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/huntail_back_pic.png b/graphics/pokemon/huntail/back.png
index 23ccaac12..23ccaac12 100644
--- a/graphics/pokemon/back_pics/huntail_back_pic.png
+++ b/graphics/pokemon/huntail/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/huntail_footprint.png b/graphics/pokemon/huntail/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/huntail_footprint.png
+++ b/graphics/pokemon/huntail/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/huntail_still_front_pic.png b/graphics/pokemon/huntail/front.png
index 647cdb8ca..647cdb8ca 100644
--- a/graphics/pokemon/front_pics/huntail_still_front_pic.png
+++ b/graphics/pokemon/huntail/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/huntail_icon.png b/graphics/pokemon/huntail/icon.png
index b70fca87e..b70fca87e 100644
--- a/graphics/pokemon/icons/huntail_icon.png
+++ b/graphics/pokemon/huntail/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/huntail_palette.pal b/graphics/pokemon/huntail/normal.pal
index 192061e01..192061e01 100644
--- a/graphics/pokemon/palettes/huntail_palette.pal
+++ b/graphics/pokemon/huntail/normal.pal
diff --git a/graphics/pokemon/palettes/huntail_shiny_palette.pal b/graphics/pokemon/huntail/shiny.pal
index 713c54adf..713c54adf 100644
--- a/graphics/pokemon/palettes/huntail_shiny_palette.pal
+++ b/graphics/pokemon/huntail/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/hypno_front_pic.png b/graphics/pokemon/hypno/anim_front.png
index e3cd338ed..e3cd338ed 100644
--- a/graphics/pokemon/anim_front_pics/hypno_front_pic.png
+++ b/graphics/pokemon/hypno/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/hypno_back_pic.png b/graphics/pokemon/hypno/back.png
index 12aec4f4d..12aec4f4d 100644
--- a/graphics/pokemon/back_pics/hypno_back_pic.png
+++ b/graphics/pokemon/hypno/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/hypno_footprint.png b/graphics/pokemon/hypno/footprint.png
index 51f734973..51f734973 100644
--- a/graphics/pokemon/footprints/hypno_footprint.png
+++ b/graphics/pokemon/hypno/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/hypno_still_front_pic.png b/graphics/pokemon/hypno/front.png
index 5dce9a50e..5dce9a50e 100644
--- a/graphics/pokemon/front_pics/hypno_still_front_pic.png
+++ b/graphics/pokemon/hypno/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/hypno_icon.png b/graphics/pokemon/hypno/icon.png
index 4015f2386..4015f2386 100644
--- a/graphics/pokemon/icons/hypno_icon.png
+++ b/graphics/pokemon/hypno/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/hypno_palette.pal b/graphics/pokemon/hypno/normal.pal
index 96218054e..96218054e 100644
--- a/graphics/pokemon/palettes/hypno_palette.pal
+++ b/graphics/pokemon/hypno/normal.pal
diff --git a/graphics/pokemon/palettes/hypno_shiny_palette.pal b/graphics/pokemon/hypno/shiny.pal
index af2643bd9..af2643bd9 100644
--- a/graphics/pokemon/palettes/hypno_shiny_palette.pal
+++ b/graphics/pokemon/hypno/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/igglybuff_front_pic.png b/graphics/pokemon/igglybuff/anim_front.png
index 0947bca66..0947bca66 100644
--- a/graphics/pokemon/anim_front_pics/igglybuff_front_pic.png
+++ b/graphics/pokemon/igglybuff/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/igglybuff_back_pic.png b/graphics/pokemon/igglybuff/back.png
index efc417ab5..efc417ab5 100644
--- a/graphics/pokemon/back_pics/igglybuff_back_pic.png
+++ b/graphics/pokemon/igglybuff/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/igglybuff_footprint.png b/graphics/pokemon/igglybuff/footprint.png
index bbb7352a6..bbb7352a6 100644
--- a/graphics/pokemon/footprints/igglybuff_footprint.png
+++ b/graphics/pokemon/igglybuff/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/igglybuff_still_front_pic.png b/graphics/pokemon/igglybuff/front.png
index b232daaac..b232daaac 100644
--- a/graphics/pokemon/front_pics/igglybuff_still_front_pic.png
+++ b/graphics/pokemon/igglybuff/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/igglybuff_icon.png b/graphics/pokemon/igglybuff/icon.png
index 55d1a9eb1..55d1a9eb1 100644
--- a/graphics/pokemon/icons/igglybuff_icon.png
+++ b/graphics/pokemon/igglybuff/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/igglybuff_palette.pal b/graphics/pokemon/igglybuff/normal.pal
index 9b5beb079..9b5beb079 100644
--- a/graphics/pokemon/palettes/igglybuff_palette.pal
+++ b/graphics/pokemon/igglybuff/normal.pal
diff --git a/graphics/pokemon/palettes/igglybuff_shiny_palette.pal b/graphics/pokemon/igglybuff/shiny.pal
index fd1f6fbf8..fd1f6fbf8 100644
--- a/graphics/pokemon/palettes/igglybuff_shiny_palette.pal
+++ b/graphics/pokemon/igglybuff/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/illumise_front_pic.png b/graphics/pokemon/illumise/anim_front.png
index 0d20f3357..0d20f3357 100644
--- a/graphics/pokemon/anim_front_pics/illumise_front_pic.png
+++ b/graphics/pokemon/illumise/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/illumise_back_pic.png b/graphics/pokemon/illumise/back.png
index a06de56a1..a06de56a1 100644
--- a/graphics/pokemon/back_pics/illumise_back_pic.png
+++ b/graphics/pokemon/illumise/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/illumise_footprint.png b/graphics/pokemon/illumise/footprint.png
index 451d532b2..451d532b2 100644
--- a/graphics/pokemon/footprints/illumise_footprint.png
+++ b/graphics/pokemon/illumise/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/illumise_still_front_pic.png b/graphics/pokemon/illumise/front.png
index 14513aee6..14513aee6 100644
--- a/graphics/pokemon/front_pics/illumise_still_front_pic.png
+++ b/graphics/pokemon/illumise/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/illumise_icon.png b/graphics/pokemon/illumise/icon.png
index ac812de37..ac812de37 100644
--- a/graphics/pokemon/icons/illumise_icon.png
+++ b/graphics/pokemon/illumise/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/illumise_palette.pal b/graphics/pokemon/illumise/normal.pal
index 63c55bbc0..63c55bbc0 100644
--- a/graphics/pokemon/palettes/illumise_palette.pal
+++ b/graphics/pokemon/illumise/normal.pal
diff --git a/graphics/pokemon/palettes/illumise_shiny_palette.pal b/graphics/pokemon/illumise/shiny.pal
index 78bdbdc22..78bdbdc22 100644
--- a/graphics/pokemon/palettes/illumise_shiny_palette.pal
+++ b/graphics/pokemon/illumise/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/ivysaur_front_pic.png b/graphics/pokemon/ivysaur/anim_front.png
index 1e8d0f04e..1e8d0f04e 100644
--- a/graphics/pokemon/anim_front_pics/ivysaur_front_pic.png
+++ b/graphics/pokemon/ivysaur/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ivysaur_back_pic.png b/graphics/pokemon/ivysaur/back.png
index d977bc314..d977bc314 100644
--- a/graphics/pokemon/back_pics/ivysaur_back_pic.png
+++ b/graphics/pokemon/ivysaur/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ivysaur_footprint.png b/graphics/pokemon/ivysaur/footprint.png
index 29206b935..29206b935 100644
--- a/graphics/pokemon/footprints/ivysaur_footprint.png
+++ b/graphics/pokemon/ivysaur/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ivysaur_still_front_pic.png b/graphics/pokemon/ivysaur/front.png
index 86c27474b..86c27474b 100644
--- a/graphics/pokemon/front_pics/ivysaur_still_front_pic.png
+++ b/graphics/pokemon/ivysaur/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ivysaur_icon.png b/graphics/pokemon/ivysaur/icon.png
index 2f1627506..2f1627506 100644
--- a/graphics/pokemon/icons/ivysaur_icon.png
+++ b/graphics/pokemon/ivysaur/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ivysaur_palette.pal b/graphics/pokemon/ivysaur/normal.pal
index 5d4c59bbd..5d4c59bbd 100644
--- a/graphics/pokemon/palettes/ivysaur_palette.pal
+++ b/graphics/pokemon/ivysaur/normal.pal
diff --git a/graphics/pokemon/palettes/ivysaur_shiny_palette.pal b/graphics/pokemon/ivysaur/shiny.pal
index 964be9785..964be9785 100644
--- a/graphics/pokemon/palettes/ivysaur_shiny_palette.pal
+++ b/graphics/pokemon/ivysaur/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/jigglypuff_front_pic.png b/graphics/pokemon/jigglypuff/anim_front.png
index 98981352b..98981352b 100644
--- a/graphics/pokemon/anim_front_pics/jigglypuff_front_pic.png
+++ b/graphics/pokemon/jigglypuff/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/jigglypuff_back_pic.png b/graphics/pokemon/jigglypuff/back.png
index 8055a79b0..8055a79b0 100644
--- a/graphics/pokemon/back_pics/jigglypuff_back_pic.png
+++ b/graphics/pokemon/jigglypuff/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/jigglypuff_footprint.png b/graphics/pokemon/jigglypuff/footprint.png
index 59b5f1171..59b5f1171 100644
--- a/graphics/pokemon/footprints/jigglypuff_footprint.png
+++ b/graphics/pokemon/jigglypuff/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/jigglypuff_still_front_pic.png b/graphics/pokemon/jigglypuff/front.png
index 41c8f2e8f..41c8f2e8f 100644
--- a/graphics/pokemon/front_pics/jigglypuff_still_front_pic.png
+++ b/graphics/pokemon/jigglypuff/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/jigglypuff_icon.png b/graphics/pokemon/jigglypuff/icon.png
index 4c5a33cb8..4c5a33cb8 100644
--- a/graphics/pokemon/icons/jigglypuff_icon.png
+++ b/graphics/pokemon/jigglypuff/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/jigglypuff_palette.pal b/graphics/pokemon/jigglypuff/normal.pal
index f7f6154c1..f7f6154c1 100644
--- a/graphics/pokemon/palettes/jigglypuff_palette.pal
+++ b/graphics/pokemon/jigglypuff/normal.pal
diff --git a/graphics/pokemon/palettes/jigglypuff_shiny_palette.pal b/graphics/pokemon/jigglypuff/shiny.pal
index bea601916..bea601916 100644
--- a/graphics/pokemon/palettes/jigglypuff_shiny_palette.pal
+++ b/graphics/pokemon/jigglypuff/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/jirachi_front_pic.png b/graphics/pokemon/jirachi/anim_front.png
index b414a28cb..b414a28cb 100644
--- a/graphics/pokemon/anim_front_pics/jirachi_front_pic.png
+++ b/graphics/pokemon/jirachi/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/jirachi_back_pic.png b/graphics/pokemon/jirachi/back.png
index 4fa283e0d..4fa283e0d 100644
--- a/graphics/pokemon/back_pics/jirachi_back_pic.png
+++ b/graphics/pokemon/jirachi/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/jirachi_footprint.png b/graphics/pokemon/jirachi/footprint.png
index 856bb5faa..856bb5faa 100644
--- a/graphics/pokemon/footprints/jirachi_footprint.png
+++ b/graphics/pokemon/jirachi/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/jirachi_still_front_pic.png b/graphics/pokemon/jirachi/front.png
index 91f5e3fad..91f5e3fad 100644
--- a/graphics/pokemon/front_pics/jirachi_still_front_pic.png
+++ b/graphics/pokemon/jirachi/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/jirachi_icon.png b/graphics/pokemon/jirachi/icon.png
index 15df4559b..15df4559b 100644
--- a/graphics/pokemon/icons/jirachi_icon.png
+++ b/graphics/pokemon/jirachi/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/jirachi_palette.pal b/graphics/pokemon/jirachi/normal.pal
index ba0b7a6b1..ba0b7a6b1 100644
--- a/graphics/pokemon/palettes/jirachi_palette.pal
+++ b/graphics/pokemon/jirachi/normal.pal
diff --git a/graphics/pokemon/palettes/jirachi_shiny_palette.pal b/graphics/pokemon/jirachi/shiny.pal
index 219b9ac57..219b9ac57 100644
--- a/graphics/pokemon/palettes/jirachi_shiny_palette.pal
+++ b/graphics/pokemon/jirachi/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/jolteon_front_pic.png b/graphics/pokemon/jolteon/anim_front.png
index ff0edda9f..ff0edda9f 100644
--- a/graphics/pokemon/anim_front_pics/jolteon_front_pic.png
+++ b/graphics/pokemon/jolteon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/jolteon_back_pic.png b/graphics/pokemon/jolteon/back.png
index 19dc00a7c..19dc00a7c 100644
--- a/graphics/pokemon/back_pics/jolteon_back_pic.png
+++ b/graphics/pokemon/jolteon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/jolteon_footprint.png b/graphics/pokemon/jolteon/footprint.png
index d1e9477b3..d1e9477b3 100644
--- a/graphics/pokemon/footprints/jolteon_footprint.png
+++ b/graphics/pokemon/jolteon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/jolteon_still_front_pic.png b/graphics/pokemon/jolteon/front.png
index b33177bb6..b33177bb6 100644
--- a/graphics/pokemon/front_pics/jolteon_still_front_pic.png
+++ b/graphics/pokemon/jolteon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/jolteon_icon.png b/graphics/pokemon/jolteon/icon.png
index b98fd78b2..b98fd78b2 100644
--- a/graphics/pokemon/icons/jolteon_icon.png
+++ b/graphics/pokemon/jolteon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/jolteon_palette.pal b/graphics/pokemon/jolteon/normal.pal
index 87daf4781..87daf4781 100644
--- a/graphics/pokemon/palettes/jolteon_palette.pal
+++ b/graphics/pokemon/jolteon/normal.pal
diff --git a/graphics/pokemon/palettes/jolteon_shiny_palette.pal b/graphics/pokemon/jolteon/shiny.pal
index ece1425c3..ece1425c3 100644
--- a/graphics/pokemon/palettes/jolteon_shiny_palette.pal
+++ b/graphics/pokemon/jolteon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/jumpluff_front_pic.png b/graphics/pokemon/jumpluff/anim_front.png
index dd79c45e3..dd79c45e3 100644
--- a/graphics/pokemon/anim_front_pics/jumpluff_front_pic.png
+++ b/graphics/pokemon/jumpluff/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/jumpluff_back_pic.png b/graphics/pokemon/jumpluff/back.png
index 1f822f850..1f822f850 100644
--- a/graphics/pokemon/back_pics/jumpluff_back_pic.png
+++ b/graphics/pokemon/jumpluff/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/jumpluff_footprint.png b/graphics/pokemon/jumpluff/footprint.png
index 9cd0f5938..9cd0f5938 100644
--- a/graphics/pokemon/footprints/jumpluff_footprint.png
+++ b/graphics/pokemon/jumpluff/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/jumpluff_still_front_pic.png b/graphics/pokemon/jumpluff/front.png
index 6b7cbaf61..6b7cbaf61 100644
--- a/graphics/pokemon/front_pics/jumpluff_still_front_pic.png
+++ b/graphics/pokemon/jumpluff/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/jumpluff_icon.png b/graphics/pokemon/jumpluff/icon.png
index bf0cb64de..bf0cb64de 100644
--- a/graphics/pokemon/icons/jumpluff_icon.png
+++ b/graphics/pokemon/jumpluff/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/jumpluff_palette.pal b/graphics/pokemon/jumpluff/normal.pal
index 422184976..422184976 100644
--- a/graphics/pokemon/palettes/jumpluff_palette.pal
+++ b/graphics/pokemon/jumpluff/normal.pal
diff --git a/graphics/pokemon/palettes/jumpluff_shiny_palette.pal b/graphics/pokemon/jumpluff/shiny.pal
index 4885690b6..4885690b6 100644
--- a/graphics/pokemon/palettes/jumpluff_shiny_palette.pal
+++ b/graphics/pokemon/jumpluff/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/jynx_front_pic.png b/graphics/pokemon/jynx/anim_front.png
index db5d0d4c7..db5d0d4c7 100644
--- a/graphics/pokemon/anim_front_pics/jynx_front_pic.png
+++ b/graphics/pokemon/jynx/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/jynx_back_pic.png b/graphics/pokemon/jynx/back.png
index 5bb72fb10..5bb72fb10 100644
--- a/graphics/pokemon/back_pics/jynx_back_pic.png
+++ b/graphics/pokemon/jynx/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/jynx_footprint.png b/graphics/pokemon/jynx/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/jynx_footprint.png
+++ b/graphics/pokemon/jynx/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/jynx_still_front_pic.png b/graphics/pokemon/jynx/front.png
index 470a4e8cd..470a4e8cd 100644
--- a/graphics/pokemon/front_pics/jynx_still_front_pic.png
+++ b/graphics/pokemon/jynx/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/jynx_icon.png b/graphics/pokemon/jynx/icon.png
index 431b6bf19..431b6bf19 100644
--- a/graphics/pokemon/icons/jynx_icon.png
+++ b/graphics/pokemon/jynx/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/jynx_palette.pal b/graphics/pokemon/jynx/normal.pal
index ac1da7597..ac1da7597 100644
--- a/graphics/pokemon/palettes/jynx_palette.pal
+++ b/graphics/pokemon/jynx/normal.pal
diff --git a/graphics/pokemon/palettes/jynx_shiny_palette.pal b/graphics/pokemon/jynx/shiny.pal
index b6838c13d..b6838c13d 100644
--- a/graphics/pokemon/palettes/jynx_shiny_palette.pal
+++ b/graphics/pokemon/jynx/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/kabuto_front_pic.png b/graphics/pokemon/kabuto/anim_front.png
index 101560ce6..101560ce6 100644
--- a/graphics/pokemon/anim_front_pics/kabuto_front_pic.png
+++ b/graphics/pokemon/kabuto/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/kabuto_back_pic.png b/graphics/pokemon/kabuto/back.png
index 9664ead41..9664ead41 100644
--- a/graphics/pokemon/back_pics/kabuto_back_pic.png
+++ b/graphics/pokemon/kabuto/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/kabuto_footprint.png b/graphics/pokemon/kabuto/footprint.png
index 6965dbe60..6965dbe60 100644
--- a/graphics/pokemon/footprints/kabuto_footprint.png
+++ b/graphics/pokemon/kabuto/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/kabuto_still_front_pic.png b/graphics/pokemon/kabuto/front.png
index ccac7d4aa..ccac7d4aa 100644
--- a/graphics/pokemon/front_pics/kabuto_still_front_pic.png
+++ b/graphics/pokemon/kabuto/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/kabuto_icon.png b/graphics/pokemon/kabuto/icon.png
index c0a140722..c0a140722 100644
--- a/graphics/pokemon/icons/kabuto_icon.png
+++ b/graphics/pokemon/kabuto/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/kabuto_palette.pal b/graphics/pokemon/kabuto/normal.pal
index 285bae040..285bae040 100644
--- a/graphics/pokemon/palettes/kabuto_palette.pal
+++ b/graphics/pokemon/kabuto/normal.pal
diff --git a/graphics/pokemon/palettes/kabuto_shiny_palette.pal b/graphics/pokemon/kabuto/shiny.pal
index 8e3eaad12..8e3eaad12 100644
--- a/graphics/pokemon/palettes/kabuto_shiny_palette.pal
+++ b/graphics/pokemon/kabuto/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/kabutops_front_pic.png b/graphics/pokemon/kabutops/anim_front.png
index b1e26e884..b1e26e884 100644
--- a/graphics/pokemon/anim_front_pics/kabutops_front_pic.png
+++ b/graphics/pokemon/kabutops/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/kabutops_back_pic.png b/graphics/pokemon/kabutops/back.png
index e1aab4de2..e1aab4de2 100644
--- a/graphics/pokemon/back_pics/kabutops_back_pic.png
+++ b/graphics/pokemon/kabutops/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/kabutops_footprint.png b/graphics/pokemon/kabutops/footprint.png
index 127b741d8..127b741d8 100644
--- a/graphics/pokemon/footprints/kabutops_footprint.png
+++ b/graphics/pokemon/kabutops/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/kabutops_still_front_pic.png b/graphics/pokemon/kabutops/front.png
index d6263253a..d6263253a 100644
--- a/graphics/pokemon/front_pics/kabutops_still_front_pic.png
+++ b/graphics/pokemon/kabutops/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/kabutops_icon.png b/graphics/pokemon/kabutops/icon.png
index 1c23836e5..1c23836e5 100644
--- a/graphics/pokemon/icons/kabutops_icon.png
+++ b/graphics/pokemon/kabutops/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/kabutops_palette.pal b/graphics/pokemon/kabutops/normal.pal
index 09a61f8e6..09a61f8e6 100644
--- a/graphics/pokemon/palettes/kabutops_palette.pal
+++ b/graphics/pokemon/kabutops/normal.pal
diff --git a/graphics/pokemon/palettes/kabutops_shiny_palette.pal b/graphics/pokemon/kabutops/shiny.pal
index 9217ab55d..9217ab55d 100644
--- a/graphics/pokemon/palettes/kabutops_shiny_palette.pal
+++ b/graphics/pokemon/kabutops/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/kadabra_front_pic.png b/graphics/pokemon/kadabra/anim_front.png
index cabd2589f..cabd2589f 100644
--- a/graphics/pokemon/anim_front_pics/kadabra_front_pic.png
+++ b/graphics/pokemon/kadabra/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/kadabra_back_pic.png b/graphics/pokemon/kadabra/back.png
index 703f4afcc..703f4afcc 100644
--- a/graphics/pokemon/back_pics/kadabra_back_pic.png
+++ b/graphics/pokemon/kadabra/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/kadabra_footprint.png b/graphics/pokemon/kadabra/footprint.png
index a699f2987..a699f2987 100644
--- a/graphics/pokemon/footprints/kadabra_footprint.png
+++ b/graphics/pokemon/kadabra/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/kadabra_still_front_pic.png b/graphics/pokemon/kadabra/front.png
index d9f21082b..d9f21082b 100644
--- a/graphics/pokemon/front_pics/kadabra_still_front_pic.png
+++ b/graphics/pokemon/kadabra/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/kadabra_icon.png b/graphics/pokemon/kadabra/icon.png
index 8653f7524..8653f7524 100644
--- a/graphics/pokemon/icons/kadabra_icon.png
+++ b/graphics/pokemon/kadabra/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/kadabra_palette.pal b/graphics/pokemon/kadabra/normal.pal
index 0e561d4e6..0e561d4e6 100644
--- a/graphics/pokemon/palettes/kadabra_palette.pal
+++ b/graphics/pokemon/kadabra/normal.pal
diff --git a/graphics/pokemon/palettes/kadabra_shiny_palette.pal b/graphics/pokemon/kadabra/shiny.pal
index e722cc8fa..e722cc8fa 100644
--- a/graphics/pokemon/palettes/kadabra_shiny_palette.pal
+++ b/graphics/pokemon/kadabra/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/kakuna_front_pic.png b/graphics/pokemon/kakuna/anim_front.png
index 5b7914f46..5b7914f46 100644
--- a/graphics/pokemon/anim_front_pics/kakuna_front_pic.png
+++ b/graphics/pokemon/kakuna/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/kakuna_back_pic.png b/graphics/pokemon/kakuna/back.png
index 2f5455238..2f5455238 100644
--- a/graphics/pokemon/back_pics/kakuna_back_pic.png
+++ b/graphics/pokemon/kakuna/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/kakuna_footprint.png b/graphics/pokemon/kakuna/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/kakuna_footprint.png
+++ b/graphics/pokemon/kakuna/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/kakuna_still_front_pic.png b/graphics/pokemon/kakuna/front.png
index 38e6265bc..38e6265bc 100644
--- a/graphics/pokemon/front_pics/kakuna_still_front_pic.png
+++ b/graphics/pokemon/kakuna/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/kakuna_icon.png b/graphics/pokemon/kakuna/icon.png
index 1c857d442..1c857d442 100644
--- a/graphics/pokemon/icons/kakuna_icon.png
+++ b/graphics/pokemon/kakuna/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/kakuna_palette.pal b/graphics/pokemon/kakuna/normal.pal
index b14a68968..b14a68968 100644
--- a/graphics/pokemon/palettes/kakuna_palette.pal
+++ b/graphics/pokemon/kakuna/normal.pal
diff --git a/graphics/pokemon/palettes/kakuna_shiny_palette.pal b/graphics/pokemon/kakuna/shiny.pal
index 0a45b029a..0a45b029a 100644
--- a/graphics/pokemon/palettes/kakuna_shiny_palette.pal
+++ b/graphics/pokemon/kakuna/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/kangaskhan_front_pic.png b/graphics/pokemon/kangaskhan/anim_front.png
index ec534bcb6..ec534bcb6 100644
--- a/graphics/pokemon/anim_front_pics/kangaskhan_front_pic.png
+++ b/graphics/pokemon/kangaskhan/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/kangaskhan_back_pic.png b/graphics/pokemon/kangaskhan/back.png
index babb41fce..babb41fce 100644
--- a/graphics/pokemon/back_pics/kangaskhan_back_pic.png
+++ b/graphics/pokemon/kangaskhan/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/kangaskhan_footprint.png b/graphics/pokemon/kangaskhan/footprint.png
index 7753a4a71..7753a4a71 100644
--- a/graphics/pokemon/footprints/kangaskhan_footprint.png
+++ b/graphics/pokemon/kangaskhan/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/kangaskhan_still_front_pic.png b/graphics/pokemon/kangaskhan/front.png
index 9cc2c312f..9cc2c312f 100644
--- a/graphics/pokemon/front_pics/kangaskhan_still_front_pic.png
+++ b/graphics/pokemon/kangaskhan/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/kangaskhan_icon.png b/graphics/pokemon/kangaskhan/icon.png
index 177a688cd..177a688cd 100644
--- a/graphics/pokemon/icons/kangaskhan_icon.png
+++ b/graphics/pokemon/kangaskhan/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/kangaskhan_palette.pal b/graphics/pokemon/kangaskhan/normal.pal
index 2dca5ca1a..2dca5ca1a 100644
--- a/graphics/pokemon/palettes/kangaskhan_palette.pal
+++ b/graphics/pokemon/kangaskhan/normal.pal
diff --git a/graphics/pokemon/palettes/kangaskhan_shiny_palette.pal b/graphics/pokemon/kangaskhan/shiny.pal
index 3580f7e9d..3580f7e9d 100644
--- a/graphics/pokemon/palettes/kangaskhan_shiny_palette.pal
+++ b/graphics/pokemon/kangaskhan/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/kecleon_front_pic.png b/graphics/pokemon/kecleon/anim_front.png
index 33d577e3e..33d577e3e 100644
--- a/graphics/pokemon/anim_front_pics/kecleon_front_pic.png
+++ b/graphics/pokemon/kecleon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/kecleon_back_pic.png b/graphics/pokemon/kecleon/back.png
index 1baeeb58a..1baeeb58a 100644
--- a/graphics/pokemon/back_pics/kecleon_back_pic.png
+++ b/graphics/pokemon/kecleon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/kecleon_footprint.png b/graphics/pokemon/kecleon/footprint.png
index 3c6968437..3c6968437 100644
--- a/graphics/pokemon/footprints/kecleon_footprint.png
+++ b/graphics/pokemon/kecleon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/kecleon_still_front_pic.png b/graphics/pokemon/kecleon/front.png
index e57431a06..e57431a06 100644
--- a/graphics/pokemon/front_pics/kecleon_still_front_pic.png
+++ b/graphics/pokemon/kecleon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/kecleon_icon.png b/graphics/pokemon/kecleon/icon.png
index 98b108fd9..98b108fd9 100644
--- a/graphics/pokemon/icons/kecleon_icon.png
+++ b/graphics/pokemon/kecleon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/kecleon_palette.pal b/graphics/pokemon/kecleon/normal.pal
index 36d6be7d7..36d6be7d7 100644
--- a/graphics/pokemon/palettes/kecleon_palette.pal
+++ b/graphics/pokemon/kecleon/normal.pal
diff --git a/graphics/pokemon/palettes/kecleon_shiny_palette.pal b/graphics/pokemon/kecleon/shiny.pal
index e056b670f..e056b670f 100644
--- a/graphics/pokemon/palettes/kecleon_shiny_palette.pal
+++ b/graphics/pokemon/kecleon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/kingdra_front_pic.png b/graphics/pokemon/kingdra/anim_front.png
index b51448e0a..b51448e0a 100644
--- a/graphics/pokemon/anim_front_pics/kingdra_front_pic.png
+++ b/graphics/pokemon/kingdra/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/kingdra_back_pic.png b/graphics/pokemon/kingdra/back.png
index 3e6ec7789..3e6ec7789 100644
--- a/graphics/pokemon/back_pics/kingdra_back_pic.png
+++ b/graphics/pokemon/kingdra/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/kingdra_footprint.png b/graphics/pokemon/kingdra/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/kingdra_footprint.png
+++ b/graphics/pokemon/kingdra/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/kingdra_still_front_pic.png b/graphics/pokemon/kingdra/front.png
index 86fecb914..86fecb914 100644
--- a/graphics/pokemon/front_pics/kingdra_still_front_pic.png
+++ b/graphics/pokemon/kingdra/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/kingdra_icon.png b/graphics/pokemon/kingdra/icon.png
index c0fb5484a..c0fb5484a 100644
--- a/graphics/pokemon/icons/kingdra_icon.png
+++ b/graphics/pokemon/kingdra/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/kingdra_palette.pal b/graphics/pokemon/kingdra/normal.pal
index 9dcb7ab85..9dcb7ab85 100644
--- a/graphics/pokemon/palettes/kingdra_palette.pal
+++ b/graphics/pokemon/kingdra/normal.pal
diff --git a/graphics/pokemon/palettes/kingdra_shiny_palette.pal b/graphics/pokemon/kingdra/shiny.pal
index c45869283..c45869283 100644
--- a/graphics/pokemon/palettes/kingdra_shiny_palette.pal
+++ b/graphics/pokemon/kingdra/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/kingler_front_pic.png b/graphics/pokemon/kingler/anim_front.png
index fbcafec03..fbcafec03 100644
--- a/graphics/pokemon/anim_front_pics/kingler_front_pic.png
+++ b/graphics/pokemon/kingler/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/kingler_back_pic.png b/graphics/pokemon/kingler/back.png
index 11338630f..11338630f 100644
--- a/graphics/pokemon/back_pics/kingler_back_pic.png
+++ b/graphics/pokemon/kingler/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/kingler_footprint.png b/graphics/pokemon/kingler/footprint.png
index b75db30dc..b75db30dc 100644
--- a/graphics/pokemon/footprints/kingler_footprint.png
+++ b/graphics/pokemon/kingler/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/kingler_still_front_pic.png b/graphics/pokemon/kingler/front.png
index d59b31f12..d59b31f12 100644
--- a/graphics/pokemon/front_pics/kingler_still_front_pic.png
+++ b/graphics/pokemon/kingler/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/kingler_icon.png b/graphics/pokemon/kingler/icon.png
index dbf1af284..dbf1af284 100644
--- a/graphics/pokemon/icons/kingler_icon.png
+++ b/graphics/pokemon/kingler/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/kingler_palette.pal b/graphics/pokemon/kingler/normal.pal
index 15450f55c..15450f55c 100644
--- a/graphics/pokemon/palettes/kingler_palette.pal
+++ b/graphics/pokemon/kingler/normal.pal
diff --git a/graphics/pokemon/palettes/kingler_shiny_palette.pal b/graphics/pokemon/kingler/shiny.pal
index a472da125..a472da125 100644
--- a/graphics/pokemon/palettes/kingler_shiny_palette.pal
+++ b/graphics/pokemon/kingler/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/kirlia_front_pic.png b/graphics/pokemon/kirlia/anim_front.png
index eb8560d98..eb8560d98 100644
--- a/graphics/pokemon/anim_front_pics/kirlia_front_pic.png
+++ b/graphics/pokemon/kirlia/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/kirlia_back_pic.png b/graphics/pokemon/kirlia/back.png
index 5820cd068..5820cd068 100644
--- a/graphics/pokemon/back_pics/kirlia_back_pic.png
+++ b/graphics/pokemon/kirlia/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/kirlia_footprint.png b/graphics/pokemon/kirlia/footprint.png
index c1c0058e7..c1c0058e7 100644
--- a/graphics/pokemon/footprints/kirlia_footprint.png
+++ b/graphics/pokemon/kirlia/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/kirlia_still_front_pic.png b/graphics/pokemon/kirlia/front.png
index 84acc1494..84acc1494 100644
--- a/graphics/pokemon/front_pics/kirlia_still_front_pic.png
+++ b/graphics/pokemon/kirlia/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/kirlia_icon.png b/graphics/pokemon/kirlia/icon.png
index b99dfee25..b99dfee25 100644
--- a/graphics/pokemon/icons/kirlia_icon.png
+++ b/graphics/pokemon/kirlia/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/kirlia_palette.pal b/graphics/pokemon/kirlia/normal.pal
index 91b428af2..91b428af2 100644
--- a/graphics/pokemon/palettes/kirlia_palette.pal
+++ b/graphics/pokemon/kirlia/normal.pal
diff --git a/graphics/pokemon/palettes/kirlia_shiny_palette.pal b/graphics/pokemon/kirlia/shiny.pal
index ff944e551..ff944e551 100644
--- a/graphics/pokemon/palettes/kirlia_shiny_palette.pal
+++ b/graphics/pokemon/kirlia/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/koffing_front_pic.png b/graphics/pokemon/koffing/anim_front.png
index 430dcfdfb..430dcfdfb 100644
--- a/graphics/pokemon/anim_front_pics/koffing_front_pic.png
+++ b/graphics/pokemon/koffing/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/koffing_back_pic.png b/graphics/pokemon/koffing/back.png
index a76b27fae..a76b27fae 100644
--- a/graphics/pokemon/back_pics/koffing_back_pic.png
+++ b/graphics/pokemon/koffing/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/koffing_footprint.png b/graphics/pokemon/koffing/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/koffing_footprint.png
+++ b/graphics/pokemon/koffing/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/koffing_still_front_pic.png b/graphics/pokemon/koffing/front.png
index 4b92c57b6..4b92c57b6 100644
--- a/graphics/pokemon/front_pics/koffing_still_front_pic.png
+++ b/graphics/pokemon/koffing/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/koffing_icon.png b/graphics/pokemon/koffing/icon.png
index 683df2b85..683df2b85 100644
--- a/graphics/pokemon/icons/koffing_icon.png
+++ b/graphics/pokemon/koffing/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/koffing_palette.pal b/graphics/pokemon/koffing/normal.pal
index 7b248a340..7b248a340 100644
--- a/graphics/pokemon/palettes/koffing_palette.pal
+++ b/graphics/pokemon/koffing/normal.pal
diff --git a/graphics/pokemon/palettes/koffing_shiny_palette.pal b/graphics/pokemon/koffing/shiny.pal
index bcea2e929..bcea2e929 100644
--- a/graphics/pokemon/palettes/koffing_shiny_palette.pal
+++ b/graphics/pokemon/koffing/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/krabby_front_pic.png b/graphics/pokemon/krabby/anim_front.png
index b7f5b3b77..b7f5b3b77 100644
--- a/graphics/pokemon/anim_front_pics/krabby_front_pic.png
+++ b/graphics/pokemon/krabby/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/krabby_back_pic.png b/graphics/pokemon/krabby/back.png
index d0501e77a..d0501e77a 100644
--- a/graphics/pokemon/back_pics/krabby_back_pic.png
+++ b/graphics/pokemon/krabby/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/krabby_footprint.png b/graphics/pokemon/krabby/footprint.png
index eae28fe5e..eae28fe5e 100644
--- a/graphics/pokemon/footprints/krabby_footprint.png
+++ b/graphics/pokemon/krabby/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/krabby_still_front_pic.png b/graphics/pokemon/krabby/front.png
index 2a47d68d5..2a47d68d5 100644
--- a/graphics/pokemon/front_pics/krabby_still_front_pic.png
+++ b/graphics/pokemon/krabby/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/krabby_icon.png b/graphics/pokemon/krabby/icon.png
index f9fdaa6d5..f9fdaa6d5 100644
--- a/graphics/pokemon/icons/krabby_icon.png
+++ b/graphics/pokemon/krabby/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/krabby_palette.pal b/graphics/pokemon/krabby/normal.pal
index 2255b2970..2255b2970 100644
--- a/graphics/pokemon/palettes/krabby_palette.pal
+++ b/graphics/pokemon/krabby/normal.pal
diff --git a/graphics/pokemon/palettes/krabby_shiny_palette.pal b/graphics/pokemon/krabby/shiny.pal
index d1318f36c..d1318f36c 100644
--- a/graphics/pokemon/palettes/krabby_shiny_palette.pal
+++ b/graphics/pokemon/krabby/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/kyogre_front_pic.png b/graphics/pokemon/kyogre/anim_front.png
index 780f87052..780f87052 100644
--- a/graphics/pokemon/anim_front_pics/kyogre_front_pic.png
+++ b/graphics/pokemon/kyogre/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/kyogre_back_pic.png b/graphics/pokemon/kyogre/back.png
index d0c4f55c1..d0c4f55c1 100644
--- a/graphics/pokemon/back_pics/kyogre_back_pic.png
+++ b/graphics/pokemon/kyogre/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/kyogre_footprint.png b/graphics/pokemon/kyogre/footprint.png
index 8d58ee462..8d58ee462 100644
--- a/graphics/pokemon/footprints/kyogre_footprint.png
+++ b/graphics/pokemon/kyogre/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/kyogre_still_front_pic.png b/graphics/pokemon/kyogre/front.png
index 3b4b8e093..3b4b8e093 100644
--- a/graphics/pokemon/front_pics/kyogre_still_front_pic.png
+++ b/graphics/pokemon/kyogre/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/kyogre_icon.png b/graphics/pokemon/kyogre/icon.png
index 544ed9daf..544ed9daf 100644
--- a/graphics/pokemon/icons/kyogre_icon.png
+++ b/graphics/pokemon/kyogre/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/kyogre_palette.pal b/graphics/pokemon/kyogre/normal.pal
index d598595cb..d598595cb 100644
--- a/graphics/pokemon/palettes/kyogre_palette.pal
+++ b/graphics/pokemon/kyogre/normal.pal
diff --git a/graphics/pokemon/palettes/kyogre_shiny_palette.pal b/graphics/pokemon/kyogre/shiny.pal
index 392162401..392162401 100644
--- a/graphics/pokemon/palettes/kyogre_shiny_palette.pal
+++ b/graphics/pokemon/kyogre/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/lairon_front_pic.png b/graphics/pokemon/lairon/anim_front.png
index 744680a2b..744680a2b 100644
--- a/graphics/pokemon/anim_front_pics/lairon_front_pic.png
+++ b/graphics/pokemon/lairon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/lairon_back_pic.png b/graphics/pokemon/lairon/back.png
index 552c01356..552c01356 100644
--- a/graphics/pokemon/back_pics/lairon_back_pic.png
+++ b/graphics/pokemon/lairon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/lairon_footprint.png b/graphics/pokemon/lairon/footprint.png
index 9a6527c1c..9a6527c1c 100644
--- a/graphics/pokemon/footprints/lairon_footprint.png
+++ b/graphics/pokemon/lairon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/lairon_still_front_pic.png b/graphics/pokemon/lairon/front.png
index 50470dead..50470dead 100644
--- a/graphics/pokemon/front_pics/lairon_still_front_pic.png
+++ b/graphics/pokemon/lairon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/lairon_icon.png b/graphics/pokemon/lairon/icon.png
index 6d450b08d..6d450b08d 100644
--- a/graphics/pokemon/icons/lairon_icon.png
+++ b/graphics/pokemon/lairon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/lairon_palette.pal b/graphics/pokemon/lairon/normal.pal
index b5711fdad..b5711fdad 100644
--- a/graphics/pokemon/palettes/lairon_palette.pal
+++ b/graphics/pokemon/lairon/normal.pal
diff --git a/graphics/pokemon/palettes/lairon_shiny_palette.pal b/graphics/pokemon/lairon/shiny.pal
index eadb9aa81..eadb9aa81 100644
--- a/graphics/pokemon/palettes/lairon_shiny_palette.pal
+++ b/graphics/pokemon/lairon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/lanturn_front_pic.png b/graphics/pokemon/lanturn/anim_front.png
index 8d74b75fc..8d74b75fc 100644
--- a/graphics/pokemon/anim_front_pics/lanturn_front_pic.png
+++ b/graphics/pokemon/lanturn/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/lanturn_back_pic.png b/graphics/pokemon/lanturn/back.png
index 1b9543d63..1b9543d63 100644
--- a/graphics/pokemon/back_pics/lanturn_back_pic.png
+++ b/graphics/pokemon/lanturn/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/lanturn_footprint.png b/graphics/pokemon/lanturn/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/lanturn_footprint.png
+++ b/graphics/pokemon/lanturn/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/lanturn_still_front_pic.png b/graphics/pokemon/lanturn/front.png
index a94ab7470..a94ab7470 100644
--- a/graphics/pokemon/front_pics/lanturn_still_front_pic.png
+++ b/graphics/pokemon/lanturn/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/lanturn_icon.png b/graphics/pokemon/lanturn/icon.png
index d2b3d4348..d2b3d4348 100644
--- a/graphics/pokemon/icons/lanturn_icon.png
+++ b/graphics/pokemon/lanturn/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/lanturn_palette.pal b/graphics/pokemon/lanturn/normal.pal
index 7baa22c6e..7baa22c6e 100644
--- a/graphics/pokemon/palettes/lanturn_palette.pal
+++ b/graphics/pokemon/lanturn/normal.pal
diff --git a/graphics/pokemon/palettes/lanturn_shiny_palette.pal b/graphics/pokemon/lanturn/shiny.pal
index 70360c029..70360c029 100644
--- a/graphics/pokemon/palettes/lanturn_shiny_palette.pal
+++ b/graphics/pokemon/lanturn/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/lapras_front_pic.png b/graphics/pokemon/lapras/anim_front.png
index 1124f14aa..1124f14aa 100644
--- a/graphics/pokemon/anim_front_pics/lapras_front_pic.png
+++ b/graphics/pokemon/lapras/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/lapras_back_pic.png b/graphics/pokemon/lapras/back.png
index 3b5a18f17..3b5a18f17 100644
--- a/graphics/pokemon/back_pics/lapras_back_pic.png
+++ b/graphics/pokemon/lapras/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/lapras_footprint.png b/graphics/pokemon/lapras/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/lapras_footprint.png
+++ b/graphics/pokemon/lapras/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/lapras_still_front_pic.png b/graphics/pokemon/lapras/front.png
index fc65670b2..fc65670b2 100644
--- a/graphics/pokemon/front_pics/lapras_still_front_pic.png
+++ b/graphics/pokemon/lapras/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/lapras_icon.png b/graphics/pokemon/lapras/icon.png
index fa8035ada..fa8035ada 100644
--- a/graphics/pokemon/icons/lapras_icon.png
+++ b/graphics/pokemon/lapras/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/lapras_palette.pal b/graphics/pokemon/lapras/normal.pal
index 0426c24de..0426c24de 100644
--- a/graphics/pokemon/palettes/lapras_palette.pal
+++ b/graphics/pokemon/lapras/normal.pal
diff --git a/graphics/pokemon/palettes/lapras_shiny_palette.pal b/graphics/pokemon/lapras/shiny.pal
index 5090527aa..5090527aa 100644
--- a/graphics/pokemon/palettes/lapras_shiny_palette.pal
+++ b/graphics/pokemon/lapras/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/larvitar_front_pic.png b/graphics/pokemon/larvitar/anim_front.png
index 4aa28027b..4aa28027b 100644
--- a/graphics/pokemon/anim_front_pics/larvitar_front_pic.png
+++ b/graphics/pokemon/larvitar/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/larvitar_back_pic.png b/graphics/pokemon/larvitar/back.png
index 1c28da425..1c28da425 100644
--- a/graphics/pokemon/back_pics/larvitar_back_pic.png
+++ b/graphics/pokemon/larvitar/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/larvitar_footprint.png b/graphics/pokemon/larvitar/footprint.png
index a31e8d7f3..a31e8d7f3 100644
--- a/graphics/pokemon/footprints/larvitar_footprint.png
+++ b/graphics/pokemon/larvitar/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/larvitar_still_front_pic.png b/graphics/pokemon/larvitar/front.png
index 4183e29e1..4183e29e1 100644
--- a/graphics/pokemon/front_pics/larvitar_still_front_pic.png
+++ b/graphics/pokemon/larvitar/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/larvitar_icon.png b/graphics/pokemon/larvitar/icon.png
index 85a5504c3..85a5504c3 100644
--- a/graphics/pokemon/icons/larvitar_icon.png
+++ b/graphics/pokemon/larvitar/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/larvitar_palette.pal b/graphics/pokemon/larvitar/normal.pal
index 3bcc1f133..3bcc1f133 100644
--- a/graphics/pokemon/palettes/larvitar_palette.pal
+++ b/graphics/pokemon/larvitar/normal.pal
diff --git a/graphics/pokemon/palettes/larvitar_shiny_palette.pal b/graphics/pokemon/larvitar/shiny.pal
index aa6a59c36..aa6a59c36 100644
--- a/graphics/pokemon/palettes/larvitar_shiny_palette.pal
+++ b/graphics/pokemon/larvitar/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/latias_front_pic.png b/graphics/pokemon/latias/anim_front.png
index 63f4a1d1f..63f4a1d1f 100644
--- a/graphics/pokemon/anim_front_pics/latias_front_pic.png
+++ b/graphics/pokemon/latias/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/latias_back_pic.png b/graphics/pokemon/latias/back.png
index a4286579b..a4286579b 100644
--- a/graphics/pokemon/back_pics/latias_back_pic.png
+++ b/graphics/pokemon/latias/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/latias_footprint.png b/graphics/pokemon/latias/footprint.png
index 0419630c1..0419630c1 100644
--- a/graphics/pokemon/footprints/latias_footprint.png
+++ b/graphics/pokemon/latias/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/latias_still_front_pic.png b/graphics/pokemon/latias/front.png
index 55e7e36b1..55e7e36b1 100644
--- a/graphics/pokemon/front_pics/latias_still_front_pic.png
+++ b/graphics/pokemon/latias/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/latias_icon.png b/graphics/pokemon/latias/icon.png
index 1727c0af6..1727c0af6 100644
--- a/graphics/pokemon/icons/latias_icon.png
+++ b/graphics/pokemon/latias/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/latias_palette.pal b/graphics/pokemon/latias/normal.pal
index 6f831271f..6f831271f 100644
--- a/graphics/pokemon/palettes/latias_palette.pal
+++ b/graphics/pokemon/latias/normal.pal
diff --git a/graphics/pokemon/palettes/latias_shiny_palette.pal b/graphics/pokemon/latias/shiny.pal
index a701dc933..a701dc933 100644
--- a/graphics/pokemon/palettes/latias_shiny_palette.pal
+++ b/graphics/pokemon/latias/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/latios_front_pic.png b/graphics/pokemon/latios/anim_front.png
index 330bf8e4c..330bf8e4c 100644
--- a/graphics/pokemon/anim_front_pics/latios_front_pic.png
+++ b/graphics/pokemon/latios/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/latios_back_pic.png b/graphics/pokemon/latios/back.png
index 0f2b7f5d6..0f2b7f5d6 100644
--- a/graphics/pokemon/back_pics/latios_back_pic.png
+++ b/graphics/pokemon/latios/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/latios_footprint.png b/graphics/pokemon/latios/footprint.png
index f77d0fa86..f77d0fa86 100644
--- a/graphics/pokemon/footprints/latios_footprint.png
+++ b/graphics/pokemon/latios/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/latios_still_front_pic.png b/graphics/pokemon/latios/front.png
index a9c41e250..a9c41e250 100644
--- a/graphics/pokemon/front_pics/latios_still_front_pic.png
+++ b/graphics/pokemon/latios/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/latios_icon.png b/graphics/pokemon/latios/icon.png
index 10a23ad47..10a23ad47 100644
--- a/graphics/pokemon/icons/latios_icon.png
+++ b/graphics/pokemon/latios/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/latios_palette.pal b/graphics/pokemon/latios/normal.pal
index 6a3d8bead..6a3d8bead 100644
--- a/graphics/pokemon/palettes/latios_palette.pal
+++ b/graphics/pokemon/latios/normal.pal
diff --git a/graphics/pokemon/palettes/latios_shiny_palette.pal b/graphics/pokemon/latios/shiny.pal
index 2b539fd9c..2b539fd9c 100644
--- a/graphics/pokemon/palettes/latios_shiny_palette.pal
+++ b/graphics/pokemon/latios/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/ledian_front_pic.png b/graphics/pokemon/ledian/anim_front.png
index 91ac5a9f5..91ac5a9f5 100644
--- a/graphics/pokemon/anim_front_pics/ledian_front_pic.png
+++ b/graphics/pokemon/ledian/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ledian_back_pic.png b/graphics/pokemon/ledian/back.png
index 577fd2d71..577fd2d71 100644
--- a/graphics/pokemon/back_pics/ledian_back_pic.png
+++ b/graphics/pokemon/ledian/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ledian_footprint.png b/graphics/pokemon/ledian/footprint.png
index 5c2d6221f..5c2d6221f 100644
--- a/graphics/pokemon/footprints/ledian_footprint.png
+++ b/graphics/pokemon/ledian/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ledian_still_front_pic.png b/graphics/pokemon/ledian/front.png
index ea58651cb..ea58651cb 100644
--- a/graphics/pokemon/front_pics/ledian_still_front_pic.png
+++ b/graphics/pokemon/ledian/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ledian_icon.png b/graphics/pokemon/ledian/icon.png
index b82ef1306..b82ef1306 100644
--- a/graphics/pokemon/icons/ledian_icon.png
+++ b/graphics/pokemon/ledian/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ledian_palette.pal b/graphics/pokemon/ledian/normal.pal
index dc9acc426..dc9acc426 100644
--- a/graphics/pokemon/palettes/ledian_palette.pal
+++ b/graphics/pokemon/ledian/normal.pal
diff --git a/graphics/pokemon/palettes/ledian_shiny_palette.pal b/graphics/pokemon/ledian/shiny.pal
index 472f0974d..472f0974d 100644
--- a/graphics/pokemon/palettes/ledian_shiny_palette.pal
+++ b/graphics/pokemon/ledian/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/ledyba_front_pic.png b/graphics/pokemon/ledyba/anim_front.png
index e58a15d75..e58a15d75 100644
--- a/graphics/pokemon/anim_front_pics/ledyba_front_pic.png
+++ b/graphics/pokemon/ledyba/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ledyba_back_pic.png b/graphics/pokemon/ledyba/back.png
index 6a84f405d..6a84f405d 100644
--- a/graphics/pokemon/back_pics/ledyba_back_pic.png
+++ b/graphics/pokemon/ledyba/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ledyba_footprint.png b/graphics/pokemon/ledyba/footprint.png
index a52ed2560..a52ed2560 100644
--- a/graphics/pokemon/footprints/ledyba_footprint.png
+++ b/graphics/pokemon/ledyba/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ledyba_still_front_pic.png b/graphics/pokemon/ledyba/front.png
index 210a16176..210a16176 100644
--- a/graphics/pokemon/front_pics/ledyba_still_front_pic.png
+++ b/graphics/pokemon/ledyba/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ledyba_icon.png b/graphics/pokemon/ledyba/icon.png
index f417e2d74..f417e2d74 100644
--- a/graphics/pokemon/icons/ledyba_icon.png
+++ b/graphics/pokemon/ledyba/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ledyba_palette.pal b/graphics/pokemon/ledyba/normal.pal
index 2cc003adf..2cc003adf 100644
--- a/graphics/pokemon/palettes/ledyba_palette.pal
+++ b/graphics/pokemon/ledyba/normal.pal
diff --git a/graphics/pokemon/palettes/ledyba_shiny_palette.pal b/graphics/pokemon/ledyba/shiny.pal
index 472f0974d..472f0974d 100644
--- a/graphics/pokemon/palettes/ledyba_shiny_palette.pal
+++ b/graphics/pokemon/ledyba/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/lickitung_front_pic.png b/graphics/pokemon/lickitung/anim_front.png
index c3dcbfd1a..c3dcbfd1a 100644
--- a/graphics/pokemon/anim_front_pics/lickitung_front_pic.png
+++ b/graphics/pokemon/lickitung/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/lickitung_back_pic.png b/graphics/pokemon/lickitung/back.png
index adf354eb3..adf354eb3 100644
--- a/graphics/pokemon/back_pics/lickitung_back_pic.png
+++ b/graphics/pokemon/lickitung/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/lickitung_footprint.png b/graphics/pokemon/lickitung/footprint.png
index 1f88f23fc..1f88f23fc 100644
--- a/graphics/pokemon/footprints/lickitung_footprint.png
+++ b/graphics/pokemon/lickitung/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/lickitung_still_front_pic.png b/graphics/pokemon/lickitung/front.png
index d6ebe65d5..d6ebe65d5 100644
--- a/graphics/pokemon/front_pics/lickitung_still_front_pic.png
+++ b/graphics/pokemon/lickitung/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/lickitung_icon.png b/graphics/pokemon/lickitung/icon.png
index 5b7804afa..5b7804afa 100644
--- a/graphics/pokemon/icons/lickitung_icon.png
+++ b/graphics/pokemon/lickitung/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/lickitung_palette.pal b/graphics/pokemon/lickitung/normal.pal
index 602ac2724..602ac2724 100644
--- a/graphics/pokemon/palettes/lickitung_palette.pal
+++ b/graphics/pokemon/lickitung/normal.pal
diff --git a/graphics/pokemon/palettes/lickitung_shiny_palette.pal b/graphics/pokemon/lickitung/shiny.pal
index d739ad9c1..d739ad9c1 100644
--- a/graphics/pokemon/palettes/lickitung_shiny_palette.pal
+++ b/graphics/pokemon/lickitung/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/lileep_front_pic.png b/graphics/pokemon/lileep/anim_front.png
index a656d6fa6..a656d6fa6 100644
--- a/graphics/pokemon/anim_front_pics/lileep_front_pic.png
+++ b/graphics/pokemon/lileep/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/lileep_back_pic.png b/graphics/pokemon/lileep/back.png
index 753602091..753602091 100644
--- a/graphics/pokemon/back_pics/lileep_back_pic.png
+++ b/graphics/pokemon/lileep/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/lileep_footprint.png b/graphics/pokemon/lileep/footprint.png
index ce6b2790e..ce6b2790e 100644
--- a/graphics/pokemon/footprints/lileep_footprint.png
+++ b/graphics/pokemon/lileep/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/lileep_still_front_pic.png b/graphics/pokemon/lileep/front.png
index 5f85c25aa..5f85c25aa 100644
--- a/graphics/pokemon/front_pics/lileep_still_front_pic.png
+++ b/graphics/pokemon/lileep/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/lileep_icon.png b/graphics/pokemon/lileep/icon.png
index b875a53a7..b875a53a7 100644
--- a/graphics/pokemon/icons/lileep_icon.png
+++ b/graphics/pokemon/lileep/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/lileep_palette.pal b/graphics/pokemon/lileep/normal.pal
index a739bf847..a739bf847 100644
--- a/graphics/pokemon/palettes/lileep_palette.pal
+++ b/graphics/pokemon/lileep/normal.pal
diff --git a/graphics/pokemon/palettes/lileep_shiny_palette.pal b/graphics/pokemon/lileep/shiny.pal
index 6402a8688..6402a8688 100644
--- a/graphics/pokemon/palettes/lileep_shiny_palette.pal
+++ b/graphics/pokemon/lileep/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/linoone_front_pic.png b/graphics/pokemon/linoone/anim_front.png
index e95180de0..e95180de0 100644
--- a/graphics/pokemon/anim_front_pics/linoone_front_pic.png
+++ b/graphics/pokemon/linoone/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/linoone_back_pic.png b/graphics/pokemon/linoone/back.png
index 9fc8fad38..9fc8fad38 100644
--- a/graphics/pokemon/back_pics/linoone_back_pic.png
+++ b/graphics/pokemon/linoone/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/linoone_footprint.png b/graphics/pokemon/linoone/footprint.png
index 8d83166d3..8d83166d3 100644
--- a/graphics/pokemon/footprints/linoone_footprint.png
+++ b/graphics/pokemon/linoone/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/linoone_still_front_pic.png b/graphics/pokemon/linoone/front.png
index 8b5baa699..8b5baa699 100644
--- a/graphics/pokemon/front_pics/linoone_still_front_pic.png
+++ b/graphics/pokemon/linoone/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/linoone_icon.png b/graphics/pokemon/linoone/icon.png
index bf0ea0cac..bf0ea0cac 100644
--- a/graphics/pokemon/icons/linoone_icon.png
+++ b/graphics/pokemon/linoone/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/linoone_palette.pal b/graphics/pokemon/linoone/normal.pal
index 368b6ac6f..368b6ac6f 100644
--- a/graphics/pokemon/palettes/linoone_palette.pal
+++ b/graphics/pokemon/linoone/normal.pal
diff --git a/graphics/pokemon/palettes/linoone_shiny_palette.pal b/graphics/pokemon/linoone/shiny.pal
index 7988bb21c..7988bb21c 100644
--- a/graphics/pokemon/palettes/linoone_shiny_palette.pal
+++ b/graphics/pokemon/linoone/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/lombre_front_pic.png b/graphics/pokemon/lombre/anim_front.png
index d1aa1e351..d1aa1e351 100644
--- a/graphics/pokemon/anim_front_pics/lombre_front_pic.png
+++ b/graphics/pokemon/lombre/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/lombre_back_pic.png b/graphics/pokemon/lombre/back.png
index c87b4bcf3..c87b4bcf3 100644
--- a/graphics/pokemon/back_pics/lombre_back_pic.png
+++ b/graphics/pokemon/lombre/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/lombre_footprint.png b/graphics/pokemon/lombre/footprint.png
index 051e5ab55..051e5ab55 100644
--- a/graphics/pokemon/footprints/lombre_footprint.png
+++ b/graphics/pokemon/lombre/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/lombre_still_front_pic.png b/graphics/pokemon/lombre/front.png
index 3719098a9..3719098a9 100644
--- a/graphics/pokemon/front_pics/lombre_still_front_pic.png
+++ b/graphics/pokemon/lombre/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/lombre_icon.png b/graphics/pokemon/lombre/icon.png
index b3e661cca..b3e661cca 100644
--- a/graphics/pokemon/icons/lombre_icon.png
+++ b/graphics/pokemon/lombre/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/lombre_palette.pal b/graphics/pokemon/lombre/normal.pal
index 69f944a22..69f944a22 100644
--- a/graphics/pokemon/palettes/lombre_palette.pal
+++ b/graphics/pokemon/lombre/normal.pal
diff --git a/graphics/pokemon/palettes/lombre_shiny_palette.pal b/graphics/pokemon/lombre/shiny.pal
index d4458373a..d4458373a 100644
--- a/graphics/pokemon/palettes/lombre_shiny_palette.pal
+++ b/graphics/pokemon/lombre/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/lotad_front_pic.png b/graphics/pokemon/lotad/anim_front.png
index b2eabc212..b2eabc212 100644
--- a/graphics/pokemon/anim_front_pics/lotad_front_pic.png
+++ b/graphics/pokemon/lotad/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/lotad_back_pic.png b/graphics/pokemon/lotad/back.png
index d8ca7648d..d8ca7648d 100644
--- a/graphics/pokemon/back_pics/lotad_back_pic.png
+++ b/graphics/pokemon/lotad/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/lotad_footprint.png b/graphics/pokemon/lotad/footprint.png
index caac6945f..caac6945f 100644
--- a/graphics/pokemon/footprints/lotad_footprint.png
+++ b/graphics/pokemon/lotad/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/lotad_still_front_pic.png b/graphics/pokemon/lotad/front.png
index 0b7e0a0a6..0b7e0a0a6 100644
--- a/graphics/pokemon/front_pics/lotad_still_front_pic.png
+++ b/graphics/pokemon/lotad/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/lotad_icon.png b/graphics/pokemon/lotad/icon.png
index 74e37ceed..74e37ceed 100644
--- a/graphics/pokemon/icons/lotad_icon.png
+++ b/graphics/pokemon/lotad/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/lotad_palette.pal b/graphics/pokemon/lotad/normal.pal
index efb988ea0..efb988ea0 100644
--- a/graphics/pokemon/palettes/lotad_palette.pal
+++ b/graphics/pokemon/lotad/normal.pal
diff --git a/graphics/pokemon/palettes/lotad_shiny_palette.pal b/graphics/pokemon/lotad/shiny.pal
index 36f271590..36f271590 100644
--- a/graphics/pokemon/palettes/lotad_shiny_palette.pal
+++ b/graphics/pokemon/lotad/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/loudred_front_pic.png b/graphics/pokemon/loudred/anim_front.png
index 13fe39e53..13fe39e53 100644
--- a/graphics/pokemon/anim_front_pics/loudred_front_pic.png
+++ b/graphics/pokemon/loudred/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/loudred_back_pic.png b/graphics/pokemon/loudred/back.png
index cb3d5d816..cb3d5d816 100644
--- a/graphics/pokemon/back_pics/loudred_back_pic.png
+++ b/graphics/pokemon/loudred/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/loudred_footprint.png b/graphics/pokemon/loudred/footprint.png
index 604af9000..604af9000 100644
--- a/graphics/pokemon/footprints/loudred_footprint.png
+++ b/graphics/pokemon/loudred/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/loudred_still_front_pic.png b/graphics/pokemon/loudred/front.png
index 2b87c0b29..2b87c0b29 100644
--- a/graphics/pokemon/front_pics/loudred_still_front_pic.png
+++ b/graphics/pokemon/loudred/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/loudred_icon.png b/graphics/pokemon/loudred/icon.png
index cbb1859f8..cbb1859f8 100644
--- a/graphics/pokemon/icons/loudred_icon.png
+++ b/graphics/pokemon/loudred/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/loudred_palette.pal b/graphics/pokemon/loudred/normal.pal
index 27c8ed1e7..27c8ed1e7 100644
--- a/graphics/pokemon/palettes/loudred_palette.pal
+++ b/graphics/pokemon/loudred/normal.pal
diff --git a/graphics/pokemon/palettes/loudred_shiny_palette.pal b/graphics/pokemon/loudred/shiny.pal
index b905b269c..b905b269c 100644
--- a/graphics/pokemon/palettes/loudred_shiny_palette.pal
+++ b/graphics/pokemon/loudred/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/ludicolo_front_pic.png b/graphics/pokemon/ludicolo/anim_front.png
index f649bebcb..f649bebcb 100644
--- a/graphics/pokemon/anim_front_pics/ludicolo_front_pic.png
+++ b/graphics/pokemon/ludicolo/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ludicolo_back_pic.png b/graphics/pokemon/ludicolo/back.png
index 2bdc96c39..2bdc96c39 100644
--- a/graphics/pokemon/back_pics/ludicolo_back_pic.png
+++ b/graphics/pokemon/ludicolo/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ludicolo_footprint.png b/graphics/pokemon/ludicolo/footprint.png
index 23163f358..23163f358 100644
--- a/graphics/pokemon/footprints/ludicolo_footprint.png
+++ b/graphics/pokemon/ludicolo/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ludicolo_still_front_pic.png b/graphics/pokemon/ludicolo/front.png
index df8e0091b..df8e0091b 100644
--- a/graphics/pokemon/front_pics/ludicolo_still_front_pic.png
+++ b/graphics/pokemon/ludicolo/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ludicolo_icon.png b/graphics/pokemon/ludicolo/icon.png
index 47490411b..47490411b 100644
--- a/graphics/pokemon/icons/ludicolo_icon.png
+++ b/graphics/pokemon/ludicolo/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ludicolo_palette.pal b/graphics/pokemon/ludicolo/normal.pal
index 618414394..618414394 100644
--- a/graphics/pokemon/palettes/ludicolo_palette.pal
+++ b/graphics/pokemon/ludicolo/normal.pal
diff --git a/graphics/pokemon/palettes/ludicolo_shiny_palette.pal b/graphics/pokemon/ludicolo/shiny.pal
index 442eda95e..442eda95e 100644
--- a/graphics/pokemon/palettes/ludicolo_shiny_palette.pal
+++ b/graphics/pokemon/ludicolo/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/lugia_front_pic.png b/graphics/pokemon/lugia/anim_front.png
index 930d81732..930d81732 100644
--- a/graphics/pokemon/anim_front_pics/lugia_front_pic.png
+++ b/graphics/pokemon/lugia/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/lugia_back_pic.png b/graphics/pokemon/lugia/back.png
index ece7def85..ece7def85 100644
--- a/graphics/pokemon/back_pics/lugia_back_pic.png
+++ b/graphics/pokemon/lugia/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/lugia_footprint.png b/graphics/pokemon/lugia/footprint.png
index e6642ed07..e6642ed07 100644
--- a/graphics/pokemon/footprints/lugia_footprint.png
+++ b/graphics/pokemon/lugia/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/lugia_still_front_pic.png b/graphics/pokemon/lugia/front.png
index 44f6ce278..44f6ce278 100644
--- a/graphics/pokemon/front_pics/lugia_still_front_pic.png
+++ b/graphics/pokemon/lugia/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/lugia_icon.png b/graphics/pokemon/lugia/icon.png
index 5e581ee19..5e581ee19 100644
--- a/graphics/pokemon/icons/lugia_icon.png
+++ b/graphics/pokemon/lugia/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/lugia_palette.pal b/graphics/pokemon/lugia/normal.pal
index 483157770..483157770 100644
--- a/graphics/pokemon/palettes/lugia_palette.pal
+++ b/graphics/pokemon/lugia/normal.pal
diff --git a/graphics/pokemon/palettes/lugia_shiny_palette.pal b/graphics/pokemon/lugia/shiny.pal
index 42db26696..42db26696 100644
--- a/graphics/pokemon/palettes/lugia_shiny_palette.pal
+++ b/graphics/pokemon/lugia/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/lunatone_front_pic.png b/graphics/pokemon/lunatone/anim_front.png
index 75b483b42..75b483b42 100644
--- a/graphics/pokemon/anim_front_pics/lunatone_front_pic.png
+++ b/graphics/pokemon/lunatone/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/lunatone_back_pic.png b/graphics/pokemon/lunatone/back.png
index 3f2247f8e..3f2247f8e 100644
--- a/graphics/pokemon/back_pics/lunatone_back_pic.png
+++ b/graphics/pokemon/lunatone/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/lunatone_footprint.png b/graphics/pokemon/lunatone/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/lunatone_footprint.png
+++ b/graphics/pokemon/lunatone/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/lunatone_still_front_pic.png b/graphics/pokemon/lunatone/front.png
index 3458d32d5..3458d32d5 100644
--- a/graphics/pokemon/front_pics/lunatone_still_front_pic.png
+++ b/graphics/pokemon/lunatone/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/lunatone_icon.png b/graphics/pokemon/lunatone/icon.png
index 27a42ae41..27a42ae41 100644
--- a/graphics/pokemon/icons/lunatone_icon.png
+++ b/graphics/pokemon/lunatone/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/lunatone_palette.pal b/graphics/pokemon/lunatone/normal.pal
index 9a0a5885f..9a0a5885f 100644
--- a/graphics/pokemon/palettes/lunatone_palette.pal
+++ b/graphics/pokemon/lunatone/normal.pal
diff --git a/graphics/pokemon/palettes/lunatone_shiny_palette.pal b/graphics/pokemon/lunatone/shiny.pal
index e0f5eb308..e0f5eb308 100644
--- a/graphics/pokemon/palettes/lunatone_shiny_palette.pal
+++ b/graphics/pokemon/lunatone/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/luvdisc_front_pic.png b/graphics/pokemon/luvdisc/anim_front.png
index bdd3e2f44..bdd3e2f44 100644
--- a/graphics/pokemon/anim_front_pics/luvdisc_front_pic.png
+++ b/graphics/pokemon/luvdisc/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/luvdisc_back_pic.png b/graphics/pokemon/luvdisc/back.png
index 04895aa25..04895aa25 100644
--- a/graphics/pokemon/back_pics/luvdisc_back_pic.png
+++ b/graphics/pokemon/luvdisc/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/luvdisc_footprint.png b/graphics/pokemon/luvdisc/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/luvdisc_footprint.png
+++ b/graphics/pokemon/luvdisc/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/luvdisc_still_front_pic.png b/graphics/pokemon/luvdisc/front.png
index e85283e10..e85283e10 100644
--- a/graphics/pokemon/front_pics/luvdisc_still_front_pic.png
+++ b/graphics/pokemon/luvdisc/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/luvdisc_icon.png b/graphics/pokemon/luvdisc/icon.png
index 980b73492..980b73492 100644
--- a/graphics/pokemon/icons/luvdisc_icon.png
+++ b/graphics/pokemon/luvdisc/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/luvdisc_palette.pal b/graphics/pokemon/luvdisc/normal.pal
index c443e0633..c443e0633 100644
--- a/graphics/pokemon/palettes/luvdisc_palette.pal
+++ b/graphics/pokemon/luvdisc/normal.pal
diff --git a/graphics/pokemon/palettes/luvdisc_shiny_palette.pal b/graphics/pokemon/luvdisc/shiny.pal
index b1df53235..b1df53235 100644
--- a/graphics/pokemon/palettes/luvdisc_shiny_palette.pal
+++ b/graphics/pokemon/luvdisc/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/machamp_front_pic.png b/graphics/pokemon/machamp/anim_front.png
index bf4b640c8..bf4b640c8 100644
--- a/graphics/pokemon/anim_front_pics/machamp_front_pic.png
+++ b/graphics/pokemon/machamp/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/machamp_back_pic.png b/graphics/pokemon/machamp/back.png
index 98f6f961b..98f6f961b 100644
--- a/graphics/pokemon/back_pics/machamp_back_pic.png
+++ b/graphics/pokemon/machamp/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/machamp_footprint.png b/graphics/pokemon/machamp/footprint.png
index e562fd08c..e562fd08c 100644
--- a/graphics/pokemon/footprints/machamp_footprint.png
+++ b/graphics/pokemon/machamp/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/machamp_still_front_pic.png b/graphics/pokemon/machamp/front.png
index ee4d80748..ee4d80748 100644
--- a/graphics/pokemon/front_pics/machamp_still_front_pic.png
+++ b/graphics/pokemon/machamp/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/machamp_icon.png b/graphics/pokemon/machamp/icon.png
index f803845ab..f803845ab 100644
--- a/graphics/pokemon/icons/machamp_icon.png
+++ b/graphics/pokemon/machamp/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/machamp_palette.pal b/graphics/pokemon/machamp/normal.pal
index b3c4a313b..b3c4a313b 100644
--- a/graphics/pokemon/palettes/machamp_palette.pal
+++ b/graphics/pokemon/machamp/normal.pal
diff --git a/graphics/pokemon/palettes/machamp_shiny_palette.pal b/graphics/pokemon/machamp/shiny.pal
index 6e7cc549c..6e7cc549c 100644
--- a/graphics/pokemon/palettes/machamp_shiny_palette.pal
+++ b/graphics/pokemon/machamp/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/machoke_front_pic.png b/graphics/pokemon/machoke/anim_front.png
index 45744a871..45744a871 100644
--- a/graphics/pokemon/anim_front_pics/machoke_front_pic.png
+++ b/graphics/pokemon/machoke/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/machoke_back_pic.png b/graphics/pokemon/machoke/back.png
index b3c84c77c..b3c84c77c 100644
--- a/graphics/pokemon/back_pics/machoke_back_pic.png
+++ b/graphics/pokemon/machoke/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/machoke_footprint.png b/graphics/pokemon/machoke/footprint.png
index d9009d3e1..d9009d3e1 100644
--- a/graphics/pokemon/footprints/machoke_footprint.png
+++ b/graphics/pokemon/machoke/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/machoke_still_front_pic.png b/graphics/pokemon/machoke/front.png
index 17a4bcc85..17a4bcc85 100644
--- a/graphics/pokemon/front_pics/machoke_still_front_pic.png
+++ b/graphics/pokemon/machoke/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/machoke_icon.png b/graphics/pokemon/machoke/icon.png
index 97d3a6bf0..97d3a6bf0 100644
--- a/graphics/pokemon/icons/machoke_icon.png
+++ b/graphics/pokemon/machoke/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/machoke_palette.pal b/graphics/pokemon/machoke/normal.pal
index f07156ff0..f07156ff0 100644
--- a/graphics/pokemon/palettes/machoke_palette.pal
+++ b/graphics/pokemon/machoke/normal.pal
diff --git a/graphics/pokemon/palettes/machoke_shiny_palette.pal b/graphics/pokemon/machoke/shiny.pal
index 5d5cb321b..5d5cb321b 100644
--- a/graphics/pokemon/palettes/machoke_shiny_palette.pal
+++ b/graphics/pokemon/machoke/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/machop_front_pic.png b/graphics/pokemon/machop/anim_front.png
index 91e430114..91e430114 100644
--- a/graphics/pokemon/anim_front_pics/machop_front_pic.png
+++ b/graphics/pokemon/machop/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/machop_back_pic.png b/graphics/pokemon/machop/back.png
index 6b0dda04c..6b0dda04c 100644
--- a/graphics/pokemon/back_pics/machop_back_pic.png
+++ b/graphics/pokemon/machop/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/machop_footprint.png b/graphics/pokemon/machop/footprint.png
index 8b2808553..8b2808553 100644
--- a/graphics/pokemon/footprints/machop_footprint.png
+++ b/graphics/pokemon/machop/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/machop_still_front_pic.png b/graphics/pokemon/machop/front.png
index 456267d19..456267d19 100644
--- a/graphics/pokemon/front_pics/machop_still_front_pic.png
+++ b/graphics/pokemon/machop/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/machop_icon.png b/graphics/pokemon/machop/icon.png
index 53773ea8c..53773ea8c 100644
--- a/graphics/pokemon/icons/machop_icon.png
+++ b/graphics/pokemon/machop/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/machop_palette.pal b/graphics/pokemon/machop/normal.pal
index 0232ea1d0..0232ea1d0 100644
--- a/graphics/pokemon/palettes/machop_palette.pal
+++ b/graphics/pokemon/machop/normal.pal
diff --git a/graphics/pokemon/palettes/machop_shiny_palette.pal b/graphics/pokemon/machop/shiny.pal
index 2ceeb3c56..2ceeb3c56 100644
--- a/graphics/pokemon/palettes/machop_shiny_palette.pal
+++ b/graphics/pokemon/machop/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/magby_front_pic.png b/graphics/pokemon/magby/anim_front.png
index fa7c91f0b..fa7c91f0b 100644
--- a/graphics/pokemon/anim_front_pics/magby_front_pic.png
+++ b/graphics/pokemon/magby/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/magby_back_pic.png b/graphics/pokemon/magby/back.png
index f05f62283..f05f62283 100644
--- a/graphics/pokemon/back_pics/magby_back_pic.png
+++ b/graphics/pokemon/magby/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/magby_footprint.png b/graphics/pokemon/magby/footprint.png
index 655d0ca2b..655d0ca2b 100644
--- a/graphics/pokemon/footprints/magby_footprint.png
+++ b/graphics/pokemon/magby/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/magby_still_front_pic.png b/graphics/pokemon/magby/front.png
index 6994953b2..6994953b2 100644
--- a/graphics/pokemon/front_pics/magby_still_front_pic.png
+++ b/graphics/pokemon/magby/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/magby_icon.png b/graphics/pokemon/magby/icon.png
index 574274003..574274003 100644
--- a/graphics/pokemon/icons/magby_icon.png
+++ b/graphics/pokemon/magby/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/magby_palette.pal b/graphics/pokemon/magby/normal.pal
index 42daceeb8..42daceeb8 100644
--- a/graphics/pokemon/palettes/magby_palette.pal
+++ b/graphics/pokemon/magby/normal.pal
diff --git a/graphics/pokemon/palettes/magby_shiny_palette.pal b/graphics/pokemon/magby/shiny.pal
index 97a19115c..97a19115c 100644
--- a/graphics/pokemon/palettes/magby_shiny_palette.pal
+++ b/graphics/pokemon/magby/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/magcargo_front_pic.png b/graphics/pokemon/magcargo/anim_front.png
index 5c2ddcddd..5c2ddcddd 100644
--- a/graphics/pokemon/anim_front_pics/magcargo_front_pic.png
+++ b/graphics/pokemon/magcargo/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/magcargo_back_pic.png b/graphics/pokemon/magcargo/back.png
index 8d2221f0d..8d2221f0d 100644
--- a/graphics/pokemon/back_pics/magcargo_back_pic.png
+++ b/graphics/pokemon/magcargo/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/magcargo_footprint.png b/graphics/pokemon/magcargo/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/magcargo_footprint.png
+++ b/graphics/pokemon/magcargo/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/magcargo_still_front_pic.png b/graphics/pokemon/magcargo/front.png
index b2e3679cd..b2e3679cd 100644
--- a/graphics/pokemon/front_pics/magcargo_still_front_pic.png
+++ b/graphics/pokemon/magcargo/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/magcargo_icon.png b/graphics/pokemon/magcargo/icon.png
index 46cbb8cb5..46cbb8cb5 100644
--- a/graphics/pokemon/icons/magcargo_icon.png
+++ b/graphics/pokemon/magcargo/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/magcargo_palette.pal b/graphics/pokemon/magcargo/normal.pal
index 71f6dce5b..71f6dce5b 100644
--- a/graphics/pokemon/palettes/magcargo_palette.pal
+++ b/graphics/pokemon/magcargo/normal.pal
diff --git a/graphics/pokemon/palettes/magcargo_shiny_palette.pal b/graphics/pokemon/magcargo/shiny.pal
index ff0c9dd40..ff0c9dd40 100644
--- a/graphics/pokemon/palettes/magcargo_shiny_palette.pal
+++ b/graphics/pokemon/magcargo/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/magikarp_front_pic.png b/graphics/pokemon/magikarp/anim_front.png
index 4b4f31f72..4b4f31f72 100644
--- a/graphics/pokemon/anim_front_pics/magikarp_front_pic.png
+++ b/graphics/pokemon/magikarp/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/magikarp_back_pic.png b/graphics/pokemon/magikarp/back.png
index 66e874bb9..66e874bb9 100644
--- a/graphics/pokemon/back_pics/magikarp_back_pic.png
+++ b/graphics/pokemon/magikarp/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/magikarp_footprint.png b/graphics/pokemon/magikarp/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/magikarp_footprint.png
+++ b/graphics/pokemon/magikarp/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/magikarp_still_front_pic.png b/graphics/pokemon/magikarp/front.png
index 030c0a188..030c0a188 100644
--- a/graphics/pokemon/front_pics/magikarp_still_front_pic.png
+++ b/graphics/pokemon/magikarp/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/magikarp_icon.png b/graphics/pokemon/magikarp/icon.png
index 004884582..004884582 100644
--- a/graphics/pokemon/icons/magikarp_icon.png
+++ b/graphics/pokemon/magikarp/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/magikarp_palette.pal b/graphics/pokemon/magikarp/normal.pal
index 14b625cb9..14b625cb9 100644
--- a/graphics/pokemon/palettes/magikarp_palette.pal
+++ b/graphics/pokemon/magikarp/normal.pal
diff --git a/graphics/pokemon/palettes/magikarp_shiny_palette.pal b/graphics/pokemon/magikarp/shiny.pal
index d6eec780a..d6eec780a 100644
--- a/graphics/pokemon/palettes/magikarp_shiny_palette.pal
+++ b/graphics/pokemon/magikarp/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/magmar_front_pic.png b/graphics/pokemon/magmar/anim_front.png
index 3562bda29..3562bda29 100644
--- a/graphics/pokemon/anim_front_pics/magmar_front_pic.png
+++ b/graphics/pokemon/magmar/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/magmar_back_pic.png b/graphics/pokemon/magmar/back.png
index 6aba73438..6aba73438 100644
--- a/graphics/pokemon/back_pics/magmar_back_pic.png
+++ b/graphics/pokemon/magmar/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/magmar_footprint.png b/graphics/pokemon/magmar/footprint.png
index 17de53a46..17de53a46 100644
--- a/graphics/pokemon/footprints/magmar_footprint.png
+++ b/graphics/pokemon/magmar/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/magmar_still_front_pic.png b/graphics/pokemon/magmar/front.png
index 01fa79228..01fa79228 100644
--- a/graphics/pokemon/front_pics/magmar_still_front_pic.png
+++ b/graphics/pokemon/magmar/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/magmar_icon.png b/graphics/pokemon/magmar/icon.png
index af5ece4f7..af5ece4f7 100644
--- a/graphics/pokemon/icons/magmar_icon.png
+++ b/graphics/pokemon/magmar/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/magmar_palette.pal b/graphics/pokemon/magmar/normal.pal
index d94c6d760..d94c6d760 100644
--- a/graphics/pokemon/palettes/magmar_palette.pal
+++ b/graphics/pokemon/magmar/normal.pal
diff --git a/graphics/pokemon/palettes/magmar_shiny_palette.pal b/graphics/pokemon/magmar/shiny.pal
index f4da957cb..f4da957cb 100644
--- a/graphics/pokemon/palettes/magmar_shiny_palette.pal
+++ b/graphics/pokemon/magmar/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/magnemite_front_pic.png b/graphics/pokemon/magnemite/anim_front.png
index 60081cacb..60081cacb 100644
--- a/graphics/pokemon/anim_front_pics/magnemite_front_pic.png
+++ b/graphics/pokemon/magnemite/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/magnemite_back_pic.png b/graphics/pokemon/magnemite/back.png
index c1769ec51..c1769ec51 100644
--- a/graphics/pokemon/back_pics/magnemite_back_pic.png
+++ b/graphics/pokemon/magnemite/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/magnemite_footprint.png b/graphics/pokemon/magnemite/footprint.png
index f710e5028..f710e5028 100644
--- a/graphics/pokemon/footprints/magnemite_footprint.png
+++ b/graphics/pokemon/magnemite/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/magnemite_still_front_pic.png b/graphics/pokemon/magnemite/front.png
index 7de985dbd..7de985dbd 100644
--- a/graphics/pokemon/front_pics/magnemite_still_front_pic.png
+++ b/graphics/pokemon/magnemite/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/magnemite_icon.png b/graphics/pokemon/magnemite/icon.png
index ba9561d21..ba9561d21 100644
--- a/graphics/pokemon/icons/magnemite_icon.png
+++ b/graphics/pokemon/magnemite/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/magnemite_palette.pal b/graphics/pokemon/magnemite/normal.pal
index 4ece43e6e..4ece43e6e 100644
--- a/graphics/pokemon/palettes/magnemite_palette.pal
+++ b/graphics/pokemon/magnemite/normal.pal
diff --git a/graphics/pokemon/palettes/magnemite_shiny_palette.pal b/graphics/pokemon/magnemite/shiny.pal
index 50bb00b88..50bb00b88 100644
--- a/graphics/pokemon/palettes/magnemite_shiny_palette.pal
+++ b/graphics/pokemon/magnemite/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/magneton_front_pic.png b/graphics/pokemon/magneton/anim_front.png
index 40e95aaf4..40e95aaf4 100644
--- a/graphics/pokemon/anim_front_pics/magneton_front_pic.png
+++ b/graphics/pokemon/magneton/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/magneton_back_pic.png b/graphics/pokemon/magneton/back.png
index 5fc357dfc..5fc357dfc 100644
--- a/graphics/pokemon/back_pics/magneton_back_pic.png
+++ b/graphics/pokemon/magneton/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/magneton_footprint.png b/graphics/pokemon/magneton/footprint.png
index 00b8b0ebf..00b8b0ebf 100644
--- a/graphics/pokemon/footprints/magneton_footprint.png
+++ b/graphics/pokemon/magneton/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/magneton_still_front_pic.png b/graphics/pokemon/magneton/front.png
index 3587c2d45..3587c2d45 100644
--- a/graphics/pokemon/front_pics/magneton_still_front_pic.png
+++ b/graphics/pokemon/magneton/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/magneton_icon.png b/graphics/pokemon/magneton/icon.png
index 91a25f3ce..91a25f3ce 100644
--- a/graphics/pokemon/icons/magneton_icon.png
+++ b/graphics/pokemon/magneton/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/magneton_palette.pal b/graphics/pokemon/magneton/normal.pal
index 4ece43e6e..4ece43e6e 100644
--- a/graphics/pokemon/palettes/magneton_palette.pal
+++ b/graphics/pokemon/magneton/normal.pal
diff --git a/graphics/pokemon/palettes/magneton_shiny_palette.pal b/graphics/pokemon/magneton/shiny.pal
index 1777fbd2a..1777fbd2a 100644
--- a/graphics/pokemon/palettes/magneton_shiny_palette.pal
+++ b/graphics/pokemon/magneton/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/makuhita_front_pic.png b/graphics/pokemon/makuhita/anim_front.png
index fae14eb6a..fae14eb6a 100644
--- a/graphics/pokemon/anim_front_pics/makuhita_front_pic.png
+++ b/graphics/pokemon/makuhita/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/makuhita_back_pic.png b/graphics/pokemon/makuhita/back.png
index 45423f822..45423f822 100644
--- a/graphics/pokemon/back_pics/makuhita_back_pic.png
+++ b/graphics/pokemon/makuhita/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/makuhita_footprint.png b/graphics/pokemon/makuhita/footprint.png
index 3da20ccb3..3da20ccb3 100644
--- a/graphics/pokemon/footprints/makuhita_footprint.png
+++ b/graphics/pokemon/makuhita/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/makuhita_still_front_pic.png b/graphics/pokemon/makuhita/front.png
index 76a11c069..76a11c069 100644
--- a/graphics/pokemon/front_pics/makuhita_still_front_pic.png
+++ b/graphics/pokemon/makuhita/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/makuhita_icon.png b/graphics/pokemon/makuhita/icon.png
index d64f2c418..d64f2c418 100644
--- a/graphics/pokemon/icons/makuhita_icon.png
+++ b/graphics/pokemon/makuhita/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/makuhita_palette.pal b/graphics/pokemon/makuhita/normal.pal
index 7fc578bb1..7fc578bb1 100644
--- a/graphics/pokemon/palettes/makuhita_palette.pal
+++ b/graphics/pokemon/makuhita/normal.pal
diff --git a/graphics/pokemon/palettes/makuhita_shiny_palette.pal b/graphics/pokemon/makuhita/shiny.pal
index 2f3aa75fc..2f3aa75fc 100644
--- a/graphics/pokemon/palettes/makuhita_shiny_palette.pal
+++ b/graphics/pokemon/makuhita/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/manectric_front_pic.png b/graphics/pokemon/manectric/anim_front.png
index e91cf8850..e91cf8850 100644
--- a/graphics/pokemon/anim_front_pics/manectric_front_pic.png
+++ b/graphics/pokemon/manectric/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/manectric_back_pic.png b/graphics/pokemon/manectric/back.png
index 9373757a0..9373757a0 100644
--- a/graphics/pokemon/back_pics/manectric_back_pic.png
+++ b/graphics/pokemon/manectric/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/manectric_footprint.png b/graphics/pokemon/manectric/footprint.png
index 4f4903bf9..4f4903bf9 100644
--- a/graphics/pokemon/footprints/manectric_footprint.png
+++ b/graphics/pokemon/manectric/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/manectric_still_front_pic.png b/graphics/pokemon/manectric/front.png
index d4142301c..d4142301c 100644
--- a/graphics/pokemon/front_pics/manectric_still_front_pic.png
+++ b/graphics/pokemon/manectric/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/manectric_icon.png b/graphics/pokemon/manectric/icon.png
index 0b8fe933d..0b8fe933d 100644
--- a/graphics/pokemon/icons/manectric_icon.png
+++ b/graphics/pokemon/manectric/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/manectric_palette.pal b/graphics/pokemon/manectric/normal.pal
index 0067c876b..0067c876b 100644
--- a/graphics/pokemon/palettes/manectric_palette.pal
+++ b/graphics/pokemon/manectric/normal.pal
diff --git a/graphics/pokemon/palettes/manectric_shiny_palette.pal b/graphics/pokemon/manectric/shiny.pal
index db1f6ea18..db1f6ea18 100644
--- a/graphics/pokemon/palettes/manectric_shiny_palette.pal
+++ b/graphics/pokemon/manectric/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/mankey_front_pic.png b/graphics/pokemon/mankey/anim_front.png
index b630920f6..b630920f6 100644
--- a/graphics/pokemon/anim_front_pics/mankey_front_pic.png
+++ b/graphics/pokemon/mankey/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/mankey_back_pic.png b/graphics/pokemon/mankey/back.png
index 8b0751a9e..8b0751a9e 100644
--- a/graphics/pokemon/back_pics/mankey_back_pic.png
+++ b/graphics/pokemon/mankey/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/mankey_footprint.png b/graphics/pokemon/mankey/footprint.png
index f02036af5..f02036af5 100644
--- a/graphics/pokemon/footprints/mankey_footprint.png
+++ b/graphics/pokemon/mankey/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/mankey_still_front_pic.png b/graphics/pokemon/mankey/front.png
index 10abe4def..10abe4def 100644
--- a/graphics/pokemon/front_pics/mankey_still_front_pic.png
+++ b/graphics/pokemon/mankey/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/mankey_icon.png b/graphics/pokemon/mankey/icon.png
index 369221126..369221126 100644
--- a/graphics/pokemon/icons/mankey_icon.png
+++ b/graphics/pokemon/mankey/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/mankey_palette.pal b/graphics/pokemon/mankey/normal.pal
index bc405617a..bc405617a 100644
--- a/graphics/pokemon/palettes/mankey_palette.pal
+++ b/graphics/pokemon/mankey/normal.pal
diff --git a/graphics/pokemon/palettes/mankey_shiny_palette.pal b/graphics/pokemon/mankey/shiny.pal
index 55703c37b..55703c37b 100644
--- a/graphics/pokemon/palettes/mankey_shiny_palette.pal
+++ b/graphics/pokemon/mankey/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/mantine_front_pic.png b/graphics/pokemon/mantine/anim_front.png
index d310da6e5..d310da6e5 100644
--- a/graphics/pokemon/anim_front_pics/mantine_front_pic.png
+++ b/graphics/pokemon/mantine/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/mantine_back_pic.png b/graphics/pokemon/mantine/back.png
index 186e90e1e..186e90e1e 100644
--- a/graphics/pokemon/back_pics/mantine_back_pic.png
+++ b/graphics/pokemon/mantine/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/mantine_footprint.png b/graphics/pokemon/mantine/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/mantine_footprint.png
+++ b/graphics/pokemon/mantine/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/mantine_still_front_pic.png b/graphics/pokemon/mantine/front.png
index b8a292d83..b8a292d83 100644
--- a/graphics/pokemon/front_pics/mantine_still_front_pic.png
+++ b/graphics/pokemon/mantine/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/mantine_icon.png b/graphics/pokemon/mantine/icon.png
index cf0bb2223..cf0bb2223 100644
--- a/graphics/pokemon/icons/mantine_icon.png
+++ b/graphics/pokemon/mantine/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/mantine_palette.pal b/graphics/pokemon/mantine/normal.pal
index 36e0777c4..36e0777c4 100644
--- a/graphics/pokemon/palettes/mantine_palette.pal
+++ b/graphics/pokemon/mantine/normal.pal
diff --git a/graphics/pokemon/palettes/mantine_shiny_palette.pal b/graphics/pokemon/mantine/shiny.pal
index 5427dc275..5427dc275 100644
--- a/graphics/pokemon/palettes/mantine_shiny_palette.pal
+++ b/graphics/pokemon/mantine/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/mareep_front_pic.png b/graphics/pokemon/mareep/anim_front.png
index 9435ca829..9435ca829 100644
--- a/graphics/pokemon/anim_front_pics/mareep_front_pic.png
+++ b/graphics/pokemon/mareep/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/mareep_back_pic.png b/graphics/pokemon/mareep/back.png
index 601d13c8d..601d13c8d 100644
--- a/graphics/pokemon/back_pics/mareep_back_pic.png
+++ b/graphics/pokemon/mareep/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/mareep_footprint.png b/graphics/pokemon/mareep/footprint.png
index 2913a4c48..2913a4c48 100644
--- a/graphics/pokemon/footprints/mareep_footprint.png
+++ b/graphics/pokemon/mareep/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/mareep_still_front_pic.png b/graphics/pokemon/mareep/front.png
index 7f052faea..7f052faea 100644
--- a/graphics/pokemon/front_pics/mareep_still_front_pic.png
+++ b/graphics/pokemon/mareep/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/mareep_icon.png b/graphics/pokemon/mareep/icon.png
index 2bd5335b6..2bd5335b6 100644
--- a/graphics/pokemon/icons/mareep_icon.png
+++ b/graphics/pokemon/mareep/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/mareep_palette.pal b/graphics/pokemon/mareep/normal.pal
index bd24bfe72..bd24bfe72 100644
--- a/graphics/pokemon/palettes/mareep_palette.pal
+++ b/graphics/pokemon/mareep/normal.pal
diff --git a/graphics/pokemon/palettes/mareep_shiny_palette.pal b/graphics/pokemon/mareep/shiny.pal
index 587f7493f..587f7493f 100644
--- a/graphics/pokemon/palettes/mareep_shiny_palette.pal
+++ b/graphics/pokemon/mareep/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/marill_front_pic.png b/graphics/pokemon/marill/anim_front.png
index 51e0a1444..51e0a1444 100644
--- a/graphics/pokemon/anim_front_pics/marill_front_pic.png
+++ b/graphics/pokemon/marill/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/marill_back_pic.png b/graphics/pokemon/marill/back.png
index 49bc29d97..49bc29d97 100644
--- a/graphics/pokemon/back_pics/marill_back_pic.png
+++ b/graphics/pokemon/marill/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/marill_footprint.png b/graphics/pokemon/marill/footprint.png
index a09d8f2c0..a09d8f2c0 100644
--- a/graphics/pokemon/footprints/marill_footprint.png
+++ b/graphics/pokemon/marill/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/marill_still_front_pic.png b/graphics/pokemon/marill/front.png
index 91cdf233f..91cdf233f 100644
--- a/graphics/pokemon/front_pics/marill_still_front_pic.png
+++ b/graphics/pokemon/marill/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/marill_icon.png b/graphics/pokemon/marill/icon.png
index d91f9da86..d91f9da86 100644
--- a/graphics/pokemon/icons/marill_icon.png
+++ b/graphics/pokemon/marill/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/marill_palette.pal b/graphics/pokemon/marill/normal.pal
index 77ed6b4b6..77ed6b4b6 100644
--- a/graphics/pokemon/palettes/marill_palette.pal
+++ b/graphics/pokemon/marill/normal.pal
diff --git a/graphics/pokemon/palettes/marill_shiny_palette.pal b/graphics/pokemon/marill/shiny.pal
index 7bd492c65..7bd492c65 100644
--- a/graphics/pokemon/palettes/marill_shiny_palette.pal
+++ b/graphics/pokemon/marill/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/marowak_front_pic.png b/graphics/pokemon/marowak/anim_front.png
index 8d15403c8..8d15403c8 100644
--- a/graphics/pokemon/anim_front_pics/marowak_front_pic.png
+++ b/graphics/pokemon/marowak/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/marowak_back_pic.png b/graphics/pokemon/marowak/back.png
index 8510885d5..8510885d5 100644
--- a/graphics/pokemon/back_pics/marowak_back_pic.png
+++ b/graphics/pokemon/marowak/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/marowak_footprint.png b/graphics/pokemon/marowak/footprint.png
index fbde41d04..fbde41d04 100644
--- a/graphics/pokemon/footprints/marowak_footprint.png
+++ b/graphics/pokemon/marowak/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/marowak_still_front_pic.png b/graphics/pokemon/marowak/front.png
index f86aafe76..f86aafe76 100644
--- a/graphics/pokemon/front_pics/marowak_still_front_pic.png
+++ b/graphics/pokemon/marowak/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/marowak_icon.png b/graphics/pokemon/marowak/icon.png
index 7efbb1779..7efbb1779 100644
--- a/graphics/pokemon/icons/marowak_icon.png
+++ b/graphics/pokemon/marowak/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/marowak_palette.pal b/graphics/pokemon/marowak/normal.pal
index 7a70bffe3..7a70bffe3 100644
--- a/graphics/pokemon/palettes/marowak_palette.pal
+++ b/graphics/pokemon/marowak/normal.pal
diff --git a/graphics/pokemon/palettes/marowak_shiny_palette.pal b/graphics/pokemon/marowak/shiny.pal
index 569ccc082..569ccc082 100644
--- a/graphics/pokemon/palettes/marowak_shiny_palette.pal
+++ b/graphics/pokemon/marowak/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/marshtomp_front_pic.png b/graphics/pokemon/marshtomp/anim_front.png
index d06bc373e..d06bc373e 100644
--- a/graphics/pokemon/anim_front_pics/marshtomp_front_pic.png
+++ b/graphics/pokemon/marshtomp/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/marshtomp_back_pic.png b/graphics/pokemon/marshtomp/back.png
index 6c530aaee..6c530aaee 100644
--- a/graphics/pokemon/back_pics/marshtomp_back_pic.png
+++ b/graphics/pokemon/marshtomp/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/marshtomp_footprint.png b/graphics/pokemon/marshtomp/footprint.png
index 3c232ccad..3c232ccad 100644
--- a/graphics/pokemon/footprints/marshtomp_footprint.png
+++ b/graphics/pokemon/marshtomp/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/marshtomp_still_front_pic.png b/graphics/pokemon/marshtomp/front.png
index f94cf911d..f94cf911d 100644
--- a/graphics/pokemon/front_pics/marshtomp_still_front_pic.png
+++ b/graphics/pokemon/marshtomp/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/marshtomp_icon.png b/graphics/pokemon/marshtomp/icon.png
index 170e82851..170e82851 100644
--- a/graphics/pokemon/icons/marshtomp_icon.png
+++ b/graphics/pokemon/marshtomp/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/marshtomp_palette.pal b/graphics/pokemon/marshtomp/normal.pal
index b21cb52db..b21cb52db 100644
--- a/graphics/pokemon/palettes/marshtomp_palette.pal
+++ b/graphics/pokemon/marshtomp/normal.pal
diff --git a/graphics/pokemon/palettes/marshtomp_shiny_palette.pal b/graphics/pokemon/marshtomp/shiny.pal
index f47e2751d..f47e2751d 100644
--- a/graphics/pokemon/palettes/marshtomp_shiny_palette.pal
+++ b/graphics/pokemon/marshtomp/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/masquerain_front_pic.png b/graphics/pokemon/masquerain/anim_front.png
index 7853b70e8..7853b70e8 100644
--- a/graphics/pokemon/anim_front_pics/masquerain_front_pic.png
+++ b/graphics/pokemon/masquerain/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/masquerain_back_pic.png b/graphics/pokemon/masquerain/back.png
index 0092c2ca6..0092c2ca6 100644
--- a/graphics/pokemon/back_pics/masquerain_back_pic.png
+++ b/graphics/pokemon/masquerain/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/masquerain_footprint.png b/graphics/pokemon/masquerain/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/masquerain_footprint.png
+++ b/graphics/pokemon/masquerain/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/masquerain_still_front_pic.png b/graphics/pokemon/masquerain/front.png
index b4c33dccc..b4c33dccc 100644
--- a/graphics/pokemon/front_pics/masquerain_still_front_pic.png
+++ b/graphics/pokemon/masquerain/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/masquerain_icon.png b/graphics/pokemon/masquerain/icon.png
index 5487241e2..5487241e2 100644
--- a/graphics/pokemon/icons/masquerain_icon.png
+++ b/graphics/pokemon/masquerain/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/masquerain_palette.pal b/graphics/pokemon/masquerain/normal.pal
index 54690d35b..54690d35b 100644
--- a/graphics/pokemon/palettes/masquerain_palette.pal
+++ b/graphics/pokemon/masquerain/normal.pal
diff --git a/graphics/pokemon/palettes/masquerain_shiny_palette.pal b/graphics/pokemon/masquerain/shiny.pal
index 09ed3ccf5..09ed3ccf5 100644
--- a/graphics/pokemon/palettes/masquerain_shiny_palette.pal
+++ b/graphics/pokemon/masquerain/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/mawile_front_pic.png b/graphics/pokemon/mawile/anim_front.png
index 562612086..562612086 100644
--- a/graphics/pokemon/anim_front_pics/mawile_front_pic.png
+++ b/graphics/pokemon/mawile/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/mawile_back_pic.png b/graphics/pokemon/mawile/back.png
index 5bbf44ca9..5bbf44ca9 100644
--- a/graphics/pokemon/back_pics/mawile_back_pic.png
+++ b/graphics/pokemon/mawile/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/mawile_footprint.png b/graphics/pokemon/mawile/footprint.png
index 5195fd4df..5195fd4df 100644
--- a/graphics/pokemon/footprints/mawile_footprint.png
+++ b/graphics/pokemon/mawile/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/mawile_still_front_pic.png b/graphics/pokemon/mawile/front.png
index 49f38de14..49f38de14 100644
--- a/graphics/pokemon/front_pics/mawile_still_front_pic.png
+++ b/graphics/pokemon/mawile/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/mawile_icon.png b/graphics/pokemon/mawile/icon.png
index cf7363277..cf7363277 100644
--- a/graphics/pokemon/icons/mawile_icon.png
+++ b/graphics/pokemon/mawile/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/mawile_palette.pal b/graphics/pokemon/mawile/normal.pal
index ebb40809c..ebb40809c 100644
--- a/graphics/pokemon/palettes/mawile_palette.pal
+++ b/graphics/pokemon/mawile/normal.pal
diff --git a/graphics/pokemon/palettes/mawile_shiny_palette.pal b/graphics/pokemon/mawile/shiny.pal
index ceadfc93e..ceadfc93e 100644
--- a/graphics/pokemon/palettes/mawile_shiny_palette.pal
+++ b/graphics/pokemon/mawile/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/medicham_front_pic.png b/graphics/pokemon/medicham/anim_front.png
index 7dc0762c4..7dc0762c4 100644
--- a/graphics/pokemon/anim_front_pics/medicham_front_pic.png
+++ b/graphics/pokemon/medicham/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/medicham_back_pic.png b/graphics/pokemon/medicham/back.png
index f4f58839b..f4f58839b 100644
--- a/graphics/pokemon/back_pics/medicham_back_pic.png
+++ b/graphics/pokemon/medicham/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/medicham_footprint.png b/graphics/pokemon/medicham/footprint.png
index 804e8c1d8..804e8c1d8 100644
--- a/graphics/pokemon/footprints/medicham_footprint.png
+++ b/graphics/pokemon/medicham/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/medicham_still_front_pic.png b/graphics/pokemon/medicham/front.png
index 1da67a1f2..1da67a1f2 100644
--- a/graphics/pokemon/front_pics/medicham_still_front_pic.png
+++ b/graphics/pokemon/medicham/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/medicham_icon.png b/graphics/pokemon/medicham/icon.png
index ed287fb28..ed287fb28 100644
--- a/graphics/pokemon/icons/medicham_icon.png
+++ b/graphics/pokemon/medicham/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/medicham_palette.pal b/graphics/pokemon/medicham/normal.pal
index ffc38ab86..ffc38ab86 100644
--- a/graphics/pokemon/palettes/medicham_palette.pal
+++ b/graphics/pokemon/medicham/normal.pal
diff --git a/graphics/pokemon/palettes/medicham_shiny_palette.pal b/graphics/pokemon/medicham/shiny.pal
index 9a1d82aa7..9a1d82aa7 100644
--- a/graphics/pokemon/palettes/medicham_shiny_palette.pal
+++ b/graphics/pokemon/medicham/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/meditite_front_pic.png b/graphics/pokemon/meditite/anim_front.png
index cd9516ad2..cd9516ad2 100644
--- a/graphics/pokemon/anim_front_pics/meditite_front_pic.png
+++ b/graphics/pokemon/meditite/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/meditite_back_pic.png b/graphics/pokemon/meditite/back.png
index 8c00d8f6d..8c00d8f6d 100644
--- a/graphics/pokemon/back_pics/meditite_back_pic.png
+++ b/graphics/pokemon/meditite/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/meditite_footprint.png b/graphics/pokemon/meditite/footprint.png
index 034cb0df8..034cb0df8 100644
--- a/graphics/pokemon/footprints/meditite_footprint.png
+++ b/graphics/pokemon/meditite/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/meditite_still_front_pic.png b/graphics/pokemon/meditite/front.png
index e8717b13d..e8717b13d 100644
--- a/graphics/pokemon/front_pics/meditite_still_front_pic.png
+++ b/graphics/pokemon/meditite/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/meditite_icon.png b/graphics/pokemon/meditite/icon.png
index 05a02f077..05a02f077 100644
--- a/graphics/pokemon/icons/meditite_icon.png
+++ b/graphics/pokemon/meditite/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/meditite_palette.pal b/graphics/pokemon/meditite/normal.pal
index a60729a6a..a60729a6a 100644
--- a/graphics/pokemon/palettes/meditite_palette.pal
+++ b/graphics/pokemon/meditite/normal.pal
diff --git a/graphics/pokemon/palettes/meditite_shiny_palette.pal b/graphics/pokemon/meditite/shiny.pal
index de7c38f5a..de7c38f5a 100644
--- a/graphics/pokemon/palettes/meditite_shiny_palette.pal
+++ b/graphics/pokemon/meditite/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/meganium_front_pic.png b/graphics/pokemon/meganium/anim_front.png
index 9317b389a..9317b389a 100644
--- a/graphics/pokemon/anim_front_pics/meganium_front_pic.png
+++ b/graphics/pokemon/meganium/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/meganium_back_pic.png b/graphics/pokemon/meganium/back.png
index be01710af..be01710af 100644
--- a/graphics/pokemon/back_pics/meganium_back_pic.png
+++ b/graphics/pokemon/meganium/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/meganium_footprint.png b/graphics/pokemon/meganium/footprint.png
index 39303ac4f..39303ac4f 100644
--- a/graphics/pokemon/footprints/meganium_footprint.png
+++ b/graphics/pokemon/meganium/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/meganium_still_front_pic.png b/graphics/pokemon/meganium/front.png
index 5ecee5287..5ecee5287 100644
--- a/graphics/pokemon/front_pics/meganium_still_front_pic.png
+++ b/graphics/pokemon/meganium/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/meganium_icon.png b/graphics/pokemon/meganium/icon.png
index ce4592272..ce4592272 100644
--- a/graphics/pokemon/icons/meganium_icon.png
+++ b/graphics/pokemon/meganium/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/meganium_palette.pal b/graphics/pokemon/meganium/normal.pal
index 6a4bca91c..6a4bca91c 100644
--- a/graphics/pokemon/palettes/meganium_palette.pal
+++ b/graphics/pokemon/meganium/normal.pal
diff --git a/graphics/pokemon/palettes/meganium_shiny_palette.pal b/graphics/pokemon/meganium/shiny.pal
index 0b03b419d..0b03b419d 100644
--- a/graphics/pokemon/palettes/meganium_shiny_palette.pal
+++ b/graphics/pokemon/meganium/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/meowth_front_pic.png b/graphics/pokemon/meowth/anim_front.png
index ab750326a..ab750326a 100644
--- a/graphics/pokemon/anim_front_pics/meowth_front_pic.png
+++ b/graphics/pokemon/meowth/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/meowth_back_pic.png b/graphics/pokemon/meowth/back.png
index d87e7aa14..d87e7aa14 100644
--- a/graphics/pokemon/back_pics/meowth_back_pic.png
+++ b/graphics/pokemon/meowth/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/meowth_footprint.png b/graphics/pokemon/meowth/footprint.png
index 7dc20ada7..7dc20ada7 100644
--- a/graphics/pokemon/footprints/meowth_footprint.png
+++ b/graphics/pokemon/meowth/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/meowth_still_front_pic.png b/graphics/pokemon/meowth/front.png
index 76299ea59..76299ea59 100644
--- a/graphics/pokemon/front_pics/meowth_still_front_pic.png
+++ b/graphics/pokemon/meowth/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/meowth_icon.png b/graphics/pokemon/meowth/icon.png
index 146c69093..146c69093 100644
--- a/graphics/pokemon/icons/meowth_icon.png
+++ b/graphics/pokemon/meowth/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/meowth_palette.pal b/graphics/pokemon/meowth/normal.pal
index 034249ad5..034249ad5 100644
--- a/graphics/pokemon/palettes/meowth_palette.pal
+++ b/graphics/pokemon/meowth/normal.pal
diff --git a/graphics/pokemon/palettes/meowth_shiny_palette.pal b/graphics/pokemon/meowth/shiny.pal
index 68f386ca6..68f386ca6 100644
--- a/graphics/pokemon/palettes/meowth_shiny_palette.pal
+++ b/graphics/pokemon/meowth/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/metagross_front_pic.png b/graphics/pokemon/metagross/anim_front.png
index def46cfa3..def46cfa3 100644
--- a/graphics/pokemon/anim_front_pics/metagross_front_pic.png
+++ b/graphics/pokemon/metagross/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/metagross_back_pic.png b/graphics/pokemon/metagross/back.png
index 2097f945d..2097f945d 100644
--- a/graphics/pokemon/back_pics/metagross_back_pic.png
+++ b/graphics/pokemon/metagross/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/metagross_footprint.png b/graphics/pokemon/metagross/footprint.png
index 07f91d604..07f91d604 100644
--- a/graphics/pokemon/footprints/metagross_footprint.png
+++ b/graphics/pokemon/metagross/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/metagross_still_front_pic.png b/graphics/pokemon/metagross/front.png
index 6349fe912..6349fe912 100644
--- a/graphics/pokemon/front_pics/metagross_still_front_pic.png
+++ b/graphics/pokemon/metagross/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/metagross_icon.png b/graphics/pokemon/metagross/icon.png
index e9cf14ab1..e9cf14ab1 100644
--- a/graphics/pokemon/icons/metagross_icon.png
+++ b/graphics/pokemon/metagross/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/metagross_palette.pal b/graphics/pokemon/metagross/normal.pal
index 265dadb67..265dadb67 100644
--- a/graphics/pokemon/palettes/metagross_palette.pal
+++ b/graphics/pokemon/metagross/normal.pal
diff --git a/graphics/pokemon/palettes/metagross_shiny_palette.pal b/graphics/pokemon/metagross/shiny.pal
index 4ff89d816..4ff89d816 100644
--- a/graphics/pokemon/palettes/metagross_shiny_palette.pal
+++ b/graphics/pokemon/metagross/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/metang_front_pic.png b/graphics/pokemon/metang/anim_front.png
index c1d71aa9b..c1d71aa9b 100644
--- a/graphics/pokemon/anim_front_pics/metang_front_pic.png
+++ b/graphics/pokemon/metang/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/metang_back_pic.png b/graphics/pokemon/metang/back.png
index 2ba18eb3d..2ba18eb3d 100644
--- a/graphics/pokemon/back_pics/metang_back_pic.png
+++ b/graphics/pokemon/metang/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/metang_footprint.png b/graphics/pokemon/metang/footprint.png
index 5b0f8f5b0..5b0f8f5b0 100644
--- a/graphics/pokemon/footprints/metang_footprint.png
+++ b/graphics/pokemon/metang/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/metang_still_front_pic.png b/graphics/pokemon/metang/front.png
index 397bef3bf..397bef3bf 100644
--- a/graphics/pokemon/front_pics/metang_still_front_pic.png
+++ b/graphics/pokemon/metang/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/metang_icon.png b/graphics/pokemon/metang/icon.png
index cc095e935..cc095e935 100644
--- a/graphics/pokemon/icons/metang_icon.png
+++ b/graphics/pokemon/metang/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/metang_palette.pal b/graphics/pokemon/metang/normal.pal
index 41b48bc08..41b48bc08 100644
--- a/graphics/pokemon/palettes/metang_palette.pal
+++ b/graphics/pokemon/metang/normal.pal
diff --git a/graphics/pokemon/palettes/metang_shiny_palette.pal b/graphics/pokemon/metang/shiny.pal
index 56c14cd75..56c14cd75 100644
--- a/graphics/pokemon/palettes/metang_shiny_palette.pal
+++ b/graphics/pokemon/metang/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/metapod_front_pic.png b/graphics/pokemon/metapod/anim_front.png
index 89843520d..89843520d 100644
--- a/graphics/pokemon/anim_front_pics/metapod_front_pic.png
+++ b/graphics/pokemon/metapod/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/metapod_back_pic.png b/graphics/pokemon/metapod/back.png
index 42b80d17c..42b80d17c 100644
--- a/graphics/pokemon/back_pics/metapod_back_pic.png
+++ b/graphics/pokemon/metapod/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/metapod_footprint.png b/graphics/pokemon/metapod/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/metapod_footprint.png
+++ b/graphics/pokemon/metapod/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/metapod_still_front_pic.png b/graphics/pokemon/metapod/front.png
index 3ae019264..3ae019264 100644
--- a/graphics/pokemon/front_pics/metapod_still_front_pic.png
+++ b/graphics/pokemon/metapod/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/metapod_icon.png b/graphics/pokemon/metapod/icon.png
index 2316b2408..2316b2408 100644
--- a/graphics/pokemon/icons/metapod_icon.png
+++ b/graphics/pokemon/metapod/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/metapod_palette.pal b/graphics/pokemon/metapod/normal.pal
index 747522889..747522889 100644
--- a/graphics/pokemon/palettes/metapod_palette.pal
+++ b/graphics/pokemon/metapod/normal.pal
diff --git a/graphics/pokemon/palettes/metapod_shiny_palette.pal b/graphics/pokemon/metapod/shiny.pal
index 149d03c64..149d03c64 100644
--- a/graphics/pokemon/palettes/metapod_shiny_palette.pal
+++ b/graphics/pokemon/metapod/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/mew_front_pic.png b/graphics/pokemon/mew/anim_front.png
index fc6dacbfd..fc6dacbfd 100644
--- a/graphics/pokemon/anim_front_pics/mew_front_pic.png
+++ b/graphics/pokemon/mew/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/mew_back_pic.png b/graphics/pokemon/mew/back.png
index d73526245..d73526245 100644
--- a/graphics/pokemon/back_pics/mew_back_pic.png
+++ b/graphics/pokemon/mew/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/mew_footprint.png b/graphics/pokemon/mew/footprint.png
index afbba43ac..afbba43ac 100644
--- a/graphics/pokemon/footprints/mew_footprint.png
+++ b/graphics/pokemon/mew/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/mew_still_front_pic.png b/graphics/pokemon/mew/front.png
index b72376196..b72376196 100644
--- a/graphics/pokemon/front_pics/mew_still_front_pic.png
+++ b/graphics/pokemon/mew/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/mew_icon.png b/graphics/pokemon/mew/icon.png
index cffd1dacc..cffd1dacc 100644
--- a/graphics/pokemon/icons/mew_icon.png
+++ b/graphics/pokemon/mew/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/mew_palette.pal b/graphics/pokemon/mew/normal.pal
index d9a50cdec..d9a50cdec 100644
--- a/graphics/pokemon/palettes/mew_palette.pal
+++ b/graphics/pokemon/mew/normal.pal
diff --git a/graphics/pokemon/palettes/mew_shiny_palette.pal b/graphics/pokemon/mew/shiny.pal
index 0bf72b2d8..0bf72b2d8 100644
--- a/graphics/pokemon/palettes/mew_shiny_palette.pal
+++ b/graphics/pokemon/mew/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/mewtwo_front_pic.png b/graphics/pokemon/mewtwo/anim_front.png
index e3ef74e03..e3ef74e03 100644
--- a/graphics/pokemon/anim_front_pics/mewtwo_front_pic.png
+++ b/graphics/pokemon/mewtwo/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/mewtwo_back_pic.png b/graphics/pokemon/mewtwo/back.png
index e466856e5..e466856e5 100644
--- a/graphics/pokemon/back_pics/mewtwo_back_pic.png
+++ b/graphics/pokemon/mewtwo/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/mewtwo_footprint.png b/graphics/pokemon/mewtwo/footprint.png
index 0f7573dd3..0f7573dd3 100644
--- a/graphics/pokemon/footprints/mewtwo_footprint.png
+++ b/graphics/pokemon/mewtwo/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/mewtwo_still_front_pic.png b/graphics/pokemon/mewtwo/front.png
index 58aafc2d4..58aafc2d4 100644
--- a/graphics/pokemon/front_pics/mewtwo_still_front_pic.png
+++ b/graphics/pokemon/mewtwo/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/mewtwo_icon.png b/graphics/pokemon/mewtwo/icon.png
index 65f2aeec2..65f2aeec2 100644
--- a/graphics/pokemon/icons/mewtwo_icon.png
+++ b/graphics/pokemon/mewtwo/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/mewtwo_palette.pal b/graphics/pokemon/mewtwo/normal.pal
index 4afd3567e..4afd3567e 100644
--- a/graphics/pokemon/palettes/mewtwo_palette.pal
+++ b/graphics/pokemon/mewtwo/normal.pal
diff --git a/graphics/pokemon/palettes/mewtwo_shiny_palette.pal b/graphics/pokemon/mewtwo/shiny.pal
index c65c6c83e..c65c6c83e 100644
--- a/graphics/pokemon/palettes/mewtwo_shiny_palette.pal
+++ b/graphics/pokemon/mewtwo/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/mightyena_front_pic.png b/graphics/pokemon/mightyena/anim_front.png
index 494b7b23a..494b7b23a 100644
--- a/graphics/pokemon/anim_front_pics/mightyena_front_pic.png
+++ b/graphics/pokemon/mightyena/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/mightyena_back_pic.png b/graphics/pokemon/mightyena/back.png
index 188562590..188562590 100644
--- a/graphics/pokemon/back_pics/mightyena_back_pic.png
+++ b/graphics/pokemon/mightyena/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/mightyena_footprint.png b/graphics/pokemon/mightyena/footprint.png
index b39af65bc..b39af65bc 100644
--- a/graphics/pokemon/footprints/mightyena_footprint.png
+++ b/graphics/pokemon/mightyena/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/mightyena_still_front_pic.png b/graphics/pokemon/mightyena/front.png
index 16af4c021..16af4c021 100644
--- a/graphics/pokemon/front_pics/mightyena_still_front_pic.png
+++ b/graphics/pokemon/mightyena/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/mightyena_icon.png b/graphics/pokemon/mightyena/icon.png
index 3f9e61763..3f9e61763 100644
--- a/graphics/pokemon/icons/mightyena_icon.png
+++ b/graphics/pokemon/mightyena/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/mightyena_palette.pal b/graphics/pokemon/mightyena/normal.pal
index 42cdc8fc1..42cdc8fc1 100644
--- a/graphics/pokemon/palettes/mightyena_palette.pal
+++ b/graphics/pokemon/mightyena/normal.pal
diff --git a/graphics/pokemon/palettes/mightyena_shiny_palette.pal b/graphics/pokemon/mightyena/shiny.pal
index 7881952af..7881952af 100644
--- a/graphics/pokemon/palettes/mightyena_shiny_palette.pal
+++ b/graphics/pokemon/mightyena/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/milotic_front_pic.png b/graphics/pokemon/milotic/anim_front.png
index a80ed6f94..a80ed6f94 100644
--- a/graphics/pokemon/anim_front_pics/milotic_front_pic.png
+++ b/graphics/pokemon/milotic/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/milotic_back_pic.png b/graphics/pokemon/milotic/back.png
index 5d91dfb63..5d91dfb63 100644
--- a/graphics/pokemon/back_pics/milotic_back_pic.png
+++ b/graphics/pokemon/milotic/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/milotic_footprint.png b/graphics/pokemon/milotic/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/milotic_footprint.png
+++ b/graphics/pokemon/milotic/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/milotic_still_front_pic.png b/graphics/pokemon/milotic/front.png
index 82d683449..82d683449 100644
--- a/graphics/pokemon/front_pics/milotic_still_front_pic.png
+++ b/graphics/pokemon/milotic/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/milotic_icon.png b/graphics/pokemon/milotic/icon.png
index c1aa2ec8a..c1aa2ec8a 100644
--- a/graphics/pokemon/icons/milotic_icon.png
+++ b/graphics/pokemon/milotic/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/milotic_palette.pal b/graphics/pokemon/milotic/normal.pal
index df5cab01a..df5cab01a 100644
--- a/graphics/pokemon/palettes/milotic_palette.pal
+++ b/graphics/pokemon/milotic/normal.pal
diff --git a/graphics/pokemon/palettes/milotic_shiny_palette.pal b/graphics/pokemon/milotic/shiny.pal
index 8a57b80b2..8a57b80b2 100644
--- a/graphics/pokemon/palettes/milotic_shiny_palette.pal
+++ b/graphics/pokemon/milotic/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/miltank_front_pic.png b/graphics/pokemon/miltank/anim_front.png
index f702f1143..f702f1143 100644
--- a/graphics/pokemon/anim_front_pics/miltank_front_pic.png
+++ b/graphics/pokemon/miltank/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/miltank_back_pic.png b/graphics/pokemon/miltank/back.png
index 0cf5b21e6..0cf5b21e6 100644
--- a/graphics/pokemon/back_pics/miltank_back_pic.png
+++ b/graphics/pokemon/miltank/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/miltank_footprint.png b/graphics/pokemon/miltank/footprint.png
index a7162cd21..a7162cd21 100644
--- a/graphics/pokemon/footprints/miltank_footprint.png
+++ b/graphics/pokemon/miltank/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/miltank_still_front_pic.png b/graphics/pokemon/miltank/front.png
index 394b56fab..394b56fab 100644
--- a/graphics/pokemon/front_pics/miltank_still_front_pic.png
+++ b/graphics/pokemon/miltank/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/miltank_icon.png b/graphics/pokemon/miltank/icon.png
index ade9cad90..ade9cad90 100644
--- a/graphics/pokemon/icons/miltank_icon.png
+++ b/graphics/pokemon/miltank/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/miltank_palette.pal b/graphics/pokemon/miltank/normal.pal
index 105c67283..105c67283 100644
--- a/graphics/pokemon/palettes/miltank_palette.pal
+++ b/graphics/pokemon/miltank/normal.pal
diff --git a/graphics/pokemon/palettes/miltank_shiny_palette.pal b/graphics/pokemon/miltank/shiny.pal
index 7dcb6f2ee..7dcb6f2ee 100644
--- a/graphics/pokemon/palettes/miltank_shiny_palette.pal
+++ b/graphics/pokemon/miltank/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/minun_front_pic.png b/graphics/pokemon/minun/anim_front.png
index 3cd9688ba..3cd9688ba 100644
--- a/graphics/pokemon/anim_front_pics/minun_front_pic.png
+++ b/graphics/pokemon/minun/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/minun_back_pic.png b/graphics/pokemon/minun/back.png
index 7c1377d59..7c1377d59 100644
--- a/graphics/pokemon/back_pics/minun_back_pic.png
+++ b/graphics/pokemon/minun/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/minun_footprint.png b/graphics/pokemon/minun/footprint.png
index 1071b8069..1071b8069 100644
--- a/graphics/pokemon/footprints/minun_footprint.png
+++ b/graphics/pokemon/minun/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/minun_still_front_pic.png b/graphics/pokemon/minun/front.png
index 9b373c0a2..9b373c0a2 100644
--- a/graphics/pokemon/front_pics/minun_still_front_pic.png
+++ b/graphics/pokemon/minun/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/minun_icon.png b/graphics/pokemon/minun/icon.png
index 1aacd776a..1aacd776a 100644
--- a/graphics/pokemon/icons/minun_icon.png
+++ b/graphics/pokemon/minun/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/minun_palette.pal b/graphics/pokemon/minun/normal.pal
index 3ed8a19ee..3ed8a19ee 100644
--- a/graphics/pokemon/palettes/minun_palette.pal
+++ b/graphics/pokemon/minun/normal.pal
diff --git a/graphics/pokemon/palettes/minun_shiny_palette.pal b/graphics/pokemon/minun/shiny.pal
index db9c93534..db9c93534 100644
--- a/graphics/pokemon/palettes/minun_shiny_palette.pal
+++ b/graphics/pokemon/minun/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/misdreavus_front_pic.png b/graphics/pokemon/misdreavus/anim_front.png
index bd669637b..bd669637b 100644
--- a/graphics/pokemon/anim_front_pics/misdreavus_front_pic.png
+++ b/graphics/pokemon/misdreavus/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/misdreavus_back_pic.png b/graphics/pokemon/misdreavus/back.png
index 44b44a3ff..44b44a3ff 100644
--- a/graphics/pokemon/back_pics/misdreavus_back_pic.png
+++ b/graphics/pokemon/misdreavus/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/misdreavus_footprint.png b/graphics/pokemon/misdreavus/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/misdreavus_footprint.png
+++ b/graphics/pokemon/misdreavus/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/misdreavus_still_front_pic.png b/graphics/pokemon/misdreavus/front.png
index 135f6969b..135f6969b 100644
--- a/graphics/pokemon/front_pics/misdreavus_still_front_pic.png
+++ b/graphics/pokemon/misdreavus/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/misdreavus_icon.png b/graphics/pokemon/misdreavus/icon.png
index bbe121b91..bbe121b91 100644
--- a/graphics/pokemon/icons/misdreavus_icon.png
+++ b/graphics/pokemon/misdreavus/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/misdreavus_palette.pal b/graphics/pokemon/misdreavus/normal.pal
index c57ab5ea7..c57ab5ea7 100644
--- a/graphics/pokemon/palettes/misdreavus_palette.pal
+++ b/graphics/pokemon/misdreavus/normal.pal
diff --git a/graphics/pokemon/palettes/misdreavus_shiny_palette.pal b/graphics/pokemon/misdreavus/shiny.pal
index 8814515be..8814515be 100644
--- a/graphics/pokemon/palettes/misdreavus_shiny_palette.pal
+++ b/graphics/pokemon/misdreavus/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/moltres_front_pic.png b/graphics/pokemon/moltres/anim_front.png
index 2f49fe6a7..2f49fe6a7 100644
--- a/graphics/pokemon/anim_front_pics/moltres_front_pic.png
+++ b/graphics/pokemon/moltres/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/moltres_back_pic.png b/graphics/pokemon/moltres/back.png
index 11ed8ced8..11ed8ced8 100644
--- a/graphics/pokemon/back_pics/moltres_back_pic.png
+++ b/graphics/pokemon/moltres/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/moltres_footprint.png b/graphics/pokemon/moltres/footprint.png
index 3900403bd..3900403bd 100644
--- a/graphics/pokemon/footprints/moltres_footprint.png
+++ b/graphics/pokemon/moltres/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/moltres_still_front_pic.png b/graphics/pokemon/moltres/front.png
index d07fc056f..d07fc056f 100644
--- a/graphics/pokemon/front_pics/moltres_still_front_pic.png
+++ b/graphics/pokemon/moltres/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/moltres_icon.png b/graphics/pokemon/moltres/icon.png
index e15d2164a..e15d2164a 100644
--- a/graphics/pokemon/icons/moltres_icon.png
+++ b/graphics/pokemon/moltres/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/moltres_palette.pal b/graphics/pokemon/moltres/normal.pal
index b27f7cdac..b27f7cdac 100644
--- a/graphics/pokemon/palettes/moltres_palette.pal
+++ b/graphics/pokemon/moltres/normal.pal
diff --git a/graphics/pokemon/palettes/moltres_shiny_palette.pal b/graphics/pokemon/moltres/shiny.pal
index b289551aa..b289551aa 100644
--- a/graphics/pokemon/palettes/moltres_shiny_palette.pal
+++ b/graphics/pokemon/moltres/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/mr_mime_front_pic.png b/graphics/pokemon/mr_mime/anim_front.png
index 710145fef..710145fef 100644
--- a/graphics/pokemon/anim_front_pics/mr_mime_front_pic.png
+++ b/graphics/pokemon/mr_mime/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/mr_mime_back_pic.png b/graphics/pokemon/mr_mime/back.png
index 129fbb4e2..129fbb4e2 100644
--- a/graphics/pokemon/back_pics/mr_mime_back_pic.png
+++ b/graphics/pokemon/mr_mime/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/mr_mime_footprint.png b/graphics/pokemon/mr_mime/footprint.png
index cb0aff1a3..cb0aff1a3 100644
--- a/graphics/pokemon/footprints/mr_mime_footprint.png
+++ b/graphics/pokemon/mr_mime/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/mr_mime_still_front_pic.png b/graphics/pokemon/mr_mime/front.png
index c8f107911..c8f107911 100644
--- a/graphics/pokemon/front_pics/mr_mime_still_front_pic.png
+++ b/graphics/pokemon/mr_mime/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/mr_mime_icon.png b/graphics/pokemon/mr_mime/icon.png
index b1e3b2bfb..b1e3b2bfb 100644
--- a/graphics/pokemon/icons/mr_mime_icon.png
+++ b/graphics/pokemon/mr_mime/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/mr_mime_palette.pal b/graphics/pokemon/mr_mime/normal.pal
index 269bf45ed..269bf45ed 100644
--- a/graphics/pokemon/palettes/mr_mime_palette.pal
+++ b/graphics/pokemon/mr_mime/normal.pal
diff --git a/graphics/pokemon/palettes/mr_mime_shiny_palette.pal b/graphics/pokemon/mr_mime/shiny.pal
index c20f8dbf4..c20f8dbf4 100644
--- a/graphics/pokemon/palettes/mr_mime_shiny_palette.pal
+++ b/graphics/pokemon/mr_mime/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/mudkip_front_pic.png b/graphics/pokemon/mudkip/anim_front.png
index 712f3ce5a..712f3ce5a 100644
--- a/graphics/pokemon/anim_front_pics/mudkip_front_pic.png
+++ b/graphics/pokemon/mudkip/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/mudkip_back_pic.png b/graphics/pokemon/mudkip/back.png
index 1b1282d42..1b1282d42 100644
--- a/graphics/pokemon/back_pics/mudkip_back_pic.png
+++ b/graphics/pokemon/mudkip/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/mudkip_footprint.png b/graphics/pokemon/mudkip/footprint.png
index 490db6e25..490db6e25 100644
--- a/graphics/pokemon/footprints/mudkip_footprint.png
+++ b/graphics/pokemon/mudkip/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/mudkip_still_front_pic.png b/graphics/pokemon/mudkip/front.png
index 15405baf9..15405baf9 100644
--- a/graphics/pokemon/front_pics/mudkip_still_front_pic.png
+++ b/graphics/pokemon/mudkip/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/mudkip_icon.png b/graphics/pokemon/mudkip/icon.png
index 5a657aa91..5a657aa91 100644
--- a/graphics/pokemon/icons/mudkip_icon.png
+++ b/graphics/pokemon/mudkip/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/mudkip_palette.pal b/graphics/pokemon/mudkip/normal.pal
index bc3cc1b65..bc3cc1b65 100644
--- a/graphics/pokemon/palettes/mudkip_palette.pal
+++ b/graphics/pokemon/mudkip/normal.pal
diff --git a/graphics/pokemon/palettes/mudkip_shiny_palette.pal b/graphics/pokemon/mudkip/shiny.pal
index ef5447b60..ef5447b60 100644
--- a/graphics/pokemon/palettes/mudkip_shiny_palette.pal
+++ b/graphics/pokemon/mudkip/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/muk_front_pic.png b/graphics/pokemon/muk/anim_front.png
index 3ac15d0d0..3ac15d0d0 100644
--- a/graphics/pokemon/anim_front_pics/muk_front_pic.png
+++ b/graphics/pokemon/muk/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/muk_back_pic.png b/graphics/pokemon/muk/back.png
index f91c8ca5e..f91c8ca5e 100644
--- a/graphics/pokemon/back_pics/muk_back_pic.png
+++ b/graphics/pokemon/muk/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/muk_footprint.png b/graphics/pokemon/muk/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/muk_footprint.png
+++ b/graphics/pokemon/muk/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/muk_still_front_pic.png b/graphics/pokemon/muk/front.png
index d176c85ab..d176c85ab 100644
--- a/graphics/pokemon/front_pics/muk_still_front_pic.png
+++ b/graphics/pokemon/muk/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/muk_icon.png b/graphics/pokemon/muk/icon.png
index 6d8d09350..6d8d09350 100644
--- a/graphics/pokemon/icons/muk_icon.png
+++ b/graphics/pokemon/muk/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/muk_palette.pal b/graphics/pokemon/muk/normal.pal
index 3a7db5d6c..3a7db5d6c 100644
--- a/graphics/pokemon/palettes/muk_palette.pal
+++ b/graphics/pokemon/muk/normal.pal
diff --git a/graphics/pokemon/palettes/muk_shiny_palette.pal b/graphics/pokemon/muk/shiny.pal
index 98e322878..98e322878 100644
--- a/graphics/pokemon/palettes/muk_shiny_palette.pal
+++ b/graphics/pokemon/muk/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/murkrow_front_pic.png b/graphics/pokemon/murkrow/anim_front.png
index 85282ee7e..85282ee7e 100644
--- a/graphics/pokemon/anim_front_pics/murkrow_front_pic.png
+++ b/graphics/pokemon/murkrow/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/murkrow_back_pic.png b/graphics/pokemon/murkrow/back.png
index 3007b7643..3007b7643 100644
--- a/graphics/pokemon/back_pics/murkrow_back_pic.png
+++ b/graphics/pokemon/murkrow/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/murkrow_footprint.png b/graphics/pokemon/murkrow/footprint.png
index 0f0566834..0f0566834 100644
--- a/graphics/pokemon/footprints/murkrow_footprint.png
+++ b/graphics/pokemon/murkrow/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/murkrow_still_front_pic.png b/graphics/pokemon/murkrow/front.png
index 77c11fef2..77c11fef2 100644
--- a/graphics/pokemon/front_pics/murkrow_still_front_pic.png
+++ b/graphics/pokemon/murkrow/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/murkrow_icon.png b/graphics/pokemon/murkrow/icon.png
index eac91aa18..eac91aa18 100644
--- a/graphics/pokemon/icons/murkrow_icon.png
+++ b/graphics/pokemon/murkrow/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/murkrow_palette.pal b/graphics/pokemon/murkrow/normal.pal
index 1d8b5f991..1d8b5f991 100644
--- a/graphics/pokemon/palettes/murkrow_palette.pal
+++ b/graphics/pokemon/murkrow/normal.pal
diff --git a/graphics/pokemon/palettes/murkrow_shiny_palette.pal b/graphics/pokemon/murkrow/shiny.pal
index 4524256e4..4524256e4 100644
--- a/graphics/pokemon/palettes/murkrow_shiny_palette.pal
+++ b/graphics/pokemon/murkrow/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/natu_front_pic.png b/graphics/pokemon/natu/anim_front.png
index 02e1e7894..02e1e7894 100644
--- a/graphics/pokemon/anim_front_pics/natu_front_pic.png
+++ b/graphics/pokemon/natu/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/natu_back_pic.png b/graphics/pokemon/natu/back.png
index 0349877d5..0349877d5 100644
--- a/graphics/pokemon/back_pics/natu_back_pic.png
+++ b/graphics/pokemon/natu/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/natu_footprint.png b/graphics/pokemon/natu/footprint.png
index f17821fc0..f17821fc0 100644
--- a/graphics/pokemon/footprints/natu_footprint.png
+++ b/graphics/pokemon/natu/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/natu_still_front_pic.png b/graphics/pokemon/natu/front.png
index b25742d8e..b25742d8e 100644
--- a/graphics/pokemon/front_pics/natu_still_front_pic.png
+++ b/graphics/pokemon/natu/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/natu_icon.png b/graphics/pokemon/natu/icon.png
index 7188fb7f3..7188fb7f3 100644
--- a/graphics/pokemon/icons/natu_icon.png
+++ b/graphics/pokemon/natu/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/natu_palette.pal b/graphics/pokemon/natu/normal.pal
index c1712ee1e..c1712ee1e 100644
--- a/graphics/pokemon/palettes/natu_palette.pal
+++ b/graphics/pokemon/natu/normal.pal
diff --git a/graphics/pokemon/palettes/natu_shiny_palette.pal b/graphics/pokemon/natu/shiny.pal
index 2dcf957e9..2dcf957e9 100644
--- a/graphics/pokemon/palettes/natu_shiny_palette.pal
+++ b/graphics/pokemon/natu/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/nidoking_front_pic.png b/graphics/pokemon/nidoking/anim_front.png
index be45df265..be45df265 100644
--- a/graphics/pokemon/anim_front_pics/nidoking_front_pic.png
+++ b/graphics/pokemon/nidoking/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/nidoking_back_pic.png b/graphics/pokemon/nidoking/back.png
index 65a253b45..65a253b45 100644
--- a/graphics/pokemon/back_pics/nidoking_back_pic.png
+++ b/graphics/pokemon/nidoking/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/nidoking_footprint.png b/graphics/pokemon/nidoking/footprint.png
index 577e14f30..577e14f30 100644
--- a/graphics/pokemon/footprints/nidoking_footprint.png
+++ b/graphics/pokemon/nidoking/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/nidoking_still_front_pic.png b/graphics/pokemon/nidoking/front.png
index 76e60c3dc..76e60c3dc 100644
--- a/graphics/pokemon/front_pics/nidoking_still_front_pic.png
+++ b/graphics/pokemon/nidoking/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/nidoking_icon.png b/graphics/pokemon/nidoking/icon.png
index baa05c6a0..baa05c6a0 100644
--- a/graphics/pokemon/icons/nidoking_icon.png
+++ b/graphics/pokemon/nidoking/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/nidoking_palette.pal b/graphics/pokemon/nidoking/normal.pal
index ccde781ae..ccde781ae 100644
--- a/graphics/pokemon/palettes/nidoking_palette.pal
+++ b/graphics/pokemon/nidoking/normal.pal
diff --git a/graphics/pokemon/palettes/nidoking_shiny_palette.pal b/graphics/pokemon/nidoking/shiny.pal
index 021b228e9..021b228e9 100644
--- a/graphics/pokemon/palettes/nidoking_shiny_palette.pal
+++ b/graphics/pokemon/nidoking/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/nidoqueen_front_pic.png b/graphics/pokemon/nidoqueen/anim_front.png
index db2af8d12..db2af8d12 100644
--- a/graphics/pokemon/anim_front_pics/nidoqueen_front_pic.png
+++ b/graphics/pokemon/nidoqueen/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/nidoqueen_back_pic.png b/graphics/pokemon/nidoqueen/back.png
index 339582c54..339582c54 100644
--- a/graphics/pokemon/back_pics/nidoqueen_back_pic.png
+++ b/graphics/pokemon/nidoqueen/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/nidoqueen_footprint.png b/graphics/pokemon/nidoqueen/footprint.png
index c3156e621..c3156e621 100644
--- a/graphics/pokemon/footprints/nidoqueen_footprint.png
+++ b/graphics/pokemon/nidoqueen/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/nidoqueen_still_front_pic.png b/graphics/pokemon/nidoqueen/front.png
index 0eded68d9..0eded68d9 100644
--- a/graphics/pokemon/front_pics/nidoqueen_still_front_pic.png
+++ b/graphics/pokemon/nidoqueen/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/nidoqueen_icon.png b/graphics/pokemon/nidoqueen/icon.png
index 2d3cdc477..2d3cdc477 100644
--- a/graphics/pokemon/icons/nidoqueen_icon.png
+++ b/graphics/pokemon/nidoqueen/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/nidoqueen_palette.pal b/graphics/pokemon/nidoqueen/normal.pal
index ac8d604c0..ac8d604c0 100644
--- a/graphics/pokemon/palettes/nidoqueen_palette.pal
+++ b/graphics/pokemon/nidoqueen/normal.pal
diff --git a/graphics/pokemon/palettes/nidoqueen_shiny_palette.pal b/graphics/pokemon/nidoqueen/shiny.pal
index 1795131dc..1795131dc 100644
--- a/graphics/pokemon/palettes/nidoqueen_shiny_palette.pal
+++ b/graphics/pokemon/nidoqueen/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/nidoran_f_front_pic.png b/graphics/pokemon/nidoran_f/anim_front.png
index 57c6b0056..57c6b0056 100644
--- a/graphics/pokemon/anim_front_pics/nidoran_f_front_pic.png
+++ b/graphics/pokemon/nidoran_f/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/nidoran_f_back_pic.png b/graphics/pokemon/nidoran_f/back.png
index 5173e952e..5173e952e 100644
--- a/graphics/pokemon/back_pics/nidoran_f_back_pic.png
+++ b/graphics/pokemon/nidoran_f/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/nidoran_f_footprint.png b/graphics/pokemon/nidoran_f/footprint.png
index f673df112..f673df112 100644
--- a/graphics/pokemon/footprints/nidoran_f_footprint.png
+++ b/graphics/pokemon/nidoran_f/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/nidoran_f_still_front_pic.png b/graphics/pokemon/nidoran_f/front.png
index ca1d7b1da..ca1d7b1da 100644
--- a/graphics/pokemon/front_pics/nidoran_f_still_front_pic.png
+++ b/graphics/pokemon/nidoran_f/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/nidoran_f_icon.png b/graphics/pokemon/nidoran_f/icon.png
index a2483ae63..a2483ae63 100644
--- a/graphics/pokemon/icons/nidoran_f_icon.png
+++ b/graphics/pokemon/nidoran_f/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/nidoran_f_palette.pal b/graphics/pokemon/nidoran_f/normal.pal
index daed29569..daed29569 100644
--- a/graphics/pokemon/palettes/nidoran_f_palette.pal
+++ b/graphics/pokemon/nidoran_f/normal.pal
diff --git a/graphics/pokemon/palettes/nidoran_f_shiny_palette.pal b/graphics/pokemon/nidoran_f/shiny.pal
index 5b6e230fe..5b6e230fe 100644
--- a/graphics/pokemon/palettes/nidoran_f_shiny_palette.pal
+++ b/graphics/pokemon/nidoran_f/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/nidoran_m_front_pic.png b/graphics/pokemon/nidoran_m/anim_front.png
index 84e9aa98e..84e9aa98e 100644
--- a/graphics/pokemon/anim_front_pics/nidoran_m_front_pic.png
+++ b/graphics/pokemon/nidoran_m/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/nidoran_m_back_pic.png b/graphics/pokemon/nidoran_m/back.png
index 76c47d33e..76c47d33e 100644
--- a/graphics/pokemon/back_pics/nidoran_m_back_pic.png
+++ b/graphics/pokemon/nidoran_m/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/nidoran_m_footprint.png b/graphics/pokemon/nidoran_m/footprint.png
index 874c60781..874c60781 100644
--- a/graphics/pokemon/footprints/nidoran_m_footprint.png
+++ b/graphics/pokemon/nidoran_m/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/nidoran_m_still_front_pic.png b/graphics/pokemon/nidoran_m/front.png
index 893c9c3d2..893c9c3d2 100644
--- a/graphics/pokemon/front_pics/nidoran_m_still_front_pic.png
+++ b/graphics/pokemon/nidoran_m/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/nidoran_m_icon.png b/graphics/pokemon/nidoran_m/icon.png
index 4467c5192..4467c5192 100644
--- a/graphics/pokemon/icons/nidoran_m_icon.png
+++ b/graphics/pokemon/nidoran_m/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/nidoran_m_palette.pal b/graphics/pokemon/nidoran_m/normal.pal
index 7dd064edb..7dd064edb 100644
--- a/graphics/pokemon/palettes/nidoran_m_palette.pal
+++ b/graphics/pokemon/nidoran_m/normal.pal
diff --git a/graphics/pokemon/palettes/nidoran_m_shiny_palette.pal b/graphics/pokemon/nidoran_m/shiny.pal
index 41901c9ff..41901c9ff 100644
--- a/graphics/pokemon/palettes/nidoran_m_shiny_palette.pal
+++ b/graphics/pokemon/nidoran_m/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/nidorina_front_pic.png b/graphics/pokemon/nidorina/anim_front.png
index 8b33e786b..8b33e786b 100644
--- a/graphics/pokemon/anim_front_pics/nidorina_front_pic.png
+++ b/graphics/pokemon/nidorina/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/nidorina_back_pic.png b/graphics/pokemon/nidorina/back.png
index 14940d21f..14940d21f 100644
--- a/graphics/pokemon/back_pics/nidorina_back_pic.png
+++ b/graphics/pokemon/nidorina/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/nidorina_footprint.png b/graphics/pokemon/nidorina/footprint.png
index 94553054a..94553054a 100644
--- a/graphics/pokemon/footprints/nidorina_footprint.png
+++ b/graphics/pokemon/nidorina/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/nidorina_still_front_pic.png b/graphics/pokemon/nidorina/front.png
index 85cbed8b4..85cbed8b4 100644
--- a/graphics/pokemon/front_pics/nidorina_still_front_pic.png
+++ b/graphics/pokemon/nidorina/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/nidorina_icon.png b/graphics/pokemon/nidorina/icon.png
index ad90d02ba..ad90d02ba 100644
--- a/graphics/pokemon/icons/nidorina_icon.png
+++ b/graphics/pokemon/nidorina/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/nidorina_palette.pal b/graphics/pokemon/nidorina/normal.pal
index 9f4acf8be..9f4acf8be 100644
--- a/graphics/pokemon/palettes/nidorina_palette.pal
+++ b/graphics/pokemon/nidorina/normal.pal
diff --git a/graphics/pokemon/palettes/nidorina_shiny_palette.pal b/graphics/pokemon/nidorina/shiny.pal
index 634e882d9..634e882d9 100644
--- a/graphics/pokemon/palettes/nidorina_shiny_palette.pal
+++ b/graphics/pokemon/nidorina/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/nidorino_front_pic.png b/graphics/pokemon/nidorino/anim_front.png
index a048b8b06..a048b8b06 100644
--- a/graphics/pokemon/anim_front_pics/nidorino_front_pic.png
+++ b/graphics/pokemon/nidorino/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/nidorino_back_pic.png b/graphics/pokemon/nidorino/back.png
index 01b866e00..01b866e00 100644
--- a/graphics/pokemon/back_pics/nidorino_back_pic.png
+++ b/graphics/pokemon/nidorino/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/nidorino_footprint.png b/graphics/pokemon/nidorino/footprint.png
index eaa67b379..eaa67b379 100644
--- a/graphics/pokemon/footprints/nidorino_footprint.png
+++ b/graphics/pokemon/nidorino/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/nidorino_still_front_pic.png b/graphics/pokemon/nidorino/front.png
index 81045ffca..81045ffca 100644
--- a/graphics/pokemon/front_pics/nidorino_still_front_pic.png
+++ b/graphics/pokemon/nidorino/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/nidorino_icon.png b/graphics/pokemon/nidorino/icon.png
index 5edc103c1..5edc103c1 100644
--- a/graphics/pokemon/icons/nidorino_icon.png
+++ b/graphics/pokemon/nidorino/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/nidorino_palette.pal b/graphics/pokemon/nidorino/normal.pal
index b0b728608..b0b728608 100644
--- a/graphics/pokemon/palettes/nidorino_palette.pal
+++ b/graphics/pokemon/nidorino/normal.pal
diff --git a/graphics/pokemon/palettes/nidorino_shiny_palette.pal b/graphics/pokemon/nidorino/shiny.pal
index 97b3c368f..97b3c368f 100644
--- a/graphics/pokemon/palettes/nidorino_shiny_palette.pal
+++ b/graphics/pokemon/nidorino/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/nincada_front_pic.png b/graphics/pokemon/nincada/anim_front.png
index 35ba5c5b4..35ba5c5b4 100644
--- a/graphics/pokemon/anim_front_pics/nincada_front_pic.png
+++ b/graphics/pokemon/nincada/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/nincada_back_pic.png b/graphics/pokemon/nincada/back.png
index e35b19cc7..e35b19cc7 100644
--- a/graphics/pokemon/back_pics/nincada_back_pic.png
+++ b/graphics/pokemon/nincada/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/nincada_footprint.png b/graphics/pokemon/nincada/footprint.png
index deea05721..deea05721 100644
--- a/graphics/pokemon/footprints/nincada_footprint.png
+++ b/graphics/pokemon/nincada/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/nincada_still_front_pic.png b/graphics/pokemon/nincada/front.png
index 576144c48..576144c48 100644
--- a/graphics/pokemon/front_pics/nincada_still_front_pic.png
+++ b/graphics/pokemon/nincada/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/nincada_icon.png b/graphics/pokemon/nincada/icon.png
index 003ddb992..003ddb992 100644
--- a/graphics/pokemon/icons/nincada_icon.png
+++ b/graphics/pokemon/nincada/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/nincada_palette.pal b/graphics/pokemon/nincada/normal.pal
index 22184bbbd..22184bbbd 100644
--- a/graphics/pokemon/palettes/nincada_palette.pal
+++ b/graphics/pokemon/nincada/normal.pal
diff --git a/graphics/pokemon/palettes/nincada_shiny_palette.pal b/graphics/pokemon/nincada/shiny.pal
index 08e4c9575..08e4c9575 100644
--- a/graphics/pokemon/palettes/nincada_shiny_palette.pal
+++ b/graphics/pokemon/nincada/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/ninetales_front_pic.png b/graphics/pokemon/ninetales/anim_front.png
index afd4cc40d..afd4cc40d 100644
--- a/graphics/pokemon/anim_front_pics/ninetales_front_pic.png
+++ b/graphics/pokemon/ninetales/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ninetales_back_pic.png b/graphics/pokemon/ninetales/back.png
index 03d8a214f..03d8a214f 100644
--- a/graphics/pokemon/back_pics/ninetales_back_pic.png
+++ b/graphics/pokemon/ninetales/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ninetales_footprint.png b/graphics/pokemon/ninetales/footprint.png
index 3f1f0247e..3f1f0247e 100644
--- a/graphics/pokemon/footprints/ninetales_footprint.png
+++ b/graphics/pokemon/ninetales/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ninetales_still_front_pic.png b/graphics/pokemon/ninetales/front.png
index d8c2a6746..d8c2a6746 100644
--- a/graphics/pokemon/front_pics/ninetales_still_front_pic.png
+++ b/graphics/pokemon/ninetales/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ninetales_icon.png b/graphics/pokemon/ninetales/icon.png
index 1a74d34eb..1a74d34eb 100644
--- a/graphics/pokemon/icons/ninetales_icon.png
+++ b/graphics/pokemon/ninetales/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ninetales_palette.pal b/graphics/pokemon/ninetales/normal.pal
index d6d95a7d3..d6d95a7d3 100644
--- a/graphics/pokemon/palettes/ninetales_palette.pal
+++ b/graphics/pokemon/ninetales/normal.pal
diff --git a/graphics/pokemon/palettes/ninetales_shiny_palette.pal b/graphics/pokemon/ninetales/shiny.pal
index 736e5d374..736e5d374 100644
--- a/graphics/pokemon/palettes/ninetales_shiny_palette.pal
+++ b/graphics/pokemon/ninetales/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/ninjask_front_pic.png b/graphics/pokemon/ninjask/anim_front.png
index fda03f09c..fda03f09c 100644
--- a/graphics/pokemon/anim_front_pics/ninjask_front_pic.png
+++ b/graphics/pokemon/ninjask/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ninjask_back_pic.png b/graphics/pokemon/ninjask/back.png
index fd2daf29a..fd2daf29a 100644
--- a/graphics/pokemon/back_pics/ninjask_back_pic.png
+++ b/graphics/pokemon/ninjask/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ninjask_footprint.png b/graphics/pokemon/ninjask/footprint.png
index eacba16dc..eacba16dc 100644
--- a/graphics/pokemon/footprints/ninjask_footprint.png
+++ b/graphics/pokemon/ninjask/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ninjask_still_front_pic.png b/graphics/pokemon/ninjask/front.png
index c642dbad5..c642dbad5 100644
--- a/graphics/pokemon/front_pics/ninjask_still_front_pic.png
+++ b/graphics/pokemon/ninjask/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ninjask_icon.png b/graphics/pokemon/ninjask/icon.png
index c51533c67..c51533c67 100644
--- a/graphics/pokemon/icons/ninjask_icon.png
+++ b/graphics/pokemon/ninjask/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ninjask_palette.pal b/graphics/pokemon/ninjask/normal.pal
index ec7c1daa7..ec7c1daa7 100644
--- a/graphics/pokemon/palettes/ninjask_palette.pal
+++ b/graphics/pokemon/ninjask/normal.pal
diff --git a/graphics/pokemon/palettes/ninjask_shiny_palette.pal b/graphics/pokemon/ninjask/shiny.pal
index bd2fbbda9..bd2fbbda9 100644
--- a/graphics/pokemon/palettes/ninjask_shiny_palette.pal
+++ b/graphics/pokemon/ninjask/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/noctowl_front_pic.png b/graphics/pokemon/noctowl/anim_front.png
index 7053bd201..7053bd201 100644
--- a/graphics/pokemon/anim_front_pics/noctowl_front_pic.png
+++ b/graphics/pokemon/noctowl/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/noctowl_back_pic.png b/graphics/pokemon/noctowl/back.png
index e9984ea5e..e9984ea5e 100644
--- a/graphics/pokemon/back_pics/noctowl_back_pic.png
+++ b/graphics/pokemon/noctowl/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/noctowl_footprint.png b/graphics/pokemon/noctowl/footprint.png
index 89ed409e9..89ed409e9 100644
--- a/graphics/pokemon/footprints/noctowl_footprint.png
+++ b/graphics/pokemon/noctowl/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/noctowl_still_front_pic.png b/graphics/pokemon/noctowl/front.png
index 56e148d94..56e148d94 100644
--- a/graphics/pokemon/front_pics/noctowl_still_front_pic.png
+++ b/graphics/pokemon/noctowl/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/noctowl_icon.png b/graphics/pokemon/noctowl/icon.png
index eafbea37e..eafbea37e 100644
--- a/graphics/pokemon/icons/noctowl_icon.png
+++ b/graphics/pokemon/noctowl/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/noctowl_palette.pal b/graphics/pokemon/noctowl/normal.pal
index 710759236..710759236 100644
--- a/graphics/pokemon/palettes/noctowl_palette.pal
+++ b/graphics/pokemon/noctowl/normal.pal
diff --git a/graphics/pokemon/palettes/noctowl_shiny_palette.pal b/graphics/pokemon/noctowl/shiny.pal
index 859222f59..859222f59 100644
--- a/graphics/pokemon/palettes/noctowl_shiny_palette.pal
+++ b/graphics/pokemon/noctowl/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/nosepass_front_pic.png b/graphics/pokemon/nosepass/anim_front.png
index 4b7f7b362..4b7f7b362 100644
--- a/graphics/pokemon/anim_front_pics/nosepass_front_pic.png
+++ b/graphics/pokemon/nosepass/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/nosepass_back_pic.png b/graphics/pokemon/nosepass/back.png
index 21b41a3cd..21b41a3cd 100644
--- a/graphics/pokemon/back_pics/nosepass_back_pic.png
+++ b/graphics/pokemon/nosepass/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/nosepass_footprint.png b/graphics/pokemon/nosepass/footprint.png
index 9b9ad2708..9b9ad2708 100644
--- a/graphics/pokemon/footprints/nosepass_footprint.png
+++ b/graphics/pokemon/nosepass/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/nosepass_still_front_pic.png b/graphics/pokemon/nosepass/front.png
index 5ed3a851f..5ed3a851f 100644
--- a/graphics/pokemon/front_pics/nosepass_still_front_pic.png
+++ b/graphics/pokemon/nosepass/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/nosepass_icon.png b/graphics/pokemon/nosepass/icon.png
index 718fed8fa..718fed8fa 100644
--- a/graphics/pokemon/icons/nosepass_icon.png
+++ b/graphics/pokemon/nosepass/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/nosepass_palette.pal b/graphics/pokemon/nosepass/normal.pal
index ec3681288..ec3681288 100644
--- a/graphics/pokemon/palettes/nosepass_palette.pal
+++ b/graphics/pokemon/nosepass/normal.pal
diff --git a/graphics/pokemon/palettes/nosepass_shiny_palette.pal b/graphics/pokemon/nosepass/shiny.pal
index b17260e5a..b17260e5a 100644
--- a/graphics/pokemon/palettes/nosepass_shiny_palette.pal
+++ b/graphics/pokemon/nosepass/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/numel_front_pic.png b/graphics/pokemon/numel/anim_front.png
index 0d3ccc839..0d3ccc839 100644
--- a/graphics/pokemon/anim_front_pics/numel_front_pic.png
+++ b/graphics/pokemon/numel/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/numel_back_pic.png b/graphics/pokemon/numel/back.png
index 9722ff438..9722ff438 100644
--- a/graphics/pokemon/back_pics/numel_back_pic.png
+++ b/graphics/pokemon/numel/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/numel_footprint.png b/graphics/pokemon/numel/footprint.png
index 6238f9400..6238f9400 100644
--- a/graphics/pokemon/footprints/numel_footprint.png
+++ b/graphics/pokemon/numel/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/numel_still_front_pic.png b/graphics/pokemon/numel/front.png
index 1aca480f7..1aca480f7 100644
--- a/graphics/pokemon/front_pics/numel_still_front_pic.png
+++ b/graphics/pokemon/numel/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/numel_icon.png b/graphics/pokemon/numel/icon.png
index 62281e8bf..62281e8bf 100644
--- a/graphics/pokemon/icons/numel_icon.png
+++ b/graphics/pokemon/numel/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/numel_palette.pal b/graphics/pokemon/numel/normal.pal
index 74388d36b..74388d36b 100644
--- a/graphics/pokemon/palettes/numel_palette.pal
+++ b/graphics/pokemon/numel/normal.pal
diff --git a/graphics/pokemon/palettes/numel_shiny_palette.pal b/graphics/pokemon/numel/shiny.pal
index 2162c155c..2162c155c 100644
--- a/graphics/pokemon/palettes/numel_shiny_palette.pal
+++ b/graphics/pokemon/numel/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/nuzleaf_front_pic.png b/graphics/pokemon/nuzleaf/anim_front.png
index 02aa6b1d4..02aa6b1d4 100644
--- a/graphics/pokemon/anim_front_pics/nuzleaf_front_pic.png
+++ b/graphics/pokemon/nuzleaf/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/nuzleaf_back_pic.png b/graphics/pokemon/nuzleaf/back.png
index 858377c11..858377c11 100644
--- a/graphics/pokemon/back_pics/nuzleaf_back_pic.png
+++ b/graphics/pokemon/nuzleaf/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/nuzleaf_footprint.png b/graphics/pokemon/nuzleaf/footprint.png
index b35288e05..b35288e05 100644
--- a/graphics/pokemon/footprints/nuzleaf_footprint.png
+++ b/graphics/pokemon/nuzleaf/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/nuzleaf_still_front_pic.png b/graphics/pokemon/nuzleaf/front.png
index ecaf00f85..ecaf00f85 100644
--- a/graphics/pokemon/front_pics/nuzleaf_still_front_pic.png
+++ b/graphics/pokemon/nuzleaf/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/nuzleaf_icon.png b/graphics/pokemon/nuzleaf/icon.png
index 8c9f4038f..8c9f4038f 100644
--- a/graphics/pokemon/icons/nuzleaf_icon.png
+++ b/graphics/pokemon/nuzleaf/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/nuzleaf_palette.pal b/graphics/pokemon/nuzleaf/normal.pal
index fd8ec8bff..fd8ec8bff 100644
--- a/graphics/pokemon/palettes/nuzleaf_palette.pal
+++ b/graphics/pokemon/nuzleaf/normal.pal
diff --git a/graphics/pokemon/palettes/nuzleaf_shiny_palette.pal b/graphics/pokemon/nuzleaf/shiny.pal
index 1706d316b..1706d316b 100644
--- a/graphics/pokemon/palettes/nuzleaf_shiny_palette.pal
+++ b/graphics/pokemon/nuzleaf/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/octillery_front_pic.png b/graphics/pokemon/octillery/anim_front.png
index 82d366484..82d366484 100644
--- a/graphics/pokemon/anim_front_pics/octillery_front_pic.png
+++ b/graphics/pokemon/octillery/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/octillery_back_pic.png b/graphics/pokemon/octillery/back.png
index 09a867881..09a867881 100644
--- a/graphics/pokemon/back_pics/octillery_back_pic.png
+++ b/graphics/pokemon/octillery/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/octillery_footprint.png b/graphics/pokemon/octillery/footprint.png
index afa1f5433..afa1f5433 100644
--- a/graphics/pokemon/footprints/octillery_footprint.png
+++ b/graphics/pokemon/octillery/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/octillery_still_front_pic.png b/graphics/pokemon/octillery/front.png
index 99d3a166e..99d3a166e 100644
--- a/graphics/pokemon/front_pics/octillery_still_front_pic.png
+++ b/graphics/pokemon/octillery/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/octillery_icon.png b/graphics/pokemon/octillery/icon.png
index a21e60327..a21e60327 100644
--- a/graphics/pokemon/icons/octillery_icon.png
+++ b/graphics/pokemon/octillery/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/octillery_palette.pal b/graphics/pokemon/octillery/normal.pal
index 2a32e5f6d..2a32e5f6d 100644
--- a/graphics/pokemon/palettes/octillery_palette.pal
+++ b/graphics/pokemon/octillery/normal.pal
diff --git a/graphics/pokemon/palettes/octillery_shiny_palette.pal b/graphics/pokemon/octillery/shiny.pal
index fcbdd5cda..fcbdd5cda 100644
--- a/graphics/pokemon/palettes/octillery_shiny_palette.pal
+++ b/graphics/pokemon/octillery/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/oddish_front_pic.png b/graphics/pokemon/oddish/anim_front.png
index 9a75f16cb..9a75f16cb 100644
--- a/graphics/pokemon/anim_front_pics/oddish_front_pic.png
+++ b/graphics/pokemon/oddish/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/oddish_back_pic.png b/graphics/pokemon/oddish/back.png
index bafd8bbff..bafd8bbff 100644
--- a/graphics/pokemon/back_pics/oddish_back_pic.png
+++ b/graphics/pokemon/oddish/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/oddish_footprint.png b/graphics/pokemon/oddish/footprint.png
index d38175273..d38175273 100644
--- a/graphics/pokemon/footprints/oddish_footprint.png
+++ b/graphics/pokemon/oddish/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/oddish_still_front_pic.png b/graphics/pokemon/oddish/front.png
index 02da03b26..02da03b26 100644
--- a/graphics/pokemon/front_pics/oddish_still_front_pic.png
+++ b/graphics/pokemon/oddish/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/oddish_icon.png b/graphics/pokemon/oddish/icon.png
index 7c46ae7e7..7c46ae7e7 100644
--- a/graphics/pokemon/icons/oddish_icon.png
+++ b/graphics/pokemon/oddish/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/oddish_palette.pal b/graphics/pokemon/oddish/normal.pal
index 11db38a91..11db38a91 100644
--- a/graphics/pokemon/palettes/oddish_palette.pal
+++ b/graphics/pokemon/oddish/normal.pal
diff --git a/graphics/pokemon/palettes/oddish_shiny_palette.pal b/graphics/pokemon/oddish/shiny.pal
index a3b719830..a3b719830 100644
--- a/graphics/pokemon/palettes/oddish_shiny_palette.pal
+++ b/graphics/pokemon/oddish/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/omanyte_front_pic.png b/graphics/pokemon/omanyte/anim_front.png
index a76eabe2c..a76eabe2c 100644
--- a/graphics/pokemon/anim_front_pics/omanyte_front_pic.png
+++ b/graphics/pokemon/omanyte/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/omanyte_back_pic.png b/graphics/pokemon/omanyte/back.png
index 6cd77bffc..6cd77bffc 100644
--- a/graphics/pokemon/back_pics/omanyte_back_pic.png
+++ b/graphics/pokemon/omanyte/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/omanyte_footprint.png b/graphics/pokemon/omanyte/footprint.png
index f5eb9fdba..f5eb9fdba 100644
--- a/graphics/pokemon/footprints/omanyte_footprint.png
+++ b/graphics/pokemon/omanyte/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/omanyte_still_front_pic.png b/graphics/pokemon/omanyte/front.png
index f110ecd80..f110ecd80 100644
--- a/graphics/pokemon/front_pics/omanyte_still_front_pic.png
+++ b/graphics/pokemon/omanyte/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/omanyte_icon.png b/graphics/pokemon/omanyte/icon.png
index 94684f5c3..94684f5c3 100644
--- a/graphics/pokemon/icons/omanyte_icon.png
+++ b/graphics/pokemon/omanyte/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/omanyte_palette.pal b/graphics/pokemon/omanyte/normal.pal
index 09d257a66..09d257a66 100644
--- a/graphics/pokemon/palettes/omanyte_palette.pal
+++ b/graphics/pokemon/omanyte/normal.pal
diff --git a/graphics/pokemon/palettes/omanyte_shiny_palette.pal b/graphics/pokemon/omanyte/shiny.pal
index af72dc30d..af72dc30d 100644
--- a/graphics/pokemon/palettes/omanyte_shiny_palette.pal
+++ b/graphics/pokemon/omanyte/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/omastar_front_pic.png b/graphics/pokemon/omastar/anim_front.png
index 677f46749..677f46749 100644
--- a/graphics/pokemon/anim_front_pics/omastar_front_pic.png
+++ b/graphics/pokemon/omastar/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/omastar_back_pic.png b/graphics/pokemon/omastar/back.png
index 3f7467950..3f7467950 100644
--- a/graphics/pokemon/back_pics/omastar_back_pic.png
+++ b/graphics/pokemon/omastar/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/omastar_footprint.png b/graphics/pokemon/omastar/footprint.png
index fdd911ecf..fdd911ecf 100644
--- a/graphics/pokemon/footprints/omastar_footprint.png
+++ b/graphics/pokemon/omastar/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/omastar_still_front_pic.png b/graphics/pokemon/omastar/front.png
index 2a1c58e38..2a1c58e38 100644
--- a/graphics/pokemon/front_pics/omastar_still_front_pic.png
+++ b/graphics/pokemon/omastar/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/omastar_icon.png b/graphics/pokemon/omastar/icon.png
index b72bd6aec..b72bd6aec 100644
--- a/graphics/pokemon/icons/omastar_icon.png
+++ b/graphics/pokemon/omastar/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/omastar_palette.pal b/graphics/pokemon/omastar/normal.pal
index f63530b4e..f63530b4e 100644
--- a/graphics/pokemon/palettes/omastar_palette.pal
+++ b/graphics/pokemon/omastar/normal.pal
diff --git a/graphics/pokemon/palettes/omastar_shiny_palette.pal b/graphics/pokemon/omastar/shiny.pal
index b17facc09..b17facc09 100644
--- a/graphics/pokemon/palettes/omastar_shiny_palette.pal
+++ b/graphics/pokemon/omastar/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/onix_front_pic.png b/graphics/pokemon/onix/anim_front.png
index fbe64c2ec..fbe64c2ec 100644
--- a/graphics/pokemon/anim_front_pics/onix_front_pic.png
+++ b/graphics/pokemon/onix/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/onix_back_pic.png b/graphics/pokemon/onix/back.png
index 233e66d91..233e66d91 100644
--- a/graphics/pokemon/back_pics/onix_back_pic.png
+++ b/graphics/pokemon/onix/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/onix_footprint.png b/graphics/pokemon/onix/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/onix_footprint.png
+++ b/graphics/pokemon/onix/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/onix_still_front_pic.png b/graphics/pokemon/onix/front.png
index 0fd31f6b1..0fd31f6b1 100644
--- a/graphics/pokemon/front_pics/onix_still_front_pic.png
+++ b/graphics/pokemon/onix/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/onix_icon.png b/graphics/pokemon/onix/icon.png
index ddd7ee4f9..ddd7ee4f9 100644
--- a/graphics/pokemon/icons/onix_icon.png
+++ b/graphics/pokemon/onix/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/onix_palette.pal b/graphics/pokemon/onix/normal.pal
index e513a11e3..e513a11e3 100644
--- a/graphics/pokemon/palettes/onix_palette.pal
+++ b/graphics/pokemon/onix/normal.pal
diff --git a/graphics/pokemon/palettes/onix_shiny_palette.pal b/graphics/pokemon/onix/shiny.pal
index e3584ed0c..e3584ed0c 100644
--- a/graphics/pokemon/palettes/onix_shiny_palette.pal
+++ b/graphics/pokemon/onix/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/paras_front_pic.png b/graphics/pokemon/paras/anim_front.png
index 5a027dc07..5a027dc07 100644
--- a/graphics/pokemon/anim_front_pics/paras_front_pic.png
+++ b/graphics/pokemon/paras/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/paras_back_pic.png b/graphics/pokemon/paras/back.png
index cb77d2d77..cb77d2d77 100644
--- a/graphics/pokemon/back_pics/paras_back_pic.png
+++ b/graphics/pokemon/paras/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/paras_footprint.png b/graphics/pokemon/paras/footprint.png
index f8d7574d2..f8d7574d2 100644
--- a/graphics/pokemon/footprints/paras_footprint.png
+++ b/graphics/pokemon/paras/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/paras_still_front_pic.png b/graphics/pokemon/paras/front.png
index 28b75cb26..28b75cb26 100644
--- a/graphics/pokemon/front_pics/paras_still_front_pic.png
+++ b/graphics/pokemon/paras/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/paras_icon.png b/graphics/pokemon/paras/icon.png
index 6b828b058..6b828b058 100644
--- a/graphics/pokemon/icons/paras_icon.png
+++ b/graphics/pokemon/paras/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/paras_palette.pal b/graphics/pokemon/paras/normal.pal
index 46c089f35..46c089f35 100644
--- a/graphics/pokemon/palettes/paras_palette.pal
+++ b/graphics/pokemon/paras/normal.pal
diff --git a/graphics/pokemon/palettes/paras_shiny_palette.pal b/graphics/pokemon/paras/shiny.pal
index 77d322075..77d322075 100644
--- a/graphics/pokemon/palettes/paras_shiny_palette.pal
+++ b/graphics/pokemon/paras/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/parasect_front_pic.png b/graphics/pokemon/parasect/anim_front.png
index b22a7ff89..b22a7ff89 100644
--- a/graphics/pokemon/anim_front_pics/parasect_front_pic.png
+++ b/graphics/pokemon/parasect/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/parasect_back_pic.png b/graphics/pokemon/parasect/back.png
index f313d5a91..f313d5a91 100644
--- a/graphics/pokemon/back_pics/parasect_back_pic.png
+++ b/graphics/pokemon/parasect/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/parasect_footprint.png b/graphics/pokemon/parasect/footprint.png
index e0f1715f2..e0f1715f2 100644
--- a/graphics/pokemon/footprints/parasect_footprint.png
+++ b/graphics/pokemon/parasect/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/parasect_still_front_pic.png b/graphics/pokemon/parasect/front.png
index 8462e24bb..8462e24bb 100644
--- a/graphics/pokemon/front_pics/parasect_still_front_pic.png
+++ b/graphics/pokemon/parasect/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/parasect_icon.png b/graphics/pokemon/parasect/icon.png
index 907cbf5ca..907cbf5ca 100644
--- a/graphics/pokemon/icons/parasect_icon.png
+++ b/graphics/pokemon/parasect/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/parasect_palette.pal b/graphics/pokemon/parasect/normal.pal
index 158331c68..158331c68 100644
--- a/graphics/pokemon/palettes/parasect_palette.pal
+++ b/graphics/pokemon/parasect/normal.pal
diff --git a/graphics/pokemon/palettes/parasect_shiny_palette.pal b/graphics/pokemon/parasect/shiny.pal
index 3574c408f..3574c408f 100644
--- a/graphics/pokemon/palettes/parasect_shiny_palette.pal
+++ b/graphics/pokemon/parasect/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/pelipper_front_pic.png b/graphics/pokemon/pelipper/anim_front.png
index 1bf8530ae..1bf8530ae 100644
--- a/graphics/pokemon/anim_front_pics/pelipper_front_pic.png
+++ b/graphics/pokemon/pelipper/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/pelipper_back_pic.png b/graphics/pokemon/pelipper/back.png
index 4b155c28d..4b155c28d 100644
--- a/graphics/pokemon/back_pics/pelipper_back_pic.png
+++ b/graphics/pokemon/pelipper/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/pelipper_footprint.png b/graphics/pokemon/pelipper/footprint.png
index 54718d259..54718d259 100644
--- a/graphics/pokemon/footprints/pelipper_footprint.png
+++ b/graphics/pokemon/pelipper/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/pelipper_still_front_pic.png b/graphics/pokemon/pelipper/front.png
index 1bf3669ae..1bf3669ae 100644
--- a/graphics/pokemon/front_pics/pelipper_still_front_pic.png
+++ b/graphics/pokemon/pelipper/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/pelipper_icon.png b/graphics/pokemon/pelipper/icon.png
index 55a16bc5f..55a16bc5f 100644
--- a/graphics/pokemon/icons/pelipper_icon.png
+++ b/graphics/pokemon/pelipper/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/pelipper_palette.pal b/graphics/pokemon/pelipper/normal.pal
index c78d73c37..c78d73c37 100644
--- a/graphics/pokemon/palettes/pelipper_palette.pal
+++ b/graphics/pokemon/pelipper/normal.pal
diff --git a/graphics/pokemon/palettes/pelipper_shiny_palette.pal b/graphics/pokemon/pelipper/shiny.pal
index 41686ffed..41686ffed 100644
--- a/graphics/pokemon/palettes/pelipper_shiny_palette.pal
+++ b/graphics/pokemon/pelipper/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/persian_front_pic.png b/graphics/pokemon/persian/anim_front.png
index 2eda6b1ce..2eda6b1ce 100644
--- a/graphics/pokemon/anim_front_pics/persian_front_pic.png
+++ b/graphics/pokemon/persian/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/persian_back_pic.png b/graphics/pokemon/persian/back.png
index 10b7acf65..10b7acf65 100644
--- a/graphics/pokemon/back_pics/persian_back_pic.png
+++ b/graphics/pokemon/persian/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/persian_footprint.png b/graphics/pokemon/persian/footprint.png
index 33f25f0aa..33f25f0aa 100644
--- a/graphics/pokemon/footprints/persian_footprint.png
+++ b/graphics/pokemon/persian/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/persian_still_front_pic.png b/graphics/pokemon/persian/front.png
index 489c7ae6e..489c7ae6e 100644
--- a/graphics/pokemon/front_pics/persian_still_front_pic.png
+++ b/graphics/pokemon/persian/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/persian_icon.png b/graphics/pokemon/persian/icon.png
index 3d6f72fee..3d6f72fee 100644
--- a/graphics/pokemon/icons/persian_icon.png
+++ b/graphics/pokemon/persian/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/persian_palette.pal b/graphics/pokemon/persian/normal.pal
index 7f533e870..7f533e870 100644
--- a/graphics/pokemon/palettes/persian_palette.pal
+++ b/graphics/pokemon/persian/normal.pal
diff --git a/graphics/pokemon/palettes/persian_shiny_palette.pal b/graphics/pokemon/persian/shiny.pal
index 7c72dc0b9..7c72dc0b9 100644
--- a/graphics/pokemon/palettes/persian_shiny_palette.pal
+++ b/graphics/pokemon/persian/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/phanpy_front_pic.png b/graphics/pokemon/phanpy/anim_front.png
index e90f240ce..e90f240ce 100644
--- a/graphics/pokemon/anim_front_pics/phanpy_front_pic.png
+++ b/graphics/pokemon/phanpy/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/phanpy_back_pic.png b/graphics/pokemon/phanpy/back.png
index b40fb8ddf..b40fb8ddf 100644
--- a/graphics/pokemon/back_pics/phanpy_back_pic.png
+++ b/graphics/pokemon/phanpy/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/phanpy_footprint.png b/graphics/pokemon/phanpy/footprint.png
index 70498b18f..70498b18f 100644
--- a/graphics/pokemon/footprints/phanpy_footprint.png
+++ b/graphics/pokemon/phanpy/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/phanpy_still_front_pic.png b/graphics/pokemon/phanpy/front.png
index f9dc5fce6..f9dc5fce6 100644
--- a/graphics/pokemon/front_pics/phanpy_still_front_pic.png
+++ b/graphics/pokemon/phanpy/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/phanpy_icon.png b/graphics/pokemon/phanpy/icon.png
index 341724973..341724973 100644
--- a/graphics/pokemon/icons/phanpy_icon.png
+++ b/graphics/pokemon/phanpy/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/phanpy_palette.pal b/graphics/pokemon/phanpy/normal.pal
index 57ca810fa..57ca810fa 100644
--- a/graphics/pokemon/palettes/phanpy_palette.pal
+++ b/graphics/pokemon/phanpy/normal.pal
diff --git a/graphics/pokemon/palettes/phanpy_shiny_palette.pal b/graphics/pokemon/phanpy/shiny.pal
index a09fc1dcc..a09fc1dcc 100644
--- a/graphics/pokemon/palettes/phanpy_shiny_palette.pal
+++ b/graphics/pokemon/phanpy/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/pichu_front_pic.png b/graphics/pokemon/pichu/anim_front.png
index 0ea36a2c9..0ea36a2c9 100644
--- a/graphics/pokemon/anim_front_pics/pichu_front_pic.png
+++ b/graphics/pokemon/pichu/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/pichu_back_pic.png b/graphics/pokemon/pichu/back.png
index 94d593632..94d593632 100644
--- a/graphics/pokemon/back_pics/pichu_back_pic.png
+++ b/graphics/pokemon/pichu/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/pichu_footprint.png b/graphics/pokemon/pichu/footprint.png
index 823c7e32d..823c7e32d 100644
--- a/graphics/pokemon/footprints/pichu_footprint.png
+++ b/graphics/pokemon/pichu/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/pichu_still_front_pic.png b/graphics/pokemon/pichu/front.png
index f061d578b..f061d578b 100644
--- a/graphics/pokemon/front_pics/pichu_still_front_pic.png
+++ b/graphics/pokemon/pichu/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/pichu_icon.png b/graphics/pokemon/pichu/icon.png
index dd696ac10..dd696ac10 100644
--- a/graphics/pokemon/icons/pichu_icon.png
+++ b/graphics/pokemon/pichu/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/pichu_palette.pal b/graphics/pokemon/pichu/normal.pal
index 50d614dae..50d614dae 100644
--- a/graphics/pokemon/palettes/pichu_palette.pal
+++ b/graphics/pokemon/pichu/normal.pal
diff --git a/graphics/pokemon/palettes/pichu_shiny_palette.pal b/graphics/pokemon/pichu/shiny.pal
index dd17d7fe0..dd17d7fe0 100644
--- a/graphics/pokemon/palettes/pichu_shiny_palette.pal
+++ b/graphics/pokemon/pichu/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/pidgeot_front_pic.png b/graphics/pokemon/pidgeot/anim_front.png
index 1c202dab0..1c202dab0 100644
--- a/graphics/pokemon/anim_front_pics/pidgeot_front_pic.png
+++ b/graphics/pokemon/pidgeot/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/pidgeot_back_pic.png b/graphics/pokemon/pidgeot/back.png
index 22d7d2702..22d7d2702 100644
--- a/graphics/pokemon/back_pics/pidgeot_back_pic.png
+++ b/graphics/pokemon/pidgeot/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/pidgeot_footprint.png b/graphics/pokemon/pidgeot/footprint.png
index 025341554..025341554 100644
--- a/graphics/pokemon/footprints/pidgeot_footprint.png
+++ b/graphics/pokemon/pidgeot/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/pidgeot_still_front_pic.png b/graphics/pokemon/pidgeot/front.png
index 1e55140e9..1e55140e9 100644
--- a/graphics/pokemon/front_pics/pidgeot_still_front_pic.png
+++ b/graphics/pokemon/pidgeot/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/pidgeot_icon.png b/graphics/pokemon/pidgeot/icon.png
index 472c0640c..472c0640c 100644
--- a/graphics/pokemon/icons/pidgeot_icon.png
+++ b/graphics/pokemon/pidgeot/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/pidgeot_palette.pal b/graphics/pokemon/pidgeot/normal.pal
index a9fff6c19..a9fff6c19 100644
--- a/graphics/pokemon/palettes/pidgeot_palette.pal
+++ b/graphics/pokemon/pidgeot/normal.pal
diff --git a/graphics/pokemon/palettes/pidgeot_shiny_palette.pal b/graphics/pokemon/pidgeot/shiny.pal
index 17eaa40f2..17eaa40f2 100644
--- a/graphics/pokemon/palettes/pidgeot_shiny_palette.pal
+++ b/graphics/pokemon/pidgeot/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/pidgeotto_front_pic.png b/graphics/pokemon/pidgeotto/anim_front.png
index 65ef21ec5..65ef21ec5 100644
--- a/graphics/pokemon/anim_front_pics/pidgeotto_front_pic.png
+++ b/graphics/pokemon/pidgeotto/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/pidgeotto_back_pic.png b/graphics/pokemon/pidgeotto/back.png
index 4aeab2844..4aeab2844 100644
--- a/graphics/pokemon/back_pics/pidgeotto_back_pic.png
+++ b/graphics/pokemon/pidgeotto/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/pidgeotto_footprint.png b/graphics/pokemon/pidgeotto/footprint.png
index c507f72b8..c507f72b8 100644
--- a/graphics/pokemon/footprints/pidgeotto_footprint.png
+++ b/graphics/pokemon/pidgeotto/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/pidgeotto_still_front_pic.png b/graphics/pokemon/pidgeotto/front.png
index 1a8e4656b..1a8e4656b 100644
--- a/graphics/pokemon/front_pics/pidgeotto_still_front_pic.png
+++ b/graphics/pokemon/pidgeotto/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/pidgeotto_icon.png b/graphics/pokemon/pidgeotto/icon.png
index bb134533e..bb134533e 100644
--- a/graphics/pokemon/icons/pidgeotto_icon.png
+++ b/graphics/pokemon/pidgeotto/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/pidgeotto_palette.pal b/graphics/pokemon/pidgeotto/normal.pal
index bf2ec6af1..bf2ec6af1 100644
--- a/graphics/pokemon/palettes/pidgeotto_palette.pal
+++ b/graphics/pokemon/pidgeotto/normal.pal
diff --git a/graphics/pokemon/palettes/pidgeotto_shiny_palette.pal b/graphics/pokemon/pidgeotto/shiny.pal
index 09a5b5cd3..09a5b5cd3 100644
--- a/graphics/pokemon/palettes/pidgeotto_shiny_palette.pal
+++ b/graphics/pokemon/pidgeotto/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/pidgey_front_pic.png b/graphics/pokemon/pidgey/anim_front.png
index 8136556d5..8136556d5 100644
--- a/graphics/pokemon/anim_front_pics/pidgey_front_pic.png
+++ b/graphics/pokemon/pidgey/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/pidgey_back_pic.png b/graphics/pokemon/pidgey/back.png
index ecb42e8f1..ecb42e8f1 100644
--- a/graphics/pokemon/back_pics/pidgey_back_pic.png
+++ b/graphics/pokemon/pidgey/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/pidgey_footprint.png b/graphics/pokemon/pidgey/footprint.png
index 6fe6e4282..6fe6e4282 100644
--- a/graphics/pokemon/footprints/pidgey_footprint.png
+++ b/graphics/pokemon/pidgey/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/pidgey_still_front_pic.png b/graphics/pokemon/pidgey/front.png
index 2dae9b8d9..2dae9b8d9 100644
--- a/graphics/pokemon/front_pics/pidgey_still_front_pic.png
+++ b/graphics/pokemon/pidgey/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/pidgey_icon.png b/graphics/pokemon/pidgey/icon.png
index 44ff94311..44ff94311 100644
--- a/graphics/pokemon/icons/pidgey_icon.png
+++ b/graphics/pokemon/pidgey/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/pidgey_palette.pal b/graphics/pokemon/pidgey/normal.pal
index 94db7288c..94db7288c 100644
--- a/graphics/pokemon/palettes/pidgey_palette.pal
+++ b/graphics/pokemon/pidgey/normal.pal
diff --git a/graphics/pokemon/palettes/pidgey_shiny_palette.pal b/graphics/pokemon/pidgey/shiny.pal
index 5723ea075..5723ea075 100644
--- a/graphics/pokemon/palettes/pidgey_shiny_palette.pal
+++ b/graphics/pokemon/pidgey/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/pikachu_front_pic.png b/graphics/pokemon/pikachu/anim_front.png
index f9be05401..f9be05401 100644
--- a/graphics/pokemon/anim_front_pics/pikachu_front_pic.png
+++ b/graphics/pokemon/pikachu/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/pikachu_back_pic.png b/graphics/pokemon/pikachu/back.png
index 0ea5ff592..0ea5ff592 100644
--- a/graphics/pokemon/back_pics/pikachu_back_pic.png
+++ b/graphics/pokemon/pikachu/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/pikachu_footprint.png b/graphics/pokemon/pikachu/footprint.png
index a8ee2e4ac..a8ee2e4ac 100644
--- a/graphics/pokemon/footprints/pikachu_footprint.png
+++ b/graphics/pokemon/pikachu/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/pikachu_still_front_pic.png b/graphics/pokemon/pikachu/front.png
index 18f83cf02..18f83cf02 100644
--- a/graphics/pokemon/front_pics/pikachu_still_front_pic.png
+++ b/graphics/pokemon/pikachu/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/pikachu_icon.png b/graphics/pokemon/pikachu/icon.png
index feb77f7db..feb77f7db 100644
--- a/graphics/pokemon/icons/pikachu_icon.png
+++ b/graphics/pokemon/pikachu/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/pikachu_palette.pal b/graphics/pokemon/pikachu/normal.pal
index bb60c24a9..bb60c24a9 100644
--- a/graphics/pokemon/palettes/pikachu_palette.pal
+++ b/graphics/pokemon/pikachu/normal.pal
diff --git a/graphics/pokemon/palettes/pikachu_shiny_palette.pal b/graphics/pokemon/pikachu/shiny.pal
index d4b783b0e..d4b783b0e 100644
--- a/graphics/pokemon/palettes/pikachu_shiny_palette.pal
+++ b/graphics/pokemon/pikachu/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/piloswine_front_pic.png b/graphics/pokemon/piloswine/anim_front.png
index ed0870abc..ed0870abc 100644
--- a/graphics/pokemon/anim_front_pics/piloswine_front_pic.png
+++ b/graphics/pokemon/piloswine/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/piloswine_back_pic.png b/graphics/pokemon/piloswine/back.png
index a9a3bfed8..a9a3bfed8 100644
--- a/graphics/pokemon/back_pics/piloswine_back_pic.png
+++ b/graphics/pokemon/piloswine/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/piloswine_footprint.png b/graphics/pokemon/piloswine/footprint.png
index 0b7405ece..0b7405ece 100644
--- a/graphics/pokemon/footprints/piloswine_footprint.png
+++ b/graphics/pokemon/piloswine/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/piloswine_still_front_pic.png b/graphics/pokemon/piloswine/front.png
index 939fb3908..939fb3908 100644
--- a/graphics/pokemon/front_pics/piloswine_still_front_pic.png
+++ b/graphics/pokemon/piloswine/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/piloswine_icon.png b/graphics/pokemon/piloswine/icon.png
index 974e9ea6a..974e9ea6a 100644
--- a/graphics/pokemon/icons/piloswine_icon.png
+++ b/graphics/pokemon/piloswine/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/piloswine_palette.pal b/graphics/pokemon/piloswine/normal.pal
index 287cfcd0d..287cfcd0d 100644
--- a/graphics/pokemon/palettes/piloswine_palette.pal
+++ b/graphics/pokemon/piloswine/normal.pal
diff --git a/graphics/pokemon/palettes/piloswine_shiny_palette.pal b/graphics/pokemon/piloswine/shiny.pal
index ff56a634a..ff56a634a 100644
--- a/graphics/pokemon/palettes/piloswine_shiny_palette.pal
+++ b/graphics/pokemon/piloswine/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/pineco_front_pic.png b/graphics/pokemon/pineco/anim_front.png
index 6b554b984..6b554b984 100644
--- a/graphics/pokemon/anim_front_pics/pineco_front_pic.png
+++ b/graphics/pokemon/pineco/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/pineco_back_pic.png b/graphics/pokemon/pineco/back.png
index a92454bb3..a92454bb3 100644
--- a/graphics/pokemon/back_pics/pineco_back_pic.png
+++ b/graphics/pokemon/pineco/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/pineco_footprint.png b/graphics/pokemon/pineco/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/pineco_footprint.png
+++ b/graphics/pokemon/pineco/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/pineco_still_front_pic.png b/graphics/pokemon/pineco/front.png
index eee32963a..eee32963a 100644
--- a/graphics/pokemon/front_pics/pineco_still_front_pic.png
+++ b/graphics/pokemon/pineco/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/pineco_icon.png b/graphics/pokemon/pineco/icon.png
index 3c12df5a2..3c12df5a2 100644
--- a/graphics/pokemon/icons/pineco_icon.png
+++ b/graphics/pokemon/pineco/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/pineco_palette.pal b/graphics/pokemon/pineco/normal.pal
index 91acee124..91acee124 100644
--- a/graphics/pokemon/palettes/pineco_palette.pal
+++ b/graphics/pokemon/pineco/normal.pal
diff --git a/graphics/pokemon/palettes/pineco_shiny_palette.pal b/graphics/pokemon/pineco/shiny.pal
index a474cc3e8..a474cc3e8 100644
--- a/graphics/pokemon/palettes/pineco_shiny_palette.pal
+++ b/graphics/pokemon/pineco/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/pinsir_front_pic.png b/graphics/pokemon/pinsir/anim_front.png
index 576e56b7d..576e56b7d 100644
--- a/graphics/pokemon/anim_front_pics/pinsir_front_pic.png
+++ b/graphics/pokemon/pinsir/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/pinsir_back_pic.png b/graphics/pokemon/pinsir/back.png
index 95ee9784c..95ee9784c 100644
--- a/graphics/pokemon/back_pics/pinsir_back_pic.png
+++ b/graphics/pokemon/pinsir/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/pinsir_footprint.png b/graphics/pokemon/pinsir/footprint.png
index ebd22101e..ebd22101e 100644
--- a/graphics/pokemon/footprints/pinsir_footprint.png
+++ b/graphics/pokemon/pinsir/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/pinsir_still_front_pic.png b/graphics/pokemon/pinsir/front.png
index 1c4f1eaf0..1c4f1eaf0 100644
--- a/graphics/pokemon/front_pics/pinsir_still_front_pic.png
+++ b/graphics/pokemon/pinsir/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/pinsir_icon.png b/graphics/pokemon/pinsir/icon.png
index b05b075b9..b05b075b9 100644
--- a/graphics/pokemon/icons/pinsir_icon.png
+++ b/graphics/pokemon/pinsir/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/pinsir_palette.pal b/graphics/pokemon/pinsir/normal.pal
index 9ef4b91f2..9ef4b91f2 100644
--- a/graphics/pokemon/palettes/pinsir_palette.pal
+++ b/graphics/pokemon/pinsir/normal.pal
diff --git a/graphics/pokemon/palettes/pinsir_shiny_palette.pal b/graphics/pokemon/pinsir/shiny.pal
index cd06d2111..cd06d2111 100644
--- a/graphics/pokemon/palettes/pinsir_shiny_palette.pal
+++ b/graphics/pokemon/pinsir/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/plusle_front_pic.png b/graphics/pokemon/plusle/anim_front.png
index 123efe4ef..123efe4ef 100644
--- a/graphics/pokemon/anim_front_pics/plusle_front_pic.png
+++ b/graphics/pokemon/plusle/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/plusle_back_pic.png b/graphics/pokemon/plusle/back.png
index 7365f9921..7365f9921 100644
--- a/graphics/pokemon/back_pics/plusle_back_pic.png
+++ b/graphics/pokemon/plusle/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/plusle_footprint.png b/graphics/pokemon/plusle/footprint.png
index 1071b8069..1071b8069 100644
--- a/graphics/pokemon/footprints/plusle_footprint.png
+++ b/graphics/pokemon/plusle/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/plusle_still_front_pic.png b/graphics/pokemon/plusle/front.png
index dc38ca3d1..dc38ca3d1 100644
--- a/graphics/pokemon/front_pics/plusle_still_front_pic.png
+++ b/graphics/pokemon/plusle/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/plusle_icon.png b/graphics/pokemon/plusle/icon.png
index 97f10d56f..97f10d56f 100644
--- a/graphics/pokemon/icons/plusle_icon.png
+++ b/graphics/pokemon/plusle/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/plusle_palette.pal b/graphics/pokemon/plusle/normal.pal
index e225ab56a..e225ab56a 100644
--- a/graphics/pokemon/palettes/plusle_palette.pal
+++ b/graphics/pokemon/plusle/normal.pal
diff --git a/graphics/pokemon/palettes/plusle_shiny_palette.pal b/graphics/pokemon/plusle/shiny.pal
index f1305ea50..f1305ea50 100644
--- a/graphics/pokemon/palettes/plusle_shiny_palette.pal
+++ b/graphics/pokemon/plusle/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/politoed_front_pic.png b/graphics/pokemon/politoed/anim_front.png
index d2b8b43aa..d2b8b43aa 100644
--- a/graphics/pokemon/anim_front_pics/politoed_front_pic.png
+++ b/graphics/pokemon/politoed/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/politoed_back_pic.png b/graphics/pokemon/politoed/back.png
index 5337b6f27..5337b6f27 100644
--- a/graphics/pokemon/back_pics/politoed_back_pic.png
+++ b/graphics/pokemon/politoed/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/politoed_footprint.png b/graphics/pokemon/politoed/footprint.png
index f97b78994..f97b78994 100644
--- a/graphics/pokemon/footprints/politoed_footprint.png
+++ b/graphics/pokemon/politoed/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/politoed_still_front_pic.png b/graphics/pokemon/politoed/front.png
index d07bf4013..d07bf4013 100644
--- a/graphics/pokemon/front_pics/politoed_still_front_pic.png
+++ b/graphics/pokemon/politoed/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/politoed_icon.png b/graphics/pokemon/politoed/icon.png
index a5e5d699b..a5e5d699b 100644
--- a/graphics/pokemon/icons/politoed_icon.png
+++ b/graphics/pokemon/politoed/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/politoed_palette.pal b/graphics/pokemon/politoed/normal.pal
index 31177861d..31177861d 100644
--- a/graphics/pokemon/palettes/politoed_palette.pal
+++ b/graphics/pokemon/politoed/normal.pal
diff --git a/graphics/pokemon/palettes/politoed_shiny_palette.pal b/graphics/pokemon/politoed/shiny.pal
index 1d25291bf..1d25291bf 100644
--- a/graphics/pokemon/palettes/politoed_shiny_palette.pal
+++ b/graphics/pokemon/politoed/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/poliwag_front_pic.png b/graphics/pokemon/poliwag/anim_front.png
index 32c339383..32c339383 100644
--- a/graphics/pokemon/anim_front_pics/poliwag_front_pic.png
+++ b/graphics/pokemon/poliwag/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/poliwag_back_pic.png b/graphics/pokemon/poliwag/back.png
index a6e5d23fa..a6e5d23fa 100644
--- a/graphics/pokemon/back_pics/poliwag_back_pic.png
+++ b/graphics/pokemon/poliwag/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/poliwag_footprint.png b/graphics/pokemon/poliwag/footprint.png
index 04e411726..04e411726 100644
--- a/graphics/pokemon/footprints/poliwag_footprint.png
+++ b/graphics/pokemon/poliwag/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/poliwag_still_front_pic.png b/graphics/pokemon/poliwag/front.png
index 72e454c95..72e454c95 100644
--- a/graphics/pokemon/front_pics/poliwag_still_front_pic.png
+++ b/graphics/pokemon/poliwag/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/poliwag_icon.png b/graphics/pokemon/poliwag/icon.png
index d4cd95f1c..d4cd95f1c 100644
--- a/graphics/pokemon/icons/poliwag_icon.png
+++ b/graphics/pokemon/poliwag/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/poliwag_palette.pal b/graphics/pokemon/poliwag/normal.pal
index 14f781ec9..14f781ec9 100644
--- a/graphics/pokemon/palettes/poliwag_palette.pal
+++ b/graphics/pokemon/poliwag/normal.pal
diff --git a/graphics/pokemon/palettes/poliwag_shiny_palette.pal b/graphics/pokemon/poliwag/shiny.pal
index 1789edc4a..1789edc4a 100644
--- a/graphics/pokemon/palettes/poliwag_shiny_palette.pal
+++ b/graphics/pokemon/poliwag/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/poliwhirl_front_pic.png b/graphics/pokemon/poliwhirl/anim_front.png
index df878ca7b..df878ca7b 100644
--- a/graphics/pokemon/anim_front_pics/poliwhirl_front_pic.png
+++ b/graphics/pokemon/poliwhirl/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/poliwhirl_back_pic.png b/graphics/pokemon/poliwhirl/back.png
index 16531886a..16531886a 100644
--- a/graphics/pokemon/back_pics/poliwhirl_back_pic.png
+++ b/graphics/pokemon/poliwhirl/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/poliwhirl_footprint.png b/graphics/pokemon/poliwhirl/footprint.png
index 14f6c2ea9..14f6c2ea9 100644
--- a/graphics/pokemon/footprints/poliwhirl_footprint.png
+++ b/graphics/pokemon/poliwhirl/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/poliwhirl_still_front_pic.png b/graphics/pokemon/poliwhirl/front.png
index fac7d0575..fac7d0575 100644
--- a/graphics/pokemon/front_pics/poliwhirl_still_front_pic.png
+++ b/graphics/pokemon/poliwhirl/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/poliwhirl_icon.png b/graphics/pokemon/poliwhirl/icon.png
index c25dabbfe..c25dabbfe 100644
--- a/graphics/pokemon/icons/poliwhirl_icon.png
+++ b/graphics/pokemon/poliwhirl/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/poliwhirl_palette.pal b/graphics/pokemon/poliwhirl/normal.pal
index 50de4d631..50de4d631 100644
--- a/graphics/pokemon/palettes/poliwhirl_palette.pal
+++ b/graphics/pokemon/poliwhirl/normal.pal
diff --git a/graphics/pokemon/palettes/poliwhirl_shiny_palette.pal b/graphics/pokemon/poliwhirl/shiny.pal
index b6aa45616..b6aa45616 100644
--- a/graphics/pokemon/palettes/poliwhirl_shiny_palette.pal
+++ b/graphics/pokemon/poliwhirl/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/poliwrath_front_pic.png b/graphics/pokemon/poliwrath/anim_front.png
index ec68c4aa5..ec68c4aa5 100644
--- a/graphics/pokemon/anim_front_pics/poliwrath_front_pic.png
+++ b/graphics/pokemon/poliwrath/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/poliwrath_back_pic.png b/graphics/pokemon/poliwrath/back.png
index e5bee3663..e5bee3663 100644
--- a/graphics/pokemon/back_pics/poliwrath_back_pic.png
+++ b/graphics/pokemon/poliwrath/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/poliwrath_footprint.png b/graphics/pokemon/poliwrath/footprint.png
index 8f562fcef..8f562fcef 100644
--- a/graphics/pokemon/footprints/poliwrath_footprint.png
+++ b/graphics/pokemon/poliwrath/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/poliwrath_still_front_pic.png b/graphics/pokemon/poliwrath/front.png
index 2d82581d8..2d82581d8 100644
--- a/graphics/pokemon/front_pics/poliwrath_still_front_pic.png
+++ b/graphics/pokemon/poliwrath/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/poliwrath_icon.png b/graphics/pokemon/poliwrath/icon.png
index d1afb4511..d1afb4511 100644
--- a/graphics/pokemon/icons/poliwrath_icon.png
+++ b/graphics/pokemon/poliwrath/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/poliwrath_palette.pal b/graphics/pokemon/poliwrath/normal.pal
index 14f4493d4..14f4493d4 100644
--- a/graphics/pokemon/palettes/poliwrath_palette.pal
+++ b/graphics/pokemon/poliwrath/normal.pal
diff --git a/graphics/pokemon/palettes/poliwrath_shiny_palette.pal b/graphics/pokemon/poliwrath/shiny.pal
index 64aab4039..64aab4039 100644
--- a/graphics/pokemon/palettes/poliwrath_shiny_palette.pal
+++ b/graphics/pokemon/poliwrath/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/ponyta_front_pic.png b/graphics/pokemon/ponyta/anim_front.png
index abee4ad85..abee4ad85 100644
--- a/graphics/pokemon/anim_front_pics/ponyta_front_pic.png
+++ b/graphics/pokemon/ponyta/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ponyta_back_pic.png b/graphics/pokemon/ponyta/back.png
index cc4bf1189..cc4bf1189 100644
--- a/graphics/pokemon/back_pics/ponyta_back_pic.png
+++ b/graphics/pokemon/ponyta/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ponyta_footprint.png b/graphics/pokemon/ponyta/footprint.png
index 906ee7a5b..906ee7a5b 100644
--- a/graphics/pokemon/footprints/ponyta_footprint.png
+++ b/graphics/pokemon/ponyta/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ponyta_still_front_pic.png b/graphics/pokemon/ponyta/front.png
index 4833f1658..4833f1658 100644
--- a/graphics/pokemon/front_pics/ponyta_still_front_pic.png
+++ b/graphics/pokemon/ponyta/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ponyta_icon.png b/graphics/pokemon/ponyta/icon.png
index 05ac87a44..05ac87a44 100644
--- a/graphics/pokemon/icons/ponyta_icon.png
+++ b/graphics/pokemon/ponyta/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ponyta_palette.pal b/graphics/pokemon/ponyta/normal.pal
index 68dcf8d3b..68dcf8d3b 100644
--- a/graphics/pokemon/palettes/ponyta_palette.pal
+++ b/graphics/pokemon/ponyta/normal.pal
diff --git a/graphics/pokemon/palettes/ponyta_shiny_palette.pal b/graphics/pokemon/ponyta/shiny.pal
index 1210e5228..1210e5228 100644
--- a/graphics/pokemon/palettes/ponyta_shiny_palette.pal
+++ b/graphics/pokemon/ponyta/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/poochyena_front_pic.png b/graphics/pokemon/poochyena/anim_front.png
index 0579a1fa9..0579a1fa9 100644
--- a/graphics/pokemon/anim_front_pics/poochyena_front_pic.png
+++ b/graphics/pokemon/poochyena/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/poochyena_back_pic.png b/graphics/pokemon/poochyena/back.png
index 6d13ed43a..6d13ed43a 100644
--- a/graphics/pokemon/back_pics/poochyena_back_pic.png
+++ b/graphics/pokemon/poochyena/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/poochyena_footprint.png b/graphics/pokemon/poochyena/footprint.png
index c4afe995f..c4afe995f 100644
--- a/graphics/pokemon/footprints/poochyena_footprint.png
+++ b/graphics/pokemon/poochyena/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/poochyena_still_front_pic.png b/graphics/pokemon/poochyena/front.png
index 0eee404a7..0eee404a7 100644
--- a/graphics/pokemon/front_pics/poochyena_still_front_pic.png
+++ b/graphics/pokemon/poochyena/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/poochyena_icon.png b/graphics/pokemon/poochyena/icon.png
index 7e6be6a17..7e6be6a17 100644
--- a/graphics/pokemon/icons/poochyena_icon.png
+++ b/graphics/pokemon/poochyena/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/poochyena_palette.pal b/graphics/pokemon/poochyena/normal.pal
index 4c386e261..4c386e261 100644
--- a/graphics/pokemon/palettes/poochyena_palette.pal
+++ b/graphics/pokemon/poochyena/normal.pal
diff --git a/graphics/pokemon/palettes/poochyena_shiny_palette.pal b/graphics/pokemon/poochyena/shiny.pal
index c30dcec93..c30dcec93 100644
--- a/graphics/pokemon/palettes/poochyena_shiny_palette.pal
+++ b/graphics/pokemon/poochyena/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/porygon_front_pic.png b/graphics/pokemon/porygon/anim_front.png
index 7654821da..7654821da 100644
--- a/graphics/pokemon/anim_front_pics/porygon_front_pic.png
+++ b/graphics/pokemon/porygon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/porygon_back_pic.png b/graphics/pokemon/porygon/back.png
index f102465a8..f102465a8 100644
--- a/graphics/pokemon/back_pics/porygon_back_pic.png
+++ b/graphics/pokemon/porygon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/porygon_footprint.png b/graphics/pokemon/porygon/footprint.png
index 02243e3bc..02243e3bc 100644
--- a/graphics/pokemon/footprints/porygon_footprint.png
+++ b/graphics/pokemon/porygon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/porygon_still_front_pic.png b/graphics/pokemon/porygon/front.png
index b053083ce..b053083ce 100644
--- a/graphics/pokemon/front_pics/porygon_still_front_pic.png
+++ b/graphics/pokemon/porygon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/porygon_icon.png b/graphics/pokemon/porygon/icon.png
index 306ea8d31..306ea8d31 100644
--- a/graphics/pokemon/icons/porygon_icon.png
+++ b/graphics/pokemon/porygon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/porygon_palette.pal b/graphics/pokemon/porygon/normal.pal
index 68ca2bef2..68ca2bef2 100644
--- a/graphics/pokemon/palettes/porygon_palette.pal
+++ b/graphics/pokemon/porygon/normal.pal
diff --git a/graphics/pokemon/palettes/porygon_shiny_palette.pal b/graphics/pokemon/porygon/shiny.pal
index 19178b1b8..19178b1b8 100644
--- a/graphics/pokemon/palettes/porygon_shiny_palette.pal
+++ b/graphics/pokemon/porygon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/porygon2_front_pic.png b/graphics/pokemon/porygon2/anim_front.png
index f324d55ad..f324d55ad 100644
--- a/graphics/pokemon/anim_front_pics/porygon2_front_pic.png
+++ b/graphics/pokemon/porygon2/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/porygon2_back_pic.png b/graphics/pokemon/porygon2/back.png
index aad400b56..aad400b56 100644
--- a/graphics/pokemon/back_pics/porygon2_back_pic.png
+++ b/graphics/pokemon/porygon2/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/porygon2_footprint.png b/graphics/pokemon/porygon2/footprint.png
index f92224af3..f92224af3 100644
--- a/graphics/pokemon/footprints/porygon2_footprint.png
+++ b/graphics/pokemon/porygon2/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/porygon2_still_front_pic.png b/graphics/pokemon/porygon2/front.png
index ef08816d7..ef08816d7 100644
--- a/graphics/pokemon/front_pics/porygon2_still_front_pic.png
+++ b/graphics/pokemon/porygon2/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/porygon2_icon.png b/graphics/pokemon/porygon2/icon.png
index 312640b40..312640b40 100644
--- a/graphics/pokemon/icons/porygon2_icon.png
+++ b/graphics/pokemon/porygon2/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/porygon2_palette.pal b/graphics/pokemon/porygon2/normal.pal
index a9de00549..a9de00549 100644
--- a/graphics/pokemon/palettes/porygon2_palette.pal
+++ b/graphics/pokemon/porygon2/normal.pal
diff --git a/graphics/pokemon/palettes/porygon2_shiny_palette.pal b/graphics/pokemon/porygon2/shiny.pal
index 4c0d2054c..4c0d2054c 100644
--- a/graphics/pokemon/palettes/porygon2_shiny_palette.pal
+++ b/graphics/pokemon/porygon2/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/primeape_front_pic.png b/graphics/pokemon/primeape/anim_front.png
index babecf370..babecf370 100644
--- a/graphics/pokemon/anim_front_pics/primeape_front_pic.png
+++ b/graphics/pokemon/primeape/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/primeape_back_pic.png b/graphics/pokemon/primeape/back.png
index 02b326cd4..02b326cd4 100644
--- a/graphics/pokemon/back_pics/primeape_back_pic.png
+++ b/graphics/pokemon/primeape/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/primeape_footprint.png b/graphics/pokemon/primeape/footprint.png
index f4c90ee17..f4c90ee17 100644
--- a/graphics/pokemon/footprints/primeape_footprint.png
+++ b/graphics/pokemon/primeape/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/primeape_still_front_pic.png b/graphics/pokemon/primeape/front.png
index 4f87b1876..4f87b1876 100644
--- a/graphics/pokemon/front_pics/primeape_still_front_pic.png
+++ b/graphics/pokemon/primeape/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/primeape_icon.png b/graphics/pokemon/primeape/icon.png
index d2d42f7dc..d2d42f7dc 100644
--- a/graphics/pokemon/icons/primeape_icon.png
+++ b/graphics/pokemon/primeape/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/primeape_palette.pal b/graphics/pokemon/primeape/normal.pal
index bebbba406..bebbba406 100644
--- a/graphics/pokemon/palettes/primeape_palette.pal
+++ b/graphics/pokemon/primeape/normal.pal
diff --git a/graphics/pokemon/palettes/primeape_shiny_palette.pal b/graphics/pokemon/primeape/shiny.pal
index 02b4f4e16..02b4f4e16 100644
--- a/graphics/pokemon/palettes/primeape_shiny_palette.pal
+++ b/graphics/pokemon/primeape/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/psyduck_front_pic.png b/graphics/pokemon/psyduck/anim_front.png
index 51d323716..51d323716 100644
--- a/graphics/pokemon/anim_front_pics/psyduck_front_pic.png
+++ b/graphics/pokemon/psyduck/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/psyduck_back_pic.png b/graphics/pokemon/psyduck/back.png
index 65f8032a7..65f8032a7 100644
--- a/graphics/pokemon/back_pics/psyduck_back_pic.png
+++ b/graphics/pokemon/psyduck/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/psyduck_footprint.png b/graphics/pokemon/psyduck/footprint.png
index 4dff44800..4dff44800 100644
--- a/graphics/pokemon/footprints/psyduck_footprint.png
+++ b/graphics/pokemon/psyduck/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/psyduck_still_front_pic.png b/graphics/pokemon/psyduck/front.png
index 765e9f61b..765e9f61b 100644
--- a/graphics/pokemon/front_pics/psyduck_still_front_pic.png
+++ b/graphics/pokemon/psyduck/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/psyduck_icon.png b/graphics/pokemon/psyduck/icon.png
index f3ebc9f96..f3ebc9f96 100644
--- a/graphics/pokemon/icons/psyduck_icon.png
+++ b/graphics/pokemon/psyduck/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/psyduck_palette.pal b/graphics/pokemon/psyduck/normal.pal
index c69e486a9..c69e486a9 100644
--- a/graphics/pokemon/palettes/psyduck_palette.pal
+++ b/graphics/pokemon/psyduck/normal.pal
diff --git a/graphics/pokemon/palettes/psyduck_shiny_palette.pal b/graphics/pokemon/psyduck/shiny.pal
index 889cfaedc..889cfaedc 100644
--- a/graphics/pokemon/palettes/psyduck_shiny_palette.pal
+++ b/graphics/pokemon/psyduck/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/pupitar_front_pic.png b/graphics/pokemon/pupitar/anim_front.png
index 910afd614..910afd614 100644
--- a/graphics/pokemon/anim_front_pics/pupitar_front_pic.png
+++ b/graphics/pokemon/pupitar/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/pupitar_back_pic.png b/graphics/pokemon/pupitar/back.png
index 1f49a87f9..1f49a87f9 100644
--- a/graphics/pokemon/back_pics/pupitar_back_pic.png
+++ b/graphics/pokemon/pupitar/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/pupitar_footprint.png b/graphics/pokemon/pupitar/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/pupitar_footprint.png
+++ b/graphics/pokemon/pupitar/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/pupitar_still_front_pic.png b/graphics/pokemon/pupitar/front.png
index 9e48ec20a..9e48ec20a 100644
--- a/graphics/pokemon/front_pics/pupitar_still_front_pic.png
+++ b/graphics/pokemon/pupitar/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/pupitar_icon.png b/graphics/pokemon/pupitar/icon.png
index 3491849d1..3491849d1 100644
--- a/graphics/pokemon/icons/pupitar_icon.png
+++ b/graphics/pokemon/pupitar/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/pupitar_palette.pal b/graphics/pokemon/pupitar/normal.pal
index bd8385e29..bd8385e29 100644
--- a/graphics/pokemon/palettes/pupitar_palette.pal
+++ b/graphics/pokemon/pupitar/normal.pal
diff --git a/graphics/pokemon/palettes/pupitar_shiny_palette.pal b/graphics/pokemon/pupitar/shiny.pal
index 58371ba01..58371ba01 100644
--- a/graphics/pokemon/palettes/pupitar_shiny_palette.pal
+++ b/graphics/pokemon/pupitar/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/quagsire_front_pic.png b/graphics/pokemon/quagsire/anim_front.png
index 0834e1da6..0834e1da6 100644
--- a/graphics/pokemon/anim_front_pics/quagsire_front_pic.png
+++ b/graphics/pokemon/quagsire/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/quagsire_back_pic.png b/graphics/pokemon/quagsire/back.png
index 9233569b8..9233569b8 100644
--- a/graphics/pokemon/back_pics/quagsire_back_pic.png
+++ b/graphics/pokemon/quagsire/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/quagsire_footprint.png b/graphics/pokemon/quagsire/footprint.png
index d04039763..d04039763 100644
--- a/graphics/pokemon/footprints/quagsire_footprint.png
+++ b/graphics/pokemon/quagsire/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/quagsire_still_front_pic.png b/graphics/pokemon/quagsire/front.png
index d065f9fa1..d065f9fa1 100644
--- a/graphics/pokemon/front_pics/quagsire_still_front_pic.png
+++ b/graphics/pokemon/quagsire/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/quagsire_icon.png b/graphics/pokemon/quagsire/icon.png
index 62c7f2e46..62c7f2e46 100644
--- a/graphics/pokemon/icons/quagsire_icon.png
+++ b/graphics/pokemon/quagsire/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/quagsire_palette.pal b/graphics/pokemon/quagsire/normal.pal
index 5a74c8c08..5a74c8c08 100644
--- a/graphics/pokemon/palettes/quagsire_palette.pal
+++ b/graphics/pokemon/quagsire/normal.pal
diff --git a/graphics/pokemon/palettes/quagsire_shiny_palette.pal b/graphics/pokemon/quagsire/shiny.pal
index cb5bd7922..cb5bd7922 100644
--- a/graphics/pokemon/palettes/quagsire_shiny_palette.pal
+++ b/graphics/pokemon/quagsire/shiny.pal
diff --git a/graphics/pokemon/footprints/question_mark_footprint.png b/graphics/pokemon/question_mark/footprint.png
index 7c4f45eaa..7c4f45eaa 100644
--- a/graphics/pokemon/footprints/question_mark_footprint.png
+++ b/graphics/pokemon/question_mark/footprint.png
Binary files differ
diff --git a/graphics/pokemon/icons/question_mark_icon.png b/graphics/pokemon/question_mark/icon.png
index b31ebacf7..b31ebacf7 100644
--- a/graphics/pokemon/icons/question_mark_icon.png
+++ b/graphics/pokemon/question_mark/icon.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/quilava_front_pic.png b/graphics/pokemon/quilava/anim_front.png
index b5ec66bba..b5ec66bba 100644
--- a/graphics/pokemon/anim_front_pics/quilava_front_pic.png
+++ b/graphics/pokemon/quilava/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/quilava_back_pic.png b/graphics/pokemon/quilava/back.png
index 5a97c1b11..5a97c1b11 100644
--- a/graphics/pokemon/back_pics/quilava_back_pic.png
+++ b/graphics/pokemon/quilava/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/quilava_footprint.png b/graphics/pokemon/quilava/footprint.png
index 28324dd7c..28324dd7c 100644
--- a/graphics/pokemon/footprints/quilava_footprint.png
+++ b/graphics/pokemon/quilava/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/quilava_still_front_pic.png b/graphics/pokemon/quilava/front.png
index a5a0d34f6..a5a0d34f6 100644
--- a/graphics/pokemon/front_pics/quilava_still_front_pic.png
+++ b/graphics/pokemon/quilava/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/quilava_icon.png b/graphics/pokemon/quilava/icon.png
index 62d0608dd..62d0608dd 100644
--- a/graphics/pokemon/icons/quilava_icon.png
+++ b/graphics/pokemon/quilava/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/quilava_palette.pal b/graphics/pokemon/quilava/normal.pal
index 0b37faf22..0b37faf22 100644
--- a/graphics/pokemon/palettes/quilava_palette.pal
+++ b/graphics/pokemon/quilava/normal.pal
diff --git a/graphics/pokemon/palettes/quilava_shiny_palette.pal b/graphics/pokemon/quilava/shiny.pal
index e1baba127..e1baba127 100644
--- a/graphics/pokemon/palettes/quilava_shiny_palette.pal
+++ b/graphics/pokemon/quilava/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/qwilfish_front_pic.png b/graphics/pokemon/qwilfish/anim_front.png
index 4cfbe002e..4cfbe002e 100644
--- a/graphics/pokemon/anim_front_pics/qwilfish_front_pic.png
+++ b/graphics/pokemon/qwilfish/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/qwilfish_back_pic.png b/graphics/pokemon/qwilfish/back.png
index 34fb6e12e..34fb6e12e 100644
--- a/graphics/pokemon/back_pics/qwilfish_back_pic.png
+++ b/graphics/pokemon/qwilfish/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/qwilfish_footprint.png b/graphics/pokemon/qwilfish/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/qwilfish_footprint.png
+++ b/graphics/pokemon/qwilfish/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/qwilfish_still_front_pic.png b/graphics/pokemon/qwilfish/front.png
index 67266d4af..67266d4af 100644
--- a/graphics/pokemon/front_pics/qwilfish_still_front_pic.png
+++ b/graphics/pokemon/qwilfish/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/qwilfish_icon.png b/graphics/pokemon/qwilfish/icon.png
index b0fc12302..b0fc12302 100644
--- a/graphics/pokemon/icons/qwilfish_icon.png
+++ b/graphics/pokemon/qwilfish/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/qwilfish_palette.pal b/graphics/pokemon/qwilfish/normal.pal
index 1956e57c4..1956e57c4 100644
--- a/graphics/pokemon/palettes/qwilfish_palette.pal
+++ b/graphics/pokemon/qwilfish/normal.pal
diff --git a/graphics/pokemon/palettes/qwilfish_shiny_palette.pal b/graphics/pokemon/qwilfish/shiny.pal
index d548d12e9..d548d12e9 100644
--- a/graphics/pokemon/palettes/qwilfish_shiny_palette.pal
+++ b/graphics/pokemon/qwilfish/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/raichu_front_pic.png b/graphics/pokemon/raichu/anim_front.png
index 722c0ff59..722c0ff59 100644
--- a/graphics/pokemon/anim_front_pics/raichu_front_pic.png
+++ b/graphics/pokemon/raichu/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/raichu_back_pic.png b/graphics/pokemon/raichu/back.png
index 6f8a0afcd..6f8a0afcd 100644
--- a/graphics/pokemon/back_pics/raichu_back_pic.png
+++ b/graphics/pokemon/raichu/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/raichu_footprint.png b/graphics/pokemon/raichu/footprint.png
index 9f2ac3993..9f2ac3993 100644
--- a/graphics/pokemon/footprints/raichu_footprint.png
+++ b/graphics/pokemon/raichu/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/raichu_still_front_pic.png b/graphics/pokemon/raichu/front.png
index d1357f521..d1357f521 100644
--- a/graphics/pokemon/front_pics/raichu_still_front_pic.png
+++ b/graphics/pokemon/raichu/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/raichu_icon.png b/graphics/pokemon/raichu/icon.png
index a34997b47..a34997b47 100644
--- a/graphics/pokemon/icons/raichu_icon.png
+++ b/graphics/pokemon/raichu/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/raichu_palette.pal b/graphics/pokemon/raichu/normal.pal
index c04e9d81c..c04e9d81c 100644
--- a/graphics/pokemon/palettes/raichu_palette.pal
+++ b/graphics/pokemon/raichu/normal.pal
diff --git a/graphics/pokemon/palettes/raichu_shiny_palette.pal b/graphics/pokemon/raichu/shiny.pal
index 40e16fa6c..40e16fa6c 100644
--- a/graphics/pokemon/palettes/raichu_shiny_palette.pal
+++ b/graphics/pokemon/raichu/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/raikou_front_pic.png b/graphics/pokemon/raikou/anim_front.png
index a0149846d..a0149846d 100644
--- a/graphics/pokemon/anim_front_pics/raikou_front_pic.png
+++ b/graphics/pokemon/raikou/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/raikou_back_pic.png b/graphics/pokemon/raikou/back.png
index e187eda52..e187eda52 100644
--- a/graphics/pokemon/back_pics/raikou_back_pic.png
+++ b/graphics/pokemon/raikou/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/raikou_footprint.png b/graphics/pokemon/raikou/footprint.png
index b7081dcd3..b7081dcd3 100644
--- a/graphics/pokemon/footprints/raikou_footprint.png
+++ b/graphics/pokemon/raikou/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/raikou_still_front_pic.png b/graphics/pokemon/raikou/front.png
index f9ee02ea9..f9ee02ea9 100644
--- a/graphics/pokemon/front_pics/raikou_still_front_pic.png
+++ b/graphics/pokemon/raikou/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/raikou_icon.png b/graphics/pokemon/raikou/icon.png
index 7847a6f16..7847a6f16 100644
--- a/graphics/pokemon/icons/raikou_icon.png
+++ b/graphics/pokemon/raikou/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/raikou_palette.pal b/graphics/pokemon/raikou/normal.pal
index 975f92b23..975f92b23 100644
--- a/graphics/pokemon/palettes/raikou_palette.pal
+++ b/graphics/pokemon/raikou/normal.pal
diff --git a/graphics/pokemon/palettes/raikou_shiny_palette.pal b/graphics/pokemon/raikou/shiny.pal
index 73bbcb405..73bbcb405 100644
--- a/graphics/pokemon/palettes/raikou_shiny_palette.pal
+++ b/graphics/pokemon/raikou/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/ralts_front_pic.png b/graphics/pokemon/ralts/anim_front.png
index cb19276d8..cb19276d8 100644
--- a/graphics/pokemon/anim_front_pics/ralts_front_pic.png
+++ b/graphics/pokemon/ralts/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ralts_back_pic.png b/graphics/pokemon/ralts/back.png
index 926bdc0ab..926bdc0ab 100644
--- a/graphics/pokemon/back_pics/ralts_back_pic.png
+++ b/graphics/pokemon/ralts/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ralts_footprint.png b/graphics/pokemon/ralts/footprint.png
index 6965dbe60..6965dbe60 100644
--- a/graphics/pokemon/footprints/ralts_footprint.png
+++ b/graphics/pokemon/ralts/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ralts_still_front_pic.png b/graphics/pokemon/ralts/front.png
index dc4551880..dc4551880 100644
--- a/graphics/pokemon/front_pics/ralts_still_front_pic.png
+++ b/graphics/pokemon/ralts/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ralts_icon.png b/graphics/pokemon/ralts/icon.png
index ed99d3427..ed99d3427 100644
--- a/graphics/pokemon/icons/ralts_icon.png
+++ b/graphics/pokemon/ralts/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ralts_palette.pal b/graphics/pokemon/ralts/normal.pal
index 1e513ae87..1e513ae87 100644
--- a/graphics/pokemon/palettes/ralts_palette.pal
+++ b/graphics/pokemon/ralts/normal.pal
diff --git a/graphics/pokemon/palettes/ralts_shiny_palette.pal b/graphics/pokemon/ralts/shiny.pal
index b588f6eea..b588f6eea 100644
--- a/graphics/pokemon/palettes/ralts_shiny_palette.pal
+++ b/graphics/pokemon/ralts/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/rapidash_front_pic.png b/graphics/pokemon/rapidash/anim_front.png
index 69ba93ebe..69ba93ebe 100644
--- a/graphics/pokemon/anim_front_pics/rapidash_front_pic.png
+++ b/graphics/pokemon/rapidash/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/rapidash_back_pic.png b/graphics/pokemon/rapidash/back.png
index 7d4b9667e..7d4b9667e 100644
--- a/graphics/pokemon/back_pics/rapidash_back_pic.png
+++ b/graphics/pokemon/rapidash/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/rapidash_footprint.png b/graphics/pokemon/rapidash/footprint.png
index 3361489fd..3361489fd 100644
--- a/graphics/pokemon/footprints/rapidash_footprint.png
+++ b/graphics/pokemon/rapidash/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/rapidash_still_front_pic.png b/graphics/pokemon/rapidash/front.png
index ead8745a6..ead8745a6 100644
--- a/graphics/pokemon/front_pics/rapidash_still_front_pic.png
+++ b/graphics/pokemon/rapidash/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/rapidash_icon.png b/graphics/pokemon/rapidash/icon.png
index c0af0dd08..c0af0dd08 100644
--- a/graphics/pokemon/icons/rapidash_icon.png
+++ b/graphics/pokemon/rapidash/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/rapidash_palette.pal b/graphics/pokemon/rapidash/normal.pal
index dea936aba..dea936aba 100644
--- a/graphics/pokemon/palettes/rapidash_palette.pal
+++ b/graphics/pokemon/rapidash/normal.pal
diff --git a/graphics/pokemon/palettes/rapidash_shiny_palette.pal b/graphics/pokemon/rapidash/shiny.pal
index c65fda218..c65fda218 100644
--- a/graphics/pokemon/palettes/rapidash_shiny_palette.pal
+++ b/graphics/pokemon/rapidash/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/raticate_front_pic.png b/graphics/pokemon/raticate/anim_front.png
index 589201cc9..589201cc9 100644
--- a/graphics/pokemon/anim_front_pics/raticate_front_pic.png
+++ b/graphics/pokemon/raticate/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/raticate_back_pic.png b/graphics/pokemon/raticate/back.png
index d6c0d8ae2..d6c0d8ae2 100644
--- a/graphics/pokemon/back_pics/raticate_back_pic.png
+++ b/graphics/pokemon/raticate/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/raticate_footprint.png b/graphics/pokemon/raticate/footprint.png
index 6628cfdd7..6628cfdd7 100644
--- a/graphics/pokemon/footprints/raticate_footprint.png
+++ b/graphics/pokemon/raticate/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/raticate_still_front_pic.png b/graphics/pokemon/raticate/front.png
index 7c6f4cdd5..7c6f4cdd5 100644
--- a/graphics/pokemon/front_pics/raticate_still_front_pic.png
+++ b/graphics/pokemon/raticate/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/raticate_icon.png b/graphics/pokemon/raticate/icon.png
index 40fbd79c5..40fbd79c5 100644
--- a/graphics/pokemon/icons/raticate_icon.png
+++ b/graphics/pokemon/raticate/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/raticate_palette.pal b/graphics/pokemon/raticate/normal.pal
index 72981c0d7..72981c0d7 100644
--- a/graphics/pokemon/palettes/raticate_palette.pal
+++ b/graphics/pokemon/raticate/normal.pal
diff --git a/graphics/pokemon/palettes/raticate_shiny_palette.pal b/graphics/pokemon/raticate/shiny.pal
index 15e73219a..15e73219a 100644
--- a/graphics/pokemon/palettes/raticate_shiny_palette.pal
+++ b/graphics/pokemon/raticate/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/rattata_front_pic.png b/graphics/pokemon/rattata/anim_front.png
index 0380429f5..0380429f5 100644
--- a/graphics/pokemon/anim_front_pics/rattata_front_pic.png
+++ b/graphics/pokemon/rattata/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/rattata_back_pic.png b/graphics/pokemon/rattata/back.png
index 72bb56766..72bb56766 100644
--- a/graphics/pokemon/back_pics/rattata_back_pic.png
+++ b/graphics/pokemon/rattata/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/rattata_footprint.png b/graphics/pokemon/rattata/footprint.png
index 008b1ddc0..008b1ddc0 100644
--- a/graphics/pokemon/footprints/rattata_footprint.png
+++ b/graphics/pokemon/rattata/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/rattata_still_front_pic.png b/graphics/pokemon/rattata/front.png
index 22b945aa9..22b945aa9 100644
--- a/graphics/pokemon/front_pics/rattata_still_front_pic.png
+++ b/graphics/pokemon/rattata/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/rattata_icon.png b/graphics/pokemon/rattata/icon.png
index ae7b22258..ae7b22258 100644
--- a/graphics/pokemon/icons/rattata_icon.png
+++ b/graphics/pokemon/rattata/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/rattata_palette.pal b/graphics/pokemon/rattata/normal.pal
index 971ffed37..971ffed37 100644
--- a/graphics/pokemon/palettes/rattata_palette.pal
+++ b/graphics/pokemon/rattata/normal.pal
diff --git a/graphics/pokemon/palettes/rattata_shiny_palette.pal b/graphics/pokemon/rattata/shiny.pal
index 41a644c54..41a644c54 100644
--- a/graphics/pokemon/palettes/rattata_shiny_palette.pal
+++ b/graphics/pokemon/rattata/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/rayquaza_front_pic.png b/graphics/pokemon/rayquaza/anim_front.png
index 25103d2d4..25103d2d4 100644
--- a/graphics/pokemon/anim_front_pics/rayquaza_front_pic.png
+++ b/graphics/pokemon/rayquaza/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/rayquaza_back_pic.png b/graphics/pokemon/rayquaza/back.png
index e8b8704a8..e8b8704a8 100644
--- a/graphics/pokemon/back_pics/rayquaza_back_pic.png
+++ b/graphics/pokemon/rayquaza/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/rayquaza_footprint.png b/graphics/pokemon/rayquaza/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/rayquaza_footprint.png
+++ b/graphics/pokemon/rayquaza/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/rayquaza_still_front_pic.png b/graphics/pokemon/rayquaza/front.png
index 29c11180f..29c11180f 100644
--- a/graphics/pokemon/front_pics/rayquaza_still_front_pic.png
+++ b/graphics/pokemon/rayquaza/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/rayquaza_icon.png b/graphics/pokemon/rayquaza/icon.png
index 65844ebf7..65844ebf7 100644
--- a/graphics/pokemon/icons/rayquaza_icon.png
+++ b/graphics/pokemon/rayquaza/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/rayquaza_palette.pal b/graphics/pokemon/rayquaza/normal.pal
index 651b1b9b1..651b1b9b1 100644
--- a/graphics/pokemon/palettes/rayquaza_palette.pal
+++ b/graphics/pokemon/rayquaza/normal.pal
diff --git a/graphics/pokemon/palettes/rayquaza_shiny_palette.pal b/graphics/pokemon/rayquaza/shiny.pal
index c294fa7ca..c294fa7ca 100644
--- a/graphics/pokemon/palettes/rayquaza_shiny_palette.pal
+++ b/graphics/pokemon/rayquaza/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/regice_front_pic.png b/graphics/pokemon/regice/anim_front.png
index e8a38b575..e8a38b575 100644
--- a/graphics/pokemon/anim_front_pics/regice_front_pic.png
+++ b/graphics/pokemon/regice/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/regice_back_pic.png b/graphics/pokemon/regice/back.png
index 69b091437..69b091437 100644
--- a/graphics/pokemon/back_pics/regice_back_pic.png
+++ b/graphics/pokemon/regice/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/regice_footprint.png b/graphics/pokemon/regice/footprint.png
index 6965dbe60..6965dbe60 100644
--- a/graphics/pokemon/footprints/regice_footprint.png
+++ b/graphics/pokemon/regice/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/regice_still_front_pic.png b/graphics/pokemon/regice/front.png
index 022a3a855..022a3a855 100644
--- a/graphics/pokemon/front_pics/regice_still_front_pic.png
+++ b/graphics/pokemon/regice/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/regice_icon.png b/graphics/pokemon/regice/icon.png
index 46b07b3aa..46b07b3aa 100644
--- a/graphics/pokemon/icons/regice_icon.png
+++ b/graphics/pokemon/regice/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/regice_palette.pal b/graphics/pokemon/regice/normal.pal
index 2d599438d..2d599438d 100644
--- a/graphics/pokemon/palettes/regice_palette.pal
+++ b/graphics/pokemon/regice/normal.pal
diff --git a/graphics/pokemon/palettes/regice_shiny_palette.pal b/graphics/pokemon/regice/shiny.pal
index 0c3dc8a37..0c3dc8a37 100644
--- a/graphics/pokemon/palettes/regice_shiny_palette.pal
+++ b/graphics/pokemon/regice/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/regirock_front_pic.png b/graphics/pokemon/regirock/anim_front.png
index e278efd82..e278efd82 100644
--- a/graphics/pokemon/anim_front_pics/regirock_front_pic.png
+++ b/graphics/pokemon/regirock/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/regirock_back_pic.png b/graphics/pokemon/regirock/back.png
index 7175fc90a..7175fc90a 100644
--- a/graphics/pokemon/back_pics/regirock_back_pic.png
+++ b/graphics/pokemon/regirock/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/regirock_footprint.png b/graphics/pokemon/regirock/footprint.png
index 44da2a57f..44da2a57f 100644
--- a/graphics/pokemon/footprints/regirock_footprint.png
+++ b/graphics/pokemon/regirock/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/regirock_still_front_pic.png b/graphics/pokemon/regirock/front.png
index 9e179079a..9e179079a 100644
--- a/graphics/pokemon/front_pics/regirock_still_front_pic.png
+++ b/graphics/pokemon/regirock/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/regirock_icon.png b/graphics/pokemon/regirock/icon.png
index e69836744..e69836744 100644
--- a/graphics/pokemon/icons/regirock_icon.png
+++ b/graphics/pokemon/regirock/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/regirock_palette.pal b/graphics/pokemon/regirock/normal.pal
index f577420cb..f577420cb 100644
--- a/graphics/pokemon/palettes/regirock_palette.pal
+++ b/graphics/pokemon/regirock/normal.pal
diff --git a/graphics/pokemon/palettes/regirock_shiny_palette.pal b/graphics/pokemon/regirock/shiny.pal
index b997589cc..b997589cc 100644
--- a/graphics/pokemon/palettes/regirock_shiny_palette.pal
+++ b/graphics/pokemon/regirock/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/registeel_front_pic.png b/graphics/pokemon/registeel/anim_front.png
index 17ddf8ff1..17ddf8ff1 100644
--- a/graphics/pokemon/anim_front_pics/registeel_front_pic.png
+++ b/graphics/pokemon/registeel/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/registeel_back_pic.png b/graphics/pokemon/registeel/back.png
index 233240d45..233240d45 100644
--- a/graphics/pokemon/back_pics/registeel_back_pic.png
+++ b/graphics/pokemon/registeel/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/registeel_footprint.png b/graphics/pokemon/registeel/footprint.png
index e191faabc..e191faabc 100644
--- a/graphics/pokemon/footprints/registeel_footprint.png
+++ b/graphics/pokemon/registeel/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/registeel_still_front_pic.png b/graphics/pokemon/registeel/front.png
index d7fe7e101..d7fe7e101 100644
--- a/graphics/pokemon/front_pics/registeel_still_front_pic.png
+++ b/graphics/pokemon/registeel/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/registeel_icon.png b/graphics/pokemon/registeel/icon.png
index 5a8cd3d19..5a8cd3d19 100644
--- a/graphics/pokemon/icons/registeel_icon.png
+++ b/graphics/pokemon/registeel/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/registeel_palette.pal b/graphics/pokemon/registeel/normal.pal
index 9d7d328f4..9d7d328f4 100644
--- a/graphics/pokemon/palettes/registeel_palette.pal
+++ b/graphics/pokemon/registeel/normal.pal
diff --git a/graphics/pokemon/palettes/registeel_shiny_palette.pal b/graphics/pokemon/registeel/shiny.pal
index e0489363a..e0489363a 100644
--- a/graphics/pokemon/palettes/registeel_shiny_palette.pal
+++ b/graphics/pokemon/registeel/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/relicanth_front_pic.png b/graphics/pokemon/relicanth/anim_front.png
index 3a6216ed7..3a6216ed7 100644
--- a/graphics/pokemon/anim_front_pics/relicanth_front_pic.png
+++ b/graphics/pokemon/relicanth/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/relicanth_back_pic.png b/graphics/pokemon/relicanth/back.png
index c9ae2e572..c9ae2e572 100644
--- a/graphics/pokemon/back_pics/relicanth_back_pic.png
+++ b/graphics/pokemon/relicanth/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/relicanth_footprint.png b/graphics/pokemon/relicanth/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/relicanth_footprint.png
+++ b/graphics/pokemon/relicanth/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/relicanth_still_front_pic.png b/graphics/pokemon/relicanth/front.png
index 41886e9e2..41886e9e2 100644
--- a/graphics/pokemon/front_pics/relicanth_still_front_pic.png
+++ b/graphics/pokemon/relicanth/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/relicanth_icon.png b/graphics/pokemon/relicanth/icon.png
index da17eec33..da17eec33 100644
--- a/graphics/pokemon/icons/relicanth_icon.png
+++ b/graphics/pokemon/relicanth/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/relicanth_palette.pal b/graphics/pokemon/relicanth/normal.pal
index 2a95fb3cb..2a95fb3cb 100644
--- a/graphics/pokemon/palettes/relicanth_palette.pal
+++ b/graphics/pokemon/relicanth/normal.pal
diff --git a/graphics/pokemon/palettes/relicanth_shiny_palette.pal b/graphics/pokemon/relicanth/shiny.pal
index 3c3780470..3c3780470 100644
--- a/graphics/pokemon/palettes/relicanth_shiny_palette.pal
+++ b/graphics/pokemon/relicanth/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/remoraid_front_pic.png b/graphics/pokemon/remoraid/anim_front.png
index 73b643b99..73b643b99 100644
--- a/graphics/pokemon/anim_front_pics/remoraid_front_pic.png
+++ b/graphics/pokemon/remoraid/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/remoraid_back_pic.png b/graphics/pokemon/remoraid/back.png
index 22e48fa6d..22e48fa6d 100644
--- a/graphics/pokemon/back_pics/remoraid_back_pic.png
+++ b/graphics/pokemon/remoraid/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/remoraid_footprint.png b/graphics/pokemon/remoraid/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/remoraid_footprint.png
+++ b/graphics/pokemon/remoraid/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/remoraid_still_front_pic.png b/graphics/pokemon/remoraid/front.png
index b80e2af89..b80e2af89 100644
--- a/graphics/pokemon/front_pics/remoraid_still_front_pic.png
+++ b/graphics/pokemon/remoraid/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/remoraid_icon.png b/graphics/pokemon/remoraid/icon.png
index efbe4ace3..efbe4ace3 100644
--- a/graphics/pokemon/icons/remoraid_icon.png
+++ b/graphics/pokemon/remoraid/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/remoraid_palette.pal b/graphics/pokemon/remoraid/normal.pal
index 4d8f3326c..4d8f3326c 100644
--- a/graphics/pokemon/palettes/remoraid_palette.pal
+++ b/graphics/pokemon/remoraid/normal.pal
diff --git a/graphics/pokemon/palettes/remoraid_shiny_palette.pal b/graphics/pokemon/remoraid/shiny.pal
index b9fd05014..b9fd05014 100644
--- a/graphics/pokemon/palettes/remoraid_shiny_palette.pal
+++ b/graphics/pokemon/remoraid/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/rhydon_front_pic.png b/graphics/pokemon/rhydon/anim_front.png
index 6f1f5fda9..6f1f5fda9 100644
--- a/graphics/pokemon/anim_front_pics/rhydon_front_pic.png
+++ b/graphics/pokemon/rhydon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/rhydon_back_pic.png b/graphics/pokemon/rhydon/back.png
index 4acc986ba..4acc986ba 100644
--- a/graphics/pokemon/back_pics/rhydon_back_pic.png
+++ b/graphics/pokemon/rhydon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/rhydon_footprint.png b/graphics/pokemon/rhydon/footprint.png
index df6d8fced..df6d8fced 100644
--- a/graphics/pokemon/footprints/rhydon_footprint.png
+++ b/graphics/pokemon/rhydon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/rhydon_still_front_pic.png b/graphics/pokemon/rhydon/front.png
index cd57b4728..cd57b4728 100644
--- a/graphics/pokemon/front_pics/rhydon_still_front_pic.png
+++ b/graphics/pokemon/rhydon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/rhydon_icon.png b/graphics/pokemon/rhydon/icon.png
index 3bf633680..3bf633680 100644
--- a/graphics/pokemon/icons/rhydon_icon.png
+++ b/graphics/pokemon/rhydon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/rhydon_palette.pal b/graphics/pokemon/rhydon/normal.pal
index 1874d9eb7..1874d9eb7 100644
--- a/graphics/pokemon/palettes/rhydon_palette.pal
+++ b/graphics/pokemon/rhydon/normal.pal
diff --git a/graphics/pokemon/palettes/rhydon_shiny_palette.pal b/graphics/pokemon/rhydon/shiny.pal
index 1e71e3ac5..1e71e3ac5 100644
--- a/graphics/pokemon/palettes/rhydon_shiny_palette.pal
+++ b/graphics/pokemon/rhydon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/rhyhorn_front_pic.png b/graphics/pokemon/rhyhorn/anim_front.png
index eb62ec8a0..eb62ec8a0 100644
--- a/graphics/pokemon/anim_front_pics/rhyhorn_front_pic.png
+++ b/graphics/pokemon/rhyhorn/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/rhyhorn_back_pic.png b/graphics/pokemon/rhyhorn/back.png
index 67d006205..67d006205 100644
--- a/graphics/pokemon/back_pics/rhyhorn_back_pic.png
+++ b/graphics/pokemon/rhyhorn/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/rhyhorn_footprint.png b/graphics/pokemon/rhyhorn/footprint.png
index 632b753c2..632b753c2 100644
--- a/graphics/pokemon/footprints/rhyhorn_footprint.png
+++ b/graphics/pokemon/rhyhorn/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/rhyhorn_still_front_pic.png b/graphics/pokemon/rhyhorn/front.png
index a1140944d..a1140944d 100644
--- a/graphics/pokemon/front_pics/rhyhorn_still_front_pic.png
+++ b/graphics/pokemon/rhyhorn/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/rhyhorn_icon.png b/graphics/pokemon/rhyhorn/icon.png
index 03bb348e7..03bb348e7 100644
--- a/graphics/pokemon/icons/rhyhorn_icon.png
+++ b/graphics/pokemon/rhyhorn/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/rhyhorn_palette.pal b/graphics/pokemon/rhyhorn/normal.pal
index bf720235e..bf720235e 100644
--- a/graphics/pokemon/palettes/rhyhorn_palette.pal
+++ b/graphics/pokemon/rhyhorn/normal.pal
diff --git a/graphics/pokemon/palettes/rhyhorn_shiny_palette.pal b/graphics/pokemon/rhyhorn/shiny.pal
index 64280c939..64280c939 100644
--- a/graphics/pokemon/palettes/rhyhorn_shiny_palette.pal
+++ b/graphics/pokemon/rhyhorn/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/roselia_front_pic.png b/graphics/pokemon/roselia/anim_front.png
index 0b9cfdf0b..0b9cfdf0b 100644
--- a/graphics/pokemon/anim_front_pics/roselia_front_pic.png
+++ b/graphics/pokemon/roselia/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/roselia_back_pic.png b/graphics/pokemon/roselia/back.png
index 5275c801d..5275c801d 100644
--- a/graphics/pokemon/back_pics/roselia_back_pic.png
+++ b/graphics/pokemon/roselia/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/roselia_footprint.png b/graphics/pokemon/roselia/footprint.png
index bedf2ab69..bedf2ab69 100644
--- a/graphics/pokemon/footprints/roselia_footprint.png
+++ b/graphics/pokemon/roselia/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/roselia_still_front_pic.png b/graphics/pokemon/roselia/front.png
index d018ba658..d018ba658 100644
--- a/graphics/pokemon/front_pics/roselia_still_front_pic.png
+++ b/graphics/pokemon/roselia/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/roselia_icon.png b/graphics/pokemon/roselia/icon.png
index fc63c9644..fc63c9644 100644
--- a/graphics/pokemon/icons/roselia_icon.png
+++ b/graphics/pokemon/roselia/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/roselia_palette.pal b/graphics/pokemon/roselia/normal.pal
index a96e5081c..a96e5081c 100644
--- a/graphics/pokemon/palettes/roselia_palette.pal
+++ b/graphics/pokemon/roselia/normal.pal
diff --git a/graphics/pokemon/palettes/roselia_shiny_palette.pal b/graphics/pokemon/roselia/shiny.pal
index eebb104af..eebb104af 100644
--- a/graphics/pokemon/palettes/roselia_shiny_palette.pal
+++ b/graphics/pokemon/roselia/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/sableye_front_pic.png b/graphics/pokemon/sableye/anim_front.png
index 3b70ec40f..3b70ec40f 100644
--- a/graphics/pokemon/anim_front_pics/sableye_front_pic.png
+++ b/graphics/pokemon/sableye/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/sableye_back_pic.png b/graphics/pokemon/sableye/back.png
index 75c12743c..75c12743c 100644
--- a/graphics/pokemon/back_pics/sableye_back_pic.png
+++ b/graphics/pokemon/sableye/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/sableye_footprint.png b/graphics/pokemon/sableye/footprint.png
index 204d8da54..204d8da54 100644
--- a/graphics/pokemon/footprints/sableye_footprint.png
+++ b/graphics/pokemon/sableye/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/sableye_still_front_pic.png b/graphics/pokemon/sableye/front.png
index 5004a61ec..5004a61ec 100644
--- a/graphics/pokemon/front_pics/sableye_still_front_pic.png
+++ b/graphics/pokemon/sableye/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/sableye_icon.png b/graphics/pokemon/sableye/icon.png
index e8ac1307e..e8ac1307e 100644
--- a/graphics/pokemon/icons/sableye_icon.png
+++ b/graphics/pokemon/sableye/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/sableye_palette.pal b/graphics/pokemon/sableye/normal.pal
index 89a2bed0a..89a2bed0a 100644
--- a/graphics/pokemon/palettes/sableye_palette.pal
+++ b/graphics/pokemon/sableye/normal.pal
diff --git a/graphics/pokemon/palettes/sableye_shiny_palette.pal b/graphics/pokemon/sableye/shiny.pal
index 8b03a2efe..8b03a2efe 100644
--- a/graphics/pokemon/palettes/sableye_shiny_palette.pal
+++ b/graphics/pokemon/sableye/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/salamence_front_pic.png b/graphics/pokemon/salamence/anim_front.png
index 7d1af0efb..7d1af0efb 100644
--- a/graphics/pokemon/anim_front_pics/salamence_front_pic.png
+++ b/graphics/pokemon/salamence/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/salamence_back_pic.png b/graphics/pokemon/salamence/back.png
index 748147e77..748147e77 100644
--- a/graphics/pokemon/back_pics/salamence_back_pic.png
+++ b/graphics/pokemon/salamence/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/salamence_footprint.png b/graphics/pokemon/salamence/footprint.png
index 2440a370f..2440a370f 100644
--- a/graphics/pokemon/footprints/salamence_footprint.png
+++ b/graphics/pokemon/salamence/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/salamence_still_front_pic.png b/graphics/pokemon/salamence/front.png
index 97db0937c..97db0937c 100644
--- a/graphics/pokemon/front_pics/salamence_still_front_pic.png
+++ b/graphics/pokemon/salamence/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/salamence_icon.png b/graphics/pokemon/salamence/icon.png
index b4c925502..b4c925502 100644
--- a/graphics/pokemon/icons/salamence_icon.png
+++ b/graphics/pokemon/salamence/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/salamence_palette.pal b/graphics/pokemon/salamence/normal.pal
index 8ee78691f..8ee78691f 100644
--- a/graphics/pokemon/palettes/salamence_palette.pal
+++ b/graphics/pokemon/salamence/normal.pal
diff --git a/graphics/pokemon/palettes/salamence_shiny_palette.pal b/graphics/pokemon/salamence/shiny.pal
index bf2da08f2..bf2da08f2 100644
--- a/graphics/pokemon/palettes/salamence_shiny_palette.pal
+++ b/graphics/pokemon/salamence/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/sandshrew_front_pic.png b/graphics/pokemon/sandshrew/anim_front.png
index 8382009fd..8382009fd 100644
--- a/graphics/pokemon/anim_front_pics/sandshrew_front_pic.png
+++ b/graphics/pokemon/sandshrew/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/sandshrew_back_pic.png b/graphics/pokemon/sandshrew/back.png
index 86fa10ec8..86fa10ec8 100644
--- a/graphics/pokemon/back_pics/sandshrew_back_pic.png
+++ b/graphics/pokemon/sandshrew/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/sandshrew_footprint.png b/graphics/pokemon/sandshrew/footprint.png
index 481de0993..481de0993 100644
--- a/graphics/pokemon/footprints/sandshrew_footprint.png
+++ b/graphics/pokemon/sandshrew/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/sandshrew_still_front_pic.png b/graphics/pokemon/sandshrew/front.png
index e63f71814..e63f71814 100644
--- a/graphics/pokemon/front_pics/sandshrew_still_front_pic.png
+++ b/graphics/pokemon/sandshrew/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/sandshrew_icon.png b/graphics/pokemon/sandshrew/icon.png
index 5919f1095..5919f1095 100644
--- a/graphics/pokemon/icons/sandshrew_icon.png
+++ b/graphics/pokemon/sandshrew/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/sandshrew_palette.pal b/graphics/pokemon/sandshrew/normal.pal
index 5f537b591..5f537b591 100644
--- a/graphics/pokemon/palettes/sandshrew_palette.pal
+++ b/graphics/pokemon/sandshrew/normal.pal
diff --git a/graphics/pokemon/palettes/sandshrew_shiny_palette.pal b/graphics/pokemon/sandshrew/shiny.pal
index ce7877a66..ce7877a66 100644
--- a/graphics/pokemon/palettes/sandshrew_shiny_palette.pal
+++ b/graphics/pokemon/sandshrew/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/sandslash_front_pic.png b/graphics/pokemon/sandslash/anim_front.png
index b71e3bc7d..b71e3bc7d 100644
--- a/graphics/pokemon/anim_front_pics/sandslash_front_pic.png
+++ b/graphics/pokemon/sandslash/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/sandslash_back_pic.png b/graphics/pokemon/sandslash/back.png
index 64c305047..64c305047 100644
--- a/graphics/pokemon/back_pics/sandslash_back_pic.png
+++ b/graphics/pokemon/sandslash/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/sandslash_footprint.png b/graphics/pokemon/sandslash/footprint.png
index 431ca99be..431ca99be 100644
--- a/graphics/pokemon/footprints/sandslash_footprint.png
+++ b/graphics/pokemon/sandslash/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/sandslash_still_front_pic.png b/graphics/pokemon/sandslash/front.png
index f8090078a..f8090078a 100644
--- a/graphics/pokemon/front_pics/sandslash_still_front_pic.png
+++ b/graphics/pokemon/sandslash/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/sandslash_icon.png b/graphics/pokemon/sandslash/icon.png
index 08198e6b2..08198e6b2 100644
--- a/graphics/pokemon/icons/sandslash_icon.png
+++ b/graphics/pokemon/sandslash/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/sandslash_palette.pal b/graphics/pokemon/sandslash/normal.pal
index a9122fbf6..a9122fbf6 100644
--- a/graphics/pokemon/palettes/sandslash_palette.pal
+++ b/graphics/pokemon/sandslash/normal.pal
diff --git a/graphics/pokemon/palettes/sandslash_shiny_palette.pal b/graphics/pokemon/sandslash/shiny.pal
index 8d1cca9b2..8d1cca9b2 100644
--- a/graphics/pokemon/palettes/sandslash_shiny_palette.pal
+++ b/graphics/pokemon/sandslash/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/sceptile_front_pic.png b/graphics/pokemon/sceptile/anim_front.png
index 74473e2e5..74473e2e5 100644
--- a/graphics/pokemon/anim_front_pics/sceptile_front_pic.png
+++ b/graphics/pokemon/sceptile/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/sceptile_back_pic.png b/graphics/pokemon/sceptile/back.png
index 5b7e8696e..5b7e8696e 100644
--- a/graphics/pokemon/back_pics/sceptile_back_pic.png
+++ b/graphics/pokemon/sceptile/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/sceptile_footprint.png b/graphics/pokemon/sceptile/footprint.png
index 1958a4778..1958a4778 100644
--- a/graphics/pokemon/footprints/sceptile_footprint.png
+++ b/graphics/pokemon/sceptile/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/sceptile_still_front_pic.png b/graphics/pokemon/sceptile/front.png
index f6ce3a054..f6ce3a054 100644
--- a/graphics/pokemon/front_pics/sceptile_still_front_pic.png
+++ b/graphics/pokemon/sceptile/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/sceptile_icon.png b/graphics/pokemon/sceptile/icon.png
index d144941e0..d144941e0 100644
--- a/graphics/pokemon/icons/sceptile_icon.png
+++ b/graphics/pokemon/sceptile/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/sceptile_palette.pal b/graphics/pokemon/sceptile/normal.pal
index 31f822b0c..31f822b0c 100644
--- a/graphics/pokemon/palettes/sceptile_palette.pal
+++ b/graphics/pokemon/sceptile/normal.pal
diff --git a/graphics/pokemon/palettes/sceptile_shiny_palette.pal b/graphics/pokemon/sceptile/shiny.pal
index 9a6882bf4..9a6882bf4 100644
--- a/graphics/pokemon/palettes/sceptile_shiny_palette.pal
+++ b/graphics/pokemon/sceptile/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/scizor_front_pic.png b/graphics/pokemon/scizor/anim_front.png
index 9005f3438..9005f3438 100644
--- a/graphics/pokemon/anim_front_pics/scizor_front_pic.png
+++ b/graphics/pokemon/scizor/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/scizor_back_pic.png b/graphics/pokemon/scizor/back.png
index b31f50da1..b31f50da1 100644
--- a/graphics/pokemon/back_pics/scizor_back_pic.png
+++ b/graphics/pokemon/scizor/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/scizor_footprint.png b/graphics/pokemon/scizor/footprint.png
index 00824374a..00824374a 100644
--- a/graphics/pokemon/footprints/scizor_footprint.png
+++ b/graphics/pokemon/scizor/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/scizor_still_front_pic.png b/graphics/pokemon/scizor/front.png
index 33bdef332..33bdef332 100644
--- a/graphics/pokemon/front_pics/scizor_still_front_pic.png
+++ b/graphics/pokemon/scizor/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/scizor_icon.png b/graphics/pokemon/scizor/icon.png
index 0a8667832..0a8667832 100644
--- a/graphics/pokemon/icons/scizor_icon.png
+++ b/graphics/pokemon/scizor/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/scizor_palette.pal b/graphics/pokemon/scizor/normal.pal
index a9310feae..a9310feae 100644
--- a/graphics/pokemon/palettes/scizor_palette.pal
+++ b/graphics/pokemon/scizor/normal.pal
diff --git a/graphics/pokemon/palettes/scizor_shiny_palette.pal b/graphics/pokemon/scizor/shiny.pal
index 93e8e479b..93e8e479b 100644
--- a/graphics/pokemon/palettes/scizor_shiny_palette.pal
+++ b/graphics/pokemon/scizor/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/scyther_front_pic.png b/graphics/pokemon/scyther/anim_front.png
index 90b7ad4a8..90b7ad4a8 100644
--- a/graphics/pokemon/anim_front_pics/scyther_front_pic.png
+++ b/graphics/pokemon/scyther/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/scyther_back_pic.png b/graphics/pokemon/scyther/back.png
index a1b9d1591..a1b9d1591 100644
--- a/graphics/pokemon/back_pics/scyther_back_pic.png
+++ b/graphics/pokemon/scyther/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/scyther_footprint.png b/graphics/pokemon/scyther/footprint.png
index c6b773028..c6b773028 100644
--- a/graphics/pokemon/footprints/scyther_footprint.png
+++ b/graphics/pokemon/scyther/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/scyther_still_front_pic.png b/graphics/pokemon/scyther/front.png
index c8420f5a9..c8420f5a9 100644
--- a/graphics/pokemon/front_pics/scyther_still_front_pic.png
+++ b/graphics/pokemon/scyther/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/scyther_icon.png b/graphics/pokemon/scyther/icon.png
index 62f94bba6..62f94bba6 100644
--- a/graphics/pokemon/icons/scyther_icon.png
+++ b/graphics/pokemon/scyther/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/scyther_palette.pal b/graphics/pokemon/scyther/normal.pal
index 8678b0bc3..8678b0bc3 100644
--- a/graphics/pokemon/palettes/scyther_palette.pal
+++ b/graphics/pokemon/scyther/normal.pal
diff --git a/graphics/pokemon/palettes/scyther_shiny_palette.pal b/graphics/pokemon/scyther/shiny.pal
index 131fff636..131fff636 100644
--- a/graphics/pokemon/palettes/scyther_shiny_palette.pal
+++ b/graphics/pokemon/scyther/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/seadra_front_pic.png b/graphics/pokemon/seadra/anim_front.png
index c9fc064a4..c9fc064a4 100644
--- a/graphics/pokemon/anim_front_pics/seadra_front_pic.png
+++ b/graphics/pokemon/seadra/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/seadra_back_pic.png b/graphics/pokemon/seadra/back.png
index 526d7495c..526d7495c 100644
--- a/graphics/pokemon/back_pics/seadra_back_pic.png
+++ b/graphics/pokemon/seadra/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/seadra_footprint.png b/graphics/pokemon/seadra/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/seadra_footprint.png
+++ b/graphics/pokemon/seadra/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/seadra_still_front_pic.png b/graphics/pokemon/seadra/front.png
index 4fbd64d88..4fbd64d88 100644
--- a/graphics/pokemon/front_pics/seadra_still_front_pic.png
+++ b/graphics/pokemon/seadra/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/seadra_icon.png b/graphics/pokemon/seadra/icon.png
index f85ea2f32..f85ea2f32 100644
--- a/graphics/pokemon/icons/seadra_icon.png
+++ b/graphics/pokemon/seadra/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/seadra_palette.pal b/graphics/pokemon/seadra/normal.pal
index e29e999bf..e29e999bf 100644
--- a/graphics/pokemon/palettes/seadra_palette.pal
+++ b/graphics/pokemon/seadra/normal.pal
diff --git a/graphics/pokemon/palettes/seadra_shiny_palette.pal b/graphics/pokemon/seadra/shiny.pal
index 7cb7cbb5f..7cb7cbb5f 100644
--- a/graphics/pokemon/palettes/seadra_shiny_palette.pal
+++ b/graphics/pokemon/seadra/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/seaking_front_pic.png b/graphics/pokemon/seaking/anim_front.png
index 242f2b65f..242f2b65f 100644
--- a/graphics/pokemon/anim_front_pics/seaking_front_pic.png
+++ b/graphics/pokemon/seaking/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/seaking_back_pic.png b/graphics/pokemon/seaking/back.png
index eb3fbd661..eb3fbd661 100644
--- a/graphics/pokemon/back_pics/seaking_back_pic.png
+++ b/graphics/pokemon/seaking/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/seaking_footprint.png b/graphics/pokemon/seaking/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/seaking_footprint.png
+++ b/graphics/pokemon/seaking/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/seaking_still_front_pic.png b/graphics/pokemon/seaking/front.png
index b5cb55a8e..b5cb55a8e 100644
--- a/graphics/pokemon/front_pics/seaking_still_front_pic.png
+++ b/graphics/pokemon/seaking/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/seaking_icon.png b/graphics/pokemon/seaking/icon.png
index 7c3bcaec1..7c3bcaec1 100644
--- a/graphics/pokemon/icons/seaking_icon.png
+++ b/graphics/pokemon/seaking/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/seaking_palette.pal b/graphics/pokemon/seaking/normal.pal
index 1ffe314f4..1ffe314f4 100644
--- a/graphics/pokemon/palettes/seaking_palette.pal
+++ b/graphics/pokemon/seaking/normal.pal
diff --git a/graphics/pokemon/palettes/seaking_shiny_palette.pal b/graphics/pokemon/seaking/shiny.pal
index 2a4acb23d..2a4acb23d 100644
--- a/graphics/pokemon/palettes/seaking_shiny_palette.pal
+++ b/graphics/pokemon/seaking/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/sealeo_front_pic.png b/graphics/pokemon/sealeo/anim_front.png
index 01d8371a6..01d8371a6 100644
--- a/graphics/pokemon/anim_front_pics/sealeo_front_pic.png
+++ b/graphics/pokemon/sealeo/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/sealeo_back_pic.png b/graphics/pokemon/sealeo/back.png
index 302ffb7f2..302ffb7f2 100644
--- a/graphics/pokemon/back_pics/sealeo_back_pic.png
+++ b/graphics/pokemon/sealeo/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/sealeo_footprint.png b/graphics/pokemon/sealeo/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/sealeo_footprint.png
+++ b/graphics/pokemon/sealeo/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/sealeo_still_front_pic.png b/graphics/pokemon/sealeo/front.png
index 920a190d0..920a190d0 100644
--- a/graphics/pokemon/front_pics/sealeo_still_front_pic.png
+++ b/graphics/pokemon/sealeo/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/sealeo_icon.png b/graphics/pokemon/sealeo/icon.png
index 2d21e8837..2d21e8837 100644
--- a/graphics/pokemon/icons/sealeo_icon.png
+++ b/graphics/pokemon/sealeo/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/sealeo_palette.pal b/graphics/pokemon/sealeo/normal.pal
index 6644440c0..6644440c0 100644
--- a/graphics/pokemon/palettes/sealeo_palette.pal
+++ b/graphics/pokemon/sealeo/normal.pal
diff --git a/graphics/pokemon/palettes/sealeo_shiny_palette.pal b/graphics/pokemon/sealeo/shiny.pal
index df4474877..df4474877 100644
--- a/graphics/pokemon/palettes/sealeo_shiny_palette.pal
+++ b/graphics/pokemon/sealeo/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/seedot_front_pic.png b/graphics/pokemon/seedot/anim_front.png
index 95007fb3f..95007fb3f 100644
--- a/graphics/pokemon/anim_front_pics/seedot_front_pic.png
+++ b/graphics/pokemon/seedot/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/seedot_back_pic.png b/graphics/pokemon/seedot/back.png
index ee4017cf5..ee4017cf5 100644
--- a/graphics/pokemon/back_pics/seedot_back_pic.png
+++ b/graphics/pokemon/seedot/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/seedot_footprint.png b/graphics/pokemon/seedot/footprint.png
index 9b41f13ed..9b41f13ed 100644
--- a/graphics/pokemon/footprints/seedot_footprint.png
+++ b/graphics/pokemon/seedot/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/seedot_still_front_pic.png b/graphics/pokemon/seedot/front.png
index 6be5868e6..6be5868e6 100644
--- a/graphics/pokemon/front_pics/seedot_still_front_pic.png
+++ b/graphics/pokemon/seedot/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/seedot_icon.png b/graphics/pokemon/seedot/icon.png
index 500a49d47..500a49d47 100644
--- a/graphics/pokemon/icons/seedot_icon.png
+++ b/graphics/pokemon/seedot/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/seedot_palette.pal b/graphics/pokemon/seedot/normal.pal
index 0fc33bf9b..0fc33bf9b 100644
--- a/graphics/pokemon/palettes/seedot_palette.pal
+++ b/graphics/pokemon/seedot/normal.pal
diff --git a/graphics/pokemon/palettes/seedot_shiny_palette.pal b/graphics/pokemon/seedot/shiny.pal
index 0cd33d0c1..0cd33d0c1 100644
--- a/graphics/pokemon/palettes/seedot_shiny_palette.pal
+++ b/graphics/pokemon/seedot/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/seel_front_pic.png b/graphics/pokemon/seel/anim_front.png
index 37495db71..37495db71 100644
--- a/graphics/pokemon/anim_front_pics/seel_front_pic.png
+++ b/graphics/pokemon/seel/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/seel_back_pic.png b/graphics/pokemon/seel/back.png
index 5268657f5..5268657f5 100644
--- a/graphics/pokemon/back_pics/seel_back_pic.png
+++ b/graphics/pokemon/seel/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/seel_footprint.png b/graphics/pokemon/seel/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/seel_footprint.png
+++ b/graphics/pokemon/seel/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/seel_still_front_pic.png b/graphics/pokemon/seel/front.png
index b06cb7dd7..b06cb7dd7 100644
--- a/graphics/pokemon/front_pics/seel_still_front_pic.png
+++ b/graphics/pokemon/seel/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/seel_icon.png b/graphics/pokemon/seel/icon.png
index 9000021e9..9000021e9 100644
--- a/graphics/pokemon/icons/seel_icon.png
+++ b/graphics/pokemon/seel/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/seel_palette.pal b/graphics/pokemon/seel/normal.pal
index bc38b44e5..bc38b44e5 100644
--- a/graphics/pokemon/palettes/seel_palette.pal
+++ b/graphics/pokemon/seel/normal.pal
diff --git a/graphics/pokemon/palettes/seel_shiny_palette.pal b/graphics/pokemon/seel/shiny.pal
index 952eec318..952eec318 100644
--- a/graphics/pokemon/palettes/seel_shiny_palette.pal
+++ b/graphics/pokemon/seel/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/sentret_front_pic.png b/graphics/pokemon/sentret/anim_front.png
index b1c9ec22c..b1c9ec22c 100644
--- a/graphics/pokemon/anim_front_pics/sentret_front_pic.png
+++ b/graphics/pokemon/sentret/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/sentret_back_pic.png b/graphics/pokemon/sentret/back.png
index 97ef90a8d..97ef90a8d 100644
--- a/graphics/pokemon/back_pics/sentret_back_pic.png
+++ b/graphics/pokemon/sentret/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/sentret_footprint.png b/graphics/pokemon/sentret/footprint.png
index 49ab94c0b..49ab94c0b 100644
--- a/graphics/pokemon/footprints/sentret_footprint.png
+++ b/graphics/pokemon/sentret/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/sentret_still_front_pic.png b/graphics/pokemon/sentret/front.png
index eb3032ade..eb3032ade 100644
--- a/graphics/pokemon/front_pics/sentret_still_front_pic.png
+++ b/graphics/pokemon/sentret/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/sentret_icon.png b/graphics/pokemon/sentret/icon.png
index 560b38d44..560b38d44 100644
--- a/graphics/pokemon/icons/sentret_icon.png
+++ b/graphics/pokemon/sentret/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/sentret_palette.pal b/graphics/pokemon/sentret/normal.pal
index 5591d8f1b..5591d8f1b 100644
--- a/graphics/pokemon/palettes/sentret_palette.pal
+++ b/graphics/pokemon/sentret/normal.pal
diff --git a/graphics/pokemon/palettes/sentret_shiny_palette.pal b/graphics/pokemon/sentret/shiny.pal
index 05c9da6f7..05c9da6f7 100644
--- a/graphics/pokemon/palettes/sentret_shiny_palette.pal
+++ b/graphics/pokemon/sentret/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/seviper_front_pic.png b/graphics/pokemon/seviper/anim_front.png
index 5aafb8002..5aafb8002 100644
--- a/graphics/pokemon/anim_front_pics/seviper_front_pic.png
+++ b/graphics/pokemon/seviper/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/seviper_back_pic.png b/graphics/pokemon/seviper/back.png
index b9849a6fa..b9849a6fa 100644
--- a/graphics/pokemon/back_pics/seviper_back_pic.png
+++ b/graphics/pokemon/seviper/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/seviper_footprint.png b/graphics/pokemon/seviper/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/seviper_footprint.png
+++ b/graphics/pokemon/seviper/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/seviper_still_front_pic.png b/graphics/pokemon/seviper/front.png
index 41635e5fb..41635e5fb 100644
--- a/graphics/pokemon/front_pics/seviper_still_front_pic.png
+++ b/graphics/pokemon/seviper/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/seviper_icon.png b/graphics/pokemon/seviper/icon.png
index ce751ce33..ce751ce33 100644
--- a/graphics/pokemon/icons/seviper_icon.png
+++ b/graphics/pokemon/seviper/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/seviper_palette.pal b/graphics/pokemon/seviper/normal.pal
index bdcc5e761..bdcc5e761 100644
--- a/graphics/pokemon/palettes/seviper_palette.pal
+++ b/graphics/pokemon/seviper/normal.pal
diff --git a/graphics/pokemon/palettes/seviper_shiny_palette.pal b/graphics/pokemon/seviper/shiny.pal
index 7296a030a..7296a030a 100644
--- a/graphics/pokemon/palettes/seviper_shiny_palette.pal
+++ b/graphics/pokemon/seviper/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/sharpedo_front_pic.png b/graphics/pokemon/sharpedo/anim_front.png
index 644b5331b..644b5331b 100644
--- a/graphics/pokemon/anim_front_pics/sharpedo_front_pic.png
+++ b/graphics/pokemon/sharpedo/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/sharpedo_back_pic.png b/graphics/pokemon/sharpedo/back.png
index 4e011968b..4e011968b 100644
--- a/graphics/pokemon/back_pics/sharpedo_back_pic.png
+++ b/graphics/pokemon/sharpedo/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/sharpedo_footprint.png b/graphics/pokemon/sharpedo/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/sharpedo_footprint.png
+++ b/graphics/pokemon/sharpedo/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/sharpedo_still_front_pic.png b/graphics/pokemon/sharpedo/front.png
index 65d1182c0..65d1182c0 100644
--- a/graphics/pokemon/front_pics/sharpedo_still_front_pic.png
+++ b/graphics/pokemon/sharpedo/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/sharpedo_icon.png b/graphics/pokemon/sharpedo/icon.png
index d8dbc26b2..d8dbc26b2 100644
--- a/graphics/pokemon/icons/sharpedo_icon.png
+++ b/graphics/pokemon/sharpedo/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/sharpedo_palette.pal b/graphics/pokemon/sharpedo/normal.pal
index 3db40a601..3db40a601 100644
--- a/graphics/pokemon/palettes/sharpedo_palette.pal
+++ b/graphics/pokemon/sharpedo/normal.pal
diff --git a/graphics/pokemon/palettes/sharpedo_shiny_palette.pal b/graphics/pokemon/sharpedo/shiny.pal
index 11b98e3bd..11b98e3bd 100644
--- a/graphics/pokemon/palettes/sharpedo_shiny_palette.pal
+++ b/graphics/pokemon/sharpedo/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/shedinja_front_pic.png b/graphics/pokemon/shedinja/anim_front.png
index e21ca56ce..e21ca56ce 100644
--- a/graphics/pokemon/anim_front_pics/shedinja_front_pic.png
+++ b/graphics/pokemon/shedinja/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/shedinja_back_pic.png b/graphics/pokemon/shedinja/back.png
index bb3a5be7d..bb3a5be7d 100644
--- a/graphics/pokemon/back_pics/shedinja_back_pic.png
+++ b/graphics/pokemon/shedinja/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/shedinja_footprint.png b/graphics/pokemon/shedinja/footprint.png
index d4118d5e6..d4118d5e6 100644
--- a/graphics/pokemon/footprints/shedinja_footprint.png
+++ b/graphics/pokemon/shedinja/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/shedinja_still_front_pic.png b/graphics/pokemon/shedinja/front.png
index 06c47ea9c..06c47ea9c 100644
--- a/graphics/pokemon/front_pics/shedinja_still_front_pic.png
+++ b/graphics/pokemon/shedinja/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/shedinja_icon.png b/graphics/pokemon/shedinja/icon.png
index 9f400e338..9f400e338 100644
--- a/graphics/pokemon/icons/shedinja_icon.png
+++ b/graphics/pokemon/shedinja/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/shedinja_palette.pal b/graphics/pokemon/shedinja/normal.pal
index 1e1eefe6b..1e1eefe6b 100644
--- a/graphics/pokemon/palettes/shedinja_palette.pal
+++ b/graphics/pokemon/shedinja/normal.pal
diff --git a/graphics/pokemon/palettes/shedinja_shiny_palette.pal b/graphics/pokemon/shedinja/shiny.pal
index 7e7ae66bd..7e7ae66bd 100644
--- a/graphics/pokemon/palettes/shedinja_shiny_palette.pal
+++ b/graphics/pokemon/shedinja/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/shelgon_front_pic.png b/graphics/pokemon/shelgon/anim_front.png
index 062ccf3a1..062ccf3a1 100644
--- a/graphics/pokemon/anim_front_pics/shelgon_front_pic.png
+++ b/graphics/pokemon/shelgon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/shelgon_back_pic.png b/graphics/pokemon/shelgon/back.png
index 9c87ad57c..9c87ad57c 100644
--- a/graphics/pokemon/back_pics/shelgon_back_pic.png
+++ b/graphics/pokemon/shelgon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/shelgon_footprint.png b/graphics/pokemon/shelgon/footprint.png
index e2d61b9bc..e2d61b9bc 100644
--- a/graphics/pokemon/footprints/shelgon_footprint.png
+++ b/graphics/pokemon/shelgon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/shelgon_still_front_pic.png b/graphics/pokemon/shelgon/front.png
index c9474977e..c9474977e 100644
--- a/graphics/pokemon/front_pics/shelgon_still_front_pic.png
+++ b/graphics/pokemon/shelgon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/shelgon_icon.png b/graphics/pokemon/shelgon/icon.png
index 76e0c6a1f..76e0c6a1f 100644
--- a/graphics/pokemon/icons/shelgon_icon.png
+++ b/graphics/pokemon/shelgon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/shelgon_palette.pal b/graphics/pokemon/shelgon/normal.pal
index a5abe063e..a5abe063e 100644
--- a/graphics/pokemon/palettes/shelgon_palette.pal
+++ b/graphics/pokemon/shelgon/normal.pal
diff --git a/graphics/pokemon/palettes/shelgon_shiny_palette.pal b/graphics/pokemon/shelgon/shiny.pal
index 3d1e1a361..3d1e1a361 100644
--- a/graphics/pokemon/palettes/shelgon_shiny_palette.pal
+++ b/graphics/pokemon/shelgon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/shellder_front_pic.png b/graphics/pokemon/shellder/anim_front.png
index 99cbf9875..99cbf9875 100644
--- a/graphics/pokemon/anim_front_pics/shellder_front_pic.png
+++ b/graphics/pokemon/shellder/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/shellder_back_pic.png b/graphics/pokemon/shellder/back.png
index ee5374333..ee5374333 100644
--- a/graphics/pokemon/back_pics/shellder_back_pic.png
+++ b/graphics/pokemon/shellder/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/shellder_footprint.png b/graphics/pokemon/shellder/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/shellder_footprint.png
+++ b/graphics/pokemon/shellder/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/shellder_still_front_pic.png b/graphics/pokemon/shellder/front.png
index 7b4a6ccc6..7b4a6ccc6 100644
--- a/graphics/pokemon/front_pics/shellder_still_front_pic.png
+++ b/graphics/pokemon/shellder/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/shellder_icon.png b/graphics/pokemon/shellder/icon.png
index 36ad59dfa..36ad59dfa 100644
--- a/graphics/pokemon/icons/shellder_icon.png
+++ b/graphics/pokemon/shellder/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/shellder_palette.pal b/graphics/pokemon/shellder/normal.pal
index a7c916549..a7c916549 100644
--- a/graphics/pokemon/palettes/shellder_palette.pal
+++ b/graphics/pokemon/shellder/normal.pal
diff --git a/graphics/pokemon/palettes/shellder_shiny_palette.pal b/graphics/pokemon/shellder/shiny.pal
index 20f597524..20f597524 100644
--- a/graphics/pokemon/palettes/shellder_shiny_palette.pal
+++ b/graphics/pokemon/shellder/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/shiftry_front_pic.png b/graphics/pokemon/shiftry/anim_front.png
index 70eb97348..70eb97348 100644
--- a/graphics/pokemon/anim_front_pics/shiftry_front_pic.png
+++ b/graphics/pokemon/shiftry/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/shiftry_back_pic.png b/graphics/pokemon/shiftry/back.png
index 17ddb24ca..17ddb24ca 100644
--- a/graphics/pokemon/back_pics/shiftry_back_pic.png
+++ b/graphics/pokemon/shiftry/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/shiftry_footprint.png b/graphics/pokemon/shiftry/footprint.png
index 3ea82a3da..3ea82a3da 100644
--- a/graphics/pokemon/footprints/shiftry_footprint.png
+++ b/graphics/pokemon/shiftry/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/shiftry_still_front_pic.png b/graphics/pokemon/shiftry/front.png
index 580c248b7..580c248b7 100644
--- a/graphics/pokemon/front_pics/shiftry_still_front_pic.png
+++ b/graphics/pokemon/shiftry/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/shiftry_icon.png b/graphics/pokemon/shiftry/icon.png
index c10fa772d..c10fa772d 100644
--- a/graphics/pokemon/icons/shiftry_icon.png
+++ b/graphics/pokemon/shiftry/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/shiftry_palette.pal b/graphics/pokemon/shiftry/normal.pal
index 3a91e677c..3a91e677c 100644
--- a/graphics/pokemon/palettes/shiftry_palette.pal
+++ b/graphics/pokemon/shiftry/normal.pal
diff --git a/graphics/pokemon/palettes/shiftry_shiny_palette.pal b/graphics/pokemon/shiftry/shiny.pal
index 35aca99d4..35aca99d4 100644
--- a/graphics/pokemon/palettes/shiftry_shiny_palette.pal
+++ b/graphics/pokemon/shiftry/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/shroomish_front_pic.png b/graphics/pokemon/shroomish/anim_front.png
index df403cca3..df403cca3 100644
--- a/graphics/pokemon/anim_front_pics/shroomish_front_pic.png
+++ b/graphics/pokemon/shroomish/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/shroomish_back_pic.png b/graphics/pokemon/shroomish/back.png
index 4812bcbcd..4812bcbcd 100644
--- a/graphics/pokemon/back_pics/shroomish_back_pic.png
+++ b/graphics/pokemon/shroomish/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/shroomish_footprint.png b/graphics/pokemon/shroomish/footprint.png
index d3a5986ce..d3a5986ce 100644
--- a/graphics/pokemon/footprints/shroomish_footprint.png
+++ b/graphics/pokemon/shroomish/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/shroomish_still_front_pic.png b/graphics/pokemon/shroomish/front.png
index 0ebe8ca06..0ebe8ca06 100644
--- a/graphics/pokemon/front_pics/shroomish_still_front_pic.png
+++ b/graphics/pokemon/shroomish/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/shroomish_icon.png b/graphics/pokemon/shroomish/icon.png
index 87dd12060..87dd12060 100644
--- a/graphics/pokemon/icons/shroomish_icon.png
+++ b/graphics/pokemon/shroomish/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/shroomish_palette.pal b/graphics/pokemon/shroomish/normal.pal
index 97f25bdf6..97f25bdf6 100644
--- a/graphics/pokemon/palettes/shroomish_palette.pal
+++ b/graphics/pokemon/shroomish/normal.pal
diff --git a/graphics/pokemon/palettes/shroomish_shiny_palette.pal b/graphics/pokemon/shroomish/shiny.pal
index a0bd12821..a0bd12821 100644
--- a/graphics/pokemon/palettes/shroomish_shiny_palette.pal
+++ b/graphics/pokemon/shroomish/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/shuckle_front_pic.png b/graphics/pokemon/shuckle/anim_front.png
index 74251deb0..74251deb0 100644
--- a/graphics/pokemon/anim_front_pics/shuckle_front_pic.png
+++ b/graphics/pokemon/shuckle/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/shuckle_back_pic.png b/graphics/pokemon/shuckle/back.png
index 1b19db0e5..1b19db0e5 100644
--- a/graphics/pokemon/back_pics/shuckle_back_pic.png
+++ b/graphics/pokemon/shuckle/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/shuckle_footprint.png b/graphics/pokemon/shuckle/footprint.png
index e26b60bcd..e26b60bcd 100644
--- a/graphics/pokemon/footprints/shuckle_footprint.png
+++ b/graphics/pokemon/shuckle/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/shuckle_still_front_pic.png b/graphics/pokemon/shuckle/front.png
index 1747fe5e7..1747fe5e7 100644
--- a/graphics/pokemon/front_pics/shuckle_still_front_pic.png
+++ b/graphics/pokemon/shuckle/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/shuckle_icon.png b/graphics/pokemon/shuckle/icon.png
index aaf49345a..aaf49345a 100644
--- a/graphics/pokemon/icons/shuckle_icon.png
+++ b/graphics/pokemon/shuckle/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/shuckle_palette.pal b/graphics/pokemon/shuckle/normal.pal
index ea40c0be4..ea40c0be4 100644
--- a/graphics/pokemon/palettes/shuckle_palette.pal
+++ b/graphics/pokemon/shuckle/normal.pal
diff --git a/graphics/pokemon/palettes/shuckle_shiny_palette.pal b/graphics/pokemon/shuckle/shiny.pal
index 30126f57c..30126f57c 100644
--- a/graphics/pokemon/palettes/shuckle_shiny_palette.pal
+++ b/graphics/pokemon/shuckle/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/shuppet_front_pic.png b/graphics/pokemon/shuppet/anim_front.png
index 00629578f..00629578f 100644
--- a/graphics/pokemon/anim_front_pics/shuppet_front_pic.png
+++ b/graphics/pokemon/shuppet/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/shuppet_back_pic.png b/graphics/pokemon/shuppet/back.png
index 2c6dbdb18..2c6dbdb18 100644
--- a/graphics/pokemon/back_pics/shuppet_back_pic.png
+++ b/graphics/pokemon/shuppet/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/shuppet_footprint.png b/graphics/pokemon/shuppet/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/shuppet_footprint.png
+++ b/graphics/pokemon/shuppet/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/shuppet_still_front_pic.png b/graphics/pokemon/shuppet/front.png
index 9b63e2640..9b63e2640 100644
--- a/graphics/pokemon/front_pics/shuppet_still_front_pic.png
+++ b/graphics/pokemon/shuppet/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/shuppet_icon.png b/graphics/pokemon/shuppet/icon.png
index 6e7087efd..6e7087efd 100644
--- a/graphics/pokemon/icons/shuppet_icon.png
+++ b/graphics/pokemon/shuppet/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/shuppet_palette.pal b/graphics/pokemon/shuppet/normal.pal
index 7dafb6a01..7dafb6a01 100644
--- a/graphics/pokemon/palettes/shuppet_palette.pal
+++ b/graphics/pokemon/shuppet/normal.pal
diff --git a/graphics/pokemon/palettes/shuppet_shiny_palette.pal b/graphics/pokemon/shuppet/shiny.pal
index 9d5557a71..9d5557a71 100644
--- a/graphics/pokemon/palettes/shuppet_shiny_palette.pal
+++ b/graphics/pokemon/shuppet/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/silcoon_front_pic.png b/graphics/pokemon/silcoon/anim_front.png
index a6cc252dc..a6cc252dc 100644
--- a/graphics/pokemon/anim_front_pics/silcoon_front_pic.png
+++ b/graphics/pokemon/silcoon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/silcoon_back_pic.png b/graphics/pokemon/silcoon/back.png
index 26c8cfdaf..26c8cfdaf 100644
--- a/graphics/pokemon/back_pics/silcoon_back_pic.png
+++ b/graphics/pokemon/silcoon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/silcoon_footprint.png b/graphics/pokemon/silcoon/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/silcoon_footprint.png
+++ b/graphics/pokemon/silcoon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/silcoon_still_front_pic.png b/graphics/pokemon/silcoon/front.png
index f416f074d..f416f074d 100644
--- a/graphics/pokemon/front_pics/silcoon_still_front_pic.png
+++ b/graphics/pokemon/silcoon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/silcoon_icon.png b/graphics/pokemon/silcoon/icon.png
index 0b572a20c..0b572a20c 100644
--- a/graphics/pokemon/icons/silcoon_icon.png
+++ b/graphics/pokemon/silcoon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/silcoon_palette.pal b/graphics/pokemon/silcoon/normal.pal
index 2a48849f8..2a48849f8 100644
--- a/graphics/pokemon/palettes/silcoon_palette.pal
+++ b/graphics/pokemon/silcoon/normal.pal
diff --git a/graphics/pokemon/palettes/silcoon_shiny_palette.pal b/graphics/pokemon/silcoon/shiny.pal
index db9e98b7a..db9e98b7a 100644
--- a/graphics/pokemon/palettes/silcoon_shiny_palette.pal
+++ b/graphics/pokemon/silcoon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/skarmory_front_pic.png b/graphics/pokemon/skarmory/anim_front.png
index b0883329c..b0883329c 100644
--- a/graphics/pokemon/anim_front_pics/skarmory_front_pic.png
+++ b/graphics/pokemon/skarmory/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/skarmory_back_pic.png b/graphics/pokemon/skarmory/back.png
index f3c8d95cc..f3c8d95cc 100644
--- a/graphics/pokemon/back_pics/skarmory_back_pic.png
+++ b/graphics/pokemon/skarmory/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/skarmory_footprint.png b/graphics/pokemon/skarmory/footprint.png
index 1134fec29..1134fec29 100644
--- a/graphics/pokemon/footprints/skarmory_footprint.png
+++ b/graphics/pokemon/skarmory/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/skarmory_still_front_pic.png b/graphics/pokemon/skarmory/front.png
index 06ce4420f..06ce4420f 100644
--- a/graphics/pokemon/front_pics/skarmory_still_front_pic.png
+++ b/graphics/pokemon/skarmory/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/skarmory_icon.png b/graphics/pokemon/skarmory/icon.png
index 1eb310654..1eb310654 100644
--- a/graphics/pokemon/icons/skarmory_icon.png
+++ b/graphics/pokemon/skarmory/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/skarmory_palette.pal b/graphics/pokemon/skarmory/normal.pal
index d4662ab92..d4662ab92 100644
--- a/graphics/pokemon/palettes/skarmory_palette.pal
+++ b/graphics/pokemon/skarmory/normal.pal
diff --git a/graphics/pokemon/palettes/skarmory_shiny_palette.pal b/graphics/pokemon/skarmory/shiny.pal
index 561324c82..561324c82 100644
--- a/graphics/pokemon/palettes/skarmory_shiny_palette.pal
+++ b/graphics/pokemon/skarmory/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/skiploom_front_pic.png b/graphics/pokemon/skiploom/anim_front.png
index a2955bdd6..a2955bdd6 100644
--- a/graphics/pokemon/anim_front_pics/skiploom_front_pic.png
+++ b/graphics/pokemon/skiploom/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/skiploom_back_pic.png b/graphics/pokemon/skiploom/back.png
index 8f010fb4f..8f010fb4f 100644
--- a/graphics/pokemon/back_pics/skiploom_back_pic.png
+++ b/graphics/pokemon/skiploom/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/skiploom_footprint.png b/graphics/pokemon/skiploom/footprint.png
index efa7f5034..efa7f5034 100644
--- a/graphics/pokemon/footprints/skiploom_footprint.png
+++ b/graphics/pokemon/skiploom/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/skiploom_still_front_pic.png b/graphics/pokemon/skiploom/front.png
index 0efc78f1d..0efc78f1d 100644
--- a/graphics/pokemon/front_pics/skiploom_still_front_pic.png
+++ b/graphics/pokemon/skiploom/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/skiploom_icon.png b/graphics/pokemon/skiploom/icon.png
index 90c0c8e7c..90c0c8e7c 100644
--- a/graphics/pokemon/icons/skiploom_icon.png
+++ b/graphics/pokemon/skiploom/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/skiploom_palette.pal b/graphics/pokemon/skiploom/normal.pal
index 15fcce8e5..15fcce8e5 100644
--- a/graphics/pokemon/palettes/skiploom_palette.pal
+++ b/graphics/pokemon/skiploom/normal.pal
diff --git a/graphics/pokemon/palettes/skiploom_shiny_palette.pal b/graphics/pokemon/skiploom/shiny.pal
index 2dedaa30e..2dedaa30e 100644
--- a/graphics/pokemon/palettes/skiploom_shiny_palette.pal
+++ b/graphics/pokemon/skiploom/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/skitty_front_pic.png b/graphics/pokemon/skitty/anim_front.png
index 6bd564a90..6bd564a90 100644
--- a/graphics/pokemon/anim_front_pics/skitty_front_pic.png
+++ b/graphics/pokemon/skitty/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/skitty_back_pic.png b/graphics/pokemon/skitty/back.png
index e7f5ebb67..e7f5ebb67 100644
--- a/graphics/pokemon/back_pics/skitty_back_pic.png
+++ b/graphics/pokemon/skitty/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/skitty_footprint.png b/graphics/pokemon/skitty/footprint.png
index 355153dcb..355153dcb 100644
--- a/graphics/pokemon/footprints/skitty_footprint.png
+++ b/graphics/pokemon/skitty/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/skitty_still_front_pic.png b/graphics/pokemon/skitty/front.png
index b0b85cc95..b0b85cc95 100644
--- a/graphics/pokemon/front_pics/skitty_still_front_pic.png
+++ b/graphics/pokemon/skitty/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/skitty_icon.png b/graphics/pokemon/skitty/icon.png
index fb41f1c07..fb41f1c07 100644
--- a/graphics/pokemon/icons/skitty_icon.png
+++ b/graphics/pokemon/skitty/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/skitty_palette.pal b/graphics/pokemon/skitty/normal.pal
index 0a1228191..0a1228191 100644
--- a/graphics/pokemon/palettes/skitty_palette.pal
+++ b/graphics/pokemon/skitty/normal.pal
diff --git a/graphics/pokemon/palettes/skitty_shiny_palette.pal b/graphics/pokemon/skitty/shiny.pal
index d3e9130f3..d3e9130f3 100644
--- a/graphics/pokemon/palettes/skitty_shiny_palette.pal
+++ b/graphics/pokemon/skitty/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/slaking_front_pic.png b/graphics/pokemon/slaking/anim_front.png
index a57d3c092..a57d3c092 100644
--- a/graphics/pokemon/anim_front_pics/slaking_front_pic.png
+++ b/graphics/pokemon/slaking/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/slaking_back_pic.png b/graphics/pokemon/slaking/back.png
index 50d55a957..50d55a957 100644
--- a/graphics/pokemon/back_pics/slaking_back_pic.png
+++ b/graphics/pokemon/slaking/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/slaking_footprint.png b/graphics/pokemon/slaking/footprint.png
index c2c20413b..c2c20413b 100644
--- a/graphics/pokemon/footprints/slaking_footprint.png
+++ b/graphics/pokemon/slaking/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/slaking_still_front_pic.png b/graphics/pokemon/slaking/front.png
index 3ff648701..3ff648701 100644
--- a/graphics/pokemon/front_pics/slaking_still_front_pic.png
+++ b/graphics/pokemon/slaking/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/slaking_icon.png b/graphics/pokemon/slaking/icon.png
index 71b6c7537..71b6c7537 100644
--- a/graphics/pokemon/icons/slaking_icon.png
+++ b/graphics/pokemon/slaking/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/slaking_palette.pal b/graphics/pokemon/slaking/normal.pal
index 84cf081cf..84cf081cf 100644
--- a/graphics/pokemon/palettes/slaking_palette.pal
+++ b/graphics/pokemon/slaking/normal.pal
diff --git a/graphics/pokemon/palettes/slaking_shiny_palette.pal b/graphics/pokemon/slaking/shiny.pal
index 1ec404cf6..1ec404cf6 100644
--- a/graphics/pokemon/palettes/slaking_shiny_palette.pal
+++ b/graphics/pokemon/slaking/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/slakoth_front_pic.png b/graphics/pokemon/slakoth/anim_front.png
index fbbef311a..fbbef311a 100644
--- a/graphics/pokemon/anim_front_pics/slakoth_front_pic.png
+++ b/graphics/pokemon/slakoth/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/slakoth_back_pic.png b/graphics/pokemon/slakoth/back.png
index 9f82930b0..9f82930b0 100644
--- a/graphics/pokemon/back_pics/slakoth_back_pic.png
+++ b/graphics/pokemon/slakoth/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/slakoth_footprint.png b/graphics/pokemon/slakoth/footprint.png
index ec258f41b..ec258f41b 100644
--- a/graphics/pokemon/footprints/slakoth_footprint.png
+++ b/graphics/pokemon/slakoth/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/slakoth_still_front_pic.png b/graphics/pokemon/slakoth/front.png
index 5440669ae..5440669ae 100644
--- a/graphics/pokemon/front_pics/slakoth_still_front_pic.png
+++ b/graphics/pokemon/slakoth/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/slakoth_icon.png b/graphics/pokemon/slakoth/icon.png
index c04ff08a0..c04ff08a0 100644
--- a/graphics/pokemon/icons/slakoth_icon.png
+++ b/graphics/pokemon/slakoth/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/slakoth_palette.pal b/graphics/pokemon/slakoth/normal.pal
index 934fc9ae9..934fc9ae9 100644
--- a/graphics/pokemon/palettes/slakoth_palette.pal
+++ b/graphics/pokemon/slakoth/normal.pal
diff --git a/graphics/pokemon/palettes/slakoth_shiny_palette.pal b/graphics/pokemon/slakoth/shiny.pal
index 4f65ae8e4..4f65ae8e4 100644
--- a/graphics/pokemon/palettes/slakoth_shiny_palette.pal
+++ b/graphics/pokemon/slakoth/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/slowbro_front_pic.png b/graphics/pokemon/slowbro/anim_front.png
index 9bd16e4dc..9bd16e4dc 100644
--- a/graphics/pokemon/anim_front_pics/slowbro_front_pic.png
+++ b/graphics/pokemon/slowbro/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/slowbro_back_pic.png b/graphics/pokemon/slowbro/back.png
index b62c5fcf4..b62c5fcf4 100644
--- a/graphics/pokemon/back_pics/slowbro_back_pic.png
+++ b/graphics/pokemon/slowbro/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/slowbro_footprint.png b/graphics/pokemon/slowbro/footprint.png
index c4f82e405..c4f82e405 100644
--- a/graphics/pokemon/footprints/slowbro_footprint.png
+++ b/graphics/pokemon/slowbro/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/slowbro_still_front_pic.png b/graphics/pokemon/slowbro/front.png
index 020f4d4dc..020f4d4dc 100644
--- a/graphics/pokemon/front_pics/slowbro_still_front_pic.png
+++ b/graphics/pokemon/slowbro/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/slowbro_icon.png b/graphics/pokemon/slowbro/icon.png
index bf7ee6a32..bf7ee6a32 100644
--- a/graphics/pokemon/icons/slowbro_icon.png
+++ b/graphics/pokemon/slowbro/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/slowbro_palette.pal b/graphics/pokemon/slowbro/normal.pal
index 6ae68b376..6ae68b376 100644
--- a/graphics/pokemon/palettes/slowbro_palette.pal
+++ b/graphics/pokemon/slowbro/normal.pal
diff --git a/graphics/pokemon/palettes/slowbro_shiny_palette.pal b/graphics/pokemon/slowbro/shiny.pal
index ad1c1246d..ad1c1246d 100644
--- a/graphics/pokemon/palettes/slowbro_shiny_palette.pal
+++ b/graphics/pokemon/slowbro/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/slowking_front_pic.png b/graphics/pokemon/slowking/anim_front.png
index 378d14e91..378d14e91 100644
--- a/graphics/pokemon/anim_front_pics/slowking_front_pic.png
+++ b/graphics/pokemon/slowking/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/slowking_back_pic.png b/graphics/pokemon/slowking/back.png
index 16a779506..16a779506 100644
--- a/graphics/pokemon/back_pics/slowking_back_pic.png
+++ b/graphics/pokemon/slowking/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/slowking_footprint.png b/graphics/pokemon/slowking/footprint.png
index 52593624a..52593624a 100644
--- a/graphics/pokemon/footprints/slowking_footprint.png
+++ b/graphics/pokemon/slowking/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/slowking_still_front_pic.png b/graphics/pokemon/slowking/front.png
index 11b16a952..11b16a952 100644
--- a/graphics/pokemon/front_pics/slowking_still_front_pic.png
+++ b/graphics/pokemon/slowking/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/slowking_icon.png b/graphics/pokemon/slowking/icon.png
index 04bd1a155..04bd1a155 100644
--- a/graphics/pokemon/icons/slowking_icon.png
+++ b/graphics/pokemon/slowking/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/slowking_palette.pal b/graphics/pokemon/slowking/normal.pal
index c3e452f0d..c3e452f0d 100644
--- a/graphics/pokemon/palettes/slowking_palette.pal
+++ b/graphics/pokemon/slowking/normal.pal
diff --git a/graphics/pokemon/palettes/slowking_shiny_palette.pal b/graphics/pokemon/slowking/shiny.pal
index 55ae2a1ee..55ae2a1ee 100644
--- a/graphics/pokemon/palettes/slowking_shiny_palette.pal
+++ b/graphics/pokemon/slowking/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/slowpoke_front_pic.png b/graphics/pokemon/slowpoke/anim_front.png
index 5eae03871..5eae03871 100644
--- a/graphics/pokemon/anim_front_pics/slowpoke_front_pic.png
+++ b/graphics/pokemon/slowpoke/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/slowpoke_back_pic.png b/graphics/pokemon/slowpoke/back.png
index 62bf72f0e..62bf72f0e 100644
--- a/graphics/pokemon/back_pics/slowpoke_back_pic.png
+++ b/graphics/pokemon/slowpoke/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/slowpoke_footprint.png b/graphics/pokemon/slowpoke/footprint.png
index a66ebbc32..a66ebbc32 100644
--- a/graphics/pokemon/footprints/slowpoke_footprint.png
+++ b/graphics/pokemon/slowpoke/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/slowpoke_still_front_pic.png b/graphics/pokemon/slowpoke/front.png
index f526344d2..f526344d2 100644
--- a/graphics/pokemon/front_pics/slowpoke_still_front_pic.png
+++ b/graphics/pokemon/slowpoke/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/slowpoke_icon.png b/graphics/pokemon/slowpoke/icon.png
index cc3123e14..cc3123e14 100644
--- a/graphics/pokemon/icons/slowpoke_icon.png
+++ b/graphics/pokemon/slowpoke/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/slowpoke_palette.pal b/graphics/pokemon/slowpoke/normal.pal
index 4b3e369dd..4b3e369dd 100644
--- a/graphics/pokemon/palettes/slowpoke_palette.pal
+++ b/graphics/pokemon/slowpoke/normal.pal
diff --git a/graphics/pokemon/palettes/slowpoke_shiny_palette.pal b/graphics/pokemon/slowpoke/shiny.pal
index 628e4153a..628e4153a 100644
--- a/graphics/pokemon/palettes/slowpoke_shiny_palette.pal
+++ b/graphics/pokemon/slowpoke/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/slugma_front_pic.png b/graphics/pokemon/slugma/anim_front.png
index dd2747f5b..dd2747f5b 100644
--- a/graphics/pokemon/anim_front_pics/slugma_front_pic.png
+++ b/graphics/pokemon/slugma/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/slugma_back_pic.png b/graphics/pokemon/slugma/back.png
index 347d27ed1..347d27ed1 100644
--- a/graphics/pokemon/back_pics/slugma_back_pic.png
+++ b/graphics/pokemon/slugma/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/slugma_footprint.png b/graphics/pokemon/slugma/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/slugma_footprint.png
+++ b/graphics/pokemon/slugma/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/slugma_still_front_pic.png b/graphics/pokemon/slugma/front.png
index 4b27af3fc..4b27af3fc 100644
--- a/graphics/pokemon/front_pics/slugma_still_front_pic.png
+++ b/graphics/pokemon/slugma/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/slugma_icon.png b/graphics/pokemon/slugma/icon.png
index d954c6f68..d954c6f68 100644
--- a/graphics/pokemon/icons/slugma_icon.png
+++ b/graphics/pokemon/slugma/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/slugma_palette.pal b/graphics/pokemon/slugma/normal.pal
index 081ae47dc..081ae47dc 100644
--- a/graphics/pokemon/palettes/slugma_palette.pal
+++ b/graphics/pokemon/slugma/normal.pal
diff --git a/graphics/pokemon/palettes/slugma_shiny_palette.pal b/graphics/pokemon/slugma/shiny.pal
index 85babdbe1..85babdbe1 100644
--- a/graphics/pokemon/palettes/slugma_shiny_palette.pal
+++ b/graphics/pokemon/slugma/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/smeargle_front_pic.png b/graphics/pokemon/smeargle/anim_front.png
index 20db180b8..20db180b8 100644
--- a/graphics/pokemon/anim_front_pics/smeargle_front_pic.png
+++ b/graphics/pokemon/smeargle/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/smeargle_back_pic.png b/graphics/pokemon/smeargle/back.png
index fefbed16f..fefbed16f 100644
--- a/graphics/pokemon/back_pics/smeargle_back_pic.png
+++ b/graphics/pokemon/smeargle/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/smeargle_footprint.png b/graphics/pokemon/smeargle/footprint.png
index b946130cd..b946130cd 100644
--- a/graphics/pokemon/footprints/smeargle_footprint.png
+++ b/graphics/pokemon/smeargle/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/smeargle_still_front_pic.png b/graphics/pokemon/smeargle/front.png
index 91c400395..91c400395 100644
--- a/graphics/pokemon/front_pics/smeargle_still_front_pic.png
+++ b/graphics/pokemon/smeargle/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/smeargle_icon.png b/graphics/pokemon/smeargle/icon.png
index 54b387b05..54b387b05 100644
--- a/graphics/pokemon/icons/smeargle_icon.png
+++ b/graphics/pokemon/smeargle/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/smeargle_palette.pal b/graphics/pokemon/smeargle/normal.pal
index 068322e3e..068322e3e 100644
--- a/graphics/pokemon/palettes/smeargle_palette.pal
+++ b/graphics/pokemon/smeargle/normal.pal
diff --git a/graphics/pokemon/palettes/smeargle_shiny_palette.pal b/graphics/pokemon/smeargle/shiny.pal
index f5f50de2d..f5f50de2d 100644
--- a/graphics/pokemon/palettes/smeargle_shiny_palette.pal
+++ b/graphics/pokemon/smeargle/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/smoochum_front_pic.png b/graphics/pokemon/smoochum/anim_front.png
index 9f2fcea05..9f2fcea05 100644
--- a/graphics/pokemon/anim_front_pics/smoochum_front_pic.png
+++ b/graphics/pokemon/smoochum/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/smoochum_back_pic.png b/graphics/pokemon/smoochum/back.png
index bad0422e5..bad0422e5 100644
--- a/graphics/pokemon/back_pics/smoochum_back_pic.png
+++ b/graphics/pokemon/smoochum/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/smoochum_footprint.png b/graphics/pokemon/smoochum/footprint.png
index e901d9334..e901d9334 100644
--- a/graphics/pokemon/footprints/smoochum_footprint.png
+++ b/graphics/pokemon/smoochum/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/smoochum_still_front_pic.png b/graphics/pokemon/smoochum/front.png
index 608841600..608841600 100644
--- a/graphics/pokemon/front_pics/smoochum_still_front_pic.png
+++ b/graphics/pokemon/smoochum/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/smoochum_icon.png b/graphics/pokemon/smoochum/icon.png
index 11f1e6fe7..11f1e6fe7 100644
--- a/graphics/pokemon/icons/smoochum_icon.png
+++ b/graphics/pokemon/smoochum/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/smoochum_palette.pal b/graphics/pokemon/smoochum/normal.pal
index 722cd4206..722cd4206 100644
--- a/graphics/pokemon/palettes/smoochum_palette.pal
+++ b/graphics/pokemon/smoochum/normal.pal
diff --git a/graphics/pokemon/palettes/smoochum_shiny_palette.pal b/graphics/pokemon/smoochum/shiny.pal
index 00a439312..00a439312 100644
--- a/graphics/pokemon/palettes/smoochum_shiny_palette.pal
+++ b/graphics/pokemon/smoochum/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/sneasel_front_pic.png b/graphics/pokemon/sneasel/anim_front.png
index 38d982338..38d982338 100644
--- a/graphics/pokemon/anim_front_pics/sneasel_front_pic.png
+++ b/graphics/pokemon/sneasel/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/sneasel_back_pic.png b/graphics/pokemon/sneasel/back.png
index 5a0765cb2..5a0765cb2 100644
--- a/graphics/pokemon/back_pics/sneasel_back_pic.png
+++ b/graphics/pokemon/sneasel/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/sneasel_footprint.png b/graphics/pokemon/sneasel/footprint.png
index 2159ef3dc..2159ef3dc 100644
--- a/graphics/pokemon/footprints/sneasel_footprint.png
+++ b/graphics/pokemon/sneasel/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/sneasel_still_front_pic.png b/graphics/pokemon/sneasel/front.png
index 704489419..704489419 100644
--- a/graphics/pokemon/front_pics/sneasel_still_front_pic.png
+++ b/graphics/pokemon/sneasel/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/sneasel_icon.png b/graphics/pokemon/sneasel/icon.png
index 95eb3e66d..95eb3e66d 100644
--- a/graphics/pokemon/icons/sneasel_icon.png
+++ b/graphics/pokemon/sneasel/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/sneasel_palette.pal b/graphics/pokemon/sneasel/normal.pal
index 076fa7300..076fa7300 100644
--- a/graphics/pokemon/palettes/sneasel_palette.pal
+++ b/graphics/pokemon/sneasel/normal.pal
diff --git a/graphics/pokemon/palettes/sneasel_shiny_palette.pal b/graphics/pokemon/sneasel/shiny.pal
index 64a502ce6..64a502ce6 100644
--- a/graphics/pokemon/palettes/sneasel_shiny_palette.pal
+++ b/graphics/pokemon/sneasel/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/snorlax_front_pic.png b/graphics/pokemon/snorlax/anim_front.png
index e23e6b52d..e23e6b52d 100644
--- a/graphics/pokemon/anim_front_pics/snorlax_front_pic.png
+++ b/graphics/pokemon/snorlax/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/snorlax_back_pic.png b/graphics/pokemon/snorlax/back.png
index da44b95aa..da44b95aa 100644
--- a/graphics/pokemon/back_pics/snorlax_back_pic.png
+++ b/graphics/pokemon/snorlax/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/snorlax_footprint.png b/graphics/pokemon/snorlax/footprint.png
index d3d25c4bc..d3d25c4bc 100644
--- a/graphics/pokemon/footprints/snorlax_footprint.png
+++ b/graphics/pokemon/snorlax/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/snorlax_still_front_pic.png b/graphics/pokemon/snorlax/front.png
index 7e4b4f009..7e4b4f009 100644
--- a/graphics/pokemon/front_pics/snorlax_still_front_pic.png
+++ b/graphics/pokemon/snorlax/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/snorlax_icon.png b/graphics/pokemon/snorlax/icon.png
index 00a74b6ac..00a74b6ac 100644
--- a/graphics/pokemon/icons/snorlax_icon.png
+++ b/graphics/pokemon/snorlax/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/snorlax_palette.pal b/graphics/pokemon/snorlax/normal.pal
index aa61fc9e4..aa61fc9e4 100644
--- a/graphics/pokemon/palettes/snorlax_palette.pal
+++ b/graphics/pokemon/snorlax/normal.pal
diff --git a/graphics/pokemon/palettes/snorlax_shiny_palette.pal b/graphics/pokemon/snorlax/shiny.pal
index 8528d0924..8528d0924 100644
--- a/graphics/pokemon/palettes/snorlax_shiny_palette.pal
+++ b/graphics/pokemon/snorlax/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/snorunt_front_pic.png b/graphics/pokemon/snorunt/anim_front.png
index 6ced11d08..6ced11d08 100644
--- a/graphics/pokemon/anim_front_pics/snorunt_front_pic.png
+++ b/graphics/pokemon/snorunt/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/snorunt_back_pic.png b/graphics/pokemon/snorunt/back.png
index 53ddf9fdc..53ddf9fdc 100644
--- a/graphics/pokemon/back_pics/snorunt_back_pic.png
+++ b/graphics/pokemon/snorunt/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/snorunt_footprint.png b/graphics/pokemon/snorunt/footprint.png
index 14277b506..14277b506 100644
--- a/graphics/pokemon/footprints/snorunt_footprint.png
+++ b/graphics/pokemon/snorunt/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/snorunt_still_front_pic.png b/graphics/pokemon/snorunt/front.png
index bf18fb9fa..bf18fb9fa 100644
--- a/graphics/pokemon/front_pics/snorunt_still_front_pic.png
+++ b/graphics/pokemon/snorunt/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/snorunt_icon.png b/graphics/pokemon/snorunt/icon.png
index 2710b9a0a..2710b9a0a 100644
--- a/graphics/pokemon/icons/snorunt_icon.png
+++ b/graphics/pokemon/snorunt/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/snorunt_palette.pal b/graphics/pokemon/snorunt/normal.pal
index 25d137458..25d137458 100644
--- a/graphics/pokemon/palettes/snorunt_palette.pal
+++ b/graphics/pokemon/snorunt/normal.pal
diff --git a/graphics/pokemon/palettes/snorunt_shiny_palette.pal b/graphics/pokemon/snorunt/shiny.pal
index b483a219f..b483a219f 100644
--- a/graphics/pokemon/palettes/snorunt_shiny_palette.pal
+++ b/graphics/pokemon/snorunt/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/snubbull_front_pic.png b/graphics/pokemon/snubbull/anim_front.png
index bffc3a2ef..bffc3a2ef 100644
--- a/graphics/pokemon/anim_front_pics/snubbull_front_pic.png
+++ b/graphics/pokemon/snubbull/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/snubbull_back_pic.png b/graphics/pokemon/snubbull/back.png
index 2b212b708..2b212b708 100644
--- a/graphics/pokemon/back_pics/snubbull_back_pic.png
+++ b/graphics/pokemon/snubbull/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/snubbull_footprint.png b/graphics/pokemon/snubbull/footprint.png
index 443847cdd..443847cdd 100644
--- a/graphics/pokemon/footprints/snubbull_footprint.png
+++ b/graphics/pokemon/snubbull/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/snubbull_still_front_pic.png b/graphics/pokemon/snubbull/front.png
index 86c602d49..86c602d49 100644
--- a/graphics/pokemon/front_pics/snubbull_still_front_pic.png
+++ b/graphics/pokemon/snubbull/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/snubbull_icon.png b/graphics/pokemon/snubbull/icon.png
index 80f9b1288..80f9b1288 100644
--- a/graphics/pokemon/icons/snubbull_icon.png
+++ b/graphics/pokemon/snubbull/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/snubbull_palette.pal b/graphics/pokemon/snubbull/normal.pal
index dea1ea530..dea1ea530 100644
--- a/graphics/pokemon/palettes/snubbull_palette.pal
+++ b/graphics/pokemon/snubbull/normal.pal
diff --git a/graphics/pokemon/palettes/snubbull_shiny_palette.pal b/graphics/pokemon/snubbull/shiny.pal
index 5dcc2957d..5dcc2957d 100644
--- a/graphics/pokemon/palettes/snubbull_shiny_palette.pal
+++ b/graphics/pokemon/snubbull/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/solrock_front_pic.png b/graphics/pokemon/solrock/anim_front.png
index 84bdfae74..84bdfae74 100644
--- a/graphics/pokemon/anim_front_pics/solrock_front_pic.png
+++ b/graphics/pokemon/solrock/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/solrock_back_pic.png b/graphics/pokemon/solrock/back.png
index 2f6e7cb99..2f6e7cb99 100644
--- a/graphics/pokemon/back_pics/solrock_back_pic.png
+++ b/graphics/pokemon/solrock/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/solrock_footprint.png b/graphics/pokemon/solrock/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/solrock_footprint.png
+++ b/graphics/pokemon/solrock/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/solrock_still_front_pic.png b/graphics/pokemon/solrock/front.png
index d0fe58533..d0fe58533 100644
--- a/graphics/pokemon/front_pics/solrock_still_front_pic.png
+++ b/graphics/pokemon/solrock/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/solrock_icon.png b/graphics/pokemon/solrock/icon.png
index f9e689424..f9e689424 100644
--- a/graphics/pokemon/icons/solrock_icon.png
+++ b/graphics/pokemon/solrock/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/solrock_palette.pal b/graphics/pokemon/solrock/normal.pal
index 315f49dd3..315f49dd3 100644
--- a/graphics/pokemon/palettes/solrock_palette.pal
+++ b/graphics/pokemon/solrock/normal.pal
diff --git a/graphics/pokemon/palettes/solrock_shiny_palette.pal b/graphics/pokemon/solrock/shiny.pal
index 9de01aa0b..9de01aa0b 100644
--- a/graphics/pokemon/palettes/solrock_shiny_palette.pal
+++ b/graphics/pokemon/solrock/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/spearow_front_pic.png b/graphics/pokemon/spearow/anim_front.png
index 4283ba2d6..4283ba2d6 100644
--- a/graphics/pokemon/anim_front_pics/spearow_front_pic.png
+++ b/graphics/pokemon/spearow/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/spearow_back_pic.png b/graphics/pokemon/spearow/back.png
index b630f24e0..b630f24e0 100644
--- a/graphics/pokemon/back_pics/spearow_back_pic.png
+++ b/graphics/pokemon/spearow/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/spearow_footprint.png b/graphics/pokemon/spearow/footprint.png
index 6fe6e4282..6fe6e4282 100644
--- a/graphics/pokemon/footprints/spearow_footprint.png
+++ b/graphics/pokemon/spearow/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/spearow_still_front_pic.png b/graphics/pokemon/spearow/front.png
index 10d35504a..10d35504a 100644
--- a/graphics/pokemon/front_pics/spearow_still_front_pic.png
+++ b/graphics/pokemon/spearow/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/spearow_icon.png b/graphics/pokemon/spearow/icon.png
index a88db9927..a88db9927 100644
--- a/graphics/pokemon/icons/spearow_icon.png
+++ b/graphics/pokemon/spearow/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/spearow_palette.pal b/graphics/pokemon/spearow/normal.pal
index de6c4ce1c..de6c4ce1c 100644
--- a/graphics/pokemon/palettes/spearow_palette.pal
+++ b/graphics/pokemon/spearow/normal.pal
diff --git a/graphics/pokemon/palettes/spearow_shiny_palette.pal b/graphics/pokemon/spearow/shiny.pal
index fd2223485..fd2223485 100644
--- a/graphics/pokemon/palettes/spearow_shiny_palette.pal
+++ b/graphics/pokemon/spearow/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/spheal_front_pic.png b/graphics/pokemon/spheal/anim_front.png
index 0bedf25fd..0bedf25fd 100644
--- a/graphics/pokemon/anim_front_pics/spheal_front_pic.png
+++ b/graphics/pokemon/spheal/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/spheal_back_pic.png b/graphics/pokemon/spheal/back.png
index 6fb9e9443..6fb9e9443 100644
--- a/graphics/pokemon/back_pics/spheal_back_pic.png
+++ b/graphics/pokemon/spheal/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/spheal_footprint.png b/graphics/pokemon/spheal/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/spheal_footprint.png
+++ b/graphics/pokemon/spheal/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/spheal_still_front_pic.png b/graphics/pokemon/spheal/front.png
index f07cf67b5..f07cf67b5 100644
--- a/graphics/pokemon/front_pics/spheal_still_front_pic.png
+++ b/graphics/pokemon/spheal/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/spheal_icon.png b/graphics/pokemon/spheal/icon.png
index fd392e196..fd392e196 100644
--- a/graphics/pokemon/icons/spheal_icon.png
+++ b/graphics/pokemon/spheal/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/spheal_palette.pal b/graphics/pokemon/spheal/normal.pal
index 1fa035c32..1fa035c32 100644
--- a/graphics/pokemon/palettes/spheal_palette.pal
+++ b/graphics/pokemon/spheal/normal.pal
diff --git a/graphics/pokemon/palettes/spheal_shiny_palette.pal b/graphics/pokemon/spheal/shiny.pal
index 14f207301..14f207301 100644
--- a/graphics/pokemon/palettes/spheal_shiny_palette.pal
+++ b/graphics/pokemon/spheal/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/spinarak_front_pic.png b/graphics/pokemon/spinarak/anim_front.png
index e9f611b14..e9f611b14 100644
--- a/graphics/pokemon/anim_front_pics/spinarak_front_pic.png
+++ b/graphics/pokemon/spinarak/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/spinarak_back_pic.png b/graphics/pokemon/spinarak/back.png
index 7c2144971..7c2144971 100644
--- a/graphics/pokemon/back_pics/spinarak_back_pic.png
+++ b/graphics/pokemon/spinarak/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/spinarak_footprint.png b/graphics/pokemon/spinarak/footprint.png
index 6965dbe60..6965dbe60 100644
--- a/graphics/pokemon/footprints/spinarak_footprint.png
+++ b/graphics/pokemon/spinarak/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/spinarak_still_front_pic.png b/graphics/pokemon/spinarak/front.png
index cd525f1c4..cd525f1c4 100644
--- a/graphics/pokemon/front_pics/spinarak_still_front_pic.png
+++ b/graphics/pokemon/spinarak/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/spinarak_icon.png b/graphics/pokemon/spinarak/icon.png
index 54ec8e0fe..54ec8e0fe 100644
--- a/graphics/pokemon/icons/spinarak_icon.png
+++ b/graphics/pokemon/spinarak/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/spinarak_palette.pal b/graphics/pokemon/spinarak/normal.pal
index 0a09982d6..0a09982d6 100644
--- a/graphics/pokemon/palettes/spinarak_palette.pal
+++ b/graphics/pokemon/spinarak/normal.pal
diff --git a/graphics/pokemon/palettes/spinarak_shiny_palette.pal b/graphics/pokemon/spinarak/shiny.pal
index f2aed8e9f..f2aed8e9f 100644
--- a/graphics/pokemon/palettes/spinarak_shiny_palette.pal
+++ b/graphics/pokemon/spinarak/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/spinda_front_pic.png b/graphics/pokemon/spinda/anim_front.png
index 7ddfbef51..7ddfbef51 100644
--- a/graphics/pokemon/anim_front_pics/spinda_front_pic.png
+++ b/graphics/pokemon/spinda/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/spinda_back_pic.png b/graphics/pokemon/spinda/back.png
index c5f699e2c..c5f699e2c 100644
--- a/graphics/pokemon/back_pics/spinda_back_pic.png
+++ b/graphics/pokemon/spinda/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/spinda_footprint.png b/graphics/pokemon/spinda/footprint.png
index 7be943a89..7be943a89 100644
--- a/graphics/pokemon/footprints/spinda_footprint.png
+++ b/graphics/pokemon/spinda/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/spinda_still_front_pic.png b/graphics/pokemon/spinda/front.png
index 4d298366f..4d298366f 100644
--- a/graphics/pokemon/front_pics/spinda_still_front_pic.png
+++ b/graphics/pokemon/spinda/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/spinda_icon.png b/graphics/pokemon/spinda/icon.png
index 75699c7cb..75699c7cb 100644
--- a/graphics/pokemon/icons/spinda_icon.png
+++ b/graphics/pokemon/spinda/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/spinda_palette.pal b/graphics/pokemon/spinda/normal.pal
index 9b0ad5bfc..9b0ad5bfc 100644
--- a/graphics/pokemon/palettes/spinda_palette.pal
+++ b/graphics/pokemon/spinda/normal.pal
diff --git a/graphics/pokemon/palettes/spinda_shiny_palette.pal b/graphics/pokemon/spinda/shiny.pal
index 6aa748129..6aa748129 100644
--- a/graphics/pokemon/palettes/spinda_shiny_palette.pal
+++ b/graphics/pokemon/spinda/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/spoink_front_pic.png b/graphics/pokemon/spoink/anim_front.png
index 8bdf77cbd..8bdf77cbd 100644
--- a/graphics/pokemon/anim_front_pics/spoink_front_pic.png
+++ b/graphics/pokemon/spoink/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/spoink_back_pic.png b/graphics/pokemon/spoink/back.png
index 7872e240c..7872e240c 100644
--- a/graphics/pokemon/back_pics/spoink_back_pic.png
+++ b/graphics/pokemon/spoink/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/spoink_footprint.png b/graphics/pokemon/spoink/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/spoink_footprint.png
+++ b/graphics/pokemon/spoink/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/spoink_still_front_pic.png b/graphics/pokemon/spoink/front.png
index ee4afc1ed..ee4afc1ed 100644
--- a/graphics/pokemon/front_pics/spoink_still_front_pic.png
+++ b/graphics/pokemon/spoink/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/spoink_icon.png b/graphics/pokemon/spoink/icon.png
index 387d0ed00..387d0ed00 100644
--- a/graphics/pokemon/icons/spoink_icon.png
+++ b/graphics/pokemon/spoink/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/spoink_palette.pal b/graphics/pokemon/spoink/normal.pal
index c1891323c..c1891323c 100644
--- a/graphics/pokemon/palettes/spoink_palette.pal
+++ b/graphics/pokemon/spoink/normal.pal
diff --git a/graphics/pokemon/palettes/spoink_shiny_palette.pal b/graphics/pokemon/spoink/shiny.pal
index c8edfafd7..c8edfafd7 100644
--- a/graphics/pokemon/palettes/spoink_shiny_palette.pal
+++ b/graphics/pokemon/spoink/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/squirtle_front_pic.png b/graphics/pokemon/squirtle/anim_front.png
index 403a786ec..403a786ec 100644
--- a/graphics/pokemon/anim_front_pics/squirtle_front_pic.png
+++ b/graphics/pokemon/squirtle/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/squirtle_back_pic.png b/graphics/pokemon/squirtle/back.png
index b2fa0f37b..b2fa0f37b 100644
--- a/graphics/pokemon/back_pics/squirtle_back_pic.png
+++ b/graphics/pokemon/squirtle/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/squirtle_footprint.png b/graphics/pokemon/squirtle/footprint.png
index 696cd6d42..696cd6d42 100644
--- a/graphics/pokemon/footprints/squirtle_footprint.png
+++ b/graphics/pokemon/squirtle/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/squirtle_still_front_pic.png b/graphics/pokemon/squirtle/front.png
index 04d27ede5..04d27ede5 100644
--- a/graphics/pokemon/front_pics/squirtle_still_front_pic.png
+++ b/graphics/pokemon/squirtle/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/squirtle_icon.png b/graphics/pokemon/squirtle/icon.png
index 75a58770f..75a58770f 100644
--- a/graphics/pokemon/icons/squirtle_icon.png
+++ b/graphics/pokemon/squirtle/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/squirtle_palette.pal b/graphics/pokemon/squirtle/normal.pal
index 8429f3be2..8429f3be2 100644
--- a/graphics/pokemon/palettes/squirtle_palette.pal
+++ b/graphics/pokemon/squirtle/normal.pal
diff --git a/graphics/pokemon/palettes/squirtle_shiny_palette.pal b/graphics/pokemon/squirtle/shiny.pal
index 9a41b677c..9a41b677c 100644
--- a/graphics/pokemon/palettes/squirtle_shiny_palette.pal
+++ b/graphics/pokemon/squirtle/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/stantler_front_pic.png b/graphics/pokemon/stantler/anim_front.png
index 27c482ef4..27c482ef4 100644
--- a/graphics/pokemon/anim_front_pics/stantler_front_pic.png
+++ b/graphics/pokemon/stantler/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/stantler_back_pic.png b/graphics/pokemon/stantler/back.png
index 9ddf7a40c..9ddf7a40c 100644
--- a/graphics/pokemon/back_pics/stantler_back_pic.png
+++ b/graphics/pokemon/stantler/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/stantler_footprint.png b/graphics/pokemon/stantler/footprint.png
index 7f2b0f532..7f2b0f532 100644
--- a/graphics/pokemon/footprints/stantler_footprint.png
+++ b/graphics/pokemon/stantler/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/stantler_still_front_pic.png b/graphics/pokemon/stantler/front.png
index aa3d80efc..aa3d80efc 100644
--- a/graphics/pokemon/front_pics/stantler_still_front_pic.png
+++ b/graphics/pokemon/stantler/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/stantler_icon.png b/graphics/pokemon/stantler/icon.png
index da9e6da99..da9e6da99 100644
--- a/graphics/pokemon/icons/stantler_icon.png
+++ b/graphics/pokemon/stantler/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/stantler_palette.pal b/graphics/pokemon/stantler/normal.pal
index 29eeabc43..29eeabc43 100644
--- a/graphics/pokemon/palettes/stantler_palette.pal
+++ b/graphics/pokemon/stantler/normal.pal
diff --git a/graphics/pokemon/palettes/stantler_shiny_palette.pal b/graphics/pokemon/stantler/shiny.pal
index 18b43b330..18b43b330 100644
--- a/graphics/pokemon/palettes/stantler_shiny_palette.pal
+++ b/graphics/pokemon/stantler/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/starmie_front_pic.png b/graphics/pokemon/starmie/anim_front.png
index b98d2ac32..b98d2ac32 100644
--- a/graphics/pokemon/anim_front_pics/starmie_front_pic.png
+++ b/graphics/pokemon/starmie/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/starmie_back_pic.png b/graphics/pokemon/starmie/back.png
index 62fdf3a41..62fdf3a41 100644
--- a/graphics/pokemon/back_pics/starmie_back_pic.png
+++ b/graphics/pokemon/starmie/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/starmie_footprint.png b/graphics/pokemon/starmie/footprint.png
index c1c0058e7..c1c0058e7 100644
--- a/graphics/pokemon/footprints/starmie_footprint.png
+++ b/graphics/pokemon/starmie/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/starmie_still_front_pic.png b/graphics/pokemon/starmie/front.png
index ef137d686..ef137d686 100644
--- a/graphics/pokemon/front_pics/starmie_still_front_pic.png
+++ b/graphics/pokemon/starmie/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/starmie_icon.png b/graphics/pokemon/starmie/icon.png
index 844cae0c7..844cae0c7 100644
--- a/graphics/pokemon/icons/starmie_icon.png
+++ b/graphics/pokemon/starmie/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/starmie_palette.pal b/graphics/pokemon/starmie/normal.pal
index ff0daf218..ff0daf218 100644
--- a/graphics/pokemon/palettes/starmie_palette.pal
+++ b/graphics/pokemon/starmie/normal.pal
diff --git a/graphics/pokemon/palettes/starmie_shiny_palette.pal b/graphics/pokemon/starmie/shiny.pal
index 1f68c3476..1f68c3476 100644
--- a/graphics/pokemon/palettes/starmie_shiny_palette.pal
+++ b/graphics/pokemon/starmie/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/staryu_front_pic.png b/graphics/pokemon/staryu/anim_front.png
index a36ec0807..a36ec0807 100644
--- a/graphics/pokemon/anim_front_pics/staryu_front_pic.png
+++ b/graphics/pokemon/staryu/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/staryu_back_pic.png b/graphics/pokemon/staryu/back.png
index 73a2f6aad..73a2f6aad 100644
--- a/graphics/pokemon/back_pics/staryu_back_pic.png
+++ b/graphics/pokemon/staryu/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/staryu_footprint.png b/graphics/pokemon/staryu/footprint.png
index c1c0058e7..c1c0058e7 100644
--- a/graphics/pokemon/footprints/staryu_footprint.png
+++ b/graphics/pokemon/staryu/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/staryu_still_front_pic.png b/graphics/pokemon/staryu/front.png
index 7ce81165e..7ce81165e 100644
--- a/graphics/pokemon/front_pics/staryu_still_front_pic.png
+++ b/graphics/pokemon/staryu/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/staryu_icon.png b/graphics/pokemon/staryu/icon.png
index b90c0b9c3..b90c0b9c3 100644
--- a/graphics/pokemon/icons/staryu_icon.png
+++ b/graphics/pokemon/staryu/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/staryu_palette.pal b/graphics/pokemon/staryu/normal.pal
index 005b36c32..005b36c32 100644
--- a/graphics/pokemon/palettes/staryu_palette.pal
+++ b/graphics/pokemon/staryu/normal.pal
diff --git a/graphics/pokemon/palettes/staryu_shiny_palette.pal b/graphics/pokemon/staryu/shiny.pal
index e48cd6510..e48cd6510 100644
--- a/graphics/pokemon/palettes/staryu_shiny_palette.pal
+++ b/graphics/pokemon/staryu/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/steelix_front_pic.png b/graphics/pokemon/steelix/anim_front.png
index bf4c25932..bf4c25932 100644
--- a/graphics/pokemon/anim_front_pics/steelix_front_pic.png
+++ b/graphics/pokemon/steelix/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/steelix_back_pic.png b/graphics/pokemon/steelix/back.png
index 74cb256d0..74cb256d0 100644
--- a/graphics/pokemon/back_pics/steelix_back_pic.png
+++ b/graphics/pokemon/steelix/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/steelix_footprint.png b/graphics/pokemon/steelix/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/steelix_footprint.png
+++ b/graphics/pokemon/steelix/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/steelix_still_front_pic.png b/graphics/pokemon/steelix/front.png
index e5b3a35d6..e5b3a35d6 100644
--- a/graphics/pokemon/front_pics/steelix_still_front_pic.png
+++ b/graphics/pokemon/steelix/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/steelix_icon.png b/graphics/pokemon/steelix/icon.png
index c99e17581..c99e17581 100644
--- a/graphics/pokemon/icons/steelix_icon.png
+++ b/graphics/pokemon/steelix/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/steelix_palette.pal b/graphics/pokemon/steelix/normal.pal
index e18ae398c..e18ae398c 100644
--- a/graphics/pokemon/palettes/steelix_palette.pal
+++ b/graphics/pokemon/steelix/normal.pal
diff --git a/graphics/pokemon/palettes/steelix_shiny_palette.pal b/graphics/pokemon/steelix/shiny.pal
index 02b21c7ac..02b21c7ac 100644
--- a/graphics/pokemon/palettes/steelix_shiny_palette.pal
+++ b/graphics/pokemon/steelix/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/sudowoodo_front_pic.png b/graphics/pokemon/sudowoodo/anim_front.png
index ed198580d..ed198580d 100644
--- a/graphics/pokemon/anim_front_pics/sudowoodo_front_pic.png
+++ b/graphics/pokemon/sudowoodo/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/sudowoodo_back_pic.png b/graphics/pokemon/sudowoodo/back.png
index befda7efc..befda7efc 100644
--- a/graphics/pokemon/back_pics/sudowoodo_back_pic.png
+++ b/graphics/pokemon/sudowoodo/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/sudowoodo_footprint.png b/graphics/pokemon/sudowoodo/footprint.png
index 4ed751a79..4ed751a79 100644
--- a/graphics/pokemon/footprints/sudowoodo_footprint.png
+++ b/graphics/pokemon/sudowoodo/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/sudowoodo_still_front_pic.png b/graphics/pokemon/sudowoodo/front.png
index 897516953..897516953 100644
--- a/graphics/pokemon/front_pics/sudowoodo_still_front_pic.png
+++ b/graphics/pokemon/sudowoodo/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/sudowoodo_icon.png b/graphics/pokemon/sudowoodo/icon.png
index 4cc4afadf..4cc4afadf 100644
--- a/graphics/pokemon/icons/sudowoodo_icon.png
+++ b/graphics/pokemon/sudowoodo/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/sudowoodo_palette.pal b/graphics/pokemon/sudowoodo/normal.pal
index 3d589fc9d..3d589fc9d 100644
--- a/graphics/pokemon/palettes/sudowoodo_palette.pal
+++ b/graphics/pokemon/sudowoodo/normal.pal
diff --git a/graphics/pokemon/palettes/sudowoodo_shiny_palette.pal b/graphics/pokemon/sudowoodo/shiny.pal
index 6344dcc53..6344dcc53 100644
--- a/graphics/pokemon/palettes/sudowoodo_shiny_palette.pal
+++ b/graphics/pokemon/sudowoodo/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/suicune_front_pic.png b/graphics/pokemon/suicune/anim_front.png
index 6eca4e01f..6eca4e01f 100644
--- a/graphics/pokemon/anim_front_pics/suicune_front_pic.png
+++ b/graphics/pokemon/suicune/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/suicune_back_pic.png b/graphics/pokemon/suicune/back.png
index 80eef8678..80eef8678 100644
--- a/graphics/pokemon/back_pics/suicune_back_pic.png
+++ b/graphics/pokemon/suicune/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/suicune_footprint.png b/graphics/pokemon/suicune/footprint.png
index 946c35dd0..946c35dd0 100644
--- a/graphics/pokemon/footprints/suicune_footprint.png
+++ b/graphics/pokemon/suicune/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/suicune_still_front_pic.png b/graphics/pokemon/suicune/front.png
index 3529d8fe1..3529d8fe1 100644
--- a/graphics/pokemon/front_pics/suicune_still_front_pic.png
+++ b/graphics/pokemon/suicune/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/suicune_icon.png b/graphics/pokemon/suicune/icon.png
index 3e4b3c695..3e4b3c695 100644
--- a/graphics/pokemon/icons/suicune_icon.png
+++ b/graphics/pokemon/suicune/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/suicune_palette.pal b/graphics/pokemon/suicune/normal.pal
index 3a21dbd4d..3a21dbd4d 100644
--- a/graphics/pokemon/palettes/suicune_palette.pal
+++ b/graphics/pokemon/suicune/normal.pal
diff --git a/graphics/pokemon/palettes/suicune_shiny_palette.pal b/graphics/pokemon/suicune/shiny.pal
index 2ee8b7a0f..2ee8b7a0f 100644
--- a/graphics/pokemon/palettes/suicune_shiny_palette.pal
+++ b/graphics/pokemon/suicune/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/sunflora_front_pic.png b/graphics/pokemon/sunflora/anim_front.png
index 219c076ef..219c076ef 100644
--- a/graphics/pokemon/anim_front_pics/sunflora_front_pic.png
+++ b/graphics/pokemon/sunflora/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/sunflora_back_pic.png b/graphics/pokemon/sunflora/back.png
index c048bebc2..c048bebc2 100644
--- a/graphics/pokemon/back_pics/sunflora_back_pic.png
+++ b/graphics/pokemon/sunflora/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/sunflora_footprint.png b/graphics/pokemon/sunflora/footprint.png
index f6de3ca9f..f6de3ca9f 100644
--- a/graphics/pokemon/footprints/sunflora_footprint.png
+++ b/graphics/pokemon/sunflora/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/sunflora_still_front_pic.png b/graphics/pokemon/sunflora/front.png
index 9752bb9d4..9752bb9d4 100644
--- a/graphics/pokemon/front_pics/sunflora_still_front_pic.png
+++ b/graphics/pokemon/sunflora/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/sunflora_icon.png b/graphics/pokemon/sunflora/icon.png
index 6493eb510..6493eb510 100644
--- a/graphics/pokemon/icons/sunflora_icon.png
+++ b/graphics/pokemon/sunflora/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/sunflora_palette.pal b/graphics/pokemon/sunflora/normal.pal
index a22ed3fe7..a22ed3fe7 100644
--- a/graphics/pokemon/palettes/sunflora_palette.pal
+++ b/graphics/pokemon/sunflora/normal.pal
diff --git a/graphics/pokemon/palettes/sunflora_shiny_palette.pal b/graphics/pokemon/sunflora/shiny.pal
index ea8de6e05..ea8de6e05 100644
--- a/graphics/pokemon/palettes/sunflora_shiny_palette.pal
+++ b/graphics/pokemon/sunflora/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/sunkern_front_pic.png b/graphics/pokemon/sunkern/anim_front.png
index 167f1f37e..167f1f37e 100644
--- a/graphics/pokemon/anim_front_pics/sunkern_front_pic.png
+++ b/graphics/pokemon/sunkern/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/sunkern_back_pic.png b/graphics/pokemon/sunkern/back.png
index e6adde775..e6adde775 100644
--- a/graphics/pokemon/back_pics/sunkern_back_pic.png
+++ b/graphics/pokemon/sunkern/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/sunkern_footprint.png b/graphics/pokemon/sunkern/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/sunkern_footprint.png
+++ b/graphics/pokemon/sunkern/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/sunkern_still_front_pic.png b/graphics/pokemon/sunkern/front.png
index 15a743cc3..15a743cc3 100644
--- a/graphics/pokemon/front_pics/sunkern_still_front_pic.png
+++ b/graphics/pokemon/sunkern/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/sunkern_icon.png b/graphics/pokemon/sunkern/icon.png
index 60d7ea91b..60d7ea91b 100644
--- a/graphics/pokemon/icons/sunkern_icon.png
+++ b/graphics/pokemon/sunkern/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/sunkern_palette.pal b/graphics/pokemon/sunkern/normal.pal
index 7dab1246d..7dab1246d 100644
--- a/graphics/pokemon/palettes/sunkern_palette.pal
+++ b/graphics/pokemon/sunkern/normal.pal
diff --git a/graphics/pokemon/palettes/sunkern_shiny_palette.pal b/graphics/pokemon/sunkern/shiny.pal
index 84a106f65..84a106f65 100644
--- a/graphics/pokemon/palettes/sunkern_shiny_palette.pal
+++ b/graphics/pokemon/sunkern/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/surskit_front_pic.png b/graphics/pokemon/surskit/anim_front.png
index 187952826..187952826 100644
--- a/graphics/pokemon/anim_front_pics/surskit_front_pic.png
+++ b/graphics/pokemon/surskit/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/surskit_back_pic.png b/graphics/pokemon/surskit/back.png
index 85b8a8a4f..85b8a8a4f 100644
--- a/graphics/pokemon/back_pics/surskit_back_pic.png
+++ b/graphics/pokemon/surskit/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/surskit_footprint.png b/graphics/pokemon/surskit/footprint.png
index e4945976f..e4945976f 100644
--- a/graphics/pokemon/footprints/surskit_footprint.png
+++ b/graphics/pokemon/surskit/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/surskit_still_front_pic.png b/graphics/pokemon/surskit/front.png
index 559e8e786..559e8e786 100644
--- a/graphics/pokemon/front_pics/surskit_still_front_pic.png
+++ b/graphics/pokemon/surskit/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/surskit_icon.png b/graphics/pokemon/surskit/icon.png
index a7267c21a..a7267c21a 100644
--- a/graphics/pokemon/icons/surskit_icon.png
+++ b/graphics/pokemon/surskit/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/surskit_palette.pal b/graphics/pokemon/surskit/normal.pal
index 7aa7f389d..7aa7f389d 100644
--- a/graphics/pokemon/palettes/surskit_palette.pal
+++ b/graphics/pokemon/surskit/normal.pal
diff --git a/graphics/pokemon/palettes/surskit_shiny_palette.pal b/graphics/pokemon/surskit/shiny.pal
index 71624ff69..71624ff69 100644
--- a/graphics/pokemon/palettes/surskit_shiny_palette.pal
+++ b/graphics/pokemon/surskit/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/swablu_front_pic.png b/graphics/pokemon/swablu/anim_front.png
index bbe775905..bbe775905 100644
--- a/graphics/pokemon/anim_front_pics/swablu_front_pic.png
+++ b/graphics/pokemon/swablu/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/swablu_back_pic.png b/graphics/pokemon/swablu/back.png
index 802a9e37c..802a9e37c 100644
--- a/graphics/pokemon/back_pics/swablu_back_pic.png
+++ b/graphics/pokemon/swablu/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/swablu_footprint.png b/graphics/pokemon/swablu/footprint.png
index 7e71113c3..7e71113c3 100644
--- a/graphics/pokemon/footprints/swablu_footprint.png
+++ b/graphics/pokemon/swablu/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/swablu_still_front_pic.png b/graphics/pokemon/swablu/front.png
index 3439086e9..3439086e9 100644
--- a/graphics/pokemon/front_pics/swablu_still_front_pic.png
+++ b/graphics/pokemon/swablu/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/swablu_icon.png b/graphics/pokemon/swablu/icon.png
index fa269d741..fa269d741 100644
--- a/graphics/pokemon/icons/swablu_icon.png
+++ b/graphics/pokemon/swablu/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/swablu_palette.pal b/graphics/pokemon/swablu/normal.pal
index 180dac0df..180dac0df 100644
--- a/graphics/pokemon/palettes/swablu_palette.pal
+++ b/graphics/pokemon/swablu/normal.pal
diff --git a/graphics/pokemon/palettes/swablu_shiny_palette.pal b/graphics/pokemon/swablu/shiny.pal
index 392d5a8bb..392d5a8bb 100644
--- a/graphics/pokemon/palettes/swablu_shiny_palette.pal
+++ b/graphics/pokemon/swablu/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/swalot_front_pic.png b/graphics/pokemon/swalot/anim_front.png
index 11ca0f353..11ca0f353 100644
--- a/graphics/pokemon/anim_front_pics/swalot_front_pic.png
+++ b/graphics/pokemon/swalot/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/swalot_back_pic.png b/graphics/pokemon/swalot/back.png
index acd59b1b9..acd59b1b9 100644
--- a/graphics/pokemon/back_pics/swalot_back_pic.png
+++ b/graphics/pokemon/swalot/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/swalot_footprint.png b/graphics/pokemon/swalot/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/swalot_footprint.png
+++ b/graphics/pokemon/swalot/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/swalot_still_front_pic.png b/graphics/pokemon/swalot/front.png
index 7607b8c2e..7607b8c2e 100644
--- a/graphics/pokemon/front_pics/swalot_still_front_pic.png
+++ b/graphics/pokemon/swalot/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/swalot_icon.png b/graphics/pokemon/swalot/icon.png
index 9868d73d3..9868d73d3 100644
--- a/graphics/pokemon/icons/swalot_icon.png
+++ b/graphics/pokemon/swalot/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/swalot_palette.pal b/graphics/pokemon/swalot/normal.pal
index fcd80af0b..fcd80af0b 100644
--- a/graphics/pokemon/palettes/swalot_palette.pal
+++ b/graphics/pokemon/swalot/normal.pal
diff --git a/graphics/pokemon/palettes/swalot_shiny_palette.pal b/graphics/pokemon/swalot/shiny.pal
index 109d19022..109d19022 100644
--- a/graphics/pokemon/palettes/swalot_shiny_palette.pal
+++ b/graphics/pokemon/swalot/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/swampert_front_pic.png b/graphics/pokemon/swampert/anim_front.png
index 62c207a26..62c207a26 100644
--- a/graphics/pokemon/anim_front_pics/swampert_front_pic.png
+++ b/graphics/pokemon/swampert/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/swampert_back_pic.png b/graphics/pokemon/swampert/back.png
index bb795c65f..bb795c65f 100644
--- a/graphics/pokemon/back_pics/swampert_back_pic.png
+++ b/graphics/pokemon/swampert/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/swampert_footprint.png b/graphics/pokemon/swampert/footprint.png
index ed223e641..ed223e641 100644
--- a/graphics/pokemon/footprints/swampert_footprint.png
+++ b/graphics/pokemon/swampert/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/swampert_still_front_pic.png b/graphics/pokemon/swampert/front.png
index eea565e43..eea565e43 100644
--- a/graphics/pokemon/front_pics/swampert_still_front_pic.png
+++ b/graphics/pokemon/swampert/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/swampert_icon.png b/graphics/pokemon/swampert/icon.png
index 5b2f04ca9..5b2f04ca9 100644
--- a/graphics/pokemon/icons/swampert_icon.png
+++ b/graphics/pokemon/swampert/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/swampert_palette.pal b/graphics/pokemon/swampert/normal.pal
index 149557aa4..149557aa4 100644
--- a/graphics/pokemon/palettes/swampert_palette.pal
+++ b/graphics/pokemon/swampert/normal.pal
diff --git a/graphics/pokemon/palettes/swampert_shiny_palette.pal b/graphics/pokemon/swampert/shiny.pal
index 284a31508..284a31508 100644
--- a/graphics/pokemon/palettes/swampert_shiny_palette.pal
+++ b/graphics/pokemon/swampert/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/swellow_front_pic.png b/graphics/pokemon/swellow/anim_front.png
index de8016b51..de8016b51 100644
--- a/graphics/pokemon/anim_front_pics/swellow_front_pic.png
+++ b/graphics/pokemon/swellow/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/swellow_back_pic.png b/graphics/pokemon/swellow/back.png
index c2c1c3ed3..c2c1c3ed3 100644
--- a/graphics/pokemon/back_pics/swellow_back_pic.png
+++ b/graphics/pokemon/swellow/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/swellow_footprint.png b/graphics/pokemon/swellow/footprint.png
index f44a71c29..f44a71c29 100644
--- a/graphics/pokemon/footprints/swellow_footprint.png
+++ b/graphics/pokemon/swellow/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/swellow_still_front_pic.png b/graphics/pokemon/swellow/front.png
index 6a5dcb239..6a5dcb239 100644
--- a/graphics/pokemon/front_pics/swellow_still_front_pic.png
+++ b/graphics/pokemon/swellow/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/swellow_icon.png b/graphics/pokemon/swellow/icon.png
index 47a2ea74d..47a2ea74d 100644
--- a/graphics/pokemon/icons/swellow_icon.png
+++ b/graphics/pokemon/swellow/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/swellow_palette.pal b/graphics/pokemon/swellow/normal.pal
index cf8e9f794..cf8e9f794 100644
--- a/graphics/pokemon/palettes/swellow_palette.pal
+++ b/graphics/pokemon/swellow/normal.pal
diff --git a/graphics/pokemon/palettes/swellow_shiny_palette.pal b/graphics/pokemon/swellow/shiny.pal
index 388f2b220..388f2b220 100644
--- a/graphics/pokemon/palettes/swellow_shiny_palette.pal
+++ b/graphics/pokemon/swellow/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/swinub_front_pic.png b/graphics/pokemon/swinub/anim_front.png
index 80675bd9b..80675bd9b 100644
--- a/graphics/pokemon/anim_front_pics/swinub_front_pic.png
+++ b/graphics/pokemon/swinub/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/swinub_back_pic.png b/graphics/pokemon/swinub/back.png
index 66998faad..66998faad 100644
--- a/graphics/pokemon/back_pics/swinub_back_pic.png
+++ b/graphics/pokemon/swinub/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/swinub_footprint.png b/graphics/pokemon/swinub/footprint.png
index fb56709ec..fb56709ec 100644
--- a/graphics/pokemon/footprints/swinub_footprint.png
+++ b/graphics/pokemon/swinub/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/swinub_still_front_pic.png b/graphics/pokemon/swinub/front.png
index c92de5b5a..c92de5b5a 100644
--- a/graphics/pokemon/front_pics/swinub_still_front_pic.png
+++ b/graphics/pokemon/swinub/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/swinub_icon.png b/graphics/pokemon/swinub/icon.png
index f33656a0c..f33656a0c 100644
--- a/graphics/pokemon/icons/swinub_icon.png
+++ b/graphics/pokemon/swinub/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/swinub_palette.pal b/graphics/pokemon/swinub/normal.pal
index b014d69d6..b014d69d6 100644
--- a/graphics/pokemon/palettes/swinub_palette.pal
+++ b/graphics/pokemon/swinub/normal.pal
diff --git a/graphics/pokemon/palettes/swinub_shiny_palette.pal b/graphics/pokemon/swinub/shiny.pal
index 9482e2d46..9482e2d46 100644
--- a/graphics/pokemon/palettes/swinub_shiny_palette.pal
+++ b/graphics/pokemon/swinub/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/taillow_front_pic.png b/graphics/pokemon/taillow/anim_front.png
index d27e9f768..d27e9f768 100644
--- a/graphics/pokemon/anim_front_pics/taillow_front_pic.png
+++ b/graphics/pokemon/taillow/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/taillow_back_pic.png b/graphics/pokemon/taillow/back.png
index 997d6db45..997d6db45 100644
--- a/graphics/pokemon/back_pics/taillow_back_pic.png
+++ b/graphics/pokemon/taillow/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/taillow_footprint.png b/graphics/pokemon/taillow/footprint.png
index dbf5c5c6b..dbf5c5c6b 100644
--- a/graphics/pokemon/footprints/taillow_footprint.png
+++ b/graphics/pokemon/taillow/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/taillow_still_front_pic.png b/graphics/pokemon/taillow/front.png
index 6ff802ac6..6ff802ac6 100644
--- a/graphics/pokemon/front_pics/taillow_still_front_pic.png
+++ b/graphics/pokemon/taillow/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/taillow_icon.png b/graphics/pokemon/taillow/icon.png
index a0668865b..a0668865b 100644
--- a/graphics/pokemon/icons/taillow_icon.png
+++ b/graphics/pokemon/taillow/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/taillow_palette.pal b/graphics/pokemon/taillow/normal.pal
index b1777b5be..b1777b5be 100644
--- a/graphics/pokemon/palettes/taillow_palette.pal
+++ b/graphics/pokemon/taillow/normal.pal
diff --git a/graphics/pokemon/palettes/taillow_shiny_palette.pal b/graphics/pokemon/taillow/shiny.pal
index 388f2b220..388f2b220 100644
--- a/graphics/pokemon/palettes/taillow_shiny_palette.pal
+++ b/graphics/pokemon/taillow/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/tangela_front_pic.png b/graphics/pokemon/tangela/anim_front.png
index 161c7d576..161c7d576 100644
--- a/graphics/pokemon/anim_front_pics/tangela_front_pic.png
+++ b/graphics/pokemon/tangela/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/tangela_back_pic.png b/graphics/pokemon/tangela/back.png
index 5a15f1b91..5a15f1b91 100644
--- a/graphics/pokemon/back_pics/tangela_back_pic.png
+++ b/graphics/pokemon/tangela/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/tangela_footprint.png b/graphics/pokemon/tangela/footprint.png
index c05d3b437..c05d3b437 100644
--- a/graphics/pokemon/footprints/tangela_footprint.png
+++ b/graphics/pokemon/tangela/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/tangela_still_front_pic.png b/graphics/pokemon/tangela/front.png
index 8826b1cd7..8826b1cd7 100644
--- a/graphics/pokemon/front_pics/tangela_still_front_pic.png
+++ b/graphics/pokemon/tangela/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/tangela_icon.png b/graphics/pokemon/tangela/icon.png
index c2a8ee33f..c2a8ee33f 100644
--- a/graphics/pokemon/icons/tangela_icon.png
+++ b/graphics/pokemon/tangela/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/tangela_palette.pal b/graphics/pokemon/tangela/normal.pal
index 91dc27d45..91dc27d45 100644
--- a/graphics/pokemon/palettes/tangela_palette.pal
+++ b/graphics/pokemon/tangela/normal.pal
diff --git a/graphics/pokemon/palettes/tangela_shiny_palette.pal b/graphics/pokemon/tangela/shiny.pal
index 6c8c7fad5..6c8c7fad5 100644
--- a/graphics/pokemon/palettes/tangela_shiny_palette.pal
+++ b/graphics/pokemon/tangela/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/tauros_front_pic.png b/graphics/pokemon/tauros/anim_front.png
index 6853a31b1..6853a31b1 100644
--- a/graphics/pokemon/anim_front_pics/tauros_front_pic.png
+++ b/graphics/pokemon/tauros/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/tauros_back_pic.png b/graphics/pokemon/tauros/back.png
index 2fac61283..2fac61283 100644
--- a/graphics/pokemon/back_pics/tauros_back_pic.png
+++ b/graphics/pokemon/tauros/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/tauros_footprint.png b/graphics/pokemon/tauros/footprint.png
index 602011c6d..602011c6d 100644
--- a/graphics/pokemon/footprints/tauros_footprint.png
+++ b/graphics/pokemon/tauros/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/tauros_still_front_pic.png b/graphics/pokemon/tauros/front.png
index c13d25022..c13d25022 100644
--- a/graphics/pokemon/front_pics/tauros_still_front_pic.png
+++ b/graphics/pokemon/tauros/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/tauros_icon.png b/graphics/pokemon/tauros/icon.png
index fc432dab9..fc432dab9 100644
--- a/graphics/pokemon/icons/tauros_icon.png
+++ b/graphics/pokemon/tauros/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/tauros_palette.pal b/graphics/pokemon/tauros/normal.pal
index 537af1b4a..537af1b4a 100644
--- a/graphics/pokemon/palettes/tauros_palette.pal
+++ b/graphics/pokemon/tauros/normal.pal
diff --git a/graphics/pokemon/palettes/tauros_shiny_palette.pal b/graphics/pokemon/tauros/shiny.pal
index 68da59668..68da59668 100644
--- a/graphics/pokemon/palettes/tauros_shiny_palette.pal
+++ b/graphics/pokemon/tauros/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/teddiursa_front_pic.png b/graphics/pokemon/teddiursa/anim_front.png
index ba5f60158..ba5f60158 100644
--- a/graphics/pokemon/anim_front_pics/teddiursa_front_pic.png
+++ b/graphics/pokemon/teddiursa/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/teddiursa_back_pic.png b/graphics/pokemon/teddiursa/back.png
index d79f39a5b..d79f39a5b 100644
--- a/graphics/pokemon/back_pics/teddiursa_back_pic.png
+++ b/graphics/pokemon/teddiursa/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/teddiursa_footprint.png b/graphics/pokemon/teddiursa/footprint.png
index def88c323..def88c323 100644
--- a/graphics/pokemon/footprints/teddiursa_footprint.png
+++ b/graphics/pokemon/teddiursa/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/teddiursa_still_front_pic.png b/graphics/pokemon/teddiursa/front.png
index 75f513043..75f513043 100644
--- a/graphics/pokemon/front_pics/teddiursa_still_front_pic.png
+++ b/graphics/pokemon/teddiursa/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/teddiursa_icon.png b/graphics/pokemon/teddiursa/icon.png
index 94994c86d..94994c86d 100644
--- a/graphics/pokemon/icons/teddiursa_icon.png
+++ b/graphics/pokemon/teddiursa/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/teddiursa_palette.pal b/graphics/pokemon/teddiursa/normal.pal
index 11192e2c0..11192e2c0 100644
--- a/graphics/pokemon/palettes/teddiursa_palette.pal
+++ b/graphics/pokemon/teddiursa/normal.pal
diff --git a/graphics/pokemon/palettes/teddiursa_shiny_palette.pal b/graphics/pokemon/teddiursa/shiny.pal
index 0be332569..0be332569 100644
--- a/graphics/pokemon/palettes/teddiursa_shiny_palette.pal
+++ b/graphics/pokemon/teddiursa/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/tentacool_front_pic.png b/graphics/pokemon/tentacool/anim_front.png
index 6cbb2a47f..6cbb2a47f 100644
--- a/graphics/pokemon/anim_front_pics/tentacool_front_pic.png
+++ b/graphics/pokemon/tentacool/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/tentacool_back_pic.png b/graphics/pokemon/tentacool/back.png
index d603ca052..d603ca052 100644
--- a/graphics/pokemon/back_pics/tentacool_back_pic.png
+++ b/graphics/pokemon/tentacool/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/tentacool_footprint.png b/graphics/pokemon/tentacool/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/tentacool_footprint.png
+++ b/graphics/pokemon/tentacool/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/tentacool_still_front_pic.png b/graphics/pokemon/tentacool/front.png
index ccd68bf78..ccd68bf78 100644
--- a/graphics/pokemon/front_pics/tentacool_still_front_pic.png
+++ b/graphics/pokemon/tentacool/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/tentacool_icon.png b/graphics/pokemon/tentacool/icon.png
index d29ca1938..d29ca1938 100644
--- a/graphics/pokemon/icons/tentacool_icon.png
+++ b/graphics/pokemon/tentacool/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/tentacool_palette.pal b/graphics/pokemon/tentacool/normal.pal
index 686fea273..686fea273 100644
--- a/graphics/pokemon/palettes/tentacool_palette.pal
+++ b/graphics/pokemon/tentacool/normal.pal
diff --git a/graphics/pokemon/palettes/tentacool_shiny_palette.pal b/graphics/pokemon/tentacool/shiny.pal
index d90b7d4a0..d90b7d4a0 100644
--- a/graphics/pokemon/palettes/tentacool_shiny_palette.pal
+++ b/graphics/pokemon/tentacool/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/tentacruel_front_pic.png b/graphics/pokemon/tentacruel/anim_front.png
index 999e8f7b4..999e8f7b4 100644
--- a/graphics/pokemon/anim_front_pics/tentacruel_front_pic.png
+++ b/graphics/pokemon/tentacruel/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/tentacruel_back_pic.png b/graphics/pokemon/tentacruel/back.png
index 232bc9259..232bc9259 100644
--- a/graphics/pokemon/back_pics/tentacruel_back_pic.png
+++ b/graphics/pokemon/tentacruel/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/tentacruel_footprint.png b/graphics/pokemon/tentacruel/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/tentacruel_footprint.png
+++ b/graphics/pokemon/tentacruel/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/tentacruel_still_front_pic.png b/graphics/pokemon/tentacruel/front.png
index a9e4691d8..a9e4691d8 100644
--- a/graphics/pokemon/front_pics/tentacruel_still_front_pic.png
+++ b/graphics/pokemon/tentacruel/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/tentacruel_icon.png b/graphics/pokemon/tentacruel/icon.png
index 72b6da9b9..72b6da9b9 100644
--- a/graphics/pokemon/icons/tentacruel_icon.png
+++ b/graphics/pokemon/tentacruel/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/tentacruel_palette.pal b/graphics/pokemon/tentacruel/normal.pal
index 8e397af8f..8e397af8f 100644
--- a/graphics/pokemon/palettes/tentacruel_palette.pal
+++ b/graphics/pokemon/tentacruel/normal.pal
diff --git a/graphics/pokemon/palettes/tentacruel_shiny_palette.pal b/graphics/pokemon/tentacruel/shiny.pal
index b53f96599..b53f96599 100644
--- a/graphics/pokemon/palettes/tentacruel_shiny_palette.pal
+++ b/graphics/pokemon/tentacruel/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/togepi_front_pic.png b/graphics/pokemon/togepi/anim_front.png
index e0d71a63a..e0d71a63a 100644
--- a/graphics/pokemon/anim_front_pics/togepi_front_pic.png
+++ b/graphics/pokemon/togepi/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/togepi_back_pic.png b/graphics/pokemon/togepi/back.png
index 24858fc22..24858fc22 100644
--- a/graphics/pokemon/back_pics/togepi_back_pic.png
+++ b/graphics/pokemon/togepi/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/togepi_footprint.png b/graphics/pokemon/togepi/footprint.png
index 84e75101b..84e75101b 100644
--- a/graphics/pokemon/footprints/togepi_footprint.png
+++ b/graphics/pokemon/togepi/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/togepi_still_front_pic.png b/graphics/pokemon/togepi/front.png
index 2fd04df59..2fd04df59 100644
--- a/graphics/pokemon/front_pics/togepi_still_front_pic.png
+++ b/graphics/pokemon/togepi/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/togepi_icon.png b/graphics/pokemon/togepi/icon.png
index ded646fa1..ded646fa1 100644
--- a/graphics/pokemon/icons/togepi_icon.png
+++ b/graphics/pokemon/togepi/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/togepi_palette.pal b/graphics/pokemon/togepi/normal.pal
index 6e9355508..6e9355508 100644
--- a/graphics/pokemon/palettes/togepi_palette.pal
+++ b/graphics/pokemon/togepi/normal.pal
diff --git a/graphics/pokemon/palettes/togepi_shiny_palette.pal b/graphics/pokemon/togepi/shiny.pal
index 6ce2e1be7..6ce2e1be7 100644
--- a/graphics/pokemon/palettes/togepi_shiny_palette.pal
+++ b/graphics/pokemon/togepi/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/togetic_front_pic.png b/graphics/pokemon/togetic/anim_front.png
index e233ea940..e233ea940 100644
--- a/graphics/pokemon/anim_front_pics/togetic_front_pic.png
+++ b/graphics/pokemon/togetic/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/togetic_back_pic.png b/graphics/pokemon/togetic/back.png
index f5125735a..f5125735a 100644
--- a/graphics/pokemon/back_pics/togetic_back_pic.png
+++ b/graphics/pokemon/togetic/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/togetic_footprint.png b/graphics/pokemon/togetic/footprint.png
index b15913fa8..b15913fa8 100644
--- a/graphics/pokemon/footprints/togetic_footprint.png
+++ b/graphics/pokemon/togetic/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/togetic_still_front_pic.png b/graphics/pokemon/togetic/front.png
index 4f6fe9339..4f6fe9339 100644
--- a/graphics/pokemon/front_pics/togetic_still_front_pic.png
+++ b/graphics/pokemon/togetic/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/togetic_icon.png b/graphics/pokemon/togetic/icon.png
index 61e73ab3e..61e73ab3e 100644
--- a/graphics/pokemon/icons/togetic_icon.png
+++ b/graphics/pokemon/togetic/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/togetic_palette.pal b/graphics/pokemon/togetic/normal.pal
index c07ecff88..c07ecff88 100644
--- a/graphics/pokemon/palettes/togetic_palette.pal
+++ b/graphics/pokemon/togetic/normal.pal
diff --git a/graphics/pokemon/palettes/togetic_shiny_palette.pal b/graphics/pokemon/togetic/shiny.pal
index 6d37ce70d..6d37ce70d 100644
--- a/graphics/pokemon/palettes/togetic_shiny_palette.pal
+++ b/graphics/pokemon/togetic/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/torchic_front_pic.png b/graphics/pokemon/torchic/anim_front.png
index c1aa67fd1..c1aa67fd1 100644
--- a/graphics/pokemon/anim_front_pics/torchic_front_pic.png
+++ b/graphics/pokemon/torchic/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/torchic_back_pic.png b/graphics/pokemon/torchic/back.png
index ed2c53879..ed2c53879 100644
--- a/graphics/pokemon/back_pics/torchic_back_pic.png
+++ b/graphics/pokemon/torchic/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/torchic_footprint.png b/graphics/pokemon/torchic/footprint.png
index 955afa82a..955afa82a 100644
--- a/graphics/pokemon/footprints/torchic_footprint.png
+++ b/graphics/pokemon/torchic/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/torchic_still_front_pic.png b/graphics/pokemon/torchic/front.png
index a8eeb2699..a8eeb2699 100644
--- a/graphics/pokemon/front_pics/torchic_still_front_pic.png
+++ b/graphics/pokemon/torchic/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/torchic_icon.png b/graphics/pokemon/torchic/icon.png
index 6346e2272..6346e2272 100644
--- a/graphics/pokemon/icons/torchic_icon.png
+++ b/graphics/pokemon/torchic/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/torchic_palette.pal b/graphics/pokemon/torchic/normal.pal
index 373cb59b7..373cb59b7 100644
--- a/graphics/pokemon/palettes/torchic_palette.pal
+++ b/graphics/pokemon/torchic/normal.pal
diff --git a/graphics/pokemon/palettes/torchic_shiny_palette.pal b/graphics/pokemon/torchic/shiny.pal
index 368d18494..368d18494 100644
--- a/graphics/pokemon/palettes/torchic_shiny_palette.pal
+++ b/graphics/pokemon/torchic/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/torkoal_front_pic.png b/graphics/pokemon/torkoal/anim_front.png
index 17ce45d87..17ce45d87 100644
--- a/graphics/pokemon/anim_front_pics/torkoal_front_pic.png
+++ b/graphics/pokemon/torkoal/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/torkoal_back_pic.png b/graphics/pokemon/torkoal/back.png
index 4eb5c4f0e..4eb5c4f0e 100644
--- a/graphics/pokemon/back_pics/torkoal_back_pic.png
+++ b/graphics/pokemon/torkoal/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/torkoal_footprint.png b/graphics/pokemon/torkoal/footprint.png
index 208f3bb77..208f3bb77 100644
--- a/graphics/pokemon/footprints/torkoal_footprint.png
+++ b/graphics/pokemon/torkoal/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/torkoal_still_front_pic.png b/graphics/pokemon/torkoal/front.png
index b19eea08b..b19eea08b 100644
--- a/graphics/pokemon/front_pics/torkoal_still_front_pic.png
+++ b/graphics/pokemon/torkoal/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/torkoal_icon.png b/graphics/pokemon/torkoal/icon.png
index 077ce4026..077ce4026 100644
--- a/graphics/pokemon/icons/torkoal_icon.png
+++ b/graphics/pokemon/torkoal/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/torkoal_palette.pal b/graphics/pokemon/torkoal/normal.pal
index 85caef491..85caef491 100644
--- a/graphics/pokemon/palettes/torkoal_palette.pal
+++ b/graphics/pokemon/torkoal/normal.pal
diff --git a/graphics/pokemon/palettes/torkoal_shiny_palette.pal b/graphics/pokemon/torkoal/shiny.pal
index 70194b9f1..70194b9f1 100644
--- a/graphics/pokemon/palettes/torkoal_shiny_palette.pal
+++ b/graphics/pokemon/torkoal/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/totodile_front_pic.png b/graphics/pokemon/totodile/anim_front.png
index 387b24e47..387b24e47 100644
--- a/graphics/pokemon/anim_front_pics/totodile_front_pic.png
+++ b/graphics/pokemon/totodile/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/totodile_back_pic.png b/graphics/pokemon/totodile/back.png
index 1ac54c7bd..1ac54c7bd 100644
--- a/graphics/pokemon/back_pics/totodile_back_pic.png
+++ b/graphics/pokemon/totodile/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/totodile_footprint.png b/graphics/pokemon/totodile/footprint.png
index 210260273..210260273 100644
--- a/graphics/pokemon/footprints/totodile_footprint.png
+++ b/graphics/pokemon/totodile/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/totodile_still_front_pic.png b/graphics/pokemon/totodile/front.png
index d65863e81..d65863e81 100644
--- a/graphics/pokemon/front_pics/totodile_still_front_pic.png
+++ b/graphics/pokemon/totodile/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/totodile_icon.png b/graphics/pokemon/totodile/icon.png
index c2bc68521..c2bc68521 100644
--- a/graphics/pokemon/icons/totodile_icon.png
+++ b/graphics/pokemon/totodile/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/totodile_palette.pal b/graphics/pokemon/totodile/normal.pal
index 8a68271f6..8a68271f6 100644
--- a/graphics/pokemon/palettes/totodile_palette.pal
+++ b/graphics/pokemon/totodile/normal.pal
diff --git a/graphics/pokemon/palettes/totodile_shiny_palette.pal b/graphics/pokemon/totodile/shiny.pal
index 609f22253..609f22253 100644
--- a/graphics/pokemon/palettes/totodile_shiny_palette.pal
+++ b/graphics/pokemon/totodile/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/trapinch_front_pic.png b/graphics/pokemon/trapinch/anim_front.png
index 2ee209fdf..2ee209fdf 100644
--- a/graphics/pokemon/anim_front_pics/trapinch_front_pic.png
+++ b/graphics/pokemon/trapinch/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/trapinch_back_pic.png b/graphics/pokemon/trapinch/back.png
index 61eec3c92..61eec3c92 100644
--- a/graphics/pokemon/back_pics/trapinch_back_pic.png
+++ b/graphics/pokemon/trapinch/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/trapinch_footprint.png b/graphics/pokemon/trapinch/footprint.png
index c3e6e785b..c3e6e785b 100644
--- a/graphics/pokemon/footprints/trapinch_footprint.png
+++ b/graphics/pokemon/trapinch/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/trapinch_still_front_pic.png b/graphics/pokemon/trapinch/front.png
index 48dd7951a..48dd7951a 100644
--- a/graphics/pokemon/front_pics/trapinch_still_front_pic.png
+++ b/graphics/pokemon/trapinch/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/trapinch_icon.png b/graphics/pokemon/trapinch/icon.png
index 731dbf569..731dbf569 100644
--- a/graphics/pokemon/icons/trapinch_icon.png
+++ b/graphics/pokemon/trapinch/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/trapinch_palette.pal b/graphics/pokemon/trapinch/normal.pal
index 2344a7eca..2344a7eca 100644
--- a/graphics/pokemon/palettes/trapinch_palette.pal
+++ b/graphics/pokemon/trapinch/normal.pal
diff --git a/graphics/pokemon/palettes/trapinch_shiny_palette.pal b/graphics/pokemon/trapinch/shiny.pal
index 87ce33ef0..87ce33ef0 100644
--- a/graphics/pokemon/palettes/trapinch_shiny_palette.pal
+++ b/graphics/pokemon/trapinch/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/treecko_front_pic.png b/graphics/pokemon/treecko/anim_front.png
index ce98864ea..ce98864ea 100644
--- a/graphics/pokemon/anim_front_pics/treecko_front_pic.png
+++ b/graphics/pokemon/treecko/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/treecko_back_pic.png b/graphics/pokemon/treecko/back.png
index 89e53390d..89e53390d 100644
--- a/graphics/pokemon/back_pics/treecko_back_pic.png
+++ b/graphics/pokemon/treecko/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/treecko_footprint.png b/graphics/pokemon/treecko/footprint.png
index ed3854702..ed3854702 100644
--- a/graphics/pokemon/footprints/treecko_footprint.png
+++ b/graphics/pokemon/treecko/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/treecko_still_front_pic.png b/graphics/pokemon/treecko/front.png
index 7cacddaae..7cacddaae 100644
--- a/graphics/pokemon/front_pics/treecko_still_front_pic.png
+++ b/graphics/pokemon/treecko/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/treecko_icon.png b/graphics/pokemon/treecko/icon.png
index f51358adf..f51358adf 100644
--- a/graphics/pokemon/icons/treecko_icon.png
+++ b/graphics/pokemon/treecko/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/treecko_palette.pal b/graphics/pokemon/treecko/normal.pal
index 987a3a5b9..987a3a5b9 100644
--- a/graphics/pokemon/palettes/treecko_palette.pal
+++ b/graphics/pokemon/treecko/normal.pal
diff --git a/graphics/pokemon/palettes/treecko_shiny_palette.pal b/graphics/pokemon/treecko/shiny.pal
index da5dda0e4..da5dda0e4 100644
--- a/graphics/pokemon/palettes/treecko_shiny_palette.pal
+++ b/graphics/pokemon/treecko/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/tropius_front_pic.png b/graphics/pokemon/tropius/anim_front.png
index 62df662a2..62df662a2 100644
--- a/graphics/pokemon/anim_front_pics/tropius_front_pic.png
+++ b/graphics/pokemon/tropius/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/tropius_back_pic.png b/graphics/pokemon/tropius/back.png
index d948c3dc0..d948c3dc0 100644
--- a/graphics/pokemon/back_pics/tropius_back_pic.png
+++ b/graphics/pokemon/tropius/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/tropius_footprint.png b/graphics/pokemon/tropius/footprint.png
index e6e7e8795..e6e7e8795 100644
--- a/graphics/pokemon/footprints/tropius_footprint.png
+++ b/graphics/pokemon/tropius/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/tropius_still_front_pic.png b/graphics/pokemon/tropius/front.png
index e2ae021cb..e2ae021cb 100644
--- a/graphics/pokemon/front_pics/tropius_still_front_pic.png
+++ b/graphics/pokemon/tropius/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/tropius_icon.png b/graphics/pokemon/tropius/icon.png
index dabfcd295..dabfcd295 100644
--- a/graphics/pokemon/icons/tropius_icon.png
+++ b/graphics/pokemon/tropius/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/tropius_palette.pal b/graphics/pokemon/tropius/normal.pal
index efe3d75ab..efe3d75ab 100644
--- a/graphics/pokemon/palettes/tropius_palette.pal
+++ b/graphics/pokemon/tropius/normal.pal
diff --git a/graphics/pokemon/palettes/tropius_shiny_palette.pal b/graphics/pokemon/tropius/shiny.pal
index cb02cf449..cb02cf449 100644
--- a/graphics/pokemon/palettes/tropius_shiny_palette.pal
+++ b/graphics/pokemon/tropius/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/typhlosion_front_pic.png b/graphics/pokemon/typhlosion/anim_front.png
index e56996868..e56996868 100644
--- a/graphics/pokemon/anim_front_pics/typhlosion_front_pic.png
+++ b/graphics/pokemon/typhlosion/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/typhlosion_back_pic.png b/graphics/pokemon/typhlosion/back.png
index deb3ffb0d..deb3ffb0d 100644
--- a/graphics/pokemon/back_pics/typhlosion_back_pic.png
+++ b/graphics/pokemon/typhlosion/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/typhlosion_footprint.png b/graphics/pokemon/typhlosion/footprint.png
index 1d4492cf1..1d4492cf1 100644
--- a/graphics/pokemon/footprints/typhlosion_footprint.png
+++ b/graphics/pokemon/typhlosion/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/typhlosion_still_front_pic.png b/graphics/pokemon/typhlosion/front.png
index 22ab5cd90..22ab5cd90 100644
--- a/graphics/pokemon/front_pics/typhlosion_still_front_pic.png
+++ b/graphics/pokemon/typhlosion/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/typhlosion_icon.png b/graphics/pokemon/typhlosion/icon.png
index e15d7b683..e15d7b683 100644
--- a/graphics/pokemon/icons/typhlosion_icon.png
+++ b/graphics/pokemon/typhlosion/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/typhlosion_palette.pal b/graphics/pokemon/typhlosion/normal.pal
index 72f0c9c8c..72f0c9c8c 100644
--- a/graphics/pokemon/palettes/typhlosion_palette.pal
+++ b/graphics/pokemon/typhlosion/normal.pal
diff --git a/graphics/pokemon/palettes/typhlosion_shiny_palette.pal b/graphics/pokemon/typhlosion/shiny.pal
index 42fb4ee9c..42fb4ee9c 100644
--- a/graphics/pokemon/palettes/typhlosion_shiny_palette.pal
+++ b/graphics/pokemon/typhlosion/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/tyranitar_front_pic.png b/graphics/pokemon/tyranitar/anim_front.png
index 33cf099b8..33cf099b8 100644
--- a/graphics/pokemon/anim_front_pics/tyranitar_front_pic.png
+++ b/graphics/pokemon/tyranitar/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/tyranitar_back_pic.png b/graphics/pokemon/tyranitar/back.png
index 273318be0..273318be0 100644
--- a/graphics/pokemon/back_pics/tyranitar_back_pic.png
+++ b/graphics/pokemon/tyranitar/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/tyranitar_footprint.png b/graphics/pokemon/tyranitar/footprint.png
index ea12c75b0..ea12c75b0 100644
--- a/graphics/pokemon/footprints/tyranitar_footprint.png
+++ b/graphics/pokemon/tyranitar/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/tyranitar_still_front_pic.png b/graphics/pokemon/tyranitar/front.png
index a1035064b..a1035064b 100644
--- a/graphics/pokemon/front_pics/tyranitar_still_front_pic.png
+++ b/graphics/pokemon/tyranitar/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/tyranitar_icon.png b/graphics/pokemon/tyranitar/icon.png
index 76113bc68..76113bc68 100644
--- a/graphics/pokemon/icons/tyranitar_icon.png
+++ b/graphics/pokemon/tyranitar/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/tyranitar_palette.pal b/graphics/pokemon/tyranitar/normal.pal
index 6c5e2941c..6c5e2941c 100644
--- a/graphics/pokemon/palettes/tyranitar_palette.pal
+++ b/graphics/pokemon/tyranitar/normal.pal
diff --git a/graphics/pokemon/palettes/tyranitar_shiny_palette.pal b/graphics/pokemon/tyranitar/shiny.pal
index 3090536a9..3090536a9 100644
--- a/graphics/pokemon/palettes/tyranitar_shiny_palette.pal
+++ b/graphics/pokemon/tyranitar/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/tyrogue_front_pic.png b/graphics/pokemon/tyrogue/anim_front.png
index 038a2795c..038a2795c 100644
--- a/graphics/pokemon/anim_front_pics/tyrogue_front_pic.png
+++ b/graphics/pokemon/tyrogue/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/tyrogue_back_pic.png b/graphics/pokemon/tyrogue/back.png
index 1d6b2e198..1d6b2e198 100644
--- a/graphics/pokemon/back_pics/tyrogue_back_pic.png
+++ b/graphics/pokemon/tyrogue/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/tyrogue_footprint.png b/graphics/pokemon/tyrogue/footprint.png
index 0ef849eb8..0ef849eb8 100644
--- a/graphics/pokemon/footprints/tyrogue_footprint.png
+++ b/graphics/pokemon/tyrogue/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/tyrogue_still_front_pic.png b/graphics/pokemon/tyrogue/front.png
index cd12978ae..cd12978ae 100644
--- a/graphics/pokemon/front_pics/tyrogue_still_front_pic.png
+++ b/graphics/pokemon/tyrogue/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/tyrogue_icon.png b/graphics/pokemon/tyrogue/icon.png
index 10099d5cf..10099d5cf 100644
--- a/graphics/pokemon/icons/tyrogue_icon.png
+++ b/graphics/pokemon/tyrogue/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/tyrogue_palette.pal b/graphics/pokemon/tyrogue/normal.pal
index 97bff0783..97bff0783 100644
--- a/graphics/pokemon/palettes/tyrogue_palette.pal
+++ b/graphics/pokemon/tyrogue/normal.pal
diff --git a/graphics/pokemon/palettes/tyrogue_shiny_palette.pal b/graphics/pokemon/tyrogue/shiny.pal
index e8fef8a16..e8fef8a16 100644
--- a/graphics/pokemon/palettes/tyrogue_shiny_palette.pal
+++ b/graphics/pokemon/tyrogue/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/umbreon_front_pic.png b/graphics/pokemon/umbreon/anim_front.png
index dc7372850..dc7372850 100644
--- a/graphics/pokemon/anim_front_pics/umbreon_front_pic.png
+++ b/graphics/pokemon/umbreon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/umbreon_back_pic.png b/graphics/pokemon/umbreon/back.png
index d73508aed..d73508aed 100644
--- a/graphics/pokemon/back_pics/umbreon_back_pic.png
+++ b/graphics/pokemon/umbreon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/umbreon_footprint.png b/graphics/pokemon/umbreon/footprint.png
index a1d897dc3..a1d897dc3 100644
--- a/graphics/pokemon/footprints/umbreon_footprint.png
+++ b/graphics/pokemon/umbreon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/umbreon_still_front_pic.png b/graphics/pokemon/umbreon/front.png
index 8fbc3b0f2..8fbc3b0f2 100644
--- a/graphics/pokemon/front_pics/umbreon_still_front_pic.png
+++ b/graphics/pokemon/umbreon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/umbreon_icon.png b/graphics/pokemon/umbreon/icon.png
index 8d8d867c2..8d8d867c2 100644
--- a/graphics/pokemon/icons/umbreon_icon.png
+++ b/graphics/pokemon/umbreon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/umbreon_palette.pal b/graphics/pokemon/umbreon/normal.pal
index dc6ec68e6..dc6ec68e6 100644
--- a/graphics/pokemon/palettes/umbreon_palette.pal
+++ b/graphics/pokemon/umbreon/normal.pal
diff --git a/graphics/pokemon/palettes/umbreon_shiny_palette.pal b/graphics/pokemon/umbreon/shiny.pal
index 82c71e1ae..82c71e1ae 100644
--- a/graphics/pokemon/palettes/umbreon_shiny_palette.pal
+++ b/graphics/pokemon/umbreon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/unown_a_front_pic.png b/graphics/pokemon/unown/anim_front_a.png
index 065d82a47..065d82a47 100644
--- a/graphics/pokemon/anim_front_pics/unown_a_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_a.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_b_front_pic.png b/graphics/pokemon/unown/anim_front_b.png
index bedc98634..bedc98634 100644
--- a/graphics/pokemon/anim_front_pics/unown_b_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_b.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_c_front_pic.png b/graphics/pokemon/unown/anim_front_c.png
index 6699bbbb5..6699bbbb5 100644
--- a/graphics/pokemon/anim_front_pics/unown_c_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_c.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_d_front_pic.png b/graphics/pokemon/unown/anim_front_d.png
index 7491a13fb..7491a13fb 100644
--- a/graphics/pokemon/anim_front_pics/unown_d_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_d.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_e_front_pic.png b/graphics/pokemon/unown/anim_front_e.png
index a761cdd95..a761cdd95 100644
--- a/graphics/pokemon/anim_front_pics/unown_e_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_e.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_exclamation_mark_front_pic.png b/graphics/pokemon/unown/anim_front_exclamation_mark.png
index 96c436e8c..96c436e8c 100644
--- a/graphics/pokemon/anim_front_pics/unown_exclamation_mark_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_exclamation_mark.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_f_front_pic.png b/graphics/pokemon/unown/anim_front_f.png
index 1c9685659..1c9685659 100644
--- a/graphics/pokemon/anim_front_pics/unown_f_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_f.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_g_front_pic.png b/graphics/pokemon/unown/anim_front_g.png
index 028bd4cad..028bd4cad 100644
--- a/graphics/pokemon/anim_front_pics/unown_g_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_g.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_h_front_pic.png b/graphics/pokemon/unown/anim_front_h.png
index 686e70d4b..686e70d4b 100644
--- a/graphics/pokemon/anim_front_pics/unown_h_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_h.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_i_front_pic.png b/graphics/pokemon/unown/anim_front_i.png
index 04a748fa0..04a748fa0 100644
--- a/graphics/pokemon/anim_front_pics/unown_i_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_i.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_j_front_pic.png b/graphics/pokemon/unown/anim_front_j.png
index e2906d253..e2906d253 100644
--- a/graphics/pokemon/anim_front_pics/unown_j_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_j.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_k_front_pic.png b/graphics/pokemon/unown/anim_front_k.png
index b83ef195f..b83ef195f 100644
--- a/graphics/pokemon/anim_front_pics/unown_k_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_k.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_l_front_pic.png b/graphics/pokemon/unown/anim_front_l.png
index 9d8b23af4..9d8b23af4 100644
--- a/graphics/pokemon/anim_front_pics/unown_l_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_l.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_m_front_pic.png b/graphics/pokemon/unown/anim_front_m.png
index ee9c7c7a8..ee9c7c7a8 100644
--- a/graphics/pokemon/anim_front_pics/unown_m_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_m.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_n_front_pic.png b/graphics/pokemon/unown/anim_front_n.png
index 47cac4516..47cac4516 100644
--- a/graphics/pokemon/anim_front_pics/unown_n_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_n.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_o_front_pic.png b/graphics/pokemon/unown/anim_front_o.png
index b32cdb325..b32cdb325 100644
--- a/graphics/pokemon/anim_front_pics/unown_o_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_o.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_p_front_pic.png b/graphics/pokemon/unown/anim_front_p.png
index 01aa0329c..01aa0329c 100644
--- a/graphics/pokemon/anim_front_pics/unown_p_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_p.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_q_front_pic.png b/graphics/pokemon/unown/anim_front_q.png
index 18c930e69..18c930e69 100644
--- a/graphics/pokemon/anim_front_pics/unown_q_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_q.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_question_mark_front_pic.png b/graphics/pokemon/unown/anim_front_question_mark.png
index 8a2f8bb6c..8a2f8bb6c 100644
--- a/graphics/pokemon/anim_front_pics/unown_question_mark_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_question_mark.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_r_front_pic.png b/graphics/pokemon/unown/anim_front_r.png
index 0b861d277..0b861d277 100644
--- a/graphics/pokemon/anim_front_pics/unown_r_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_r.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_s_front_pic.png b/graphics/pokemon/unown/anim_front_s.png
index 17016ac1c..17016ac1c 100644
--- a/graphics/pokemon/anim_front_pics/unown_s_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_s.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_t_front_pic.png b/graphics/pokemon/unown/anim_front_t.png
index 556ab78ce..556ab78ce 100644
--- a/graphics/pokemon/anim_front_pics/unown_t_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_t.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_u_front_pic.png b/graphics/pokemon/unown/anim_front_u.png
index cea47fd5b..cea47fd5b 100644
--- a/graphics/pokemon/anim_front_pics/unown_u_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_u.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_v_front_pic.png b/graphics/pokemon/unown/anim_front_v.png
index d073949e5..d073949e5 100644
--- a/graphics/pokemon/anim_front_pics/unown_v_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_v.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_w_front_pic.png b/graphics/pokemon/unown/anim_front_w.png
index d34a16f05..d34a16f05 100644
--- a/graphics/pokemon/anim_front_pics/unown_w_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_w.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_x_front_pic.png b/graphics/pokemon/unown/anim_front_x.png
index a75ab916c..a75ab916c 100644
--- a/graphics/pokemon/anim_front_pics/unown_x_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_x.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_y_front_pic.png b/graphics/pokemon/unown/anim_front_y.png
index 8b5221943..8b5221943 100644
--- a/graphics/pokemon/anim_front_pics/unown_y_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_y.png
Binary files differ
diff --git a/graphics/pokemon/anim_front_pics/unown_z_front_pic.png b/graphics/pokemon/unown/anim_front_z.png
index 3080f7347..3080f7347 100644
--- a/graphics/pokemon/anim_front_pics/unown_z_front_pic.png
+++ b/graphics/pokemon/unown/anim_front_z.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_a_back_pic.png b/graphics/pokemon/unown/back_a.png
index b90973023..b90973023 100644
--- a/graphics/pokemon/back_pics/unown_a_back_pic.png
+++ b/graphics/pokemon/unown/back_a.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_b_back_pic.png b/graphics/pokemon/unown/back_b.png
index b398754ca..b398754ca 100644
--- a/graphics/pokemon/back_pics/unown_b_back_pic.png
+++ b/graphics/pokemon/unown/back_b.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_c_back_pic.png b/graphics/pokemon/unown/back_c.png
index b9bccf4c5..b9bccf4c5 100644
--- a/graphics/pokemon/back_pics/unown_c_back_pic.png
+++ b/graphics/pokemon/unown/back_c.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_d_back_pic.png b/graphics/pokemon/unown/back_d.png
index 1b3f19b09..1b3f19b09 100644
--- a/graphics/pokemon/back_pics/unown_d_back_pic.png
+++ b/graphics/pokemon/unown/back_d.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_e_back_pic.png b/graphics/pokemon/unown/back_e.png
index 1baaf759f..1baaf759f 100644
--- a/graphics/pokemon/back_pics/unown_e_back_pic.png
+++ b/graphics/pokemon/unown/back_e.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.png b/graphics/pokemon/unown/back_exclamation_mark.png
index cb05b906d..cb05b906d 100644
--- a/graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.png
+++ b/graphics/pokemon/unown/back_exclamation_mark.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_f_back_pic.png b/graphics/pokemon/unown/back_f.png
index 30be252f9..30be252f9 100644
--- a/graphics/pokemon/back_pics/unown_f_back_pic.png
+++ b/graphics/pokemon/unown/back_f.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_g_back_pic.png b/graphics/pokemon/unown/back_g.png
index ec5e708bf..ec5e708bf 100644
--- a/graphics/pokemon/back_pics/unown_g_back_pic.png
+++ b/graphics/pokemon/unown/back_g.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_h_back_pic.png b/graphics/pokemon/unown/back_h.png
index 992e34e21..992e34e21 100644
--- a/graphics/pokemon/back_pics/unown_h_back_pic.png
+++ b/graphics/pokemon/unown/back_h.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_i_back_pic.png b/graphics/pokemon/unown/back_i.png
index 5640fd5e0..5640fd5e0 100644
--- a/graphics/pokemon/back_pics/unown_i_back_pic.png
+++ b/graphics/pokemon/unown/back_i.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_j_back_pic.png b/graphics/pokemon/unown/back_j.png
index 619ebb75b..619ebb75b 100644
--- a/graphics/pokemon/back_pics/unown_j_back_pic.png
+++ b/graphics/pokemon/unown/back_j.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_k_back_pic.png b/graphics/pokemon/unown/back_k.png
index 46ac175bc..46ac175bc 100644
--- a/graphics/pokemon/back_pics/unown_k_back_pic.png
+++ b/graphics/pokemon/unown/back_k.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_l_back_pic.png b/graphics/pokemon/unown/back_l.png
index da0c6c5f5..da0c6c5f5 100644
--- a/graphics/pokemon/back_pics/unown_l_back_pic.png
+++ b/graphics/pokemon/unown/back_l.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_m_back_pic.png b/graphics/pokemon/unown/back_m.png
index 37dd0a97f..37dd0a97f 100644
--- a/graphics/pokemon/back_pics/unown_m_back_pic.png
+++ b/graphics/pokemon/unown/back_m.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_n_back_pic.png b/graphics/pokemon/unown/back_n.png
index 17163be73..17163be73 100644
--- a/graphics/pokemon/back_pics/unown_n_back_pic.png
+++ b/graphics/pokemon/unown/back_n.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_o_back_pic.png b/graphics/pokemon/unown/back_o.png
index 7260da757..7260da757 100644
--- a/graphics/pokemon/back_pics/unown_o_back_pic.png
+++ b/graphics/pokemon/unown/back_o.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_p_back_pic.png b/graphics/pokemon/unown/back_p.png
index e275a3a96..e275a3a96 100644
--- a/graphics/pokemon/back_pics/unown_p_back_pic.png
+++ b/graphics/pokemon/unown/back_p.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_q_back_pic.png b/graphics/pokemon/unown/back_q.png
index 08d5a0d0a..08d5a0d0a 100644
--- a/graphics/pokemon/back_pics/unown_q_back_pic.png
+++ b/graphics/pokemon/unown/back_q.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_question_mark_back_pic.png b/graphics/pokemon/unown/back_question_mark.png
index 3d9ae3ee3..3d9ae3ee3 100644
--- a/graphics/pokemon/back_pics/unown_question_mark_back_pic.png
+++ b/graphics/pokemon/unown/back_question_mark.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_r_back_pic.png b/graphics/pokemon/unown/back_r.png
index 9ea2bd6f7..9ea2bd6f7 100644
--- a/graphics/pokemon/back_pics/unown_r_back_pic.png
+++ b/graphics/pokemon/unown/back_r.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_s_back_pic.png b/graphics/pokemon/unown/back_s.png
index c85571503..c85571503 100644
--- a/graphics/pokemon/back_pics/unown_s_back_pic.png
+++ b/graphics/pokemon/unown/back_s.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_t_back_pic.png b/graphics/pokemon/unown/back_t.png
index f840953b8..f840953b8 100644
--- a/graphics/pokemon/back_pics/unown_t_back_pic.png
+++ b/graphics/pokemon/unown/back_t.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_u_back_pic.png b/graphics/pokemon/unown/back_u.png
index 8d99bd088..8d99bd088 100644
--- a/graphics/pokemon/back_pics/unown_u_back_pic.png
+++ b/graphics/pokemon/unown/back_u.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_v_back_pic.png b/graphics/pokemon/unown/back_v.png
index 41e215720..41e215720 100644
--- a/graphics/pokemon/back_pics/unown_v_back_pic.png
+++ b/graphics/pokemon/unown/back_v.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_w_back_pic.png b/graphics/pokemon/unown/back_w.png
index 3d42e4eb2..3d42e4eb2 100644
--- a/graphics/pokemon/back_pics/unown_w_back_pic.png
+++ b/graphics/pokemon/unown/back_w.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_x_back_pic.png b/graphics/pokemon/unown/back_x.png
index a21d5a9c3..a21d5a9c3 100644
--- a/graphics/pokemon/back_pics/unown_x_back_pic.png
+++ b/graphics/pokemon/unown/back_x.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_y_back_pic.png b/graphics/pokemon/unown/back_y.png
index 3ccca08e8..3ccca08e8 100644
--- a/graphics/pokemon/back_pics/unown_y_back_pic.png
+++ b/graphics/pokemon/unown/back_y.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/unown_z_back_pic.png b/graphics/pokemon/unown/back_z.png
index e1f528a2b..e1f528a2b 100644
--- a/graphics/pokemon/back_pics/unown_z_back_pic.png
+++ b/graphics/pokemon/unown/back_z.png
Binary files differ
diff --git a/graphics/pokemon/footprints/unown_footprint.png b/graphics/pokemon/unown/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/unown_footprint.png
+++ b/graphics/pokemon/unown/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_a_still_front_pic.png b/graphics/pokemon/unown/front_a.png
index 697de36dc..697de36dc 100644
--- a/graphics/pokemon/front_pics/unown_a_still_front_pic.png
+++ b/graphics/pokemon/unown/front_a.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_b_still_front_pic.png b/graphics/pokemon/unown/front_b.png
index fbe2e4623..fbe2e4623 100644
--- a/graphics/pokemon/front_pics/unown_b_still_front_pic.png
+++ b/graphics/pokemon/unown/front_b.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_c_still_front_pic.png b/graphics/pokemon/unown/front_c.png
index c5ef1c457..c5ef1c457 100644
--- a/graphics/pokemon/front_pics/unown_c_still_front_pic.png
+++ b/graphics/pokemon/unown/front_c.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_d_still_front_pic.png b/graphics/pokemon/unown/front_d.png
index c39b26120..c39b26120 100644
--- a/graphics/pokemon/front_pics/unown_d_still_front_pic.png
+++ b/graphics/pokemon/unown/front_d.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_e_still_front_pic.png b/graphics/pokemon/unown/front_e.png
index 81e3f9c93..81e3f9c93 100644
--- a/graphics/pokemon/front_pics/unown_e_still_front_pic.png
+++ b/graphics/pokemon/unown/front_e.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.png b/graphics/pokemon/unown/front_exclamation_mark.png
index 86f329f92..86f329f92 100644
--- a/graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.png
+++ b/graphics/pokemon/unown/front_exclamation_mark.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_f_still_front_pic.png b/graphics/pokemon/unown/front_f.png
index 8e61eb768..8e61eb768 100644
--- a/graphics/pokemon/front_pics/unown_f_still_front_pic.png
+++ b/graphics/pokemon/unown/front_f.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_g_still_front_pic.png b/graphics/pokemon/unown/front_g.png
index 4f665124a..4f665124a 100644
--- a/graphics/pokemon/front_pics/unown_g_still_front_pic.png
+++ b/graphics/pokemon/unown/front_g.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_h_still_front_pic.png b/graphics/pokemon/unown/front_h.png
index f8ab66963..f8ab66963 100644
--- a/graphics/pokemon/front_pics/unown_h_still_front_pic.png
+++ b/graphics/pokemon/unown/front_h.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_i_still_front_pic.png b/graphics/pokemon/unown/front_i.png
index ebc8a51a9..ebc8a51a9 100644
--- a/graphics/pokemon/front_pics/unown_i_still_front_pic.png
+++ b/graphics/pokemon/unown/front_i.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_j_still_front_pic.png b/graphics/pokemon/unown/front_j.png
index 4c1f4ed2e..4c1f4ed2e 100644
--- a/graphics/pokemon/front_pics/unown_j_still_front_pic.png
+++ b/graphics/pokemon/unown/front_j.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_k_still_front_pic.png b/graphics/pokemon/unown/front_k.png
index 8ccce125e..8ccce125e 100644
--- a/graphics/pokemon/front_pics/unown_k_still_front_pic.png
+++ b/graphics/pokemon/unown/front_k.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_l_still_front_pic.png b/graphics/pokemon/unown/front_l.png
index 6bb837167..6bb837167 100644
--- a/graphics/pokemon/front_pics/unown_l_still_front_pic.png
+++ b/graphics/pokemon/unown/front_l.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_m_still_front_pic.png b/graphics/pokemon/unown/front_m.png
index 981c7f801..981c7f801 100644
--- a/graphics/pokemon/front_pics/unown_m_still_front_pic.png
+++ b/graphics/pokemon/unown/front_m.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_n_still_front_pic.png b/graphics/pokemon/unown/front_n.png
index cff797db4..cff797db4 100644
--- a/graphics/pokemon/front_pics/unown_n_still_front_pic.png
+++ b/graphics/pokemon/unown/front_n.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_o_still_front_pic.png b/graphics/pokemon/unown/front_o.png
index 8b8e81295..8b8e81295 100644
--- a/graphics/pokemon/front_pics/unown_o_still_front_pic.png
+++ b/graphics/pokemon/unown/front_o.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_p_still_front_pic.png b/graphics/pokemon/unown/front_p.png
index 99a7c98e2..99a7c98e2 100644
--- a/graphics/pokemon/front_pics/unown_p_still_front_pic.png
+++ b/graphics/pokemon/unown/front_p.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_q_still_front_pic.png b/graphics/pokemon/unown/front_q.png
index fe94c27fa..fe94c27fa 100644
--- a/graphics/pokemon/front_pics/unown_q_still_front_pic.png
+++ b/graphics/pokemon/unown/front_q.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_question_mark_still_front_pic.png b/graphics/pokemon/unown/front_question_mark.png
index ee0ad284c..ee0ad284c 100644
--- a/graphics/pokemon/front_pics/unown_question_mark_still_front_pic.png
+++ b/graphics/pokemon/unown/front_question_mark.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_r_still_front_pic.png b/graphics/pokemon/unown/front_r.png
index 4e2a40007..4e2a40007 100644
--- a/graphics/pokemon/front_pics/unown_r_still_front_pic.png
+++ b/graphics/pokemon/unown/front_r.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_s_still_front_pic.png b/graphics/pokemon/unown/front_s.png
index a144e27f5..a144e27f5 100644
--- a/graphics/pokemon/front_pics/unown_s_still_front_pic.png
+++ b/graphics/pokemon/unown/front_s.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_t_still_front_pic.png b/graphics/pokemon/unown/front_t.png
index 4d5fa8b98..4d5fa8b98 100644
--- a/graphics/pokemon/front_pics/unown_t_still_front_pic.png
+++ b/graphics/pokemon/unown/front_t.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_u_still_front_pic.png b/graphics/pokemon/unown/front_u.png
index 39503f01c..39503f01c 100644
--- a/graphics/pokemon/front_pics/unown_u_still_front_pic.png
+++ b/graphics/pokemon/unown/front_u.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_v_still_front_pic.png b/graphics/pokemon/unown/front_v.png
index f014289bd..f014289bd 100644
--- a/graphics/pokemon/front_pics/unown_v_still_front_pic.png
+++ b/graphics/pokemon/unown/front_v.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_w_still_front_pic.png b/graphics/pokemon/unown/front_w.png
index 829804ebf..829804ebf 100644
--- a/graphics/pokemon/front_pics/unown_w_still_front_pic.png
+++ b/graphics/pokemon/unown/front_w.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_x_still_front_pic.png b/graphics/pokemon/unown/front_x.png
index 053e2ee08..053e2ee08 100644
--- a/graphics/pokemon/front_pics/unown_x_still_front_pic.png
+++ b/graphics/pokemon/unown/front_x.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_y_still_front_pic.png b/graphics/pokemon/unown/front_y.png
index d8f40e27e..d8f40e27e 100644
--- a/graphics/pokemon/front_pics/unown_y_still_front_pic.png
+++ b/graphics/pokemon/unown/front_y.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/unown_z_still_front_pic.png b/graphics/pokemon/unown/front_z.png
index 054eacb6d..054eacb6d 100644
--- a/graphics/pokemon/front_pics/unown_z_still_front_pic.png
+++ b/graphics/pokemon/unown/front_z.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_a_icon.png b/graphics/pokemon/unown/icon_a.png
index cd9056ab2..cd9056ab2 100644
--- a/graphics/pokemon/icons/unown_a_icon.png
+++ b/graphics/pokemon/unown/icon_a.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_B_icon.png b/graphics/pokemon/unown/icon_b.png
index 47654aba5..47654aba5 100644
--- a/graphics/pokemon/icons/unown_B_icon.png
+++ b/graphics/pokemon/unown/icon_b.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_C_icon.png b/graphics/pokemon/unown/icon_c.png
index 7b8721a7d..7b8721a7d 100644
--- a/graphics/pokemon/icons/unown_C_icon.png
+++ b/graphics/pokemon/unown/icon_c.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_D_icon.png b/graphics/pokemon/unown/icon_d.png
index db6b0cf8a..db6b0cf8a 100644
--- a/graphics/pokemon/icons/unown_D_icon.png
+++ b/graphics/pokemon/unown/icon_d.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_E_icon.png b/graphics/pokemon/unown/icon_e.png
index 6addb828e..6addb828e 100644
--- a/graphics/pokemon/icons/unown_E_icon.png
+++ b/graphics/pokemon/unown/icon_e.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_exclamation_mark_icon.png b/graphics/pokemon/unown/icon_exclamation_mark.png
index beeea4ae1..beeea4ae1 100644
--- a/graphics/pokemon/icons/unown_exclamation_mark_icon.png
+++ b/graphics/pokemon/unown/icon_exclamation_mark.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_F_icon.png b/graphics/pokemon/unown/icon_f.png
index 3c45017b1..3c45017b1 100644
--- a/graphics/pokemon/icons/unown_F_icon.png
+++ b/graphics/pokemon/unown/icon_f.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_G_icon.png b/graphics/pokemon/unown/icon_g.png
index ab00f8ad2..ab00f8ad2 100644
--- a/graphics/pokemon/icons/unown_G_icon.png
+++ b/graphics/pokemon/unown/icon_g.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_H_icon.png b/graphics/pokemon/unown/icon_h.png
index bd4fd96bf..bd4fd96bf 100644
--- a/graphics/pokemon/icons/unown_H_icon.png
+++ b/graphics/pokemon/unown/icon_h.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_I_icon.png b/graphics/pokemon/unown/icon_i.png
index 6973196bb..6973196bb 100644
--- a/graphics/pokemon/icons/unown_I_icon.png
+++ b/graphics/pokemon/unown/icon_i.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_J_icon.png b/graphics/pokemon/unown/icon_j.png
index b85a45a71..b85a45a71 100644
--- a/graphics/pokemon/icons/unown_J_icon.png
+++ b/graphics/pokemon/unown/icon_j.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_K_icon.png b/graphics/pokemon/unown/icon_k.png
index 81bcb385e..81bcb385e 100644
--- a/graphics/pokemon/icons/unown_K_icon.png
+++ b/graphics/pokemon/unown/icon_k.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_L_icon.png b/graphics/pokemon/unown/icon_l.png
index 5f6fb9db8..5f6fb9db8 100644
--- a/graphics/pokemon/icons/unown_L_icon.png
+++ b/graphics/pokemon/unown/icon_l.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_M_icon.png b/graphics/pokemon/unown/icon_m.png
index c9b8d0fb4..c9b8d0fb4 100644
--- a/graphics/pokemon/icons/unown_M_icon.png
+++ b/graphics/pokemon/unown/icon_m.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_N_icon.png b/graphics/pokemon/unown/icon_n.png
index b1e5c5abb..b1e5c5abb 100644
--- a/graphics/pokemon/icons/unown_N_icon.png
+++ b/graphics/pokemon/unown/icon_n.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_O_icon.png b/graphics/pokemon/unown/icon_o.png
index 14a88d062..14a88d062 100644
--- a/graphics/pokemon/icons/unown_O_icon.png
+++ b/graphics/pokemon/unown/icon_o.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_P_icon.png b/graphics/pokemon/unown/icon_p.png
index 7a7afb8de..7a7afb8de 100644
--- a/graphics/pokemon/icons/unown_P_icon.png
+++ b/graphics/pokemon/unown/icon_p.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_Q_icon.png b/graphics/pokemon/unown/icon_q.png
index 2270f8373..2270f8373 100644
--- a/graphics/pokemon/icons/unown_Q_icon.png
+++ b/graphics/pokemon/unown/icon_q.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_question_mark_icon.png b/graphics/pokemon/unown/icon_question_mark.png
index a9bb50930..a9bb50930 100644
--- a/graphics/pokemon/icons/unown_question_mark_icon.png
+++ b/graphics/pokemon/unown/icon_question_mark.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_R_icon.png b/graphics/pokemon/unown/icon_r.png
index 6ba4d5764..6ba4d5764 100644
--- a/graphics/pokemon/icons/unown_R_icon.png
+++ b/graphics/pokemon/unown/icon_r.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_S_icon.png b/graphics/pokemon/unown/icon_s.png
index 44f17718b..44f17718b 100644
--- a/graphics/pokemon/icons/unown_S_icon.png
+++ b/graphics/pokemon/unown/icon_s.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_T_icon.png b/graphics/pokemon/unown/icon_t.png
index 9023b7366..9023b7366 100644
--- a/graphics/pokemon/icons/unown_T_icon.png
+++ b/graphics/pokemon/unown/icon_t.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_U_icon.png b/graphics/pokemon/unown/icon_u.png
index 3d315ebf2..3d315ebf2 100644
--- a/graphics/pokemon/icons/unown_U_icon.png
+++ b/graphics/pokemon/unown/icon_u.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_V_icon.png b/graphics/pokemon/unown/icon_v.png
index f973a3d85..f973a3d85 100644
--- a/graphics/pokemon/icons/unown_V_icon.png
+++ b/graphics/pokemon/unown/icon_v.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_W_icon.png b/graphics/pokemon/unown/icon_w.png
index aabb0663e..aabb0663e 100644
--- a/graphics/pokemon/icons/unown_W_icon.png
+++ b/graphics/pokemon/unown/icon_w.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_X_icon.png b/graphics/pokemon/unown/icon_x.png
index b5be9e10b..b5be9e10b 100644
--- a/graphics/pokemon/icons/unown_X_icon.png
+++ b/graphics/pokemon/unown/icon_x.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_Y_icon.png b/graphics/pokemon/unown/icon_y.png
index 8923810aa..8923810aa 100644
--- a/graphics/pokemon/icons/unown_Y_icon.png
+++ b/graphics/pokemon/unown/icon_y.png
Binary files differ
diff --git a/graphics/pokemon/icons/unown_Z_icon.png b/graphics/pokemon/unown/icon_z.png
index a14f73696..a14f73696 100644
--- a/graphics/pokemon/icons/unown_Z_icon.png
+++ b/graphics/pokemon/unown/icon_z.png
Binary files differ
diff --git a/graphics/pokemon/palettes/unown_palette.pal b/graphics/pokemon/unown/normal.pal
index 6babb2d90..6babb2d90 100644
--- a/graphics/pokemon/palettes/unown_palette.pal
+++ b/graphics/pokemon/unown/normal.pal
diff --git a/graphics/pokemon/palettes/unown_shiny_palette.pal b/graphics/pokemon/unown/shiny.pal
index 016a93548..016a93548 100644
--- a/graphics/pokemon/palettes/unown_shiny_palette.pal
+++ b/graphics/pokemon/unown/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/ursaring_front_pic.png b/graphics/pokemon/ursaring/anim_front.png
index eb9e307ce..eb9e307ce 100644
--- a/graphics/pokemon/anim_front_pics/ursaring_front_pic.png
+++ b/graphics/pokemon/ursaring/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/ursaring_back_pic.png b/graphics/pokemon/ursaring/back.png
index 4a546c055..4a546c055 100644
--- a/graphics/pokemon/back_pics/ursaring_back_pic.png
+++ b/graphics/pokemon/ursaring/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/ursaring_footprint.png b/graphics/pokemon/ursaring/footprint.png
index b1023bd3b..b1023bd3b 100644
--- a/graphics/pokemon/footprints/ursaring_footprint.png
+++ b/graphics/pokemon/ursaring/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/ursaring_still_front_pic.png b/graphics/pokemon/ursaring/front.png
index 8699738b5..8699738b5 100644
--- a/graphics/pokemon/front_pics/ursaring_still_front_pic.png
+++ b/graphics/pokemon/ursaring/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/ursaring_icon.png b/graphics/pokemon/ursaring/icon.png
index 143353f31..143353f31 100644
--- a/graphics/pokemon/icons/ursaring_icon.png
+++ b/graphics/pokemon/ursaring/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/ursaring_palette.pal b/graphics/pokemon/ursaring/normal.pal
index 6af3469eb..6af3469eb 100644
--- a/graphics/pokemon/palettes/ursaring_palette.pal
+++ b/graphics/pokemon/ursaring/normal.pal
diff --git a/graphics/pokemon/palettes/ursaring_shiny_palette.pal b/graphics/pokemon/ursaring/shiny.pal
index 607975efa..607975efa 100644
--- a/graphics/pokemon/palettes/ursaring_shiny_palette.pal
+++ b/graphics/pokemon/ursaring/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/vaporeon_front_pic.png b/graphics/pokemon/vaporeon/anim_front.png
index f3eb2d626..f3eb2d626 100644
--- a/graphics/pokemon/anim_front_pics/vaporeon_front_pic.png
+++ b/graphics/pokemon/vaporeon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/vaporeon_back_pic.png b/graphics/pokemon/vaporeon/back.png
index 5ac5b94fb..5ac5b94fb 100644
--- a/graphics/pokemon/back_pics/vaporeon_back_pic.png
+++ b/graphics/pokemon/vaporeon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/vaporeon_footprint.png b/graphics/pokemon/vaporeon/footprint.png
index 2b44d4b24..2b44d4b24 100644
--- a/graphics/pokemon/footprints/vaporeon_footprint.png
+++ b/graphics/pokemon/vaporeon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/vaporeon_still_front_pic.png b/graphics/pokemon/vaporeon/front.png
index af9a0f999..af9a0f999 100644
--- a/graphics/pokemon/front_pics/vaporeon_still_front_pic.png
+++ b/graphics/pokemon/vaporeon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/vaporeon_icon.png b/graphics/pokemon/vaporeon/icon.png
index d4003c2a8..d4003c2a8 100644
--- a/graphics/pokemon/icons/vaporeon_icon.png
+++ b/graphics/pokemon/vaporeon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/vaporeon_palette.pal b/graphics/pokemon/vaporeon/normal.pal
index e6a4024f1..e6a4024f1 100644
--- a/graphics/pokemon/palettes/vaporeon_palette.pal
+++ b/graphics/pokemon/vaporeon/normal.pal
diff --git a/graphics/pokemon/palettes/vaporeon_shiny_palette.pal b/graphics/pokemon/vaporeon/shiny.pal
index 1cfaae92b..1cfaae92b 100644
--- a/graphics/pokemon/palettes/vaporeon_shiny_palette.pal
+++ b/graphics/pokemon/vaporeon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/venomoth_front_pic.png b/graphics/pokemon/venomoth/anim_front.png
index 55704df34..55704df34 100644
--- a/graphics/pokemon/anim_front_pics/venomoth_front_pic.png
+++ b/graphics/pokemon/venomoth/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/venomoth_back_pic.png b/graphics/pokemon/venomoth/back.png
index 56b1b5b7a..56b1b5b7a 100644
--- a/graphics/pokemon/back_pics/venomoth_back_pic.png
+++ b/graphics/pokemon/venomoth/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/venomoth_footprint.png b/graphics/pokemon/venomoth/footprint.png
index 6965dbe60..6965dbe60 100644
--- a/graphics/pokemon/footprints/venomoth_footprint.png
+++ b/graphics/pokemon/venomoth/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/venomoth_still_front_pic.png b/graphics/pokemon/venomoth/front.png
index 6a13cd6f1..6a13cd6f1 100644
--- a/graphics/pokemon/front_pics/venomoth_still_front_pic.png
+++ b/graphics/pokemon/venomoth/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/venomoth_icon.png b/graphics/pokemon/venomoth/icon.png
index d77b6dce8..d77b6dce8 100644
--- a/graphics/pokemon/icons/venomoth_icon.png
+++ b/graphics/pokemon/venomoth/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/venomoth_palette.pal b/graphics/pokemon/venomoth/normal.pal
index c9b3d325d..c9b3d325d 100644
--- a/graphics/pokemon/palettes/venomoth_palette.pal
+++ b/graphics/pokemon/venomoth/normal.pal
diff --git a/graphics/pokemon/palettes/venomoth_shiny_palette.pal b/graphics/pokemon/venomoth/shiny.pal
index a490c4985..a490c4985 100644
--- a/graphics/pokemon/palettes/venomoth_shiny_palette.pal
+++ b/graphics/pokemon/venomoth/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/venonat_front_pic.png b/graphics/pokemon/venonat/anim_front.png
index a8c726b2c..a8c726b2c 100644
--- a/graphics/pokemon/anim_front_pics/venonat_front_pic.png
+++ b/graphics/pokemon/venonat/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/venonat_back_pic.png b/graphics/pokemon/venonat/back.png
index 44f7f45c5..44f7f45c5 100644
--- a/graphics/pokemon/back_pics/venonat_back_pic.png
+++ b/graphics/pokemon/venonat/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/venonat_footprint.png b/graphics/pokemon/venonat/footprint.png
index 3675945c9..3675945c9 100644
--- a/graphics/pokemon/footprints/venonat_footprint.png
+++ b/graphics/pokemon/venonat/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/venonat_still_front_pic.png b/graphics/pokemon/venonat/front.png
index 8d27f698b..8d27f698b 100644
--- a/graphics/pokemon/front_pics/venonat_still_front_pic.png
+++ b/graphics/pokemon/venonat/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/venonat_icon.png b/graphics/pokemon/venonat/icon.png
index a2ed54b71..a2ed54b71 100644
--- a/graphics/pokemon/icons/venonat_icon.png
+++ b/graphics/pokemon/venonat/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/venonat_palette.pal b/graphics/pokemon/venonat/normal.pal
index ae6698416..ae6698416 100644
--- a/graphics/pokemon/palettes/venonat_palette.pal
+++ b/graphics/pokemon/venonat/normal.pal
diff --git a/graphics/pokemon/palettes/venonat_shiny_palette.pal b/graphics/pokemon/venonat/shiny.pal
index 88c346a27..88c346a27 100644
--- a/graphics/pokemon/palettes/venonat_shiny_palette.pal
+++ b/graphics/pokemon/venonat/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/venusaur_front_pic.png b/graphics/pokemon/venusaur/anim_front.png
index 7a1157fe3..7a1157fe3 100644
--- a/graphics/pokemon/anim_front_pics/venusaur_front_pic.png
+++ b/graphics/pokemon/venusaur/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/venusaur_back_pic.png b/graphics/pokemon/venusaur/back.png
index 78649eeee..78649eeee 100644
--- a/graphics/pokemon/back_pics/venusaur_back_pic.png
+++ b/graphics/pokemon/venusaur/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/venusaur_footprint.png b/graphics/pokemon/venusaur/footprint.png
index bdef2c818..bdef2c818 100644
--- a/graphics/pokemon/footprints/venusaur_footprint.png
+++ b/graphics/pokemon/venusaur/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/venusaur_still_front_pic.png b/graphics/pokemon/venusaur/front.png
index 479be8737..479be8737 100644
--- a/graphics/pokemon/front_pics/venusaur_still_front_pic.png
+++ b/graphics/pokemon/venusaur/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/venusaur_icon.png b/graphics/pokemon/venusaur/icon.png
index fbd5380f5..fbd5380f5 100644
--- a/graphics/pokemon/icons/venusaur_icon.png
+++ b/graphics/pokemon/venusaur/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/venusaur_palette.pal b/graphics/pokemon/venusaur/normal.pal
index 362bb6d92..362bb6d92 100644
--- a/graphics/pokemon/palettes/venusaur_palette.pal
+++ b/graphics/pokemon/venusaur/normal.pal
diff --git a/graphics/pokemon/palettes/venusaur_shiny_palette.pal b/graphics/pokemon/venusaur/shiny.pal
index 566246394..566246394 100644
--- a/graphics/pokemon/palettes/venusaur_shiny_palette.pal
+++ b/graphics/pokemon/venusaur/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/vibrava_front_pic.png b/graphics/pokemon/vibrava/anim_front.png
index 6f58b89bb..6f58b89bb 100644
--- a/graphics/pokemon/anim_front_pics/vibrava_front_pic.png
+++ b/graphics/pokemon/vibrava/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/vibrava_back_pic.png b/graphics/pokemon/vibrava/back.png
index c5a0eb60b..c5a0eb60b 100644
--- a/graphics/pokemon/back_pics/vibrava_back_pic.png
+++ b/graphics/pokemon/vibrava/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/vibrava_footprint.png b/graphics/pokemon/vibrava/footprint.png
index fdf76f9f2..fdf76f9f2 100644
--- a/graphics/pokemon/footprints/vibrava_footprint.png
+++ b/graphics/pokemon/vibrava/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/vibrava_still_front_pic.png b/graphics/pokemon/vibrava/front.png
index 487ce4746..487ce4746 100644
--- a/graphics/pokemon/front_pics/vibrava_still_front_pic.png
+++ b/graphics/pokemon/vibrava/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/vibrava_icon.png b/graphics/pokemon/vibrava/icon.png
index 422ea2359..422ea2359 100644
--- a/graphics/pokemon/icons/vibrava_icon.png
+++ b/graphics/pokemon/vibrava/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/vibrava_palette.pal b/graphics/pokemon/vibrava/normal.pal
index 7f40d2316..7f40d2316 100644
--- a/graphics/pokemon/palettes/vibrava_palette.pal
+++ b/graphics/pokemon/vibrava/normal.pal
diff --git a/graphics/pokemon/palettes/vibrava_shiny_palette.pal b/graphics/pokemon/vibrava/shiny.pal
index 8da128d69..8da128d69 100644
--- a/graphics/pokemon/palettes/vibrava_shiny_palette.pal
+++ b/graphics/pokemon/vibrava/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/victreebel_front_pic.png b/graphics/pokemon/victreebel/anim_front.png
index 3615e31a1..3615e31a1 100644
--- a/graphics/pokemon/anim_front_pics/victreebel_front_pic.png
+++ b/graphics/pokemon/victreebel/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/victreebel_back_pic.png b/graphics/pokemon/victreebel/back.png
index a92b61f7a..a92b61f7a 100644
--- a/graphics/pokemon/back_pics/victreebel_back_pic.png
+++ b/graphics/pokemon/victreebel/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/victreebel_footprint.png b/graphics/pokemon/victreebel/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/victreebel_footprint.png
+++ b/graphics/pokemon/victreebel/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/victreebel_still_front_pic.png b/graphics/pokemon/victreebel/front.png
index 4f2d7b8f4..4f2d7b8f4 100644
--- a/graphics/pokemon/front_pics/victreebel_still_front_pic.png
+++ b/graphics/pokemon/victreebel/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/victreebel_icon.png b/graphics/pokemon/victreebel/icon.png
index 49298177e..49298177e 100644
--- a/graphics/pokemon/icons/victreebel_icon.png
+++ b/graphics/pokemon/victreebel/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/victreebel_palette.pal b/graphics/pokemon/victreebel/normal.pal
index 635eae0ab..635eae0ab 100644
--- a/graphics/pokemon/palettes/victreebel_palette.pal
+++ b/graphics/pokemon/victreebel/normal.pal
diff --git a/graphics/pokemon/palettes/victreebel_shiny_palette.pal b/graphics/pokemon/victreebel/shiny.pal
index 2542072f3..2542072f3 100644
--- a/graphics/pokemon/palettes/victreebel_shiny_palette.pal
+++ b/graphics/pokemon/victreebel/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/vigoroth_front_pic.png b/graphics/pokemon/vigoroth/anim_front.png
index cbf7519a0..cbf7519a0 100644
--- a/graphics/pokemon/anim_front_pics/vigoroth_front_pic.png
+++ b/graphics/pokemon/vigoroth/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/vigoroth_back_pic.png b/graphics/pokemon/vigoroth/back.png
index 7d806e703..7d806e703 100644
--- a/graphics/pokemon/back_pics/vigoroth_back_pic.png
+++ b/graphics/pokemon/vigoroth/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/vigoroth_footprint.png b/graphics/pokemon/vigoroth/footprint.png
index bc10a7230..bc10a7230 100644
--- a/graphics/pokemon/footprints/vigoroth_footprint.png
+++ b/graphics/pokemon/vigoroth/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/vigoroth_still_front_pic.png b/graphics/pokemon/vigoroth/front.png
index fe87041ee..fe87041ee 100644
--- a/graphics/pokemon/front_pics/vigoroth_still_front_pic.png
+++ b/graphics/pokemon/vigoroth/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/vigoroth_icon.png b/graphics/pokemon/vigoroth/icon.png
index f8808cde3..f8808cde3 100644
--- a/graphics/pokemon/icons/vigoroth_icon.png
+++ b/graphics/pokemon/vigoroth/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/vigoroth_palette.pal b/graphics/pokemon/vigoroth/normal.pal
index 824efe711..824efe711 100644
--- a/graphics/pokemon/palettes/vigoroth_palette.pal
+++ b/graphics/pokemon/vigoroth/normal.pal
diff --git a/graphics/pokemon/palettes/vigoroth_shiny_palette.pal b/graphics/pokemon/vigoroth/shiny.pal
index adc647979..adc647979 100644
--- a/graphics/pokemon/palettes/vigoroth_shiny_palette.pal
+++ b/graphics/pokemon/vigoroth/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/vileplume_front_pic.png b/graphics/pokemon/vileplume/anim_front.png
index e4fffcf76..e4fffcf76 100644
--- a/graphics/pokemon/anim_front_pics/vileplume_front_pic.png
+++ b/graphics/pokemon/vileplume/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/vileplume_back_pic.png b/graphics/pokemon/vileplume/back.png
index 6c441efb3..6c441efb3 100644
--- a/graphics/pokemon/back_pics/vileplume_back_pic.png
+++ b/graphics/pokemon/vileplume/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/vileplume_footprint.png b/graphics/pokemon/vileplume/footprint.png
index 8fd5bdf83..8fd5bdf83 100644
--- a/graphics/pokemon/footprints/vileplume_footprint.png
+++ b/graphics/pokemon/vileplume/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/vileplume_still_front_pic.png b/graphics/pokemon/vileplume/front.png
index 0d6962d32..0d6962d32 100644
--- a/graphics/pokemon/front_pics/vileplume_still_front_pic.png
+++ b/graphics/pokemon/vileplume/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/vileplume_icon.png b/graphics/pokemon/vileplume/icon.png
index 7009048c5..7009048c5 100644
--- a/graphics/pokemon/icons/vileplume_icon.png
+++ b/graphics/pokemon/vileplume/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/vileplume_palette.pal b/graphics/pokemon/vileplume/normal.pal
index 96d98b0d9..96d98b0d9 100644
--- a/graphics/pokemon/palettes/vileplume_palette.pal
+++ b/graphics/pokemon/vileplume/normal.pal
diff --git a/graphics/pokemon/palettes/vileplume_shiny_palette.pal b/graphics/pokemon/vileplume/shiny.pal
index b0bd4468f..b0bd4468f 100644
--- a/graphics/pokemon/palettes/vileplume_shiny_palette.pal
+++ b/graphics/pokemon/vileplume/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/volbeat_front_pic.png b/graphics/pokemon/volbeat/anim_front.png
index 945ed1400..945ed1400 100644
--- a/graphics/pokemon/anim_front_pics/volbeat_front_pic.png
+++ b/graphics/pokemon/volbeat/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/volbeat_back_pic.png b/graphics/pokemon/volbeat/back.png
index 217b966ed..217b966ed 100644
--- a/graphics/pokemon/back_pics/volbeat_back_pic.png
+++ b/graphics/pokemon/volbeat/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/volbeat_footprint.png b/graphics/pokemon/volbeat/footprint.png
index 916c59f60..916c59f60 100644
--- a/graphics/pokemon/footprints/volbeat_footprint.png
+++ b/graphics/pokemon/volbeat/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/volbeat_still_front_pic.png b/graphics/pokemon/volbeat/front.png
index 9daf199a3..9daf199a3 100644
--- a/graphics/pokemon/front_pics/volbeat_still_front_pic.png
+++ b/graphics/pokemon/volbeat/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/volbeat_icon.png b/graphics/pokemon/volbeat/icon.png
index 849715d33..849715d33 100644
--- a/graphics/pokemon/icons/volbeat_icon.png
+++ b/graphics/pokemon/volbeat/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/volbeat_palette.pal b/graphics/pokemon/volbeat/normal.pal
index 8d2cedfa8..8d2cedfa8 100644
--- a/graphics/pokemon/palettes/volbeat_palette.pal
+++ b/graphics/pokemon/volbeat/normal.pal
diff --git a/graphics/pokemon/palettes/volbeat_shiny_palette.pal b/graphics/pokemon/volbeat/shiny.pal
index 106d373cf..106d373cf 100644
--- a/graphics/pokemon/palettes/volbeat_shiny_palette.pal
+++ b/graphics/pokemon/volbeat/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/voltorb_front_pic.png b/graphics/pokemon/voltorb/anim_front.png
index ef550558b..ef550558b 100644
--- a/graphics/pokemon/anim_front_pics/voltorb_front_pic.png
+++ b/graphics/pokemon/voltorb/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/voltorb_back_pic.png b/graphics/pokemon/voltorb/back.png
index c379b4a8b..c379b4a8b 100644
--- a/graphics/pokemon/back_pics/voltorb_back_pic.png
+++ b/graphics/pokemon/voltorb/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/voltorb_footprint.png b/graphics/pokemon/voltorb/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/voltorb_footprint.png
+++ b/graphics/pokemon/voltorb/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/voltorb_still_front_pic.png b/graphics/pokemon/voltorb/front.png
index da18b70b6..da18b70b6 100644
--- a/graphics/pokemon/front_pics/voltorb_still_front_pic.png
+++ b/graphics/pokemon/voltorb/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/voltorb_icon.png b/graphics/pokemon/voltorb/icon.png
index 53d318fdb..53d318fdb 100644
--- a/graphics/pokemon/icons/voltorb_icon.png
+++ b/graphics/pokemon/voltorb/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/voltorb_palette.pal b/graphics/pokemon/voltorb/normal.pal
index 64007ece6..64007ece6 100644
--- a/graphics/pokemon/palettes/voltorb_palette.pal
+++ b/graphics/pokemon/voltorb/normal.pal
diff --git a/graphics/pokemon/palettes/voltorb_shiny_palette.pal b/graphics/pokemon/voltorb/shiny.pal
index 1ceb68b1b..1ceb68b1b 100644
--- a/graphics/pokemon/palettes/voltorb_shiny_palette.pal
+++ b/graphics/pokemon/voltorb/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/vulpix_front_pic.png b/graphics/pokemon/vulpix/anim_front.png
index f48618e69..f48618e69 100644
--- a/graphics/pokemon/anim_front_pics/vulpix_front_pic.png
+++ b/graphics/pokemon/vulpix/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/vulpix_back_pic.png b/graphics/pokemon/vulpix/back.png
index 49bad4ed6..49bad4ed6 100644
--- a/graphics/pokemon/back_pics/vulpix_back_pic.png
+++ b/graphics/pokemon/vulpix/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/vulpix_footprint.png b/graphics/pokemon/vulpix/footprint.png
index a0a655ca6..a0a655ca6 100644
--- a/graphics/pokemon/footprints/vulpix_footprint.png
+++ b/graphics/pokemon/vulpix/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/vulpix_still_front_pic.png b/graphics/pokemon/vulpix/front.png
index 53f866b2c..53f866b2c 100644
--- a/graphics/pokemon/front_pics/vulpix_still_front_pic.png
+++ b/graphics/pokemon/vulpix/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/vulpix_icon.png b/graphics/pokemon/vulpix/icon.png
index d998362d1..d998362d1 100644
--- a/graphics/pokemon/icons/vulpix_icon.png
+++ b/graphics/pokemon/vulpix/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/vulpix_palette.pal b/graphics/pokemon/vulpix/normal.pal
index 3fb9878d3..3fb9878d3 100644
--- a/graphics/pokemon/palettes/vulpix_palette.pal
+++ b/graphics/pokemon/vulpix/normal.pal
diff --git a/graphics/pokemon/palettes/vulpix_shiny_palette.pal b/graphics/pokemon/vulpix/shiny.pal
index 7c52191ab..7c52191ab 100644
--- a/graphics/pokemon/palettes/vulpix_shiny_palette.pal
+++ b/graphics/pokemon/vulpix/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/wailmer_front_pic.png b/graphics/pokemon/wailmer/anim_front.png
index f1032d0d1..f1032d0d1 100644
--- a/graphics/pokemon/anim_front_pics/wailmer_front_pic.png
+++ b/graphics/pokemon/wailmer/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/wailmer_back_pic.png b/graphics/pokemon/wailmer/back.png
index 9ad9f21ea..9ad9f21ea 100644
--- a/graphics/pokemon/back_pics/wailmer_back_pic.png
+++ b/graphics/pokemon/wailmer/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/wailmer_footprint.png b/graphics/pokemon/wailmer/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/wailmer_footprint.png
+++ b/graphics/pokemon/wailmer/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/wailmer_still_front_pic.png b/graphics/pokemon/wailmer/front.png
index a17d48cdf..a17d48cdf 100644
--- a/graphics/pokemon/front_pics/wailmer_still_front_pic.png
+++ b/graphics/pokemon/wailmer/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/wailmer_icon.png b/graphics/pokemon/wailmer/icon.png
index 16ba6d4b9..16ba6d4b9 100644
--- a/graphics/pokemon/icons/wailmer_icon.png
+++ b/graphics/pokemon/wailmer/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/wailmer_palette.pal b/graphics/pokemon/wailmer/normal.pal
index 4e56fb42a..4e56fb42a 100644
--- a/graphics/pokemon/palettes/wailmer_palette.pal
+++ b/graphics/pokemon/wailmer/normal.pal
diff --git a/graphics/pokemon/palettes/wailmer_shiny_palette.pal b/graphics/pokemon/wailmer/shiny.pal
index 296519dbd..296519dbd 100644
--- a/graphics/pokemon/palettes/wailmer_shiny_palette.pal
+++ b/graphics/pokemon/wailmer/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/wailord_front_pic.png b/graphics/pokemon/wailord/anim_front.png
index 3a9ae255c..3a9ae255c 100644
--- a/graphics/pokemon/anim_front_pics/wailord_front_pic.png
+++ b/graphics/pokemon/wailord/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/wailord_back_pic.png b/graphics/pokemon/wailord/back.png
index 7698ba500..7698ba500 100644
--- a/graphics/pokemon/back_pics/wailord_back_pic.png
+++ b/graphics/pokemon/wailord/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/wailord_footprint.png b/graphics/pokemon/wailord/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/wailord_footprint.png
+++ b/graphics/pokemon/wailord/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/wailord_still_front_pic.png b/graphics/pokemon/wailord/front.png
index e542cbc64..e542cbc64 100644
--- a/graphics/pokemon/front_pics/wailord_still_front_pic.png
+++ b/graphics/pokemon/wailord/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/wailord_icon.png b/graphics/pokemon/wailord/icon.png
index f84a7ea70..f84a7ea70 100644
--- a/graphics/pokemon/icons/wailord_icon.png
+++ b/graphics/pokemon/wailord/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/wailord_palette.pal b/graphics/pokemon/wailord/normal.pal
index 55fdf02f6..55fdf02f6 100644
--- a/graphics/pokemon/palettes/wailord_palette.pal
+++ b/graphics/pokemon/wailord/normal.pal
diff --git a/graphics/pokemon/palettes/wailord_shiny_palette.pal b/graphics/pokemon/wailord/shiny.pal
index 31a687fb9..31a687fb9 100644
--- a/graphics/pokemon/palettes/wailord_shiny_palette.pal
+++ b/graphics/pokemon/wailord/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/walrein_front_pic.png b/graphics/pokemon/walrein/anim_front.png
index b809a6806..b809a6806 100644
--- a/graphics/pokemon/anim_front_pics/walrein_front_pic.png
+++ b/graphics/pokemon/walrein/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/walrein_back_pic.png b/graphics/pokemon/walrein/back.png
index c58df92b0..c58df92b0 100644
--- a/graphics/pokemon/back_pics/walrein_back_pic.png
+++ b/graphics/pokemon/walrein/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/walrein_footprint.png b/graphics/pokemon/walrein/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/walrein_footprint.png
+++ b/graphics/pokemon/walrein/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/walrein_still_front_pic.png b/graphics/pokemon/walrein/front.png
index b19ad4564..b19ad4564 100644
--- a/graphics/pokemon/front_pics/walrein_still_front_pic.png
+++ b/graphics/pokemon/walrein/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/walrein_icon.png b/graphics/pokemon/walrein/icon.png
index f98348a54..f98348a54 100644
--- a/graphics/pokemon/icons/walrein_icon.png
+++ b/graphics/pokemon/walrein/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/walrein_palette.pal b/graphics/pokemon/walrein/normal.pal
index 2b4fb8ad4..2b4fb8ad4 100644
--- a/graphics/pokemon/palettes/walrein_palette.pal
+++ b/graphics/pokemon/walrein/normal.pal
diff --git a/graphics/pokemon/palettes/walrein_shiny_palette.pal b/graphics/pokemon/walrein/shiny.pal
index 0d93d3e7d..0d93d3e7d 100644
--- a/graphics/pokemon/palettes/walrein_shiny_palette.pal
+++ b/graphics/pokemon/walrein/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/wartortle_front_pic.png b/graphics/pokemon/wartortle/anim_front.png
index 8c484dade..8c484dade 100644
--- a/graphics/pokemon/anim_front_pics/wartortle_front_pic.png
+++ b/graphics/pokemon/wartortle/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/wartortle_back_pic.png b/graphics/pokemon/wartortle/back.png
index b7ccefbb5..b7ccefbb5 100644
--- a/graphics/pokemon/back_pics/wartortle_back_pic.png
+++ b/graphics/pokemon/wartortle/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/wartortle_footprint.png b/graphics/pokemon/wartortle/footprint.png
index 4dd126496..4dd126496 100644
--- a/graphics/pokemon/footprints/wartortle_footprint.png
+++ b/graphics/pokemon/wartortle/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/wartortle_still_front_pic.png b/graphics/pokemon/wartortle/front.png
index 1a71e8410..1a71e8410 100644
--- a/graphics/pokemon/front_pics/wartortle_still_front_pic.png
+++ b/graphics/pokemon/wartortle/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/wartortle_icon.png b/graphics/pokemon/wartortle/icon.png
index 2cdfca2d9..2cdfca2d9 100644
--- a/graphics/pokemon/icons/wartortle_icon.png
+++ b/graphics/pokemon/wartortle/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/wartortle_palette.pal b/graphics/pokemon/wartortle/normal.pal
index b497d87b3..b497d87b3 100644
--- a/graphics/pokemon/palettes/wartortle_palette.pal
+++ b/graphics/pokemon/wartortle/normal.pal
diff --git a/graphics/pokemon/palettes/wartortle_shiny_palette.pal b/graphics/pokemon/wartortle/shiny.pal
index 9694dfc73..9694dfc73 100644
--- a/graphics/pokemon/palettes/wartortle_shiny_palette.pal
+++ b/graphics/pokemon/wartortle/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/weedle_front_pic.png b/graphics/pokemon/weedle/anim_front.png
index 2334ea600..2334ea600 100644
--- a/graphics/pokemon/anim_front_pics/weedle_front_pic.png
+++ b/graphics/pokemon/weedle/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/weedle_back_pic.png b/graphics/pokemon/weedle/back.png
index 3180bf513..3180bf513 100644
--- a/graphics/pokemon/back_pics/weedle_back_pic.png
+++ b/graphics/pokemon/weedle/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/weedle_footprint.png b/graphics/pokemon/weedle/footprint.png
index c1c0058e7..c1c0058e7 100644
--- a/graphics/pokemon/footprints/weedle_footprint.png
+++ b/graphics/pokemon/weedle/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/weedle_still_front_pic.png b/graphics/pokemon/weedle/front.png
index 036cf109c..036cf109c 100644
--- a/graphics/pokemon/front_pics/weedle_still_front_pic.png
+++ b/graphics/pokemon/weedle/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/weedle_icon.png b/graphics/pokemon/weedle/icon.png
index 3a36001c6..3a36001c6 100644
--- a/graphics/pokemon/icons/weedle_icon.png
+++ b/graphics/pokemon/weedle/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/weedle_palette.pal b/graphics/pokemon/weedle/normal.pal
index da76f3794..da76f3794 100644
--- a/graphics/pokemon/palettes/weedle_palette.pal
+++ b/graphics/pokemon/weedle/normal.pal
diff --git a/graphics/pokemon/palettes/weedle_shiny_palette.pal b/graphics/pokemon/weedle/shiny.pal
index ea331921e..ea331921e 100644
--- a/graphics/pokemon/palettes/weedle_shiny_palette.pal
+++ b/graphics/pokemon/weedle/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/weepinbell_front_pic.png b/graphics/pokemon/weepinbell/anim_front.png
index 4574d1c5d..4574d1c5d 100644
--- a/graphics/pokemon/anim_front_pics/weepinbell_front_pic.png
+++ b/graphics/pokemon/weepinbell/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/weepinbell_back_pic.png b/graphics/pokemon/weepinbell/back.png
index aad38d1df..aad38d1df 100644
--- a/graphics/pokemon/back_pics/weepinbell_back_pic.png
+++ b/graphics/pokemon/weepinbell/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/weepinbell_footprint.png b/graphics/pokemon/weepinbell/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/weepinbell_footprint.png
+++ b/graphics/pokemon/weepinbell/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/weepinbell_still_front_pic.png b/graphics/pokemon/weepinbell/front.png
index 19b821711..19b821711 100644
--- a/graphics/pokemon/front_pics/weepinbell_still_front_pic.png
+++ b/graphics/pokemon/weepinbell/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/weepinbell_icon.png b/graphics/pokemon/weepinbell/icon.png
index eda2fd29a..eda2fd29a 100644
--- a/graphics/pokemon/icons/weepinbell_icon.png
+++ b/graphics/pokemon/weepinbell/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/weepinbell_palette.pal b/graphics/pokemon/weepinbell/normal.pal
index 162f84084..162f84084 100644
--- a/graphics/pokemon/palettes/weepinbell_palette.pal
+++ b/graphics/pokemon/weepinbell/normal.pal
diff --git a/graphics/pokemon/palettes/weepinbell_shiny_palette.pal b/graphics/pokemon/weepinbell/shiny.pal
index 2c7c777e6..2c7c777e6 100644
--- a/graphics/pokemon/palettes/weepinbell_shiny_palette.pal
+++ b/graphics/pokemon/weepinbell/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/weezing_front_pic.png b/graphics/pokemon/weezing/anim_front.png
index c4d684163..c4d684163 100644
--- a/graphics/pokemon/anim_front_pics/weezing_front_pic.png
+++ b/graphics/pokemon/weezing/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/weezing_back_pic.png b/graphics/pokemon/weezing/back.png
index 3d3883211..3d3883211 100644
--- a/graphics/pokemon/back_pics/weezing_back_pic.png
+++ b/graphics/pokemon/weezing/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/weezing_footprint.png b/graphics/pokemon/weezing/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/weezing_footprint.png
+++ b/graphics/pokemon/weezing/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/weezing_still_front_pic.png b/graphics/pokemon/weezing/front.png
index 7c2914724..7c2914724 100644
--- a/graphics/pokemon/front_pics/weezing_still_front_pic.png
+++ b/graphics/pokemon/weezing/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/weezing_icon.png b/graphics/pokemon/weezing/icon.png
index 4ef2404a9..4ef2404a9 100644
--- a/graphics/pokemon/icons/weezing_icon.png
+++ b/graphics/pokemon/weezing/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/weezing_palette.pal b/graphics/pokemon/weezing/normal.pal
index 2d8469910..2d8469910 100644
--- a/graphics/pokemon/palettes/weezing_palette.pal
+++ b/graphics/pokemon/weezing/normal.pal
diff --git a/graphics/pokemon/palettes/weezing_shiny_palette.pal b/graphics/pokemon/weezing/shiny.pal
index 1f0b9347c..1f0b9347c 100644
--- a/graphics/pokemon/palettes/weezing_shiny_palette.pal
+++ b/graphics/pokemon/weezing/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/whiscash_front_pic.png b/graphics/pokemon/whiscash/anim_front.png
index c6f1b3bcf..c6f1b3bcf 100644
--- a/graphics/pokemon/anim_front_pics/whiscash_front_pic.png
+++ b/graphics/pokemon/whiscash/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/whiscash_back_pic.png b/graphics/pokemon/whiscash/back.png
index 6aad1817d..6aad1817d 100644
--- a/graphics/pokemon/back_pics/whiscash_back_pic.png
+++ b/graphics/pokemon/whiscash/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/whiscash_footprint.png b/graphics/pokemon/whiscash/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/whiscash_footprint.png
+++ b/graphics/pokemon/whiscash/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/whiscash_still_front_pic.png b/graphics/pokemon/whiscash/front.png
index 1262d3af8..1262d3af8 100644
--- a/graphics/pokemon/front_pics/whiscash_still_front_pic.png
+++ b/graphics/pokemon/whiscash/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/whiscash_icon.png b/graphics/pokemon/whiscash/icon.png
index dcd79a540..dcd79a540 100644
--- a/graphics/pokemon/icons/whiscash_icon.png
+++ b/graphics/pokemon/whiscash/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/whiscash_palette.pal b/graphics/pokemon/whiscash/normal.pal
index c6b70659b..c6b70659b 100644
--- a/graphics/pokemon/palettes/whiscash_palette.pal
+++ b/graphics/pokemon/whiscash/normal.pal
diff --git a/graphics/pokemon/palettes/whiscash_shiny_palette.pal b/graphics/pokemon/whiscash/shiny.pal
index 12554c568..12554c568 100644
--- a/graphics/pokemon/palettes/whiscash_shiny_palette.pal
+++ b/graphics/pokemon/whiscash/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/whismur_front_pic.png b/graphics/pokemon/whismur/anim_front.png
index 0770894e4..0770894e4 100644
--- a/graphics/pokemon/anim_front_pics/whismur_front_pic.png
+++ b/graphics/pokemon/whismur/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/whismur_back_pic.png b/graphics/pokemon/whismur/back.png
index f13819f15..f13819f15 100644
--- a/graphics/pokemon/back_pics/whismur_back_pic.png
+++ b/graphics/pokemon/whismur/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/whismur_footprint.png b/graphics/pokemon/whismur/footprint.png
index a2ad42b4c..a2ad42b4c 100644
--- a/graphics/pokemon/footprints/whismur_footprint.png
+++ b/graphics/pokemon/whismur/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/whismur_still_front_pic.png b/graphics/pokemon/whismur/front.png
index d12369e26..d12369e26 100644
--- a/graphics/pokemon/front_pics/whismur_still_front_pic.png
+++ b/graphics/pokemon/whismur/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/whismur_icon.png b/graphics/pokemon/whismur/icon.png
index 573dfa531..573dfa531 100644
--- a/graphics/pokemon/icons/whismur_icon.png
+++ b/graphics/pokemon/whismur/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/whismur_palette.pal b/graphics/pokemon/whismur/normal.pal
index e57bb7b39..e57bb7b39 100644
--- a/graphics/pokemon/palettes/whismur_palette.pal
+++ b/graphics/pokemon/whismur/normal.pal
diff --git a/graphics/pokemon/palettes/whismur_shiny_palette.pal b/graphics/pokemon/whismur/shiny.pal
index 395867cad..395867cad 100644
--- a/graphics/pokemon/palettes/whismur_shiny_palette.pal
+++ b/graphics/pokemon/whismur/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/wigglytuff_front_pic.png b/graphics/pokemon/wigglytuff/anim_front.png
index 66af6ce77..66af6ce77 100644
--- a/graphics/pokemon/anim_front_pics/wigglytuff_front_pic.png
+++ b/graphics/pokemon/wigglytuff/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/wigglytuff_back_pic.png b/graphics/pokemon/wigglytuff/back.png
index c57f8681f..c57f8681f 100644
--- a/graphics/pokemon/back_pics/wigglytuff_back_pic.png
+++ b/graphics/pokemon/wigglytuff/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/wigglytuff_footprint.png b/graphics/pokemon/wigglytuff/footprint.png
index 68ce8eda3..68ce8eda3 100644
--- a/graphics/pokemon/footprints/wigglytuff_footprint.png
+++ b/graphics/pokemon/wigglytuff/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/wigglytuff_still_front_pic.png b/graphics/pokemon/wigglytuff/front.png
index 8bf2ed2f5..8bf2ed2f5 100644
--- a/graphics/pokemon/front_pics/wigglytuff_still_front_pic.png
+++ b/graphics/pokemon/wigglytuff/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/wigglytuff_icon.png b/graphics/pokemon/wigglytuff/icon.png
index adb921150..adb921150 100644
--- a/graphics/pokemon/icons/wigglytuff_icon.png
+++ b/graphics/pokemon/wigglytuff/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/wigglytuff_palette.pal b/graphics/pokemon/wigglytuff/normal.pal
index b0b85cc79..b0b85cc79 100644
--- a/graphics/pokemon/palettes/wigglytuff_palette.pal
+++ b/graphics/pokemon/wigglytuff/normal.pal
diff --git a/graphics/pokemon/palettes/wigglytuff_shiny_palette.pal b/graphics/pokemon/wigglytuff/shiny.pal
index f3d0192a2..f3d0192a2 100644
--- a/graphics/pokemon/palettes/wigglytuff_shiny_palette.pal
+++ b/graphics/pokemon/wigglytuff/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/wingull_front_pic.png b/graphics/pokemon/wingull/anim_front.png
index 69ef9d7d0..69ef9d7d0 100644
--- a/graphics/pokemon/anim_front_pics/wingull_front_pic.png
+++ b/graphics/pokemon/wingull/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/wingull_back_pic.png b/graphics/pokemon/wingull/back.png
index 3ea8c6474..3ea8c6474 100644
--- a/graphics/pokemon/back_pics/wingull_back_pic.png
+++ b/graphics/pokemon/wingull/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/wingull_footprint.png b/graphics/pokemon/wingull/footprint.png
index 057b2cefa..057b2cefa 100644
--- a/graphics/pokemon/footprints/wingull_footprint.png
+++ b/graphics/pokemon/wingull/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/wingull_still_front_pic.png b/graphics/pokemon/wingull/front.png
index 4d1b16ece..4d1b16ece 100644
--- a/graphics/pokemon/front_pics/wingull_still_front_pic.png
+++ b/graphics/pokemon/wingull/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/wingull_icon.png b/graphics/pokemon/wingull/icon.png
index 524ecda23..524ecda23 100644
--- a/graphics/pokemon/icons/wingull_icon.png
+++ b/graphics/pokemon/wingull/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/wingull_palette.pal b/graphics/pokemon/wingull/normal.pal
index ce5820061..ce5820061 100644
--- a/graphics/pokemon/palettes/wingull_palette.pal
+++ b/graphics/pokemon/wingull/normal.pal
diff --git a/graphics/pokemon/palettes/wingull_shiny_palette.pal b/graphics/pokemon/wingull/shiny.pal
index 59785b7cb..59785b7cb 100644
--- a/graphics/pokemon/palettes/wingull_shiny_palette.pal
+++ b/graphics/pokemon/wingull/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/wobbuffet_front_pic.png b/graphics/pokemon/wobbuffet/anim_front.png
index f26a0406d..f26a0406d 100644
--- a/graphics/pokemon/anim_front_pics/wobbuffet_front_pic.png
+++ b/graphics/pokemon/wobbuffet/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/wobbuffet_back_pic.png b/graphics/pokemon/wobbuffet/back.png
index 3f22dd4a1..3f22dd4a1 100644
--- a/graphics/pokemon/back_pics/wobbuffet_back_pic.png
+++ b/graphics/pokemon/wobbuffet/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/wobbuffet_footprint.png b/graphics/pokemon/wobbuffet/footprint.png
index 49fa6818d..49fa6818d 100644
--- a/graphics/pokemon/footprints/wobbuffet_footprint.png
+++ b/graphics/pokemon/wobbuffet/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/wobbuffet_still_front_pic.png b/graphics/pokemon/wobbuffet/front.png
index 0e3f39ae1..0e3f39ae1 100644
--- a/graphics/pokemon/front_pics/wobbuffet_still_front_pic.png
+++ b/graphics/pokemon/wobbuffet/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/wobbuffet_icon.png b/graphics/pokemon/wobbuffet/icon.png
index 14cddd184..14cddd184 100644
--- a/graphics/pokemon/icons/wobbuffet_icon.png
+++ b/graphics/pokemon/wobbuffet/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/wobbuffet_palette.pal b/graphics/pokemon/wobbuffet/normal.pal
index e83cdc8c2..e83cdc8c2 100644
--- a/graphics/pokemon/palettes/wobbuffet_palette.pal
+++ b/graphics/pokemon/wobbuffet/normal.pal
diff --git a/graphics/pokemon/palettes/wobbuffet_shiny_palette.pal b/graphics/pokemon/wobbuffet/shiny.pal
index 0fa077555..0fa077555 100644
--- a/graphics/pokemon/palettes/wobbuffet_shiny_palette.pal
+++ b/graphics/pokemon/wobbuffet/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/wooper_front_pic.png b/graphics/pokemon/wooper/anim_front.png
index 8d6255f80..8d6255f80 100644
--- a/graphics/pokemon/anim_front_pics/wooper_front_pic.png
+++ b/graphics/pokemon/wooper/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/wooper_back_pic.png b/graphics/pokemon/wooper/back.png
index 13cb768c1..13cb768c1 100644
--- a/graphics/pokemon/back_pics/wooper_back_pic.png
+++ b/graphics/pokemon/wooper/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/wooper_footprint.png b/graphics/pokemon/wooper/footprint.png
index 5e1ba56e6..5e1ba56e6 100644
--- a/graphics/pokemon/footprints/wooper_footprint.png
+++ b/graphics/pokemon/wooper/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/wooper_still_front_pic.png b/graphics/pokemon/wooper/front.png
index 4562b0baa..4562b0baa 100644
--- a/graphics/pokemon/front_pics/wooper_still_front_pic.png
+++ b/graphics/pokemon/wooper/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/wooper_icon.png b/graphics/pokemon/wooper/icon.png
index 26e617d33..26e617d33 100644
--- a/graphics/pokemon/icons/wooper_icon.png
+++ b/graphics/pokemon/wooper/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/wooper_palette.pal b/graphics/pokemon/wooper/normal.pal
index f364d6c71..f364d6c71 100644
--- a/graphics/pokemon/palettes/wooper_palette.pal
+++ b/graphics/pokemon/wooper/normal.pal
diff --git a/graphics/pokemon/palettes/wooper_shiny_palette.pal b/graphics/pokemon/wooper/shiny.pal
index cf0a3ce59..cf0a3ce59 100644
--- a/graphics/pokemon/palettes/wooper_shiny_palette.pal
+++ b/graphics/pokemon/wooper/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/wurmple_front_pic.png b/graphics/pokemon/wurmple/anim_front.png
index c79458bff..c79458bff 100644
--- a/graphics/pokemon/anim_front_pics/wurmple_front_pic.png
+++ b/graphics/pokemon/wurmple/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/wurmple_back_pic.png b/graphics/pokemon/wurmple/back.png
index d6ef56dcd..d6ef56dcd 100644
--- a/graphics/pokemon/back_pics/wurmple_back_pic.png
+++ b/graphics/pokemon/wurmple/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/wurmple_footprint.png b/graphics/pokemon/wurmple/footprint.png
index 3ac4abd9f..3ac4abd9f 100644
--- a/graphics/pokemon/footprints/wurmple_footprint.png
+++ b/graphics/pokemon/wurmple/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/wurmple_still_front_pic.png b/graphics/pokemon/wurmple/front.png
index 86d8bc06a..86d8bc06a 100644
--- a/graphics/pokemon/front_pics/wurmple_still_front_pic.png
+++ b/graphics/pokemon/wurmple/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/wurmple_icon.png b/graphics/pokemon/wurmple/icon.png
index 52b46b490..52b46b490 100644
--- a/graphics/pokemon/icons/wurmple_icon.png
+++ b/graphics/pokemon/wurmple/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/wurmple_palette.pal b/graphics/pokemon/wurmple/normal.pal
index 2fe1fd189..2fe1fd189 100644
--- a/graphics/pokemon/palettes/wurmple_palette.pal
+++ b/graphics/pokemon/wurmple/normal.pal
diff --git a/graphics/pokemon/palettes/wurmple_shiny_palette.pal b/graphics/pokemon/wurmple/shiny.pal
index 3217ddc57..3217ddc57 100644
--- a/graphics/pokemon/palettes/wurmple_shiny_palette.pal
+++ b/graphics/pokemon/wurmple/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/wynaut_front_pic.png b/graphics/pokemon/wynaut/anim_front.png
index 0fe27ffed..0fe27ffed 100644
--- a/graphics/pokemon/anim_front_pics/wynaut_front_pic.png
+++ b/graphics/pokemon/wynaut/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/wynaut_back_pic.png b/graphics/pokemon/wynaut/back.png
index 388b1582b..388b1582b 100644
--- a/graphics/pokemon/back_pics/wynaut_back_pic.png
+++ b/graphics/pokemon/wynaut/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/wynaut_footprint.png b/graphics/pokemon/wynaut/footprint.png
index 4fe4832c0..4fe4832c0 100644
--- a/graphics/pokemon/footprints/wynaut_footprint.png
+++ b/graphics/pokemon/wynaut/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/wynaut_still_front_pic.png b/graphics/pokemon/wynaut/front.png
index 7b1be29f0..7b1be29f0 100644
--- a/graphics/pokemon/front_pics/wynaut_still_front_pic.png
+++ b/graphics/pokemon/wynaut/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/wynaut_icon.png b/graphics/pokemon/wynaut/icon.png
index cca26e1bb..cca26e1bb 100644
--- a/graphics/pokemon/icons/wynaut_icon.png
+++ b/graphics/pokemon/wynaut/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/wynaut_palette.pal b/graphics/pokemon/wynaut/normal.pal
index c37046634..c37046634 100644
--- a/graphics/pokemon/palettes/wynaut_palette.pal
+++ b/graphics/pokemon/wynaut/normal.pal
diff --git a/graphics/pokemon/palettes/wynaut_shiny_palette.pal b/graphics/pokemon/wynaut/shiny.pal
index 7a5032aa6..7a5032aa6 100644
--- a/graphics/pokemon/palettes/wynaut_shiny_palette.pal
+++ b/graphics/pokemon/wynaut/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/xatu_front_pic.png b/graphics/pokemon/xatu/anim_front.png
index d4c3c1970..d4c3c1970 100644
--- a/graphics/pokemon/anim_front_pics/xatu_front_pic.png
+++ b/graphics/pokemon/xatu/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/xatu_back_pic.png b/graphics/pokemon/xatu/back.png
index b66774b13..b66774b13 100644
--- a/graphics/pokemon/back_pics/xatu_back_pic.png
+++ b/graphics/pokemon/xatu/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/xatu_footprint.png b/graphics/pokemon/xatu/footprint.png
index 44fcad1e3..44fcad1e3 100644
--- a/graphics/pokemon/footprints/xatu_footprint.png
+++ b/graphics/pokemon/xatu/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/xatu_still_front_pic.png b/graphics/pokemon/xatu/front.png
index 138550b54..138550b54 100644
--- a/graphics/pokemon/front_pics/xatu_still_front_pic.png
+++ b/graphics/pokemon/xatu/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/xatu_icon.png b/graphics/pokemon/xatu/icon.png
index a0e6d6fc9..a0e6d6fc9 100644
--- a/graphics/pokemon/icons/xatu_icon.png
+++ b/graphics/pokemon/xatu/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/xatu_palette.pal b/graphics/pokemon/xatu/normal.pal
index b6ab27604..b6ab27604 100644
--- a/graphics/pokemon/palettes/xatu_palette.pal
+++ b/graphics/pokemon/xatu/normal.pal
diff --git a/graphics/pokemon/palettes/xatu_shiny_palette.pal b/graphics/pokemon/xatu/shiny.pal
index 2dcf957e9..2dcf957e9 100644
--- a/graphics/pokemon/palettes/xatu_shiny_palette.pal
+++ b/graphics/pokemon/xatu/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/yanma_front_pic.png b/graphics/pokemon/yanma/anim_front.png
index 24721e872..24721e872 100644
--- a/graphics/pokemon/anim_front_pics/yanma_front_pic.png
+++ b/graphics/pokemon/yanma/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/yanma_back_pic.png b/graphics/pokemon/yanma/back.png
index 980bc86f2..980bc86f2 100644
--- a/graphics/pokemon/back_pics/yanma_back_pic.png
+++ b/graphics/pokemon/yanma/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/yanma_footprint.png b/graphics/pokemon/yanma/footprint.png
index 20b4a00b0..20b4a00b0 100644
--- a/graphics/pokemon/footprints/yanma_footprint.png
+++ b/graphics/pokemon/yanma/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/yanma_still_front_pic.png b/graphics/pokemon/yanma/front.png
index 534e873a1..534e873a1 100644
--- a/graphics/pokemon/front_pics/yanma_still_front_pic.png
+++ b/graphics/pokemon/yanma/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/yanma_icon.png b/graphics/pokemon/yanma/icon.png
index 336841a00..336841a00 100644
--- a/graphics/pokemon/icons/yanma_icon.png
+++ b/graphics/pokemon/yanma/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/yanma_palette.pal b/graphics/pokemon/yanma/normal.pal
index a53cd19e3..a53cd19e3 100644
--- a/graphics/pokemon/palettes/yanma_palette.pal
+++ b/graphics/pokemon/yanma/normal.pal
diff --git a/graphics/pokemon/palettes/yanma_shiny_palette.pal b/graphics/pokemon/yanma/shiny.pal
index 08b7c0cce..08b7c0cce 100644
--- a/graphics/pokemon/palettes/yanma_shiny_palette.pal
+++ b/graphics/pokemon/yanma/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/zangoose_front_pic.png b/graphics/pokemon/zangoose/anim_front.png
index 24bb548dd..24bb548dd 100644
--- a/graphics/pokemon/anim_front_pics/zangoose_front_pic.png
+++ b/graphics/pokemon/zangoose/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/zangoose_back_pic.png b/graphics/pokemon/zangoose/back.png
index 88357e182..88357e182 100644
--- a/graphics/pokemon/back_pics/zangoose_back_pic.png
+++ b/graphics/pokemon/zangoose/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/zangoose_footprint.png b/graphics/pokemon/zangoose/footprint.png
index e07e58cee..e07e58cee 100644
--- a/graphics/pokemon/footprints/zangoose_footprint.png
+++ b/graphics/pokemon/zangoose/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/zangoose_still_front_pic.png b/graphics/pokemon/zangoose/front.png
index b95a412bf..b95a412bf 100644
--- a/graphics/pokemon/front_pics/zangoose_still_front_pic.png
+++ b/graphics/pokemon/zangoose/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/zangoose_icon.png b/graphics/pokemon/zangoose/icon.png
index e0485b0b0..e0485b0b0 100644
--- a/graphics/pokemon/icons/zangoose_icon.png
+++ b/graphics/pokemon/zangoose/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/zangoose_palette.pal b/graphics/pokemon/zangoose/normal.pal
index eb0ef7068..eb0ef7068 100644
--- a/graphics/pokemon/palettes/zangoose_palette.pal
+++ b/graphics/pokemon/zangoose/normal.pal
diff --git a/graphics/pokemon/palettes/zangoose_shiny_palette.pal b/graphics/pokemon/zangoose/shiny.pal
index 82487aa4f..82487aa4f 100644
--- a/graphics/pokemon/palettes/zangoose_shiny_palette.pal
+++ b/graphics/pokemon/zangoose/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/zapdos_front_pic.png b/graphics/pokemon/zapdos/anim_front.png
index a27b64e00..a27b64e00 100644
--- a/graphics/pokemon/anim_front_pics/zapdos_front_pic.png
+++ b/graphics/pokemon/zapdos/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/zapdos_back_pic.png b/graphics/pokemon/zapdos/back.png
index 248366dc5..248366dc5 100644
--- a/graphics/pokemon/back_pics/zapdos_back_pic.png
+++ b/graphics/pokemon/zapdos/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/zapdos_footprint.png b/graphics/pokemon/zapdos/footprint.png
index 480063a88..480063a88 100644
--- a/graphics/pokemon/footprints/zapdos_footprint.png
+++ b/graphics/pokemon/zapdos/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/zapdos_still_front_pic.png b/graphics/pokemon/zapdos/front.png
index e8b8b929d..e8b8b929d 100644
--- a/graphics/pokemon/front_pics/zapdos_still_front_pic.png
+++ b/graphics/pokemon/zapdos/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/zapdos_icon.png b/graphics/pokemon/zapdos/icon.png
index 26fc73427..26fc73427 100644
--- a/graphics/pokemon/icons/zapdos_icon.png
+++ b/graphics/pokemon/zapdos/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/zapdos_palette.pal b/graphics/pokemon/zapdos/normal.pal
index 5980cfed4..5980cfed4 100644
--- a/graphics/pokemon/palettes/zapdos_palette.pal
+++ b/graphics/pokemon/zapdos/normal.pal
diff --git a/graphics/pokemon/palettes/zapdos_shiny_palette.pal b/graphics/pokemon/zapdos/shiny.pal
index fb7840ebc..fb7840ebc 100644
--- a/graphics/pokemon/palettes/zapdos_shiny_palette.pal
+++ b/graphics/pokemon/zapdos/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/zigzagoon_front_pic.png b/graphics/pokemon/zigzagoon/anim_front.png
index ba726a266..ba726a266 100644
--- a/graphics/pokemon/anim_front_pics/zigzagoon_front_pic.png
+++ b/graphics/pokemon/zigzagoon/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/zigzagoon_back_pic.png b/graphics/pokemon/zigzagoon/back.png
index cc56c5d67..cc56c5d67 100644
--- a/graphics/pokemon/back_pics/zigzagoon_back_pic.png
+++ b/graphics/pokemon/zigzagoon/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/zigzagoon_footprint.png b/graphics/pokemon/zigzagoon/footprint.png
index d7373e064..d7373e064 100644
--- a/graphics/pokemon/footprints/zigzagoon_footprint.png
+++ b/graphics/pokemon/zigzagoon/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/zigzagoon_still_front_pic.png b/graphics/pokemon/zigzagoon/front.png
index 442a5c5aa..442a5c5aa 100644
--- a/graphics/pokemon/front_pics/zigzagoon_still_front_pic.png
+++ b/graphics/pokemon/zigzagoon/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/zigzagoon_icon.png b/graphics/pokemon/zigzagoon/icon.png
index acd0ecc8c..acd0ecc8c 100644
--- a/graphics/pokemon/icons/zigzagoon_icon.png
+++ b/graphics/pokemon/zigzagoon/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/zigzagoon_palette.pal b/graphics/pokemon/zigzagoon/normal.pal
index 55f6178cb..55f6178cb 100644
--- a/graphics/pokemon/palettes/zigzagoon_palette.pal
+++ b/graphics/pokemon/zigzagoon/normal.pal
diff --git a/graphics/pokemon/palettes/zigzagoon_shiny_palette.pal b/graphics/pokemon/zigzagoon/shiny.pal
index fe2d3cbc9..fe2d3cbc9 100644
--- a/graphics/pokemon/palettes/zigzagoon_shiny_palette.pal
+++ b/graphics/pokemon/zigzagoon/shiny.pal
diff --git a/graphics/pokemon/anim_front_pics/zubat_front_pic.png b/graphics/pokemon/zubat/anim_front.png
index 5f98e0c13..5f98e0c13 100644
--- a/graphics/pokemon/anim_front_pics/zubat_front_pic.png
+++ b/graphics/pokemon/zubat/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/back_pics/zubat_back_pic.png b/graphics/pokemon/zubat/back.png
index 5589e5767..5589e5767 100644
--- a/graphics/pokemon/back_pics/zubat_back_pic.png
+++ b/graphics/pokemon/zubat/back.png
Binary files differ
diff --git a/graphics/pokemon/footprints/zubat_footprint.png b/graphics/pokemon/zubat/footprint.png
index c7ccf57f3..c7ccf57f3 100644
--- a/graphics/pokemon/footprints/zubat_footprint.png
+++ b/graphics/pokemon/zubat/footprint.png
Binary files differ
diff --git a/graphics/pokemon/front_pics/zubat_still_front_pic.png b/graphics/pokemon/zubat/front.png
index b19d3681c..b19d3681c 100644
--- a/graphics/pokemon/front_pics/zubat_still_front_pic.png
+++ b/graphics/pokemon/zubat/front.png
Binary files differ
diff --git a/graphics/pokemon/icons/zubat_icon.png b/graphics/pokemon/zubat/icon.png
index 696c097e1..696c097e1 100644
--- a/graphics/pokemon/icons/zubat_icon.png
+++ b/graphics/pokemon/zubat/icon.png
Binary files differ
diff --git a/graphics/pokemon/palettes/zubat_palette.pal b/graphics/pokemon/zubat/normal.pal
index 080a3fd93..080a3fd93 100644
--- a/graphics/pokemon/palettes/zubat_palette.pal
+++ b/graphics/pokemon/zubat/normal.pal
diff --git a/graphics/pokemon/palettes/zubat_shiny_palette.pal b/graphics/pokemon/zubat/shiny.pal
index ab2540e88..ab2540e88 100644
--- a/graphics/pokemon/palettes/zubat_shiny_palette.pal
+++ b/graphics/pokemon/zubat/shiny.pal
diff --git a/graphics/pokenav/8625660.png b/graphics/pokenav/pokeball_placeholder.png
index 84c74462d..84c74462d 100644
--- a/graphics/pokenav/8625660.png
+++ b/graphics/pokenav/pokeball_placeholder.png
Binary files differ
diff --git a/graphics/weather/1.pal b/graphics/weather/1.pal
deleted file mode 100644
index fe57a8c7f..000000000
--- a/graphics/weather/1.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-65 148 255
-180 222 255
-115 205 246
-131 197 255
-82 189 246
-172 238 246
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/weather/2.pal b/graphics/weather/2.pal
deleted file mode 100644
index 9516c7a19..000000000
--- a/graphics/weather/2.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 230 139
-189 131 74
-238 197 123
-213 164 98
-164 106 49
-255 246 164
-222 205 164
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk
index 0a22a711c..bc51b1e1f 100644
--- a/graphics_file_rules.mk
+++ b/graphics_file_rules.mk
@@ -1,7 +1,4 @@
-MONSTILLFRONTGFXDIR := graphics/pokemon/front_pics
-MONBACKGFXDIR := graphics/pokemon/back_pics
-MONFRONTGFXDIR := graphics/pokemon/anim_front_pics
-MONPALDIR := graphics/pokemon/palettes
+CASTFORMGFXDIR := graphics/pokemon/castform
TILESETGFXDIR := data/tilesets
FONTGFXDIR := data/graphics/fonts
INTERFACEGFXDIR := graphics/interface
@@ -24,36 +21,44 @@ MISCGFXDIR := graphics/misc
types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark
contest_types := cool beauty cute smart tough
-$(MONSTILLFRONTGFXDIR)/castform_still_front_pic.4bpp: $(MONSTILLFRONTGFXDIR)/castform_normal_form_still_front_pic.4bpp \
- $(MONSTILLFRONTGFXDIR)/castform_sunny_form_still_front_pic.4bpp \
- $(MONSTILLFRONTGFXDIR)/castform_rainy_form_still_front_pic.4bpp \
- $(MONSTILLFRONTGFXDIR)/castform_snowy_form_still_front_pic.4bpp
+
+
+### Castform ###
+
+$(CASTFORMGFXDIR)/front.4bpp: $(CASTFORMGFXDIR)/front_normal_form.4bpp \
+ $(CASTFORMGFXDIR)/front_sunny_form.4bpp \
+ $(CASTFORMGFXDIR)/front_rainy_form.4bpp \
+ $(CASTFORMGFXDIR)/front_snowy_form.4bpp
@cat $^ >$@
-$(MONBACKGFXDIR)/castform_back_pic.4bpp: $(MONBACKGFXDIR)/castform_normal_form_back_pic.4bpp \
- $(MONBACKGFXDIR)/castform_sunny_form_back_pic.4bpp \
- $(MONBACKGFXDIR)/castform_rainy_form_back_pic.4bpp \
- $(MONBACKGFXDIR)/castform_snowy_form_back_pic.4bpp
+$(CASTFORMGFXDIR)/back.4bpp: $(CASTFORMGFXDIR)/back_normal_form.4bpp \
+ $(CASTFORMGFXDIR)/back_sunny_form.4bpp \
+ $(CASTFORMGFXDIR)/back_rainy_form.4bpp \
+ $(CASTFORMGFXDIR)/back_snowy_form.4bpp
@cat $^ >$@
-$(MONFRONTGFXDIR)/castform_front_pic.4bpp: $(MONFRONTGFXDIR)/castform_normal_form_front_pic.4bpp \
- $(MONFRONTGFXDIR)/castform_sunny_form_front_pic.4bpp \
- $(MONFRONTGFXDIR)/castform_rainy_form_front_pic.4bpp \
- $(MONFRONTGFXDIR)/castform_snowy_form_front_pic.4bpp
+$(CASTFORMGFXDIR)/anim_front.4bpp: $(CASTFORMGFXDIR)/anim_front_normal_form.4bpp \
+ $(CASTFORMGFXDIR)/anim_front_sunny_form.4bpp \
+ $(CASTFORMGFXDIR)/anim_front_rainy_form.4bpp \
+ $(CASTFORMGFXDIR)/anim_front_snowy_form.4bpp
@cat $^ >$@
-$(MONPALDIR)/castform_palette.gbapal: $(MONPALDIR)/castform_normal_form_palette.gbapal \
- $(MONPALDIR)/castform_sunny_form_palette.gbapal \
- $(MONPALDIR)/castform_rainy_form_palette.gbapal \
- $(MONPALDIR)/castform_snowy_form_palette.gbapal
+$(CASTFORMGFXDIR)/normal.gbapal: $(CASTFORMGFXDIR)/normal_normal_form.gbapal \
+ $(CASTFORMGFXDIR)/normal_sunny_form.gbapal \
+ $(CASTFORMGFXDIR)/normal_rainy_form.gbapal \
+ $(CASTFORMGFXDIR)/normal_snowy_form.gbapal
@cat $^ >$@
-$(MONPALDIR)/castform_shiny_palette.gbapal: $(MONPALDIR)/castform_normal_form_shiny_palette.gbapal \
- $(MONPALDIR)/castform_sunny_form_shiny_palette.gbapal \
- $(MONPALDIR)/castform_rainy_form_shiny_palette.gbapal \
- $(MONPALDIR)/castform_snowy_form_shiny_palette.gbapal
+$(CASTFORMGFXDIR)/shiny.gbapal: $(CASTFORMGFXDIR)/shiny_normal_form.gbapal \
+ $(CASTFORMGFXDIR)/shiny_sunny_form.gbapal \
+ $(CASTFORMGFXDIR)/shiny_rainy_form.gbapal \
+ $(CASTFORMGFXDIR)/shiny_snowy_form.gbapal
@cat $^ >$@
+
+
+### Tilesets ###
+
$(TILESETGFXDIR)/secondary/petalburg/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 159
@@ -246,6 +251,10 @@ $(TILESETGFXDIR)/secondary/battle_frontier_ranking_hall/tiles.4bpp: %.4bpp: %.pn
$(TILESETGFXDIR)/secondary/mystery_events_house/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 509
+
+
+### Fonts ###
+
$(FONTGFXDIR)/font0.latfont: $(FONTGFXDIR)/font0_latin.png
$(GFX) $< $@
@@ -297,6 +306,9 @@ $(FONTGFXDIR)/unused_frlg_down_arrow.4bpp: %.4bpp: %.png
$(FONTGFXDIR)/keypad_icons.4bpp: %.4bpp: %.png
$(GFX) $< $@
+
+
+### Miscellaneous ###
graphics/title_screen/pokemon_logo.gbapal: %.gbapal: %.pal
$(GFX) $< $@ -num_colors 224
@@ -310,13 +322,13 @@ $(MISCGFXDIR)/japanese_hof.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 29
$(BATINTGFXDIR)/textbox.gbapal: $(BATINTGFXDIR)/textbox_0.gbapal \
- $(BATINTGFXDIR)/textbox_1.gbapal
+ $(BATINTGFXDIR)/textbox_1.gbapal
@cat $^ >$@
-$(BTLANMSPRGFXDIR)/010.4bpp: $(BTLANMSPRGFXDIR)/010_0.4bpp \
- $(BTLANMSPRGFXDIR)/010_1.4bpp \
- $(BTLANMSPRGFXDIR)/010_2.4bpp \
- $(BTLANMSPRGFXDIR)/010_3.4bpp
+$(BTLANMSPRGFXDIR)/ice_cube.4bpp: $(BTLANMSPRGFXDIR)/ice_cube_0.4bpp \
+ $(BTLANMSPRGFXDIR)/ice_cube_1.4bpp \
+ $(BTLANMSPRGFXDIR)/ice_cube_2.4bpp \
+ $(BTLANMSPRGFXDIR)/ice_cube_3.4bpp
@cat $^ >$@
$(UNUSEDGFXDIR)/obi_palpak1.gbapal: $(UNUSEDGFXDIR)/old_pal1.gbapal \
@@ -340,8 +352,8 @@ $(UNUSEDGFXDIR)/obi2.4bpp: $(UNUSEDGFXDIR)/old_bulbasaur2.4bpp \
@cat $^ >$@
$(INTERFACEGFXDIR)/hp_numbers.4bpp: $(INTERFACEGFXDIR)/hpbar_anim.4bpp \
- $(INTERFACEGFXDIR)/numbers1.4bpp \
- $(INTERFACEGFXDIR)/numbers2.4bpp
+ $(INTERFACEGFXDIR)/numbers1.4bpp \
+ $(INTERFACEGFXDIR)/numbers2.4bpp
@cat $^ >$@
$(UNUSEDGFXDIR)/redyellowgreen_frame.bin: $(UNUSEDGFXDIR)/red_frame.bin \
@@ -372,23 +384,23 @@ $(UNUSEDGFXDIR)/old_contest_2.4bpp: $(UNUSEDGFXDIR)/old_contest_2_1.4bpp \
$(UNKNOWNGFXDIR)/unknown_C19470.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 36
-$(BTLANMSPRGFXDIR)/141.4bpp: $(BTLANMSPRGFXDIR)/141_0.4bpp \
- $(BTLANMSPRGFXDIR)/141_1.4bpp \
- $(BTLANMSPRGFXDIR)/141_2.4bpp \
- $(BTLANMSPRGFXDIR)/141_3.4bpp \
- $(BTLANMSPRGFXDIR)/141_4.4bpp
+$(BTLANMSPRGFXDIR)/ice_crystals.4bpp: $(BTLANMSPRGFXDIR)/ice_crystals_0.4bpp \
+ $(BTLANMSPRGFXDIR)/ice_crystals_1.4bpp \
+ $(BTLANMSPRGFXDIR)/ice_crystals_2.4bpp \
+ $(BTLANMSPRGFXDIR)/ice_crystals_3.4bpp \
+ $(BTLANMSPRGFXDIR)/ice_crystals_4.4bpp
@cat $^ >$@
-$(BTLANMSPRGFXDIR)/074.4bpp: $(BTLANMSPRGFXDIR)/074_0.4bpp \
- $(BTLANMSPRGFXDIR)/074_1.4bpp
+$(BTLANMSPRGFXDIR)/mud_sand.4bpp: $(BTLANMSPRGFXDIR)/mud_sand_0.4bpp \
+ $(BTLANMSPRGFXDIR)/mud_sand_1.4bpp
@cat $^ >$@
-$(BTLANMSPRGFXDIR)/159.4bpp: $(BTLANMSPRGFXDIR)/159_0.4bpp \
- $(BTLANMSPRGFXDIR)/159_1.4bpp
+$(BTLANMSPRGFXDIR)/flower.4bpp: $(BTLANMSPRGFXDIR)/flower_0.4bpp \
+ $(BTLANMSPRGFXDIR)/flower_1.4bpp
@cat $^ >$@
-$(BTLANMSPRGFXDIR)/001.4bpp: $(BTLANMSPRGFXDIR)/001_0.4bpp \
- $(BTLANMSPRGFXDIR)/001_1.4bpp
+$(BTLANMSPRGFXDIR)/spark.4bpp: $(BTLANMSPRGFXDIR)/spark_0.4bpp \
+ $(BTLANMSPRGFXDIR)/spark_1.4bpp
@cat $^ >$@
$(MASKSGFXDIR)/unknown_C2EA50.4bpp: %.4bpp: %.png
@@ -472,6 +484,10 @@ $(SLOTMACHINEGFXDIR)/reel_time_gfx.4bpp: $(SLOTMACHINEGFXDIR)/reel_time_pikachu.
$(UNUSEDGFXDIR)/intro_birch_beauty.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 822
+
+
+### PSS ###
+
$(PSSGFXDIR)/forest_frame.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 55
@@ -636,7 +652,11 @@ $(INTERFACEGFXDIR)/selector_outline.4bpp: %.4bpp: %.png
$(BATTRANSGFXDIR)/frontier_transition.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 43
-
+
+
+
+### Pokenav ###
+
$(PKNAVOPTIONSGFXDIR)/options.4bpp: $(PKNAVOPTIONSGFXDIR)/hoenn_map.4bpp \
$(PKNAVOPTIONSGFXDIR)/condition.4bpp \
$(PKNAVOPTIONSGFXDIR)/match_call.4bpp \
diff --git a/include/bard_music.h b/include/bard_music.h
index 488205405..882606b27 100644
--- a/include/bard_music.h
+++ b/include/bard_music.h
@@ -38,7 +38,7 @@ struct BardSong
// Exported ROM declarations
-extern const u16 gUnknown_085F5490;
+extern const u16 gNumSpeciesNames;
extern const u16 gUnknown_085FA1D4;
const struct BardSound *GetWordSounds(u16 word);
void GetWordPhonemes(struct BardSong *song, u16 word);
diff --git a/include/battle.h b/include/battle.h
index d155ca5a0..0f4087c90 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -62,70 +62,12 @@
#define BATTLE_BUFFER_LINK_SIZE 0x1000
-struct TrainerMonNoItemDefaultMoves
-{
- u16 iv;
- u8 lvl;
- u16 species;
-};
-
-struct TrainerMonItemDefaultMoves
-{
- u16 iv;
- u8 lvl;
- u16 species;
- u16 heldItem;
-};
-
-struct TrainerMonNoItemCustomMoves
-{
- u16 iv;
- u8 lvl;
- u16 species;
- u16 moves[4];
-};
-
-struct TrainerMonItemCustomMoves
-{
- u16 iv;
- u8 lvl;
- u16 species;
- u16 heldItem;
- u16 moves[4];
-};
-
-union TrainerMonPtr
-{
- const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves;
- const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves;
- const struct TrainerMonItemDefaultMoves *ItemDefaultMoves;
- const struct TrainerMonItemCustomMoves *ItemCustomMoves;
-};
-
-struct Trainer
-{
- /*0x00*/ u8 partyFlags;
- /*0x01*/ u8 trainerClass;
- /*0x02*/ u8 encounterMusic_gender; // last bit is gender
- /*0x03*/ u8 trainerPic;
- /*0x04*/ u8 trainerName[12];
- /*0x10*/ u16 items[4];
- /*0x18*/ bool8 doubleBattle;
- /*0x1C*/ u32 aiFlags;
- /*0x20*/ u8 partySize;
- /*0x24*/ union TrainerMonPtr party;
-};
-
-extern const struct Trainer gTrainers[];
-
-#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F))
-
-struct UnknownFlags
+struct ResourceFlags
{
u32 flags[4];
};
-#define UNKNOWN_FLAG_FLASH_FIRE 1
+#define RESOURCE_FLAG_FLASH_FIRE 1
struct DisableStruct
{
@@ -276,21 +218,16 @@ struct BattleCallbacksStack
struct StatsArray
{
- u16 hp;
- u16 atk;
- u16 def;
- u16 spd;
- u16 spAtk;
- u16 spDef;
+ u16 stats[NUM_STATS];
};
struct BattleResources
{
- struct SecretBaseRecord* secretBase;
- struct UnknownFlags *flags;
+ struct SecretBase* secretBase;
+ struct ResourceFlags *flags;
struct BattleScriptsStack* battleScriptsStack;
struct BattleCallbacksStack* battleCallbackStack;
- struct StatsArray* statsBeforeLvlUp;
+ struct StatsArray* beforeLvlUp;
struct AI_ThinkingStruct *ai;
struct BattleHistory *battleHistory;
struct BattleScriptsStack *AI_ScriptsStack;
@@ -564,9 +501,7 @@ struct BattleScripting
};
// rom_80A5C6C
-u8 GetBattlerSide(u8 battler);
-u8 GetBattlerPosition(u8 battler);
-u8 GetBattlerAtPosition(u8 position);
+
struct BattleSpriteInfo
{
diff --git a/include/battle_anim.h b/include/battle_anim.h
index b3350f893..949bc236b 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -73,7 +73,7 @@ void sub_8118FBC(int bgId, u8 arg1, u8 arg2, u8 battlerPosition, u8 arg4, u8 *ar
void HandleIntroSlide(u8 terrainId);
int GetAnimBgAttribute(u8 bgId, u8 attributeId);
-// battle_anim_80A5C6C.s
+// battle_anim_mons.s
void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite);
void sub_80A8AEC(struct Sprite *sprite);
void sub_80A8A6C(struct Sprite *sprite);
@@ -155,6 +155,9 @@ void sub_80A6DEC(struct Sprite *sprite);
void DestroyAnimVisualTaskAndDisableBlend(u8 taskId);
void DestroySpriteAndFreeResources_(struct Sprite *sprite);
void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId);
+u8 GetBattlerSide(u8 battler);
+u8 GetBattlerPosition(u8 battler);
+u8 GetBattlerAtPosition(u8 position);
enum
{
@@ -193,7 +196,7 @@ u8 GetSubstituteSpriteDefault_Y(u8 battlerId);
void sub_80A64EC(struct Sprite *sprite);
void sub_80A718C(struct Sprite *sprite);
-// battle_anim_80A9C70.s
+// battle_anim_status_effects.s
#define STAT_ANIM_PLUS1 15
#define STAT_ANIM_PLUS2 39
#define STAT_ANIM_MINUS1 22
@@ -204,13 +207,11 @@ void sub_80A718C(struct Sprite *sprite);
#define STAT_ANIM_MULTIPLE_MINUS2 58
void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId);
-// battle_anim_8170478.c
-void sub_8172EF0(u8 battler, struct Pokemon *mon);
-
// ground.c
void sub_81152DC(u8 taskId);
-// battle_anim_8170478.s
+// battle_anim_special.c
+void sub_8172EF0(u8 battler, struct Pokemon *mon);
u8 ItemIdToBallId(u16 itemId);
u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId);
u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 selectedPalettes, u8 ballId);
diff --git a/include/battle_setup.h b/include/battle_setup.h
index 3b327e3f7..984c820bb 100644
--- a/include/battle_setup.h
+++ b/include/battle_setup.h
@@ -1,10 +1,10 @@
#ifndef GUARD_BATTLE_SETUP_H
#define GUARD_BATTLE_SETUP_H
+#include "gym_leader_rematch.h"
+
#define REMATCHES_COUNT 5
-#define REMATCH_TABLE_ENTRIES 78
-#define REMATCH_WALLY_ENTRY 64
-#define REMATCH_ELITE_FOUR_ENTRIES 73
+#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY
struct RematchTrainer
{
diff --git a/include/berry_crush.h b/include/berry_crush.h
new file mode 100755
index 000000000..101450a33
--- /dev/null
+++ b/include/berry_crush.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_BERRY_CRUSH_H
+#define GUARD_BERRY_CRUSH_H
+
+void sub_8020C70(MainCallback callback);
+
+#endif // GUARD_BERRY_CRUSH_H
diff --git a/include/berry_powder.h b/include/berry_powder.h
new file mode 100755
index 000000000..8deea7ec0
--- /dev/null
+++ b/include/berry_powder.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_BERRY_POWDER_H
+#define GUARD_BERRY_POWDER_H
+
+void SetBerryPowder(u32 *powder, u32 amount);
+void ApplyNewEncryptionKeyToBerryPowder(u32 encryptionKey);
+bool8 GiveBerryPowder(u32 amountToAdd);
+u32 GetBerryPowder(void);
+
+#endif // GUARD_BERRY_POWDER_H
diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h
index 34a45395c..1209dfa19 100644
--- a/include/constants/battle_anim.h
+++ b/include/constants/battle_anim.h
@@ -11,137 +11,137 @@
#define ANIM_TAG_SPARK (ANIM_SPRITES_START + 1)
#define ANIM_TAG_PENCIL (ANIM_SPRITES_START + 2)
#define ANIM_TAG_AIR_WAVE (ANIM_SPRITES_START + 3)
-#define ANIM_TAG_UNUSED_ORB (ANIM_SPRITES_START + 4)
+#define ANIM_TAG_ORB (ANIM_SPRITES_START + 4)
#define ANIM_TAG_SWORD (ANIM_SPRITES_START + 5)
#define ANIM_TAG_SEED (ANIM_SPRITES_START + 6)
-#define ANIM_TAG_UNUSED_EXPLOSION (ANIM_SPRITES_START + 7)
-#define ANIM_TAG_UNUSED_PINK_ORB (ANIM_SPRITES_START + 8)
+#define ANIM_TAG_EXPLOSION_6 (ANIM_SPRITES_START + 7)
+#define ANIM_TAG_PINK_ORB (ANIM_SPRITES_START + 8) // unused
#define ANIM_TAG_GUST (ANIM_SPRITES_START + 9)
#define ANIM_TAG_ICE_CUBE (ANIM_SPRITES_START + 10)
#define ANIM_TAG_SPARK_2 (ANIM_SPRITES_START + 11)
-#define ANIM_TAG_UNUSED_ORANGE (ANIM_SPRITES_START + 12)
+#define ANIM_TAG_ORANGE (ANIM_SPRITES_START + 12) // unused
#define ANIM_TAG_YELLOW_BALL (ANIM_SPRITES_START + 13)
#define ANIM_TAG_LOCK_ON (ANIM_SPRITES_START + 14)
#define ANIM_TAG_TIED_BAG (ANIM_SPRITES_START + 15)
#define ANIM_TAG_BLACK_SMOKE (ANIM_SPRITES_START + 16)
#define ANIM_TAG_BLACK_BALL (ANIM_SPRITES_START + 17)
#define ANIM_TAG_CONVERSION (ANIM_SPRITES_START + 18)
-#define ANIM_TAG_UNUSED_GLASS (ANIM_SPRITES_START + 19)
+#define ANIM_TAG_GLASS (ANIM_SPRITES_START + 19) // unused
#define ANIM_TAG_HORN_HIT (ANIM_SPRITES_START + 20)
-#define ANIM_TAG_UNUSED_HIT (ANIM_SPRITES_START + 21)
-#define ANIM_TAG_UNUSED_HIT_2 (ANIM_SPRITES_START + 22)
-#define ANIM_TAG_UNUSED_BLUE_SHARDS (ANIM_SPRITES_START + 23)
-#define ANIM_TAG_UNUSED_CLOSING_EYE (ANIM_SPRITES_START + 24)
-#define ANIM_TAG_UNUSED_WAVING_HAND (ANIM_SPRITES_START + 25)
-#define ANIM_TAG_UNUSED_HIT_DUPLICATE (ANIM_SPRITES_START + 26)
+#define ANIM_TAG_HIT (ANIM_SPRITES_START + 21)
+#define ANIM_TAG_HIT_2 (ANIM_SPRITES_START + 22)
+#define ANIM_TAG_BLUE_SHARDS (ANIM_SPRITES_START + 23) // unused
+#define ANIM_TAG_CLOSING_EYE (ANIM_SPRITES_START + 24) // unused
+#define ANIM_TAG_WAVING_HAND (ANIM_SPRITES_START + 25) // unused
+#define ANIM_TAG_HIT_DUPLICATE (ANIM_SPRITES_START + 26) // unused
#define ANIM_TAG_LEER (ANIM_SPRITES_START + 27)
-#define ANIM_TAG_UNUSED_BLUE_BURST (ANIM_SPRITES_START + 28)
+#define ANIM_TAG_BLUE_BURST (ANIM_SPRITES_START + 28) // unused
#define ANIM_TAG_SMALL_EMBER (ANIM_SPRITES_START + 29)
#define ANIM_TAG_GRAY_SMOKE (ANIM_SPRITES_START + 30)
#define ANIM_TAG_BLUE_STAR (ANIM_SPRITES_START + 31)
-#define ANIM_TAG_UNUSED_BUBBLE_BURST (ANIM_SPRITES_START + 32)
+#define ANIM_TAG_BUBBLE_BURST (ANIM_SPRITES_START + 32)
#define ANIM_TAG_FIRE (ANIM_SPRITES_START + 33)
-#define ANIM_TAG_UNUSED_SPINNING_FIRE (ANIM_SPRITES_START + 34)
+#define ANIM_TAG_SPINNING_FIRE (ANIM_SPRITES_START + 34) // unused
#define ANIM_TAG_FIRE_PLUME (ANIM_SPRITES_START + 35)
-#define ANIM_TAG_UNUSED_LIGHTNING (ANIM_SPRITES_START + 36)
+#define ANIM_TAG_LIGHTNING_2 (ANIM_SPRITES_START + 36) // unused
#define ANIM_TAG_LIGHTNING (ANIM_SPRITES_START + 37)
-#define ANIM_TAG_UNUSED_CLAW_SLASH (ANIM_SPRITES_START + 38)
+#define ANIM_TAG_CLAW_SLASH_2 (ANIM_SPRITES_START + 38) // unused
#define ANIM_TAG_CLAW_SLASH (ANIM_SPRITES_START + 39)
-#define ANIM_TAG_UNUSED_SCRATCH (ANIM_SPRITES_START + 40)
-#define ANIM_TAG_UNUSED_SCRATCH_2 (ANIM_SPRITES_START + 41)
-#define ANIM_TAG_UNUSED_BUBBLE_BURST_2 (ANIM_SPRITES_START + 42)
+#define ANIM_TAG_SCRATCH_3 (ANIM_SPRITES_START + 40) // unused
+#define ANIM_TAG_SCRATCH_2 (ANIM_SPRITES_START + 41) // unused
+#define ANIM_TAG_BUBBLE_BURST_2 (ANIM_SPRITES_START + 42) // unused
#define ANIM_TAG_ICE_CHUNK (ANIM_SPRITES_START + 43)
-#define ANIM_TAG_UNUSED_GLASS_2 (ANIM_SPRITES_START + 44)
-#define ANIM_TAG_UNUSED_PINK_HEART (ANIM_SPRITES_START + 45)
-#define ANIM_TAG_UNUSED_SAP_DRIP (ANIM_SPRITES_START + 46)
-#define ANIM_TAG_UNUSED_SAP_DRIP_2 (ANIM_SPRITES_START + 47)
+#define ANIM_TAG_GLASS_2 (ANIM_SPRITES_START + 44) // unused
+#define ANIM_TAG_PINK_HEART_2 (ANIM_SPRITES_START + 45) // unused
+#define ANIM_TAG_SAP_DRIP (ANIM_SPRITES_START + 46) // unused
+#define ANIM_TAG_SAP_DRIP_2 (ANIM_SPRITES_START + 47) // unused
#define ANIM_TAG_SPARKLE_1 (ANIM_SPRITES_START + 48)
#define ANIM_TAG_SPARKLE_2 (ANIM_SPRITES_START + 49)
#define ANIM_TAG_HUMANOID_FOOT (ANIM_SPRITES_START + 50)
-#define ANIM_TAG_UNUSED_MONSTER_FOOT (ANIM_SPRITES_START + 51)
-#define ANIM_TAG_UNUSED_HUMANOID_HAND (ANIM_SPRITES_START + 52)
+#define ANIM_TAG_MONSTER_FOOT (ANIM_SPRITES_START + 51)
+#define ANIM_TAG_HUMANOID_HAND (ANIM_SPRITES_START + 52) // unused
#define ANIM_TAG_NOISE_LINE (ANIM_SPRITES_START + 53)
-#define ANIM_TAG_UNUSED_YELLOW_UNK (ANIM_SPRITES_START + 54)
-#define ANIM_TAG_UNUSED_RED_FIST (ANIM_SPRITES_START + 55)
+#define ANIM_TAG_YELLOW_UNK (ANIM_SPRITES_START + 54) // unused
+#define ANIM_TAG_RED_FIST (ANIM_SPRITES_START + 55) // unused
#define ANIM_TAG_SLAM_HIT (ANIM_SPRITES_START + 56)
-#define ANIM_TAG_UNUSED_RING (ANIM_SPRITES_START + 57)
+#define ANIM_TAG_RING (ANIM_SPRITES_START + 57) // unused
#define ANIM_TAG_ROCKS (ANIM_SPRITES_START + 58)
-#define ANIM_TAG_UNUSED_Z (ANIM_SPRITES_START + 59)
-#define ANIM_TAG_UNUSED_YELLOW_UNK_2 (ANIM_SPRITES_START + 60)
-#define ANIM_TAG_UNUSED_AIR_SLASH (ANIM_SPRITES_START + 61)
-#define ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS (ANIM_SPRITES_START + 62)
+#define ANIM_TAG_Z (ANIM_SPRITES_START + 59) // unused
+#define ANIM_TAG_YELLOW_UNK_2 (ANIM_SPRITES_START + 60) // unused
+#define ANIM_TAG_AIR_SLASH (ANIM_SPRITES_START + 61) // unused
+#define ANIM_TAG_SPINNING_GREEN_ORBS (ANIM_SPRITES_START + 62) // unused
#define ANIM_TAG_LEAF (ANIM_SPRITES_START + 63)
#define ANIM_TAG_FINGER (ANIM_SPRITES_START + 64)
#define ANIM_TAG_POISON_POWDER (ANIM_SPRITES_START + 65)
-#define ANIM_TAG_UNUSED_BROWN_TRIANGLE (ANIM_SPRITES_START + 66)
+#define ANIM_TAG_BROWN_TRIANGLE (ANIM_SPRITES_START + 66) // unused
#define ANIM_TAG_SLEEP_POWDER (ANIM_SPRITES_START + 67)
#define ANIM_TAG_STUN_SPORE (ANIM_SPRITES_START + 68)
-#define ANIM_TAG_UNUSED_POWDER (ANIM_SPRITES_START + 69)
+#define ANIM_TAG_POWDER (ANIM_SPRITES_START + 69) // unused
#define ANIM_TAG_SPARKLE_3 (ANIM_SPRITES_START + 70)
#define ANIM_TAG_SPARKLE_4 (ANIM_SPRITES_START + 71)
#define ANIM_TAG_MUSIC_NOTES (ANIM_SPRITES_START + 72)
#define ANIM_TAG_DUCK (ANIM_SPRITES_START + 73)
#define ANIM_TAG_MUD_SAND (ANIM_SPRITES_START + 74)
#define ANIM_TAG_ALERT (ANIM_SPRITES_START + 75)
-#define ANIM_TAG_UNUSED_BLUE_FLAMES (ANIM_SPRITES_START + 76)
-#define ANIM_TAG_UNUSED_BLUE_FLAMES_2 (ANIM_SPRITES_START + 77)
-#define ANIM_TAG_UNUSED_SHOCK (ANIM_SPRITES_START + 78)
+#define ANIM_TAG_BLUE_FLAMES (ANIM_SPRITES_START + 76) // unused
+#define ANIM_TAG_BLUE_FLAMES_2 (ANIM_SPRITES_START + 77) // unused
+#define ANIM_TAG_SHOCK_4 (ANIM_SPRITES_START + 78) // unused
#define ANIM_TAG_SHOCK (ANIM_SPRITES_START + 79)
-#define ANIM_TAG_UNUSED_BELL (ANIM_SPRITES_START + 80)
-#define ANIM_TAG_UNUSED_PINK_GLOVE (ANIM_SPRITES_START + 81)
-#define ANIM_TAG_UNUSED_BLUE_LINES (ANIM_SPRITES_START + 82)
-#define ANIM_TAG_UNUSED_IMPACT (ANIM_SPRITES_START + 83)
-#define ANIM_TAG_UNUSED_IMPACT_2 (ANIM_SPRITES_START + 84)
-#define ANIM_TAG_UNUSED_RETICLE (ANIM_SPRITES_START + 85)
+#define ANIM_TAG_BELL_2 (ANIM_SPRITES_START + 80) // unused
+#define ANIM_TAG_PINK_GLOVE (ANIM_SPRITES_START + 81) // unused
+#define ANIM_TAG_BLUE_LINES (ANIM_SPRITES_START + 82) // unused
+#define ANIM_TAG_IMPACT_3 (ANIM_SPRITES_START + 83) // unused
+#define ANIM_TAG_IMPACT_2 (ANIM_SPRITES_START + 84) // unused
+#define ANIM_TAG_RETICLE (ANIM_SPRITES_START + 85) // unused
#define ANIM_TAG_BREATH (ANIM_SPRITES_START + 86)
#define ANIM_TAG_ANGER (ANIM_SPRITES_START + 87)
-#define ANIM_TAG_UNUSED_SNOWBALL (ANIM_SPRITES_START + 88)
-#define ANIM_TAG_UNUSED_VINE (ANIM_SPRITES_START + 89)
-#define ANIM_TAG_UNUSED_SWORD (ANIM_SPRITES_START + 90)
-#define ANIM_TAG_UNUSED_CLAPPING (ANIM_SPRITES_START + 91)
-#define ANIM_TAG_UNUSED_RED_TUBE (ANIM_SPRITES_START + 92)
+#define ANIM_TAG_SNOWBALL (ANIM_SPRITES_START + 88) // unused
+#define ANIM_TAG_VINE (ANIM_SPRITES_START + 89) // unused
+#define ANIM_TAG_SWORD_2 (ANIM_SPRITES_START + 90) // unused
+#define ANIM_TAG_CLAPPING (ANIM_SPRITES_START + 91) // unused
+#define ANIM_TAG_RED_TUBE (ANIM_SPRITES_START + 92) // unused
#define ANIM_TAG_AMNESIA (ANIM_SPRITES_START + 93)
-#define ANIM_TAG_UNUSED_STRING (ANIM_SPRITES_START + 94)
-#define ANIM_TAG_UNUSED_PENCIL (ANIM_SPRITES_START + 95)
-#define ANIM_TAG_UNUSED_PETAL (ANIM_SPRITES_START + 96)
+#define ANIM_TAG_STRING_2 (ANIM_SPRITES_START + 94) // unused
+#define ANIM_TAG_PENCIL_2 (ANIM_SPRITES_START + 95) // unused
+#define ANIM_TAG_PETAL (ANIM_SPRITES_START + 96) // unused
#define ANIM_TAG_BENT_SPOON (ANIM_SPRITES_START + 97)
-#define ANIM_TAG_UNUSED_WEB (ANIM_SPRITES_START + 98)
+#define ANIM_TAG_WEB (ANIM_SPRITES_START + 98) // unused
#define ANIM_TAG_MILK_BOTTLE (ANIM_SPRITES_START + 99)
#define ANIM_TAG_COIN (ANIM_SPRITES_START + 100)
-#define ANIM_TAG_UNUSED_CRACKED_EGG (ANIM_SPRITES_START + 101)
-#define ANIM_TAG_UNUSED_HATCHED_EGG (ANIM_SPRITES_START + 102)
-#define ANIM_TAG_UNUSED_FRESH_EGG (ANIM_SPRITES_START + 103)
-#define ANIM_TAG_UNUSED_FANGS (ANIM_SPRITES_START + 104)
-#define ANIM_TAG_UNUSED_EXPLOSION_2 (ANIM_SPRITES_START + 105)
-#define ANIM_TAG_UNUSED_EXPLOSION_3 (ANIM_SPRITES_START + 106)
-#define ANIM_TAG_UNUSED_WATER_DROPLET (ANIM_SPRITES_START + 107)
-#define ANIM_TAG_UNUSED_WATER_DROPLET_2 (ANIM_SPRITES_START + 108)
-#define ANIM_TAG_UNUSED_SEED (ANIM_SPRITES_START + 109)
-#define ANIM_TAG_UNUSED_SPROUT (ANIM_SPRITES_START + 110)
-#define ANIM_TAG_UNUSED_RED_WAND (ANIM_SPRITES_START + 111)
-#define ANIM_TAG_UNUSED_PURPLE_GREEN_UNK (ANIM_SPRITES_START + 112)
-#define ANIM_TAG_UNUSED_WATER_COLUMN (ANIM_SPRITES_START + 113)
-#define ANIM_TAG_UNUSED_MUD_UNK (ANIM_SPRITES_START + 114)
+#define ANIM_TAG_CRACKED_EGG (ANIM_SPRITES_START + 101) // unused
+#define ANIM_TAG_HATCHED_EGG (ANIM_SPRITES_START + 102) // unused
+#define ANIM_TAG_FRESH_EGG (ANIM_SPRITES_START + 103) // unused
+#define ANIM_TAG_FANGS (ANIM_SPRITES_START + 104) // unused
+#define ANIM_TAG_EXPLOSION_2 (ANIM_SPRITES_START + 105) // unused
+#define ANIM_TAG_EXPLOSION_3 (ANIM_SPRITES_START + 106) // unused
+#define ANIM_TAG_WATER_DROPLET (ANIM_SPRITES_START + 107) // unused
+#define ANIM_TAG_WATER_DROPLET_2 (ANIM_SPRITES_START + 108) // unused
+#define ANIM_TAG_SEED_2 (ANIM_SPRITES_START + 109) // unused
+#define ANIM_TAG_SPROUT (ANIM_SPRITES_START + 110) // unused
+#define ANIM_TAG_RED_WAND (ANIM_SPRITES_START + 111) // unused
+#define ANIM_TAG_PURPLE_GREEN_UNK (ANIM_SPRITES_START + 112) // unused
+#define ANIM_TAG_WATER_COLUMN (ANIM_SPRITES_START + 113) // unused
+#define ANIM_TAG_MUD_UNK (ANIM_SPRITES_START + 114) // unused
#define ANIM_TAG_RAIN_DROPS (ANIM_SPRITES_START + 115)
-#define ANIM_TAG_UNUSED_FURY_SWIPES (ANIM_SPRITES_START + 116)
-#define ANIM_TAG_UNUSED_VINE_2 (ANIM_SPRITES_START + 117)
-#define ANIM_TAG_UNUSED_TEETH (ANIM_SPRITES_START + 118)
-#define ANIM_TAG_UNUSED_BONE (ANIM_SPRITES_START + 119)
-#define ANIM_TAG_UNUSED_WHITE_BAG (ANIM_SPRITES_START + 120)
-#define ANIM_TAG_UNUSED_UNKNOWN (ANIM_SPRITES_START + 121)
-#define ANIM_TAG_UNUSED_PURPLE_CORAL (ANIM_SPRITES_START + 122)
-#define ANIM_TAG_UNUSED_PURPLE_DROPLET (ANIM_SPRITES_START + 123)
-#define ANIM_TAG_UNUSED_SHOCK_2 (ANIM_SPRITES_START + 124)
-#define ANIM_TAG_UNUSED_CLOSING_EYE_2 (ANIM_SPRITES_START + 125)
-#define ANIM_TAG_UNUSED_METAL_BALL (ANIM_SPRITES_START + 126)
-#define ANIM_TAG_UNUSED_MONSTER_DOLL (ANIM_SPRITES_START + 127)
-#define ANIM_TAG_UNUSED_WHIRLWIND (ANIM_SPRITES_START + 128)
-#define ANIM_TAG_UNUSED_WHIRLWIND_2 (ANIM_SPRITES_START + 129)
-#define ANIM_TAG_UNUSED_EXPLOSION_4 (ANIM_SPRITES_START + 130)
-#define ANIM_TAG_UNUSED_EXPLOSION_5 (ANIM_SPRITES_START + 131)
-#define ANIM_TAG_UNUSED_TONGUE (ANIM_SPRITES_START + 132)
-#define ANIM_TAG_UNUSED_SMOKE (ANIM_SPRITES_START + 133)
-#define ANIM_TAG_UNUSED_SMOKE_2 (ANIM_SPRITES_START + 134)
+#define ANIM_TAG_FURY_SWIPES (ANIM_SPRITES_START + 116) // unused
+#define ANIM_TAG_VINE_2 (ANIM_SPRITES_START + 117) // unused
+#define ANIM_TAG_TEETH (ANIM_SPRITES_START + 118) // unused
+#define ANIM_TAG_BONE_2 (ANIM_SPRITES_START + 119) // unused
+#define ANIM_TAG_WHITE_BAG (ANIM_SPRITES_START + 120) // unused
+#define ANIM_TAG_UNKNOWN (ANIM_SPRITES_START + 121) // unused
+#define ANIM_TAG_PURPLE_CORAL (ANIM_SPRITES_START + 122) // unused
+#define ANIM_TAG_PURPLE_DROPLET (ANIM_SPRITES_START + 123) // unused
+#define ANIM_TAG_SHOCK_2 (ANIM_SPRITES_START + 124) // unused
+#define ANIM_TAG_CLOSING_EYE_2 (ANIM_SPRITES_START + 125) // unused
+#define ANIM_TAG_METAL_BALL (ANIM_SPRITES_START + 126) // unused
+#define ANIM_TAG_MONSTER_DOLL (ANIM_SPRITES_START + 127) // unused
+#define ANIM_TAG_WHIRLWIND (ANIM_SPRITES_START + 128) // unused
+#define ANIM_TAG_WHIRLWIND_2 (ANIM_SPRITES_START + 129) // unused
+#define ANIM_TAG_EXPLOSION_4 (ANIM_SPRITES_START + 130) // unused
+#define ANIM_TAG_EXPLOSION_5 (ANIM_SPRITES_START + 131) // unused
+#define ANIM_TAG_TONGUE (ANIM_SPRITES_START + 132) // unused
+#define ANIM_TAG_SMOKE (ANIM_SPRITES_START + 133) // unused
+#define ANIM_TAG_SMOKE_2 (ANIM_SPRITES_START + 134) // unused
#define ANIM_TAG_IMPACT (ANIM_SPRITES_START + 135)
#define ANIM_TAG_CIRCLE_IMPACT (ANIM_SPRITES_START + 136)
#define ANIM_TAG_SCRATCH (ANIM_SPRITES_START + 137)
@@ -185,11 +185,11 @@
#define ANIM_TAG_LARGE_FRESH_EGG (ANIM_SPRITES_START + 175)
#define ANIM_TAG_SHADOW_BALL (ANIM_SPRITES_START + 176)
#define ANIM_TAG_LICK (ANIM_SPRITES_START + 177)
-#define ANIM_TAG_UNUSED_VOID_LINES (ANIM_SPRITES_START + 178)
+#define ANIM_TAG_VOID_LINES (ANIM_SPRITES_START + 178)
#define ANIM_TAG_STRING (ANIM_SPRITES_START + 179)
#define ANIM_TAG_WEB_THREAD (ANIM_SPRITES_START + 180)
#define ANIM_TAG_SPIDER_WEB (ANIM_SPRITES_START + 181)
-#define ANIM_TAG_UNUSED_LIGHTBULB (ANIM_SPRITES_START + 182)
+#define ANIM_TAG_LIGHTBULB (ANIM_SPRITES_START + 182) // unused
#define ANIM_TAG_SLASH (ANIM_SPRITES_START + 183)
#define ANIM_TAG_FOCUS_ENERGY (ANIM_SPRITES_START + 184)
#define ANIM_TAG_SPHERE_TO_CUBE (ANIM_SPRITES_START + 185)
@@ -211,7 +211,7 @@
#define ANIM_TAG_WARM_ROCK (ANIM_SPRITES_START + 201)
#define ANIM_TAG_BREAKING_EGG (ANIM_SPRITES_START + 202)
#define ANIM_TAG_THIN_RING (ANIM_SPRITES_START + 203)
-#define ANIM_TAG_UNUSED_PUNCH_IMPACT (ANIM_SPRITES_START + 204)
+#define ANIM_TAG_PUNCH_IMPACT (ANIM_SPRITES_START + 204) // unused
#define ANIM_TAG_BELL (ANIM_SPRITES_START + 205)
#define ANIM_TAG_MUSIC_NOTES_2 (ANIM_SPRITES_START + 206)
#define ANIM_TAG_SPEED_DUST (ANIM_SPRITES_START + 207)
@@ -276,17 +276,17 @@
#define ANIM_TAG_GREEN_SPIKE (ANIM_SPRITES_START + 266)
#define ANIM_TAG_WHITE_CIRCLE_OF_LIGHT (ANIM_SPRITES_START + 267)
#define ANIM_TAG_GLOWY_BLUE_ORB (ANIM_SPRITES_START + 268)
-#define ANIM_TAG_UNUSED_RED_BRICK (ANIM_SPRITES_START + 269)
+#define ANIM_TAG_RED_BRICK (ANIM_SPRITES_START + 269)
#define ANIM_TAG_WHITE_FEATHER (ANIM_SPRITES_START + 270)
#define ANIM_TAG_SPARKLE_6 (ANIM_SPRITES_START + 271)
#define ANIM_TAG_SPLASH (ANIM_SPRITES_START + 272)
#define ANIM_TAG_SWEAT_BEAD (ANIM_SPRITES_START + 273)
-#define ANIM_TAG_UNUSED_GEM_1 (ANIM_SPRITES_START + 274)
-#define ANIM_TAG_UNUSED_GEM_2 (ANIM_SPRITES_START + 275)
-#define ANIM_TAG_UNUSED_GEM_3 (ANIM_SPRITES_START + 276)
+#define ANIM_TAG_GEM_1 (ANIM_SPRITES_START + 274) // unused
+#define ANIM_TAG_GEM_2 (ANIM_SPRITES_START + 275) // unused
+#define ANIM_TAG_GEM_3 (ANIM_SPRITES_START + 276) // unused
#define ANIM_TAG_SLAM_HIT_2 (ANIM_SPRITES_START + 277)
#define ANIM_TAG_RECYCLE (ANIM_SPRITES_START + 278)
-#define ANIM_TAG_UNUSED_RED_PARTICLES (ANIM_SPRITES_START + 279)
+#define ANIM_TAG_RED_PARTICLES (ANIM_SPRITES_START + 279) // unused
#define ANIM_TAG_PROTECT (ANIM_SPRITES_START + 280)
#define ANIM_TAG_DIRT_MOUND (ANIM_SPRITES_START + 281)
#define ANIM_TAG_SHOCK_3 (ANIM_SPRITES_START + 282)
@@ -313,7 +313,7 @@
// . .
// . .
// 127
-//
+//
#define SOUND_PAN_ATTACKER -64
#define SOUND_PAN_TARGET 63
@@ -335,10 +335,10 @@
#define BG_GUILLOTINE_CONTESTS 14
#define BG_ICE 15
#define BG_COSMIC 16
-#define BG_SEISMICTOSS_SKUUPPERCUT 17
-#define BG_FLYING 18
-#define BG_FLYING_CONTESTS 19
-#define BG_AURORABEAM 20
+#define BG_IN_AIR 17
+#define BG_SKY 18
+#define BG_SKY_CONTESTS 19
+#define BG_AURORA 20
#define BG_FISSURE 21
#define BG_BUG_OPPONENT 22
#define BG_BUG_PLAYER 23
@@ -411,32 +411,32 @@
#define ANIM_WEATHER_HAIL 4
// Battle mon back animations.
-#define BACK_ANIM_NONE 0x00
-#define BACK_ANIM_H_SLIDE_QUICK 0x01
-#define BACK_ANIM_H_SLIDE 0x02
-#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_1 0x03
-#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_2 0x04
-#define BACK_ANIM_SHRINK_GROW_1 0x05
-#define BACK_ANIM_GROW_1 0x06
-#define BACK_ANIM_CIRCLE_MOVE_COUNTERCLOCKWISE 0x07
-#define BACK_ANIM_HORIZONTAL_SHAKE 0x08
-#define BACK_ANIM_VERTICAL_SHAKE 0x09
-#define BACK_ANIM_V_SHAKE_WITH_H_SLIDE 0x0a
-#define BACK_ANIM_VERTICAL_STRETCH 0x0b
-#define BACK_ANIM_HORIZONTAL_STRETCH 0x0c
-#define BACK_ANIM_GROW_2 0x0d
-#define BACK_ANIM_V_SHAKE_WITH_PAUSE 0x0e
-#define BACK_ANIM_CIRCLE_MOVE_CLOCKWISE 0x0f
-#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL 0x10
-#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE 0x11
-#define BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE 0x12
-#define BACK_ANIM_DIP_RIGHT_SIDE 0x13
-#define BACK_ANIM_SHRINK_GROW_2 0x14
-#define BACK_ANIM_JOLT_RIGHT 0x15
-#define BACK_ANIM_FLASH_YELLOW_WITH_SHAKE 0x16
-#define BACK_ANIM_FADE_RED_WITH_SHAKE 0x17
-#define BACK_ANIM_FADE_GREEN_WITH_SHAKE 0x18
-#define BACK_ANIM_FADE_BLUE_WITH_SHAKE 0x19
+#define BACK_ANIM_NONE 0x00
+#define BACK_ANIM_H_SLIDE_QUICK 0x01
+#define BACK_ANIM_H_SLIDE 0x02
+#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_1 0x03
+#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_2 0x04
+#define BACK_ANIM_SHRINK_GROW_1 0x05
+#define BACK_ANIM_GROW_1 0x06
+#define BACK_ANIM_CIRCLE_MOVE_COUNTERCLOCKWISE 0x07
+#define BACK_ANIM_HORIZONTAL_SHAKE 0x08
+#define BACK_ANIM_VERTICAL_SHAKE 0x09
+#define BACK_ANIM_V_SHAKE_WITH_H_SLIDE 0x0a
+#define BACK_ANIM_VERTICAL_STRETCH 0x0b
+#define BACK_ANIM_HORIZONTAL_STRETCH 0x0c
+#define BACK_ANIM_GROW_2 0x0d
+#define BACK_ANIM_V_SHAKE_WITH_PAUSE 0x0e
+#define BACK_ANIM_CIRCLE_MOVE_CLOCKWISE 0x0f
+#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL 0x10
+#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE 0x11
+#define BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE 0x12
+#define BACK_ANIM_DIP_RIGHT_SIDE 0x13
+#define BACK_ANIM_SHRINK_GROW_2 0x14
+#define BACK_ANIM_JOLT_RIGHT 0x15
+#define BACK_ANIM_FLASH_YELLOW_WITH_SHAKE 0x16
+#define BACK_ANIM_FADE_RED_WITH_SHAKE 0x17
+#define BACK_ANIM_FADE_GREEN_WITH_SHAKE 0x18
+#define BACK_ANIM_FADE_BLUE_WITH_SHAKE 0x19
#endif // GUARD_CONSTANTS_BATTLE_ANIM_H
diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h
index e8a2980a5..894bd13b6 100644
--- a/include/constants/battle_script_commands.h
+++ b/include/constants/battle_script_commands.h
@@ -95,8 +95,6 @@
// statchange defines
#define STAT_CHANGE_BS_PTR 0x1
#define STAT_CHANGE_NOT_PROTECT_AFFECTED 0x20
-#define STAT_CHANGE_WORKED 0
-#define STAT_CHANGE_DIDNT_WORK 1
// atk48
#define ATK48_STAT_NEGATIVE 0x1
@@ -104,6 +102,26 @@
#define ATK48_ONLY_MULTIPLE 0x4
#define ATK48_DONT_CHECK_LOWER 0x8
+// atk49, moveend cases
+#define ATK49_RAGE 0
+#define ATK49_DEFROST 1
+#define ATK49_SYNCHRONIZE_TARGET 2
+#define ATK49_MOVE_END_ABILITIES 3
+#define ATK49_STATUS_IMMUNITY_ABILITIES 4
+#define ATK49_SYNCHRONIZE_ATTACKER 5
+#define ATK49_CHOICE_MOVE 6
+#define ATK49_CHANGED_ITEMS 7
+#define ATK49_ATTACKER_INVISIBLE 8
+#define ATK49_ATTACKER_VISIBLE 9
+#define ATK49_TARGET_VISIBLE 10
+#define ATK49_ITEM_EFFECTS_ALL 11
+#define ATK49_KINGSROCK_SHELLBELL 12
+#define ATK49_SUBSTITUTE 13
+#define ATK49_UPDATE_LAST_MOVES 14
+#define ATK49_MIRROR_MOVE 15
+#define ATK49_NEXT_TARGET 16
+#define ATK49_COUNT 17
+
#define BIT_HP 0x1
#define BIT_ATK 0x2
#define BIT_DEF 0x4
diff --git a/include/constants/event_object_movement_constants.h b/include/constants/event_object_movement_constants.h
index 2a80f9a09..b1f9b4cb5 100755
--- a/include/constants/event_object_movement_constants.h
+++ b/include/constants/event_object_movement_constants.h
@@ -242,4 +242,6 @@
#define MOVEMENT_ACTION_FLY_UP 0x9C
#define MOVEMENT_ACTION_FLY_DOWN 0x9D
+#define MOVEMENT_ACTION_STEP_END 0xFE
+
#endif // GUARD_CONSTANTS_EVENTOBJMV_H
diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h
index 9973477da..07ed2d40c 100644
--- a/include/constants/event_objects.h
+++ b/include/constants/event_objects.h
@@ -274,6 +274,8 @@
#define TRACKS_FOOT 1
#define TRACKS_BIKE_TIRE 2
+#define FIRST_DECORATION_SPRITE_GFX EVENT_OBJ_GFX_PICHU_DOLL
+
#define EVENT_OBJ_ID_PLAYER 0xFF
#define EVENT_OBJ_ID_CAMERA 0x7F
diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h
index 282f9ce75..00ca60457 100644
--- a/include/constants/field_effects.h
+++ b/include/constants/field_effects.h
@@ -1,7 +1,7 @@
#ifndef GUARD_FIELD_EFFECT_CONSTANTS_H
#define GUARD_FIELD_EFFECT_CONSTANTS_H
-#define FLDEFF_EXCLAMATION_MARK_ICON 0
+#define FLDEFF_EXCLAMATION_MARK_ICON 0
#define FLDEFF_USE_CUT_ON_GRASS 1
#define FLDEFF_USE_CUT_ON_TREE 2
#define FLDEFF_SHADOW 3
@@ -61,11 +61,11 @@
#define FLDEFF_SECRET_POWER_SHRUB 57
#define FLDEFF_CUT_GRASS 58
#define FLDEFF_FIELD_MOVE_SHOW_MON_INIT 59
-#define FLDEFF_USE_TOMB_PUZZLE_EFFECT 60
+#define FLDEFF_USE_TOMB_PUZZLE_EFFECT 60
#define FLDEFF_PCTURN_ON 61
#define FLDEFF_HALL_OF_FAME_RECORD 62
#define FLDEFF_USE_TELEPORT 63
-#define FLDEFF_64 64
+#define FLDEFF_RAYQUAZA 64
#define FLDEFF_65 65
#define FLDEFF_MOVE_DEOXYS_ROCK 66
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 230fbabaf..c56e9013d 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -287,7 +287,7 @@
#define FLAG_RECEIVED_TM41 0x109
#define FLAG_RECEIVED_LAVARIDGE_EGG 0x10A
#define FLAG_RECEIVED_REVIVED_FOSSIL_MON 0x10B
-#define FLAG_DECORATION_16 0x10C
+#define FLAG_SECRET_BASE_REGISTRY_ENABLED 0x10C
#define FLAG_RECEIVED_TM46 0x10D
#define FLAG_CONTEST_SKETCH_CREATED 0x10E
#define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE 0x10F
@@ -336,24 +336,23 @@
#define FLAG_RECEIVED_AURORA_TICKET 0x13A // RECEIVED Aurora Ticket in Mystery Gift
#define FLAG_RECEIVED_MYSTIC_TICKET 0x13B // RECEIVED Mystic Ticket in Mystery Gift
#define FLAG_RECEIVED_OLD_SEA_MAP 0x13C // RECEIVED Old Sea Map in Mystery Gift
-
-#define FLAG_UNUSED_0x13D 0x13D // Unused Flag
-#define FLAG_UNUSED_0x13E 0x13E // Unused Flag
-#define FLAG_UNUSED_0x13F 0x13F // Unused Flag
-#define FLAG_UNUSED_0x140 0x140 // Unused Flag
-#define FLAG_UNUSED_0x141 0x141 // Unused Flag
-#define FLAG_UNUSED_0x142 0x142 // Unused Flag
-#define FLAG_UNUSED_0x143 0x143 // Unused Flag
-#define FLAG_UNUSED_0x144 0x144 // Unused Flag
-#define FLAG_UNUSED_0x145 0x145 // Unused Flag
-#define FLAG_UNUSED_0x146 0x146 // Unused Flag
-#define FLAG_UNUSED_0x147 0x147 // Unused Flag
-#define FLAG_UNUSED_0x148 0x148 // Unused Flag
-#define FLAG_UNUSED_0x149 0x149 // Unused Flag
-#define FLAG_UNUSED_0x14A 0x14A // Unused Flag
-#define FLAG_UNUSED_0x14B 0x14B // Unused Flag
-#define FLAG_UNUSED_0x14C 0x14C // Unused Flag
-#define FLAG_UNUSED_0x14D 0x14D // Unused Flag
+#define FLAG_UNUSED_MYSTERY_GIFT_0x13D 0x13D
+#define FLAG_UNUSED_MYSTERY_GIFT_0x13E 0x13E
+#define FLAG_UNUSED_MYSTERY_GIFT_0x13F 0x13F
+#define FLAG_UNUSED_MYSTERY_GIFT_0x140 0x140
+#define FLAG_UNUSED_MYSTERY_GIFT_0x141 0x141
+#define FLAG_UNUSED_MYSTERY_GIFT_0x142 0x142
+#define FLAG_UNUSED_MYSTERY_GIFT_0x143 0x143
+#define FLAG_UNUSED_MYSTERY_GIFT_0x144 0x144
+#define FLAG_UNUSED_MYSTERY_GIFT_0x145 0x145
+#define FLAG_UNUSED_MYSTERY_GIFT_0x146 0x146
+#define FLAG_UNUSED_MYSTERY_GIFT_0x147 0x147
+#define FLAG_UNUSED_MYSTERY_GIFT_0x148 0x148
+#define FLAG_UNUSED_MYSTERY_GIFT_0x149 0x149
+#define FLAG_UNUSED_MYSTERY_GIFT_0x14A 0x14A
+#define FLAG_UNUSED_MYSTERY_GIFT_0x14B 0x14B
+#define FLAG_UNUSED_MYSTERY_GIFT_0x14C 0x14C
+#define FLAG_UNUSED_MYSTERY_GIFT_0x14D 0x14D
#define FLAG_MIRAGE_TOWER_VISIBLE 0x14E
#define FLAG_CHOSE_CLAW_FOSSIL 0x14F // Player chose Claw Fossil
@@ -446,13 +445,14 @@
#define FLAG_REMATCH_NORMAN 0x1A2
#define FLAG_REMATCH_WINONA 0x1A3
#define FLAG_REMATCH_TATE_AND_LIZA 0x1A4
-#define FLAG_REMATCH_JUAN 0x1A5
-#define FLAG_REMATCH_SIDNEY 0x1A6
-#define FLAG_REMATCH_PHOEBE 0x1A7
-#define FLAG_REMATCH_GLACIA 0x1A8
-#define FLAG_REMATCH_DRAKE 0x1A9
-#define FLAG_REMATCH_WALLACE 0x1AA
-
+// Note: FLAG_REMATCH_JUAN is handled by FLAG_ENABLE_JUAN_MATCH_CALL instead.
+#define FLAG_REMATCH_SIDNEY 0x1A5
+#define FLAG_REMATCH_PHOEBE 0x1A6
+#define FLAG_REMATCH_GLACIA 0x1A7
+#define FLAG_REMATCH_DRAKE 0x1A8
+#define FLAG_REMATCH_WALLACE 0x1A9
+
+#define FLAG_UNUSED_0x1AA 0x1AA // Unused Flag
#define FLAG_UNUSED_0x1AB 0x1AB // Unused Flag
#define FLAG_DEFEATED_DEOXYS 0x1AC
diff --git a/include/constants/game_stat.h b/include/constants/game_stat.h
index 7ebf3501b..e302f1345 100644
--- a/include/constants/game_stat.h
+++ b/include/constants/game_stat.h
@@ -51,7 +51,7 @@
#define GAME_STAT_USED_DAYCARE 47
#define GAME_STAT_RODE_CABLE_CAR 48
#define GAME_STAT_ENTERED_HOT_SPRINGS 49
-#define GAME_STAT_50 50
+#define GAME_STAT_NUM_UNION_ROOM_BATTLES 50
#define GAME_STAT_51 51
#define NUM_USED_GAME_STATS 52
diff --git a/include/constants/maps.h b/include/constants/maps.h
index e1e2da992..b849749a9 100644
--- a/include/constants/maps.h
+++ b/include/constants/maps.h
@@ -9,4 +9,10 @@
#define MAP_GROUP(map) (MAP_##map >> 8)
#define MAP_NUM(map) (MAP_##map & 0xFF)
+// These groups are used by pokedex_area_screen.c to find wild
+// pokemon locations.
+#define MAP_GROUP_OVERWORLD_MONS MAP_GROUP(PETALBURG_CITY)
+#define MAP_GROUP_SPECIAL_MONS_1 MAP_GROUP(METEOR_FALLS_1F_1R)
+#define MAP_GROUP_SPECIAL_MONS_2 MAP_GROUP(SAFARI_ZONE_NORTHWEST)
+
#endif // GUARD_CONSTANTS_MAPS_H
diff --git a/include/constants/metatile_behaviors.h b/include/constants/metatile_behaviors.h
index d8d75066c..44bbd9729 100755
--- a/include/constants/metatile_behaviors.h
+++ b/include/constants/metatile_behaviors.h
@@ -182,7 +182,7 @@
#define MB_SECRET_BASE_UNUSED 0xB2
#define MB_BLOCK_DECORATION 0xB3
#define MB_SECRET_BASE_DECORATION 0xB4
-#define MB_SECRET_BASE_LARGE_MAT_EDGE 0xB5
+#define MB_HOLDS_SMALL_DECORATION 0xB5
#define MB_UNUSED_B6 0xB6
#define MB_SECRET_BASE_NORTH_WALL 0xB7
#define MB_SECRET_BASE_BALLOON 0xB8
@@ -196,7 +196,7 @@
#define MB_IMPASSABLE_SOUTH_AND_NORTH 0xC0
#define MB_IMPASSABLE_WEST_AND_EAST 0xC1
#define MB_SECRET_BASE_HOLE 0xC2
-#define MB_LARGE_MAT_CENTER 0xC3
+#define MB_HOLDS_LARGE_DECORATION 0xC3
#define MB_SECRET_BASE_TV_SHIELD 0xC4
#define MB_PLAYER_ROOM_PC_ON 0xC5
#define MB_C6 0xC6
diff --git a/include/constants/songs.h b/include/constants/songs.h
index a459edd24..3778d5f08 100644
--- a/include/constants/songs.h
+++ b/include/constants/songs.h
@@ -467,7 +467,7 @@
#define MUS_RG_UNION 539 // Union Room
#define MUS_RG_NETWORK 540 // Network Center
#define MUS_RG_OKURIMONO 541 // Mystery Gift
-#define MUS_RG_KINOMIKUI 542
+#define MUS_RG_KINOMIKUI 542 // Dodrio Berry Picking
#define MUS_RG_NANADUNGEON 543 // Sevii Caves/Altering Cave (Mt. Moon)
#define MUS_RG_OSHIE_TV 544 // Follow Me!
#define MUS_RG_NANASHIMA 545 // Sevii Islands Routes (Lake of Rage)
@@ -538,4 +538,6 @@
#define MUS_ROUTE_118 0x7FFF // map is split into 2 music sections. controlled by GetCurrLocationDefaultMusic().
+#define MUS_NONE 0xFFFF
+
#endif // GUARD_CONSTANTS_SONGS_H
diff --git a/include/constants/vars.h b/include/constants/vars.h
index c025d62fc..6fd1c16dd 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -1,8 +1,6 @@
#ifndef GUARD_CONSTANTS_VARS_H
#define GUARD_CONSTANTS_VARS_H
-#define UNKNOWN_VAR_OFFSET_3F20 0x3F20
-
#define VARS_START 0x4000
// temporary vars
@@ -60,7 +58,7 @@
#define VAR_POISON_STEP_COUNTER 0x402B
#define VAR_RESET_RTC_ENABLE 0x402C
#define VAR_ENIGMA_BERRY_AVAILABLE 0x402D
-#define VAR_UNUSED_0x402E 0x402E // Unused Var
+#define VAR_0x402E 0x402E
#define VAR_FRONTIER_MANIAC_FACILITY 0x402F
#define VAR_FRONTIER_GAMBLER_FACILITY 0x4030
@@ -74,7 +72,7 @@
#define VAR_UNUSUAL_WEATHER_LOCATION 0x4037
#define VAR_UNUSUAL_WEATHER_STEP_COUNTER 0x4038
#define VAR_SHOULD_END_UNUSUAL_WEATHER 0x4039
-#define VAR_NEVER_READ_0x403A 0x403A // Var is written to, but never checked
+#define VAR_FARAWAY_ISLAND_STEP_COUNTER 0x403A
#define VAR_REGICE_STEPS_1 0x403B
#define VAR_REGICE_STEPS_2 0x403C
#define VAR_REGICE_STEPS_3 0x403D
@@ -84,7 +82,7 @@
#define VAR_FANCLUB_UNKNOWN_1 0x4041
#define VAR_FANCLUB_UNKNOWN_2 0x4042
#define VAR_DEPT_STORE_FLOOR 0x4043
-#define VAR_0x4044 0x4044
+#define VAR_TRICK_HOUSE_LEVEL 0x4044
#define VAR_POKELOT_PRIZE_ITEM 0x4045
#define VAR_NATIONAL_DEX 0x4046
#define VAR_SEEDOT_SIZE_RECORD 0x4047
diff --git a/include/contest.h b/include/contest.h
index 8146486cb..a0b1a6b34 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -196,19 +196,33 @@ enum
CONTEST_STRING_NONE = 255
};
+enum {
+ CONTEST_RANK_NORMAL,
+ CONTEST_RANK_SUPER,
+ CONTEST_RANK_HYPER,
+ CONTEST_RANK_MASTER,
+ CONTEST_RANK_LINK
+};
+
+enum {
+ CONTEST_FILTER_NONE,
+ CONTEST_FILTER_NO_POSTGAME,
+ CONTEST_FILTER_ONLY_POSTGAME
+};
+
struct ContestPokemon
{
/*0x00*/ u16 species;
/*0x02*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
- /*0x0D*/ u8 trainerName[8];
+ /*0x0D*/ u8 trainerName[PLAYER_NAME_LENGTH + 1];
/*0x15*/ u8 trainerGfxId;
/*0x18*/ u32 flags;
- /*0x1C*/ u8 whichRank:2;
- u8 aiPool_Cool:1;
- u8 aiPool_Beauty:1;
- u8 aiPool_Cute:1;
- u8 aiPool_Smart:1;
- u8 aiPool_Tough:1;
+ /*0x1C*/ u8 whichRank:2; // 0x1 0x2
+ u8 aiPool_Cool:1; // 0x4
+ u8 aiPool_Beauty:1; // 0x8
+ u8 aiPool_Cute:1; // 0x10
+ u8 aiPool_Smart:1; // 0x20
+ u8 aiPool_Tough:1; // 0x40
/*0x1E*/ u16 moves[4]; // moves
/*0x26*/ u8 cool; // cool
/*0x27*/ u8 beauty; // beauty
@@ -219,7 +233,7 @@ struct ContestPokemon
/*0x2C*/ u8 unk2C[12];
/*0x38*/ u32 personality; // personality
/*0x3C*/ u32 otId; // otId
-}; // wow
+};
struct Shared18000
{
diff --git a/include/contest_effect.h b/include/contest_effect.h
index 5f48e1b8b..0474cb38c 100644
--- a/include/contest_effect.h
+++ b/include/contest_effect.h
@@ -19,6 +19,7 @@ struct ContestEffect
extern const struct ContestMove gContestMoves[];
extern const struct ContestEffect gContestEffects[];
extern const u8 *const gContestEffectDescriptionPointers[];
+extern const u8 *const gContestMoveTypeTextPointers[];
bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove);
diff --git a/include/data.h b/include/data.h
new file mode 100644
index 000000000..f1a4caa6a
--- /dev/null
+++ b/include/data.h
@@ -0,0 +1,119 @@
+#ifndef GUARD_DATA_H
+#define GUARD_DATA_H
+
+#include "constants/moves.h"
+#include "constants/species.h"
+
+#define SPECIES_SHINY_TAG 500
+
+struct MonCoords
+{
+ // This would use a bitfield, but some function
+ // uses it as a u8 and casting won't match.
+ u8 size; // u8 width:4, height:4;
+ u8 y_offset;
+};
+
+struct TrainerMonNoItemDefaultMoves
+{
+ u16 iv;
+ u8 lvl;
+ u16 species;
+};
+
+struct TrainerMonItemDefaultMoves
+{
+ u16 iv;
+ u8 lvl;
+ u16 species;
+ u16 heldItem;
+};
+
+struct TrainerMonNoItemCustomMoves
+{
+ u16 iv;
+ u8 lvl;
+ u16 species;
+ u16 moves[4];
+};
+
+struct TrainerMonItemCustomMoves
+{
+ u16 iv;
+ u8 lvl;
+ u16 species;
+ u16 heldItem;
+ u16 moves[4];
+};
+
+union TrainerMonPtr
+{
+ const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves;
+ const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves;
+ const struct TrainerMonItemDefaultMoves *ItemDefaultMoves;
+ const struct TrainerMonItemCustomMoves *ItemCustomMoves;
+};
+
+struct Trainer
+{
+ /*0x00*/ u8 partyFlags;
+ /*0x01*/ u8 trainerClass;
+ /*0x02*/ u8 encounterMusic_gender; // last bit is gender
+ /*0x03*/ u8 trainerPic;
+ /*0x04*/ u8 trainerName[12];
+ /*0x10*/ u16 items[4];
+ /*0x18*/ bool8 doubleBattle;
+ /*0x1C*/ u32 aiFlags;
+ /*0x20*/ u8 partySize;
+ /*0x24*/ union TrainerMonPtr party;
+};
+
+#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F))
+
+extern const u16 gUnknown_082FF1D8[];
+extern const u32 gUnknown_082FF1F8[];
+
+extern const struct SpriteFrameImage gUnknown_082FF3A8[];
+extern const struct SpriteFrameImage gUnknown_082FF3C8[];
+extern const struct SpriteFrameImage gUnknown_082FF3E8[];
+extern const struct SpriteFrameImage gUnknown_082FF408[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_Brendan[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_May[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_Red[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_Wally[];
+extern const struct SpriteFrameImage gTrainerBackPicTable_Steven[];
+
+extern const union AffineAnimCmd *const gUnknown_082FF618[];
+extern const union AffineAnimCmd *const gUnknown_082FF694[];
+extern const union AffineAnimCmd *const gUnknown_082FF6C0[];
+
+extern const union AnimCmd *const gUnknown_082FF70C[];
+extern const struct MonCoords gMonFrontPicCoords[];
+extern const struct CompressedSpriteSheet gMonStillFrontPicTable[];
+extern const struct MonCoords gMonBackPicCoords[];
+extern const struct CompressedSpriteSheet gMonBackPicTable[];
+extern const struct CompressedSpritePalette gMonPaletteTable[];
+extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
+extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
+extern const struct MonCoords gTrainerFrontPicCoords[];
+extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
+extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
+extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[];
+extern const struct MonCoords gTrainerBackPicCoords[];
+extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; // functionally unused
+extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
+
+extern const u8 gEnemyMonElevation[NUM_SPECIES];
+
+extern const union AnimCmd *const *const gMonFrontAnimsPtrTable[];
+extern const struct CompressedSpriteSheet gMonFrontPicTable[];
+
+extern const struct Trainer gTrainers[];
+extern const u8 gTrainerClassNames[][13];
+extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
+extern const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1];
+
+#endif // GUARD_DATA_H
diff --git a/include/data2.h b/include/data2.h
deleted file mode 100644
index c1a2608ae..000000000
--- a/include/data2.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef GUARD_DATA2_H
-#define GUARD_DATA2_H
-
-struct MonCoords
-{
- // This would use a bitfield, but some function
- // uses it as a u8 and casting won't match.
- u8 size; // u8 width:4, height:4;
- u8 y_offset;
-};
-
-extern const struct MonCoords gTrainerBackPicCoords[];
-extern const struct MonCoords gTrainerFrontPicCoords[];
-
-extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
-extern const u8 gMoveNames[][MOVE_NAME_LENGTH + 1];
-extern struct CompressedSpriteSheet gUnknown_0831C620;
-extern struct CompressedSpritePalette gUnknown_0831C628;
-extern const struct SpriteTemplate gUnknown_0831C688;
-extern const struct CompressedSpriteSheet gMonBackPicTable[];
-
-#endif // GUARD_DATA2_H
diff --git a/include/decoration.h b/include/decoration.h
index f613c25d2..eed930356 100644
--- a/include/decoration.h
+++ b/include/decoration.h
@@ -1,7 +1,8 @@
#ifndef GUARD_DECORATION_H
#define GUARD_DECORATION_H
-enum DecorPerm {
+enum DecorationPermission
+{
/*
* The nomenclature here describes collision and placement permissions, in that order.
*/
@@ -9,13 +10,11 @@ enum DecorPerm {
DECORPERM_PASS_FLOOR,
DECORPERM_BEHIND_FLOOR,
DECORPERM_NA_WALL,
- DECORPERM_SOLID_MAT
+ DECORPERM_SPRITE,
};
-enum DecorShape {
- /*
- * Width-x-height
- */
+enum DecorationShape
+{
DECORSHAPE_1x1,
DECORSHAPE_2x1,
DECORSHAPE_3x1, // unused
@@ -25,53 +24,52 @@ enum DecorShape {
DECORSHAPE_1x3, // unused
DECORSHAPE_2x4,
DECORSHAPE_3x3,
- DECORSHAPE_3x2
+ DECORSHAPE_3x2,
};
-enum DecorCat {
- /*
- * In which category you can find the decoration in the PC.
- */
- /*0*/ DECORCAT_DESK,
- /*1*/ DECORCAT_CHAIR,
- /*2*/ DECORCAT_PLANT,
- /*3*/ DECORCAT_ORNAMENT,
- /*4*/ DECORCAT_MAT,
- /*5*/ DECORCAT_POSTER,
- /*6*/ DECORCAT_DOLL,
- /*7*/ DECORCAT_CUSHION
+enum DecorationCategory
+{
+ DECORCAT_DESK,
+ DECORCAT_CHAIR,
+ DECORCAT_PLANT,
+ DECORCAT_ORNAMENT,
+ DECORCAT_MAT,
+ DECORCAT_POSTER,
+ DECORCAT_DOLL,
+ DECORCAT_CUSHION,
+ DECORCAT_COUNT,
};
struct Decoration
{
- /*0x00*/ u8 id;
- /*0x01*/ u8 name[16];
- /*0x11*/ u8 permission;
- /*0x12*/ u8 shape;
- /*0x13*/ u8 category;
- /*0x14*/ u16 price;
- /*0x18*/ const u8 *description;
- /*0x1c*/ const u16 *tiles;
+ u8 id;
+ u8 name[16];
+ u8 permission;
+ u8 shape;
+ u8 category;
+ u16 price;
+ const u8 *description;
+ const u16 *tiles;
};
-struct DecorPCPointers
+struct DecorationPCContext
{
- /* 0x00 */ u8 *items;
- /* 0x04 */ u8 *pos;
- /* 0x08 */ u8 size;
- /* 0x09 */ u8 isPlayerRoom;
+ u8 *items;
+ u8 *pos;
+ u8 size;
+ u8 isPlayerRoom;
};
extern const struct Decoration gDecorations[];
-extern EWRAM_DATA u8 *gCurDecorInventoryItems;
+extern EWRAM_DATA u8 *gCurDecorationItems;
extern EWRAM_DATA u8 gCurDecorationIndex;
-void sub_8126968(void);
-void sub_8126AD8(u8 taskId);
-void sub_8127D38(u16 mapX, u16 mapY, u16 decor);
-void sub_8126B2C(u8 taskId);
-void sub_8127208(u8 taskId);
-void sub_8127250(u8 *dest, u8 decorCat);
+void InitDecorationContextItems(void);
+void DoSecretBaseDecorationMenu(u8 taskId);
+void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decor);
+void DoPlayerRoomDecorationMenu(u8 taskId);
+void ShowDecorationCategoriesWindow(u8 taskId);
+void CopyDecorationCategoryName(u8 *dest, u8 decorCat);
bool8 IsSelectedDecorInThePC(void);
u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u16 paletteTag);
diff --git a/include/decoration_inventory.h b/include/decoration_inventory.h
index 7539f7240..7362c2da2 100644
--- a/include/decoration_inventory.h
+++ b/include/decoration_inventory.h
@@ -11,13 +11,13 @@ extern struct DecorationInventory gDecorationInventories[];
void SetDecorationInventoriesPointers(void);
void ClearDecorationInventories(void);
-s8 GetFirstEmptyDecorSlot(u8 idx);
+s8 GetFirstEmptyDecorSlot(u8 category);
u8 CheckHasDecoration(u8);
u8 DecorationAdd(u8);
u8 DecorationCheckSpace(u8);
s8 DecorationRemove(u8);
-void CondenseDecorationCategoryN(u8);
-u8 CountDecorationCategoryN(u8 idx);
-u8 CountDecorations(void);
+void CondenseDecorationsInCategory(u8 category);
+u8 GetNumOwnedDecorationsInCategory(u8 category);
+u8 GetNumOwnedDecorations(void);
#endif // GUARD_DECORATION_INVENTORY_H
diff --git a/include/ereader_helpers.h b/include/ereader_helpers.h
new file mode 100755
index 000000000..bcbb68d4f
--- /dev/null
+++ b/include/ereader_helpers.h
@@ -0,0 +1,51 @@
+#ifndef GUARD_EREADER_HELPERS_H
+#define GUARD_EREADER_HELPERS_H
+
+struct Unk81D38FC
+{
+ u8 unk0;
+ u8 filler_1[3];
+ u8 unk4[0x148];
+ u8 unk14C[0x124];
+ int checksum;
+};
+
+struct EReaderTrainerHillSet
+{
+ u8 unk_0;
+ u8 unk_1;
+ u8 unk_2;
+ u8 unk_3;
+ int checksum;
+ struct Unk81D38FC unk_8[6];
+ u8 unk_ec0[40];
+};
+
+struct Unk81D3998Sub
+{
+ u8 unk_000[4];
+ u8 unk_004[0x148];
+ u8 unk_14C[0x148];
+ u8 unk_294[0x124];
+};
+
+struct Unk81D3998
+{
+ u8 unk_000;
+ u8 unk_001;
+ u8 unk_002;
+ int checksum;
+ struct Unk81D3998Sub unk_008[4];
+};
+
+bool8 EReader_IsReceivedDataValid(struct EReaderTrainerHillSet *buffer);
+bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *arg0);
+bool32 ReadTrainerHillAndValidate(void);
+int sub_81D3D70(u8, u32, u32*, u32*);
+void sub_81D3F9C(void);
+void sub_81D3FAC(void);
+void sub_81D41A0(void);
+void sub_81D41F4(void);
+void sub_81D4238(void);
+
+#endif // GUARD_EREADER_HELPERS_H
diff --git a/include/ereader_screen.h b/include/ereader_screen.h
new file mode 100755
index 000000000..1daea4be0
--- /dev/null
+++ b/include/ereader_screen.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_EREADER_SCREEN_H
+#define GUARD_EREADER_SCREEN_H
+
+void task_add_00_ereader(void);
+
+#endif // GUARD_EREADER_SCREEN_H
diff --git a/include/event_obj_lock.h b/include/event_obj_lock.h
index 2f09ad36a..037c0080d 100644
--- a/include/event_obj_lock.h
+++ b/include/event_obj_lock.h
@@ -8,5 +8,6 @@ void LockSelectedEventObject(void);
void sub_8098630(void);
bool8 sub_8098734(void);
void ScriptUnfreezeEventObjects(void);
+void sub_8098524(void);
#endif // GUARD_EVENT_OBJ_LOCK_H
diff --git a/include/event_object_movement.h b/include/event_object_movement.h
index 63ac09f2d..4f3f99cd1 100644
--- a/include/event_object_movement.h
+++ b/include/event_object_movement.h
@@ -74,10 +74,10 @@ u8 GetFirstInactiveEventObjectId(void);
void RemoveEventObjectByLocalIdAndMap(u8, u8, u8);
void LoadPlayerObjectReflectionPalette(u16, u8);
void LoadSpecialObjectReflectionPalette(u16, u8);
-void sub_808EBA8(u8, u8, u8, s16, s16);
+void TryMoveEventObjectToMapCoords(u8, u8, u8, s16, s16);
void PatchObjectPalette(u16, u8);
void sub_808E16C(s16, s16);
-void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
+void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
void sub_8092FF0(s16, s16, s16 *, s16 *);
u8 GetFaceDirectionAnimNum(u8);
void sub_80930E0(s16 *, s16 *, s16, s16);
@@ -86,10 +86,10 @@ void EventObjectClearHeldMovementIfActive(struct EventObject *);
void TrySpawnEventObjects(s16, s16);
u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction);
u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority);
-u8 show_sprite(u8, u8, u8);
+u8 TrySpawnEventObject(u8, u8, u8);
u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z);
u8 SpawnSpecialEventObject(struct EventObjectTemplate *);
-void sub_8093038(s16, s16, s16 *, s16 *);
+void SetSpritePosToMapCoords(s16, s16, s16 *, s16 *);
void CameraObjectReset1(void);
void EventObjectSetGraphicsId(struct EventObject *, u8 graphicsId);
void EventObjectTurn(struct EventObject *, u8);
@@ -103,8 +103,8 @@ void sub_808E78C(u8, u8, u8, u8);
void sub_808E75C(s16, s16);
void EventObjectGetLocalIdAndMap(struct EventObject *eventObject, void *localId, void *mapNum, void *mapGroup);
void ShiftEventObjectCoords(struct EventObject *, s16, s16);
-void sub_808EB08(struct EventObject *, s16, s16);
-void sub_808F254(u8, u8, u8);
+void MoveEventObjectToMapCoords(struct EventObject *, s16, s16);
+void TryOverrideEventObjectTemplateCoords(u8, u8, u8);
void InitEventObjectPalettes(u8 palSlot);
void UpdateEventObjectCurrentMovement(struct EventObject *, struct Sprite *, bool8(struct EventObject *, struct Sprite *));
u8 EventObjectFaceOppositeDirection(struct EventObject *, u8);
@@ -413,5 +413,10 @@ u8 MovementType_RunInPlace_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_Invisible_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_Invisible_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_Invisible_Step2(struct EventObject *, struct Sprite *);
+void sub_8097C44(u8 var, bool32 var2);
+bool32 sub_8097C8C(u8 var);
+void sub_8097BB4(u8 var1, u8 graphicsId);
+void sub_8097CC4(u8 var1, u8 var2);
+bool32 sub_8097D9C(u8 var);
#endif //GUARD_FIELD_EVENT_OBJ_H
diff --git a/include/event_scripts.h b/include/event_scripts.h
index e3ec8afb4..da96d29d8 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -15,8 +15,8 @@ extern const u8 EventScript_TryDoDoubleTrainerBattle[];
extern const u8 EventScript_TryDoNormalTrainerBattle[];
extern const u8 EventScript_TryDoDoubleRematchBattle[];
extern const u8 EventScript_TryDoRematchBattle[];
-extern const u8 EventScript_SecretPower1[];
-extern const u8 EventScript_SecretPower2[];
+extern const u8 SecretBase_EventScript_DollInteract[];
+extern const u8 SecretBase_EventScript_CushionInteract[];
extern const u8 gTVBravoTrainerText00[];
@@ -381,10 +381,10 @@ extern const u8 SecretBase_RedCave1_Text_2758CC[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];
//field effects
-extern const u8 FieryPath_EventScript_2908FD[];
-extern const u8 EventScript_290CAE[];
+extern const u8 EventScript_FldEffStrength[];
+extern const u8 EventScript_FailSweetScent[];
extern const u8 EventScript_2926F8[];
-extern const u8 Route111_EventScript_2907F0[];
+extern const u8 EventScript_FldEffRockSmash[];
//player pc
extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_1F863F[];
@@ -528,8 +528,6 @@ extern const u8 EventScript_PlayerPCMale[];
extern const u8 EventScript_PlayerPCFemale[];
extern const u8 EventScript_SecretBasePC[];
extern const u8 EventScript_RecordMixingSecretBasePC[];
-extern const u8 EventScript_SecretPower1[];
-extern const u8 EventScript_SecretPower2[];
extern const u8 EventScript_PC[];
extern const u8 EventScript_TestSignpostMsg[];
extern const u8 EventScript_HiddenItemScript[];
@@ -544,9 +542,9 @@ extern const u8 EventScript_RegionMap[];
extern const u8 EventScript_RunningShoesManual[];
extern const u8 EventScript_PictureBookShelf[];
extern const u8 EventScript_BookShelf[];
-extern const u8 EventScript_PokemonCenterBookshelf[];
+extern const u8 EventScript_PokemonCenterBookShelf[];
extern const u8 EventScript_Vase[];
-extern const u8 EventScript_TrashCan[];
+extern const u8 EventScript_EmptyTrashCan[];
extern const u8 EventScript_ShopShelf[];
extern const u8 EventScript_Blueprint[];
extern const u8 EventScript_WirelessBoxResults[];
diff --git a/include/faraway_island.h b/include/faraway_island.h
new file mode 100755
index 000000000..4946bda8a
--- /dev/null
+++ b/include/faraway_island.h
@@ -0,0 +1,10 @@
+#ifndef GUARD_FARAWAY_ISLAND_H
+#define GUARD_FARAWAY_ISLAND_H
+
+u32 GetMewMoveDirection(void);
+bool8 sub_81D4A58(struct EventObject*);
+void UpdateFarawayIslandStepCounter(void);
+bool8 EventObjectIsFarawayIslandMew(struct EventObject *);
+bool8 IsMewPlayingHideAndSeek(void);
+
+#endif // GUARD_FARAWAY_ISLAND_H
diff --git a/include/field_effect.h b/include/field_effect.h
index 1f5f4ee29..0dbe600d3 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -1,9 +1,7 @@
#ifndef GUARD_FIELD_EFFECTS_H
#define GUARD_FIELD_EFFECTS_H
-extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[2];
extern const struct SpritePalette gNewGameBirchObjectPaletteInfo;
-extern const struct CompressedSpriteSheet gTrainerFrontPicTable[2];
extern const struct SpriteTemplate gNewGameBirchObjectTemplate;
extern const struct OamData gNewGameBirchOamAttributes;
@@ -53,4 +51,4 @@ void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId);
u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority);
void StartEscapeRopeFieldEffect(void);
-#endif //GUARD_FIELD_EFFECTS_H
+#endif // GUARD_FIELD_EFFECTS_H
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index ca3d41546..8d87779e6 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -1,17 +1,6 @@
#ifndef GUARD_FIELD_PLAYER_AVATAR_H
#define GUARD_FIELD_PLAYER_AVATAR_H
-enum {
- PLAYER_AVATAR_STATE_NORMAL,
- PLAYER_AVATAR_STATE_MACH_BIKE,
- PLAYER_AVATAR_STATE_ACRO_BIKE,
- PLAYER_AVATAR_STATE_SURFING,
- PLAYER_AVATAR_STATE_UNDERWATER,
- PLAYER_AVATAR_STATE_FIELD_MOVE,
- PLAYER_AVATAR_STATE_FISHING,
- PLAYER_AVATAR_STATE_WATERING,
-};
-
void player_step(u8 a, u16 b, u16 c);
void ClearPlayerAvatarInfo(void);
void SetPlayerAvatarExtraStateTransition(u8, u8);
@@ -73,5 +62,6 @@ void sub_808D1C8(void);
bool32 sub_808D1B4(void);
bool32 sub_808D1E8(void);
void sub_808C0A8(u8 a);
+u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y);
#endif // GUARD_FIELD_PLAYER_AVATAR_H
diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h
index b4429c167..a62a76b2a 100644
--- a/include/field_screen_effect.h
+++ b/include/field_screen_effect.h
@@ -5,7 +5,7 @@ void pal_fill_for_maplights(void);
void pal_fill_black(void);
void WarpFadeScreen(void);
void sub_80AF128(void);
-void sub_80AF168(void);
+void FieldCallback_ReturnToEventScript2(void);
void sub_80AF188(void);
void sub_80AF214(void);
void sub_80AF2B4(u8 taskId);
diff --git a/include/field_specials.h b/include/field_specials.h
index 68b233074..b1a50c811 100644
--- a/include/field_specials.h
+++ b/include/field_specials.h
@@ -1,6 +1,9 @@
#ifndef GUARD_FIELD_SPECIALS_H
#define GUARD_FIELD_SPECIALS_H
+extern bool8 gBikeCyclingChallenge;
+extern u8 gBikeCollisions;
+
u8 GetLeadMonIndex(void);
u8 sub_813B260(void);
u16 get_unknown_box_id(void);
diff --git a/include/field_weather.h b/include/field_weather.h
index 76399200d..3a84a8a73 100644
--- a/include/field_weather.h
+++ b/include/field_weather.h
@@ -3,6 +3,14 @@
#include "sprite.h"
+#define MAX_RAIN_SPRITES 24
+#define NUM_CLOUD_SPRITES 3
+#define NUM_FOG1_SPRITES 20
+#define NUM_ASH_SPRITES 20
+#define NUM_FOG2_SPRITES 20
+#define NUM_SANDSTORM_SPRITES 20
+#define NUM_SWIRL_SANDSTORM_SPRITES 5
+
// Controls how the weather should be changing the screen palettes.
enum
{
@@ -27,18 +35,18 @@ struct Weather
{
struct
{
- struct Sprite *rainSprites[24];
+ struct Sprite *rainSprites[MAX_RAIN_SPRITES];
struct Sprite *snowflakeSprites[101];
- struct Sprite *cloudSprites[3];
+ struct Sprite *cloudSprites[NUM_CLOUD_SPRITES];
} s1;
struct
{
u8 filler0[0xA0];
- struct Sprite *fog1Sprites[20];
- struct Sprite *ashSprites[20];
- struct Sprite *fog2Sprites[20];
- struct Sprite *sandstormSprites1[20];
- struct Sprite *sandstormSprites2[5];
+ struct Sprite *fog1Sprites[NUM_FOG1_SPRITES];
+ struct Sprite *ashSprites[NUM_ASH_SPRITES];
+ struct Sprite *fog2Sprites[NUM_FOG2_SPRITES];
+ struct Sprite *sandstormSprites1[NUM_SANDSTORM_SPRITES];
+ struct Sprite *sandstormSprites2[NUM_SWIRL_SANDSTORM_SPRITES];
} s2;
} sprites;
u8 gammaShifts[19][32];
@@ -62,57 +70,57 @@ struct Weather
bool8 weatherChangeComplete;
u8 weatherPicSpritePalIndex;
u8 altGammaSpritePalIndex;
- u16 unknown_6D6;
- u8 unknown_6D8;
- u8 unknown_6D9;
+ u16 rainSpriteVisibleCounter;
+ u8 curRainSpriteIndex;
+ u8 targetRainSpriteCount;
u8 rainSpriteCount;
- u8 unknown_6DB;
- u8 unknown_6DC;
+ u8 rainSpriteVisibleDelay;
+ u8 isHeavyRain;
u8 rainStrength;
/*0x6DE*/ u8 cloudSpritesCreated;
u8 filler_6DF[1];
- u16 unknown_6E0;
+ u16 snowflakeVisibleCounter;
u16 unknown_6E2;
u8 snowflakeSpriteCount;
- u8 unknown_6E5;
+ u8 targetSnowflakeSpriteCount;
u16 unknown_6E6;
u16 thunderCounter;
u8 unknown_6EA;
u8 unknown_6EB;
u8 unknown_6EC;
- u8 unknown_6ED;
+ u8 thunderTriggered;
u16 fog1ScrollPosX;
- u16 unknown_6F0;
- u16 unknown_6F2;
+ u16 fog1ScrollCounter;
+ u16 fog1ScrollOffset;
u8 lightenedFogSpritePals[6];
u8 lightenedFogSpritePalsCount;
u8 fog1SpritesCreated;
- u16 unknown_6FC;
+ u16 ashBaseSpritesX;
u16 unknown_6FE;
u8 ashSpritesCreated;
u8 filler_701[3];
- u32 unknown_704;
- u32 unknown_708;
+ u32 sandstormXOffset;
+ u32 sandstormYOffset;
u8 filler_70C[2];
- u16 unknown_70E;
- u16 unknown_710;
- u16 unknown_712;
- u16 unknown_714;
- u8 sandstormSprites1Created;
- u8 sandstormSprites2Created;
- u16 unknown_718;
- u16 unknown_71A;
- u16 unknown_71C;
- u16 unknown_71E;
- u16 unknown_720;
- u16 unknown_722;
+ u16 sandstormBaseSpritesX;
+ u16 sandstormPosY;
+ u16 sandstormWaveIndex;
+ u16 sandstormWaveCounter;
+ u8 sandstormSpritesCreated;
+ u8 sandstormSwirlSpritesCreated;
+ u16 fog2BaseSpritesX;
+ u16 fog2PosY;
+ u16 fog2ScrollXCounter;
+ u16 fog2ScrollYCounter;
+ u16 fog2XOffset;
+ u16 fog2YOffset;
u8 fog2SpritesCreated;
u8 filler_725[1];
- u16 unknown_726;
- u16 unknown_728;
- u16 unknown_72A;
- u16 unknown_72C;
- u8 unknown_72E;
+ u16 bubblesDelayCounter;
+ u16 bubblesDelayIndex;
+ u16 bubblesCoordsIndex;
+ u16 bubblesSpriteCount;
+ u8 bubblesSpritesCreated;
u8 filler_72F;
u16 currBlendEVA;
u16 currBlendEVB;
@@ -174,10 +182,10 @@ void Clouds_InitVars(void);
void Clouds_Main(void);
void Clouds_InitAll(void);
bool8 Clouds_Finish(void);
-void Weather2_InitVars(void);
-void Weather2_Main(void);
-void Weather2_InitAll(void);
-bool8 Weather2_Finish(void);
+void Sunny_InitVars(void);
+void Sunny_Main(void);
+void Sunny_InitAll(void);
+bool8 Sunny_Finish(void);
void LightRain_InitVars(void);
void LightRain_Main(void);
void LightRain_InitAll(void);
diff --git a/include/fieldmap.h b/include/fieldmap.h
index bb5b0e290..2384ed46a 100644
--- a/include/fieldmap.h
+++ b/include/fieldmap.h
@@ -50,5 +50,6 @@ void SpriteCB_HallOfFameMonitor(struct Sprite *);
// field_region_map.c
void FieldInitRegionMap(MainCallback callback);
+void sub_8088B94(int x, int y, int a2);
#endif //GUARD_FIELDMAP_H
diff --git a/include/fldeff.h b/include/fldeff.h
index e095396a4..ff6c9823f 100644
--- a/include/fldeff.h
+++ b/include/fldeff.h
@@ -10,6 +10,7 @@ void FixLongGrassMetatilesWindowTop(s16 x, s16 y);
void FixLongGrassMetatilesWindowBottom(s16 x, s16 y);
extern const struct SpritePalette gFieldEffectObjectPaletteInfo6;
+extern struct MapPosition gPlayerFacingPosition;
// groundshake
bool8 sub_81BE66C(void);
diff --git a/include/gba/types.h b/include/gba/types.h
index 3d78b5b5e..9f2594703 100644
--- a/include/gba/types.h
+++ b/include/gba/types.h
@@ -87,6 +87,29 @@ struct OamData
#define ST_OAM_H_RECTANGLE 1
#define ST_OAM_V_RECTANGLE 2
+#define ST_OAM_SIZE_0 0
+#define ST_OAM_SIZE_1 1
+#define ST_OAM_SIZE_2 2
+#define ST_OAM_SIZE_3 3
+
+#define SPRITE_SIZE_8x8 ((ST_OAM_SIZE_0 << 2) | (ST_OAM_SQUARE))
+#define SPRITE_SIZE_16x16 ((ST_OAM_SIZE_1 << 2) | (ST_OAM_SQUARE))
+#define SPRITE_SIZE_32x32 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_SQUARE))
+#define SPRITE_SIZE_64x64 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_SQUARE))
+
+#define SPRITE_SIZE_16x8 ((ST_OAM_SIZE_0 << 2) | (ST_OAM_H_RECTANGLE))
+#define SPRITE_SIZE_32x8 ((ST_OAM_SIZE_1 << 2) | (ST_OAM_H_RECTANGLE))
+#define SPRITE_SIZE_32x16 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_H_RECTANGLE))
+#define SPRITE_SIZE_64x32 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_H_RECTANGLE))
+
+#define SPRITE_SIZE_8x16 ((ST_OAM_SIZE_0 << 2) | (ST_OAM_V_RECTANGLE))
+#define SPRITE_SIZE_8x32 ((ST_OAM_SIZE_1 << 2) | (ST_OAM_V_RECTANGLE))
+#define SPRITE_SIZE_16x32 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_V_RECTANGLE))
+#define SPRITE_SIZE_32x64 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_V_RECTANGLE))
+
+#define SPRITE_SIZE(dim) ((SPRITE_SIZE_##dim >> 2) & 0x03)
+#define SPRITE_SHAPE(dim) (SPRITE_SIZE_##dim & 0x03)
+
struct BgAffineSrcData
{
s32 texX;
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index e35d900d8..3aa44ec9a 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -232,14 +232,25 @@ struct EventObjectGraphicsInfo
/*0x20*/ const union AffineAnimCmd *const *affineAnims;
};
-#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << 0)
-#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << 1)
-#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << 2)
-#define PLAYER_AVATAR_FLAG_SURFING (1 << 3)
-#define PLAYER_AVATAR_FLAG_UNDERWATER (1 << 4)
-#define PLAYER_AVATAR_FLAG_5 (1 << 5)
-#define PLAYER_AVATAR_FLAG_6 (1 << 6)
-#define PLAYER_AVATAR_FLAG_DASH (1 << 7)
+enum {
+ PLAYER_AVATAR_STATE_NORMAL,
+ PLAYER_AVATAR_STATE_MACH_BIKE,
+ PLAYER_AVATAR_STATE_ACRO_BIKE,
+ PLAYER_AVATAR_STATE_SURFING,
+ PLAYER_AVATAR_STATE_UNDERWATER,
+ PLAYER_AVATAR_STATE_FIELD_MOVE,
+ PLAYER_AVATAR_STATE_FISHING,
+ PLAYER_AVATAR_STATE_WATERING,
+};
+
+#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << PLAYER_AVATAR_STATE_NORMAL)
+#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << PLAYER_AVATAR_STATE_MACH_BIKE)
+#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << PLAYER_AVATAR_STATE_ACRO_BIKE)
+#define PLAYER_AVATAR_FLAG_SURFING (1 << PLAYER_AVATAR_STATE_SURFING)
+#define PLAYER_AVATAR_FLAG_UNDERWATER (1 << PLAYER_AVATAR_STATE_UNDERWATER)
+#define PLAYER_AVATAR_FLAG_5 (1 << PLAYER_AVATAR_STATE_FIELD_MOVE)
+#define PLAYER_AVATAR_FLAG_6 (1 << PLAYER_AVATAR_STATE_FISHING)
+#define PLAYER_AVATAR_FLAG_DASH (1 << PLAYER_AVATAR_STATE_WATERING)
enum
{
diff --git a/include/global.h b/include/global.h
index 1f9ac5185..4523ece21 100644
--- a/include/global.h
+++ b/include/global.h
@@ -471,21 +471,21 @@ struct SecretBaseParty
u8 EVs[PARTY_SIZE];
};
-struct SecretBaseRecord
+struct SecretBase
{
/*0x1A9C*/ u8 secretBaseId;
/*0x1A9D*/ u8 sbr_field_1_0:4;
/*0x1A9D*/ u8 gender:1;
- /*0x1A9D*/ u8 sbr_field_1_5:1;
- /*0x1A9D*/ u8 sbr_field_1_6:2;
+ /*0x1A9D*/ u8 battledOwnerToday:1;
+ /*0x1A9D*/ u8 registryStatus:2;
/*0x1A9E*/ u8 trainerName[PLAYER_NAME_LENGTH];
/*0x1AA5*/ u8 trainerId[4]; // byte 0 is used for determining trainer class
/*0x1AA9*/ u8 language;
- /*0x1AAA*/ u16 sbr_field_e;
- /*0x1AAC*/ u8 sbr_field_10;
+ /*0x1AAA*/ u16 numSecretBasesReceived;
+ /*0x1AAC*/ u8 numTimesEntered;
/*0x1AAD*/ u8 sbr_field_11;
/*0x1AAE*/ u8 decorations[16];
- /*0x1ABE*/ u8 decorationPos[16];
+ /*0x1ABE*/ u8 decorationPositions[16];
/*0x1AD0*/ struct SecretBaseParty party;
};
@@ -808,6 +808,76 @@ struct SaveTrainerHill
/*0x3D6E*/ u16 tag:2; // x40, x80 = xC0
};
+struct MysteryEventStruct
+{
+ u8 unk_0_0:2;
+ u8 unk_0_2:3;
+ u8 unk_0_5:3;
+ u8 unk_1;
+};
+
+ struct WonderNews
+{
+ u16 unk_00;
+ u8 unk_02;
+ u8 unk_03;
+ u8 unk_04[40];
+ u8 unk_2C[10][40];
+};
+
+ struct WonderNewsSaveStruct
+{
+ u32 crc;
+ struct WonderNews data;
+};
+
+ struct WonderCard
+{
+ u16 unk_00;
+ u16 unk_02;
+ u32 unk_04;
+ u8 unk_08_0:2;
+ u8 unk_08_2:4;
+ u8 unk_08_6:2;
+ u8 unk_09;
+ u8 unk_0A[40];
+ u8 unk_32[40];
+ u8 unk_5A[4][40];
+ u8 unk_FA[40];
+ u8 unk_122[40];
+};
+
+ struct WonderCardSaveStruct
+{
+ u32 crc;
+ struct WonderCard data;
+};
+
+ struct MEventBuffer_3430_Sub
+{
+ u16 unk_00;
+ u16 unk_02;
+ u16 unk_04;
+ u16 unk_06;
+ u16 unk_08[2][7];
+};
+
+ struct MEventBuffer_3430
+{
+ u32 crc;
+ struct MEventBuffer_3430_Sub data;
+};
+
+ struct MEventBuffers
+{
+ /*0x000 0x322C*/ struct WonderNewsSaveStruct wonderNews;
+ /*0x1c0 0x33EC*/ struct WonderCardSaveStruct wonderCard;
+ /*0x310 0x353C*/ struct MEventBuffer_3430 buffer_310;
+ /*0x338 0x3564*/ u16 unk_338[4];
+ /*0x340 0x356C*/ struct MysteryEventStruct unk_340;
+ /*0x344 0x3570*/ u32 unk_344[2][5];
+}; // 0x36C 0x3598
+
struct SaveBlock1
{
/*0x00*/ struct Coords16 pos;
@@ -845,7 +915,7 @@ struct SaveBlock1
/*0x139C*/ u16 vars[VARS_COUNT];
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
/*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT];
- /*0x1A9C*/ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT];
+ /*0x1A9C*/ struct SecretBase secretBases[SECRET_BASES_COUNT];
/*0x271C*/ u8 playerRoomDecor[12];
/*0x2728*/ u8 playerRoomDecorPos[12];
/*0x2734*/ u8 decorDesk[10];
@@ -884,14 +954,16 @@ struct SaveBlock1
/*0x31A8*/ u8 giftRibbons[52];
/*0x31DC*/ struct Roamer roamer;
/*0x31F8*/ struct EnigmaBerry enigmaBerry;
- /*0x322C*/ u8 field_322C[1260];
+ /*0x322C*/ struct MEventBuffers unk_322C;
+ /*0x3598*/ u8 field_3598[0x180];
/*0x3718*/ u32 trainerHillTimes[4];
/*0x3728*/ struct RamScript ramScript;
/*0x3B14*/ struct RecordMixingGift recordMixingGift;
/*0x3B24*/ u8 seen2[DEX_FLAGS_NO];
/*0x3B58*/ LilycoveLady lilycoveLady;
/*0x3B98*/ struct TrainerNameRecord trainerNameRecords[20];
- /*0x3C88*/ u8 filler_3C88[0xDC];
+ /*0x3C88*/ u8 unk3C88[10][21];
+ /*0x3D5A*/ u8 filler3D5A[0xA];
/*0x3D64*/ struct SaveTrainerHill trainerHill;
/*0x3D70*/ struct WaldaPhrase waldaPhrase;
// sizeof: 0x3D88
diff --git a/include/graphics.h b/include/graphics.h
index 84d48691c..1171d3c1c 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4129,620 +4129,620 @@ extern const u32 gBattleArenaJudgementSymbolsGfx[];
extern const u32 gBattleArenaJudgementSymbolsPalette[];
extern const u32 gContest2Pal[];
-extern const u32 gBattleAnimSpriteSheet_000[];
-extern const u32 gBattleAnimSpriteSheet_001[];
-extern const u32 gBattleAnimSpriteSheet_002[];
-extern const u32 gBattleAnimSpriteSheet_003[];
-extern const u32 gBattleAnimSpriteSheet_004[];
-extern const u32 gBattleAnimSpriteSheet_005[];
-extern const u32 gBattleAnimSpriteSheet_006[];
-extern const u32 gBattleAnimSpriteSheet_007[];
-extern const u32 gBattleAnimSpriteSheet_008[];
-extern const u32 gBattleAnimSpriteSheet_009[];
-extern const u32 gBattleAnimSpriteSheet_010[];
-extern const u32 gBattleAnimSpriteSheet_011[];
-extern const u32 gBattleAnimSpriteSheet_012[];
-extern const u32 gBattleAnimSpriteSheet_013[];
-extern const u32 gBattleAnimSpriteSheet_014[];
-extern const u32 gBattleAnimSpriteSheet_015[];
-extern const u32 gBattleAnimSpriteSheet_016[];
-extern const u32 gBattleAnimSpriteSheet_017[];
-extern const u32 gBattleAnimSpriteSheet_018[];
-extern const u32 gBattleAnimSpriteSheet_019[];
-extern const u32 gBattleAnimSpriteSheet_020[];
-extern const u32 gBattleAnimSpriteSheet_021[];
-extern const u32 gBattleAnimSpriteSheet_021[];
-extern const u32 gBattleAnimSpriteSheet_023[];
-extern const u32 gBattleAnimSpriteSheet_024[];
-extern const u32 gBattleAnimSpriteSheet_025[];
-extern const u32 gBattleAnimSpriteSheet_026[];
-extern const u32 gBattleAnimSpriteSheet_027[];
-extern const u32 gBattleAnimSpriteSheet_028[];
-extern const u32 gBattleAnimSpriteSheet_029[];
-extern const u32 gBattleAnimSpriteSheet_030[];
-extern const u32 gBattleAnimSpriteSheet_031[];
-extern const u32 gBattleAnimSpriteSheet_032[];
-extern const u32 gBattleAnimSpriteSheet_033[];
-extern const u32 gBattleAnimSpriteSheet_034[];
-extern const u32 gBattleAnimSpriteSheet_035[];
-extern const u32 gBattleAnimSpriteSheet_036[];
-extern const u32 gBattleAnimSpriteSheet_037[];
-extern const u32 gBattleAnimSpriteSheet_038[];
-extern const u32 gBattleAnimSpriteSheet_039[];
-extern const u32 gBattleAnimSpriteSheet_040[];
-extern const u32 gBattleAnimSpriteSheet_041[];
-extern const u32 gBattleAnimSpriteSheet_042[];
-extern const u32 gBattleAnimSpriteSheet_043[];
-extern const u32 gBattleAnimSpriteSheet_044[];
-extern const u32 gBattleAnimSpriteSheet_045[];
-extern const u32 gBattleAnimSpriteSheet_046[];
-extern const u32 gBattleAnimSpriteSheet_046[];
-extern const u32 gBattleAnimSpriteSheet_048[];
-extern const u32 gBattleAnimSpriteSheet_048[];
-extern const u32 gBattleAnimSpriteSheet_050[];
-extern const u32 gBattleAnimSpriteSheet_051[];
-extern const u32 gBattleAnimSpriteSheet_052[];
-extern const u32 gBattleAnimSpriteSheet_053[];
+extern const u32 gBattleAnimSpriteGfx_Bone[];
+extern const u32 gBattleAnimSpriteGfx_Spark[];
+extern const u32 gBattleAnimSpriteGfx_Pencil[];
+extern const u32 gBattleAnimSpriteGfx_AirWave[];
+extern const u32 gBattleAnimSpriteGfx_Orb[];
+extern const u32 gBattleAnimSpriteGfx_Sword[];
+extern const u32 gBattleAnimSpriteGfx_Seed[];
+extern const u32 gBattleAnimSpriteGfx_Explosion6[];
+extern const u32 gBattleAnimSpriteGfx_PinkOrb[];
+extern const u32 gBattleAnimSpriteGfx_Gust[];
+extern const u32 gBattleAnimSpriteGfx_IceCube[];
+extern const u32 gBattleAnimSpriteGfx_Spark2[];
+extern const u32 gBattleAnimSpriteGfx_Orange[];
+extern const u32 gBattleAnimSpriteGfx_YellowBall[];
+extern const u32 gBattleAnimSpriteGfx_LockOn[];
+extern const u32 gBattleAnimSpriteGfx_TiedBag[];
+extern const u32 gBattleAnimSpriteGfx_BlackSmoke[];
+extern const u32 gBattleAnimSpriteGfx_BlackBall[];
+extern const u32 gBattleAnimSpriteGfx_Conversion[];
+extern const u32 gBattleAnimSpriteGfx_Glass[];
+extern const u32 gBattleAnimSpriteGfx_HornHit[];
+extern const u32 gBattleAnimSpriteGfx_Hit[];
+extern const u32 gBattleAnimSpriteGfx_Hit[];
+extern const u32 gBattleAnimSpriteGfx_BlueShards[];
+extern const u32 gBattleAnimSpriteGfx_ClosingEye[];
+extern const u32 gBattleAnimSpriteGfx_WavingHand[];
+extern const u32 gBattleAnimSpriteGfx_HitDuplicate[];
+extern const u32 gBattleAnimSpriteGfx_Leer[];
+extern const u32 gBattleAnimSpriteGfx_BlueBurst[];
+extern const u32 gBattleAnimSpriteGfx_SmallEmber[];
+extern const u32 gBattleAnimSpriteGfx_GraySmoke[];
+extern const u32 gBattleAnimSpriteGfx_BlueStar[];
+extern const u32 gBattleAnimSpriteGfx_BubbleBurst[];
+extern const u32 gBattleAnimSpriteGfx_Fire[];
+extern const u32 gBattleAnimSpriteGfx_SpinningFire[];
+extern const u32 gBattleAnimSpriteGfx_FirePlume[];
+extern const u32 gBattleAnimSpriteGfx_Lightning2[];
+extern const u32 gBattleAnimSpriteGfx_Lightning[];
+extern const u32 gBattleAnimSpriteGfx_ClawSlash2[];
+extern const u32 gBattleAnimSpriteGfx_ClawSlash[];
+extern const u32 gBattleAnimSpriteGfx_Scratch3[];
+extern const u32 gBattleAnimSpriteGfx_Scratch2[];
+extern const u32 gBattleAnimSpriteGfx_BubbleBurst2[];
+extern const u32 gBattleAnimSpriteGfx_IceChunk[];
+extern const u32 gBattleAnimSpriteGfx_Glass2[];
+extern const u32 gBattleAnimSpriteGfx_PinkHeart2[];
+extern const u32 gBattleAnimSpriteGfx_SapDrip[];
+extern const u32 gBattleAnimSpriteGfx_SapDrip[];
+extern const u32 gBattleAnimSpriteGfx_Sparkle1[];
+extern const u32 gBattleAnimSpriteGfx_Sparkle1[];
+extern const u32 gBattleAnimSpriteGfx_HumanoidFoot[];
+extern const u32 gBattleAnimSpriteGfx_MonsterFoot[];
+extern const u32 gBattleAnimSpriteGfx_HumanoidHand[];
+extern const u32 gBattleAnimSpriteGfx_NoiseLine[];
extern const u32 gUnknown_08C2EA50[];
extern const u32 gUnknown_08C2EA9C[];
-extern const u32 gBattleAnimSpriteSheet_054[];
-extern const u32 gBattleAnimSpriteSheet_055[];
-extern const u32 gBattleAnimSpriteSheet_056[];
-extern const u32 gBattleAnimSpriteSheet_057[];
-extern const u32 gBattleAnimSpriteSheet_058[];
-extern const u32 gBattleAnimSpriteSheet_059[];
-extern const u32 gBattleAnimSpriteSheet_060[];
-extern const u32 gBattleAnimSpriteSheet_061[];
-extern const u32 gBattleAnimSpriteSheet_062[];
-extern const u32 gBattleAnimSpriteSheet_063[];
-extern const u32 gBattleAnimSpriteSheet_064[];
-extern const u32 gBattleAnimSpriteSheet_065[];
-extern const u32 gBattleAnimSpriteSheet_066[];
-extern const u32 gBattleAnimSpriteSheet_070[];
-extern const u32 gBattleAnimSpriteSheet_071[];
-extern const u32 gBattleAnimSpriteSheet_072[];
-extern const u32 gBattleAnimSpriteSheet_073[];
-extern const u32 gBattleAnimSpriteSheet_074[];
-extern const u32 gBattleAnimSpriteSheet_075[];
-extern const u32 gBattleAnimSpriteSheet_076[];
-extern const u32 gBattleAnimSpriteSheet_077[];
-extern const u32 gBattleAnimSpriteSheet_078[];
-extern const u32 gBattleAnimSpriteSheet_079[];
-extern const u32 gBattleAnimSpriteSheet_080[];
-extern const u32 gBattleAnimSpriteSheet_081[];
-extern const u32 gBattleAnimSpriteSheet_082[];
-extern const u32 gBattleAnimSpriteSheet_083[];
-extern const u32 gBattleAnimSpriteSheet_084[];
-extern const u32 gBattleAnimSpriteSheet_085[];
-extern const u32 gBattleAnimSpriteSheet_086[];
-extern const u32 gBattleAnimSpriteSheet_087[];
-extern const u32 gBattleAnimSpriteSheet_088[];
-extern const u32 gBattleAnimSpriteSheet_089[];
-extern const u32 gBattleAnimSpriteSheet_090[];
-extern const u32 gBattleAnimSpriteSheet_091[];
-extern const u32 gBattleAnimSpriteSheet_092[];
-extern const u32 gBattleAnimSpriteSheet_093[];
-extern const u32 gBattleAnimSpriteSheet_094[];
-extern const u32 gBattleAnimSpriteSheet_095[];
-extern const u32 gBattleAnimSpriteSheet_096[];
-extern const u32 gBattleAnimSpriteSheet_097[];
-extern const u32 gBattleAnimSpriteSheet_098[];
-extern const u32 gBattleAnimSpriteSheet_099[];
-extern const u32 gBattleAnimSpriteSheet_100[];
-extern const u32 gBattleAnimSpriteSheet_101[];
-extern const u32 gBattleAnimSpriteSheet_102[];
-extern const u32 gBattleAnimSpriteSheet_103[];
-extern const u32 gBattleAnimSpriteSheet_104[];
-extern const u32 gBattleAnimSpriteSheet_105[];
-extern const u32 gBattleAnimSpriteSheet_106[];
-extern const u32 gBattleAnimSpriteSheet_107[];
-extern const u32 gBattleAnimSpriteSheet_108[];
-extern const u32 gBattleAnimSpriteSheet_109[];
-extern const u32 gBattleAnimSpriteSheet_110[];
-extern const u32 gBattleAnimSpriteSheet_111[];
-extern const u32 gBattleAnimSpriteSheet_112[];
-extern const u32 gBattleAnimSpriteSheet_113[];
-extern const u32 gBattleAnimSpriteSheet_114[];
-extern const u32 gBattleAnimSpriteSheet_115[];
-extern const u32 gBattleAnimSpriteSheet_116[];
-extern const u32 gBattleAnimSpriteSheet_117[];
-extern const u32 gBattleAnimSpriteSheet_118[];
-extern const u32 gBattleAnimSpriteSheet_119[];
-extern const u32 gBattleAnimSpriteSheet_120[];
-extern const u32 gBattleAnimSpriteSheet_121[];
-extern const u32 gBattleAnimSpriteSheet_122[];
-extern const u32 gBattleAnimSpriteSheet_123[];
-extern const u32 gBattleAnimSpriteSheet_124[];
-extern const u32 gBattleAnimSpriteSheet_125[];
-extern const u32 gBattleAnimSpriteSheet_126[];
-extern const u32 gBattleAnimSpriteSheet_127[];
-extern const u32 gBattleAnimSpriteSheet_128[];
-extern const u32 gBattleAnimSpriteSheet_129[];
-extern const u32 gBattleAnimSpriteSheet_130[];
-extern const u32 gBattleAnimSpriteSheet_131[];
-extern const u32 gBattleAnimSpriteSheet_132[];
-extern const u32 gBattleAnimSpriteSheet_133[];
-extern const u32 gBattleAnimSpriteSheet_134[];
-extern const u32 gBattleAnimSpriteSheet_135[];
-extern const u32 gBattleAnimSpriteSheet_Particles[];
-extern const u32 gBattleAnimSpriteSheet_136[];
-extern const u32 gBattleAnimSpriteSheet_137[];
-extern const u32 gBattleAnimSpriteSheet_138[];
-extern const u32 gBattleAnimSpriteSheet_139[];
-extern const u32 gBattleAnimSpriteSheet_140[];
-extern const u32 gBattleAnimSpriteSheet_141[];
-extern const u32 gBattleAnimSpriteSheet_142[];
-extern const u32 gBattleAnimSpriteSheet_143[];
-extern const u32 gBattleAnimSpriteSheet_144[];
-extern const u32 gBattleAnimSpriteSheet_145[];
-//extern const struct CompressedSpriteSheet gBattleAnimSpriteSheet_146[];
-extern const u32 gBattleAnimSpriteSheet_146[];
-extern const u32 gBattleAnimSpriteSheet_147[];
-extern const u32 gBattleAnimSpriteSheet_148[];
-extern const u32 gBattleAnimSpriteSheet_149[];
-extern const u32 gBattleAnimSpriteSheet_150[];
-extern const u32 gBattleAnimSpriteSheet_151[];
-extern const u32 gBattleAnimSpriteSheet_152[];
-extern const u32 gBattleAnimSpriteSheet_153[];
-extern const u32 gBattleAnimSpriteSheet_154[];
-extern const u32 gBattleAnimSpriteSheet_155[];
-extern const u32 gBattleAnimSpriteSheet_156[];
-extern const u32 gBattleAnimSpriteSheet_157[];
-extern const u32 gBattleAnimSpriteSheet_158[];
-extern const u32 gBattleAnimSpriteSheet_159[];
-extern const u32 gBattleAnimSpriteSheet_160[];
-extern const u32 gBattleAnimSpriteSheet_161[];
-extern const u32 gBattleAnimSpriteSheet_162[];
-extern const u32 gBattleAnimSpriteSheet_163[];
-extern const u32 gBattleAnimSpriteSheet_166[];
-extern const u32 gBattleAnimSpriteSheet_171[];
-extern const u32 gBattleAnimSpriteSheet_173[];
-extern const u32 gBattleAnimSpriteSheet_174[];
-extern const u32 gBattleAnimSpriteSheet_175[];
-extern const u32 gBattleAnimSpriteSheet_176[];
-extern const u32 gBattleAnimSpriteSheet_177[];
-extern const u32 gBattleAnimSpriteSheet_178[];
-extern const u32 gBattleAnimSpriteSheet_179[];
-extern const u32 gBattleAnimSpriteSheet_180[];
-extern const u32 gBattleAnimSpriteSheet_181[];
-extern const u32 gBattleAnimSpriteSheet_182[];
-extern const u32 gBattleAnimSpriteSheet_183[];
-extern const u32 gBattleAnimSpriteSheet_184[];
-extern const u32 gBattleAnimSpriteSheet_185[];
-extern const u32 gBattleAnimSpriteSheet_186[];
-extern const u32 gBattleAnimSpriteSheet_187[];
-extern const u32 gBattleAnimSpriteSheet_188[];
-extern const u32 gBattleAnimSpriteSheet_189[];
-extern const u32 gBattleAnimSpriteSheet_190[];
-extern const u32 gBattleAnimSpriteSheet_191[];
-extern const u32 gBattleAnimSpriteSheet_192[];
-extern const u32 gBattleAnimSpriteSheet_193[];
-extern const u32 gBattleAnimSpriteSheet_194[];
-extern const u32 gBattleAnimSpriteSheet_195[];
-extern const u32 gBattleAnimSpriteSheet_196[];
-extern const u32 gBattleAnimSpriteSheet_197[];
-extern const u32 gBattleAnimSpriteSheet_198[];
-extern const u32 gBattleAnimSpriteSheet_199[];
-extern const u32 gBattleAnimSpriteSheet_200[];
-extern const u32 gBattleAnimSpriteSheet_201[];
-extern const u32 gBattleAnimSpriteSheet_202[];
-extern const u32 gBattleAnimSpriteSheet_203[];
-extern const u32 gBattleAnimSpriteSheet_204[];
-extern const u32 gBattleAnimSpriteSheet_205[];
-extern const u32 gBattleAnimSpriteSheet_206[];
-extern const u32 gBattleAnimSpriteSheet_207[];
-extern const u32 gBattleAnimSpriteSheet_208[];
-extern const u32 gBattleAnimSpriteSheet_209[];
-extern const u32 gBattleAnimSpriteSheet_210[];
-extern const u32 gBattleAnimSpriteSheet_211[];
-extern const u32 gBattleAnimSpriteSheet_212[];
-extern const u32 gBattleAnimSpriteSheet_213[];
-extern const u32 gBattleAnimSpriteSheet_214[];
-extern const u32 gBattleAnimSpriteSheet_215[];
-extern const u32 gBattleAnimSpriteSheet_210[];
-extern const u32 gBattleAnimSpriteSheet_217[];
-extern const u32 gBattleAnimSpriteSheet_218[];
-extern const u32 gBattleAnimSpriteSheet_210[];
-extern const u32 gBattleAnimSpriteSheet_220[];
-extern const u32 gBattleAnimSpriteSheet_221[];
-extern const u32 gBattleAnimSpriteSheet_222[];
-extern const u32 gBattleAnimSpriteSheet_223[];
-extern const u32 gBattleAnimSpriteSheet_224[];
-extern const u32 gBattleAnimSpriteSheet_225[];
-extern const u32 gBattleAnimSpriteSheet_226[];
-extern const u32 gBattleAnimSpriteSheet_227[];
-extern const u32 gBattleAnimSpriteSheet_228[];
-extern const u32 gBattleAnimSpriteSheet_229[];
-extern const u32 gBattleAnimSpriteSheet_230[];
-extern const u32 gBattleAnimSpriteSheet_231[];
-extern const u32 gBattleAnimSpriteSheet_232[];
-extern const u32 gBattleAnimSpriteSheet_233[];
-extern const u32 gBattleAnimSpriteSheet_234[];
-extern const u32 gBattleAnimSpriteSheet_235[];
-extern const u32 gBattleAnimSpriteSheet_235[];
-extern const u32 gBattleAnimSpriteSheet_235[];
-extern const u32 gBattleAnimSpriteSheet_238[];
-extern const u32 gBattleAnimSpriteSheet_239[];
-extern const u32 gBattleAnimSpriteSheet_240[];
-extern const u32 gBattleAnimSpriteSheet_241[];
-extern const u32 gBattleAnimSpriteSheet_242[];
-extern const u32 gBattleAnimSpriteSheet_243[];
-extern const u32 gBattleAnimSpriteSheet_244[];
-extern const u32 gBattleAnimSpriteSheet_245[];
-extern const u32 gBattleAnimSpriteSheet_246[];
-extern const u32 gBattleAnimSpriteSheet_247[];
-extern const u32 gBattleAnimSpriteSheet_248[];
-extern const u32 gBattleAnimSpriteSheet_249[];
-extern const u32 gBattleAnimSpriteSheet_250[];
-extern const u32 gBattleAnimSpriteSheet_251[];
-extern const u32 gBattleAnimSpriteSheet_252[];
-extern const u32 gBattleAnimSpriteSheet_253[];
-extern const u32 gBattleAnimSpriteSheet_254[];
-extern const u32 gBattleAnimSpriteSheet_255[];
-extern const u32 gBattleAnimSpriteSheet_256[];
-extern const u32 gBattleAnimSpriteSheet_257[];
-extern const u32 gBattleAnimSpriteSheet_258[];
-extern const u32 gBattleAnimSpriteSheet_260[];
-extern const u32 gBattleAnimSpriteSheet_261[];
-extern const u32 gBattleAnimSpriteSheet_262[];
-extern const u32 gBattleAnimSpriteSheet_263[];
-extern const u32 gBattleAnimSpriteSheet_264[];
-extern const u32 gBattleAnimSpriteSheet_266[];
-extern const u32 gBattleAnimSpriteSheet_269[];
-extern const u32 gBattleAnimSpriteSheet_270[];
-extern const u32 gBattleAnimSpriteSheet_271[];
-extern const u32 gBattleAnimSpriteSheet_272[];
-extern const u32 gBattleAnimSpriteSheet_273[];
-extern const u32 gBattleAnimSpriteSheet_274[];
-extern const u32 gBattleAnimSpriteSheet_275[];
-extern const u32 gBattleAnimSpriteSheet_276[];
-extern const u32 gBattleAnimSpriteSheet_277[];
-extern const u32 gBattleAnimSpriteSheet_278[];
-extern const u32 gBattleAnimSpriteSheet_279[];
-extern const u32 gBattleAnimSpriteSheet_280[];
-extern const u32 gBattleAnimSpriteSheet_281[];
-extern const u32 gBattleAnimSpriteSheet_282[];
-extern const u32 gBattleAnimSpriteSheet_283[];
-extern const u32 gBattleAnimBackgroundTilemap_ScaryFacePlayer[];
-extern const u32 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[];
-extern const u32 gBattleAnimBackgroundTilemap_ScaryFaceContest[];
-extern const u32 gBattleAnimSpriteSheet_284[];
-extern const u32 gBattleAnimSpriteSheet_285[];
+extern const u32 gBattleAnimSpriteGfx_YellowUnk[];
+extern const u32 gBattleAnimSpriteGfx_RedFist[];
+extern const u32 gBattleAnimSpriteGfx_SlamHit[];
+extern const u32 gBattleAnimSpriteGfx_Ring[];
+extern const u32 gBattleAnimSpriteGfx_Rocks[];
+extern const u32 gBattleAnimSpriteGfx_Z[];
+extern const u32 gBattleAnimSpriteGfx_YellowUnk2[];
+extern const u32 gBattleAnimSpriteGfx_AirSlash[];
+extern const u32 gBattleAnimSpriteGfx_SpinningGreenOrbs[];
+extern const u32 gBattleAnimSpriteGfx_Leaf[];
+extern const u32 gBattleAnimSpriteGfx_Finger[];
+extern const u32 gBattleAnimSpriteGfx_PoisonPowder[];
+extern const u32 gBattleAnimSpriteGfx_BrownTriangle[];
+extern const u32 gBattleAnimSpriteGfx_Sparkle3[];
+extern const u32 gBattleAnimSpriteGfx_Sparkle4[];
+extern const u32 gBattleAnimSpriteGfx_MusicNotes[];
+extern const u32 gBattleAnimSpriteGfx_Duck[];
+extern const u32 gBattleAnimSpriteGfx_MudSand[];
+extern const u32 gBattleAnimSpriteGfx_Alert[];
+extern const u32 gBattleAnimSpriteGfx_BlueFlames[];
+extern const u32 gBattleAnimSpriteGfx_BlueFlames2[];
+extern const u32 gBattleAnimSpriteGfx_Shock4[];
+extern const u32 gBattleAnimSpriteGfx_Shock[];
+extern const u32 gBattleAnimSpriteGfx_Bell2[];
+extern const u32 gBattleAnimSpriteGfx_PinkGlove[];
+extern const u32 gBattleAnimSpriteGfx_BlueLines[];
+extern const u32 gBattleAnimSpriteGfx_Impact3[];
+extern const u32 gBattleAnimSpriteGfx_Impact2[];
+extern const u32 gBattleAnimSpriteGfx_Reticle[];
+extern const u32 gBattleAnimSpriteGfx_Breath[];
+extern const u32 gBattleAnimSpriteGfx_Anger[];
+extern const u32 gBattleAnimSpriteGfx_Snowball[];
+extern const u32 gBattleAnimSpriteGfx_Vine[];
+extern const u32 gBattleAnimSpriteGfx_Sword2[];
+extern const u32 gBattleAnimSpriteGfx_Clapping[];
+extern const u32 gBattleAnimSpriteGfx_RedTube[];
+extern const u32 gBattleAnimSpriteGfx_Amnesia[];
+extern const u32 gBattleAnimSpriteGfx_String2[];
+extern const u32 gBattleAnimSpriteGfx_Pencil2[];
+extern const u32 gBattleAnimSpriteGfx_Petal[];
+extern const u32 gBattleAnimSpriteGfx_BentSpoon[];
+extern const u32 gBattleAnimSpriteGfx_Web[];
+extern const u32 gBattleAnimSpriteGfx_MilkBottle[];
+extern const u32 gBattleAnimSpriteGfx_Coin[];
+extern const u32 gBattleAnimSpriteGfx_CrackedEgg[];
+extern const u32 gBattleAnimSpriteGfx_HatchedEgg[];
+extern const u32 gBattleAnimSpriteGfx_FreshEgg[];
+extern const u32 gBattleAnimSpriteGfx_Fangs[];
+extern const u32 gBattleAnimSpriteGfx_Explosion2[];
+extern const u32 gBattleAnimSpriteGfx_Explosion3[];
+extern const u32 gBattleAnimSpriteGfx_WaterDroplet[];
+extern const u32 gBattleAnimSpriteGfx_WaterDroplet2[];
+extern const u32 gBattleAnimSpriteGfx_Seed2[];
+extern const u32 gBattleAnimSpriteGfx_Sprout[];
+extern const u32 gBattleAnimSpriteGfx_RedWand[];
+extern const u32 gBattleAnimSpriteGfx_PurpleGreenUnk[];
+extern const u32 gBattleAnimSpriteGfx_WaterColumn[];
+extern const u32 gBattleAnimSpriteGfx_MudUnk[];
+extern const u32 gBattleAnimSpriteGfx_RainDrops[];
+extern const u32 gBattleAnimSpriteGfx_FurySwipes[];
+extern const u32 gBattleAnimSpriteGfx_Vine2[];
+extern const u32 gBattleAnimSpriteGfx_Teeth[];
+extern const u32 gBattleAnimSpriteGfx_Bone2[];
+extern const u32 gBattleAnimSpriteGfx_WhiteBag[];
+extern const u32 gBattleAnimSpriteGfx_Unknown[];
+extern const u32 gBattleAnimSpriteGfx_PurpleCoral[];
+extern const u32 gBattleAnimSpriteGfx_PurpleDroplet[];
+extern const u32 gBattleAnimSpriteGfx_Shock2[];
+extern const u32 gBattleAnimSpriteGfx_ClosingEye2[];
+extern const u32 gBattleAnimSpriteGfx_MetalBall[];
+extern const u32 gBattleAnimSpriteGfx_MonsterDoll[];
+extern const u32 gBattleAnimSpriteGfx_Whirlwind[];
+extern const u32 gBattleAnimSpriteGfx_Whirlwind2[];
+extern const u32 gBattleAnimSpriteGfx_Explosion4[];
+extern const u32 gBattleAnimSpriteGfx_Explosion5[];
+extern const u32 gBattleAnimSpriteGfx_Tongue[];
+extern const u32 gBattleAnimSpriteGfx_Smoke[];
+extern const u32 gBattleAnimSpriteGfx_Smoke2[];
+extern const u32 gBattleAnimSpriteGfx_Impact[];
+extern const u32 gBattleAnimSpriteGfx_Particles[];
+extern const u32 gBattleAnimSpriteGfx_CircleImpact[];
+extern const u32 gBattleAnimSpriteGfx_Scratch[];
+extern const u32 gBattleAnimSpriteGfx_Cut[];
+extern const u32 gBattleAnimSpriteGfx_SharpTeeth[];
+extern const u32 gBattleAnimSpriteGfx_RainbowRings[];
+extern const u32 gBattleAnimSpriteGfx_IceCrystals[];
+extern const u32 gBattleAnimSpriteGfx_IceSpikes[];
+extern const u32 gBattleAnimSpriteGfx_HandsAndFeet[];
+extern const u32 gBattleAnimSpriteGfx_MistCloud[];
+extern const u32 gBattleAnimSpriteGfx_Clamp[];
+//extern const struct CompressedSpriteSheet gBattleAnimSpriteGfx_146[];
+extern const u32 gBattleAnimSpriteGfx_Bubble[];
+extern const u32 gBattleAnimSpriteGfx_Orbs[];
+extern const u32 gBattleAnimSpriteGfx_WaterImpact[];
+extern const u32 gBattleAnimSpriteGfx_WaterOrb[];
+extern const u32 gBattleAnimSpriteGfx_PoisonBubble[];
+extern const u32 gBattleAnimSpriteGfx_ToxicBubble[];
+extern const u32 gBattleAnimSpriteGfx_Spikes[];
+extern const u32 gBattleAnimSpriteGfx_HornHit2[];
+extern const u32 gBattleAnimSpriteGfx_AirWave2[];
+extern const u32 gBattleAnimSpriteGfx_SmallBubbles[];
+extern const u32 gBattleAnimSpriteGfx_RoundShadow[];
+extern const u32 gBattleAnimSpriteGfx_Sunlight[];
+extern const u32 gBattleAnimSpriteGfx_Spore[];
+extern const u32 gBattleAnimSpriteGfx_Flower[];
+extern const u32 gBattleAnimSpriteGfx_RazorLeaf[];
+extern const u32 gBattleAnimSpriteGfx_Needle[];
+extern const u32 gBattleAnimSpriteGfx_WhirlwindLines[];
+extern const u32 gBattleAnimSpriteGfx_GoldRing[];
+extern const u32 gBattleAnimSpriteGfx_GreenLightWall[];
+extern const u32 gBattleAnimSpriteGfx_BlackBall2[];
+extern const u32 gBattleAnimSpriteGfx_SparkH[];
+extern const u32 gBattleAnimSpriteGfx_YellowStar[];
+extern const u32 gBattleAnimSpriteGfx_LargeFreshEgg[];
+extern const u32 gBattleAnimSpriteGfx_ShadowBall[];
+extern const u32 gBattleAnimSpriteGfx_Lick[];
+extern const u32 gBattleAnimSpriteGfx_VoidLines[];
+extern const u32 gBattleAnimSpriteGfx_String[];
+extern const u32 gBattleAnimSpriteGfx_WebThread[];
+extern const u32 gBattleAnimSpriteGfx_SpiderWeb[];
+extern const u32 gBattleAnimSpriteGfx_Lightbulb[];
+extern const u32 gBattleAnimSpriteGfx_Slash[];
+extern const u32 gBattleAnimSpriteGfx_FocusEnergy[];
+extern const u32 gBattleAnimSpriteGfx_SphereToCube[];
+extern const u32 gBattleAnimSpriteGfx_Tendrils[];
+extern const u32 gBattleAnimSpriteGfx_Eye[];
+extern const u32 gBattleAnimSpriteGfx_WhiteShadow[];
+extern const u32 gBattleAnimSpriteGfx_TealAlert[];
+extern const u32 gBattleAnimSpriteGfx_OpeningEye[];
+extern const u32 gBattleAnimSpriteGfx_RoundWhiteHalo[];
+extern const u32 gBattleAnimSpriteGfx_FangAttack[];
+extern const u32 gBattleAnimSpriteGfx_PurpleHandOutline[];
+extern const u32 gBattleAnimSpriteGfx_Moon[];
+extern const u32 gBattleAnimSpriteGfx_GreenSparkle[];
+extern const u32 gBattleAnimSpriteGfx_Spiral[];
+extern const u32 gBattleAnimSpriteGfx_SnoreZ[];
+extern const u32 gBattleAnimSpriteGfx_Explosion[];
+extern const u32 gBattleAnimSpriteGfx_Nail[];
+extern const u32 gBattleAnimSpriteGfx_GhostlySpirit[];
+extern const u32 gBattleAnimSpriteGfx_WarmRock[];
+extern const u32 gBattleAnimSpriteGfx_BreakingEgg[];
+extern const u32 gBattleAnimSpriteGfx_ThinRing[];
+extern const u32 gBattleAnimSpriteGfx_PunchImpact[];
+extern const u32 gBattleAnimSpriteGfx_Bell[];
+extern const u32 gBattleAnimSpriteGfx_MusicNotes2[];
+extern const u32 gBattleAnimSpriteGfx_SpeedDust[];
+extern const u32 gBattleAnimSpriteGfx_TornMetal[];
+extern const u32 gBattleAnimSpriteGfx_ThoughtBubble[];
+extern const u32 gBattleAnimSpriteGfx_MagentaHeart[];
+extern const u32 gBattleAnimSpriteGfx_ElectricOrbs[];
+extern const u32 gBattleAnimSpriteGfx_CircleOfLight[];
+extern const u32 gBattleAnimSpriteGfx_Electricity[];
+extern const u32 gBattleAnimSpriteGfx_Finger2[];
+extern const u32 gBattleAnimSpriteGfx_MovementWaves[];
+extern const u32 gBattleAnimSpriteGfx_MagentaHeart[];
+extern const u32 gBattleAnimSpriteGfx_RedOrb[];
+extern const u32 gBattleAnimSpriteGfx_EyeSparkle[];
+extern const u32 gBattleAnimSpriteGfx_MagentaHeart[];
+extern const u32 gBattleAnimSpriteGfx_Angel[];
+extern const u32 gBattleAnimSpriteGfx_Devil[];
+extern const u32 gBattleAnimSpriteGfx_Swipe[];
+extern const u32 gBattleAnimSpriteGfx_Roots[];
+extern const u32 gBattleAnimSpriteGfx_ItemBag[];
+extern const u32 gBattleAnimSpriteGfx_JaggedMusicNote[];
+extern const u32 gBattleAnimSpriteGfx_Pokeball[];
+extern const u32 gBattleAnimSpriteGfx_Spotlight[];
+extern const u32 gBattleAnimSpriteGfx_LetterZ[];
+extern const u32 gBattleAnimSpriteGfx_RapidSpin[];
+extern const u32 gBattleAnimSpriteGfx_TriForceTriangle[];
+extern const u32 gBattleAnimSpriteGfx_WispOrb[];
+extern const u32 gBattleAnimSpriteGfx_WispFire[];
+extern const u32 gBattleAnimSpriteGfx_GoldStars[];
+extern const u32 gBattleAnimSpriteGfx_EclipsingOrb[];
+extern const u32 gBattleAnimSpriteGfx_GrayOrb[];
+extern const u32 gBattleAnimSpriteGfx_GrayOrb[];
+extern const u32 gBattleAnimSpriteGfx_GrayOrb[];
+extern const u32 gBattleAnimSpriteGfx_PinkPetal[];
+extern const u32 gBattleAnimSpriteGfx_PainSplit[];
+extern const u32 gBattleAnimSpriteGfx_Confetti[];
+extern const u32 gBattleAnimSpriteGfx_GreenStar[];
+extern const u32 gBattleAnimSpriteGfx_PinkCloud[];
+extern const u32 gBattleAnimSpriteGfx_SweatDrop[];
+extern const u32 gBattleAnimSpriteGfx_GuardRing[];
+extern const u32 gBattleAnimSpriteGfx_PurpleScratch[];
+extern const u32 gBattleAnimSpriteGfx_PurpleSwipe[];
+extern const u32 gBattleAnimSpriteGfx_TagHand[];
+extern const u32 gBattleAnimSpriteGfx_SmallRedEye[];
+extern const u32 gBattleAnimSpriteGfx_HollowOrb[];
+extern const u32 gBattleAnimSpriteGfx_XSign[];
+extern const u32 gBattleAnimSpriteGfx_BluegreenOrb[];
+extern const u32 gBattleAnimSpriteGfx_PawPrint[];
+extern const u32 gBattleAnimSpriteGfx_PurpleFlame[];
+extern const u32 gBattleAnimSpriteGfx_RedBall[];
+extern const u32 gBattleAnimSpriteGfx_SmellingsaltEffect[];
+extern const u32 gBattleAnimSpriteGfx_Meteor[];
+extern const u32 gBattleAnimSpriteGfx_FlatRock[];
+extern const u32 gBattleAnimSpriteGfx_MagnifyingGlass[];
+extern const u32 gBattleAnimSpriteGfx_MetalSoundWaves[];
+extern const u32 gBattleAnimSpriteGfx_FlyingDirt[];
+extern const u32 gBattleAnimSpriteGfx_IcicleSpear[];
+extern const u32 gBattleAnimSpriteGfx_Hail[];
+extern const u32 gBattleAnimSpriteGfx_GlowyRedOrb[];
+extern const u32 gBattleAnimSpriteGfx_GreenSpike[];
+extern const u32 gBattleAnimSpriteGfx_RedBrick[];
+extern const u32 gBattleAnimSpriteGfx_WhiteFeather[];
+extern const u32 gBattleAnimSpriteGfx_Sparkle6[];
+extern const u32 gBattleAnimSpriteGfx_Splash[];
+extern const u32 gBattleAnimSpriteGfx_SweatBead[];
+extern const u32 gBattleAnimSpriteGfx_Gem1[];
+extern const u32 gBattleAnimSpriteGfx_Gem2[];
+extern const u32 gBattleAnimSpriteGfx_Gem3[];
+extern const u32 gBattleAnimSpriteGfx_SlamHit2[];
+extern const u32 gBattleAnimSpriteGfx_Recycle[];
+extern const u32 gBattleAnimSpriteGfx_RedParticles[];
+extern const u32 gBattleAnimSpriteGfx_Protect[];
+extern const u32 gBattleAnimSpriteGfx_DirtMound[];
+extern const u32 gBattleAnimSpriteGfx_Shock3[];
+extern const u32 gBattleAnimSpriteGfx_WeatherBall[];
+extern const u32 gBattleAnimBgTilemap_ScaryFacePlayer[];
+extern const u32 gBattleAnimBgTilemap_ScaryFaceOpponent[];
+extern const u32 gBattleAnimBgTilemap_ScaryFaceContest[];
+extern const u32 gBattleAnimSpriteGfx_Bird[];
+extern const u32 gBattleAnimSpriteGfx_CrossImpact[];
-extern const u32 gBattleAnimSpritePalette_000[];
-extern const u32 gBattleAnimSpritePalette_001[];
-extern const u32 gBattleAnimSpritePalette_002[];
-extern const u32 gBattleAnimSpritePalette_003[];
-extern const u32 gBattleAnimSpritePalette_004[];
-extern const u32 gBattleAnimSpritePalette_005[];
-extern const u32 gBattleAnimSpritePalette_006[];
-extern const u32 gBattleAnimSpritePalette_007[];
-extern const u32 gBattleAnimSpritePalette_008[];
-extern const u32 gBattleAnimSpritePalette_009[];
-extern const u32 gBattleAnimSpritePalette_010[];
-extern const u32 gBattleAnimSpritePalette_011[];
-extern const u32 gBattleAnimSpritePalette_012[];
-extern const u32 gBattleAnimSpritePalette_013[];
-extern const u32 gBattleAnimSpritePalette_014[];
-extern const u32 gBattleAnimSpritePalette_015[];
-extern const u32 gBattleAnimSpritePalette_016[];
-extern const u32 gBattleAnimSpritePalette_016[];
-extern const u32 gBattleAnimSpritePalette_018[];
-extern const u32 gBattleAnimSpritePalette_019[];
-extern const u32 gBattleAnimSpritePalette_020[];
-extern const u32 gBattleAnimSpritePalette_021[];
-extern const u32 gBattleAnimSpritePalette_022[];
-extern const u32 gBattleAnimSpritePalette_023[];
-extern const u32 gBattleAnimSpritePalette_024[];
-extern const u32 gBattleAnimSpritePalette_025[];
-extern const u32 gBattleAnimSpritePalette_026[];
-extern const u32 gBattleAnimSpritePalette_027[];
-extern const u32 gBattleAnimSpritePalette_028[];
-extern const u32 gBattleAnimSpritePalette_029[];
-extern const u32 gBattleAnimSpritePalette_030[];
-extern const u32 gBattleAnimSpritePalette_031[];
-extern const u32 gBattleAnimSpritePalette_032[];
-extern const u32 gBattleAnimSpritePalette_033[];
-extern const u32 gBattleAnimSpritePalette_033[];
-extern const u32 gBattleAnimSpritePalette_033[];
-extern const u32 gBattleAnimSpritePalette_036[];
-extern const u32 gBattleAnimSpritePalette_036[];
-extern const u32 gBattleAnimSpritePalette_038[];
-extern const u32 gBattleAnimSpritePalette_039[];
-extern const u32 gBattleAnimSpritePalette_038[];
-extern const u32 gBattleAnimSpritePalette_038[];
-extern const u32 gBattleAnimSpritePalette_042[];
-extern const u32 gBattleAnimSpritePalette_043[];
-extern const u32 gBattleAnimSpritePalette_044[];
-extern const u32 gBattleAnimSpritePalette_045[];
-extern const u32 gBattleAnimSpritePalette_046[];
-extern const u32 gBattleAnimSpritePalette_047[];
-extern const u32 gBattleAnimSpritePalette_048[];
-extern const u32 gBattleAnimSpritePalette_049[];
-extern const u32 gBattleAnimSpritePalette_050[];
-extern const u32 gBattleAnimSpritePalette_050[];
-extern const u32 gBattleAnimSpritePalette_050[];
-extern const u32 gBattleAnimSpritePalette_026[];
-extern const u32 gBattleAnimSpritePalette_054[];
-extern const u32 gBattleAnimSpritePalette_050[];
-extern const u32 gBattleAnimSpritePalette_056[];
-extern const u32 gBattleAnimSpritePalette_057[];
-extern const u32 gBattleAnimSpritePalette_058[];
-extern const u32 gBattleAnimSpritePalette_059[];
-extern const u32 gBattleAnimSpritePalette_060[];
-extern const u32 gBattleAnimSpritePalette_061[];
-extern const u32 gBattleAnimSpritePalette_062[];
-extern const u32 gBattleAnimSpritePalette_063[];
-extern const u32 gBattleAnimSpritePalette_064[];
-extern const u32 gBattleAnimSpritePalette_065[];
-extern const u32 gBattleAnimSpritePalette_066[];
-extern const u32 gBattleAnimSpritePalette_067[];
-extern const u32 gBattleAnimSpritePalette_068[];
-extern const u32 gBattleAnimSpritePalette_065[];
-extern const u32 gBattleAnimSpritePalette_070[];
-extern const u32 gBattleAnimSpritePalette_070[];
-extern const u32 gBattleAnimSpritePalette_072[];
-extern const u32 gBattleAnimSpritePalette_073[];
-extern const u32 gBattleAnimSpritePalette_074[];
-extern const u32 gBattleAnimSpritePalette_075[];
-extern const u32 gBattleAnimSpritePalette_076[];
-extern const u32 gBattleAnimSpritePalette_076[];
-extern const u32 gBattleAnimSpritePalette_078[];
-extern const u32 gBattleAnimSpritePalette_078[];
-extern const u32 gBattleAnimSpritePalette_080[];
-extern const u32 gBattleAnimSpritePalette_081[];
-extern const u32 gBattleAnimSpritePalette_082[];
-extern const u32 gBattleAnimSpritePalette_083[];
-extern const u32 gBattleAnimSpritePalette_084[];
-extern const u32 gBattleAnimSpritePalette_085[];
-extern const u32 gBattleAnimSpritePalette_086[];
-extern const u32 gBattleAnimSpritePalette_087[];
-extern const u32 gBattleAnimSpritePalette_088[];
-extern const u32 gBattleAnimSpritePalette_089[];
-extern const u32 gBattleAnimSpritePalette_090[];
-extern const u32 gBattleAnimSpritePalette_091[];
-extern const u32 gBattleAnimSpritePalette_092[];
-extern const u32 gBattleAnimSpritePalette_093[];
-extern const u32 gBattleAnimSpritePalette_094[];
-extern const u32 gBattleAnimSpritePalette_095[];
-extern const u32 gBattleAnimSpritePalette_096[];
-extern const u32 gBattleAnimSpritePalette_097[];
-extern const u32 gBattleAnimSpritePalette_094[];
-extern const u32 gBattleAnimSpritePalette_099[];
-extern const u32 gBattleAnimSpritePalette_100[];
-extern const u32 gBattleAnimSpritePalette_101[];
-extern const u32 gBattleAnimSpritePalette_101[];
-extern const u32 gBattleAnimSpritePalette_103[];
-extern const u32 gBattleAnimSpritePalette_104[];
-extern const u32 gBattleAnimSpritePalette_105[];
-extern const u32 gBattleAnimSpritePalette_105[];
-extern const u32 gBattleAnimSpritePalette_107[];
-extern const u32 gBattleAnimSpritePalette_107[];
-extern const u32 gBattleAnimSpritePalette_109[];
-extern const u32 gBattleAnimSpritePalette_109[];
-extern const u32 gBattleAnimSpritePalette_111[];
-extern const u32 gBattleAnimSpritePalette_112[];
-extern const u32 gBattleAnimSpritePalette_113[];
-extern const u32 gBattleAnimSpritePalette_114[];
-extern const u32 gBattleAnimSpritePalette_115[];
-extern const u32 gBattleAnimSpritePalette_116[];
-extern const u32 gBattleAnimSpritePalette_117[];
-extern const u32 gBattleAnimSpritePalette_118[];
-extern const u32 gBattleAnimSpritePalette_119[];
-extern const u32 gBattleAnimSpritePalette_120[];
-extern const u32 gBattleAnimSpritePalette_121[];
-extern const u32 gBattleAnimSpritePalette_122[];
-extern const u32 gBattleAnimSpritePalette_122[];
-extern const u32 gBattleAnimSpritePalette_124[];
-extern const u32 gBattleAnimSpritePalette_125[];
-extern const u32 gBattleAnimSpritePalette_126[];
-extern const u32 gBattleAnimSpritePalette_127[];
-extern const u32 gBattleAnimSpritePalette_128[];
-extern const u32 gBattleAnimSpritePalette_128[];
-extern const u32 gBattleAnimSpritePalette_130[];
-extern const u32 gBattleAnimSpritePalette_130[];
-extern const u32 gBattleAnimSpritePalette_132[];
-extern const u32 gBattleAnimSpritePalette_133[];
-extern const u32 gBattleAnimSpritePalette_133[];
-extern const u32 gBattleAnimSpritePalette_135[];
-extern const u32 gBattleAnimSpritePalette_136[];
-extern const u32 gBattleAnimSpritePalette_135[];
-extern const u32 gBattleAnimSpritePalette_135[];
-extern const u32 gBattleAnimSpritePalette_139[];
-extern const u32 gBattleAnimSpritePalette_140[];
-extern const u32 gBattleAnimSpritePalette_141[];
-extern const u32 gBattleAnimSpritePalette_141[];
-extern const u32 gBattleAnimSpritePalette_143[];
-extern const u32 gBattleAnimSpritePalette_144[];
-extern const u32 gBattleAnimSpritePalette_139[];
-extern const u32 gBattleAnimSpritePalette_115[];
-extern const u32 gBattleAnimSpritePalette_147[];
-extern const u32 gBattleAnimSpritePalette_148[];
-extern const u32 gBattleAnimSpritePalette_148[];
-extern const u32 gBattleAnimSpritePalette_150[];
-extern const u32 gBattleAnimSpritePalette_150[];
-extern const u32 gBattleAnimSpritePalette_152[];
-extern const u32 gBattleAnimSpritePalette_153[];
-extern const u32 gBattleAnimSpritePalette_154[];
-extern const u32 gBattleAnimSpritePalette_155[];
-extern const u32 gBattleAnimSpritePalette_156[];
-extern const u32 gBattleAnimSpritePalette_157[];
-extern const u32 gBattleAnimSpritePalette_158[];
-extern const u32 gBattleAnimSpritePalette_159[];
-extern const u32 gBattleAnimSpritePalette_160[];
-extern const u32 gBattleAnimSpritePalette_161[];
-extern const u32 gBattleAnimSpritePalette_162[];
-extern const u32 gBattleAnimSpritePalette_163[];
-extern const u32 gBattleAnimSpritePalette_164[];
-extern const u32 gBattleAnimSpritePalette_165[];
-extern const u32 gBattleAnimSpritePalette_166[];
-extern const u32 gBattleAnimSpritePalette_167[];
-extern const u32 gBattleAnimSpritePalette_168[];
-extern const u32 gBattleAnimSpritePalette_169[];
-extern const u32 gBattleAnimSpritePalette_170[];
-extern const u32 gBattleAnimSpritePalette_171[];
-extern const u32 gBattleAnimSpritePalette_172[];
-extern const u32 gBattleAnimSpritePalette_174[];
-extern const u32 gBattleAnimSpritePalette_175[];
-extern const u32 gBattleAnimSpritePalette_176[];
-extern const u32 gBattleAnimSpritePalette_177[];
-extern const u32 gBattleAnimSpritePalette_178[];
-extern const u32 gBattleAnimSpritePalette_179[];
-extern const u32 gBattleAnimSpritePalette_182[];
-extern const u32 gBattleAnimSpritePalette_183[];
-extern const u32 gBattleAnimSpritePalette_184[];
-extern const u32 gBattleAnimSpritePalette_185[];
-extern const u32 gBattleAnimSpritePalette_186[];
-extern const u32 gBattleAnimSpritePalette_187[];
-extern const u32 gBattleAnimSpritePalette_188[];
-extern const u32 gBattleAnimSpritePalette_189[];
-extern const u32 gBattleAnimSpritePalette_190[];
-extern const u32 gBattleAnimSpritePalette_191[];
-extern const u32 gBattleAnimSpritePalette_192[];
-extern const u32 gBattleAnimSpritePalette_193[];
-extern const u32 gBattleAnimSpritePalette_194[];
-extern const u32 gBattleAnimSpritePalette_195[];
-extern const u32 gBattleAnimSpritePalette_196[];
-extern const u32 gBattleAnimSpritePalette_197[];
-extern const u32 gBattleAnimSpritePalette_198[];
-extern const u32 gBattleAnimSpritePalette_199[];
-extern const u32 gBattleAnimSpritePalette_200[];
-extern const u32 gBattleAnimSpritePalette_201[];
-extern const u32 gBattleAnimSpritePalette_202[];
-extern const u32 gBattleAnimSpritePalette_203[];
-extern const u32 gBattleAnimSpritePalette_204[];
-extern const u32 gBattleAnimSpritePalette_205[];
-extern const u32 gBattleAnimSpritePalette_206[];
-extern const u32 gBattleAnimSpritePalette_207[];
-extern const u32 gBattleAnimSpritePalette_209[];
-extern const u32 gBattleAnimSpritePalette_210[];
-extern const u32 gBattleAnimSpritePalette_211[];
-extern const u32 gBattleAnimSpritePalette_215[];
+extern const u32 gBattleAnimSpritePal_Bone[];
+extern const u32 gBattleAnimSpritePal_Spark[];
+extern const u32 gBattleAnimSpritePal_Pencil[];
+extern const u32 gBattleAnimSpritePal_AirWave[];
+extern const u32 gBattleAnimSpritePal_Orb[];
+extern const u32 gBattleAnimSpritePal_Sword[];
+extern const u32 gBattleAnimSpritePal_Seed[];
+extern const u32 gBattleAnimSpritePal_Explosion6[];
+extern const u32 gBattleAnimSpritePal_PinkOrb[];
+extern const u32 gBattleAnimSpritePal_Gust[];
+extern const u32 gBattleAnimSpritePal_IceCube[];
+extern const u32 gBattleAnimSpritePal_Spark2[];
+extern const u32 gBattleAnimSpritePal_Orange[];
+extern const u32 gBattleAnimSpritePal_YellowBall[];
+extern const u32 gBattleAnimSpritePal_LockOn[];
+extern const u32 gBattleAnimSpritePal_TiedBag[];
+extern const u32 gBattleAnimSpritePal_BlackSmoke[];
+extern const u32 gBattleAnimSpritePal_BlackSmoke[];
+extern const u32 gBattleAnimSpritePal_Conversion[];
+extern const u32 gBattleAnimSpritePal_Glass[];
+extern const u32 gBattleAnimSpritePal_HornHit[];
+extern const u32 gBattleAnimSpritePal_Hit[];
+extern const u32 gBattleAnimSpritePal_Hit2[];
+extern const u32 gBattleAnimSpritePal_BlueShards[];
+extern const u32 gBattleAnimSpritePal_ClosingEye[];
+extern const u32 gBattleAnimSpritePal_WavingHand[];
+extern const u32 gBattleAnimSpritePal_HitDuplicate[];
+extern const u32 gBattleAnimSpritePal_Leer[];
+extern const u32 gBattleAnimSpritePal_BlueBurst[];
+extern const u32 gBattleAnimSpritePal_SmallEmber[];
+extern const u32 gBattleAnimSpritePal_GraySmoke[];
+extern const u32 gBattleAnimSpritePal_BlueStar[];
+extern const u32 gBattleAnimSpritePal_BubbleBurst[];
+extern const u32 gBattleAnimSpritePal_Fire[];
+extern const u32 gBattleAnimSpritePal_Fire[];
+extern const u32 gBattleAnimSpritePal_Fire[];
+extern const u32 gBattleAnimSpritePal_Lightning2[];
+extern const u32 gBattleAnimSpritePal_Lightning2[];
+extern const u32 gBattleAnimSpritePal_ClawSlash2[];
+extern const u32 gBattleAnimSpritePal_ClawSlash[];
+extern const u32 gBattleAnimSpritePal_ClawSlash2[];
+extern const u32 gBattleAnimSpritePal_ClawSlash2[];
+extern const u32 gBattleAnimSpritePal_BubbleBurst2[];
+extern const u32 gBattleAnimSpritePal_IceChunk[];
+extern const u32 gBattleAnimSpritePal_Glass2[];
+extern const u32 gBattleAnimSpritePal_PinkHeart2[];
+extern const u32 gBattleAnimSpritePal_SapDrip[];
+extern const u32 gBattleAnimSpritePal_SapDrip2[];
+extern const u32 gBattleAnimSpritePal_Sparkle1[];
+extern const u32 gBattleAnimSpritePal_Sparkle2[];
+extern const u32 gBattleAnimSpritePal_HumanoidFoot[];
+extern const u32 gBattleAnimSpritePal_HumanoidFoot[];
+extern const u32 gBattleAnimSpritePal_HumanoidFoot[];
+extern const u32 gBattleAnimSpritePal_HitDuplicate[];
+extern const u32 gBattleAnimSpritePal_YellowUnk[];
+extern const u32 gBattleAnimSpritePal_HumanoidFoot[];
+extern const u32 gBattleAnimSpritePal_SlamHit[];
+extern const u32 gBattleAnimSpritePal_Ring[];
+extern const u32 gBattleAnimSpritePal_Rocks[];
+extern const u32 gBattleAnimSpritePal_Z[];
+extern const u32 gBattleAnimSpritePal_YellowUnk2[];
+extern const u32 gBattleAnimSpritePal_AirSlash[];
+extern const u32 gBattleAnimSpritePal_SpinningGreenOrbs[];
+extern const u32 gBattleAnimSpritePal_Leaf[];
+extern const u32 gBattleAnimSpritePal_Finger[];
+extern const u32 gBattleAnimSpritePal_PoisonPowder[];
+extern const u32 gBattleAnimSpritePal_BrownTriangle[];
+extern const u32 gBattleAnimSpritePal_SleepPowder[];
+extern const u32 gBattleAnimSpritePal_StunSpore[];
+extern const u32 gBattleAnimSpritePal_PoisonPowder[];
+extern const u32 gBattleAnimSpritePal_Sparkle3[];
+extern const u32 gBattleAnimSpritePal_Sparkle3[];
+extern const u32 gBattleAnimSpritePal_MusicNotes[];
+extern const u32 gBattleAnimSpritePal_Duck[];
+extern const u32 gBattleAnimSpritePal_MudSand[];
+extern const u32 gBattleAnimSpritePal_Alert[];
+extern const u32 gBattleAnimSpritePal_BlueFlames[];
+extern const u32 gBattleAnimSpritePal_BlueFlames[];
+extern const u32 gBattleAnimSpritePal_Shock4[];
+extern const u32 gBattleAnimSpritePal_Shock4[];
+extern const u32 gBattleAnimSpritePal_Bell2[];
+extern const u32 gBattleAnimSpritePal_PinkGlove[];
+extern const u32 gBattleAnimSpritePal_BlueLines[];
+extern const u32 gBattleAnimSpritePal_Impact3[];
+extern const u32 gBattleAnimSpritePal_Impact2[];
+extern const u32 gBattleAnimSpritePal_Reticle[];
+extern const u32 gBattleAnimSpritePal_Breath[];
+extern const u32 gBattleAnimSpritePal_Anger[];
+extern const u32 gBattleAnimSpritePal_Snowball[];
+extern const u32 gBattleAnimSpritePal_Vine[];
+extern const u32 gBattleAnimSpritePal_Sword2[];
+extern const u32 gBattleAnimSpritePal_Clapping[];
+extern const u32 gBattleAnimSpritePal_RedTube[];
+extern const u32 gBattleAnimSpritePal_Amnesia[];
+extern const u32 gBattleAnimSpritePal_String2[];
+extern const u32 gBattleAnimSpritePal_Pencil2[];
+extern const u32 gBattleAnimSpritePal_Petal[];
+extern const u32 gBattleAnimSpritePal_BentSpoon[];
+extern const u32 gBattleAnimSpritePal_String2[];
+extern const u32 gBattleAnimSpritePal_MilkBottle[];
+extern const u32 gBattleAnimSpritePal_Coin[];
+extern const u32 gBattleAnimSpritePal_CrackedEgg[];
+extern const u32 gBattleAnimSpritePal_CrackedEgg[];
+extern const u32 gBattleAnimSpritePal_FreshEgg[];
+extern const u32 gBattleAnimSpritePal_Fangs[];
+extern const u32 gBattleAnimSpritePal_Explosion2[];
+extern const u32 gBattleAnimSpritePal_Explosion2[];
+extern const u32 gBattleAnimSpritePal_WaterDroplet[];
+extern const u32 gBattleAnimSpritePal_WaterDroplet[];
+extern const u32 gBattleAnimSpritePal_Seed2[];
+extern const u32 gBattleAnimSpritePal_Seed2[];
+extern const u32 gBattleAnimSpritePal_RedWand[];
+extern const u32 gBattleAnimSpritePal_PurpleGreenUnk[];
+extern const u32 gBattleAnimSpritePal_WaterColumn[];
+extern const u32 gBattleAnimSpritePal_MudUnk[];
+extern const u32 gBattleAnimSpritePal_RainDrops[];
+extern const u32 gBattleAnimSpritePal_FurySwipes[];
+extern const u32 gBattleAnimSpritePal_Vine2[];
+extern const u32 gBattleAnimSpritePal_Teeth[];
+extern const u32 gBattleAnimSpritePal_Bone2[];
+extern const u32 gBattleAnimSpritePal_WhiteBag[];
+extern const u32 gBattleAnimSpritePal_Unknown[];
+extern const u32 gBattleAnimSpritePal_PurpleCoral[];
+extern const u32 gBattleAnimSpritePal_PurpleCoral[];
+extern const u32 gBattleAnimSpritePal_Shock2[];
+extern const u32 gBattleAnimSpritePal_ClosingEye2[];
+extern const u32 gBattleAnimSpritePal_MetalBall[];
+extern const u32 gBattleAnimSpritePal_MonsterDoll[];
+extern const u32 gBattleAnimSpritePal_Whirlwind[];
+extern const u32 gBattleAnimSpritePal_Whirlwind[];
+extern const u32 gBattleAnimSpritePal_Explosion4[];
+extern const u32 gBattleAnimSpritePal_Explosion4[];
+extern const u32 gBattleAnimSpritePal_Tongue[];
+extern const u32 gBattleAnimSpritePal_Smoke[];
+extern const u32 gBattleAnimSpritePal_Smoke[];
+extern const u32 gBattleAnimSpritePal_Impact[];
+extern const u32 gBattleAnimSpritePal_CircleImpact[];
+extern const u32 gBattleAnimSpritePal_Impact[];
+extern const u32 gBattleAnimSpritePal_Impact[];
+extern const u32 gBattleAnimSpritePal_SharpTeeth[];
+extern const u32 gBattleAnimSpritePal_RainbowRings[];
+extern const u32 gBattleAnimSpritePal_IceCrystals[];
+extern const u32 gBattleAnimSpritePal_IceCrystals[];
+extern const u32 gBattleAnimSpritePal_HandsAndFeet[];
+extern const u32 gBattleAnimSpritePal_MistCloud[];
+extern const u32 gBattleAnimSpritePal_SharpTeeth[];
+extern const u32 gBattleAnimSpritePal_RainDrops[];
+extern const u32 gBattleAnimSpritePal_Orbs[];
+extern const u32 gBattleAnimSpritePal_WaterImpact[];
+extern const u32 gBattleAnimSpritePal_WaterImpact[];
+extern const u32 gBattleAnimSpritePal_PoisonBubble[];
+extern const u32 gBattleAnimSpritePal_PoisonBubble[];
+extern const u32 gBattleAnimSpritePal_Spikes[];
+extern const u32 gBattleAnimSpritePal_HornHit2[];
+extern const u32 gBattleAnimSpritePal_AirWave2[];
+extern const u32 gBattleAnimSpritePal_SmallBubbles[];
+extern const u32 gBattleAnimSpritePal_RoundShadow[];
+extern const u32 gBattleAnimSpritePal_Sunlight[];
+extern const u32 gBattleAnimSpritePal_Spore[];
+extern const u32 gBattleAnimSpritePal_Flower[];
+extern const u32 gBattleAnimSpritePal_RazorLeaf[];
+extern const u32 gBattleAnimSpritePal_Needle[];
+extern const u32 gBattleAnimSpritePal_WhirlwindLines[];
+extern const u32 gBattleAnimSpritePal_GoldRing[];
+extern const u32 gBattleAnimSpritePal_PurpleRing[];
+extern const u32 gBattleAnimSpritePal_BlueRing[];
+extern const u32 gBattleAnimSpritePal_GreenLightWall[];
+extern const u32 gBattleAnimSpritePal_BlueLightWall[];
+extern const u32 gBattleAnimSpritePal_RedLightWall[];
+extern const u32 gBattleAnimSpritePal_GrayLightWall[];
+extern const u32 gBattleAnimSpritePal_OrangeLightWall[];
+extern const u32 gBattleAnimSpritePal_BlackBall2[];
+extern const u32 gBattleAnimSpritePal_PurpleGasCloud[];
+extern const u32 gBattleAnimSpritePal_YellowStar[];
+extern const u32 gBattleAnimSpritePal_LargeFreshEgg[];
+extern const u32 gBattleAnimSpritePal_ShadowBall[];
+extern const u32 gBattleAnimSpritePal_Lick[];
+extern const u32 gBattleAnimSpritePal_VoidLines[];
+extern const u32 gBattleAnimSpritePal_String[];
+extern const u32 gBattleAnimSpritePal_Lightbulb[];
+extern const u32 gBattleAnimSpritePal_Slash[];
+extern const u32 gBattleAnimSpritePal_FocusEnergy[];
+extern const u32 gBattleAnimSpritePal_SphereToCube[];
+extern const u32 gBattleAnimSpritePal_Tendrils[];
+extern const u32 gBattleAnimSpritePal_Eye[];
+extern const u32 gBattleAnimSpritePal_WhiteShadow[];
+extern const u32 gBattleAnimSpritePal_TealAlert[];
+extern const u32 gBattleAnimSpritePal_OpeningEye[];
+extern const u32 gBattleAnimSpritePal_RoundWhiteHalo[];
+extern const u32 gBattleAnimSpritePal_FangAttack[];
+extern const u32 gBattleAnimSpritePal_PurpleHandOutline[];
+extern const u32 gBattleAnimSpritePal_Moon[];
+extern const u32 gBattleAnimSpritePal_GreenSparkle[];
+extern const u32 gBattleAnimSpritePal_Spiral[];
+extern const u32 gBattleAnimSpritePal_SnoreZ[];
+extern const u32 gBattleAnimSpritePal_Explosion[];
+extern const u32 gBattleAnimSpritePal_Nail[];
+extern const u32 gBattleAnimSpritePal_GhostlySpirit[];
+extern const u32 gBattleAnimSpritePal_WarmRock[];
+extern const u32 gBattleAnimSpritePal_BreakingEgg[];
+extern const u32 gBattleAnimSpritePal_ThinRing[];
+extern const u32 gBattleAnimSpritePal_PunchImpact[];
+extern const u32 gBattleAnimSpritePal_Bell[];
+extern const u32 gBattleAnimSpritePal_MusicNotes2[];
+extern const u32 gBattleAnimSpritePal_SpeedDust[];
+extern const u32 gBattleAnimSpritePal_ThoughtBubble[];
+extern const u32 gBattleAnimSpritePal_MagentaHeart[];
+extern const u32 gBattleAnimSpritePal_ElectricOrbs[];
+extern const u32 gBattleAnimSpritePal_MovementWaves[];
extern const u32 gUnknown_08C249D0[];
extern const u32 gUnknown_08C249F8[];
-extern const u32 gBattleAnimSpritePalette_216[];
-extern const u32 gBattleAnimSpritePalette_217[];
-extern const u32 gBattleAnimSpritePalette_218[];
-extern const u32 gBattleAnimSpritePalette_219[];
+extern const u32 gBattleAnimSpritePal_RedHeart[];
+extern const u32 gBattleAnimSpritePal_RedOrb[];
+extern const u32 gBattleAnimSpritePal_EyeSparkle[];
+extern const u32 gBattleAnimSpritePal_PinkHeart[];
extern const u32 gUnknown_08C232E0;
extern const u32 gUnknown_08C23D50;
extern const u32 gUnknown_08C23D78;
-extern const u32 gBattleAnimSpritePalette_220[];
-extern const u32 gBattleAnimSpritePalette_221[];
-extern const u32 gBattleAnimSpritePalette_222[];
-extern const u32 gBattleAnimSpritePalette_223[];
-extern const u32 gBattleAnimSpritePalette_224[];
-extern const u32 gBattleAnimSpritePalette_225[];
-extern const u32 gBattleAnimSpritePalette_226[];
-extern const u32 gBattleAnimSpritePalette_228[];
-extern const u32 gBattleAnimSpritePalette_229[];
-extern const u32 gBattleAnimSpritePalette_230[];
-extern const u32 gBattleAnimSpritePalette_231[];
-extern const u32 gBattleAnimSpritePalette_233[];
-extern const u32 gBattleAnimSpritePalette_234[];
-extern const u32 gBattleAnimSpritePalette_235[];
-extern const u32 gBattleAnimSpritePalette_236[];
-extern const u32 gBattleAnimSpritePalette_237[];
-extern const u32 gBattleAnimSpritePalette_238[];
-extern const u32 gBattleAnimSpritePalette_239[];
-extern const u32 gBattleAnimSpritePalette_240[];
-extern const u32 gBattleAnimSpritePalette_241[];
-extern const u32 gBattleAnimSpritePalette_242[];
-extern const u32 gBattleAnimSpritePalette_243[];
-extern const u32 gBattleAnimSpritePalette_244[];
+extern const u32 gBattleAnimSpritePal_Angel[];
+extern const u32 gBattleAnimSpritePal_Devil[];
+extern const u32 gBattleAnimSpritePal_Swipe[];
+extern const u32 gBattleAnimSpritePal_Roots[];
+extern const u32 gBattleAnimSpritePal_ItemBag[];
+extern const u32 gBattleAnimSpritePal_JaggedMusicNote[];
+extern const u32 gBattleAnimSpritePal_Pokeball[];
+extern const u32 gBattleAnimSpritePal_LetterZ[];
+extern const u32 gBattleAnimSpritePal_RapidSpin[];
+extern const u32 gBattleAnimSpritePal_TriForceTriangle[];
+extern const u32 gBattleAnimSpritePal_WispOrb[];
+extern const u32 gBattleAnimSpritePal_GoldStars[];
+extern const u32 gBattleAnimSpritePal_EclipsingOrb[];
+extern const u32 gBattleAnimSpritePal_GrayOrb[];
+extern const u32 gBattleAnimSpritePal_BlueOrb[];
+extern const u32 gBattleAnimSpritePal_RedOrb2[];
+extern const u32 gBattleAnimSpritePal_PinkPetal[];
+extern const u32 gBattleAnimSpritePal_PainSplit[];
+extern const u32 gBattleAnimSpritePal_Confetti[];
+extern const u32 gBattleAnimSpritePal_GreenStar[];
+extern const u32 gBattleAnimSpritePal_PinkCloud[];
+extern const u32 gBattleAnimSpritePal_SweatDrop[];
+extern const u32 gBattleAnimSpritePal_GuardRing[];
extern const u32 gCureBubblesGfx[];
extern const u32 gCureBubblesPal[];
extern const u32 gCureBubblesTilemap[];
-extern const u32 gBattleAnimSpritePalette_245[];
-extern const u32 gBattleAnimSpritePalette_248[];
-extern const u32 gBattleAnimSpritePalette_249[];
-extern const u32 gBattleAnimSpritePalette_251[];
-extern const u32 gBattleAnimSpritePalette_252[];
-extern const u32 gBattleAnimSpritePalette_253[];
-extern const u32 gBattleAnimSpritePalette_254[];
-extern const u32 gBattleAnimSpritePalette_255[];
-extern const u32 gBattleAnimSpritePalette_256[];
-extern const u32 gBattleAnimSpritePalette_257[];
-extern const u32 gBattleAnimSpritePalette_258[];
-extern const u32 gBattleAnimSpritePalette_259[];
-extern const u32 gBattleAnimSpritePalette_260[];
-extern const u32 gBattleAnimSpritePalette_261[];
-extern const u32 gBattleAnimSpritePalette_262[];
-extern const u32 gBattleAnimSpritePalette_263[];
-extern const u32 gBattleAnimSpritePalette_264[];
-extern const u32 gBattleAnimSpritePalette_265[];
-extern const u32 gBattleAnimSpritePalette_266[];
-extern const u32 gBattleAnimSpritePalette_267[];
-extern const u32 gBattleAnimSpritePalette_268[];
-extern const u32 gBattleAnimSpritePalette_269[];
-extern const u32 gBattleAnimSpritePalette_270[];
-extern const u32 gBattleAnimSpritePalette_271[];
-extern const u32 gBattleAnimSpritePalette_272[];
-extern const u32 gBattleAnimSpritePalette_274[];
-extern const u32 gBattleAnimSpritePalette_277[];
-extern const u32 gBattleAnimSpritePalette_278[];
-extern const u32 gBattleAnimSpritePalette_279[];
-extern const u32 gBattleAnimSpritePalette_280[];
-extern const u32 gBattleAnimSpritePalette_281[];
-extern const u32 gBattleAnimSpritePalette_282[];
-extern const u32 gBattleAnimSpritePalette_283[];
-extern const u32 gBattleAnimSpritePalette_284[];
-extern const u32 gBattleAnimSpritePalette_285[];
-extern const u32 gBattleAnimSpritePalette_286[];
-extern const u32 gBattleAnimSpritePalette_287[];
-extern const u32 gBattleAnimSpritePalette_288[];
+extern const u32 gBattleAnimSpritePal_PurpleScratch[];
+extern const u32 gBattleAnimSpritePal_SmallRedEye[];
+extern const u32 gBattleAnimSpritePal_HollowOrb[];
+extern const u32 gBattleAnimSpritePal_BluegreenOrb[];
+extern const u32 gBattleAnimSpritePal_PawPrint[];
+extern const u32 gBattleAnimSpritePal_PurpleFlame[];
+extern const u32 gBattleAnimSpritePal_RedBall[];
+extern const u32 gBattleAnimSpritePal_SmellingsaltEffect[];
+extern const u32 gBattleAnimSpritePal_Meteor[];
+extern const u32 gBattleAnimSpritePal_FlatRock[];
+extern const u32 gBattleAnimSpritePal_MagnifyingGlass[];
+extern const u32 gBattleAnimSpritePal_BrownOrb[];
+extern const u32 gBattleAnimSpritePal_MetalSoundWaves[];
+extern const u32 gBattleAnimSpritePal_FlyingDirt[];
+extern const u32 gBattleAnimSpritePal_IcicleSpear[];
+extern const u32 gBattleAnimSpritePal_Hail[];
+extern const u32 gBattleAnimSpritePal_GlowyRedOrb[];
+extern const u32 gBattleAnimSpritePal_GlowyGreenOrb[];
+extern const u32 gBattleAnimSpritePal_GreenSpike[];
+extern const u32 gBattleAnimSpritePal_WhiteCircleOfLight[];
+extern const u32 gBattleAnimSpritePal_GlowyBlueOrb[];
+extern const u32 gBattleAnimSpritePal_RedBrick[];
+extern const u32 gBattleAnimSpritePal_WhiteFeather[];
+extern const u32 gBattleAnimSpritePal_Sparkle6[];
+extern const u32 gBattleAnimSpritePal_Splash[];
+extern const u32 gBattleAnimSpritePal_Gem1[];
+extern const u32 gBattleAnimSpritePal_SlamHit2[];
+extern const u32 gBattleAnimSpritePal_Recycle[];
+extern const u32 gBattleAnimSpritePal_RedParticles[];
+extern const u32 gBattleAnimSpritePal_Protect[];
+extern const u32 gBattleAnimSpritePal_DirtMound[];
+extern const u32 gBattleAnimSpritePal_Shock3[];
+extern const u32 gBattleAnimSpritePal_WeatherBall[];
+extern const u32 gBattleAnimSpritePal_Bird[];
+extern const u32 gBattleAnimSpritePal_CrossImpact[];
+extern const u32 gBattleAnimSpritePal_Slash2[];
+extern const u32 gBattleAnimSpritePal_WhipHit[];
+extern const u32 gBattleAnimSpritePal_BlueRing2[];
-extern const u32 gBattleAnimBackgroundImage_00[];
-extern const u32 gBattleAnimBackgroundImage_02[];
-extern const u32 gBattleAnimBackgroundImage_03[];
-extern const u32 gBattleAnimBackgroundImage_04[];
-extern const u32 gBattleAnimBackgroundImage_07[];
-extern const u32 gBattleAnimBackgroundImage_09[];
-extern const u32 gBattleAnimBackgroundImage_11[];
-extern const u32 gBattleAnimBackgroundImage_12[];
-extern const u32 gBattleAnimBackgroundImage_15[];
-extern const u32 gBattleAnimBackgroundImage_16[];
-extern const u32 gBattleAnimBackgroundImage_17[];
-extern const u32 gBattleAnimBackgroundImage_20[];
-extern const u32 gBattleAnimBackgroundImage_21[];
-extern const u32 gBattleAnimBackgroundPalette_00[];
-extern const u32 gBattleAnimBackgroundPalette_02[];
-extern const u32 gBattleAnimBackgroundPalette_03[];
-extern const u32 gBattleAnimBackgroundPalette_04[];
-extern const u32 gBattleAnimBackgroundPalette_07[];
-extern const u32 gBattleAnimBackgroundPalette_09[];
-extern const u32 gBattleAnimBackgroundPalette_11[];
-extern const u32 gBattleAnimBackgroundPalette_12[];
-extern const u32 gBattleAnimBackgroundPalette_15[];
-extern const u32 gBattleAnimBackgroundPalette_16[];
-extern const u32 gBattleAnimBackgroundPalette_17[];
-extern const u32 gBattleAnimBackgroundPalette_18[];
-extern const u32 gBattleAnimBackgroundPalette_20[];
-extern const u32 gBattleAnimBackgroundPalette_21[];
-extern const u32 gBattleAnimBackgroundPalette_22[];
-extern const u32 gBattleAnimBackgroundPalette_24[];
-extern const u32 gBattleAnimBackgroundTilemap_00[];
-extern const u32 gBattleAnimBackgroundTilemap_02[];
-extern const u32 gBattleAnimBackgroundTilemap_03[];
-extern const u32 gBattleAnimBackgroundTilemap_04[];
-extern const u32 gBattleAnimBackgroundTilemap_05[];
-extern const u32 gBattleAnimBackgroundTilemap_06[];
-extern const u32 gBattleAnimBackgroundTilemap_07[];
-extern const u32 gBattleAnimBackgroundTilemap_08[];
-extern const u32 gBattleAnimBackgroundTilemap_09[];
-extern const u32 gBattleAnimBackgroundTilemap_10[];
+extern const u32 gBattleAnimBgImage_Dark[];
+extern const u32 gBattleAnimBgImage_Ghost[];
+extern const u32 gBattleAnimBgImage_Psychic[];
+extern const u32 gBattleAnimBgImage_Impact[];
+extern const u32 gBattleAnimBgImage_Drill[];
+extern const u32 gBattleAnimBgImage_Highspeed[];
+extern const u32 gBattleAnimBgImage_Thunder[];
+extern const u32 gBattleAnimBgImage_Guillotine[];
+extern const u32 gBattleAnimBgImage_Ice[];
+extern const u32 gBattleAnimBgImage_Cosmic[];
+extern const u32 gBattleAnimBgImage_InAir[];
+extern const u32 gBattleAnimBgImage_Aurora[];
+extern const u32 gBattleAnimBgImage_Fissure[];
+extern const u32 gBattleAnimBgPalette_Dark[];
+extern const u32 gBattleAnimBgPalette_Ghost[];
+extern const u32 gBattleAnimBgPalette_Psychic[];
+extern const u32 gBattleAnimBgPalette_Impact[];
+extern const u32 gBattleAnimBgPalette_Drill[];
+extern const u32 gBattleAnimBgPalette_Highspeed[];
+extern const u32 gBattleAnimBgPalette_Thunder[];
+extern const u32 gBattleAnimBgPalette_Guillotine[];
+extern const u32 gBattleAnimBgPalette_Ice[];
+extern const u32 gBattleAnimBgPalette_Cosmic[];
+extern const u32 gBattleAnimBgPalette_InAir[];
+extern const u32 gBattleAnimBgPalette_Sky[];
+extern const u32 gBattleAnimBgPalette_Aurora[];
+extern const u32 gBattleAnimBgPalette_Fissure[];
+extern const u32 gBattleAnimBgPalette_Bug[];
+extern const u32 gBattleAnimBgPalette_Solarbeam[];
+extern const u32 gBattleAnimBgTilemap_Dark[];
+extern const u32 gBattleAnimBgTilemap_Ghost[];
+extern const u32 gBattleAnimBgTilemap_Psychic[];
+extern const u32 gBattleAnimBgTilemap_ImpactOpponent[];
+extern const u32 gBattleAnimBgTilemap_ImpactPlayer[];
+extern const u32 gBattleAnimBgTilemap_ImpactContests[];
+extern const u32 gBattleAnimBgTilemap_Drill[];
+extern const u32 gBattleAnimBgTilemap_DrillContests[];
+extern const u32 gBattleAnimBgTilemap_HighspeedOpponent[];
+extern const u32 gBattleAnimBgTilemap_HighspeedPlayer[];
extern const u32 gUnknown_08C2A634[];
extern const u32 gUnknown_08C2A6D4[];
extern const u32 gUnknown_08C2A6EC[];
-extern const u32 gBattleAnimBackgroundTilemap_11[];
-extern const u32 gBattleAnimBackgroundTilemap_12[];
-extern const u32 gBattleAnimBackgroundTilemap_13[];
-extern const u32 gBattleAnimBackgroundTilemap_14[];
-extern const u32 gBattleAnimBackgroundTilemap_15[];
-extern const u32 gBattleAnimBackgroundTilemap_16[];
-extern const u32 gBattleAnimBackgroundTilemap_17[];
-extern const u32 gBattleAnimBackgroundTilemap_20[];
-extern const u32 gBattleAnimBackgroundTilemap_21[];
+extern const u32 gBattleAnimBgTilemap_Thunder[];
+extern const u32 gBattleAnimBgTilemap_GuillotineOpponent[];
+extern const u32 gBattleAnimBgTilemap_GuillotinePlayer[];
+extern const u32 gBattleAnimBgTilemap_GuillotineContests[];
+extern const u32 gBattleAnimBgTilemap_Ice[];
+extern const u32 gBattleAnimBgTilemap_Cosmic[];
+extern const u32 gBattleAnimBgTilemap_InAir[];
+extern const u32 gBattleAnimBgTilemap_Aurora[];
+extern const u32 gBattleAnimBgTilemap_Fissure[];
extern const u32 gMetalShineGfx[];
extern const u32 gMetalShinePalette[];
@@ -4772,16 +4772,29 @@ extern const u32 gUnknown_08C16FA8[];
extern const u32 gUnknown_08C16E90[];
extern const u32 gUnknown_08C17170[];
extern const u32 gUnknown_08C17980[];
+extern const u32 gTiles_8C19450[];
+extern const u32 gContestNextTurnGfx[];
+extern const u16 gContestPal[];
+extern const u32 gUnknown_08C19168[];
+extern const u32 gContestApplauseGfx[];
+extern const u32 gContestJudgeGfx[];
+extern const u32 gContestJudgeSymbolsGfx[];
+extern const u32 gContest3Pal[];
extern const u32 gUnknown_08D95E00[];
extern const u32 gUnknown_08D960D0[];
extern const u32 gUnknown_08D963A4[];
-extern const u32 gBattleAnimBackgroundImage_Surf[];
-extern const u32 gBattleAnimBackgroundPalette_Surf[];
+extern const u32 gBattleAnimBgImage_Surf[];
+extern const u32 gBattleAnimBgPalette_Surf[];
extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[];
extern const u32 gBattleAnimFogTilemap[];
+extern const u32 gUsePokeblockGraph_Gfx[];
+extern const u32 gUsePokeblockGraph_Tilemap[];
+extern const u16 gUsePokeblockGraph_Pal[];
+extern const u16 gUsePokeblockNatureWin_Pal[];
+
// Berry blender
extern const u32 gBerryBlenderArrowTiles[];
extern const u32 gBerryBlenderStartTiles[];
@@ -4907,4 +4920,25 @@ extern const u16 gEasyChatCursor_Pal[];
extern const u32 gEasyChatRightWindow_Gfx[];
extern const u16 gEasyChatRightWindow_Pal[];
+// Use Pokeblock
+extern const u32 gUsePokeblockCondition_Gfx[];
+
+// Union Room Chat
+extern const u16 gUnknown_08DD4BB0[];
+extern const u16 gUnknown_08DD4BD0[];
+extern const u32 gUnknown_08DD4BF0[];
+extern const u32 gUnknown_08DD4C4C[];
+extern const u32 gUnknown_08DD4CF8[];
+extern const u16 gLinkMiscMenu_Pal[];
+extern const u32 gLinkMiscMenu_Gfx[];
+extern const u32 gLinkMiscMenu_Tilemap[];
+
+// Use Pokeblock
+extern const u8 gPokenavConditionCancel_Gfx[];
+extern const u16 gPokenavConditionCancel_Pal[];
+
+// Berry Crush
+extern const u32 gUnknown_08DE34B8[];
+extern const u16 gUnknown_08DE3398[];
+
#endif //GUARD_GRAPHICS_H
diff --git a/include/gym_leader_rematch.h b/include/gym_leader_rematch.h
index ef0e5fef1..778d7a1e8 100644
--- a/include/gym_leader_rematch.h
+++ b/include/gym_leader_rematch.h
@@ -75,11 +75,17 @@ enum {
REMATCH_WINONA,
REMATCH_TATE_AND_LIZA,
REMATCH_JUAN,
+
+ // Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES.
REMATCH_SIDNEY,
REMATCH_PHOEBE,
REMATCH_GLACIA,
REMATCH_DRAKE,
- REMATCH_WALLACE
+ REMATCH_WALLACE,
+
+ // The total number of rematch entries. This must be the last element
+ // in the enum.
+ REMATCH_TABLE_ENTRIES
};
void UpdateGymLeaderRematch(void);
diff --git a/include/international_string_util.h b/include/international_string_util.h
index 2d5b1c871..911cd6935 100644
--- a/include/international_string_util.h
+++ b/include/international_string_util.h
@@ -12,7 +12,7 @@ int GetStringCenterAlignXOffsetWithLetterSpacing(int fontId, const u8 *str, int
int GetStringWidthDifference(int fontId, const u8 *str, int totalWidth, int letterSpacing);
int GetMaxWidthInMenuTable(const struct MenuAction *str, int arg1);
int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2);
-int sub_81DB41C(const struct ListMenuTemplate *listMenu);
+int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu);
void CopyMonCategoryText(int dexNum, u8 *dest);
u8 *sub_81DB494(u8 *str, int fontId, u8 *str2, int totalStringWidth);
void PadNameString(u8 *dest, u8 padChar);
diff --git a/include/item_icon.h b/include/item_icon.h
index b702b2045..af03473fb 100644
--- a/include/item_icon.h
+++ b/include/item_icon.h
@@ -10,7 +10,7 @@ bool8 AllocItemIconTemporaryBuffers(void);
void FreeItemIconTemporaryBuffers(void);
void CopyItemIconPicTo4x4Buffer(const void *src, void *dest);
u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId);
-u8 AddCustomItemIconSprite(struct SpriteTemplate *customSpriteTemplate, u16 tilesTag, u16 paletteTag, u16 itemId);
+u8 AddCustomItemIconSprite(const struct SpriteTemplate *customSpriteTemplate, u16 tilesTag, u16 paletteTag, u16 itemId);
const void *GetItemIconPicOrPalette(u16 itemId, u8 which);
#endif //GUARD_ITEM_ICON_H
diff --git a/include/learn_move.h b/include/learn_move.h
deleted file mode 100644
index 542ae6a5a..000000000
--- a/include/learn_move.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef GUARD_LEARN_MOVE_H
-#define GUARD_LEARN_MOVE_H
-
-void TeachMoveTutorMove(void);
-void ShowHideHearts(s32);
-
-#endif //GUARD_LEARN_MOVE_H
diff --git a/include/link.h b/include/link.h
index 24a834c68..62ae7761c 100644
--- a/include/link.h
+++ b/include/link.h
@@ -200,8 +200,6 @@ extern bool8 gLinkVSyncDisabled;
extern u32 gLinkStatus;
-void c2_mystery_gift(void);
-void sub_801867C(void);
bool8 IsWirelessAdapterConnected(void);
void Task_DestroySelf(u8 taskId);
void OpenLink(void);
@@ -230,14 +228,12 @@ bool8 IsLinkMaster(void);
void CB2_LinkError(void);
u8 GetSioMultiSI(void);
bool8 IsLinkConnectionEstablished(void);
-void SetSuppressLinkErrorMessage(bool8);
bool8 HasLinkErrorOccurred(void);
void ResetSerial(void);
u32 LinkMain1(u8 *shouldAdvanceLinkState, u16 *sendCmd, u16 (*recvCmds)[CMD_LENGTH]);
void LinkVSync(void);
void Timer3Intr(void);
void SerialCB(void);
-u8 GetLinkPlayerCount(void);
bool32 InUnionRoom(void);
void sub_800E0E8(void);
bool8 IsLinkTaskFinished(void);
@@ -307,7 +303,6 @@ void sub_8009FAC(void);
bool8 sub_800A4D8(u8 a0);
u8 sub_800A9D8(void);
u8 sub_800A0C8(s32, s32);
-u16 *GetSaveBlock1Field3564(void);
u8 sub_800A9A8(void);
void sub_800AD10(void);
void sub_800AB18(void);
diff --git a/include/link_rfu.h b/include/link_rfu.h
index 5b8ccd9fb..edfd0ed20 100644
--- a/include/link_rfu.h
+++ b/include/link_rfu.h
@@ -260,7 +260,7 @@ u32 sub_8010714(u16 a0, const u8 *a1);
void sub_8011DC0(const u8 *a0, u16 a1);
bool8 sub_800EF1C(void);
bool32 sub_800EF58(bool32 a0);
-void sub_800E084(void);
+void DestroyWirelessStatusIndicatorSprite(void);
void sub_801103C(void);
void sub_8011C5C(void);
void sub_80106D4(void);
@@ -281,8 +281,13 @@ void sub_8011DE0(u32 arg0);
u8 sub_801100C(int a0);
void sub_800EF7C(void);
bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx);
+bool8 sub_800DF34(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx);
s32 sub_800E87C(u8 idx);
void sub_8011BA4(void);
-void sub_8010198(void);
+void LinkRfu_FatalError(void);
+bool32 sub_8011A9C(void);
+void sub_80104B0(void);
+void sub_8011A50(void);
+void sub_80110B8(u32 a0);
#endif //GUARD_LINK_RFU_H
diff --git a/include/list_menu.h b/include/list_menu.h
index ef23688d8..0a54a069a 100644
--- a/include/list_menu.h
+++ b/include/list_menu.h
@@ -4,7 +4,7 @@
#include "window.h"
#define LIST_NOTHING_CHOSEN -1
-#define LIST_B_PRESSED -2
+#define LIST_CANCEL -2
#define LIST_HEADER -3
#define LIST_NO_MULTIPLE_SCROLL 0
@@ -98,7 +98,7 @@ struct CursorStruct
extern struct ScrollArrowsTemplate gTempScrollArrowTemplate;
extern struct ListMenuTemplate gMultiuseListMenuTemplate;
-s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum);
+s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum);
u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow);
u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *arg1, u16 scrollOffset, u16 selectedRow);
s32 ListMenu_ProcessInput(u8 listTaskId);
diff --git a/include/main.h b/include/main.h
index 4f9a9e61a..16ac31df2 100644
--- a/include/main.h
+++ b/include/main.h
@@ -42,6 +42,8 @@ struct Main
extern const u8 gGameVersion;
extern const u8 gGameLanguage;
+extern const u8 RomHeaderGameCode[4];
+extern const u8 RomHeaderSoftwareVersion;
extern u16 gKeyRepeatStartDelay;
extern bool8 gLinkTransferringData;
@@ -69,6 +71,6 @@ void RestoreSerialTimer3IntrHandlers(void);
void StartTimer1(void);
void SeedRngAndSetTrainerId(void);
u16 GetGeneratedTrainerIdLower(void);
-
+void sub_819789C(void);
#endif // GUARD_MAIN_H
diff --git a/include/menu.h b/include/menu.h
index 7cd6de04b..08cad40bd 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -31,11 +31,11 @@ u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed
void PrintPlayerNameOnWindow(u8, const u8*, u16, u16);
void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback);
void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram);
-void SetStandardWindowBorderStyle(u8 a0, u8 a1);
+void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram);
void DisplayYesNoMenuDefaultYes(void);
u32 GetPlayerTextSpeed(void);
u8 GetPlayerTextSpeedDelay(void);
-void sub_81978B0(u16 arg0);
+void Menu_LoadStdPalAt(u16 arg0);
void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextPrinterTemplate *, u16));
void sub_8199DF0(u32 bg, u8 a1, int a2, int a3);
void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str);
@@ -69,7 +69,7 @@ u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16
void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress);
void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8);
void sub_8198DBC(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u8 itemCount2, const struct MenuAction *strs, const u8 *a8);
-u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount, u8 initialCursorPos);
+u8 sub_8199944(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos);
u8 sub_8199134(s8, s8);
u8 GetStartMenuWindowId(void);
void sub_819A2BC(u8, u8);
@@ -91,7 +91,7 @@ void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP);
void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram);
void sub_8197AE8(bool8 copyToVram);
-void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs);
+void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const struct MenuAction *strs);
s8 Menu_ProcessInputGridLayout(void);
u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted);
s8 Menu_ProcessInputNoWrapAround_other(void);
@@ -100,5 +100,8 @@ u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile);
void sub_8198314(void);
void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram);
void ResetBgPositions(void);
+void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed);
+void sub_8198C78(void);
+void PrintTextArray(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *strs);
#endif // GUARD_MENU_H
diff --git a/include/menu_helpers.h b/include/menu_helpers.h
index 63af4c731..3b6c13172 100644
--- a/include/menu_helpers.h
+++ b/include/menu_helpers.h
@@ -30,7 +30,7 @@ bool8 itemid_80BF6D8_mail_related(u16 itemId);
bool8 sub_81221AC(void);
bool8 sub_81221EC(void);
void sub_812220C(struct ItemSlot *slots, u8 count, u8 *arg2, u8 *usedSlotsCount, u8 maxUsedSlotsCount);
-void sub_812225C(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3);
+void sub_812225C(u16 *scrollOffset, u16 *cursorPos, u8 maxShownItems, u8 numItems);
void sub_8122298(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3, u8 arg4);
void LoadListMenuArrowsGfx(void);
void sub_8122344(u8 *spriteIds, u8 count);
diff --git a/include/menu_specialized.h b/include/menu_specialized.h
new file mode 100644
index 000000000..014ee2585
--- /dev/null
+++ b/include/menu_specialized.h
@@ -0,0 +1,67 @@
+#ifndef GUARD_MENU_SPECIALIZED_H
+#define GUARD_MENU_SPECIALIZED_H
+
+#include "sprite.h"
+#include "player_pc.h"
+#include "list_menu.h"
+#include "pokemon.h"
+
+struct UnknownSubStruct_81D1ED4
+{
+ u16 unk0;
+ u16 unk2;
+};
+
+struct UnknownStruct_81D1ED4
+{
+ /*0x000*/ u8 unk0[4][5];
+ /*0x014*/ struct UnknownSubStruct_81D1ED4 unk14[4][5];
+ /*0x064*/ struct UnknownSubStruct_81D1ED4 unk64[10][5];
+ /*0x12C*/ struct UnknownSubStruct_81D1ED4 unk12C[5];
+ /*0x140*/ u16 unk140[66][2];
+ /*0x248*/ u16 unk248[66][2];
+ /*0x350*/ u16 unk350;
+ /*0x352*/ u16 unk352;
+ /*0x354*/ u8 unk354;
+ /*0x355*/ u8 unk355;
+};
+
+bool8 sub_81D1C44(u8 count);
+u8 sub_81D1C84(u8 a0);
+u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page);
+void sub_81D1E90(struct PlayerPCItemPageStruct *page);
+void sub_81D1EC0(void);
+void sub_81D1D04(u8 a0);
+void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0);
+void sub_81D2108(struct UnknownStruct_81D1ED4 *arg0);
+void sub_81D20AC(struct UnknownStruct_81D1ED4 *arg0);
+void sub_81D2230(struct UnknownStruct_81D1ED4 *arg0);
+bool8 sub_81D20BC(struct UnknownStruct_81D1ED4 *arg0);
+bool32 sub_81D2074(struct UnknownStruct_81D1ED4 *a0);
+void sub_81D2754(u8 *arg0, struct UnknownSubStruct_81D1ED4 *arg1);
+void sub_81D1F84(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 *arg1, struct UnknownSubStruct_81D1ED4 *arg2);
+void MoveRelearnerPrintText(u8 *str);
+bool16 MoveRelearnerRunTextPrinters(void);
+void MoveRelearnerCreateYesNoMenu(void);
+u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices);
+void InitMoveRelearnerWindows(bool8 useContextWindow);
+s32 GetBoxOrPartyMonData(u16 boxId, u16 monId, s32 request, u8 *dst);
+void sub_81D2ED4(u8 *dst, u8 *nameDst, u16 boxId, u16 monId, u16 arg5, u16 arg6, bool8 arg7);
+void sub_81D2F78(struct UnknownStruct_81D1ED4 *arg0, u8 *sheen, u16 boxId, u16 monId, u16 arg5, u16 id, u16 arg7, bool8 arg8);
+void sub_81D3094(void *tilesDst, void *palDst, u16 boxId, u16 monId, u16 arg5, u16 arg6, bool8 arg7);
+bool8 sub_81D312C(s16 *var);
+bool8 sub_81D3150(s16 *var);
+bool8 sub_81D3178(struct UnknownStruct_81D1ED4 *arg0, s16 *arg1);
+bool8 sub_81D31A4(struct UnknownStruct_81D1ED4 *arg0, s16 *arg1);
+void sub_81D31D0(struct SpriteSheet *sheet, struct SpriteTemplate *template, struct SpritePalette *pal);
+void sub_81D321C(struct SpriteSheet *sheets, struct SpriteTemplate * template, struct SpritePalette *pals);
+void sub_81D32B0(struct SpriteSheet *sheet, struct SpritePalette *pal);
+void sub_81D3464(struct Sprite **sprites);
+void sub_81D3480(struct Sprite **sprites, u8 arg1, u8 arg2);
+void sub_81D3520(struct Sprite **sprites);
+void sub_81D354C(struct Sprite **sprites);
+void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr);
+void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 shadowClr);
+void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *currStats);
+
+#endif // GUARD_MENU_SPECIALIZED_H
diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h
index e18639faf..7fd1d1301 100644
--- a/include/metatile_behavior.h
+++ b/include/metatile_behavior.h
@@ -59,8 +59,8 @@ bool8 MetatileBehavior_IsSecretBasePoster(u8);
bool8 MetatileBehavior_IsNormal(u8);
bool8 MetatileBehavior_IsSecretBaseNorthWall(u8);
bool8 MetatileBehavior_IsMB_B2_Duplicate(u8);
-bool8 MetatileBehavior_IsSecretBaseLargeMatEdge(u8);
-bool8 MetatileBehavior_IsLargeMatCenter(u8);
+bool8 MetatileBehavior_HoldsSmallDecoration(u8);
+bool8 MetatileBehavior_HoldsLargeDecoration(u8);
bool8 MetatileBehavior_IsSecretBaseHole(u8);
bool8 MetatileBehavior_IsSecretBaseBalloon(u8);
bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8);
diff --git a/include/mevent.h b/include/mevent.h
new file mode 100755
index 000000000..a34ca355c
--- /dev/null
+++ b/include/mevent.h
@@ -0,0 +1,63 @@
+#ifndef GUARD_MEVENT_H
+#define GUARD_MEVENT_H
+
+struct MEvent_Str_1
+{
+ u16 unk_000;
+ size_t unk_004;
+ const void * unk_008;
+};
+
+struct MEvent_Str_2
+{
+ u8 fill_00[0x40];
+};
+
+struct MEventStruct_Unk1442CC
+{
+ u32 unk_00;
+ u16 unk_04;
+ u32 unk_08;
+ u16 unk_0C;
+ u32 unk_10;
+ u16 unk_14;
+ u16 unk_16[4];
+ struct MEventBuffer_3430_Sub unk_20;
+ u8 unk_44;
+ u8 unk_45[7];
+ u8 unk_4C[4];
+ u16 unk_50[6];
+ u8 unk_5C[4];
+ u8 unk_60;
+};
+
+void sub_801AFD8(void);
+struct WonderNews *GetSavedWonderNews(void);
+struct WonderCard *GetSavedWonderCard(void);
+struct MEventBuffer_3430_Sub *sav1_get_mevent_buffer_2(void);
+struct MysteryEventStruct *sub_801B044(void);
+u16 *sub_801B058(void);
+void DestroyWonderNews(void);
+bool32 sub_801B078(const struct WonderNews *src);
+bool32 ValidateReceivedWonderNews(void);
+bool32 WonderNews_Test_Unk_02(void);
+bool32 sub_801B1A4(const u8 *src);
+void DestroyWonderCard(void);
+bool32 sub_801B21C(const struct WonderCard *data);
+bool32 ValidateReceivedWonderCard(void);
+bool32 WonderCard_Test_Unk_08_6(void);
+u16 GetWonderCardFlagID(void);
+void WonderCard_ResetInternalReceivedFlag(struct WonderCard *buffer);
+bool32 CheckReceivedGiftFromWonderCard(void);
+bool32 sub_801B508(const u16 *data);
+void sub_801B580(struct MEventStruct_Unk1442CC *data, bool32 a1);
+bool32 sub_801B6A0(const struct MEventStruct_Unk1442CC *data, bool32 a1);
+u32 sub_801B6EC(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const void *unused);
+u32 sub_801B708(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const void *unused);
+bool32 MEventStruct_Unk1442CC_CompareField_unk_16(const struct MEventStruct_Unk1442CC *a0, const u16 *a1);
+u16 MEventStruct_Unk1442CC_GetValueNFrom_unk_20(const struct MEventStruct_Unk1442CC *a0, u32 command);
+u16 mevent_081445C0(u32 command);
+void sub_801B940(void);
+bool32 sub_801B94C(u16 a0);
+
+#endif //GUARD_MEVENT_H
diff --git a/include/mevent2.h b/include/mevent2.h
new file mode 100644
index 000000000..80b1fd51b
--- /dev/null
+++ b/include/mevent2.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_MEVENT2_H
+#define GUARD_MEVENT2_H
+
+void sub_801B990(u32, u32);
+
+#endif //GUARD_MEVENT2_H
diff --git a/include/mevent_801BAAC.h b/include/mevent_801BAAC.h
new file mode 100644
index 000000000..d76bc92c2
--- /dev/null
+++ b/include/mevent_801BAAC.h
@@ -0,0 +1,16 @@
+#ifndef GUARD_MEVENT_801BAAC_H
+#define GUARD_MEVENT_801BAAC_H
+
+bool32 InitWonderCardResources(struct WonderCard * r5, struct MEventBuffer_3430_Sub * r6);
+bool32 InitWonderNewsResources(const struct WonderNews * a0);
+s32 FadeToWonderCardMenu(void);
+s32 FadeToWonderNewsMenu(void);
+s32 FadeOutFromWonderCard(bool32 flag);
+void DestroyWonderCardResources(void);
+s32 FadeOutFromWonderNews(bool32 flag);
+void DestroyWonderNewsResources(void);
+u32 MENews_GetInput(u16 input);
+void MENews_AddScrollIndicatorArrowPair(void);
+void MENews_RemoveScrollIndicatorArrowPair(void);
+
+#endif //GUARD_MEVENT_801BAAC_H
diff --git a/include/mevent_client.h b/include/mevent_client.h
new file mode 100644
index 000000000..c32d14d7a
--- /dev/null
+++ b/include/mevent_client.h
@@ -0,0 +1,33 @@
+#ifndef GUARD_MEVENT_CLIENT_H
+#define GUARD_MEVENT_CLIENT_H
+
+#include "mevent_server_helpers.h"
+
+struct mevent_client_cmd
+{
+ u32 instr;
+ u32 parameter;
+};
+
+struct mevent_client
+{
+ u32 unk_00;
+ u32 param;
+ u32 mainseqno;
+ u32 flag;
+ u32 cmdidx;
+ void * sendBuffer;
+ void * recvBuffer;
+ struct mevent_client_cmd * cmdBuffer;
+ void * buffer;
+ struct mevent_srv_sub manager;
+ u32 unk_4C;
+};
+
+void mevent_client_do_init(u32 arg);
+u32 mevent_client_do_exec(u16 * a0);
+void mevent_client_inc_flag(void);
+void * mevent_client_get_buffer(void);
+void mevent_client_set_param(u32 a0);
+
+#endif //GUARD_MEVENT_CLIENT_H
diff --git a/include/mevent_news.h b/include/mevent_news.h
new file mode 100755
index 000000000..5fa009499
--- /dev/null
+++ b/include/mevent_news.h
@@ -0,0 +1,7 @@
+#ifndef GUARD_MEVENT_NEWS_H
+#define GUARD_MEVENT_NEWS_H
+
+void sub_801DBC0(void);
+void GenerateRandomNews(u32 a0);
+
+#endif //GUARD_MEVENT_NEWS_H
diff --git a/include/mevent_server.h b/include/mevent_server.h
new file mode 100644
index 000000000..e74337cf6
--- /dev/null
+++ b/include/mevent_server.h
@@ -0,0 +1,36 @@
+#ifndef GUARD_MEVENT_SERVER_H
+#define GUARD_MEVENT_SERVER_H
+
+#include "mevent_server_helpers.h"
+
+struct mevent_cmd
+{
+ u32 instr;
+ bool32 flag;
+ const void * parameter;
+};
+
+struct mevent_srv_common
+{
+ u32 unk_00;
+ u32 param;
+ u32 mainseqno;
+ u32 cmdidx;
+ const struct mevent_cmd * cmdBuffer;
+ void * recvBuffer;
+ struct WonderCard * wonder_card;
+ struct WonderNews * wonder_news;
+ struct MEventStruct_Unk1442CC * mevent_unk1442cc;
+ const void * sendBuffer1;
+ u32 sendBuffer1Size;
+ const void * sendBuffer2;
+ u32 sendBuffer2Size;
+ u32 sendWord;
+ struct mevent_srv_sub manager;
+};
+
+void mevent_srv_new_wcard();
+void mevent_srv_init_wnews();
+u32 mevent_srv_common_do_exec(u16 * a0);
+
+#endif //GUARD_MEVENT_SERVER_H
diff --git a/include/mevent_server_helpers.h b/include/mevent_server_helpers.h
new file mode 100644
index 000000000..e4e409862
--- /dev/null
+++ b/include/mevent_server_helpers.h
@@ -0,0 +1,38 @@
+#ifndef GUARD_MEVENT_SERVER_HELPERS_H
+#define GUARD_MEVENT_SERVER_HELPERS_H
+
+#define ME_SEND_BUF_SIZE 0x400
+
+struct mevent_srv_sub
+{
+ s32 seqno;
+ u8 sendPlayerNo;
+ u8 recvPlayerNo;
+ u16 recvIdent;
+ u16 recvCounter;
+ u16 recvCRC;
+ u16 recvSize;
+ u16 sendIdent;
+ u16 sendCounter;
+ u16 sendCRC;
+ u16 sendSize;
+ void * recvBfr;
+ const void * sendBfr;
+ u32 (*recvFunc)(struct mevent_srv_sub *);
+ u32 (*sendFunc)(struct mevent_srv_sub *);
+};
+
+struct send_recv_header
+{
+ u16 ident;
+ u16 crc;
+ u16 size;
+};
+
+void mevent_srv_sub_init(struct mevent_srv_sub *, u32, u32);
+void mevent_srv_sub_init_send(struct mevent_srv_sub * manager, u32 ident, const void * src, u32 size);
+bool32 mevent_srv_sub_recv(struct mevent_srv_sub * manager);
+bool32 mevent_srv_sub_send(struct mevent_srv_sub * manager);
+void mevent_srv_sub_init_recv(struct mevent_srv_sub *, u32, void *);
+
+#endif //GUARD_MEVENT_SERVER_HELPERS_H
diff --git a/include/move_relearner.h b/include/move_relearner.h
new file mode 100644
index 000000000..51b476d25
--- /dev/null
+++ b/include/move_relearner.h
@@ -0,0 +1,7 @@
+#ifndef GUARD_MOVE_RELEARNER_H
+#define GUARD_MOVE_RELEARNER_H
+
+void TeachMoveRelearnerMove(void);
+void MoveRelearnerShowHideHearts(s32);
+
+#endif //GUARD_MOVE_RELEARNER_H
diff --git a/include/mystery_gift.h b/include/mystery_gift.h
new file mode 100644
index 000000000..243895a67
--- /dev/null
+++ b/include/mystery_gift.h
@@ -0,0 +1,16 @@
+#ifndef GUARD_MYSTERY_GIFT_H
+#define GUARD_MYSTERY_GIFT_H
+
+extern bool8 gGiftIsFromEReader;
+
+u16 GetMysteryGiftBaseBlock(void);
+void c2_mystery_gift_e_reader_run(void);
+void PrintMysteryGiftOrEReaderTopMenu(bool8 isJapanese, bool32 usePickOkCancel);
+void MG_DrawCheckerboardPattern(u32 bg);
+void MainCB_FreeAllBuffersAndReturnToInitTitleScreen(void);
+bool32 MG_PrintTextOnWindow1AndWaitButton(u8 *textState, const u8 *str);
+void AddTextPrinterToWindow1(const u8 *src);
+void c2_ereader(void);
+void c2_mystery_gift(void);
+
+#endif //GUARD_MYSTERY_GIFT_H
diff --git a/include/naming_screen.h b/include/naming_screen.h
index b04cb19b6..611f53ef2 100644
--- a/include/naming_screen.h
+++ b/include/naming_screen.h
@@ -59,9 +59,9 @@ struct NamingScreenData {
enum
{
+ PAGE_OTHERS,
PAGE_UPPER,
PAGE_LOWER,
- PAGE_OTHERS,
};
enum
diff --git a/include/pokemon.h b/include/pokemon.h
index 60ccb27f4..26d715d89 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -487,7 +487,7 @@ u8 GetDefaultMoveTarget(u8 battlerId);
u8 GetMonGender(struct Pokemon *mon);
u8 GetBoxMonGender(struct BoxPokemon *boxMon);
u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality);
-void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition);
+void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition);
void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition);
void SetMultiuseSpriteTemplateToTrainerFront(u16 arg0, u8 battlerPosition);
@@ -509,7 +509,7 @@ u8 GetMonsStateToDoubles(void);
u8 GetMonsStateToDoubles_2(void);
u8 GetAbilityBySpecies(u16 species, bool8 altAbility);
u8 GetMonAbility(struct Pokemon *mon);
-void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord);
+void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord);
u8 GetSecretBaseTrainerPicIndex(void);
u8 GetSecretBaseTrainerClass(void);
bool8 IsPlayerPartyAndPokemonStorageFull(void);
diff --git a/include/pokemon_3.h b/include/pokemon_3.h
deleted file mode 100644
index 263839b19..000000000
--- a/include/pokemon_3.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef GUARD_POKEMON_3_H
-#define GUARD_POKEMON_3_H
-
-u16 sub_806EFF0(u16);
-const u8* GetTrainerClassNameFromId(u16 trainerId);
-const u8* GetTrainerNameFromId(u16 trainerId);
-void PlayMapChosenOrBattleBGM(u16 song);
-u8 GetTrainerEncounterMusicId(u16 trainerOpponentId);
-
-#endif // GUARD_POKEMON_3_H
diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h
index bd99fed0e..20d881702 100755
--- a/include/pokemon_summary_screen.h
+++ b/include/pokemon_summary_screen.h
@@ -1,8 +1,13 @@
#ifndef GUARD_POKEMON_SUMMARY_SCREEN_H
#define GUARD_POKEMON_SUMMARY_SCREEN_H
+#include "main.h"
+
extern u8 gLastViewedMonIndex;
+extern const u8 *const gMoveDescriptionPointers[];
+extern const u8 *const gNatureNamePointers[];
+
void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
void sub_81C4F98(u8, void(*)(void));
void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16);
diff --git a/include/pokenav.h b/include/pokenav.h
index 29ccaec3e..4e1648c93 100644
--- a/include/pokenav.h
+++ b/include/pokenav.h
@@ -1,35 +1,6 @@
#ifndef GUARD_POKENAV_H
#define GUARD_POKENAV_H
-#include "player_pc.h"
-#include "list_menu.h"
-bool8 sub_81D20BC(void *arg0);
-bool8 sub_81D312C(void *arg0);
-void sub_81D1ED4(void *arg0);
-void sub_81D2108(void *arg0);
-void sub_81D20AC(void *arg0);
-void sub_81D2230(void *arg0);
-void sub_81D3464(void *arg0);
-void sub_81D3480(void *arg0, u8 arg1);
-void sub_81D2754(void *arg0, void *arg1);
-void sub_81D1F84(void *arg0, void *arg1, void *arg2);
-u8 sub_81D1C84(u8);
-u8 sub_81D1DC0(struct PlayerPCItemPageStruct *);
-void sub_81D1E90(struct PlayerPCItemPageStruct *);
-void sub_81D1EC0(void);
-void sub_81D1D04(u8);
-bool8 sub_81D1C44(u8);
-bool8 sub_81D4A58(struct EventObject*);
-void sub_81D2BF4(u8 *);
-u16 sub_81D2C3C(void);
-void sub_81D2C50(void);
-u8 sub_81D28C8(const struct ListMenuItem *items, u16 numChoices);
-void sub_81D2824(u16);
-bool8 EventObjectIsFarawayIslandMew(struct EventObject *);
-u32 sub_81D427C(void);
-void sub_81D4998(void);
-void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5);
-void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4);
void CB2_InitPokeNav(void);
#endif //GUARD_POKENAV_H
diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h
index ac9bbb5c3..ee7397320 100644
--- a/include/rom_8011DC0.h
+++ b/include/rom_8011DC0.h
@@ -1,23 +1,4 @@
#ifndef GUARD_rom_8011DC0_H
#define GUARD_rom_8011DC0_H
-// Exported type declarations
-
-// Exported RAM declarations
-
-extern u8 gUnknown_02022C2C;
-extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38;
-extern u16 gUnknown_02022C3C;
-extern u8 gUnknown_02022C3E;
-
-// Exported ROM declarations
-
-void sub_8018438(void);
-u16 mevent_081445C0(u8);
-void sub_801B990(u32, u32);
-u8 sub_8013F78(void);
-bool32 sub_802C908(u16);
-void nullsub_89(u8 taskId);
-void var_800D_set_xB(void);
-
#endif //GUARD_rom_8011DC0_H
diff --git a/include/save.h b/include/save.h
index 88e5f2280..5e2cf7267 100644
--- a/include/save.h
+++ b/include/save.h
@@ -33,6 +33,7 @@ struct SaveSectionOffsets
#define NUM_SECTORS_PER_SLOT 16
#define UNKNOWN_CHECK_VALUE 0x8012025
+#define SPECIAL_SECTION_SENTINEL 0xB39D
// SetDamagedSectorBits states
enum
@@ -88,8 +89,8 @@ bool8 CheckSaveFile(void);
u8 Save_LoadGameData(u8 a1);
u16 sub_815355C(void);
u8 sub_81534D0(u8);
-u32 TryCopySpecialSaveSection(u8 sector, u8* dst);
-u32 sub_8153634(u8 sector, u8* src);
+u32 TryReadSpecialSaveSection(u8 sector, u8* dst);
+u32 TryWriteSpecialSaveSection(u8 sector, u8* src);
void sub_8153688(u8 taskId);
// save_failed_screen.c
diff --git a/include/script.h b/include/script.h
index 34f4635bb..cfe493479 100644
--- a/include/script.h
+++ b/include/script.h
@@ -57,9 +57,9 @@ u32 CalculateRamScriptChecksum(void);
void ClearRamScript(void);
bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId);
const u8 *GetRamScript(u8 objectId, const u8 *script);
-bool32 sub_80991F8(void);
-u8 *sub_8099244(void);
-void sub_80992A0(u8 *script, u16 scriptSize);
+bool32 ValidateSavedRamScript(void);
+u8 *GetSavedRamScriptIfValid(void);
+void InitRamScript_NoEventObject(u8 *script, u16 scriptSize);
// srccmd.h
void sub_809BE48(u16 npcId);
diff --git a/include/script_menu.h b/include/script_menu.h
index 1f4e549fe..efb51870b 100644
--- a/include/script_menu.h
+++ b/include/script_menu.h
@@ -11,7 +11,7 @@ bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
int convert_pixel_width_to_tile_width(int);
u8 CreateWindowFromRect(u8, u8, u8, u8);
-void sub_80E2A78(u8);
+void ClearToTransparentAndRemoveWindow(u8);
int display_text_and_get_width(const u8*, int);
int sub_80E2D5C(int arg0, int tileWidth);
bool16 ScrSpecial_CreatePCMenu(void);
diff --git a/include/secret_base.h b/include/secret_base.h
index 17efc314d..4e323b0c6 100644
--- a/include/secret_base.h
+++ b/include/secret_base.h
@@ -1,40 +1,30 @@
#ifndef GUARD_SECRET_BASE_H
#define GUARD_SECRET_BASE_H
-// Exported type declarations
-
-// Exported RAM declarations
-
-// Exported ROM declarations
-void sub_80E9578(void);
-void sub_80E980C(void);
-void sub_80EB18C(struct SecretBaseRecord *dest);
-void sub_80E9914(void);
+void HideSecretBaseDecorationSprites(void);
+void CopyCurSecretBaseOwnerName_StrVar1(void);
+void ClearJapaneseSecretBases(struct SecretBase *dest);
+void SetPlayerSecretBaseParty(void);
u8 *GetSecretBaseMapName(u8 *dest);
const u8 *GetSecretBaseTrainerLoseText(void);
-void sub_80E8EE0(struct MapEvents const *events);
-void sub_80E9238(u8 flagIn);
-bool8 CurrentMapIsSecretBase(void);
+void SetOccupiedSecretBaseEntranceMetatiles(struct MapEvents const *events);
+void InitSecretBaseAppearance(bool8 hidePC);
+bool8 CurMapIsSecretBase(void);
void SecretBasePerStepCallback(u8 taskId);
-bool8 sub_80E9680(void);
-void sub_80EB498(void);
-void sub_80EB56C(void);
-void sub_80EB9E0(void);
-void sub_80EBB28(void);
+bool8 TrySetCurSecretBase(void);
+void SetSecretBaseSecretsTvFlags_Poster(void);
+void SetSecretBaseSecretsTvFlags_MiscFurnature(void);
+void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void);
+void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void);
void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events);
-bool8 sub_80E909C(void);
+bool8 SecretBaseMapPopupEnabled(void);
void sub_80EB218(void);
-void ResetSecretBases(void);
-
-// SetCurrentSecretBaseFromPosition
-void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events);
-// SetCurrentSecretBaseVar
-void sub_80E8B6C(void);
-void sub_80E8BC8(void);
-void sub_80E8D4C(void);
+void ClearSecretBases(void);
+void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const struct MapEvents *events);
+void TrySetCurSecretBaseIndex(void);
+void CheckPlayerHasSecretBase(void);
+void ToggleSecretBaseEntranceMetatile(void);
void EnableBothScriptContexts(void);
void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx);
-
-
#endif //GUARD_SECRET_BASE_H
diff --git a/include/strings.h b/include/strings.h
index d0c339d4a..c62835ca1 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -9,6 +9,12 @@ extern const u8 gText_OpenLevel[];
extern const u8 gText_Mom[];
extern const u8 gText_Dad[];
+extern const u8 gText_GetsAPokeBlockQuestion[];
+extern const u8 gText_WontEatAnymore[];
+extern const u8 gText_WasEnhanced[];
+extern const u8 gText_NothingChanged[];
+extern const u8 gText_NatureSlash[];
+
extern const u8 gText_Cool[];
extern const u8 gText_Beauty[];
extern const u8 gText_Cute[];
@@ -126,7 +132,7 @@ extern const u8 gText_ApostropheSBase[];
extern const u8 gText_NoRegistry[];
extern const u8 gText_OkayToDeleteFromRegistry[];
extern const u8 gText_RegisteredDataDeleted[];
-extern const u8 gUnknown_085EA79D[];
+extern const u8 gText_DelRegist[];
extern const u8 gText_CommErrorEllipsis[];
extern const u8 gText_MoveCloserToLinkPartner[];
extern const u8 gText_CommErrorCheckConnections[];
@@ -188,6 +194,7 @@ extern const u8 gText_SeeYaDescription[];
extern const u8 gText_EggNickname[];
extern const u8 gText_Pokemon[];
+extern const u8 gText_InParty[];
extern const u8 gText_InGameClockUsable[];
// reset rtc screen texts
@@ -464,6 +471,14 @@ extern const u8 gText_EggCantBattle[];
extern const u8 gText_PkmnAlreadySelected[];
extern const u8 gText_PkmnAlreadyInBattle[];
extern const u8 gText_PkmnCantSwitchOut[];
+extern const u8 gUnknown_085EEA46[];
+extern const u8 gUnknown_085EEA4E[];
+extern const u8 gUnknown_085EEA55[];
+extern const u8 gUnknown_085EEA63[];
+extern const u8 gUnknown_085EEA6B[];
+extern const u8 gUnknown_085EEA5D[];
+extern const u8 gText_Dash[];
+extern const u8 gText_UnkCtrlF904[];
//pokedex text
extern const u8 gText_CryOf[];
@@ -859,15 +874,22 @@ extern const u8 gText_Winona[];
extern const u8 gText_Phoebe[];
extern const u8 gText_Glacia[];
-extern const u8 gText_PkmnLearnedMove4[];
-extern const u8 gText_PkmnTryingToLearnMove[];
-extern const u8 gText_WhichMoveToForget2[];
-extern const u8 gText_StopTryingToTeachMove[];
-extern const u8 gText_12AndPoof[];
-extern const u8 gText_PkmnForgotMoveAndLearnedNew[];
+extern const u8 gText_MoveRelearnerPkmnLearnedMove[];
+extern const u8 gText_MoveRelearnerPkmnTryingToLearnMove[];
+extern const u8 gText_MoveRelearnerWhichMoveToForget[];
+extern const u8 gText_MoveRelearnerStopTryingToTeachMove[];
+extern const u8 gText_MoveRelearnerAndPoof[];
+extern const u8 gText_MoveRelearnerPkmnForgotMoveAndLearnedNew[];
extern const u8 gText_TeachWhichMoveToPkmn[];
-extern const u8 gText_GiveUpTeachingNewMove[];
-extern const u8 gText_TeachX[];
+extern const u8 gText_MoveRelearnerGiveUp[];
+extern const u8 gText_MoveRelearnerTeachMoveConfirm[];
+extern const u8 gText_MoveRelearnerBattleMoves[];
+extern const u8 gText_MoveRelearnerPP[];
+extern const u8 gText_MoveRelearnerPower[];
+extern const u8 gText_MoveRelearnerAccuracy[];
+extern const u8 gText_MoveRelearnerContestMovesTitle[];
+extern const u8 gText_MoveRelearnerAppeal[];
+extern const u8 gText_MoveRelearnerJam[];
extern const u8 gText_Kira[];
extern const u8 gText_Amy[];
@@ -2559,4 +2581,131 @@ extern const u8 gUnknown_0862BAC4[];
extern const u8 gUnknown_0862BACF[];
extern const u8 gUnknown_0862BADA[];
+// E-Reader
+extern const u8 gUnknown_085EDFD6[];
+extern const u8 gUnknown_085EDFF5[];
+extern const u8 gUnknown_085EE014[];
+extern const u8 gUnknown_085EE035[];
+extern const u8 gUnknown_085EE05C[];
+extern const u8 gUnknown_085EE06B[];
+extern const u8 gUnknown_085EE080[];
+extern const u8 gUnknown_085EE097[];
+extern const u8 gUnknown_085EE0A3[];
+extern const u8 gUnknown_085EE0BF[];
+extern const u8 gUnknown_085EE0DC[];
+extern const u8 gUnknown_085EE0FA[];
+extern const u8 gUnknown_085EE107[];
+extern const u8 gUnknown_085EE120[];
+extern const u8 gUnknown_085EE12D[];
+extern const u8 gUnknown_085EE14B[];
+extern const u8 gUnknown_085EE14F[];
+extern const u8 gUnknown_085EE154[];
+
+// Berry Powder Menu
+extern const u8 gText_Powder[];
+
+// Union Room Chat
+extern const u8 gText_F700JoinedChat[];
+extern const u8 gText_F700LeftChat[];
+extern const u8 gText_Hello[];
+extern const u8 gText_Pokemon2[];
+extern const u8 gText_Trade[];
+extern const u8 gText_Battle[];
+extern const u8 gText_Lets[];
+extern const u8 gText_Ok[];
+extern const u8 gText_Sorry[];
+extern const u8 gText_YayUnkF9F9[];
+extern const u8 gText_ThankYou[];
+extern const u8 gText_ByeBye[];
+
+// Mystery Gift
+extern const u8 gText_MysteryGift[];
+extern const u8 gText_PickOKCancel[];
+extern const u8 gText_PickOKExit[];
+extern const u8 gJPText_MysteryGift[];
+extern const u8 gJPText_DecideStop[];
+extern const u8 gText_WonderCards[];
+extern const u8 gText_WonderNews[];
+extern const u8 gText_Exit3[];
+extern const u8 gText_WirelessCommunication[];
+extern const u8 gText_Friend2[];
+extern const u8 gText_Cancel2[];
+extern const u8 gText_Receive[];
+extern const u8 gText_Send[];
+extern const u8 gText_Toss[];
+extern const u8 gText_VarietyOfEventsImportedWireless[];
+extern const u8 gText_WonderCardsInPossession[];
+extern const u8 gText_ReadNewsThatArrived[];
+extern const u8 gText_ReturnToTitle[];
+extern const u8 gText_WhatToDoWithCards[];
+extern const u8 gText_WhatToDoWithNews[];
+extern const u8 gText_IfThrowAwayCardEventWontHappen[];
+extern const u8 gText_OkayToDiscardNews[];
+extern const u8 gText_WonderNewsThrownAway[];
+extern const u8 gText_WonderCardThrownAway[];
+extern const u8 gText_DataWillBeSaved[];
+extern const u8 gText_SaveCompletedPressA[];
+extern const u8 gText_NothingSentOver[];
+extern const u8 gText_RecordUploadedViaWireless[];
+extern const u8 gText_WonderCardReceivedFrom[];
+extern const u8 gText_WonderCardReceived[];
+extern const u8 gText_WonderNewsReceivedFrom[];
+extern const u8 gText_WonderNewsReceived[];
+extern const u8 gText_NewStampReceived[];
+extern const u8 gText_AlreadyHadCard[];
+extern const u8 gText_AlreadyHadStamp[];
+extern const u8 gText_AlreadyHadNews[];
+extern const u8 gText_NoMoreRoomForStamps[];
+extern const u8 gText_CommunicationCanceled[];
+extern const u8 gText_CantAcceptNewsFromTrainer[];
+extern const u8 gText_CantAcceptCardFromTrainer[];
+extern const u8 gText_CommunicationError[];
+extern const u8 gText_NewTrainerReceived[];
+extern const u8 gText_RecordUploadedViaWireless[];
+extern const u8 gText_WonderCardSentTo[];
+extern const u8 gText_WonderNewsSentTo[];
+extern const u8 gText_StampSentTo[];
+extern const u8 gText_OtherTrainerHasCard[];
+extern const u8 gText_OtherTrainerHasStamp[];
+extern const u8 gText_OtherTrainerHasNews[];
+extern const u8 gText_NoMoreRoomForStamps[];
+extern const u8 gText_OtherTrainerCanceled[];
+extern const u8 gText_GiftSentTo[];
+extern const u8 gText_CantSendGiftToTrainer[];
+extern const u8 gText_DontHaveCardNewOneInput[];
+extern const u8 gText_DontHaveNewsNewOneInput[];
+extern const u8 gText_WhereShouldCardBeAccessed[];
+extern const u8 gText_WhereShouldNewsBeAccessed[];
+extern const u8 gText_Communicating[];
+extern const u8 gText_ThrowAwayWonderCard[];
+extern const u8 gText_HaventReceivedCardsGift[];
+extern const u8 gText_CommunicationCompleted[];
+extern const u8 gText_HaventReceivedGiftOkayToDiscard[];
+extern const u8 gText_SendingWonderCard[];
+extern const u8 gText_SendingWonderNews[];
+extern const u8 gText_WirelessCommStatus[];
+extern const u8 gText_PeopleTrading[];
+extern const u8 gText_PeopleBattling[];
+extern const u8 gText_PeopleInUnionRoom[];
+extern const u8 gText_PeopleCommunicating[];
+extern const u8 gText_CommStandbyAwaitingOtherPlayer[];
+extern const u8 gText_RefusedBattle[];
+extern const u8 gText_BattleWasRefused[];
+extern const u8 gText_QuitChatting[];
+extern const u8 gText_RegisterTextWhere[];
+extern const u8 gText_RegisterTextHere[];
+extern const u8 gText_InputText[];
+extern const u8 gText_ExitingChat[];
+extern const u8 gText_LeaderLeftEndingChat[];
+extern const u8 gText_RegisteredTextChanged[];
+extern const u8 gText_AlreadySavedFile_Unused[];
+extern const u8 gText_SavingDontTurnOff_Unused[];
+extern const u8 gText_PlayerSavedGame_Unused[];
+extern const u8 gText_IfLeaderLeavesChatEnds[];
+extern const u8 gText_Upper[];
+extern const u8 gText_Lower[];
+extern const u8 gText_Symbols[];
+extern const u8 gText_Register2[];
+extern const u8 gText_Exit2[];
+
#endif // GUARD_STRINGS_H
diff --git a/include/text.h b/include/text.h
index d8f2fd8a3..eba3d0c4e 100644
--- a/include/text.h
+++ b/include/text.h
@@ -99,6 +99,8 @@
//
#define EXT_CTRL_CODE_CLEAR 0x11
//
+#define EXT_CTRL_CODE_CLEAR_TO 0x13
+#define EXT_CTRL_CODE_MIN_LETTER_SPACING 0x14
#define EXT_CTRL_CODE_JPN 0x15
#define EXT_CTRL_CODE_ENG 0x16
diff --git a/include/text_window.h b/include/text_window.h
index 53a6df2e9..501597aa2 100644
--- a/include/text_window.h
+++ b/include/text_window.h
@@ -17,8 +17,8 @@ void LoadMessageBoxGfx(u8 windowId, u16 destOffset, u8 palOffset);
void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palOffset);
void LoadWindowGfx(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset);
void LoadUserWindowBorderGfx_(u8 windowId, u16 destOffset, u8 palOffset);
-void sub_8098858(u8 windowId, u16 tileNum, u8 palNum);
-void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum);
+void DrawTextBorderOuter(u8 windowId, u16 tileNum, u8 palNum);
+void DrawTextBorderInner(u8 windowId, u16 tileNum, u8 palNum);
void rbox_fill_rectangle(u8 windowId);
const u16 *stdpal_get(u8 id);
const u16 *GetOverworldTextboxPalettePtr(void);
diff --git a/include/title_screen.h b/include/title_screen.h
index ad0809ed2..b7100f124 100644
--- a/include/title_screen.h
+++ b/include/title_screen.h
@@ -1,7 +1,7 @@
#ifndef GUARD_TITLE_SCREEN_H
#define GUARD_TITLE_SCREEN_H
-extern const u16 gIntroWaterDropData[];
+extern const u16 gIntroWaterDropAlphaBlend[];
void CB2_InitTitleScreen(void);
diff --git a/include/trader.h b/include/trader.h
index c07ea81bd..25d72bd3b 100644
--- a/include/trader.h
+++ b/include/trader.h
@@ -6,7 +6,7 @@
#define GUARD_TRADER_H
void sub_8133DA0(u8 taskId);
-void sub_8133E1C(u8 taskId);
+void ExitTraderMenu(u8 taskId);
void TraderSetup(void);
void Trader_ResetFlag(void);
diff --git a/include/union_room.h b/include/union_room.h
new file mode 100644
index 000000000..538d37716
--- /dev/null
+++ b/include/union_room.h
@@ -0,0 +1,172 @@
+#ifndef GUARD_UNION_ROOM_H
+#define GUARD_UNION_ROOM_H
+
+#include "librfu.h"
+
+// Exported type declarations
+
+struct UnkStruct_Shared
+{
+ struct UnkLinkRfuStruct_02022B14 field_0;
+ u8 ALIGNED(4) playerName[PLAYER_NAME_LENGTH + 1];
+};
+
+struct UnkStruct_x1C
+{
+ struct UnkStruct_Shared unk0;
+ u8 unk18:1;
+};
+
+struct UnkStruct_x20
+{
+ struct UnkStruct_Shared unk;
+ u16 field_18;
+ u8 field_1A_0:2;
+ u8 field_1A_1:1;
+ u8 field_1B;
+ u8 field_1D;
+ u8 field_1E;
+ u8 field_1F;
+};
+
+struct UnkStruct_Main0
+{
+ struct UnkStruct_x20 arr[8];
+};
+
+struct UnkStruct_Main4
+{
+ struct UnkStruct_x1C arr[5];
+};
+
+struct UnkStruct_Main8
+{
+ struct UnkStruct_x20 arr[5];
+};
+
+struct UnkStruct_Leader
+{
+ struct UnkStruct_Main0 *field_0;
+ struct UnkStruct_Main4 *field_4;
+ struct UnkStruct_Main8 *field_8;
+ u8 state;
+ u8 textState;
+ u8 field_E;
+ u8 listWindowId;
+ u8 field_10;
+ u8 field_11;
+ u8 listTaskId;
+ u8 field_13;
+ u8 field_14;
+ u8 field_15;
+ u8 field_16;
+ u8 field_17;
+ u8 field_18;
+ u8 field_19;
+ u16 field_1A;
+};
+
+struct UnkStruct_Group
+{
+ struct UnkStruct_Main0 *field_0;
+ struct UnkStruct_Main4 *field_4;
+ u8 state;
+ u8 textState;
+ u8 field_A;
+ u8 listWindowId;
+ u8 field_C;
+ u8 field_D;
+ u8 listTaskId;
+ u8 field_F;
+ u8 field_10;
+ u8 field_11;
+ u8 field_12;
+ u8 field_13;
+ u8 field_14;
+ u8 field_15;
+};
+
+struct UnkStruct_8019BA8
+{
+ u8 field_0;
+ u8 field_1;
+ s8 field_2;
+ u8 field_3;
+};
+
+struct UnkStruct_URoom
+{
+ struct UnkStruct_Main0 *field_0;
+ struct UnkStruct_Main4 *field_4;
+ struct UnkStruct_Main0 *field_8;
+ struct UnkStruct_Main4 *field_C;
+ u16 field_10;
+ u16 field_12;
+ u8 state;
+ u8 stateAfterPrint;
+ u8 textState;
+ u8 field_17;
+ u8 field_18;
+ u8 field_19;
+ u8 field_1A;
+ u8 field_1B;
+ u8 field_1C;
+ u8 field_1D;
+ u8 field_1E;
+ u8 field_1F;
+ u8 field_20;
+ u8 spriteIds[40];
+ u8 field_49;
+ u8 field_4A;
+ u16 field_4C[6];
+ u8 field_58[0x98 - 0x58];
+ u16 field_98;
+ u16 field_9A[3];
+ struct UnkStruct_8019BA8 field_A0[8];
+ u8 field_C0[12][15];
+ u8 field_174[48];
+ u8 field_1A4[200];
+};
+
+union UnkUnion_Main
+{
+ struct UnkStruct_Leader *leader;
+ struct UnkStruct_Group *group;
+ struct UnkStruct_URoom *uRoom;
+};
+
+struct TradeUnkStruct
+{
+ u16 field_0;
+ u16 type;
+ u32 playerPersonality;
+ u8 field_8;
+ u8 field_9;
+ u16 playerSpecies;
+ u16 playerLevel;
+ u16 species;
+ u16 level;
+ u16 field_12;
+ u32 personality;
+};
+
+// Exported RAM declarations
+
+extern u8 gUnknown_02022C2C;
+extern union UnkUnion_Main gUnknown_02022C30;
+extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38;
+
+extern u16 gUnknown_02022C3C;
+extern u8 gUnknown_02022C3E;
+
+// Exported ROM declarations
+
+u8 sub_8013F78(void);
+bool32 sub_802C908(u16);
+void nullsub_89(u8 taskId);
+void var_800D_set_xB(void);
+void MEvent_CreateTask_CardOrNewsWithFriend(u32 arg0);
+void MEvent_CreateTask_CardOrNewsOverWireless(u32 arg0);
+void MEvent_CreateTask_Leader(u32 arg0);
+
+#endif //GUARD_UNION_ROOM_H
diff --git a/include/union_room_battle.h b/include/union_room_battle.h
new file mode 100644
index 000000000..2f5086008
--- /dev/null
+++ b/include/union_room_battle.h
@@ -0,0 +1,7 @@
+#ifndef GUARD_UNION_ROOM_BATTLE_H
+#define GUARD_UNION_ROOM_BATTLE_H
+
+u8 sub_8013C40(void);
+void sub_8014210(u16 battleFlags);
+
+#endif //GUARD_UNION_ROOM_BATTLE_H
diff --git a/include/union_room_chat.h b/include/union_room_chat.h
new file mode 100755
index 000000000..17e482525
--- /dev/null
+++ b/include/union_room_chat.h
@@ -0,0 +1,7 @@
+#ifndef GUARD_UNION_ROOM_CHAT_H
+#define GUARD_UNION_ROOM_CHAT_H
+
+void sub_801DD98(void);
+void copy_strings_to_sav1(void);
+
+#endif // GUARD_UNION_ROOM_CHAT_H
diff --git a/include/union_room_player_avatar.h b/include/union_room_player_avatar.h
new file mode 100644
index 000000000..9870d0981
--- /dev/null
+++ b/include/union_room_player_avatar.h
@@ -0,0 +1,14 @@
+#ifndef GUARD_UNION_ROOM_PLAYER_AVATAR_H
+#define GUARD_UNION_ROOM_PLAYER_AVATAR_H
+
+u8 sub_8019BA8(struct UnkStruct_8019BA8 * ptr);
+void sub_8019E3C(void);
+void sub_8019E70(u8 *arg0, s32 arg1);
+void sub_8019F04(u8 *spriteIds);
+void sub_8019F2C(void);
+void sub_801A274(struct UnkStruct_URoom *arg0);
+void sub_801A284(struct UnkStruct_URoom *arg0);
+bool32 sub_801A2A8(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3);
+void sub_801A3D0(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2);
+
+#endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H
diff --git a/include/util.h b/include/util.h
index 56c89359a..77062de96 100644
--- a/include/util.h
+++ b/include/util.h
@@ -10,8 +10,8 @@ u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *));
void StoreWordInTwoHalfwords(u16 *, u32);
void LoadWordFromTwoHalfwords(u16 *, u32 *);
int CountTrailingZeroBits(u32 value);
-u16 CalcCRC16(u8 *data, s32 length);
-u16 CalcCRC16WithTable(u8 *data, u32 length);
+u16 CalcCRC16(const u8 *data, s32 length);
+u16 CalcCRC16WithTable(const u8 *data, u32 length);
u32 CalcByteArraySum(const u8* data, u32 length);
void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor);
void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha);
diff --git a/ld_script.txt b/ld_script.txt
index e60badcc2..8f44e0abf 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -54,8 +54,22 @@ SECTIONS {
src/string_util.o(.text);
src/link.o(.text);
src/link_rfu.o(.text);
- src/rom_8011DC0.o(.text);
- asm/rom_8011DC0.o(.text);
+ src/union_room.o(.text);
+ src/mystery_gift.o(.text);
+ src/union_room_player_avatar.o(.text);
+ src/union_room_battle.o(.text);
+ src/mevent2.o(.text);
+ src/mevent_801BAAC.o(.text);
+ src/mevent_server.o(.text);
+ src/mevent_client.o(.text);
+ src/mevent_server_helpers.o(.text);
+ src/mevent_news.o(.text);
+ src/union_room_chat.o(.text);
+ src/berry_crush.o(.text);
+ asm/berry_crush.o(.text);
+ src/berry_powder.o(.text);
+ asm/dodrio_berry_picking.o(.text);
+ asm/pokemon_jump.o(.text);
src/rtc.o(.text);
src/main_menu.o(.text);
src/battle_controllers.o(.text);
@@ -108,10 +122,10 @@ SECTIONS {
src/palette.o(.text);
src/sound.o(.text);
src/battle_anim.o(.text);
- src/battle_anim_80A5C6C.o(.text);
+ src/battle_anim_mons.o(.text);
src/task.o(.text);
src/reshow_battle_screen.o(.text);
- src/battle_anim_80A9C70.o(.text);
+ src/battle_anim_status_effects.o(.text);
src/title_screen.o(.text);
src/field_weather.o(.text);
src/field_weather_effect.o(.text);
@@ -133,7 +147,7 @@ SECTIONS {
src/mail_data.o(.text);
src/map_name_popup.o(.text);
src/item_menu_icons.o(.text);
- src/battle_anim_80D51AC.o(.text);
+ src/battle_anim_mon_movement.o(.text);
src/item.o(.text);
src/contest.o(.text);
src/shop.o(.text);
@@ -185,7 +199,6 @@ SECTIONS {
src/heal_location.o(.text);
src/region_map.o(.text);
src/contest_painting_effects.o(.text);
- asm/contest_painting_effects.o(.text);
src/decoration.o(.text);
src/slot_machine.o(.text);
src/contest_painting.o(.text);
@@ -225,19 +238,18 @@ SECTIONS {
src/battle_controller_safari.o(.text);
src/fldeff_sweetscent.o(.text);
src/battle_anim_effects_3.o(.text);
- src/learn_move.o(.text);
+ src/move_relearner.o(.text);
src/fldeff_softboiled.o(.text);
src/decoration_inventory.o(.text);
src/roamer.o(.text);
src/battle_tower.o(.text);
src/use_pokeblock.o(.text);
- asm/use_pokeblock.o(.text);
src/battle_controller_wally.o(.text);
src/player_pc.o(.text);
src/intro.o(.text);
src/reset_save_heap.o(.text);
src/field_region_map.o(.text);
- src/battle_anim_8170478.o(.text);
+ src/battle_anim_special.o(.text);
src/hall_of_fame.o(.text);
src/credits.o(.text);
src/lottery_corner.o(.text);
@@ -290,7 +302,10 @@ SECTIONS {
src/pokenav.o(.text);
asm/pokenav.o(.text);
src/pokenav_match_call.o(.text);
- asm/rom_81D1C44.o(.text);
+ src/menu_specialized.o(.text);
+ src/ereader_helpers.o(.text);
+ src/faraway_island.o(.text);
+ src/ereader_screen.o(.text);
src/trainer_hill.o(.text);
src/rayquaza_scene.o(.text);
src/walda_phrase.o(.text);
@@ -394,13 +409,24 @@ SECTIONS {
src/string_util.o(.rodata);
src/link.o(.rodata);
src/link_rfu.o(.rodata);
- src/rom_8011DC0.o(.rodata);
- data/rom_8011DC0.o(.rodata);
+ src/union_room.o(.rodata);
+ src/mystery_gift.o(.rodata);
+ src/union_room_player_avatar.o(.rodata);
+ src/union_room_battle.o(.rodata);
+ src/mevent2.o(.rodata);
+ src/mevent_801BAAC.o(.rodata);
+ src/mevent_server.o(.rodata);
+ src/mevent_client.o(.rodata);
+ src/mevent_scripts.o(.rodata);
+ src/union_room_chat.o(.rodata);
+ data/berry_crush.o(.rodata);
+ data/berry_powder.o(.rodata);
+ data/dodrio_berry_picking.o(.rodata);
+ data/pokemon_jump.o(.rodata);
src/rtc.o(.rodata);
src/main_menu.o(.rodata);
src/rom_8034C54.o(.rodata);
- src/data2b.o(.rodata);
- src/battle_data.o(.rodata);
+ src/data.o(.rodata);
src/battle_bg.o(.rodata);
src/battle_main.o(.rodata);
src/battle_util.o(.rodata);
@@ -438,9 +464,9 @@ SECTIONS {
src/palette.o(.rodata);
src/sound.o(.rodata);
src/battle_anim.o(.rodata);
- src/battle_anim_80A5C6C.o(.rodata);
+ src/battle_anim_mons.o(.rodata);
data/map_events.o(.rodata);
- src/battle_anim_80A9C70.o(.rodata);
+ src/battle_anim_status_effects.o(.rodata);
src/title_screen.o(.rodata);
src/field_weather.o(.rodata);
src/field_weather_effect.o(.rodata);
@@ -459,9 +485,9 @@ SECTIONS {
src/fldeff_cut.o(.rodata);
src/map_name_popup.o(.rodata);
src/item_menu_icons.o(.rodata);
- src/battle_anim_80D51AC.o(.rodata);
+ src/battle_anim_mon_movement.o(.rodata);
src/item.o(.rodata);
- data/contest.o(.rodata);
+ src/contest.o(.rodata);
src/shop.o(.rodata);
src/fldeff_escalator.o(.rodata);
src/berry.o(.rodata);
@@ -534,7 +560,7 @@ SECTIONS {
src/contest_ai.o(.rodata);
src/battle_controller_safari.o(.rodata);
src/battle_anim_effects_3.o(.rodata);
- src/learn_move.o(.rodata);
+ src/move_relearner.o(.rodata);
src/roamer.o(.rodata);
src/battle_tower.o(.rodata);
src/use_pokeblock.o(.rodata);
@@ -543,7 +569,7 @@ SECTIONS {
src/player_pc.o(.rodata);
src/intro.o(.rodata);
src/field_region_map.o(.rodata);
- src/battle_anim_8170478.o(.rodata);
+ src/battle_anim_special.o(.rodata);
src/hall_of_fame.o(.rodata);
src/credits.o(.rodata);
src/lottery_corner.o(.rodata);
@@ -593,7 +619,10 @@ SECTIONS {
src/pokenav.o(.rodata);
data/pokenav.o(.rodata);
src/pokenav_match_call.o(.rodata);
- data/rom_81D1C44.o(.rodata);
+ src/menu_specialized.o(.rodata);
+ data/ereader_helpers.o(.rodata);
+ src/faraway_island.o(.rodata);
+ data/ereader_screen.o(.rodata);
src/trainer_hill.o(.rodata);
src/rayquaza_scene.o(.rodata);
src/walda_phrase.o(.rodata);
@@ -637,7 +666,7 @@ SECTIONS {
sound/songs/midi/se_jyuni.o(.rodata);
sound/songs/midi/se_a.o(.rodata);
sound/songs/midi/se_i.o(.rodata);
- sound/songs/se_u.o(.rodata);
+ sound/songs/midi/se_u.o(.rodata);
sound/songs/midi/se_e.o(.rodata);
sound/songs/midi/se_o.o(.rodata);
sound/songs/midi/se_n.o(.rodata);
@@ -646,7 +675,7 @@ SECTIONS {
sound/songs/midi/se_exp.o(.rodata);
sound/songs/midi/se_jite_pyoko.o(.rodata);
sound/songs/midi/se_mu_pachi.o(.rodata);
- sound/songs/se_tk_kasya.o(.rodata);
+ sound/songs/midi/se_tk_kasya.o(.rodata);
sound/songs/midi/se_fu_zaku.o(.rodata);
sound/songs/midi/se_fu_zaku2.o(.rodata);
sound/songs/midi/se_fu_zuzuzu.o(.rodata);
@@ -655,14 +684,14 @@ SECTIONS {
sound/songs/midi/se_ru_bari.o(.rodata);
sound/songs/midi/se_ru_hyuu.o(.rodata);
sound/songs/midi/se_ki_gasyan.o(.rodata);
- sound/songs/se_tk_warpin.o(.rodata);
- sound/songs/se_tk_warpout.o(.rodata);
- sound/songs/se_tu_saa.o(.rodata);
+ sound/songs/midi/se_tk_warpin.o(.rodata);
+ sound/songs/midi/se_tk_warpout.o(.rodata);
+ sound/songs/midi/se_tu_saa.o(.rodata);
sound/songs/midi/se_hi_turun.o(.rodata);
- sound/songs/se_track_move.o(.rodata);
- sound/songs/se_track_stop.o(.rodata);
- sound/songs/se_track_haiki.o(.rodata);
- sound/songs/se_track_door.o(.rodata);
+ sound/songs/midi/se_track_move.o(.rodata);
+ sound/songs/midi/se_track_stop.o(.rodata);
+ sound/songs/midi/se_track_haiki.o(.rodata);
+ sound/songs/midi/se_track_door.o(.rodata);
sound/songs/midi/se_moter.o(.rodata);
sound/songs/midi/se_card.o(.rodata);
sound/songs/midi/se_save.o(.rodata);
@@ -672,14 +701,14 @@ SECTIONS {
sound/songs/midi/se_kon4.o(.rodata);
sound/songs/midi/se_suikomu.o(.rodata);
sound/songs/midi/se_nageru.o(.rodata);
- sound/songs/se_toy_c.o(.rodata);
- sound/songs/se_toy_d.o(.rodata);
- sound/songs/se_toy_e.o(.rodata);
- sound/songs/se_toy_f.o(.rodata);
- sound/songs/se_toy_g.o(.rodata);
- sound/songs/se_toy_a.o(.rodata);
- sound/songs/se_toy_b.o(.rodata);
- sound/songs/se_toy_c1.o(.rodata);
+ sound/songs/midi/se_toy_c.o(.rodata);
+ sound/songs/midi/se_toy_d.o(.rodata);
+ sound/songs/midi/se_toy_e.o(.rodata);
+ sound/songs/midi/se_toy_f.o(.rodata);
+ sound/songs/midi/se_toy_g.o(.rodata);
+ sound/songs/midi/se_toy_a.o(.rodata);
+ sound/songs/midi/se_toy_b.o(.rodata);
+ sound/songs/midi/se_toy_c1.o(.rodata);
sound/songs/midi/se_mizu.o(.rodata);
sound/songs/midi/se_hashi.o(.rodata);
sound/songs/midi/se_daugi.o(.rodata);
@@ -687,8 +716,8 @@ SECTIONS {
sound/songs/midi/se_fuusen1.o(.rodata);
sound/songs/midi/se_fuusen2.o(.rodata);
sound/songs/midi/se_fuusen3.o(.rodata);
- sound/songs/se_toy_kabe.o(.rodata);
- sound/songs/se_toy_dango.o(.rodata);
+ sound/songs/midi/se_toy_kabe.o(.rodata);
+ sound/songs/midi/se_toy_dango.o(.rodata);
sound/songs/midi/se_doku.o(.rodata);
sound/songs/midi/se_esuka.o(.rodata);
sound/songs/midi/se_t_ame.o(.rodata);
@@ -702,8 +731,8 @@ SECTIONS {
sound/songs/midi/se_elebeta.o(.rodata);
sound/songs/midi/se_hinsi.o(.rodata);
sound/songs/midi/se_expmax.o(.rodata);
- sound/songs/se_tamakoro.o(.rodata);
- sound/songs/se_tamakoro_e.o(.rodata);
+ sound/songs/midi/se_tamakoro.o(.rodata);
+ sound/songs/midi/se_tamakoro_e.o(.rodata);
sound/songs/midi/se_basabasa.o(.rodata);
sound/songs/midi/se_regi.o(.rodata);
sound/songs/midi/se_c_gaji.o(.rodata);
@@ -717,16 +746,16 @@ SECTIONS {
sound/songs/midi/se_bt_start.o(.rodata);
sound/songs/midi/se_dendou.o(.rodata);
sound/songs/midi/se_jihanki.o(.rodata);
- sound/songs/se_tama.o(.rodata);
+ sound/songs/midi/se_tama.o(.rodata);
sound/songs/se_z_scroll.o(.rodata);
sound/songs/se_z_page.o(.rodata);
sound/songs/midi/se_pn_on.o(.rodata);
sound/songs/midi/se_pn_off.o(.rodata);
sound/songs/midi/se_z_search.o(.rodata);
- sound/songs/se_tamago.o(.rodata);
- sound/songs/se_tb_start.o(.rodata);
- sound/songs/se_tb_kon.o(.rodata);
- sound/songs/se_tb_kara.o(.rodata);
+ sound/songs/midi/se_tamago.o(.rodata);
+ sound/songs/midi/se_tb_start.o(.rodata);
+ sound/songs/midi/se_tb_kon.o(.rodata);
+ sound/songs/midi/se_tb_kara.o(.rodata);
sound/songs/midi/se_bidoro.o(.rodata);
sound/songs/se_w085.o(.rodata);
sound/songs/se_w085b.o(.rodata);
@@ -738,53 +767,53 @@ SECTIONS {
sound/songs/se_w145b.o(.rodata);
sound/songs/se_w145c.o(.rodata);
sound/songs/se_w240.o(.rodata);
- sound/songs/se_w015.o(.rodata);
+ sound/songs/midi/se_w015.o(.rodata);
sound/songs/se_w081.o(.rodata);
sound/songs/se_w081b.o(.rodata);
sound/songs/se_w088.o(.rodata);
- sound/songs/se_w016.o(.rodata);
- sound/songs/se_w016b.o(.rodata);
- sound/songs/se_w003.o(.rodata);
+ sound/songs/midi/se_w016.o(.rodata);
+ sound/songs/midi/se_w016b.o(.rodata);
+ sound/songs/midi/se_w003.o(.rodata);
sound/songs/se_w104.o(.rodata);
- sound/songs/se_w013.o(.rodata);
+ sound/songs/midi/se_w013.o(.rodata);
sound/songs/se_w196.o(.rodata);
sound/songs/se_w086.o(.rodata);
- sound/songs/se_w004.o(.rodata);
- sound/songs/se_w025.o(.rodata);
- sound/songs/se_w025b.o(.rodata);
+ sound/songs/midi/se_w004.o(.rodata);
+ sound/songs/midi/se_w025.o(.rodata);
+ sound/songs/midi/se_w025b.o(.rodata);
sound/songs/se_w152.o(.rodata);
- sound/songs/se_w026.o(.rodata);
+ sound/songs/midi/se_w026.o(.rodata);
sound/songs/se_w172.o(.rodata);
sound/songs/se_w172b.o(.rodata);
sound/songs/se_w053.o(.rodata);
- sound/songs/se_w007.o(.rodata);
+ sound/songs/midi/se_w007.o(.rodata);
sound/songs/se_w092.o(.rodata);
sound/songs/se_w221.o(.rodata);
sound/songs/se_w221b.o(.rodata);
sound/songs/se_w052.o(.rodata);
- sound/songs/se_w036.o(.rodata);
+ sound/songs/midi/se_w036.o(.rodata);
sound/songs/se_w059.o(.rodata);
sound/songs/se_w059b.o(.rodata);
- sound/songs/se_w010.o(.rodata);
- sound/songs/se_w011.o(.rodata);
- sound/songs/se_w017.o(.rodata);
- sound/songs/se_w019.o(.rodata);
- sound/songs/se_w028.o(.rodata);
- sound/songs/se_w013b.o(.rodata);
+ sound/songs/midi/se_w010.o(.rodata);
+ sound/songs/midi/se_w011.o(.rodata);
+ sound/songs/midi/se_w017.o(.rodata);
+ sound/songs/midi/se_w019.o(.rodata);
+ sound/songs/midi/se_w028.o(.rodata);
+ sound/songs/midi/se_w013b.o(.rodata);
sound/songs/se_w044.o(.rodata);
- sound/songs/se_w029.o(.rodata);
+ sound/songs/midi/se_w029.o(.rodata);
sound/songs/se_w057.o(.rodata);
sound/songs/se_w056.o(.rodata);
sound/songs/se_w250.o(.rodata);
- sound/songs/se_w030.o(.rodata);
- sound/songs/se_w039.o(.rodata);
+ sound/songs/midi/se_w030.o(.rodata);
+ sound/songs/midi/se_w039.o(.rodata);
sound/songs/se_w054.o(.rodata);
sound/songs/se_w077.o(.rodata);
- sound/songs/se_w020.o(.rodata);
+ sound/songs/midi/se_w020.o(.rodata);
sound/songs/se_w082.o(.rodata);
sound/songs/se_w047.o(.rodata);
sound/songs/se_w195.o(.rodata);
- sound/songs/se_w006.o(.rodata);
+ sound/songs/midi/se_w006.o(.rodata);
sound/songs/se_w091.o(.rodata);
sound/songs/se_w146.o(.rodata);
sound/songs/se_w120.o(.rodata);
@@ -801,8 +830,8 @@ SECTIONS {
sound/songs/se_w122.o(.rodata);
sound/songs/se_w060.o(.rodata);
sound/songs/se_w185.o(.rodata);
- sound/songs/se_w014.o(.rodata);
- sound/songs/se_w043.o(.rodata);
+ sound/songs/midi/se_w014.o(.rodata);
+ sound/songs/midi/se_w043.o(.rodata);
sound/songs/se_w207.o(.rodata);
sound/songs/se_w207b.o(.rodata);
sound/songs/se_w215.o(.rodata);
@@ -873,13 +902,13 @@ SECTIONS {
sound/songs/midi/se_rg_deomov.o(.rodata);
sound/songs/midi/se_rg_excellent.o(.rodata);
sound/songs/midi/se_rg_nawamiss.o(.rodata);
- sound/songs/se_toreeye.o(.rodata);
- sound/songs/se_toreoff.o(.rodata);
+ sound/songs/midi/se_toreeye.o(.rodata);
+ sound/songs/midi/se_toreoff.o(.rodata);
sound/songs/midi/se_hantei1.o(.rodata);
sound/songs/midi/se_hantei2.o(.rodata);
sound/songs/midi/se_curtain.o(.rodata);
sound/songs/midi/se_curtain1.o(.rodata);
- sound/songs/se_ussoki.o(.rodata);
+ sound/songs/midi/se_ussoki.o(.rodata);
sound/songs/midi/mus_tetsuji.o(.rodata);
sound/songs/midi/mus_field13.o(.rodata);
sound/songs/midi/mus_kachi22.o(.rodata);
diff --git a/songs.mk b/songs.mk
index 3520e5c05..e1007af21 100644
--- a/songs.mk
+++ b/songs.mk
@@ -1101,5 +1101,164 @@ $(MID_SUBDIR)/se_t_ooame.s: %.s: %.mid
$(MID_SUBDIR)/se_t_ooame_e.s: %.s: %.mid
$(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P2
+$(MID_SUBDIR)/se_tama.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P5
+
+$(MID_SUBDIR)/se_tamago.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P5
+
+$(MID_SUBDIR)/se_tamakoro.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P2
+
+$(MID_SUBDIR)/se_tamakoro_e.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P2
+
+$(MID_SUBDIR)/se_tb_kara.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5
+
+$(MID_SUBDIR)/se_tb_kon.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P5
+
+$(MID_SUBDIR)/se_tb_start.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P5
+
+$(MID_SUBDIR)/se_tk_kasya.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P4
+
+$(MID_SUBDIR)/se_tk_warpin.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P4
+
+$(MID_SUBDIR)/se_tk_warpout.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P4
+
+$(MID_SUBDIR)/se_toreeye.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V120 -P5
+
+$(MID_SUBDIR)/se_toreoff.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V110 -P5
+
+$(MID_SUBDIR)/se_toy_a.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_toy_b.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_toy_c.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_toy_c1.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_toy_d.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_toy_dango.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_toy_e.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_toy_f.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_toy_g.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_toy_kabe.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_track_door.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_track_haiki.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -P4
+
+$(MID_SUBDIR)/se_track_move.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -P4
+
+$(MID_SUBDIR)/se_track_stop.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -P4
+
+$(MID_SUBDIR)/se_tu_saa.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P4
+
+$(MID_SUBDIR)/se_u.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -P4
+
+$(MID_SUBDIR)/se_ussoki.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V077 -P5
+
+$(MID_SUBDIR)/se_w003.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w004.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P4
+
+$(MID_SUBDIR)/se_w006.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V095 -P4
+
+$(MID_SUBDIR)/se_w007.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w010.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w011.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w013.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w013b.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4
+
+$(MID_SUBDIR)/se_w014.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4
+
+$(MID_SUBDIR)/se_w015.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P4
+
+$(MID_SUBDIR)/se_w016.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w016b.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w017.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P4
+
+$(MID_SUBDIR)/se_w019.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w020.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4
+
+$(MID_SUBDIR)/se_w025.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4
+
+$(MID_SUBDIR)/se_w025b.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w026.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w028.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w029.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w030.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w036.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P4
+
+$(MID_SUBDIR)/se_w039.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_w043.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
$(MID_SUBDIR)/se_z_search.s: %.s: %.mid
- $(MID) $< $@ -E -R$(STD_REVERB) -G127 -P5
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -v100 -P5
diff --git a/sound/songs/midi/se_tama.mid b/sound/songs/midi/se_tama.mid
new file mode 100644
index 000000000..aa9fc7889
--- /dev/null
+++ b/sound/songs/midi/se_tama.mid
Binary files differ
diff --git a/sound/songs/midi/se_tamago.mid b/sound/songs/midi/se_tamago.mid
new file mode 100644
index 000000000..67d3959eb
--- /dev/null
+++ b/sound/songs/midi/se_tamago.mid
Binary files differ
diff --git a/sound/songs/midi/se_tamakoro.mid b/sound/songs/midi/se_tamakoro.mid
new file mode 100644
index 000000000..c6dce2865
--- /dev/null
+++ b/sound/songs/midi/se_tamakoro.mid
Binary files differ
diff --git a/sound/songs/midi/se_tamakoro_e.mid b/sound/songs/midi/se_tamakoro_e.mid
new file mode 100644
index 000000000..13675c690
--- /dev/null
+++ b/sound/songs/midi/se_tamakoro_e.mid
Binary files differ
diff --git a/sound/songs/midi/se_tb_kara.mid b/sound/songs/midi/se_tb_kara.mid
new file mode 100644
index 000000000..a4c2a51d7
--- /dev/null
+++ b/sound/songs/midi/se_tb_kara.mid
Binary files differ
diff --git a/sound/songs/midi/se_tb_kon.mid b/sound/songs/midi/se_tb_kon.mid
new file mode 100644
index 000000000..8526da9c6
--- /dev/null
+++ b/sound/songs/midi/se_tb_kon.mid
Binary files differ
diff --git a/sound/songs/midi/se_tb_start.mid b/sound/songs/midi/se_tb_start.mid
new file mode 100644
index 000000000..c88e2a8ea
--- /dev/null
+++ b/sound/songs/midi/se_tb_start.mid
Binary files differ
diff --git a/sound/songs/midi/se_tk_kasya.mid b/sound/songs/midi/se_tk_kasya.mid
new file mode 100644
index 000000000..baa73e0c6
--- /dev/null
+++ b/sound/songs/midi/se_tk_kasya.mid
Binary files differ
diff --git a/sound/songs/midi/se_tk_warpin.mid b/sound/songs/midi/se_tk_warpin.mid
new file mode 100644
index 000000000..e47d3df4d
--- /dev/null
+++ b/sound/songs/midi/se_tk_warpin.mid
Binary files differ
diff --git a/sound/songs/midi/se_tk_warpout.mid b/sound/songs/midi/se_tk_warpout.mid
new file mode 100644
index 000000000..5072e6448
--- /dev/null
+++ b/sound/songs/midi/se_tk_warpout.mid
Binary files differ
diff --git a/sound/songs/midi/se_toreeye.mid b/sound/songs/midi/se_toreeye.mid
new file mode 100644
index 000000000..e25a9ac74
--- /dev/null
+++ b/sound/songs/midi/se_toreeye.mid
Binary files differ
diff --git a/sound/songs/midi/se_toreoff.mid b/sound/songs/midi/se_toreoff.mid
new file mode 100644
index 000000000..391f23a3d
--- /dev/null
+++ b/sound/songs/midi/se_toreoff.mid
Binary files differ
diff --git a/sound/songs/midi/se_toy_a.mid b/sound/songs/midi/se_toy_a.mid
new file mode 100644
index 000000000..b6d5b6159
--- /dev/null
+++ b/sound/songs/midi/se_toy_a.mid
Binary files differ
diff --git a/sound/songs/midi/se_toy_b.mid b/sound/songs/midi/se_toy_b.mid
new file mode 100644
index 000000000..9e27e72e7
--- /dev/null
+++ b/sound/songs/midi/se_toy_b.mid
Binary files differ
diff --git a/sound/songs/midi/se_toy_c.mid b/sound/songs/midi/se_toy_c.mid
new file mode 100644
index 000000000..3d10dc6cb
--- /dev/null
+++ b/sound/songs/midi/se_toy_c.mid
Binary files differ
diff --git a/sound/songs/midi/se_toy_c1.mid b/sound/songs/midi/se_toy_c1.mid
new file mode 100644
index 000000000..345925255
--- /dev/null
+++ b/sound/songs/midi/se_toy_c1.mid
Binary files differ
diff --git a/sound/songs/midi/se_toy_d.mid b/sound/songs/midi/se_toy_d.mid
new file mode 100644
index 000000000..0de257ee5
--- /dev/null
+++ b/sound/songs/midi/se_toy_d.mid
Binary files differ
diff --git a/sound/songs/midi/se_toy_dango.mid b/sound/songs/midi/se_toy_dango.mid
new file mode 100644
index 000000000..baa1ed24e
--- /dev/null
+++ b/sound/songs/midi/se_toy_dango.mid
Binary files differ
diff --git a/sound/songs/midi/se_toy_e.mid b/sound/songs/midi/se_toy_e.mid
new file mode 100644
index 000000000..214b32bca
--- /dev/null
+++ b/sound/songs/midi/se_toy_e.mid
Binary files differ
diff --git a/sound/songs/midi/se_toy_f.mid b/sound/songs/midi/se_toy_f.mid
new file mode 100644
index 000000000..780e162e0
--- /dev/null
+++ b/sound/songs/midi/se_toy_f.mid
Binary files differ
diff --git a/sound/songs/midi/se_toy_g.mid b/sound/songs/midi/se_toy_g.mid
new file mode 100644
index 000000000..73dae55a5
--- /dev/null
+++ b/sound/songs/midi/se_toy_g.mid
Binary files differ
diff --git a/sound/songs/midi/se_toy_kabe.mid b/sound/songs/midi/se_toy_kabe.mid
new file mode 100644
index 000000000..c35be0c0d
--- /dev/null
+++ b/sound/songs/midi/se_toy_kabe.mid
Binary files differ
diff --git a/sound/songs/midi/se_track_door.mid b/sound/songs/midi/se_track_door.mid
new file mode 100644
index 000000000..5cc1dbad8
--- /dev/null
+++ b/sound/songs/midi/se_track_door.mid
Binary files differ
diff --git a/sound/songs/midi/se_track_haiki.mid b/sound/songs/midi/se_track_haiki.mid
new file mode 100644
index 000000000..42db7fd0e
--- /dev/null
+++ b/sound/songs/midi/se_track_haiki.mid
Binary files differ
diff --git a/sound/songs/midi/se_track_move.mid b/sound/songs/midi/se_track_move.mid
new file mode 100644
index 000000000..ced96f83a
--- /dev/null
+++ b/sound/songs/midi/se_track_move.mid
Binary files differ
diff --git a/sound/songs/midi/se_track_stop.mid b/sound/songs/midi/se_track_stop.mid
new file mode 100644
index 000000000..509b2dd8e
--- /dev/null
+++ b/sound/songs/midi/se_track_stop.mid
Binary files differ
diff --git a/sound/songs/midi/se_tu_saa.mid b/sound/songs/midi/se_tu_saa.mid
new file mode 100644
index 000000000..c84b176cb
--- /dev/null
+++ b/sound/songs/midi/se_tu_saa.mid
Binary files differ
diff --git a/sound/songs/midi/se_u.mid b/sound/songs/midi/se_u.mid
new file mode 100644
index 000000000..0e145e3a2
--- /dev/null
+++ b/sound/songs/midi/se_u.mid
Binary files differ
diff --git a/sound/songs/midi/se_ussoki.mid b/sound/songs/midi/se_ussoki.mid
new file mode 100644
index 000000000..c5be0de8d
--- /dev/null
+++ b/sound/songs/midi/se_ussoki.mid
Binary files differ
diff --git a/sound/songs/midi/se_w003.mid b/sound/songs/midi/se_w003.mid
new file mode 100644
index 000000000..80e7a52a7
--- /dev/null
+++ b/sound/songs/midi/se_w003.mid
Binary files differ
diff --git a/sound/songs/midi/se_w004.mid b/sound/songs/midi/se_w004.mid
new file mode 100644
index 000000000..a27538d81
--- /dev/null
+++ b/sound/songs/midi/se_w004.mid
Binary files differ
diff --git a/sound/songs/midi/se_w006.mid b/sound/songs/midi/se_w006.mid
new file mode 100644
index 000000000..5f59591be
--- /dev/null
+++ b/sound/songs/midi/se_w006.mid
Binary files differ
diff --git a/sound/songs/midi/se_w007.mid b/sound/songs/midi/se_w007.mid
new file mode 100644
index 000000000..2f75754f3
--- /dev/null
+++ b/sound/songs/midi/se_w007.mid
Binary files differ
diff --git a/sound/songs/midi/se_w010.mid b/sound/songs/midi/se_w010.mid
new file mode 100644
index 000000000..4b3c1cfcf
--- /dev/null
+++ b/sound/songs/midi/se_w010.mid
Binary files differ
diff --git a/sound/songs/midi/se_w011.mid b/sound/songs/midi/se_w011.mid
new file mode 100644
index 000000000..703ae492b
--- /dev/null
+++ b/sound/songs/midi/se_w011.mid
Binary files differ
diff --git a/sound/songs/midi/se_w013.mid b/sound/songs/midi/se_w013.mid
new file mode 100644
index 000000000..ae94dafa2
--- /dev/null
+++ b/sound/songs/midi/se_w013.mid
Binary files differ
diff --git a/sound/songs/midi/se_w013b.mid b/sound/songs/midi/se_w013b.mid
new file mode 100644
index 000000000..09e8d4c5d
--- /dev/null
+++ b/sound/songs/midi/se_w013b.mid
Binary files differ
diff --git a/sound/songs/midi/se_w014.mid b/sound/songs/midi/se_w014.mid
new file mode 100644
index 000000000..8b17c79a9
--- /dev/null
+++ b/sound/songs/midi/se_w014.mid
Binary files differ
diff --git a/sound/songs/midi/se_w015.mid b/sound/songs/midi/se_w015.mid
new file mode 100644
index 000000000..2f1b4e059
--- /dev/null
+++ b/sound/songs/midi/se_w015.mid
Binary files differ
diff --git a/sound/songs/midi/se_w016.mid b/sound/songs/midi/se_w016.mid
new file mode 100644
index 000000000..8bf167109
--- /dev/null
+++ b/sound/songs/midi/se_w016.mid
Binary files differ
diff --git a/sound/songs/midi/se_w016b.mid b/sound/songs/midi/se_w016b.mid
new file mode 100644
index 000000000..6dd7020f9
--- /dev/null
+++ b/sound/songs/midi/se_w016b.mid
Binary files differ
diff --git a/sound/songs/midi/se_w017.mid b/sound/songs/midi/se_w017.mid
new file mode 100644
index 000000000..459e72406
--- /dev/null
+++ b/sound/songs/midi/se_w017.mid
Binary files differ
diff --git a/sound/songs/midi/se_w019.mid b/sound/songs/midi/se_w019.mid
new file mode 100644
index 000000000..6e63f48cc
--- /dev/null
+++ b/sound/songs/midi/se_w019.mid
Binary files differ
diff --git a/sound/songs/midi/se_w020.mid b/sound/songs/midi/se_w020.mid
new file mode 100644
index 000000000..eec8ccae9
--- /dev/null
+++ b/sound/songs/midi/se_w020.mid
Binary files differ
diff --git a/sound/songs/midi/se_w025.mid b/sound/songs/midi/se_w025.mid
new file mode 100644
index 000000000..bcc9590b4
--- /dev/null
+++ b/sound/songs/midi/se_w025.mid
Binary files differ
diff --git a/sound/songs/midi/se_w025b.mid b/sound/songs/midi/se_w025b.mid
new file mode 100644
index 000000000..ac165424b
--- /dev/null
+++ b/sound/songs/midi/se_w025b.mid
Binary files differ
diff --git a/sound/songs/midi/se_w026.mid b/sound/songs/midi/se_w026.mid
new file mode 100644
index 000000000..d43366801
--- /dev/null
+++ b/sound/songs/midi/se_w026.mid
Binary files differ
diff --git a/sound/songs/midi/se_w028.mid b/sound/songs/midi/se_w028.mid
new file mode 100644
index 000000000..7a053f799
--- /dev/null
+++ b/sound/songs/midi/se_w028.mid
Binary files differ
diff --git a/sound/songs/midi/se_w029.mid b/sound/songs/midi/se_w029.mid
new file mode 100644
index 000000000..4cde4e2d5
--- /dev/null
+++ b/sound/songs/midi/se_w029.mid
Binary files differ
diff --git a/sound/songs/midi/se_w030.mid b/sound/songs/midi/se_w030.mid
new file mode 100644
index 000000000..426cdfea4
--- /dev/null
+++ b/sound/songs/midi/se_w030.mid
Binary files differ
diff --git a/sound/songs/midi/se_w036.mid b/sound/songs/midi/se_w036.mid
new file mode 100644
index 000000000..e5427c8df
--- /dev/null
+++ b/sound/songs/midi/se_w036.mid
Binary files differ
diff --git a/sound/songs/midi/se_w039.mid b/sound/songs/midi/se_w039.mid
new file mode 100644
index 000000000..771581ce0
--- /dev/null
+++ b/sound/songs/midi/se_w039.mid
Binary files differ
diff --git a/sound/songs/midi/se_w043.mid b/sound/songs/midi/se_w043.mid
new file mode 100644
index 000000000..b44876722
--- /dev/null
+++ b/sound/songs/midi/se_w043.mid
Binary files differ
diff --git a/sound/songs/midi/se_z_search.mid b/sound/songs/midi/se_z_search.mid
index b1c161f83..1869374af 100644
--- a/sound/songs/midi/se_z_search.mid
+++ b/sound/songs/midi/se_z_search.mid
Binary files differ
diff --git a/sound/songs/se_tama.s b/sound/songs/se_tama.s
deleted file mode 100644
index 25a1aff58..000000000
--- a/sound/songs/se_tama.s
+++ /dev/null
@@ -1,246 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_tama_grp, voicegroup128
- .equ se_tama_pri, 5
- .equ se_tama_rev, reverb_set+50
- .equ se_tama_mvl, 127
- .equ se_tama_key, 0
- .equ se_tama_tbs, 1
- .equ se_tama_exg, 0
- .equ se_tama_cmp, 1
-
- .section .rodata
- .global se_tama
- .align 2
-
-@********************** Track 1 **********************@
-
-se_tama_1:
- .byte KEYSH , se_tama_key+0
- .byte TEMPO , 110*se_tama_tbs/2
- .byte VOICE , 15
- .byte BENDR , 12
- .byte VOL , 100*se_tama_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+30
- .byte TIE , Cn4 , v100
- .byte W01
- .byte BEND , c_v+24
- .byte W01
- .byte c_v+19
- .byte W01
- .byte c_v+14
- .byte W01
- .byte c_v+8
- .byte W02
- .byte c_v+4
- .byte W01
- .byte c_v+2
- .byte W01
- .byte c_v+0
- .byte W04
- .byte W04
- .byte c_v+1
- .byte W02
- .byte W06
- .byte c_v+1
- .byte W06
- .byte c_v+1
- .byte W06
- .byte c_v+2
- .byte W06
- .byte c_v+3
- .byte W06
- .byte c_v+3
- .byte W06
- .byte c_v+4
- .byte W06
- .byte c_v+4
- .byte W06
- .byte c_v+5
- .byte W06
- .byte c_v+6
- .byte W06
- .byte c_v+8
- .byte W06
- .byte c_v+10
- .byte W06
- .byte c_v+12
- .byte W06
- .byte c_v+14
- .byte W06
- .byte c_v+16
- .byte W06
- .byte c_v+18
- .byte W06
- .byte c_v+20
- .byte W06
- .byte VOL , 98*se_tama_mvl/mxv
- .byte BEND , c_v+22
- .byte W03
- .byte VOL , 97*se_tama_mvl/mxv
- .byte W03
- .byte BEND , c_v+24
- .byte W01
- .byte VOL , 94*se_tama_mvl/mxv
- .byte W03
- .byte 91*se_tama_mvl/mxv
- .byte W02
- .byte BEND , c_v+26
- .byte W02
- .byte VOL , 88*se_tama_mvl/mxv
- .byte W02
- .byte 85*se_tama_mvl/mxv
- .byte W02
- .byte BEND , c_v+28
- .byte W02
- .byte VOL , 80*se_tama_mvl/mxv
- .byte W02
- .byte 73*se_tama_mvl/mxv
- .byte W02
- .byte BEND , c_v+30
- .byte W01
- .byte VOL , 68*se_tama_mvl/mxv
- .byte W02
- .byte 62*se_tama_mvl/mxv
- .byte W03
- .byte 55*se_tama_mvl/mxv
- .byte BEND , c_v+32
- .byte W02
- .byte VOL , 47*se_tama_mvl/mxv
- .byte W02
- .byte 37*se_tama_mvl/mxv
- .byte W02
- .byte BEND , c_v+36
- .byte W01
- .byte VOL , 30*se_tama_mvl/mxv
- .byte W01
- .byte 20*se_tama_mvl/mxv
- .byte W01
- .byte 13*se_tama_mvl/mxv
- .byte W01
- .byte 4*se_tama_mvl/mxv
- .byte W02
- .byte EOT
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_tama_2:
- .byte KEYSH , se_tama_key+0
- .byte VOICE , 25
- .byte VOL , 15*se_tama_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte TIE , Gs2 , v060
- .byte W01
- .byte VOL , 21*se_tama_mvl/mxv
- .byte W01
- .byte 33*se_tama_mvl/mxv
- .byte W01
- .byte 41*se_tama_mvl/mxv
- .byte W01
- .byte 49*se_tama_mvl/mxv
- .byte W02
- .byte 55*se_tama_mvl/mxv
- .byte W01
- .byte 61*se_tama_mvl/mxv
- .byte W01
- .byte 69*se_tama_mvl/mxv
- .byte W01
- .byte 76*se_tama_mvl/mxv
- .byte W01
- .byte 80*se_tama_mvl/mxv
- .byte W02
- .byte 86*se_tama_mvl/mxv
- .byte W01
- .byte 90*se_tama_mvl/mxv
- .byte W01
- .byte 100*se_tama_mvl/mxv
- .byte W04
- .byte W06
- .byte W06
- .byte W06
- .byte W01
- .byte BEND , c_v+1
- .byte W05
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W02
- .byte c_v+2
- .byte W04
- .byte W01
- .byte c_v+4
- .byte W05
- .byte c_v+5
- .byte W03
- .byte VOL , 97*se_tama_mvl/mxv
- .byte BEND , c_v+6
- .byte W03
- .byte VOL , 94*se_tama_mvl/mxv
- .byte W01
- .byte BEND , c_v+6
- .byte W01
- .byte VOL , 87*se_tama_mvl/mxv
- .byte W02
- .byte 83*se_tama_mvl/mxv
- .byte BEND , c_v+8
- .byte W02
- .byte W01
- .byte VOL , 77*se_tama_mvl/mxv
- .byte BEND , c_v+10
- .byte W02
- .byte VOL , 66*se_tama_mvl/mxv
- .byte BEND , c_v+14
- .byte W03
- .byte VOL , 55*se_tama_mvl/mxv
- .byte BEND , c_v+17
- .byte W02
- .byte VOL , 45*se_tama_mvl/mxv
- .byte BEND , c_v+24
- .byte W02
- .byte VOL , 33*se_tama_mvl/mxv
- .byte BEND , c_v+30
- .byte W02
- .byte c_v+41
- .byte W01
- .byte VOL , 21*se_tama_mvl/mxv
- .byte BEND , c_v+46
- .byte W01
- .byte c_v+55
- .byte W01
- .byte VOL , 11*se_tama_mvl/mxv
- .byte BEND , c_v+60
- .byte W01
- .byte VOL , 5*se_tama_mvl/mxv
- .byte BEND , c_v+63
- .byte W02
- .byte EOT
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_tama:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_tama_pri @ Priority
- .byte se_tama_rev @ Reverb.
-
- .word se_tama_grp
-
- .word se_tama_1
- .word se_tama_2
-
- .end
diff --git a/sound/songs/se_tamago.s b/sound/songs/se_tamago.s
deleted file mode 100644
index dfd2a51fb..000000000
--- a/sound/songs/se_tamago.s
+++ /dev/null
@@ -1,111 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_tamago_grp, voicegroup128
- .equ se_tamago_pri, 5
- .equ se_tamago_rev, reverb_set+50
- .equ se_tamago_mvl, 127
- .equ se_tamago_key, 0
- .equ se_tamago_tbs, 1
- .equ se_tamago_exg, 0
- .equ se_tamago_cmp, 1
-
- .section .rodata
- .global se_tamago
- .align 2
-
-@********************** Track 1 **********************@
-
-se_tamago_1:
- .byte KEYSH , se_tamago_key+0
- .byte TEMPO , 150*se_tamago_tbs/2
- .byte VOICE , 21
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 120*se_tamago_mvl/mxv
- .byte BEND , c_v+1
- .byte N01 , Bn5 , v127
- .byte W01
- .byte Cn5 , v100
- .byte W01
- .byte VOICE , 18
- .byte N01 , Cn4 , v127
- .byte W02
- .byte VOICE , 36
- .byte N19 , Cn6 , v040
- .byte W02
- .byte VOL , 63*se_tamago_mvl/mxv
- .byte BEND , c_v+5
- .byte W01
- .byte VOL , 77*se_tamago_mvl/mxv
- .byte BEND , c_v+13
- .byte W01
- .byte VOL , 91*se_tamago_mvl/mxv
- .byte BEND , c_v+21
- .byte W01
- .byte VOL , 106*se_tamago_mvl/mxv
- .byte BEND , c_v+33
- .byte W01
- .byte VOL , 120*se_tamago_mvl/mxv
- .byte W05
- .byte 109*se_tamago_mvl/mxv
- .byte W01
- .byte 102*se_tamago_mvl/mxv
- .byte W02
- .byte 84*se_tamago_mvl/mxv
- .byte W01
- .byte 68*se_tamago_mvl/mxv
- .byte W01
- .byte 56*se_tamago_mvl/mxv
- .byte W01
- .byte 24*se_tamago_mvl/mxv
- .byte W01
- .byte 10*se_tamago_mvl/mxv
- .byte W02
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_tamago_2:
- .byte KEYSH , se_tamago_key+0
- .byte VOL , 120*se_tamago_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+1
- .byte W07
- .byte VOICE , 46
- .byte N01 , Cn6 , v100
- .byte W02
- .byte BEND , c_v+4
- .byte N01 , Gn5 , v088
- .byte W03
- .byte BEND , c_v+8
- .byte N01 , Cn6 , v072
- .byte W02
- .byte BEND , c_v+16
- .byte N01 , Gn5 , v056
- .byte W02
- .byte BEND , c_v+23
- .byte N01 , Cn6 , v040
- .byte W03
- .byte BEND , c_v+33
- .byte N01 , Gn5 , v028
- .byte W02
- .byte BEND , c_v+53
- .byte N01 , Cn6 , v012
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_tamago:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_tamago_pri @ Priority
- .byte se_tamago_rev @ Reverb.
-
- .word se_tamago_grp
-
- .word se_tamago_1
- .word se_tamago_2
-
- .end
diff --git a/sound/songs/se_tamakoro.s b/sound/songs/se_tamakoro.s
deleted file mode 100644
index e71f5964c..000000000
--- a/sound/songs/se_tamakoro.s
+++ /dev/null
@@ -1,46 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_tamakoro_grp, voicegroup128
- .equ se_tamakoro_pri, 2
- .equ se_tamakoro_rev, reverb_set+50
- .equ se_tamakoro_mvl, 127
- .equ se_tamakoro_key, 0
- .equ se_tamakoro_tbs, 1
- .equ se_tamakoro_exg, 0
- .equ se_tamakoro_cmp, 1
-
- .section .rodata
- .global se_tamakoro
- .align 2
-
-@********************** Track 1 **********************@
-
-se_tamakoro_1:
- .byte KEYSH , se_tamakoro_key+0
- .byte TEMPO , 150*se_tamakoro_tbs/2
- .byte VOICE , 63
- .byte VOL , 110*se_tamakoro_mvl/mxv
- .byte BEND , c_v+0
- .byte TIE , Dn3 , v127
- .byte W96
- .byte W96
- .byte W96
- .byte W96
- .byte W96
- .byte EOT
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_tamakoro:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_tamakoro_pri @ Priority
- .byte se_tamakoro_rev @ Reverb.
-
- .word se_tamakoro_grp
-
- .word se_tamakoro_1
-
- .end
diff --git a/sound/songs/se_tamakoro_e.s b/sound/songs/se_tamakoro_e.s
deleted file mode 100644
index db16f06b5..000000000
--- a/sound/songs/se_tamakoro_e.s
+++ /dev/null
@@ -1,75 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_tamakoro_e_grp, voicegroup128
- .equ se_tamakoro_e_pri, 2
- .equ se_tamakoro_e_rev, reverb_set+50
- .equ se_tamakoro_e_mvl, 127
- .equ se_tamakoro_e_key, 0
- .equ se_tamakoro_e_tbs, 1
- .equ se_tamakoro_e_exg, 0
- .equ se_tamakoro_e_cmp, 1
-
- .section .rodata
- .global se_tamakoro_e
- .align 2
-
-@********************** Track 1 **********************@
-
-se_tamakoro_e_1:
- .byte KEYSH , se_tamakoro_e_key+0
- .byte TEMPO , 150*se_tamakoro_e_tbs/2
- .byte VOICE , 63
- .byte BENDR , 6
- .byte VOL , 110*se_tamakoro_e_mvl/mxv
- .byte BEND , c_v+0
- .byte N72 , Dn3 , v127
- .byte W06
- .byte VOL , 107*se_tamakoro_e_mvl/mxv
- .byte BEND , c_v-3
- .byte W06
- .byte VOL , 106*se_tamakoro_e_mvl/mxv
- .byte BEND , c_v-5
- .byte W06
- .byte VOL , 104*se_tamakoro_e_mvl/mxv
- .byte BEND , c_v-7
- .byte W06
- .byte VOL , 102*se_tamakoro_e_mvl/mxv
- .byte BEND , c_v-10
- .byte W06
- .byte VOL , 97*se_tamakoro_e_mvl/mxv
- .byte BEND , c_v-12
- .byte W06
- .byte VOL , 90*se_tamakoro_e_mvl/mxv
- .byte BEND , c_v-14
- .byte W06
- .byte VOL , 73*se_tamakoro_e_mvl/mxv
- .byte BEND , c_v-19
- .byte W06
- .byte VOL , 58*se_tamakoro_e_mvl/mxv
- .byte BEND , c_v-24
- .byte W06
- .byte VOL , 40*se_tamakoro_e_mvl/mxv
- .byte BEND , c_v-29
- .byte W06
- .byte VOL , 25*se_tamakoro_e_mvl/mxv
- .byte BEND , c_v-35
- .byte W06
- .byte VOL , 12*se_tamakoro_e_mvl/mxv
- .byte BEND , c_v-46
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_tamakoro_e:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_tamakoro_e_pri @ Priority
- .byte se_tamakoro_e_rev @ Reverb.
-
- .word se_tamakoro_e_grp
-
- .word se_tamakoro_e_1
-
- .end
diff --git a/sound/songs/se_tb_kara.s b/sound/songs/se_tb_kara.s
deleted file mode 100644
index 2b5772256..000000000
--- a/sound/songs/se_tb_kara.s
+++ /dev/null
@@ -1,43 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_tb_kara_grp, voicegroup127
- .equ se_tb_kara_pri, 5
- .equ se_tb_kara_rev, reverb_set+50
- .equ se_tb_kara_mvl, 127
- .equ se_tb_kara_key, 0
- .equ se_tb_kara_tbs, 1
- .equ se_tb_kara_exg, 0
- .equ se_tb_kara_cmp, 1
-
- .section .rodata
- .global se_tb_kara
- .align 2
-
-@********************** Track 1 **********************@
-
-se_tb_kara_1:
- .byte KEYSH , se_tb_kara_key+0
- .byte TEMPO , 150*se_tb_kara_tbs/2
- .byte VOICE , 119
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 100*se_tb_kara_mvl/mxv
- .byte BEND , c_v+1
- .byte N02 , Gs4 , v040
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_tb_kara:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_tb_kara_pri @ Priority
- .byte se_tb_kara_rev @ Reverb.
-
- .word se_tb_kara_grp
-
- .word se_tb_kara_1
-
- .end
diff --git a/sound/songs/se_tb_kon.s b/sound/songs/se_tb_kon.s
deleted file mode 100644
index 44ae71f3f..000000000
--- a/sound/songs/se_tb_kon.s
+++ /dev/null
@@ -1,48 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_tb_kon_grp, voicegroup128
- .equ se_tb_kon_pri, 5
- .equ se_tb_kon_rev, reverb_set+50
- .equ se_tb_kon_mvl, 127
- .equ se_tb_kon_key, 0
- .equ se_tb_kon_tbs, 1
- .equ se_tb_kon_exg, 0
- .equ se_tb_kon_cmp, 1
-
- .section .rodata
- .global se_tb_kon
- .align 2
-
-@********************** Track 1 **********************@
-
-se_tb_kon_1:
- .byte KEYSH , se_tb_kon_key+0
- .byte TEMPO , 150*se_tb_kon_tbs/2
- .byte VOICE , 16
- .byte VOL , 110*se_tb_kon_mvl/mxv
- .byte BEND , c_v+1
- .byte N03 , Gs4 , v072
- .byte W01
- .byte BEND , c_v-2
- .byte W01
- .byte VOL , 58*se_tb_kon_mvl/mxv
- .byte BEND , c_v-10
- .byte W01
- .byte VOL , 28*se_tb_kon_mvl/mxv
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_tb_kon:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_tb_kon_pri @ Priority
- .byte se_tb_kon_rev @ Reverb.
-
- .word se_tb_kon_grp
-
- .word se_tb_kon_1
-
- .end
diff --git a/sound/songs/se_tb_start.s b/sound/songs/se_tb_start.s
deleted file mode 100644
index 136cb1a4b..000000000
--- a/sound/songs/se_tb_start.s
+++ /dev/null
@@ -1,75 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_tb_start_grp, voicegroup128
- .equ se_tb_start_pri, 5
- .equ se_tb_start_rev, reverb_set+50
- .equ se_tb_start_mvl, 127
- .equ se_tb_start_key, 0
- .equ se_tb_start_tbs, 1
- .equ se_tb_start_exg, 0
- .equ se_tb_start_cmp, 1
-
- .section .rodata
- .global se_tb_start
- .align 2
-
-@********************** Track 1 **********************@
-
-se_tb_start_1:
- .byte KEYSH , se_tb_start_key+0
- .byte TEMPO , 150*se_tb_start_tbs/2
- .byte VOICE , 36
- .byte BENDR , 12
- .byte PAN , c_v-32
- .byte VOL , 16*se_tb_start_mvl/mxv
- .byte BEND , c_v+1
- .byte N09 , Gn5 , v032
- .byte W01
- .byte VOL , 63*se_tb_start_mvl/mxv
- .byte W01
- .byte 98*se_tb_start_mvl/mxv
- .byte W01
- .byte 110*se_tb_start_mvl/mxv
- .byte W01
- .byte 99*se_tb_start_mvl/mxv
- .byte BEND , c_v+5
- .byte W02
- .byte VOL , 63*se_tb_start_mvl/mxv
- .byte BEND , c_v+13
- .byte W01
- .byte VOL , 22*se_tb_start_mvl/mxv
- .byte BEND , c_v+21
- .byte W01
- .byte VOL , 9*se_tb_start_mvl/mxv
- .byte BEND , c_v+33
- .byte W04
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_tb_start_2:
- .byte KEYSH , se_tb_start_key+0
- .byte VOICE , 71
- .byte PAN , c_v+32
- .byte VOL , 110*se_tb_start_mvl/mxv
- .byte BEND , c_v+1
- .byte N09 , Fs4 , v060
- .byte W06
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_tb_start:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_tb_start_pri @ Priority
- .byte se_tb_start_rev @ Reverb.
-
- .word se_tb_start_grp
-
- .word se_tb_start_1
- .word se_tb_start_2
-
- .end
diff --git a/sound/songs/se_tk_kasya.s b/sound/songs/se_tk_kasya.s
deleted file mode 100644
index 9bd0c6c4c..000000000
--- a/sound/songs/se_tk_kasya.s
+++ /dev/null
@@ -1,46 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_tk_kasya_grp, voicegroup127
- .equ se_tk_kasya_pri, 4
- .equ se_tk_kasya_rev, reverb_set+50
- .equ se_tk_kasya_mvl, 127
- .equ se_tk_kasya_key, 0
- .equ se_tk_kasya_tbs, 1
- .equ se_tk_kasya_exg, 0
- .equ se_tk_kasya_cmp, 1
-
- .section .rodata
- .global se_tk_kasya
- .align 2
-
-@********************** Track 1 **********************@
-
-se_tk_kasya_1:
- .byte KEYSH , se_tk_kasya_key+0
- .byte TEMPO , 150*se_tk_kasya_tbs/2
- .byte VOICE , 126
- .byte VOL , 110*se_tk_kasya_mvl/mxv
- .byte N01 , Gs3 , v127
- .byte W01
- .byte Cn4 , v068
- .byte W02
- .byte W02
- .byte N03 , Gs4 , v127
- .byte W01
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_tk_kasya:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_tk_kasya_pri @ Priority
- .byte se_tk_kasya_rev @ Reverb.
-
- .word se_tk_kasya_grp
-
- .word se_tk_kasya_1
-
- .end
diff --git a/sound/songs/se_tk_warpin.s b/sound/songs/se_tk_warpin.s
deleted file mode 100644
index b40985aa0..000000000
--- a/sound/songs/se_tk_warpin.s
+++ /dev/null
@@ -1,56 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_tk_warpin_grp, voicegroup127
- .equ se_tk_warpin_pri, 4
- .equ se_tk_warpin_rev, reverb_set+50
- .equ se_tk_warpin_mvl, 127
- .equ se_tk_warpin_key, 0
- .equ se_tk_warpin_tbs, 1
- .equ se_tk_warpin_exg, 0
- .equ se_tk_warpin_cmp, 1
-
- .section .rodata
- .global se_tk_warpin
- .align 2
-
-@********************** Track 1 **********************@
-
-se_tk_warpin_1:
- .byte KEYSH , se_tk_warpin_key+0
- .byte TEMPO , 110*se_tk_warpin_tbs/2
- .byte VOICE , 90
- .byte VOL , 90*se_tk_warpin_mvl/mxv
- .byte N06 , En4 , v127
- .byte W03
- .byte W03
- .byte N03 , En4 , v016
- .byte W03
- .byte N06 , En4 , v112
- .byte W03
- .byte W03
- .byte N03 , En4 , v016
- .byte W03
- .byte N06 , En4 , v088
- .byte W03
- .byte W03
- .byte N03 , En4 , v016
- .byte W03
- .byte N06 , En4 , v064
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_tk_warpin:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_tk_warpin_pri @ Priority
- .byte se_tk_warpin_rev @ Reverb.
-
- .word se_tk_warpin_grp
-
- .word se_tk_warpin_1
-
- .end
diff --git a/sound/songs/se_tk_warpout.s b/sound/songs/se_tk_warpout.s
deleted file mode 100644
index 0a1a0e96b..000000000
--- a/sound/songs/se_tk_warpout.s
+++ /dev/null
@@ -1,60 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_tk_warpout_grp, voicegroup127
- .equ se_tk_warpout_pri, 4
- .equ se_tk_warpout_rev, reverb_set+50
- .equ se_tk_warpout_mvl, 127
- .equ se_tk_warpout_key, 0
- .equ se_tk_warpout_tbs, 1
- .equ se_tk_warpout_exg, 0
- .equ se_tk_warpout_cmp, 1
-
- .section .rodata
- .global se_tk_warpout
- .align 2
-
-@********************** Track 1 **********************@
-
-se_tk_warpout_1:
- .byte KEYSH , se_tk_warpout_key+0
- .byte TEMPO , 110*se_tk_warpout_tbs/2
- .byte VOICE , 93
- .byte XCMD , xIECV , 9
- .byte xIECL , 8
- .byte VOL , 90*se_tk_warpout_mvl/mxv
- .byte N06 , En5 , v064
- .byte W03
- .byte W03
- .byte N03 , En5 , v016
- .byte W03
- .byte N06 , En5 , v088
- .byte W03
- .byte W03
- .byte N03 , En5 , v016
- .byte W03
- .byte N06 , En5 , v112
- .byte W03
- .byte W03
- .byte N03 , En5 , v016
- .byte W03
- .byte N06 , En5 , v127
- .byte W03
- .byte W03
- .byte N03 , En5 , v016
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_tk_warpout:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_tk_warpout_pri @ Priority
- .byte se_tk_warpout_rev @ Reverb.
-
- .word se_tk_warpout_grp
-
- .word se_tk_warpout_1
-
- .end
diff --git a/sound/songs/se_toreeye.s b/sound/songs/se_toreeye.s
deleted file mode 100644
index 685e37878..000000000
--- a/sound/songs/se_toreeye.s
+++ /dev/null
@@ -1,146 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_toreeye_grp, voicegroup129
- .equ se_toreeye_pri, 5
- .equ se_toreeye_rev, reverb_set+50
- .equ se_toreeye_mvl, 127
- .equ se_toreeye_key, 0
- .equ se_toreeye_tbs, 1
- .equ se_toreeye_exg, 0
- .equ se_toreeye_cmp, 1
-
- .section .rodata
- .global se_toreeye
- .align 2
-
-@********************** Track 1 **********************@
-
-se_toreeye_1:
- .byte KEYSH , se_toreeye_key+0
- .byte TEMPO , 136*se_toreeye_tbs/2
- .byte VOICE , 13
- .byte LFOS , 44
- .byte BENDR , 12
- .byte VOL , 120*se_toreeye_mvl/mxv
- .byte PAN , c_v-16
- .byte N01 , An5 , v064
- .byte W01
- .byte Dn6
- .byte W01
- .byte An5
- .byte W01
- .byte Dn6
- .byte W01
- .byte Fs6
- .byte W02
- .byte An5
- .byte W01
- .byte Dn6
- .byte W01
- .byte An5
- .byte W01
- .byte Fs6
- .byte W01
- .byte An5
- .byte W02
- .byte N01
- .byte W01
- .byte Dn6
- .byte W01
- .byte An5
- .byte W01
- .byte Dn6
- .byte W01
- .byte Fs6
- .byte W02
- .byte An5
- .byte W01
- .byte Dn6
- .byte W01
- .byte An5
- .byte W01
- .byte Fs6
- .byte W01
- .byte An5
- .byte W02
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_toreeye_2:
- .byte KEYSH , se_toreeye_key+0
- .byte VOICE , 80
- .byte LFOS , 44
- .byte XCMD , xIECV , 18
- .byte xIECV , 16
- .byte BENDR , 12
- .byte VOL , 45*se_toreeye_mvl/mxv
- .byte MOD , 2
- .byte PAN , c_v+63
- .byte BEND , c_v+2
- .byte N01 , Dn5 , v064
- .byte W01
- .byte Fs5
- .byte W01
- .byte PAN , c_v-62
- .byte N01 , Dn5
- .byte W01
- .byte Fs5
- .byte W01
- .byte PAN , c_v+63
- .byte N01 , An5
- .byte W02
- .byte Dn5
- .byte W01
- .byte PAN , c_v-61
- .byte N01 , Fs5
- .byte W01
- .byte Dn5
- .byte W01
- .byte PAN , c_v+63
- .byte N01 , An5
- .byte W01
- .byte Dn5
- .byte W02
- .byte PAN , c_v-61
- .byte N01
- .byte W01
- .byte Fs5
- .byte W01
- .byte PAN , c_v+63
- .byte N01 , Dn5
- .byte W01
- .byte Fs5
- .byte W01
- .byte PAN , c_v-61
- .byte N01 , An5
- .byte W02
- .byte Dn5
- .byte W01
- .byte PAN , c_v+63
- .byte N01 , Fs5
- .byte W01
- .byte Dn5
- .byte W01
- .byte PAN , c_v-61
- .byte N01 , An5
- .byte W01
- .byte Dn5
- .byte W02
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_toreeye:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_toreeye_pri @ Priority
- .byte se_toreeye_rev @ Reverb.
-
- .word se_toreeye_grp
-
- .word se_toreeye_1
- .word se_toreeye_2
-
- .end
diff --git a/sound/songs/se_toreoff.s b/sound/songs/se_toreoff.s
deleted file mode 100644
index d5632eeb7..000000000
--- a/sound/songs/se_toreoff.s
+++ /dev/null
@@ -1,87 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_toreoff_grp, voicegroup129
- .equ se_toreoff_pri, 5
- .equ se_toreoff_rev, reverb_set+50
- .equ se_toreoff_mvl, 127
- .equ se_toreoff_key, 0
- .equ se_toreoff_tbs, 1
- .equ se_toreoff_exg, 0
- .equ se_toreoff_cmp, 1
-
- .section .rodata
- .global se_toreoff
- .align 2
-
-@********************** Track 1 **********************@
-
-se_toreoff_1:
- .byte KEYSH , se_toreoff_key+0
- .byte TEMPO , 120*se_toreoff_tbs/2
- .byte VOICE , 10
- .byte VOL , 110*se_toreoff_mvl/mxv
- .byte BEND , c_v-8
- .byte W01
- .byte N01 , Ds3 , v112
- .byte W04
- .byte Gs1
- .byte W01
- .byte Bn1 , v056
- .byte W04
- .byte Bn1 , v024
- .byte W02
- .byte W06
- .byte W06
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_toreoff_2:
- .byte KEYSH , se_toreoff_key+0
- .byte VOICE , 82
- .byte VOL , 110*se_toreoff_mvl/mxv
- .byte BENDR , 12
- .byte LFOS , 44
- .byte BEND , c_v+0
- .byte N01 , Cs3 , v064
- .byte W01
- .byte Fs4 , v032
- .byte W01
- .byte BEND , c_v+0
- .byte N01 , Gs5 , v028
- .byte W01
- .byte BEND , c_v+63
- .byte W01
- .byte c_v-63
- .byte N01 , Cs3 , v036
- .byte W01
- .byte BEND , c_v+63
- .byte W01
- .byte c_v-63
- .byte N01 , Bn4 , v052
- .byte W02
- .byte BEND , c_v+0
- .byte W02
- .byte N01 , Cs1
- .byte W02
- .byte W06
- .byte W06
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_toreoff:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_toreoff_pri @ Priority
- .byte se_toreoff_rev @ Reverb.
-
- .word se_toreoff_grp
-
- .word se_toreoff_1
- .word se_toreoff_2
-
- .end
diff --git a/sound/songs/se_toy_a.s b/sound/songs/se_toy_a.s
deleted file mode 100644
index ab772025d..000000000
--- a/sound/songs/se_toy_a.s
+++ /dev/null
@@ -1,59 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_toy_a_grp, voicegroup128
- .equ se_toy_a_pri, 4
- .equ se_toy_a_rev, reverb_set+50
- .equ se_toy_a_mvl, 127
- .equ se_toy_a_key, 0
- .equ se_toy_a_tbs, 1
- .equ se_toy_a_exg, 0
- .equ se_toy_a_cmp, 1
-
- .section .rodata
- .global se_toy_a
- .align 2
-
-@********************** Track 1 **********************@
-
-se_toy_a_1:
- .byte KEYSH , se_toy_a_key+0
- .byte TEMPO , 150*se_toy_a_tbs/2
- .byte VOICE , 48
- .byte VOL , 110*se_toy_a_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , An5 , v112
- .byte W06
- .byte W06
- .byte N06 , An5 , v040
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_toy_a_2:
- .byte KEYSH , se_toy_a_key+0
- .byte VOICE , 17
- .byte VOL , 110*se_toy_a_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , En6 , v060
- .byte W06
- .byte W06
- .byte N06 , En6 , v032
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_toy_a:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_toy_a_pri @ Priority
- .byte se_toy_a_rev @ Reverb.
-
- .word se_toy_a_grp
-
- .word se_toy_a_1
- .word se_toy_a_2
-
- .end
diff --git a/sound/songs/se_toy_b.s b/sound/songs/se_toy_b.s
deleted file mode 100644
index b773808f1..000000000
--- a/sound/songs/se_toy_b.s
+++ /dev/null
@@ -1,59 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_toy_b_grp, voicegroup128
- .equ se_toy_b_pri, 4
- .equ se_toy_b_rev, reverb_set+50
- .equ se_toy_b_mvl, 127
- .equ se_toy_b_key, 0
- .equ se_toy_b_tbs, 1
- .equ se_toy_b_exg, 0
- .equ se_toy_b_cmp, 1
-
- .section .rodata
- .global se_toy_b
- .align 2
-
-@********************** Track 1 **********************@
-
-se_toy_b_1:
- .byte KEYSH , se_toy_b_key+0
- .byte TEMPO , 150*se_toy_b_tbs/2
- .byte VOICE , 48
- .byte VOL , 110*se_toy_b_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , Bn5 , v112
- .byte W06
- .byte W06
- .byte N06 , Bn5 , v040
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_toy_b_2:
- .byte KEYSH , se_toy_b_key+0
- .byte VOICE , 17
- .byte VOL , 110*se_toy_b_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , Fs6 , v060
- .byte W06
- .byte W06
- .byte N06 , Fs6 , v032
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_toy_b:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_toy_b_pri @ Priority
- .byte se_toy_b_rev @ Reverb.
-
- .word se_toy_b_grp
-
- .word se_toy_b_1
- .word se_toy_b_2
-
- .end
diff --git a/sound/songs/se_toy_c.s b/sound/songs/se_toy_c.s
deleted file mode 100644
index 43b09ad9b..000000000
--- a/sound/songs/se_toy_c.s
+++ /dev/null
@@ -1,59 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_toy_c_grp, voicegroup128
- .equ se_toy_c_pri, 4
- .equ se_toy_c_rev, reverb_set+50
- .equ se_toy_c_mvl, 127
- .equ se_toy_c_key, 0
- .equ se_toy_c_tbs, 1
- .equ se_toy_c_exg, 0
- .equ se_toy_c_cmp, 1
-
- .section .rodata
- .global se_toy_c
- .align 2
-
-@********************** Track 1 **********************@
-
-se_toy_c_1:
- .byte KEYSH , se_toy_c_key+0
- .byte TEMPO , 150*se_toy_c_tbs/2
- .byte VOICE , 48
- .byte VOL , 110*se_toy_c_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , Cn5 , v112
- .byte W06
- .byte W06
- .byte N06 , Cn5 , v040
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_toy_c_2:
- .byte KEYSH , se_toy_c_key+0
- .byte VOICE , 17
- .byte VOL , 110*se_toy_c_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , Gn5 , v060
- .byte W06
- .byte W06
- .byte N06 , Gn5 , v032
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_toy_c:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_toy_c_pri @ Priority
- .byte se_toy_c_rev @ Reverb.
-
- .word se_toy_c_grp
-
- .word se_toy_c_1
- .word se_toy_c_2
-
- .end
diff --git a/sound/songs/se_toy_c1.s b/sound/songs/se_toy_c1.s
deleted file mode 100644
index 9a258f36d..000000000
--- a/sound/songs/se_toy_c1.s
+++ /dev/null
@@ -1,59 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_toy_c1_grp, voicegroup128
- .equ se_toy_c1_pri, 4
- .equ se_toy_c1_rev, reverb_set+50
- .equ se_toy_c1_mvl, 127
- .equ se_toy_c1_key, 0
- .equ se_toy_c1_tbs, 1
- .equ se_toy_c1_exg, 0
- .equ se_toy_c1_cmp, 1
-
- .section .rodata
- .global se_toy_c1
- .align 2
-
-@********************** Track 1 **********************@
-
-se_toy_c1_1:
- .byte KEYSH , se_toy_c1_key+0
- .byte TEMPO , 150*se_toy_c1_tbs/2
- .byte VOICE , 48
- .byte VOL , 110*se_toy_c1_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , Cn6 , v112
- .byte W06
- .byte W06
- .byte N06 , Cn6 , v040
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_toy_c1_2:
- .byte KEYSH , se_toy_c1_key+0
- .byte VOICE , 17
- .byte VOL , 110*se_toy_c1_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , Gn6 , v060
- .byte W06
- .byte W06
- .byte N06 , Gn6 , v032
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_toy_c1:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_toy_c1_pri @ Priority
- .byte se_toy_c1_rev @ Reverb.
-
- .word se_toy_c1_grp
-
- .word se_toy_c1_1
- .word se_toy_c1_2
-
- .end
diff --git a/sound/songs/se_toy_d.s b/sound/songs/se_toy_d.s
deleted file mode 100644
index 953fee96d..000000000
--- a/sound/songs/se_toy_d.s
+++ /dev/null
@@ -1,59 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_toy_d_grp, voicegroup128
- .equ se_toy_d_pri, 4
- .equ se_toy_d_rev, reverb_set+50
- .equ se_toy_d_mvl, 127
- .equ se_toy_d_key, 0
- .equ se_toy_d_tbs, 1
- .equ se_toy_d_exg, 0
- .equ se_toy_d_cmp, 1
-
- .section .rodata
- .global se_toy_d
- .align 2
-
-@********************** Track 1 **********************@
-
-se_toy_d_1:
- .byte KEYSH , se_toy_d_key+0
- .byte TEMPO , 150*se_toy_d_tbs/2
- .byte VOICE , 48
- .byte VOL , 110*se_toy_d_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , Dn5 , v112
- .byte W06
- .byte W06
- .byte N06 , Dn5 , v040
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_toy_d_2:
- .byte KEYSH , se_toy_d_key+0
- .byte VOICE , 17
- .byte VOL , 110*se_toy_d_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , An5 , v060
- .byte W06
- .byte W06
- .byte N06 , An5 , v032
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_toy_d:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_toy_d_pri @ Priority
- .byte se_toy_d_rev @ Reverb.
-
- .word se_toy_d_grp
-
- .word se_toy_d_1
- .word se_toy_d_2
-
- .end
diff --git a/sound/songs/se_toy_dango.s b/sound/songs/se_toy_dango.s
deleted file mode 100644
index b8469a5a0..000000000
--- a/sound/songs/se_toy_dango.s
+++ /dev/null
@@ -1,52 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_toy_dango_grp, voicegroup128
- .equ se_toy_dango_pri, 4
- .equ se_toy_dango_rev, reverb_set+50
- .equ se_toy_dango_mvl, 127
- .equ se_toy_dango_key, 0
- .equ se_toy_dango_tbs, 1
- .equ se_toy_dango_exg, 0
- .equ se_toy_dango_cmp, 1
-
- .section .rodata
- .global se_toy_dango
- .align 2
-
-@********************** Track 1 **********************@
-
-se_toy_dango_1:
- .byte KEYSH , se_toy_dango_key+0
- .byte TEMPO , 150*se_toy_dango_tbs/2
- .byte VOICE , 36
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 110*se_toy_dango_mvl/mxv
- .byte BEND , c_v+0
- .byte N01 , Cn4 , v112
- .byte W01
- .byte VOICE , 26
- .byte W01
- .byte N01 , Fn4 , v127
- .byte W01
- .byte W01
- .byte VOICE , 36
- .byte W02
- .byte N01 , Cn3 , v056
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_toy_dango:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_toy_dango_pri @ Priority
- .byte se_toy_dango_rev @ Reverb.
-
- .word se_toy_dango_grp
-
- .word se_toy_dango_1
-
- .end
diff --git a/sound/songs/se_toy_e.s b/sound/songs/se_toy_e.s
deleted file mode 100644
index d57dcf6c1..000000000
--- a/sound/songs/se_toy_e.s
+++ /dev/null
@@ -1,59 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_toy_e_grp, voicegroup128
- .equ se_toy_e_pri, 4
- .equ se_toy_e_rev, reverb_set+50
- .equ se_toy_e_mvl, 127
- .equ se_toy_e_key, 0
- .equ se_toy_e_tbs, 1
- .equ se_toy_e_exg, 0
- .equ se_toy_e_cmp, 1
-
- .section .rodata
- .global se_toy_e
- .align 2
-
-@********************** Track 1 **********************@
-
-se_toy_e_1:
- .byte KEYSH , se_toy_e_key+0
- .byte TEMPO , 150*se_toy_e_tbs/2
- .byte VOICE , 48
- .byte VOL , 110*se_toy_e_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , En5 , v112
- .byte W06
- .byte W06
- .byte N06 , En5 , v040
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_toy_e_2:
- .byte KEYSH , se_toy_e_key+0
- .byte VOICE , 17
- .byte VOL , 110*se_toy_e_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , Bn5 , v060
- .byte W06
- .byte W06
- .byte N06 , Bn5 , v032
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_toy_e:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_toy_e_pri @ Priority
- .byte se_toy_e_rev @ Reverb.
-
- .word se_toy_e_grp
-
- .word se_toy_e_1
- .word se_toy_e_2
-
- .end
diff --git a/sound/songs/se_toy_f.s b/sound/songs/se_toy_f.s
deleted file mode 100644
index cde717ede..000000000
--- a/sound/songs/se_toy_f.s
+++ /dev/null
@@ -1,59 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_toy_f_grp, voicegroup128
- .equ se_toy_f_pri, 4
- .equ se_toy_f_rev, reverb_set+50
- .equ se_toy_f_mvl, 127
- .equ se_toy_f_key, 0
- .equ se_toy_f_tbs, 1
- .equ se_toy_f_exg, 0
- .equ se_toy_f_cmp, 1
-
- .section .rodata
- .global se_toy_f
- .align 2
-
-@********************** Track 1 **********************@
-
-se_toy_f_1:
- .byte KEYSH , se_toy_f_key+0
- .byte TEMPO , 150*se_toy_f_tbs/2
- .byte VOICE , 48
- .byte VOL , 110*se_toy_f_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , Fn5 , v112
- .byte W06
- .byte W06
- .byte N06 , Fn5 , v040
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_toy_f_2:
- .byte KEYSH , se_toy_f_key+0
- .byte VOICE , 17
- .byte VOL , 110*se_toy_f_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , Cn6 , v060
- .byte W06
- .byte W06
- .byte N06 , Cn6 , v032
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_toy_f:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_toy_f_pri @ Priority
- .byte se_toy_f_rev @ Reverb.
-
- .word se_toy_f_grp
-
- .word se_toy_f_1
- .word se_toy_f_2
-
- .end
diff --git a/sound/songs/se_toy_g.s b/sound/songs/se_toy_g.s
deleted file mode 100644
index 74c9c2ce9..000000000
--- a/sound/songs/se_toy_g.s
+++ /dev/null
@@ -1,59 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_toy_g_grp, voicegroup128
- .equ se_toy_g_pri, 4
- .equ se_toy_g_rev, reverb_set+50
- .equ se_toy_g_mvl, 127
- .equ se_toy_g_key, 0
- .equ se_toy_g_tbs, 1
- .equ se_toy_g_exg, 0
- .equ se_toy_g_cmp, 1
-
- .section .rodata
- .global se_toy_g
- .align 2
-
-@********************** Track 1 **********************@
-
-se_toy_g_1:
- .byte KEYSH , se_toy_g_key+0
- .byte TEMPO , 150*se_toy_g_tbs/2
- .byte VOICE , 48
- .byte VOL , 110*se_toy_g_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , Gn5 , v112
- .byte W06
- .byte W06
- .byte N06 , Gn5 , v040
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_toy_g_2:
- .byte KEYSH , se_toy_g_key+0
- .byte VOICE , 17
- .byte VOL , 110*se_toy_g_mvl/mxv
- .byte BEND , c_v-7
- .byte N12 , Dn6 , v060
- .byte W06
- .byte W06
- .byte N06 , Dn6 , v032
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_toy_g:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_toy_g_pri @ Priority
- .byte se_toy_g_rev @ Reverb.
-
- .word se_toy_g_grp
-
- .word se_toy_g_1
- .word se_toy_g_2
-
- .end
diff --git a/sound/songs/se_toy_kabe.s b/sound/songs/se_toy_kabe.s
deleted file mode 100644
index bb51229d0..000000000
--- a/sound/songs/se_toy_kabe.s
+++ /dev/null
@@ -1,75 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_toy_kabe_grp, voicegroup128
- .equ se_toy_kabe_pri, 4
- .equ se_toy_kabe_rev, reverb_set+50
- .equ se_toy_kabe_mvl, 127
- .equ se_toy_kabe_key, 0
- .equ se_toy_kabe_tbs, 1
- .equ se_toy_kabe_exg, 0
- .equ se_toy_kabe_cmp, 1
-
- .section .rodata
- .global se_toy_kabe
- .align 2
-
-@********************** Track 1 **********************@
-
-se_toy_kabe_1:
- .byte KEYSH , se_toy_kabe_key+0
- .byte TEMPO , 240*se_toy_kabe_tbs/2
- .byte VOICE , 41
- .byte BENDR , 12
- .byte VOL , 110*se_toy_kabe_mvl/mxv
- .byte BEND , c_v+0
- .byte N03 , Fs4 , v127
- .byte W01
- .byte BEND , c_v-8
- .byte W01
- .byte c_v-23
- .byte W01
- .byte W01
- .byte c_v+0
- .byte N10 , Cn4
- .byte W02
- .byte W03
- .byte W01
- .byte VOL , 96*se_toy_kabe_mvl/mxv
- .byte W02
- .byte 82*se_toy_kabe_mvl/mxv
- .byte W01
- .byte 45*se_toy_kabe_mvl/mxv
- .byte W01
- .byte 20*se_toy_kabe_mvl/mxv
- .byte W01
- .byte W03
- .byte W01
- .byte 110*se_toy_kabe_mvl/mxv
- .byte N10 , Cn4 , v040
- .byte W02
- .byte W03
- .byte W01
- .byte VOL , 96*se_toy_kabe_mvl/mxv
- .byte W01
- .byte 82*se_toy_kabe_mvl/mxv
- .byte W01
- .byte 45*se_toy_kabe_mvl/mxv
- .byte W01
- .byte 20*se_toy_kabe_mvl/mxv
- .byte W02
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_toy_kabe:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_toy_kabe_pri @ Priority
- .byte se_toy_kabe_rev @ Reverb.
-
- .word se_toy_kabe_grp
-
- .word se_toy_kabe_1
-
- .end
diff --git a/sound/songs/se_track_door.s b/sound/songs/se_track_door.s
deleted file mode 100644
index 8805c7b61..000000000
--- a/sound/songs/se_track_door.s
+++ /dev/null
@@ -1,61 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_track_door_grp, voicegroup128
- .equ se_track_door_pri, 4
- .equ se_track_door_rev, reverb_set+50
- .equ se_track_door_mvl, 127
- .equ se_track_door_key, 0
- .equ se_track_door_tbs, 1
- .equ se_track_door_exg, 0
- .equ se_track_door_cmp, 1
-
- .section .rodata
- .global se_track_door
- .align 2
-
-@********************** Track 1 **********************@
-
-se_track_door_1:
- .byte KEYSH , se_track_door_key+0
- .byte TEMPO , 150*se_track_door_tbs/2
- .byte VOICE , 8
- .byte VOL , 110*se_track_door_mvl/mxv
- .byte BEND , c_v+0
- .byte N03 , Cn2 , v092
- .byte W06
- .byte N01 , Cn3
- .byte W02
- .byte N02 , Cn4
- .byte W04
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_track_door_2:
- .byte VOL , 110*se_track_door_mvl/mxv
- .byte KEYSH , se_track_door_key+0
- .byte VOICE , 4
- .byte N03 , Cn2 , v032
- .byte W05
- .byte N01 , Cn4
- .byte W01
- .byte W02
- .byte N02
- .byte W04
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_track_door:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_track_door_pri @ Priority
- .byte se_track_door_rev @ Reverb.
-
- .word se_track_door_grp
-
- .word se_track_door_1
- .word se_track_door_2
-
- .end
diff --git a/sound/songs/se_track_haiki.s b/sound/songs/se_track_haiki.s
deleted file mode 100644
index 88737eb88..000000000
--- a/sound/songs/se_track_haiki.s
+++ /dev/null
@@ -1,49 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_track_haiki_grp, voicegroup127
- .equ se_track_haiki_pri, 4
- .equ se_track_haiki_rev, reverb_set+50
- .equ se_track_haiki_mvl, 127
- .equ se_track_haiki_key, 0
- .equ se_track_haiki_tbs, 1
- .equ se_track_haiki_exg, 0
- .equ se_track_haiki_cmp, 1
-
- .section .rodata
- .global se_track_haiki
- .align 2
-
-@********************** Track 1 **********************@
-
-se_track_haiki_1:
- .byte KEYSH , se_track_haiki_key+0
- .byte TEMPO , 150*se_track_haiki_tbs/2
- .byte VOICE , 120
- .byte VOL , 127*se_track_haiki_mvl/mxv
- .byte N06 , Bn3 , v028
- .byte W03
- .byte W03
- .byte N21 , Gs4
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_track_haiki:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_track_haiki_pri @ Priority
- .byte se_track_haiki_rev @ Reverb.
-
- .word se_track_haiki_grp
-
- .word se_track_haiki_1
-
- .end
diff --git a/sound/songs/se_track_move.s b/sound/songs/se_track_move.s
deleted file mode 100644
index 9b33a3780..000000000
--- a/sound/songs/se_track_move.s
+++ /dev/null
@@ -1,146 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_track_move_grp, voicegroup128
- .equ se_track_move_pri, 4
- .equ se_track_move_rev, reverb_set+50
- .equ se_track_move_mvl, 127
- .equ se_track_move_key, 0
- .equ se_track_move_tbs, 1
- .equ se_track_move_exg, 0
- .equ se_track_move_cmp, 1
-
- .section .rodata
- .global se_track_move
- .align 2
-
-@********************** Track 1 **********************@
-
-se_track_move_1:
- .byte KEYSH , se_track_move_key+0
- .byte TEMPO , 150*se_track_move_tbs/2
- .byte VOICE , 10
- .byte VOL , 18*se_track_move_mvl/mxv
- .byte BEND , c_v+0
- .byte N96 , Cs3 , v127
- .byte W08
- .byte VOL , 31*se_track_move_mvl/mxv
- .byte W08
- .byte 42*se_track_move_mvl/mxv
- .byte W08
- .byte 59*se_track_move_mvl/mxv
- .byte W08
- .byte 74*se_track_move_mvl/mxv
- .byte W08
- .byte 88*se_track_move_mvl/mxv
- .byte W08
- .byte 106*se_track_move_mvl/mxv
- .byte W08
- .byte 118*se_track_move_mvl/mxv
- .byte W08
- .byte 127*se_track_move_mvl/mxv
- .byte W32
-se_track_move_1_B1:
- .byte TIE , Cs3 , v127
- .byte W96
- .byte W96
- .byte W96
- .byte EOT
- .byte GOTO
- .word se_track_move_1_B1
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_track_move_2:
- .byte KEYSH , se_track_move_key+0
- .byte VOICE , 11
- .byte VOL , 18*se_track_move_mvl/mxv
- .byte W08
- .byte 31*se_track_move_mvl/mxv
- .byte W04
- .byte N03 , Fn2 , v044
- .byte W04
- .byte VOL , 42*se_track_move_mvl/mxv
- .byte W02
- .byte N03 , An2
- .byte W06
- .byte VOL , 59*se_track_move_mvl/mxv
- .byte W06
- .byte N03 , Cs2 , v052
- .byte W02
- .byte VOL , 74*se_track_move_mvl/mxv
- .byte W08
- .byte 88*se_track_move_mvl/mxv
- .byte W08
- .byte 106*se_track_move_mvl/mxv
- .byte N03 , Gn2 , v044
- .byte W08
- .byte VOL , 118*se_track_move_mvl/mxv
- .byte W08
- .byte 127*se_track_move_mvl/mxv
- .byte W08
- .byte N01 , Bn2 , v032
- .byte W12
- .byte N03 , Fn2 , v044
- .byte W12
-se_track_move_2_B1:
- .byte W12
- .byte N03 , Fn2 , v044
- .byte W06
- .byte An2 , v032
- .byte W12
- .byte Cs2 , v052
- .byte W12
- .byte An2 , v032
- .byte W06
- .byte Gn2 , v044
- .byte W24
- .byte N03
- .byte W12
- .byte Fn2
- .byte W12
- .byte Gn2
- .byte W18
- .byte Cs2 , v052
- .byte W12
- .byte N01 , Bn2 , v032
- .byte W06
- .byte N03 , Fn2 , v044
- .byte W24
- .byte N03
- .byte W18
- .byte Cs2 , v052
- .byte W18
- .byte Gn2 , v044
- .byte W18
- .byte An2
- .byte W12
- .byte Cs2 , v052
- .byte W18
- .byte Gn2 , v044
- .byte W12
- .byte Fn2
- .byte W18
- .byte N01 , Bn2 , v032
- .byte W06
- .byte N03 , Fn2 , v044
- .byte W12
- .byte GOTO
- .word se_track_move_2_B1
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_track_move:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_track_move_pri @ Priority
- .byte se_track_move_rev @ Reverb.
-
- .word se_track_move_grp
-
- .word se_track_move_1
- .word se_track_move_2
-
- .end
diff --git a/sound/songs/se_track_stop.s b/sound/songs/se_track_stop.s
deleted file mode 100644
index ef0aefc55..000000000
--- a/sound/songs/se_track_stop.s
+++ /dev/null
@@ -1,123 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_track_stop_grp, voicegroup128
- .equ se_track_stop_pri, 4
- .equ se_track_stop_rev, reverb_set+50
- .equ se_track_stop_mvl, 127
- .equ se_track_stop_key, 0
- .equ se_track_stop_tbs, 1
- .equ se_track_stop_exg, 0
- .equ se_track_stop_cmp, 1
-
- .section .rodata
- .global se_track_stop
- .align 2
-
-@********************** Track 1 **********************@
-
-se_track_stop_1:
- .byte KEYSH , se_track_stop_key+0
- .byte TEMPO , 150*se_track_stop_tbs/2
- .byte VOICE , 10
- .byte VOL , 127*se_track_stop_mvl/mxv
- .byte BEND , c_v+0
- .byte TIE , Cs3 , v127
- .byte W09
- .byte BEND , c_v-9
- .byte W09
- .byte c_v-18
- .byte W06
- .byte W09
- .byte c_v-26
- .byte W09
- .byte c_v-34
- .byte W06
- .byte W06
- .byte c_v-43
- .byte W05
- .byte VOL , 123*se_track_stop_mvl/mxv
- .byte W04
- .byte BEND , c_v-54
- .byte W02
- .byte VOL , 117*se_track_stop_mvl/mxv
- .byte W06
- .byte 110*se_track_stop_mvl/mxv
- .byte W01
- .byte BEND , c_v-64
- .byte W08
- .byte VOL , 101*se_track_stop_mvl/mxv
- .byte W06
- .byte 89*se_track_stop_mvl/mxv
- .byte W09
- .byte 77*se_track_stop_mvl/mxv
- .byte W01
- .byte W05
- .byte 60*se_track_stop_mvl/mxv
- .byte W09
- .byte 48*se_track_stop_mvl/mxv
- .byte W06
- .byte 36*se_track_stop_mvl/mxv
- .byte W04
- .byte W03
- .byte 23*se_track_stop_mvl/mxv
- .byte W06
- .byte 8*se_track_stop_mvl/mxv
- .byte W09
- .byte 0*se_track_stop_mvl/mxv
- .byte W01
- .byte EOT
- .byte W05
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_track_stop_2:
- .byte KEYSH , se_track_stop_key+0
- .byte VOICE , 13
- .byte VOL , 90*se_track_stop_mvl/mxv
- .byte W06
- .byte N09 , Gs6 , v024
- .byte W18
- .byte W05
- .byte N15
- .byte W19
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte FINE
-
-@********************** Track 3 **********************@
-
-se_track_stop_3:
- .byte KEYSH , se_track_stop_key+0
- .byte VOICE , 12
- .byte VOL , 90*se_track_stop_mvl/mxv
- .byte W06
- .byte N09 , An6 , v024
- .byte W18
- .byte W05
- .byte N15
- .byte W19
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_track_stop:
- .byte 3 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_track_stop_pri @ Priority
- .byte se_track_stop_rev @ Reverb.
-
- .word se_track_stop_grp
-
- .word se_track_stop_1
- .word se_track_stop_2
- .word se_track_stop_3
-
- .end
diff --git a/sound/songs/se_tu_saa.s b/sound/songs/se_tu_saa.s
deleted file mode 100644
index c9346509c..000000000
--- a/sound/songs/se_tu_saa.s
+++ /dev/null
@@ -1,55 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_tu_saa_grp, voicegroup127
- .equ se_tu_saa_pri, 4
- .equ se_tu_saa_rev, reverb_set+50
- .equ se_tu_saa_mvl, 127
- .equ se_tu_saa_key, 0
- .equ se_tu_saa_tbs, 1
- .equ se_tu_saa_exg, 0
- .equ se_tu_saa_cmp, 1
-
- .section .rodata
- .global se_tu_saa
- .align 2
-
-@********************** Track 1 **********************@
-
-se_tu_saa_1:
- .byte KEYSH , se_tu_saa_key+0
- .byte TEMPO , 220*se_tu_saa_tbs/2
- .byte VOICE , 123
- .byte VOL , 90*se_tu_saa_mvl/mxv
- .byte N03 , Cn4 , v060
- .byte W03
- .byte VOL , 62*se_tu_saa_mvl/mxv
- .byte N32 , Gs4
- .byte W03
- .byte VOL , 68*se_tu_saa_mvl/mxv
- .byte W03
- .byte 72*se_tu_saa_mvl/mxv
- .byte W03
- .byte 78*se_tu_saa_mvl/mxv
- .byte W03
- .byte 85*se_tu_saa_mvl/mxv
- .byte W03
- .byte 90*se_tu_saa_mvl/mxv
- .byte W06
- .byte W06
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_tu_saa:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_tu_saa_pri @ Priority
- .byte se_tu_saa_rev @ Reverb.
-
- .word se_tu_saa_grp
-
- .word se_tu_saa_1
-
- .end
diff --git a/sound/songs/se_u.s b/sound/songs/se_u.s
deleted file mode 100644
index e39a7e0e0..000000000
--- a/sound/songs/se_u.s
+++ /dev/null
@@ -1,45 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_u_grp, voicegroup128
- .equ se_u_pri, 4
- .equ se_u_rev, reverb_set+50
- .equ se_u_mvl, 127
- .equ se_u_key, 0
- .equ se_u_tbs, 1
- .equ se_u_exg, 0
- .equ se_u_cmp, 1
-
- .section .rodata
- .global se_u
- .align 2
-
-@********************** Track 1 **********************@
-
-se_u_1:
- .byte KEYSH , se_u_key+0
- .byte TEMPO , 240*se_u_tbs/2
- .byte VOICE , 124
- .byte BENDR , 12
- .byte VOL , 127*se_u_mvl/mxv
- .byte BEND , c_v+0
- .byte N72 , Cn3 , v127
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_u:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_u_pri @ Priority
- .byte se_u_rev @ Reverb.
-
- .word se_u_grp
-
- .word se_u_1
-
- .end
diff --git a/sound/songs/se_ussoki.s b/sound/songs/se_ussoki.s
deleted file mode 100644
index b04f6708f..000000000
--- a/sound/songs/se_ussoki.s
+++ /dev/null
@@ -1,55 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_ussoki_grp, voicegroup129
- .equ se_ussoki_pri, 5
- .equ se_ussoki_rev, reverb_set+50
- .equ se_ussoki_mvl, 127
- .equ se_ussoki_key, 0
- .equ se_ussoki_tbs, 1
- .equ se_ussoki_exg, 0
- .equ se_ussoki_cmp, 1
-
- .section .rodata
- .global se_ussoki
- .align 2
-
-@********************** Track 1 **********************@
-
-se_ussoki_1:
- .byte KEYSH , se_ussoki_key+0
- .byte TEMPO , 100*se_ussoki_tbs/2
- .byte VOICE , 127
- .byte PAN , c_v+0
- .byte VOL , 77*se_ussoki_mvl/mxv
- .byte N03 , Cn5 , v096
- .byte W06
- .byte N01 , Gn5 , v064
- .byte W06
- .byte N03 , Cn5 , v100
- .byte W06
- .byte N01 , Gn5 , v064
- .byte W06
-se_ussoki_1_000:
- .byte N03 , Cn5 , v096
- .byte W06
- .byte N01 , Gn5 , v064
- .byte W06
- .byte PEND
- .byte PATT
- .word se_ussoki_1_000
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_ussoki:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_ussoki_pri @ Priority
- .byte se_ussoki_rev @ Reverb.
-
- .word se_ussoki_grp
-
- .word se_ussoki_1
-
- .end
diff --git a/sound/songs/se_w003.s b/sound/songs/se_w003.s
deleted file mode 100644
index 736ab9802..000000000
--- a/sound/songs/se_w003.s
+++ /dev/null
@@ -1,52 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w003_grp, voicegroup128
- .equ se_w003_pri, 4
- .equ se_w003_rev, reverb_set+50
- .equ se_w003_mvl, 127
- .equ se_w003_key, 0
- .equ se_w003_tbs, 1
- .equ se_w003_exg, 0
- .equ se_w003_cmp, 1
-
- .section .rodata
- .global se_w003
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w003_1:
- .byte KEYSH , se_w003_key+0
- .byte TEMPO , 150*se_w003_tbs/2
- .byte VOICE , 2
- .byte BENDR , 12
- .byte VOL , 110*se_w003_mvl/mxv
- .byte PAN , c_v+9
- .byte BEND , c_v+0
- .byte N02 , Bn3 , v112
- .byte W04
- .byte PAN , c_v-9
- .byte N02 , Fn5 , v064
- .byte W02
- .byte PAN , c_v+0
- .byte N02 , Bn3 , v036
- .byte W03
- .byte VOICE , 18
- .byte N02 , Cn6 , v096
- .byte W15
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w003:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w003_pri @ Priority
- .byte se_w003_rev @ Reverb.
-
- .word se_w003_grp
-
- .word se_w003_1
-
- .end
diff --git a/sound/songs/se_w004.s b/sound/songs/se_w004.s
deleted file mode 100644
index c78a30d12..000000000
--- a/sound/songs/se_w004.s
+++ /dev/null
@@ -1,75 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w004_grp, voicegroup128
- .equ se_w004_pri, 4
- .equ se_w004_rev, reverb_set+50
- .equ se_w004_mvl, 127
- .equ se_w004_key, 0
- .equ se_w004_tbs, 1
- .equ se_w004_exg, 0
- .equ se_w004_cmp, 1
-
- .section .rodata
- .global se_w004
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w004_1:
- .byte KEYSH , se_w004_key+0
- .byte TEMPO , 150*se_w004_tbs/2
- .byte VOICE , 6
- .byte VOL , 120*se_w004_mvl/mxv
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N03 , Cn3 , v127
- .byte W01
- .byte PAN , c_v-10
- .byte BEND , c_v-27
- .byte W01
- .byte PAN , c_v+8
- .byte BEND , c_v-47
- .byte W01
- .byte c_v-64
- .byte W01
- .byte PAN , c_v+0
- .byte BEND , c_v+1
- .byte N02 , Dn3 , v084
- .byte W02
- .byte BEND , c_v-32
- .byte W18
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_w004_2:
- .byte KEYSH , se_w004_key+0
- .byte VOICE , 5
- .byte XCMD , xIECV , 10
- .byte xIECL , 8
- .byte VOL , 120*se_w004_mvl/mxv
- .byte PAN , c_v+9
- .byte N03 , An2 , v052
- .byte W04
- .byte N02
- .byte W02
- .byte PAN , c_v-8
- .byte W18
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w004:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w004_pri @ Priority
- .byte se_w004_rev @ Reverb.
-
- .word se_w004_grp
-
- .word se_w004_1
- .word se_w004_2
-
- .end
diff --git a/sound/songs/se_w006.s b/sound/songs/se_w006.s
deleted file mode 100644
index e946f44d9..000000000
--- a/sound/songs/se_w006.s
+++ /dev/null
@@ -1,107 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w006_grp, voicegroup128
- .equ se_w006_pri, 4
- .equ se_w006_rev, reverb_set+50
- .equ se_w006_mvl, 127
- .equ se_w006_key, 0
- .equ se_w006_tbs, 1
- .equ se_w006_exg, 0
- .equ se_w006_cmp, 1
-
- .section .rodata
- .global se_w006
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w006_1:
- .byte KEYSH , se_w006_key+0
- .byte TEMPO , 150*se_w006_tbs/2
- .byte VOICE , 39
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 95*se_w006_mvl/mxv
- .byte BEND , c_v+0
- .byte N01 , An5 , v100
- .byte W01
- .byte Fn5 , v064
- .byte W01
- .byte N06 , Gn5 , v100
- .byte W01
- .byte VOL , 85*se_w006_mvl/mxv
- .byte PAN , c_v-13
- .byte W01
- .byte VOL , 59*se_w006_mvl/mxv
- .byte PAN , c_v+11
- .byte W02
- .byte VOL , 33*se_w006_mvl/mxv
- .byte PAN , c_v-14
- .byte W01
- .byte VOL , 5*se_w006_mvl/mxv
- .byte PAN , c_v+11
- .byte W03
- .byte VOL , 95*se_w006_mvl/mxv
- .byte PAN , c_v+1
- .byte N01 , An5
- .byte W02
- .byte Fn5 , v064
- .byte W01
- .byte N19 , Gn5 , v100
- .byte W01
- .byte PAN , c_v-13
- .byte W01
- .byte c_v+11
- .byte W01
- .byte c_v-14
- .byte W02
- .byte c_v+11
- .byte W01
- .byte c_v-13
- .byte W01
- .byte c_v+11
- .byte VOL , 85*se_w006_mvl/mxv
- .byte W01
- .byte PAN , c_v-14
- .byte VOL , 77*se_w006_mvl/mxv
- .byte W01
- .byte PAN , c_v+11
- .byte VOL , 69*se_w006_mvl/mxv
- .byte W02
- .byte PAN , c_v-13
- .byte VOL , 59*se_w006_mvl/mxv
- .byte W01
- .byte PAN , c_v+11
- .byte VOL , 52*se_w006_mvl/mxv
- .byte W01
- .byte PAN , c_v-14
- .byte VOL , 41*se_w006_mvl/mxv
- .byte W01
- .byte 33*se_w006_mvl/mxv
- .byte PAN , c_v+11
- .byte W01
- .byte VOL , 23*se_w006_mvl/mxv
- .byte PAN , c_v-14
- .byte W02
- .byte VOL , 14*se_w006_mvl/mxv
- .byte PAN , c_v+11
- .byte W01
- .byte VOL , 5*se_w006_mvl/mxv
- .byte PAN , c_v-13
- .byte W05
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w006:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w006_pri @ Priority
- .byte se_w006_rev @ Reverb.
-
- .word se_w006_grp
-
- .word se_w006_1
-
- .end
diff --git a/sound/songs/se_w007.s b/sound/songs/se_w007.s
deleted file mode 100644
index 5a3916361..000000000
--- a/sound/songs/se_w007.s
+++ /dev/null
@@ -1,138 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w007_grp, voicegroup128
- .equ se_w007_pri, 4
- .equ se_w007_rev, reverb_set+50
- .equ se_w007_mvl, 127
- .equ se_w007_key, 0
- .equ se_w007_tbs, 1
- .equ se_w007_exg, 0
- .equ se_w007_cmp, 1
-
- .section .rodata
- .global se_w007
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w007_1:
- .byte KEYSH , se_w007_key+0
- .byte TEMPO , 220*se_w007_tbs/2
- .byte VOICE , 6
- .byte VOL , 110*se_w007_mvl/mxv
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N06 , Cn3 , v127
- .byte W01
- .byte BEND , c_v-9
- .byte W01
- .byte c_v-21
- .byte W01
- .byte PAN , c_v-6
- .byte BEND , c_v-40
- .byte W01
- .byte c_v-64
- .byte W02
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N06 , En3
- .byte W01
- .byte BEND , c_v-9
- .byte W01
- .byte c_v-21
- .byte W01
- .byte PAN , c_v+7
- .byte BEND , c_v-40
- .byte W01
- .byte c_v-64
- .byte W02
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N09 , An2
- .byte W01
- .byte BEND , c_v-9
- .byte W01
- .byte c_v-19
- .byte W01
- .byte c_v-29
- .byte W01
- .byte VOL , 86*se_w007_mvl/mxv
- .byte BEND , c_v-39
- .byte W02
- .byte VOL , 69*se_w007_mvl/mxv
- .byte BEND , c_v-45
- .byte W01
- .byte VOL , 53*se_w007_mvl/mxv
- .byte BEND , c_v-56
- .byte W01
- .byte VOL , 20*se_w007_mvl/mxv
- .byte BEND , c_v-64
- .byte W01
- .byte VOICE , 29
- .byte VOL , 110*se_w007_mvl/mxv
- .byte BEND , c_v+0
- .byte N48
- .byte W03
- .byte W02
- .byte PAN , c_v-8
- .byte W04
- .byte c_v+5
- .byte W03
- .byte c_v-6
- .byte W04
- .byte c_v+6
- .byte W03
- .byte c_v-3
- .byte W08
- .byte W03
- .byte VOL , 78*se_w007_mvl/mxv
- .byte W04
- .byte 64*se_w007_mvl/mxv
- .byte W03
- .byte 51*se_w007_mvl/mxv
- .byte W04
- .byte 38*se_w007_mvl/mxv
- .byte W04
- .byte 25*se_w007_mvl/mxv
- .byte W03
- .byte 12*se_w007_mvl/mxv
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_w007_2:
- .byte KEYSH , se_w007_key+0
- .byte VOICE , 5
- .byte XCMD , xIECV , 10
- .byte xIECL , 8
- .byte VOL , 110*se_w007_mvl/mxv
- .byte PAN , c_v+9
- .byte N03 , Gs2 , v052
- .byte W06
- .byte PAN , c_v-7
- .byte N03
- .byte W06
- .byte PAN , c_v+0
- .byte N03
- .byte W12
- .byte W24
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w007:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w007_pri @ Priority
- .byte se_w007_rev @ Reverb.
-
- .word se_w007_grp
-
- .word se_w007_1
- .word se_w007_2
-
- .end
diff --git a/sound/songs/se_w010.s b/sound/songs/se_w010.s
deleted file mode 100644
index 7df3dbd3f..000000000
--- a/sound/songs/se_w010.s
+++ /dev/null
@@ -1,70 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w010_grp, voicegroup128
- .equ se_w010_pri, 4
- .equ se_w010_rev, reverb_set+50
- .equ se_w010_mvl, 127
- .equ se_w010_key, 0
- .equ se_w010_tbs, 1
- .equ se_w010_exg, 0
- .equ se_w010_cmp, 1
-
- .section .rodata
- .global se_w010
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w010_1:
- .byte KEYSH , se_w010_key+0
- .byte TEMPO , 220*se_w010_tbs/2
- .byte VOICE , 18
- .byte BENDR , 12
- .byte PAN , c_v+14
- .byte VOL , 42*se_w010_mvl/mxv
- .byte BEND , c_v+39
- .byte N10 , Gn5 , v092
- .byte W01
- .byte VOL , 55*se_w010_mvl/mxv
- .byte W01
- .byte 71*se_w010_mvl/mxv
- .byte BEND , c_v+23
- .byte W01
- .byte PAN , c_v-15
- .byte VOL , 86*se_w010_mvl/mxv
- .byte BEND , c_v+0
- .byte W01
- .byte VOL , 110*se_w010_mvl/mxv
- .byte BEND , c_v-23
- .byte W02
- .byte PAN , c_v+0
- .byte BEND , c_v-34
- .byte W01
- .byte c_v-55
- .byte W01
- .byte c_v-64
- .byte W02
- .byte VOICE , 21
- .byte BEND , c_v+63
- .byte N01 , Cn5
- .byte W02
- .byte Gn5
- .byte W02
- .byte Gn5 , v064
- .byte W10
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w010:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w010_pri @ Priority
- .byte se_w010_rev @ Reverb.
-
- .word se_w010_grp
-
- .word se_w010_1
-
- .end
diff --git a/sound/songs/se_w011.s b/sound/songs/se_w011.s
deleted file mode 100644
index 05e6c04dd..000000000
--- a/sound/songs/se_w011.s
+++ /dev/null
@@ -1,89 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w011_grp, voicegroup128
- .equ se_w011_pri, 4
- .equ se_w011_rev, reverb_set+50
- .equ se_w011_mvl, 127
- .equ se_w011_key, 0
- .equ se_w011_tbs, 1
- .equ se_w011_exg, 0
- .equ se_w011_cmp, 1
-
- .section .rodata
- .global se_w011
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w011_1:
- .byte KEYSH , se_w011_key+0
- .byte TEMPO , 220*se_w011_tbs/2
- .byte VOICE , 18
- .byte BENDR , 12
- .byte PAN , c_v+4
- .byte VOL , 42*se_w011_mvl/mxv
- .byte BEND , c_v+39
- .byte N06 , Cn5 , v084
- .byte W01
- .byte VOL , 55*se_w011_mvl/mxv
- .byte BEND , c_v+18
- .byte W01
- .byte VOL , 71*se_w011_mvl/mxv
- .byte BEND , c_v+0
- .byte W01
- .byte PAN , c_v-4
- .byte VOL , 86*se_w011_mvl/mxv
- .byte BEND , c_v-18
- .byte W01
- .byte VOL , 110*se_w011_mvl/mxv
- .byte BEND , c_v-50
- .byte W02
- .byte PAN , c_v+0
- .byte W04
- .byte VOICE , 8
- .byte PAN , c_v-11
- .byte BEND , c_v+0
- .byte N06 , Gn4 , v120
- .byte W02
- .byte PAN , c_v+11
- .byte BEND , c_v-13
- .byte W01
- .byte PAN , c_v+0
- .byte BEND , c_v-26
- .byte W01
- .byte PAN , c_v-12
- .byte BEND , c_v-46
- .byte W01
- .byte PAN , c_v+11
- .byte BEND , c_v-54
- .byte W09
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_w011_2:
- .byte KEYSH , se_w011_key+0
- .byte VOICE , 27
- .byte VOL , 110*se_w011_mvl/mxv
- .byte PAN , c_v+0
- .byte N06 , Cn2 , v040
- .byte W10
- .byte N02 , Gn2
- .byte W14
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w011:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w011_pri @ Priority
- .byte se_w011_rev @ Reverb.
-
- .word se_w011_grp
-
- .word se_w011_1
- .word se_w011_2
-
- .end
diff --git a/sound/songs/se_w013.s b/sound/songs/se_w013.s
deleted file mode 100644
index af387436c..000000000
--- a/sound/songs/se_w013.s
+++ /dev/null
@@ -1,86 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w013_grp, voicegroup128
- .equ se_w013_pri, 4
- .equ se_w013_rev, reverb_set+50
- .equ se_w013_mvl, 127
- .equ se_w013_key, 0
- .equ se_w013_tbs, 1
- .equ se_w013_exg, 0
- .equ se_w013_cmp, 1
-
- .section .rodata
- .global se_w013
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w013_1:
- .byte KEYSH , se_w013_key+0
- .byte TEMPO , 220*se_w013_tbs/2
- .byte VOICE , 18
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 110*se_w013_mvl/mxv
- .byte PAN , c_v+14
- .byte BEND , c_v+0
- .byte N09 , Cn5 , v092
- .byte W03
- .byte PAN , c_v-15
- .byte BEND , c_v-32
- .byte W03
- .byte PAN , c_v+0
- .byte BEND , c_v+28
- .byte W03
- .byte VOICE , 2
- .byte BEND , c_v-64
- .byte N21 , Bn2 , v108
- .byte W03
- .byte BEND , c_v-55
- .byte W03
- .byte PAN , c_v+4
- .byte BEND , c_v-45
- .byte W03
- .byte PAN , c_v-5
- .byte BEND , c_v+30
- .byte W03
- .byte PAN , c_v+15
- .byte BEND , c_v+39
- .byte W03
- .byte PAN , c_v-15
- .byte BEND , c_v+54
- .byte W03
- .byte PAN , c_v+0
- .byte BEND , c_v+63
- .byte W21
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_w013_2:
- .byte KEYSH , se_w013_key+0
- .byte VOICE , 5
- .byte PAN , c_v+0
- .byte VOL , 110*se_w013_mvl/mxv
- .byte N06 , Fn3 , v040
- .byte W09
- .byte N24 , Gn3
- .byte W15
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w013:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w013_pri @ Priority
- .byte se_w013_rev @ Reverb.
-
- .word se_w013_grp
-
- .word se_w013_1
- .word se_w013_2
-
- .end
diff --git a/sound/songs/se_w013b.s b/sound/songs/se_w013b.s
deleted file mode 100644
index e78c3057b..000000000
--- a/sound/songs/se_w013b.s
+++ /dev/null
@@ -1,62 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w013b_grp, voicegroup128
- .equ se_w013b_pri, 4
- .equ se_w013b_rev, reverb_set+50
- .equ se_w013b_mvl, 127
- .equ se_w013b_key, 0
- .equ se_w013b_tbs, 1
- .equ se_w013b_exg, 0
- .equ se_w013b_cmp, 1
-
- .section .rodata
- .global se_w013b
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w013b_1:
- .byte KEYSH , se_w013b_key+0
- .byte TEMPO , 250*se_w013b_tbs/2
- .byte VOICE , 22
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 90*se_w013b_mvl/mxv
- .byte BEND , c_v+0
- .byte N14 , An4 , v108
- .byte W03
- .byte PAN , c_v+5
- .byte BEND , c_v+6
- .byte W01
- .byte VOL , 80*se_w013b_mvl/mxv
- .byte W02
- .byte PAN , c_v+15
- .byte BEND , c_v+1
- .byte W01
- .byte VOL , 64*se_w013b_mvl/mxv
- .byte W02
- .byte PAN , c_v+6
- .byte VOL , 38*se_w013b_mvl/mxv
- .byte BEND , c_v-9
- .byte W02
- .byte c_v-34
- .byte W01
- .byte PAN , c_v-1
- .byte VOL , 11*se_w013b_mvl/mxv
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w013b:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w013b_pri @ Priority
- .byte se_w013b_rev @ Reverb.
-
- .word se_w013b_grp
-
- .word se_w013b_1
-
- .end
diff --git a/sound/songs/se_w014.s b/sound/songs/se_w014.s
deleted file mode 100644
index 4d712bd00..000000000
--- a/sound/songs/se_w014.s
+++ /dev/null
@@ -1,211 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w014_grp, voicegroup128
- .equ se_w014_pri, 4
- .equ se_w014_rev, reverb_set+50
- .equ se_w014_mvl, 127
- .equ se_w014_key, 0
- .equ se_w014_tbs, 1
- .equ se_w014_exg, 0
- .equ se_w014_cmp, 1
-
- .section .rodata
- .global se_w014
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w014_1:
- .byte KEYSH , se_w014_key+0
- .byte TEMPO , 150*se_w014_tbs/2
- .byte VOICE , 28
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 100*se_w014_mvl/mxv
- .byte BEND , c_v+0
- .byte N01 , Fn5 , v100
- .byte W01
- .byte PAN , c_v-6
- .byte N01 , Fs5 , v088
- .byte W01
- .byte PAN , c_v+5
- .byte N01 , Gn5
- .byte W01
- .byte PAN , c_v+0
- .byte N01 , Fs5
- .byte W01
- .byte N14 , Gn5 , v100
- .byte W02
- .byte PAN , c_v-4
- .byte W01
- .byte c_v+0
- .byte W01
- .byte c_v+5
- .byte W01
- .byte c_v+0
- .byte W01
- .byte c_v-4
- .byte W02
- .byte VOL , 95*se_w014_mvl/mxv
- .byte PAN , c_v+0
- .byte W01
- .byte VOL , 92*se_w014_mvl/mxv
- .byte PAN , c_v+5
- .byte W01
- .byte VOL , 87*se_w014_mvl/mxv
- .byte PAN , c_v+0
- .byte W01
- .byte VOL , 79*se_w014_mvl/mxv
- .byte PAN , c_v-4
- .byte W01
- .byte VOL , 66*se_w014_mvl/mxv
- .byte PAN , c_v+0
- .byte W02
- .byte VOL , 58*se_w014_mvl/mxv
- .byte W01
- .byte VOICE , 22
- .byte VOL , 100*se_w014_mvl/mxv
- .byte N10 , Cn4 , v092
- .byte W01
- .byte BEND , c_v+3
- .byte W01
- .byte c_v+5
- .byte W01
- .byte PAN , c_v-1
- .byte BEND , c_v+7
- .byte W02
- .byte VOL , 96*se_w014_mvl/mxv
- .byte BEND , c_v+12
- .byte W01
- .byte VOL , 90*se_w014_mvl/mxv
- .byte PAN , c_v-3
- .byte BEND , c_v+16
- .byte W01
- .byte VOL , 84*se_w014_mvl/mxv
- .byte BEND , c_v+20
- .byte W01
- .byte VOL , 70*se_w014_mvl/mxv
- .byte PAN , c_v-6
- .byte BEND , c_v+26
- .byte W01
- .byte VOL , 61*se_w014_mvl/mxv
- .byte BEND , c_v+32
- .byte W03
- .byte VOL , 100*se_w014_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N10
- .byte W01
- .byte BEND , c_v+3
- .byte W01
- .byte c_v+5
- .byte W01
- .byte PAN , c_v+2
- .byte BEND , c_v+7
- .byte W02
- .byte VOL , 96*se_w014_mvl/mxv
- .byte BEND , c_v+12
- .byte W01
- .byte VOL , 90*se_w014_mvl/mxv
- .byte PAN , c_v+5
- .byte BEND , c_v+16
- .byte W01
- .byte VOL , 84*se_w014_mvl/mxv
- .byte BEND , c_v+20
- .byte W01
- .byte VOL , 70*se_w014_mvl/mxv
- .byte PAN , c_v+7
- .byte BEND , c_v+26
- .byte W01
- .byte VOL , 61*se_w014_mvl/mxv
- .byte BEND , c_v+32
- .byte W03
- .byte VOL , 100*se_w014_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N16
- .byte W01
- .byte BEND , c_v+3
- .byte W01
- .byte c_v+5
- .byte W01
- .byte PAN , c_v+3
- .byte BEND , c_v+7
- .byte W02
- .byte VOL , 96*se_w014_mvl/mxv
- .byte BEND , c_v+12
- .byte W01
- .byte VOL , 90*se_w014_mvl/mxv
- .byte PAN , c_v-2
- .byte BEND , c_v+16
- .byte W01
- .byte VOL , 84*se_w014_mvl/mxv
- .byte BEND , c_v+20
- .byte W01
- .byte VOL , 70*se_w014_mvl/mxv
- .byte PAN , c_v+6
- .byte BEND , c_v+26
- .byte W01
- .byte VOL , 61*se_w014_mvl/mxv
- .byte BEND , c_v+32
- .byte W02
- .byte VOL , 56*se_w014_mvl/mxv
- .byte PAN , c_v-4
- .byte BEND , c_v+36
- .byte W01
- .byte VOL , 48*se_w014_mvl/mxv
- .byte BEND , c_v+42
- .byte W01
- .byte VOL , 37*se_w014_mvl/mxv
- .byte PAN , c_v+11
- .byte BEND , c_v+48
- .byte W01
- .byte VOL , 25*se_w014_mvl/mxv
- .byte BEND , c_v+56
- .byte W01
- .byte VOL , 11*se_w014_mvl/mxv
- .byte PAN , c_v-11
- .byte BEND , c_v+63
- .byte W02
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_w014_2:
- .byte KEYSH , se_w014_key+0
- .byte VOICE , 25
- .byte VOL , 100*se_w014_mvl/mxv
- .byte N04 , Cn3 , v040
- .byte W04
- .byte N14 , Gs4
- .byte W08
- .byte VOL , 89*se_w014_mvl/mxv
- .byte W01
- .byte 72*se_w014_mvl/mxv
- .byte W01
- .byte 46*se_w014_mvl/mxv
- .byte W01
- .byte 25*se_w014_mvl/mxv
- .byte W01
- .byte 11*se_w014_mvl/mxv
- .byte W08
- .byte W12
- .byte W12
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w014:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w014_pri @ Priority
- .byte se_w014_rev @ Reverb.
-
- .word se_w014_grp
-
- .word se_w014_1
- .word se_w014_2
-
- .end
diff --git a/sound/songs/se_w015.s b/sound/songs/se_w015.s
deleted file mode 100644
index 65397786a..000000000
--- a/sound/songs/se_w015.s
+++ /dev/null
@@ -1,104 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w015_grp, voicegroup128
- .equ se_w015_pri, 4
- .equ se_w015_rev, reverb_set+50
- .equ se_w015_mvl, 127
- .equ se_w015_key, 0
- .equ se_w015_tbs, 1
- .equ se_w015_exg, 0
- .equ se_w015_cmp, 1
-
- .section .rodata
- .global se_w015
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w015_1:
- .byte KEYSH , se_w015_key+0
- .byte TEMPO , 220*se_w015_tbs/2
- .byte VOICE , 22
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 120*se_w015_mvl/mxv
- .byte BEND , c_v+0
- .byte N15 , Cn3 , v108
- .byte W03
- .byte VOL , 102*se_w015_mvl/mxv
- .byte BEND , c_v+22
- .byte W02
- .byte c_v+8
- .byte W01
- .byte VOL , 88*se_w015_mvl/mxv
- .byte W03
- .byte 75*se_w015_mvl/mxv
- .byte BEND , c_v-13
- .byte W03
- .byte VOL , 55*se_w015_mvl/mxv
- .byte W03
- .byte VOICE , 18
- .byte VOL , 120*se_w015_mvl/mxv
- .byte PAN , c_v+14
- .byte BEND , c_v+0
- .byte N09 , Cn5 , v092
- .byte W03
- .byte PAN , c_v-15
- .byte BEND , c_v-32
- .byte W03
- .byte PAN , c_v+0
- .byte BEND , c_v+28
- .byte W03
- .byte VOICE , 2
- .byte BEND , c_v-64
- .byte N21 , Cn3 , v108
- .byte W03
- .byte BEND , c_v-55
- .byte W03
- .byte PAN , c_v+4
- .byte BEND , c_v-45
- .byte W03
- .byte PAN , c_v-5
- .byte BEND , c_v+30
- .byte W03
- .byte PAN , c_v+15
- .byte BEND , c_v+39
- .byte W03
- .byte PAN , c_v-15
- .byte BEND , c_v+54
- .byte W03
- .byte PAN , c_v+0
- .byte BEND , c_v+63
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_w015_2:
- .byte KEYSH , se_w015_key+0
- .byte VOICE , 5
- .byte PAN , c_v+0
- .byte VOL , 120*se_w015_mvl/mxv
- .byte N15 , Cn2 , v040
- .byte W15
- .byte N06 , Fs3
- .byte W09
- .byte N24 , Gs3
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w015:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w015_pri @ Priority
- .byte se_w015_rev @ Reverb.
-
- .word se_w015_grp
-
- .word se_w015_1
- .word se_w015_2
-
- .end
diff --git a/sound/songs/se_w016.s b/sound/songs/se_w016.s
deleted file mode 100644
index a34957c88..000000000
--- a/sound/songs/se_w016.s
+++ /dev/null
@@ -1,103 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w016_grp, voicegroup128
- .equ se_w016_pri, 4
- .equ se_w016_rev, reverb_set+50
- .equ se_w016_mvl, 127
- .equ se_w016_key, 0
- .equ se_w016_tbs, 1
- .equ se_w016_exg, 0
- .equ se_w016_cmp, 1
-
- .section .rodata
- .global se_w016
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w016_1:
- .byte KEYSH , se_w016_key+0
- .byte TEMPO , 150*se_w016_tbs/2
- .byte VOICE , 22
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 64*se_w016_mvl/mxv
- .byte BEND , c_v+0
- .byte N24 , Cn3 , v108
- .byte W03
- .byte VOL , 79*se_w016_mvl/mxv
- .byte BEND , c_v+22
- .byte W02
- .byte c_v+8
- .byte W01
- .byte VOL , 84*se_w016_mvl/mxv
- .byte PAN , c_v-4
- .byte W03
- .byte VOL , 91*se_w016_mvl/mxv
- .byte BEND , c_v+0
- .byte W03
- .byte VOL , 100*se_w016_mvl/mxv
- .byte PAN , c_v-8
- .byte W03
- .byte VOL , 110*se_w016_mvl/mxv
- .byte W03
- .byte PAN , c_v-12
- .byte W06
-se_w016_1_B1:
- .byte PAN , c_v-17
- .byte BEND , c_v+0
- .byte N48 , Cn3 , v108
- .byte W03
- .byte BEND , c_v-7
- .byte W03
- .byte PAN , c_v-9
- .byte BEND , c_v-12
- .byte W03
- .byte c_v-20
- .byte W03
- .byte PAN , c_v-3
- .byte W03
- .byte c_v+6
- .byte BEND , c_v-13
- .byte W03
- .byte PAN , c_v+10
- .byte W03
- .byte BEND , c_v-6
- .byte W03
- .byte PAN , c_v+16
- .byte W03
- .byte BEND , c_v+6
- .byte W03
- .byte PAN , c_v+13
- .byte BEND , c_v+11
- .byte W03
- .byte c_v+20
- .byte W03
- .byte PAN , c_v+8
- .byte W03
- .byte c_v+0
- .byte BEND , c_v+12
- .byte W03
- .byte PAN , c_v-8
- .byte BEND , c_v+7
- .byte W03
- .byte PAN , c_v-11
- .byte W03
- .byte GOTO
- .word se_w016_1_B1
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w016:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w016_pri @ Priority
- .byte se_w016_rev @ Reverb.
-
- .word se_w016_grp
-
- .word se_w016_1
-
- .end
diff --git a/sound/songs/se_w016b.s b/sound/songs/se_w016b.s
deleted file mode 100644
index 78f01bbde..000000000
--- a/sound/songs/se_w016b.s
+++ /dev/null
@@ -1,72 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w016b_grp, voicegroup128
- .equ se_w016b_pri, 4
- .equ se_w016b_rev, reverb_set+50
- .equ se_w016b_mvl, 127
- .equ se_w016b_key, 0
- .equ se_w016b_tbs, 1
- .equ se_w016b_exg, 0
- .equ se_w016b_cmp, 1
-
- .section .rodata
- .global se_w016b
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w016b_1:
- .byte KEYSH , se_w016b_key+0
- .byte TEMPO , 150*se_w016b_tbs/2
- .byte VOICE , 22
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 110*se_w016b_mvl/mxv
- .byte BEND , c_v+0
- .byte N24 , Cn3 , v108
- .byte W02
- .byte PAN , c_v-19
- .byte W04
- .byte c_v+0
- .byte W01
- .byte VOL , 97*se_w016b_mvl/mxv
- .byte W01
- .byte PAN , c_v+16
- .byte W01
- .byte VOL , 84*se_w016b_mvl/mxv
- .byte W03
- .byte 76*se_w016b_mvl/mxv
- .byte PAN , c_v+2
- .byte W02
- .byte VOL , 55*se_w016b_mvl/mxv
- .byte PAN , c_v-8
- .byte W02
- .byte VOL , 39*se_w016b_mvl/mxv
- .byte W02
- .byte PAN , c_v+0
- .byte W01
- .byte VOL , 25*se_w016b_mvl/mxv
- .byte W01
- .byte PAN , c_v+8
- .byte W01
- .byte VOL , 13*se_w016b_mvl/mxv
- .byte W03
- .byte 7*se_w016b_mvl/mxv
- .byte PAN , c_v+0
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w016b:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w016b_pri @ Priority
- .byte se_w016b_rev @ Reverb.
-
- .word se_w016b_grp
-
- .word se_w016b_1
-
- .end
diff --git a/sound/songs/se_w017.s b/sound/songs/se_w017.s
deleted file mode 100644
index ad992a1c0..000000000
--- a/sound/songs/se_w017.s
+++ /dev/null
@@ -1,125 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w017_grp, voicegroup128
- .equ se_w017_pri, 4
- .equ se_w017_rev, reverb_set+50
- .equ se_w017_mvl, 127
- .equ se_w017_key, 0
- .equ se_w017_tbs, 1
- .equ se_w017_exg, 0
- .equ se_w017_cmp, 1
-
- .section .rodata
- .global se_w017
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w017_1:
- .byte KEYSH , se_w017_key+0
- .byte TEMPO , 220*se_w017_tbs/2
- .byte VOICE , 2
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 40*se_w017_mvl/mxv
- .byte BEND , c_v-32
- .byte N10 , An1 , v127
- .byte W01
- .byte VOL , 52*se_w017_mvl/mxv
- .byte PAN , c_v+10
- .byte BEND , c_v-16
- .byte W01
- .byte VOL , 68*se_w017_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte W01
- .byte VOL , 82*se_w017_mvl/mxv
- .byte PAN , c_v-9
- .byte BEND , c_v+8
- .byte W01
- .byte VOL , 105*se_w017_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+19
- .byte W02
- .byte PAN , c_v+10
- .byte BEND , c_v+28
- .byte W01
- .byte PAN , c_v+0
- .byte BEND , c_v+38
- .byte W01
- .byte PAN , c_v-9
- .byte BEND , c_v+49
- .byte W01
- .byte PAN , c_v+0
- .byte BEND , c_v+63
- .byte W05
- .byte VOL , 40*se_w017_mvl/mxv
- .byte BEND , c_v+1
- .byte N06
- .byte W01
- .byte VOL , 52*se_w017_mvl/mxv
- .byte PAN , c_v+10
- .byte BEND , c_v+38
- .byte W01
- .byte VOL , 79*se_w017_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+48
- .byte W02
- .byte VOL , 105*se_w017_mvl/mxv
- .byte PAN , c_v-9
- .byte BEND , c_v+63
- .byte W01
- .byte PAN , c_v+0
- .byte W05
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_w017_2:
- .byte KEYSH , se_w017_key+0
- .byte VOICE , 27
- .byte PAN , c_v+0
- .byte VOL , 52*se_w017_mvl/mxv
- .byte N10 , Gn2 , v040
- .byte W01
- .byte VOL , 69*se_w017_mvl/mxv
- .byte W01
- .byte 83*se_w017_mvl/mxv
- .byte W01
- .byte 105*se_w017_mvl/mxv
- .byte W01
- .byte 85*se_w017_mvl/mxv
- .byte W02
- .byte 52*se_w017_mvl/mxv
- .byte W01
- .byte 29*se_w017_mvl/mxv
- .byte W01
- .byte 12*se_w017_mvl/mxv
- .byte W06
- .byte VOICE , 25
- .byte VOL , 52*se_w017_mvl/mxv
- .byte N06 , Gs4
- .byte W01
- .byte VOL , 81*se_w017_mvl/mxv
- .byte W01
- .byte 105*se_w017_mvl/mxv
- .byte W03
- .byte 52*se_w017_mvl/mxv
- .byte W05
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w017:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w017_pri @ Priority
- .byte se_w017_rev @ Reverb.
-
- .word se_w017_grp
-
- .word se_w017_1
- .word se_w017_2
-
- .end
diff --git a/sound/songs/se_w019.s b/sound/songs/se_w019.s
deleted file mode 100644
index 2e02a92e6..000000000
--- a/sound/songs/se_w019.s
+++ /dev/null
@@ -1,251 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w019_grp, voicegroup128
- .equ se_w019_pri, 4
- .equ se_w019_rev, reverb_set+50
- .equ se_w019_mvl, 127
- .equ se_w019_key, 0
- .equ se_w019_tbs, 1
- .equ se_w019_exg, 0
- .equ se_w019_cmp, 1
-
- .section .rodata
- .global se_w019
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w019_1:
- .byte KEYSH , se_w019_key+0
- .byte TEMPO , 220*se_w019_tbs/2
- .byte VOICE , 2
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 90*se_w019_mvl/mxv
- .byte BEND , c_v+0
- .byte N01 , En2 , v127
- .byte W01
- .byte VOL , 55*se_w019_mvl/mxv
- .byte PAN , c_v+10
- .byte BEND , c_v-16
- .byte N07 , An1
- .byte W01
- .byte VOL , 71*se_w019_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte W01
- .byte VOL , 86*se_w019_mvl/mxv
- .byte PAN , c_v-9
- .byte BEND , c_v+17
- .byte W01
- .byte VOL , 110*se_w019_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+33
- .byte W02
- .byte PAN , c_v+10
- .byte BEND , c_v+54
- .byte W01
- .byte PAN , c_v+0
- .byte BEND , c_v+63
- .byte W02
- .byte VOL , 90*se_w019_mvl/mxv
- .byte PAN , c_v+10
- .byte BEND , c_v+1
- .byte N04
- .byte W01
- .byte VOL , 54*se_w019_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+38
- .byte W02
- .byte VOL , 83*se_w019_mvl/mxv
- .byte PAN , c_v-9
- .byte BEND , c_v+48
- .byte W01
- .byte VOL , 110*se_w019_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+63
- .byte W03
- .byte VOL , 90*se_w019_mvl/mxv
- .byte BEND , c_v+0
- .byte N01 , Ds2 , v104
- .byte W02
- .byte PAN , c_v+10
- .byte VOL , 55*se_w019_mvl/mxv
- .byte BEND , c_v-16
- .byte N07 , Gs1 , v100
- .byte W01
- .byte PAN , c_v+0
- .byte VOL , 71*se_w019_mvl/mxv
- .byte BEND , c_v+0
- .byte W01
- .byte PAN , c_v-9
- .byte VOL , 86*se_w019_mvl/mxv
- .byte BEND , c_v+17
- .byte W01
- .byte PAN , c_v+0
- .byte VOL , 110*se_w019_mvl/mxv
- .byte BEND , c_v+33
- .byte W01
- .byte PAN , c_v+10
- .byte BEND , c_v+54
- .byte W02
- .byte PAN , c_v+0
- .byte BEND , c_v+63
- .byte W02
- .byte PAN , c_v+10
- .byte VOL , 90*se_w019_mvl/mxv
- .byte BEND , c_v+1
- .byte N04
- .byte W01
- .byte PAN , c_v+0
- .byte VOL , 54*se_w019_mvl/mxv
- .byte BEND , c_v+38
- .byte W01
- .byte PAN , c_v-9
- .byte VOL , 83*se_w019_mvl/mxv
- .byte BEND , c_v+48
- .byte W02
- .byte PAN , c_v+0
- .byte VOL , 110*se_w019_mvl/mxv
- .byte BEND , c_v+63
- .byte W03
- .byte VOL , 90*se_w019_mvl/mxv
- .byte BEND , c_v+0
- .byte N01 , Dn2 , v088
- .byte W01
- .byte PAN , c_v+10
- .byte VOL , 55*se_w019_mvl/mxv
- .byte BEND , c_v-16
- .byte N07 , Gn1 , v060
- .byte W02
- .byte PAN , c_v+0
- .byte VOL , 71*se_w019_mvl/mxv
- .byte BEND , c_v+0
- .byte W01
- .byte PAN , c_v-9
- .byte VOL , 86*se_w019_mvl/mxv
- .byte BEND , c_v+17
- .byte W01
- .byte PAN , c_v+0
- .byte VOL , 110*se_w019_mvl/mxv
- .byte BEND , c_v+33
- .byte W01
- .byte PAN , c_v+10
- .byte BEND , c_v+54
- .byte W01
- .byte PAN , c_v+0
- .byte BEND , c_v+63
- .byte W03
- .byte PAN , c_v+10
- .byte VOL , 90*se_w019_mvl/mxv
- .byte BEND , c_v+1
- .byte N04
- .byte W01
- .byte PAN , c_v+0
- .byte VOL , 54*se_w019_mvl/mxv
- .byte BEND , c_v+38
- .byte W01
- .byte PAN , c_v-9
- .byte VOL , 83*se_w019_mvl/mxv
- .byte BEND , c_v+48
- .byte W01
- .byte PAN , c_v+0
- .byte VOL , 110*se_w019_mvl/mxv
- .byte BEND , c_v+63
- .byte W02
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_w019_2:
- .byte KEYSH , se_w019_key+0
- .byte VOICE , 25
- .byte PAN , c_v+0
- .byte VOL , 110*se_w019_mvl/mxv
- .byte N08 , Cn2 , v040
- .byte W01
- .byte VOL , 72*se_w019_mvl/mxv
- .byte W01
- .byte 87*se_w019_mvl/mxv
- .byte W01
- .byte 110*se_w019_mvl/mxv
- .byte W01
- .byte 89*se_w019_mvl/mxv
- .byte W02
- .byte 49*se_w019_mvl/mxv
- .byte W01
- .byte 14*se_w019_mvl/mxv
- .byte W02
- .byte 110*se_w019_mvl/mxv
- .byte N04 , Gn4
- .byte W01
- .byte VOL , 84*se_w019_mvl/mxv
- .byte W02
- .byte 110*se_w019_mvl/mxv
- .byte W02
- .byte 55*se_w019_mvl/mxv
- .byte W02
- .byte 110*se_w019_mvl/mxv
- .byte N08 , Cn2 , v032
- .byte W02
- .byte VOL , 72*se_w019_mvl/mxv
- .byte W01
- .byte 87*se_w019_mvl/mxv
- .byte W01
- .byte 110*se_w019_mvl/mxv
- .byte W01
- .byte 89*se_w019_mvl/mxv
- .byte W01
- .byte 49*se_w019_mvl/mxv
- .byte W02
- .byte 14*se_w019_mvl/mxv
- .byte W02
- .byte 110*se_w019_mvl/mxv
- .byte N04 , Gn4
- .byte W01
- .byte VOL , 84*se_w019_mvl/mxv
- .byte W01
- .byte 110*se_w019_mvl/mxv
- .byte W03
- .byte 55*se_w019_mvl/mxv
- .byte W02
- .byte 110*se_w019_mvl/mxv
- .byte N08 , Cn2 , v020
- .byte W01
- .byte VOL , 72*se_w019_mvl/mxv
- .byte W02
- .byte 87*se_w019_mvl/mxv
- .byte W01
- .byte 110*se_w019_mvl/mxv
- .byte W01
- .byte 89*se_w019_mvl/mxv
- .byte W01
- .byte 49*se_w019_mvl/mxv
- .byte W01
- .byte 14*se_w019_mvl/mxv
- .byte W03
- .byte 110*se_w019_mvl/mxv
- .byte N04 , Gn4
- .byte W01
- .byte VOL , 84*se_w019_mvl/mxv
- .byte W01
- .byte 110*se_w019_mvl/mxv
- .byte W03
- .byte 55*se_w019_mvl/mxv
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w019:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w019_pri @ Priority
- .byte se_w019_rev @ Reverb.
-
- .word se_w019_grp
-
- .word se_w019_1
- .word se_w019_2
-
- .end
diff --git a/sound/songs/se_w020.s b/sound/songs/se_w020.s
deleted file mode 100644
index 6f4e90c64..000000000
--- a/sound/songs/se_w020.s
+++ /dev/null
@@ -1,81 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w020_grp, voicegroup128
- .equ se_w020_pri, 4
- .equ se_w020_rev, reverb_set+50
- .equ se_w020_mvl, 127
- .equ se_w020_key, 0
- .equ se_w020_tbs, 1
- .equ se_w020_exg, 0
- .equ se_w020_cmp, 1
-
- .section .rodata
- .global se_w020
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w020_1:
- .byte KEYSH , se_w020_key+0
- .byte TEMPO , 150*se_w020_tbs/2
- .byte VOICE , 38
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 100*se_w020_mvl/mxv
- .byte BEND , c_v+0
- .byte N05 , Fs2 , v127
- .byte W01
- .byte PAN , c_v-5
- .byte BEND , c_v-3
- .byte W01
- .byte PAN , c_v+4
- .byte BEND , c_v-5
- .byte W01
- .byte PAN , c_v-8
- .byte BEND , c_v-9
- .byte W01
- .byte PAN , c_v+11
- .byte BEND , c_v-12
- .byte W06
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N11
- .byte W02
- .byte BEND , c_v-10
- .byte W01
- .byte c_v-6
- .byte W01
- .byte PAN , c_v-5
- .byte BEND , c_v-4
- .byte W01
- .byte c_v+0
- .byte W01
- .byte PAN , c_v+4
- .byte BEND , c_v-3
- .byte W02
- .byte c_v+3
- .byte W01
- .byte PAN , c_v-8
- .byte BEND , c_v-9
- .byte W01
- .byte c_v-21
- .byte W01
- .byte PAN , c_v+11
- .byte BEND , c_v-28
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w020:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w020_pri @ Priority
- .byte se_w020_rev @ Reverb.
-
- .word se_w020_grp
-
- .word se_w020_1
-
- .end
diff --git a/sound/songs/se_w025.s b/sound/songs/se_w025.s
deleted file mode 100644
index c64f21272..000000000
--- a/sound/songs/se_w025.s
+++ /dev/null
@@ -1,150 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w025_grp, voicegroup128
- .equ se_w025_pri, 4
- .equ se_w025_rev, reverb_set+50
- .equ se_w025_mvl, 127
- .equ se_w025_key, 0
- .equ se_w025_tbs, 1
- .equ se_w025_exg, 0
- .equ se_w025_cmp, 1
-
- .section .rodata
- .global se_w025
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w025_1:
- .byte KEYSH , se_w025_key+0
- .byte TEMPO , 150*se_w025_tbs/2
- .byte VOICE , 22
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 63*se_w025_mvl/mxv
- .byte BEND , c_v-48
- .byte N72 , Fn4 , v108
- .byte W02
- .byte VOL , 68*se_w025_mvl/mxv
- .byte BEND , c_v-43
- .byte W01
- .byte PAN , c_v+5
- .byte W01
- .byte BEND , c_v-38
- .byte W02
- .byte PAN , c_v+15
- .byte VOL , 70*se_w025_mvl/mxv
- .byte W01
- .byte BEND , c_v-34
- .byte W02
- .byte PAN , c_v+6
- .byte VOL , 75*se_w025_mvl/mxv
- .byte BEND , c_v-30
- .byte W03
- .byte PAN , c_v-1
- .byte BEND , c_v-28
- .byte W01
- .byte VOL , 78*se_w025_mvl/mxv
- .byte W01
- .byte BEND , c_v-24
- .byte W01
- .byte PAN , c_v-9
- .byte W01
- .byte VOL , 85*se_w025_mvl/mxv
- .byte BEND , c_v-21
- .byte W02
- .byte PAN , c_v-15
- .byte W01
- .byte BEND , c_v-16
- .byte W01
- .byte VOL , 90*se_w025_mvl/mxv
- .byte W01
- .byte PAN , c_v-9
- .byte BEND , c_v-12
- .byte W03
- .byte PAN , c_v+0
- .byte BEND , c_v-8
- .byte W02
- .byte c_v-3
- .byte W01
- .byte PAN , c_v+5
- .byte W01
- .byte BEND , c_v+2
- .byte W02
- .byte PAN , c_v+15
- .byte W01
- .byte BEND , c_v+5
- .byte W02
- .byte PAN , c_v+6
- .byte BEND , c_v+9
- .byte W03
- .byte PAN , c_v-1
- .byte BEND , c_v+11
- .byte W02
- .byte c_v+14
- .byte W01
- .byte PAN , c_v-9
- .byte W01
- .byte BEND , c_v+19
- .byte W02
- .byte PAN , c_v-15
- .byte W01
- .byte BEND , c_v+23
- .byte W02
- .byte PAN , c_v-9
- .byte BEND , c_v+27
- .byte W03
- .byte PAN , c_v+0
- .byte BEND , c_v+29
- .byte W02
- .byte c_v+33
- .byte W01
- .byte PAN , c_v+5
- .byte W01
- .byte BEND , c_v+35
- .byte W02
- .byte VOL , 74*se_w025_mvl/mxv
- .byte PAN , c_v+15
- .byte W01
- .byte BEND , c_v+38
- .byte W02
- .byte VOL , 58*se_w025_mvl/mxv
- .byte PAN , c_v+6
- .byte BEND , c_v+42
- .byte W03
- .byte VOL , 47*se_w025_mvl/mxv
- .byte PAN , c_v-1
- .byte BEND , c_v+45
- .byte W02
- .byte c_v+48
- .byte W01
- .byte VOL , 34*se_w025_mvl/mxv
- .byte PAN , c_v-9
- .byte W01
- .byte BEND , c_v+50
- .byte W02
- .byte VOL , 22*se_w025_mvl/mxv
- .byte PAN , c_v-15
- .byte W01
- .byte BEND , c_v+54
- .byte W02
- .byte VOL , 6*se_w025_mvl/mxv
- .byte PAN , c_v-9
- .byte BEND , c_v+58
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w025:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w025_pri @ Priority
- .byte se_w025_rev @ Reverb.
-
- .word se_w025_grp
-
- .word se_w025_1
-
- .end
diff --git a/sound/songs/se_w025b.s b/sound/songs/se_w025b.s
deleted file mode 100644
index 03b095e6c..000000000
--- a/sound/songs/se_w025b.s
+++ /dev/null
@@ -1,128 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w025b_grp, voicegroup128
- .equ se_w025b_pri, 4
- .equ se_w025b_rev, reverb_set+50
- .equ se_w025b_mvl, 127
- .equ se_w025b_key, 0
- .equ se_w025b_tbs, 1
- .equ se_w025b_exg, 0
- .equ se_w025b_cmp, 1
-
- .section .rodata
- .global se_w025b
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w025b_1:
- .byte KEYSH , se_w025b_key+0
- .byte TEMPO , 220*se_w025b_tbs/2
- .byte VOICE , 6
- .byte VOL , 110*se_w025b_mvl/mxv
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N04 , En3 , v127
- .byte W01
- .byte BEND , c_v-13
- .byte W01
- .byte PAN , c_v+10
- .byte BEND , c_v-38
- .byte W01
- .byte PAN , c_v-9
- .byte BEND , c_v-64
- .byte W03
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N03 , An2
- .byte W01
- .byte PAN , c_v+7
- .byte BEND , c_v-28
- .byte W01
- .byte c_v-64
- .byte W01
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N03 , Cn3 , v060
- .byte W01
- .byte PAN , c_v-6
- .byte BEND , c_v-28
- .byte W02
- .byte c_v-64
- .byte W02
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N10 , Gn2 , v127
- .byte W01
- .byte BEND , c_v-8
- .byte W01
- .byte VOL , 101*se_w025b_mvl/mxv
- .byte PAN , c_v-6
- .byte BEND , c_v-15
- .byte W02
- .byte c_v-20
- .byte W01
- .byte VOL , 83*se_w025b_mvl/mxv
- .byte PAN , c_v+6
- .byte BEND , c_v-24
- .byte W01
- .byte c_v-30
- .byte W01
- .byte VOL , 58*se_w025b_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v-39
- .byte W01
- .byte c_v-53
- .byte W02
- .byte VOL , 25*se_w025b_mvl/mxv
- .byte BEND , c_v-64
- .byte W24
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_w025b_2:
- .byte KEYSH , se_w025b_key+0
- .byte VOICE , 5
- .byte XCMD , xIECV , 10
- .byte xIECL , 8
- .byte VOL , 110*se_w025b_mvl/mxv
- .byte PAN , c_v+9
- .byte N03 , Gs2 , v092
- .byte W06
- .byte PAN , c_v-7
- .byte N03 , Gs2 , v052
- .byte W03
- .byte N03
- .byte W05
- .byte VOICE , 27
- .byte PAN , c_v+0
- .byte N13
- .byte W04
- .byte VOL , 101*se_w025b_mvl/mxv
- .byte W02
- .byte 83*se_w025b_mvl/mxv
- .byte W02
- .byte 58*se_w025b_mvl/mxv
- .byte W02
- .byte W01
- .byte 25*se_w025b_mvl/mxv
- .byte W23
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w025b:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w025b_pri @ Priority
- .byte se_w025b_rev @ Reverb.
-
- .word se_w025b_grp
-
- .word se_w025b_1
- .word se_w025b_2
-
- .end
diff --git a/sound/songs/se_w026.s b/sound/songs/se_w026.s
deleted file mode 100644
index d7e9f8425..000000000
--- a/sound/songs/se_w026.s
+++ /dev/null
@@ -1,71 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w026_grp, voicegroup128
- .equ se_w026_pri, 4
- .equ se_w026_rev, reverb_set+50
- .equ se_w026_mvl, 127
- .equ se_w026_key, 0
- .equ se_w026_tbs, 1
- .equ se_w026_exg, 0
- .equ se_w026_cmp, 1
-
- .section .rodata
- .global se_w026
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w026_1:
- .byte KEYSH , se_w026_key+0
- .byte TEMPO , 180*se_w026_tbs/2
- .byte VOICE , 22
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 110*se_w026_mvl/mxv
- .byte BEND , c_v-12
- .byte N19 , Gn3 , v108
- .byte W02
- .byte BEND , c_v-5
- .byte W01
- .byte VOL , 101*se_w026_mvl/mxv
- .byte W01
- .byte PAN , c_v-9
- .byte BEND , c_v+8
- .byte W02
- .byte VOL , 84*se_w026_mvl/mxv
- .byte BEND , c_v+4
- .byte W02
- .byte PAN , c_v+0
- .byte W01
- .byte VOL , 64*se_w026_mvl/mxv
- .byte BEND , c_v-13
- .byte W01
- .byte PAN , c_v+8
- .byte W02
- .byte VOL , 45*se_w026_mvl/mxv
- .byte BEND , c_v-31
- .byte W02
- .byte VOL , 32*se_w026_mvl/mxv
- .byte PAN , c_v+0
- .byte W01
- .byte VOICE , 2
- .byte W01
- .byte VOL , 13*se_w026_mvl/mxv
- .byte BEND , c_v-52
- .byte W08
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w026:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w026_pri @ Priority
- .byte se_w026_rev @ Reverb.
-
- .word se_w026_grp
-
- .word se_w026_1
-
- .end
diff --git a/sound/songs/se_w028.s b/sound/songs/se_w028.s
deleted file mode 100644
index 716ff7cd8..000000000
--- a/sound/songs/se_w028.s
+++ /dev/null
@@ -1,95 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w028_grp, voicegroup128
- .equ se_w028_pri, 4
- .equ se_w028_rev, reverb_set+50
- .equ se_w028_mvl, 127
- .equ se_w028_key, 0
- .equ se_w028_tbs, 1
- .equ se_w028_exg, 0
- .equ se_w028_cmp, 1
-
- .section .rodata
- .global se_w028
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w028_1:
- .byte KEYSH , se_w028_key+0
- .byte TEMPO , 150*se_w028_tbs/2
- .byte VOICE , 26
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 110*se_w028_mvl/mxv
- .byte BEND , c_v+0
- .byte N02 , Gn5 , v092
- .byte W02
- .byte Cn5
- .byte W04
- .byte VOICE , 36
- .byte VOL , 84*se_w028_mvl/mxv
- .byte PAN , c_v+5
- .byte N15 , Gn5 , v040
- .byte W01
- .byte PAN , c_v-10
- .byte W01
- .byte c_v+5
- .byte W01
- .byte c_v-10
- .byte W01
- .byte VOL , 94*se_w028_mvl/mxv
- .byte PAN , c_v+5
- .byte W02
- .byte c_v-10
- .byte W01
- .byte c_v+5
- .byte W01
- .byte c_v-10
- .byte W01
- .byte VOL , 110*se_w028_mvl/mxv
- .byte PAN , c_v+5
- .byte W01
- .byte c_v-10
- .byte W02
- .byte VOL , 96*se_w028_mvl/mxv
- .byte PAN , c_v+5
- .byte W01
- .byte VOL , 68*se_w028_mvl/mxv
- .byte PAN , c_v-10
- .byte W01
- .byte VOL , 15*se_w028_mvl/mxv
- .byte PAN , c_v+5
- .byte W01
- .byte c_v-10
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_w028_2:
- .byte KEYSH , se_w028_key+0
- .byte VOICE , 25
- .byte VOL , 110*se_w028_mvl/mxv
- .byte PAN , c_v+0
- .byte N01 , Cn3 , v040
- .byte W02
- .byte N01
- .byte W22
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w028:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w028_pri @ Priority
- .byte se_w028_rev @ Reverb.
-
- .word se_w028_grp
-
- .word se_w028_1
- .word se_w028_2
-
- .end
diff --git a/sound/songs/se_w029.s b/sound/songs/se_w029.s
deleted file mode 100644
index 1f85e9449..000000000
--- a/sound/songs/se_w029.s
+++ /dev/null
@@ -1,87 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w029_grp, voicegroup128
- .equ se_w029_pri, 4
- .equ se_w029_rev, reverb_set+50
- .equ se_w029_mvl, 127
- .equ se_w029_key, 0
- .equ se_w029_tbs, 1
- .equ se_w029_exg, 0
- .equ se_w029_cmp, 1
-
- .section .rodata
- .global se_w029
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w029_1:
- .byte KEYSH , se_w029_key+0
- .byte TEMPO , 150*se_w029_tbs/2
- .byte VOICE , 2
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 25*se_w029_mvl/mxv
- .byte BEND , c_v-48
- .byte N07 , Cn1 , v127
- .byte W01
- .byte VOL , 41*se_w029_mvl/mxv
- .byte BEND , c_v-31
- .byte W01
- .byte PAN , c_v+7
- .byte VOL , 57*se_w029_mvl/mxv
- .byte BEND , c_v-16
- .byte W01
- .byte VOL , 79*se_w029_mvl/mxv
- .byte BEND , c_v+0
- .byte W01
- .byte PAN , c_v+11
- .byte VOL , 110*se_w029_mvl/mxv
- .byte BEND , c_v+14
- .byte W02
- .byte c_v+32
- .byte W01
- .byte PAN , c_v+14
- .byte W01
- .byte VOL , 25*se_w029_mvl/mxv
- .byte BEND , c_v-48
- .byte N07 , Dn1
- .byte W01
- .byte PAN , c_v+19
- .byte VOL , 41*se_w029_mvl/mxv
- .byte BEND , c_v-31
- .byte W01
- .byte VOL , 57*se_w029_mvl/mxv
- .byte BEND , c_v-16
- .byte W02
- .byte PAN , c_v+0
- .byte VOL , 79*se_w029_mvl/mxv
- .byte BEND , c_v+0
- .byte W01
- .byte VOL , 110*se_w029_mvl/mxv
- .byte BEND , c_v+14
- .byte W01
- .byte PAN , c_v-8
- .byte BEND , c_v+32
- .byte W02
- .byte PAN , c_v-11
- .byte W03
- .byte c_v-15
- .byte W05
- .byte VOL , 110*se_w029_mvl/mxv
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w029:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w029_pri @ Priority
- .byte se_w029_rev @ Reverb.
-
- .word se_w029_grp
-
- .word se_w029_1
-
- .end
diff --git a/sound/songs/se_w030.s b/sound/songs/se_w030.s
deleted file mode 100644
index 35097ca84..000000000
--- a/sound/songs/se_w030.s
+++ /dev/null
@@ -1,67 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w030_grp, voicegroup128
- .equ se_w030_pri, 4
- .equ se_w030_rev, reverb_set+50
- .equ se_w030_mvl, 127
- .equ se_w030_key, 0
- .equ se_w030_tbs, 1
- .equ se_w030_exg, 0
- .equ se_w030_cmp, 1
-
- .section .rodata
- .global se_w030
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w030_1:
- .byte KEYSH , se_w030_key+0
- .byte TEMPO , 150*se_w030_tbs/2
- .byte VOICE , 21
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 110*se_w030_mvl/mxv
- .byte BEND , c_v+1
- .byte N01 , Bn5 , v127
- .byte W02
- .byte VOICE , 18
- .byte N01 , Cn4
- .byte W02
- .byte VOICE , 36
- .byte N06 , Gn5 , v040
- .byte W02
- .byte VOL , 58*se_w030_mvl/mxv
- .byte PAN , c_v+16
- .byte BEND , c_v+5
- .byte W01
- .byte VOL , 71*se_w030_mvl/mxv
- .byte PAN , c_v-14
- .byte BEND , c_v+13
- .byte W01
- .byte VOL , 84*se_w030_mvl/mxv
- .byte PAN , c_v+16
- .byte BEND , c_v+21
- .byte W01
- .byte VOL , 97*se_w030_mvl/mxv
- .byte PAN , c_v-14
- .byte BEND , c_v+33
- .byte W01
- .byte VOL , 110*se_w030_mvl/mxv
- .byte W14
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w030:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w030_pri @ Priority
- .byte se_w030_rev @ Reverb.
-
- .word se_w030_grp
-
- .word se_w030_1
-
- .end
diff --git a/sound/songs/se_w036.s b/sound/songs/se_w036.s
deleted file mode 100644
index eb32e1489..000000000
--- a/sound/songs/se_w036.s
+++ /dev/null
@@ -1,95 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w036_grp, voicegroup128
- .equ se_w036_pri, 4
- .equ se_w036_rev, reverb_set+50
- .equ se_w036_mvl, 127
- .equ se_w036_key, 0
- .equ se_w036_tbs, 1
- .equ se_w036_exg, 0
- .equ se_w036_cmp, 1
-
- .section .rodata
- .global se_w036
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w036_1:
- .byte KEYSH , se_w036_key+0
- .byte TEMPO , 150*se_w036_tbs/2
- .byte VOICE , 2
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 105*se_w036_mvl/mxv
- .byte BEND , c_v-48
- .byte N10 , Gn0 , v127
- .byte W02
- .byte PAN , c_v+7
- .byte BEND , c_v-32
- .byte W01
- .byte c_v-16
- .byte W01
- .byte PAN , c_v+11
- .byte BEND , c_v+0
- .byte W02
- .byte c_v+15
- .byte W01
- .byte PAN , c_v+14
- .byte W01
- .byte BEND , c_v+32
- .byte W01
- .byte PAN , c_v+19
- .byte W03
- .byte c_v+0
- .byte VOL , 105*se_w036_mvl/mxv
- .byte BEND , c_v-32
- .byte N10
- .byte W02
- .byte PAN , c_v-8
- .byte BEND , c_v-16
- .byte W01
- .byte c_v+0
- .byte W01
- .byte PAN , c_v-11
- .byte BEND , c_v+16
- .byte W02
- .byte c_v+32
- .byte W01
- .byte PAN , c_v-15
- .byte W01
- .byte BEND , c_v+48
- .byte W01
- .byte PAN , c_v-20
- .byte W03
- .byte c_v+0
- .byte VOL , 105*se_w036_mvl/mxv
- .byte BEND , c_v-16
- .byte N10
- .byte W02
- .byte BEND , c_v+0
- .byte W01
- .byte c_v+16
- .byte W01
- .byte c_v+32
- .byte W02
- .byte c_v+47
- .byte W02
- .byte c_v+63
- .byte W16
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w036:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w036_pri @ Priority
- .byte se_w036_rev @ Reverb.
-
- .word se_w036_grp
-
- .word se_w036_1
-
- .end
diff --git a/sound/songs/se_w039.s b/sound/songs/se_w039.s
deleted file mode 100644
index bcd35e724..000000000
--- a/sound/songs/se_w039.s
+++ /dev/null
@@ -1,63 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w039_grp, voicegroup128
- .equ se_w039_pri, 4
- .equ se_w039_rev, reverb_set+50
- .equ se_w039_mvl, 127
- .equ se_w039_key, 0
- .equ se_w039_tbs, 1
- .equ se_w039_exg, 0
- .equ se_w039_cmp, 1
-
- .section .rodata
- .global se_w039
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w039_1:
- .byte KEYSH , se_w039_key+0
- .byte TEMPO , 150*se_w039_tbs/2
- .byte VOICE , 15
- .byte BENDR , 12
- .byte PAN , c_v+18
- .byte VOL , 48*se_w039_mvl/mxv
- .byte BEND , c_v-48
- .byte N04 , Gn2 , v127
- .byte W01
- .byte VOL , 81*se_w039_mvl/mxv
- .byte BEND , c_v-16
- .byte W01
- .byte VOL , 110*se_w039_mvl/mxv
- .byte BEND , c_v+16
- .byte W01
- .byte c_v+0
- .byte W04
- .byte VOL , 48*se_w039_mvl/mxv
- .byte PAN , c_v-16
- .byte BEND , c_v-48
- .byte N04 , An2
- .byte W01
- .byte VOL , 81*se_w039_mvl/mxv
- .byte BEND , c_v-16
- .byte W01
- .byte VOL , 110*se_w039_mvl/mxv
- .byte BEND , c_v+16
- .byte W15
- .byte VOL , 110*se_w039_mvl/mxv
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w039:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w039_pri @ Priority
- .byte se_w039_rev @ Reverb.
-
- .word se_w039_grp
-
- .word se_w039_1
-
- .end
diff --git a/sound/songs/se_w043.s b/sound/songs/se_w043.s
deleted file mode 100644
index 85abb295e..000000000
--- a/sound/songs/se_w043.s
+++ /dev/null
@@ -1,105 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_w043_grp, voicegroup128
- .equ se_w043_pri, 4
- .equ se_w043_rev, reverb_set+50
- .equ se_w043_mvl, 127
- .equ se_w043_key, 0
- .equ se_w043_tbs, 1
- .equ se_w043_exg, 0
- .equ se_w043_cmp, 1
-
- .section .rodata
- .global se_w043
- .align 2
-
-@********************** Track 1 **********************@
-
-se_w043_1:
- .byte KEYSH , se_w043_key+0
- .byte TEMPO , 150*se_w043_tbs/2
- .byte VOICE , 18
- .byte VOL , 110*se_w043_mvl/mxv
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N02 , En3 , v124
- .byte W02
- .byte As3
- .byte W04
- .byte W01
- .byte N03 , En3 , v092
- .byte W05
- .byte W04
- .byte PAN , c_v-6
- .byte N02 , En3 , v076
- .byte W02
- .byte W01
- .byte PAN , c_v+6
- .byte N02 , As3
- .byte W05
- .byte PAN , c_v+0
- .byte N03 , En3 , v052
- .byte W06
- .byte W03
- .byte PAN , c_v-12
- .byte N02 , En3 , v056
- .byte W03
- .byte PAN , c_v+10
- .byte N02 , As3
- .byte W04
- .byte PAN , c_v+0
- .byte N03 , En3 , v032
- .byte W02
- .byte W06
- .byte W01
- .byte PAN , c_v-16
- .byte N02 , En3 , v044
- .byte W02
- .byte PAN , c_v+16
- .byte N02 , As3
- .byte W03
- .byte W02
- .byte PAN , c_v+0
- .byte N03 , En3 , v020
- .byte W04
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_w043_2:
- .byte KEYSH , se_w043_key+0
- .byte VOICE , 5
- .byte VOL , 110*se_w043_mvl/mxv
- .byte N01 , Cn3 , v040
- .byte W03
- .byte En3
- .byte W03
- .byte W01
- .byte Gn3
- .byte W05
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_w043:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_w043_pri @ Priority
- .byte se_w043_rev @ Reverb.
-
- .word se_w043_grp
-
- .word se_w043_1
- .word se_w043_2
-
- .end
diff --git a/src/alloc.c b/src/alloc.c
index 2944bc1c6..4d1a9fe5c 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -178,12 +178,12 @@ void InitHeap(void *heapStart, u32 heapSize)
void *Alloc(u32 size)
{
- AllocInternal(sHeapStart, size);
+ return AllocInternal(sHeapStart, size);
}
void *AllocZeroed(u32 size)
{
- AllocZeroedInternal(sHeapStart, size);
+ return AllocZeroedInternal(sHeapStart, size);
}
void Free(void *pointer)
diff --git a/src/anim_mon_front_pics.c b/src/anim_mon_front_pics.c
index ba53ba193..b566b7760 100644
--- a/src/anim_mon_front_pics.c
+++ b/src/anim_mon_front_pics.c
@@ -1,424 +1,424 @@
#include "global.h"
-const u32 gMonFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/circled_question_mark_front_pic.4bpp.lz");
+const u32 gMonFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/anim_front.4bpp.lz");
-const u32 gMonFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bulbasaur_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ivysaur_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/anim_front_pics/venusaur_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/anim_front_pics/charmander_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/charmeleon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/anim_front_pics/charizard_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/squirtle_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wartortle_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/anim_front_pics/blastoise_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/anim_front_pics/caterpie_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/anim_front_pics/metapod_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/anim_front_pics/butterfree_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/weedle_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kakuna_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/anim_front_pics/beedrill_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pidgey_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pidgeotto_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pidgeot_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rattata_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/anim_front_pics/raticate_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spearow_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/fearow_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ekans_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/anim_front_pics/arbok_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pikachu_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/raichu_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sandshrew_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sandslash_front_pic.4bpp.lz");
-const u32 gMonFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidoran_f_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidorina_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidoqueen_front_pic.4bpp.lz");
-const u32 gMonFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidoran_m_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidorino_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidoking_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/anim_front_pics/clefairy_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/anim_front_pics/clefable_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vulpix_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ninetales_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jigglypuff_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wigglytuff_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/zubat_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/golbat_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/anim_front_pics/oddish_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gloom_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vileplume_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/anim_front_pics/paras_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/anim_front_pics/parasect_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/venonat_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/venomoth_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/anim_front_pics/diglett_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dugtrio_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/meowth_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/anim_front_pics/persian_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/anim_front_pics/psyduck_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/anim_front_pics/golduck_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mankey_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/anim_front_pics/primeape_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/anim_front_pics/growlithe_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/anim_front_pics/arcanine_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/anim_front_pics/poliwag_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/anim_front_pics/poliwhirl_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/anim_front_pics/poliwrath_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/anim_front_pics/abra_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kadabra_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/anim_front_pics/alakazam_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/anim_front_pics/machop_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/anim_front_pics/machoke_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/anim_front_pics/machamp_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bellsprout_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/anim_front_pics/weepinbell_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/victreebel_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tentacool_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tentacruel_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/anim_front_pics/geodude_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/anim_front_pics/graveler_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/anim_front_pics/golem_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ponyta_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rapidash_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slowpoke_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slowbro_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magnemite_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magneton_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/anim_front_pics/farfetch_d_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/doduo_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dodrio_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seel_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dewgong_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/anim_front_pics/grimer_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/anim_front_pics/muk_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shellder_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cloyster_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gastly_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/anim_front_pics/haunter_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gengar_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/anim_front_pics/onix_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/anim_front_pics/drowzee_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hypno_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/anim_front_pics/krabby_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kingler_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/anim_front_pics/voltorb_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/anim_front_pics/electrode_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/anim_front_pics/exeggcute_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/anim_front_pics/exeggutor_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cubone_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/anim_front_pics/marowak_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hitmonlee_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hitmonchan_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lickitung_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/anim_front_pics/koffing_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/anim_front_pics/weezing_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rhyhorn_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rhydon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/anim_front_pics/chansey_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tangela_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kangaskhan_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/anim_front_pics/horsea_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seadra_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/anim_front_pics/goldeen_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seaking_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/staryu_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/anim_front_pics/starmie_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mr_mime_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/anim_front_pics/scyther_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jynx_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/anim_front_pics/electabuzz_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magmar_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pinsir_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tauros_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magikarp_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gyarados_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lapras_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ditto_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/anim_front_pics/eevee_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vaporeon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jolteon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/flareon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/porygon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/anim_front_pics/omanyte_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/omastar_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kabuto_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kabutops_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/anim_front_pics/aerodactyl_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/anim_front_pics/snorlax_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/anim_front_pics/articuno_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/anim_front_pics/zapdos_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/anim_front_pics/moltres_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dratini_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dragonair_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dragonite_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mewtwo_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mew_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/anim_front.4bpp.lz");
+const u32 gMonFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/anim_front.4bpp.lz");
+const u32 gMonFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/anim_front.4bpp.lz");
-const u32 gMonFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/anim_front_pics/chikorita_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bayleef_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/anim_front_pics/meganium_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cyndaquil_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/anim_front_pics/quilava_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/anim_front_pics/typhlosion_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/anim_front_pics/totodile_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/anim_front_pics/croconaw_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/anim_front_pics/feraligatr_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sentret_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/anim_front_pics/furret_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hoothoot_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/anim_front_pics/noctowl_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ledyba_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ledian_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spinarak_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ariados_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/crobat_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/anim_front_pics/chinchou_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lanturn_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pichu_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cleffa_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/anim_front_pics/igglybuff_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/anim_front_pics/togepi_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/anim_front_pics/togetic_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/natu_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/xatu_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mareep_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/anim_front_pics/flaaffy_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ampharos_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bellossom_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/anim_front_pics/marill_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/anim_front_pics/azumarill_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sudowoodo_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/anim_front_pics/politoed_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hoppip_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/skiploom_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jumpluff_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/aipom_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sunkern_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sunflora_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/anim_front_pics/yanma_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wooper_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/anim_front_pics/quagsire_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/espeon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/umbreon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/murkrow_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slowking_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/anim_front_pics/misdreavus_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_a_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wobbuffet_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/anim_front_pics/girafarig_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pineco_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/anim_front_pics/forretress_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dunsparce_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gligar_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/anim_front_pics/steelix_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/anim_front_pics/snubbull_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/anim_front_pics/granbull_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/anim_front_pics/qwilfish_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/anim_front_pics/scizor_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shuckle_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/anim_front_pics/heracross_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sneasel_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/anim_front_pics/teddiursa_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ursaring_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slugma_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magcargo_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swinub_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/anim_front_pics/piloswine_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/anim_front_pics/corsola_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/anim_front_pics/remoraid_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/anim_front_pics/octillery_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/anim_front_pics/delibird_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mantine_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/anim_front_pics/skarmory_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/anim_front_pics/houndour_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/houndoom_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kingdra_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/anim_front_pics/phanpy_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/anim_front_pics/donphan_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/anim_front_pics/porygon2_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/anim_front_pics/stantler_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/smeargle_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tyrogue_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hitmontop_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/anim_front_pics/smoochum_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/anim_front_pics/elekid_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magby_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/anim_front_pics/miltank_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/anim_front_pics/blissey_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/anim_front_pics/raikou_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/anim_front_pics/entei_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/anim_front_pics/suicune_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/larvitar_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pupitar_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tyranitar_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lugia_front_pic.4bpp.lz");
-const u32 gMonFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ho_oh_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/anim_front_pics/celebi_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/anim_front.4bpp.lz");
+const u32 gMonFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/anim_front_a.4bpp.lz");
+const u32 gMonFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/anim_front.4bpp.lz");
+const u32 gMonFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/anim_front.4bpp.lz");
-const u32 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/double_question_mark_front_pic.4bpp.lz");
+const u32 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/anim_front.4bpp.lz");
-const u32 gMonFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/anim_front_pics/treecko_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/grovyle_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sceptile_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/anim_front_pics/torchic_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/anim_front_pics/combusken_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/anim_front_pics/blaziken_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mudkip_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/anim_front_pics/marshtomp_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swampert_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/anim_front_pics/poochyena_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mightyena_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/zigzagoon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/anim_front_pics/linoone_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wurmple_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/silcoon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/anim_front_pics/beautifly_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cascoon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dustox_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lotad_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lombre_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ludicolo_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seedot_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nuzleaf_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shiftry_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nincada_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ninjask_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shedinja_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/taillow_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swellow_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shroomish_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/breloom_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Spinda[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spinda_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wingull_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pelipper_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/anim_front_pics/surskit_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/anim_front_pics/masquerain_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wailmer_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wailord_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/anim_front_pics/skitty_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/anim_front_pics/delcatty_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kecleon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/anim_front_pics/baltoy_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/anim_front_pics/claydol_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nosepass_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/anim_front_pics/torkoal_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sableye_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/anim_front_pics/barboach_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/anim_front_pics/whiscash_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/anim_front_pics/luvdisc_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/anim_front_pics/corphish_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/anim_front_pics/crawdaunt_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/anim_front_pics/feebas_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/anim_front_pics/milotic_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/anim_front_pics/carvanha_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sharpedo_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/anim_front_pics/trapinch_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vibrava_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/flygon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/anim_front_pics/makuhita_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hariyama_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/anim_front_pics/electrike_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/anim_front_pics/manectric_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/numel_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/anim_front_pics/camerupt_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spheal_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sealeo_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/anim_front_pics/walrein_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cacnea_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cacturne_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/anim_front_pics/snorunt_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/anim_front_pics/glalie_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lunatone_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/anim_front_pics/solrock_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/anim_front_pics/azurill_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spoink_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/anim_front_pics/grumpig_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/plusle_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/anim_front_pics/minun_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mawile_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/anim_front_pics/meditite_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/anim_front_pics/medicham_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swablu_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/anim_front_pics/altaria_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wynaut_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/anim_front_pics/duskull_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dusclops_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/anim_front_pics/roselia_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slakoth_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vigoroth_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slaking_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gulpin_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swalot_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tropius_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/anim_front_pics/whismur_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/anim_front_pics/loudred_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/anim_front_pics/exploud_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/anim_front_pics/clamperl_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/anim_front_pics/huntail_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gorebyss_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/anim_front_pics/absol_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shuppet_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/anim_front_pics/banette_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seviper_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/anim_front_pics/zangoose_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/relicanth_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/anim_front_pics/aron_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lairon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/anim_front_pics/aggron_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/anim_front_pics/castform_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/volbeat_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/anim_front_pics/illumise_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lileep_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cradily_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anim_front_pics/anorith_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/armaldo_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ralts_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kirlia_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gardevoir_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bagon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shelgon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/anim_front_pics/salamence_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/anim_front_pics/beldum_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/anim_front_pics/metang_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/anim_front_pics/metagross_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/anim_front_pics/regirock_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/anim_front_pics/regice_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/registeel_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kyogre_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/groudon_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rayquaza_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/anim_front_pics/latias_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/anim_front_pics/latios_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jirachi_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/anim_front_pics/deoxys_front_pic.4bpp.lz");
-const u32 gMonFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/anim_front_pics/chimecho_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/anim_front.4bpp.lz");
-const u32 gMonFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/anim_front_pics/egg_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/egg/anim_front.4bpp.lz");
-const u32 gMonFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_b_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_c_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_d_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_e_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_f_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_g_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_h_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_i_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_j_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_k_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_l_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_m_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_n_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_o_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_p_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_q_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_r_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_s_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_t_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_u_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_v_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_w_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_x_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_y_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_z_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_exclamation_mark_front_pic.4bpp.lz");
-const u32 gMonFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_question_mark_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/anim_front_b.4bpp.lz");
+const u32 gMonFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/anim_front_c.4bpp.lz");
+const u32 gMonFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/anim_front_d.4bpp.lz");
+const u32 gMonFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/anim_front_e.4bpp.lz");
+const u32 gMonFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/anim_front_f.4bpp.lz");
+const u32 gMonFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/anim_front_g.4bpp.lz");
+const u32 gMonFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/anim_front_h.4bpp.lz");
+const u32 gMonFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/anim_front_i.4bpp.lz");
+const u32 gMonFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/anim_front_j.4bpp.lz");
+const u32 gMonFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/anim_front_k.4bpp.lz");
+const u32 gMonFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/anim_front_l.4bpp.lz");
+const u32 gMonFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/anim_front_m.4bpp.lz");
+const u32 gMonFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/anim_front_n.4bpp.lz");
+const u32 gMonFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/anim_front_o.4bpp.lz");
+const u32 gMonFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/anim_front_p.4bpp.lz");
+const u32 gMonFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/anim_front_q.4bpp.lz");
+const u32 gMonFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/anim_front_r.4bpp.lz");
+const u32 gMonFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/anim_front_s.4bpp.lz");
+const u32 gMonFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/anim_front_t.4bpp.lz");
+const u32 gMonFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/anim_front_u.4bpp.lz");
+const u32 gMonFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/anim_front_v.4bpp.lz");
+const u32 gMonFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/anim_front_w.4bpp.lz");
+const u32 gMonFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/anim_front_x.4bpp.lz");
+const u32 gMonFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/anim_front_y.4bpp.lz");
+const u32 gMonFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/anim_front_z.4bpp.lz");
+const u32 gMonFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/anim_front_exclamation_mark.4bpp.lz");
+const u32 gMonFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/anim_front_question_mark.4bpp.lz");
diff --git a/src/apprentice.c b/src/apprentice.c
index 27ff8e36e..ac2bba48f 100644
--- a/src/apprentice.c
+++ b/src/apprentice.c
@@ -2,7 +2,7 @@
#include "apprentice.h"
#include "battle.h"
#include "battle_tower.h"
-#include "data2.h"
+#include "data.h"
#include "event_data.h"
#include "event_object_movement.h"
#include "field_player_avatar.h"
diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c
index 6098e2d3a..5e832aba0 100644
--- a/src/battle_ai_script_commands.c
+++ b/src/battle_ai_script_commands.c
@@ -1,8 +1,10 @@
#include "global.h"
#include "battle.h"
+#include "battle_anim.h"
#include "battle_ai_script_commands.h"
#include "battle_factory.h"
#include "battle_setup.h"
+#include "data.h"
#include "item.h"
#include "pokemon.h"
#include "random.h"
@@ -2216,7 +2218,7 @@ static void BattleAICmd_if_flash_fired(void)
{
u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]);
- if (gBattleResources->flags->flags[battlerId] & UNKNOWN_FLAG_FLASH_FIRE)
+ if (gBattleResources->flags->flags[battlerId] & RESOURCE_FLAG_FLASH_FIRE)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c
index a5958ebc6..2d67fda99 100644
--- a/src/battle_ai_switch_items.c
+++ b/src/battle_ai_switch_items.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "battle.h"
+#include "battle_anim.h"
#include "battle_controllers.h"
#include "pokemon.h"
#include "random.h"
diff --git a/src/battle_anim.c b/src/battle_anim.c
index f1cff1de2..a667c6177 100644
--- a/src/battle_anim.c
+++ b/src/battle_anim.c
@@ -26,7 +26,6 @@ extern struct MusicPlayerInfo gMPlayInfo_SE2;
extern const u16 gMovesWithQuietBGM[];
extern const u8 *const gBattleAnims_Moves[];
-extern const struct BattleAnimBackground gBattleAnimBackgroundTable[];
// this file's functions
static void ScriptCmd_loadspritegfx(void);
@@ -117,1269 +116,1628 @@ EWRAM_DATA u8 gUnknown_02038440 = 0;
const struct OamData gUnknown_08524904 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_0852490C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524914 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .x = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_0852491C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524924 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x8),
+ .x = 0,
+ .size = SPRITE_SIZE(16x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_0852492C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524934 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
+ .x = 0,
+ .size = SPRITE_SIZE(32x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_0852493C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
+ .x = 0,
+ .size = SPRITE_SIZE(64x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524944 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x16),
+ .x = 0,
+ .size = SPRITE_SIZE(8x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_0852494C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x32),
+ .x = 0,
+ .size = SPRITE_SIZE(8x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524954 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x32),
+ .x = 0,
+ .size = SPRITE_SIZE(16x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_0852495C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x64),
+ .x = 0,
+ .size = SPRITE_SIZE(32x64),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524964 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_0852496C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524974 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .x = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_0852497C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524984 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x8),
+ .x = 0,
+ .size = SPRITE_SIZE(16x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_0852498C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524994 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
+ .x = 0,
+ .size = SPRITE_SIZE(32x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_0852499C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
+ .x = 0,
+ .size = SPRITE_SIZE(64x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_085249A4 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x16),
+ .x = 0,
+ .size = SPRITE_SIZE(8x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_085249AC =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x32),
+ .x = 0,
+ .size = SPRITE_SIZE(8x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_085249B4 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x32),
+ .x = 0,
+ .size = SPRITE_SIZE(16x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_085249BC =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x64),
+ .x = 0,
+ .size = SPRITE_SIZE(32x64),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_085249C4 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_085249CC =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_085249D4 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .x = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_085249DC =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_085249E4 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x8),
+ .x = 0,
+ .size = SPRITE_SIZE(16x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_085249EC =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_085249F4 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
+ .x = 0,
+ .size = SPRITE_SIZE(32x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_085249FC =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
+ .x = 0,
+ .size = SPRITE_SIZE(64x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A04 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x16),
+ .x = 0,
+ .size = SPRITE_SIZE(8x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A0C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x32),
+ .x = 0,
+ .size = SPRITE_SIZE(8x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A14 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x32),
+ .x = 0,
+ .size = SPRITE_SIZE(16x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A1C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x64),
+ .x = 0,
+ .size = SPRITE_SIZE(32x64),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A24 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_SQUARE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A2C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_SQUARE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A34 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_SQUARE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .x = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A3C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_SQUARE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A44 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x8),
+ .x = 0,
+ .size = SPRITE_SIZE(16x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A4C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A54 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
+ .x = 0,
+ .size = SPRITE_SIZE(32x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A5C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
+ .x = 0,
+ .size = SPRITE_SIZE(64x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A64 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x16),
+ .x = 0,
+ .size = SPRITE_SIZE(8x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A6C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x32),
+ .x = 0,
+ .size = SPRITE_SIZE(8x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A74 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x32),
+ .x = 0,
+ .size = SPRITE_SIZE(16x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A7C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x64),
+ .x = 0,
+ .size = SPRITE_SIZE(32x64),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A84 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_SQUARE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A8C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_SQUARE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A94 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_SQUARE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .x = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524A9C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_SQUARE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524AA4 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x8),
+ .x = 0,
+ .size = SPRITE_SIZE(16x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524AAC =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524AB4 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
+ .x = 0,
+ .size = SPRITE_SIZE(32x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524ABC =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
+ .x = 0,
+ .size = SPRITE_SIZE(64x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524AC4 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x16),
+ .x = 0,
+ .size = SPRITE_SIZE(8x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524ACC =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x32),
+ .x = 0,
+ .size = SPRITE_SIZE(8x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524AD4 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x32),
+ .x = 0,
+ .size = SPRITE_SIZE(16x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524ADC =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x64),
+ .x = 0,
+ .size = SPRITE_SIZE(32x64),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524AE4 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_SQUARE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524AEC =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_SQUARE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524AF4 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_SQUARE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .x = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524AFC =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_SQUARE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524B04 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x8),
+ .x = 0,
+ .size = SPRITE_SIZE(16x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524B0C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524B14 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
+ .x = 0,
+ .size = SPRITE_SIZE(32x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524B1C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
+ .x = 0,
+ .size = SPRITE_SIZE(64x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524B24 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x16),
+ .x = 0,
+ .size = SPRITE_SIZE(8x16),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524B2C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x32),
+ .x = 0,
+ .size = SPRITE_SIZE(8x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524B34 =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x32),
+ .x = 0,
+ .size = SPRITE_SIZE(16x32),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct OamData gUnknown_08524B3C =
{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_BLEND,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 3,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x64),
+ .x = 0,
+ .size = SPRITE_SIZE(32x64),
+ .tileNum = 0,
.priority = 2,
+ .paletteNum = 0,
};
const struct CompressedSpriteSheet gBattleAnimPicTable[] =
{
- {gBattleAnimSpriteSheet_000, 0x0200, ANIM_TAG_BONE},
- {gBattleAnimSpriteSheet_001, 0x0300, ANIM_TAG_SPARK},
- {gBattleAnimSpriteSheet_002, 0x0200, ANIM_TAG_PENCIL},
- {gBattleAnimSpriteSheet_003, 0x0100, ANIM_TAG_AIR_WAVE},
- {gBattleAnimSpriteSheet_004, 0x0200, ANIM_TAG_UNUSED_ORB},
- {gBattleAnimSpriteSheet_005, 0x0400, ANIM_TAG_SWORD},
- {gBattleAnimSpriteSheet_006, 0x0180, ANIM_TAG_SEED},
- {gBattleAnimSpriteSheet_007, 0x0800, ANIM_TAG_UNUSED_EXPLOSION},
- {gBattleAnimSpriteSheet_008, 0x0020, ANIM_TAG_UNUSED_PINK_ORB},
- {gBattleAnimSpriteSheet_009, 0x0400, ANIM_TAG_GUST},
- {gBattleAnimSpriteSheet_010, 0x1200, ANIM_TAG_ICE_CUBE},
- {gBattleAnimSpriteSheet_011, 0x0180, ANIM_TAG_SPARK_2},
- {gBattleAnimSpriteSheet_012, 0x0080, ANIM_TAG_UNUSED_ORANGE},
- {gBattleAnimSpriteSheet_013, 0x0080, ANIM_TAG_YELLOW_BALL},
- {gBattleAnimSpriteSheet_014, 0x0280, ANIM_TAG_LOCK_ON},
- {gBattleAnimSpriteSheet_015, 0x0080, ANIM_TAG_TIED_BAG},
- {gBattleAnimSpriteSheet_016, 0x0100, ANIM_TAG_BLACK_SMOKE},
- {gBattleAnimSpriteSheet_017, 0x0020, ANIM_TAG_BLACK_BALL},
- {gBattleAnimSpriteSheet_018, 0x0080, ANIM_TAG_CONVERSION},
- {gBattleAnimSpriteSheet_019, 0x0400, ANIM_TAG_UNUSED_GLASS},
- {gBattleAnimSpriteSheet_020, 0x0200, ANIM_TAG_HORN_HIT},
- {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_UNUSED_HIT},
- {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_UNUSED_HIT_2},
- {gBattleAnimSpriteSheet_023, 0x0380, ANIM_TAG_UNUSED_BLUE_SHARDS},
- {gBattleAnimSpriteSheet_024, 0x0300, ANIM_TAG_UNUSED_CLOSING_EYE},
- {gBattleAnimSpriteSheet_025, 0x0A00, ANIM_TAG_UNUSED_WAVING_HAND},
- {gBattleAnimSpriteSheet_026, 0x0A00, ANIM_TAG_UNUSED_HIT_DUPLICATE},
- {gBattleAnimSpriteSheet_027, 0x0A00, ANIM_TAG_LEER},
- {gBattleAnimSpriteSheet_028, 0x0A00, ANIM_TAG_UNUSED_BLUE_BURST},
- {gBattleAnimSpriteSheet_029, 0x0A00, ANIM_TAG_SMALL_EMBER},
- {gBattleAnimSpriteSheet_030, 0x0A00, ANIM_TAG_GRAY_SMOKE},
- {gBattleAnimSpriteSheet_031, 0x0E00, ANIM_TAG_BLUE_STAR},
- {gBattleAnimSpriteSheet_032, 0x0380, ANIM_TAG_UNUSED_BUBBLE_BURST},
- {gBattleAnimSpriteSheet_033, 0x1000, ANIM_TAG_FIRE},
- {gBattleAnimSpriteSheet_034, 0x0800, ANIM_TAG_UNUSED_SPINNING_FIRE},
- {gBattleAnimSpriteSheet_035, 0x0A00, ANIM_TAG_FIRE_PLUME},
- {gBattleAnimSpriteSheet_036, 0x0800, ANIM_TAG_UNUSED_LIGHTNING},
- {gBattleAnimSpriteSheet_037, 0x0A00, ANIM_TAG_LIGHTNING},
- {gBattleAnimSpriteSheet_038, 0x0A00, ANIM_TAG_UNUSED_CLAW_SLASH},
- {gBattleAnimSpriteSheet_039, 0x0A00, ANIM_TAG_CLAW_SLASH},
- {gBattleAnimSpriteSheet_040, 0x0A00, ANIM_TAG_UNUSED_SCRATCH},
- {gBattleAnimSpriteSheet_041, 0x0A00, ANIM_TAG_UNUSED_SCRATCH_2},
- {gBattleAnimSpriteSheet_042, 0x0A00, ANIM_TAG_UNUSED_BUBBLE_BURST_2},
- {gBattleAnimSpriteSheet_043, 0x0A00, ANIM_TAG_ICE_CHUNK},
- {gBattleAnimSpriteSheet_044, 0x0A00, ANIM_TAG_UNUSED_GLASS_2},
- {gBattleAnimSpriteSheet_045, 0x0A00, ANIM_TAG_UNUSED_PINK_HEART},
- {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_UNUSED_SAP_DRIP},
- {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_UNUSED_SAP_DRIP_2},
- {gBattleAnimSpriteSheet_048, 0x1000, ANIM_TAG_SPARKLE_1},
- {gBattleAnimSpriteSheet_048, 0x1000, ANIM_TAG_SPARKLE_2},
- {gBattleAnimSpriteSheet_050, 0x0200, ANIM_TAG_HUMANOID_FOOT},
- {gBattleAnimSpriteSheet_051, 0x0200, ANIM_TAG_UNUSED_MONSTER_FOOT},
- {gBattleAnimSpriteSheet_052, 0x0200, ANIM_TAG_UNUSED_HUMANOID_HAND},
- {gBattleAnimSpriteSheet_053, 0x0800, ANIM_TAG_NOISE_LINE},
- {gBattleAnimSpriteSheet_054, 0x0080, ANIM_TAG_UNUSED_YELLOW_UNK},
- {gBattleAnimSpriteSheet_055, 0x0200, ANIM_TAG_UNUSED_RED_FIST},
- {gBattleAnimSpriteSheet_056, 0x1000, ANIM_TAG_SLAM_HIT},
- {gBattleAnimSpriteSheet_057, 0x0180, ANIM_TAG_UNUSED_RING},
- {gBattleAnimSpriteSheet_058, 0x0C00, ANIM_TAG_ROCKS},
- {gBattleAnimSpriteSheet_059, 0x0100, ANIM_TAG_UNUSED_Z},
- {gBattleAnimSpriteSheet_060, 0x0040, ANIM_TAG_UNUSED_YELLOW_UNK_2},
- {gBattleAnimSpriteSheet_061, 0x0180, ANIM_TAG_UNUSED_AIR_SLASH},
- {gBattleAnimSpriteSheet_062, 0x0800, ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS},
- {gBattleAnimSpriteSheet_063, 0x0480, ANIM_TAG_LEAF},
- {gBattleAnimSpriteSheet_064, 0x0200, ANIM_TAG_FINGER},
- {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_POISON_POWDER},
- {gBattleAnimSpriteSheet_066, 0x0100, ANIM_TAG_UNUSED_BROWN_TRIANGLE},
- {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_SLEEP_POWDER},
- {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_STUN_SPORE},
- {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_UNUSED_POWDER},
- {gBattleAnimSpriteSheet_070, 0x0200, ANIM_TAG_SPARKLE_3},
- {gBattleAnimSpriteSheet_071, 0x0A00, ANIM_TAG_SPARKLE_4},
- {gBattleAnimSpriteSheet_072, 0x0300, ANIM_TAG_MUSIC_NOTES},
- {gBattleAnimSpriteSheet_073, 0x0180, ANIM_TAG_DUCK},
- {gBattleAnimSpriteSheet_074, 0x00A0, ANIM_TAG_MUD_SAND},
- {gBattleAnimSpriteSheet_075, 0x0700, ANIM_TAG_ALERT},
- {gBattleAnimSpriteSheet_076, 0x0400, ANIM_TAG_UNUSED_BLUE_FLAMES},
- {gBattleAnimSpriteSheet_077, 0x0200, ANIM_TAG_UNUSED_BLUE_FLAMES_2},
- {gBattleAnimSpriteSheet_078, 0x0300, ANIM_TAG_UNUSED_SHOCK},
- {gBattleAnimSpriteSheet_079, 0x0C00, ANIM_TAG_SHOCK},
- {gBattleAnimSpriteSheet_080, 0x0A00, ANIM_TAG_UNUSED_BELL},
- {gBattleAnimSpriteSheet_081, 0x0080, ANIM_TAG_UNUSED_PINK_GLOVE},
- {gBattleAnimSpriteSheet_082, 0x0040, ANIM_TAG_UNUSED_BLUE_LINES},
- {gBattleAnimSpriteSheet_083, 0x0E00, ANIM_TAG_UNUSED_IMPACT},
- {gBattleAnimSpriteSheet_084, 0x0E00, ANIM_TAG_UNUSED_IMPACT_2},
- {gBattleAnimSpriteSheet_085, 0x0280, ANIM_TAG_UNUSED_RETICLE},
- {gBattleAnimSpriteSheet_086, 0x0200, ANIM_TAG_BREATH},
- {gBattleAnimSpriteSheet_087, 0x0080, ANIM_TAG_ANGER},
- {gBattleAnimSpriteSheet_088, 0x00C0, ANIM_TAG_UNUSED_SNOWBALL},
- {gBattleAnimSpriteSheet_089, 0x0A00, ANIM_TAG_UNUSED_VINE},
- {gBattleAnimSpriteSheet_090, 0x0200, ANIM_TAG_UNUSED_SWORD},
- {gBattleAnimSpriteSheet_091, 0x0180, ANIM_TAG_UNUSED_CLAPPING},
- {gBattleAnimSpriteSheet_092, 0x0080, ANIM_TAG_UNUSED_RED_TUBE},
- {gBattleAnimSpriteSheet_093, 0x1000, ANIM_TAG_AMNESIA},
- {gBattleAnimSpriteSheet_094, 0x0A00, ANIM_TAG_UNUSED_STRING},
- {gBattleAnimSpriteSheet_095, 0x0180, ANIM_TAG_UNUSED_PENCIL},
- {gBattleAnimSpriteSheet_096, 0x0380, ANIM_TAG_UNUSED_PETAL},
- {gBattleAnimSpriteSheet_097, 0x0C00, ANIM_TAG_BENT_SPOON},
- {gBattleAnimSpriteSheet_098, 0x0200, ANIM_TAG_UNUSED_WEB},
- {gBattleAnimSpriteSheet_099, 0x0200, ANIM_TAG_MILK_BOTTLE},
- {gBattleAnimSpriteSheet_100, 0x0200, ANIM_TAG_COIN},
- {gBattleAnimSpriteSheet_101, 0x0200, ANIM_TAG_UNUSED_CRACKED_EGG},
- {gBattleAnimSpriteSheet_102, 0x0400, ANIM_TAG_UNUSED_HATCHED_EGG},
- {gBattleAnimSpriteSheet_103, 0x0080, ANIM_TAG_UNUSED_FRESH_EGG},
- {gBattleAnimSpriteSheet_104, 0x0400, ANIM_TAG_UNUSED_FANGS},
- {gBattleAnimSpriteSheet_105, 0x0c00, ANIM_TAG_UNUSED_EXPLOSION_2},
- {gBattleAnimSpriteSheet_106, 0x0200, ANIM_TAG_UNUSED_EXPLOSION_3},
- {gBattleAnimSpriteSheet_107, 0x1000, ANIM_TAG_UNUSED_WATER_DROPLET},
- {gBattleAnimSpriteSheet_108, 0x0a00, ANIM_TAG_UNUSED_WATER_DROPLET_2},
- {gBattleAnimSpriteSheet_109, 0x0020, ANIM_TAG_UNUSED_SEED},
- {gBattleAnimSpriteSheet_110, 0x0e00, ANIM_TAG_UNUSED_SPROUT},
- {gBattleAnimSpriteSheet_111, 0x0080, ANIM_TAG_UNUSED_RED_WAND},
- {gBattleAnimSpriteSheet_112, 0x0a00, ANIM_TAG_UNUSED_PURPLE_GREEN_UNK},
- {gBattleAnimSpriteSheet_113, 0x0400, ANIM_TAG_UNUSED_WATER_COLUMN},
- {gBattleAnimSpriteSheet_114, 0x0200, ANIM_TAG_UNUSED_MUD_UNK},
- {gBattleAnimSpriteSheet_115, 0x0700, ANIM_TAG_RAIN_DROPS},
- {gBattleAnimSpriteSheet_116, 0x0800, ANIM_TAG_UNUSED_FURY_SWIPES},
- {gBattleAnimSpriteSheet_117, 0x0a00, ANIM_TAG_UNUSED_VINE_2},
- {gBattleAnimSpriteSheet_118, 0x0600, ANIM_TAG_UNUSED_TEETH},
- {gBattleAnimSpriteSheet_119, 0x0800, ANIM_TAG_UNUSED_BONE},
- {gBattleAnimSpriteSheet_120, 0x0200, ANIM_TAG_UNUSED_WHITE_BAG},
- {gBattleAnimSpriteSheet_121, 0x0040, ANIM_TAG_UNUSED_UNKNOWN},
- {gBattleAnimSpriteSheet_122, 0x0180, ANIM_TAG_UNUSED_PURPLE_CORAL},
- {gBattleAnimSpriteSheet_123, 0x0600, ANIM_TAG_UNUSED_PURPLE_DROPLET},
- {gBattleAnimSpriteSheet_124, 0x0600, ANIM_TAG_UNUSED_SHOCK_2},
- {gBattleAnimSpriteSheet_125, 0x0200, ANIM_TAG_UNUSED_CLOSING_EYE_2},
- {gBattleAnimSpriteSheet_126, 0x0080, ANIM_TAG_UNUSED_METAL_BALL},
- {gBattleAnimSpriteSheet_127, 0x0200, ANIM_TAG_UNUSED_MONSTER_DOLL},
- {gBattleAnimSpriteSheet_128, 0x0800, ANIM_TAG_UNUSED_WHIRLWIND},
- {gBattleAnimSpriteSheet_129, 0x0080, ANIM_TAG_UNUSED_WHIRLWIND_2},
- {gBattleAnimSpriteSheet_130, 0x0a00, ANIM_TAG_UNUSED_EXPLOSION_4},
- {gBattleAnimSpriteSheet_131, 0x0280, ANIM_TAG_UNUSED_EXPLOSION_5},
- {gBattleAnimSpriteSheet_132, 0x0280, ANIM_TAG_UNUSED_TONGUE},
- {gBattleAnimSpriteSheet_133, 0x0100, ANIM_TAG_UNUSED_SMOKE},
- {gBattleAnimSpriteSheet_134, 0x0200, ANIM_TAG_UNUSED_SMOKE_2},
- {gBattleAnimSpriteSheet_135, 0x0200, ANIM_TAG_IMPACT},
- {gBattleAnimSpriteSheet_136, 0x0020, ANIM_TAG_CIRCLE_IMPACT},
- {gBattleAnimSpriteSheet_137, 0x0a00, ANIM_TAG_SCRATCH},
- {gBattleAnimSpriteSheet_138, 0x0800, ANIM_TAG_CUT},
- {gBattleAnimSpriteSheet_139, 0x0800, ANIM_TAG_SHARP_TEETH},
- {gBattleAnimSpriteSheet_140, 0x00c0, ANIM_TAG_RAINBOW_RINGS},
- {gBattleAnimSpriteSheet_141, 0x01c0, ANIM_TAG_ICE_CRYSTALS},
- {gBattleAnimSpriteSheet_142, 0x0100, ANIM_TAG_ICE_SPIKES},
- {gBattleAnimSpriteSheet_143, 0x0800, ANIM_TAG_HANDS_AND_FEET},
- {gBattleAnimSpriteSheet_144, 0x0200, ANIM_TAG_MIST_CLOUD},
- {gBattleAnimSpriteSheet_145, 0x0800, ANIM_TAG_CLAMP},
- {gBattleAnimSpriteSheet_146, 0x0180, ANIM_TAG_BUBBLE},
- {gBattleAnimSpriteSheet_147, 0x0180, ANIM_TAG_ORBS},
- {gBattleAnimSpriteSheet_148, 0x0200, ANIM_TAG_WATER_IMPACT},
- {gBattleAnimSpriteSheet_149, 0x0200, ANIM_TAG_WATER_ORB},
- {gBattleAnimSpriteSheet_150, 0x0180, ANIM_TAG_POISON_BUBBLE},
- {gBattleAnimSpriteSheet_151, 0x0400, ANIM_TAG_TOXIC_BUBBLE},
- {gBattleAnimSpriteSheet_152, 0x0080, ANIM_TAG_SPIKES},
- {gBattleAnimSpriteSheet_153, 0x0100, ANIM_TAG_HORN_HIT_2},
- {gBattleAnimSpriteSheet_154, 0x0100, ANIM_TAG_AIR_WAVE_2},
- {gBattleAnimSpriteSheet_155, 0x0140, ANIM_TAG_SMALL_BUBBLES},
- {gBattleAnimSpriteSheet_156, 0x0800, ANIM_TAG_ROUND_SHADOW},
- {gBattleAnimSpriteSheet_157, 0x0200, ANIM_TAG_SUNLIGHT},
- {gBattleAnimSpriteSheet_158, 0x0100, ANIM_TAG_SPORE},
- {gBattleAnimSpriteSheet_159, 0x00a0, ANIM_TAG_FLOWER},
- {gBattleAnimSpriteSheet_160, 0x0100, ANIM_TAG_RAZOR_LEAF},
- {gBattleAnimSpriteSheet_161, 0x0080, ANIM_TAG_NEEDLE},
- {gBattleAnimSpriteSheet_162, 0x0300, ANIM_TAG_WHIRLWIND_LINES},
- {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_GOLD_RING},
- {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_PURPLE_RING},
- {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_BLUE_RING},
- {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL},
- {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL},
- {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_RED_LIGHT_WALL},
- {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL},
- {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL},
- {gBattleAnimSpriteSheet_171, 0x0080, ANIM_TAG_BLACK_BALL_2},
- {gBattleAnimSpriteSheet_144, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD},
- {gBattleAnimSpriteSheet_173, 0x0200, ANIM_TAG_SPARK_H},
- {gBattleAnimSpriteSheet_174, 0x0200, ANIM_TAG_YELLOW_STAR},
- {gBattleAnimSpriteSheet_175, 0x0080, ANIM_TAG_LARGE_FRESH_EGG},
- {gBattleAnimSpriteSheet_176, 0x0200, ANIM_TAG_SHADOW_BALL},
- {gBattleAnimSpriteSheet_177, 0x0500, ANIM_TAG_LICK},
- {gBattleAnimSpriteSheet_178, 0x0800, ANIM_TAG_UNUSED_VOID_LINES},
- {gBattleAnimSpriteSheet_179, 0x0400, ANIM_TAG_STRING},
- {gBattleAnimSpriteSheet_180, 0x0020, ANIM_TAG_WEB_THREAD},
- {gBattleAnimSpriteSheet_181, 0x0800, ANIM_TAG_SPIDER_WEB},
- {gBattleAnimSpriteSheet_182, 0x0100, ANIM_TAG_UNUSED_LIGHTBULB},
- {gBattleAnimSpriteSheet_183, 0x0800, ANIM_TAG_SLASH},
- {gBattleAnimSpriteSheet_184, 0x0400, ANIM_TAG_FOCUS_ENERGY},
- {gBattleAnimSpriteSheet_185, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE},
- {gBattleAnimSpriteSheet_186, 0x1000, ANIM_TAG_TENDRILS},
- {gBattleAnimSpriteSheet_187, 0x0800, ANIM_TAG_EYE},
- {gBattleAnimSpriteSheet_188, 0x0400, ANIM_TAG_WHITE_SHADOW},
- {gBattleAnimSpriteSheet_189, 0x0200, ANIM_TAG_TEAL_ALERT},
- {gBattleAnimSpriteSheet_190, 0x0800, ANIM_TAG_OPENING_EYE},
- {gBattleAnimSpriteSheet_191, 0x0800, ANIM_TAG_ROUND_WHITE_HALO},
- {gBattleAnimSpriteSheet_192, 0x0800, ANIM_TAG_FANG_ATTACK},
- {gBattleAnimSpriteSheet_193, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE},
- {gBattleAnimSpriteSheet_194, 0x0800, ANIM_TAG_MOON},
- {gBattleAnimSpriteSheet_195, 0x0200, ANIM_TAG_GREEN_SPARKLE},
- {gBattleAnimSpriteSheet_196, 0x0800, ANIM_TAG_SPIRAL},
- {gBattleAnimSpriteSheet_197, 0x0200, ANIM_TAG_SNORE_Z},
- {gBattleAnimSpriteSheet_198, 0x0800, ANIM_TAG_EXPLOSION},
- {gBattleAnimSpriteSheet_199, 0x0400, ANIM_TAG_NAIL},
- {gBattleAnimSpriteSheet_200, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT},
- {gBattleAnimSpriteSheet_201, 0x0a80, ANIM_TAG_WARM_ROCK},
- {gBattleAnimSpriteSheet_202, 0x0600, ANIM_TAG_BREAKING_EGG},
- {gBattleAnimSpriteSheet_203, 0x0800, ANIM_TAG_THIN_RING},
- {gBattleAnimSpriteSheet_204, 0x0200, ANIM_TAG_UNUSED_PUNCH_IMPACT},
- {gBattleAnimSpriteSheet_205, 0x0600, ANIM_TAG_BELL},
- {gBattleAnimSpriteSheet_206, 0x0800, ANIM_TAG_MUSIC_NOTES_2},
- {gBattleAnimSpriteSheet_207, 0x0180, ANIM_TAG_SPEED_DUST},
- {gBattleAnimSpriteSheet_208, 0x0800, ANIM_TAG_TORN_METAL},
- {gBattleAnimSpriteSheet_209, 0x0800, ANIM_TAG_THOUGHT_BUBBLE},
- {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_MAGENTA_HEART},
- {gBattleAnimSpriteSheet_211, 0x0080, ANIM_TAG_ELECTRIC_ORBS},
- {gBattleAnimSpriteSheet_212, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT},
- {gBattleAnimSpriteSheet_213, 0x0800, ANIM_TAG_ELECTRICITY},
- {gBattleAnimSpriteSheet_214, 0x0600, ANIM_TAG_FINGER_2},
- {gBattleAnimSpriteSheet_215, 0x0600, ANIM_TAG_MOVEMENT_WAVES},
- {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_RED_HEART},
- {gBattleAnimSpriteSheet_217, 0x0080, ANIM_TAG_RED_ORB},
- {gBattleAnimSpriteSheet_218, 0x0180, ANIM_TAG_EYE_SPARKLE},
- {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_PINK_HEART},
- {gBattleAnimSpriteSheet_220, 0x0200, ANIM_TAG_ANGEL},
- {gBattleAnimSpriteSheet_221, 0x0400, ANIM_TAG_DEVIL},
- {gBattleAnimSpriteSheet_222, 0x0a00, ANIM_TAG_SWIPE},
- {gBattleAnimSpriteSheet_223, 0x0800, ANIM_TAG_ROOTS},
- {gBattleAnimSpriteSheet_224, 0x0200, ANIM_TAG_ITEM_BAG},
- {gBattleAnimSpriteSheet_225, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE},
- {gBattleAnimSpriteSheet_226, 0x0080, ANIM_TAG_POKEBALL},
- {gBattleAnimSpriteSheet_227, 0x0800, ANIM_TAG_SPOTLIGHT},
- {gBattleAnimSpriteSheet_228, 0x0200, ANIM_TAG_LETTER_Z},
- {gBattleAnimSpriteSheet_229, 0x0300, ANIM_TAG_RAPID_SPIN},
- {gBattleAnimSpriteSheet_230, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE},
- {gBattleAnimSpriteSheet_231, 0x0380, ANIM_TAG_WISP_ORB},
- {gBattleAnimSpriteSheet_232, 0x0800, ANIM_TAG_WISP_FIRE},
- {gBattleAnimSpriteSheet_233, 0x00c0, ANIM_TAG_GOLD_STARS},
- {gBattleAnimSpriteSheet_234, 0x0800, ANIM_TAG_ECLIPSING_ORB},
- {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_GRAY_ORB},
- {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_BLUE_ORB},
- {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_RED_ORB_2},
- {gBattleAnimSpriteSheet_238, 0x0080, ANIM_TAG_PINK_PETAL},
- {gBattleAnimSpriteSheet_239, 0x0180, ANIM_TAG_PAIN_SPLIT},
- {gBattleAnimSpriteSheet_240, 0x0180, ANIM_TAG_CONFETTI},
- {gBattleAnimSpriteSheet_241, 0x0200, ANIM_TAG_GREEN_STAR},
- {gBattleAnimSpriteSheet_242, 0x0200, ANIM_TAG_PINK_CLOUD},
- {gBattleAnimSpriteSheet_243, 0x0020, ANIM_TAG_SWEAT_DROP},
- {gBattleAnimSpriteSheet_244, 0x0400, ANIM_TAG_GUARD_RING},
- {gBattleAnimSpriteSheet_245, 0x0600, ANIM_TAG_PURPLE_SCRATCH},
- {gBattleAnimSpriteSheet_246, 0x1000, ANIM_TAG_PURPLE_SWIPE},
- {gBattleAnimSpriteSheet_247, 0x0400, ANIM_TAG_TAG_HAND},
- {gBattleAnimSpriteSheet_248, 0x0020, ANIM_TAG_SMALL_RED_EYE},
- {gBattleAnimSpriteSheet_249, 0x0080, ANIM_TAG_HOLLOW_ORB},
- {gBattleAnimSpriteSheet_250, 0x0800, ANIM_TAG_X_SIGN},
- {gBattleAnimSpriteSheet_251, 0x0080, ANIM_TAG_BLUEGREEN_ORB},
- {gBattleAnimSpriteSheet_252, 0x0200, ANIM_TAG_PAW_PRINT},
- {gBattleAnimSpriteSheet_253, 0x0400, ANIM_TAG_PURPLE_FLAME},
- {gBattleAnimSpriteSheet_254, 0x0200, ANIM_TAG_RED_BALL},
- {gBattleAnimSpriteSheet_255, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT},
- {gBattleAnimSpriteSheet_256, 0x0800, ANIM_TAG_METEOR},
- {gBattleAnimSpriteSheet_257, 0x0280, ANIM_TAG_FLAT_ROCK},
- {gBattleAnimSpriteSheet_258, 0x0200, ANIM_TAG_MAGNIFYING_GLASS},
- {gBattleAnimSpriteSheet_149, 0x0200, ANIM_TAG_BROWN_ORB},
- {gBattleAnimSpriteSheet_260, 0x0400, ANIM_TAG_METAL_SOUND_WAVES},
- {gBattleAnimSpriteSheet_261, 0x0200, ANIM_TAG_FLYING_DIRT},
- {gBattleAnimSpriteSheet_262, 0x0200, ANIM_TAG_ICICLE_SPEAR},
- {gBattleAnimSpriteSheet_263, 0x0080, ANIM_TAG_HAIL},
- {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_RED_ORB},
- {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB},
- {gBattleAnimSpriteSheet_266, 0x0080, ANIM_TAG_GREEN_SPIKE},
- {gBattleAnimSpriteSheet_212, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT},
- {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB},
- {gBattleAnimSpriteSheet_269, 0x0080, ANIM_TAG_UNUSED_RED_BRICK},
- {gBattleAnimSpriteSheet_270, 0x0400, ANIM_TAG_WHITE_FEATHER},
- {gBattleAnimSpriteSheet_271, 0x0080, ANIM_TAG_SPARKLE_6},
- {gBattleAnimSpriteSheet_272, 0x0800, ANIM_TAG_SPLASH},
- {gBattleAnimSpriteSheet_273, 0x0020, ANIM_TAG_SWEAT_BEAD},
- {gBattleAnimSpriteSheet_274, 0x0800, ANIM_TAG_UNUSED_GEM_1},
- {gBattleAnimSpriteSheet_275, 0x0800, ANIM_TAG_UNUSED_GEM_2},
- {gBattleAnimSpriteSheet_276, 0x0800, ANIM_TAG_UNUSED_GEM_3},
- {gBattleAnimSpriteSheet_277, 0x1000, ANIM_TAG_SLAM_HIT_2},
- {gBattleAnimSpriteSheet_278, 0x0800, ANIM_TAG_RECYCLE},
- {gBattleAnimSpriteSheet_279, 0x00a0, ANIM_TAG_UNUSED_RED_PARTICLES},
- {gBattleAnimSpriteSheet_280, 0x0800, ANIM_TAG_PROTECT},
- {gBattleAnimSpriteSheet_281, 0x0200, ANIM_TAG_DIRT_MOUND},
- {gBattleAnimSpriteSheet_282, 0x0600, ANIM_TAG_SHOCK_3},
- {gBattleAnimSpriteSheet_283, 0x0200, ANIM_TAG_WEATHER_BALL},
- {gBattleAnimSpriteSheet_284, 0x0800, ANIM_TAG_BIRD},
- {gBattleAnimSpriteSheet_285, 0x0200, ANIM_TAG_CROSS_IMPACT},
- {gBattleAnimSpriteSheet_183, 0x0800, ANIM_TAG_SLASH_2},
- {gBattleAnimSpriteSheet_056, 0x1000, ANIM_TAG_WHIP_HIT},
- {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_BLUE_RING_2},
+ {gBattleAnimSpriteGfx_Bone, 0x0200, ANIM_TAG_BONE},
+ {gBattleAnimSpriteGfx_Spark, 0x0300, ANIM_TAG_SPARK},
+ {gBattleAnimSpriteGfx_Pencil, 0x0200, ANIM_TAG_PENCIL},
+ {gBattleAnimSpriteGfx_AirWave, 0x0100, ANIM_TAG_AIR_WAVE},
+ {gBattleAnimSpriteGfx_Orb, 0x0200, ANIM_TAG_ORB},
+ {gBattleAnimSpriteGfx_Sword, 0x0400, ANIM_TAG_SWORD},
+ {gBattleAnimSpriteGfx_Seed, 0x0180, ANIM_TAG_SEED},
+ {gBattleAnimSpriteGfx_Explosion6, 0x0800, ANIM_TAG_EXPLOSION_6},
+ {gBattleAnimSpriteGfx_PinkOrb, 0x0020, ANIM_TAG_PINK_ORB},
+ {gBattleAnimSpriteGfx_Gust, 0x0400, ANIM_TAG_GUST},
+ {gBattleAnimSpriteGfx_IceCube, 0x1200, ANIM_TAG_ICE_CUBE},
+ {gBattleAnimSpriteGfx_Spark2, 0x0180, ANIM_TAG_SPARK_2},
+ {gBattleAnimSpriteGfx_Orange, 0x0080, ANIM_TAG_ORANGE},
+ {gBattleAnimSpriteGfx_YellowBall, 0x0080, ANIM_TAG_YELLOW_BALL},
+ {gBattleAnimSpriteGfx_LockOn, 0x0280, ANIM_TAG_LOCK_ON},
+ {gBattleAnimSpriteGfx_TiedBag, 0x0080, ANIM_TAG_TIED_BAG},
+ {gBattleAnimSpriteGfx_BlackSmoke, 0x0100, ANIM_TAG_BLACK_SMOKE},
+ {gBattleAnimSpriteGfx_BlackBall, 0x0020, ANIM_TAG_BLACK_BALL},
+ {gBattleAnimSpriteGfx_Conversion, 0x0080, ANIM_TAG_CONVERSION},
+ {gBattleAnimSpriteGfx_Glass, 0x0400, ANIM_TAG_GLASS},
+ {gBattleAnimSpriteGfx_HornHit, 0x0200, ANIM_TAG_HORN_HIT},
+ {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT},
+ {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT_2},
+ {gBattleAnimSpriteGfx_BlueShards, 0x0380, ANIM_TAG_BLUE_SHARDS},
+ {gBattleAnimSpriteGfx_ClosingEye, 0x0300, ANIM_TAG_CLOSING_EYE},
+ {gBattleAnimSpriteGfx_WavingHand, 0x0A00, ANIM_TAG_WAVING_HAND},
+ {gBattleAnimSpriteGfx_HitDuplicate, 0x0A00, ANIM_TAG_HIT_DUPLICATE},
+ {gBattleAnimSpriteGfx_Leer, 0x0A00, ANIM_TAG_LEER},
+ {gBattleAnimSpriteGfx_BlueBurst, 0x0A00, ANIM_TAG_BLUE_BURST},
+ {gBattleAnimSpriteGfx_SmallEmber, 0x0A00, ANIM_TAG_SMALL_EMBER},
+ {gBattleAnimSpriteGfx_GraySmoke, 0x0A00, ANIM_TAG_GRAY_SMOKE},
+ {gBattleAnimSpriteGfx_BlueStar, 0x0E00, ANIM_TAG_BLUE_STAR},
+ {gBattleAnimSpriteGfx_BubbleBurst, 0x0380, ANIM_TAG_BUBBLE_BURST},
+ {gBattleAnimSpriteGfx_Fire, 0x1000, ANIM_TAG_FIRE},
+ {gBattleAnimSpriteGfx_SpinningFire, 0x0800, ANIM_TAG_SPINNING_FIRE},
+ {gBattleAnimSpriteGfx_FirePlume, 0x0A00, ANIM_TAG_FIRE_PLUME},
+ {gBattleAnimSpriteGfx_Lightning2, 0x0800, ANIM_TAG_LIGHTNING_2},
+ {gBattleAnimSpriteGfx_Lightning, 0x0A00, ANIM_TAG_LIGHTNING},
+ {gBattleAnimSpriteGfx_ClawSlash2, 0x0A00, ANIM_TAG_CLAW_SLASH_2},
+ {gBattleAnimSpriteGfx_ClawSlash, 0x0A00, ANIM_TAG_CLAW_SLASH},
+ {gBattleAnimSpriteGfx_Scratch3, 0x0A00, ANIM_TAG_SCRATCH_3},
+ {gBattleAnimSpriteGfx_Scratch2, 0x0A00, ANIM_TAG_SCRATCH_2},
+ {gBattleAnimSpriteGfx_BubbleBurst2, 0x0A00, ANIM_TAG_BUBBLE_BURST_2},
+ {gBattleAnimSpriteGfx_IceChunk, 0x0A00, ANIM_TAG_ICE_CHUNK},
+ {gBattleAnimSpriteGfx_Glass2, 0x0A00, ANIM_TAG_GLASS_2},
+ {gBattleAnimSpriteGfx_PinkHeart2, 0x0A00, ANIM_TAG_PINK_HEART_2},
+ {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP},
+ {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP_2},
+ {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_1},
+ {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_2},
+ {gBattleAnimSpriteGfx_HumanoidFoot, 0x0200, ANIM_TAG_HUMANOID_FOOT},
+ {gBattleAnimSpriteGfx_MonsterFoot, 0x0200, ANIM_TAG_MONSTER_FOOT},
+ {gBattleAnimSpriteGfx_HumanoidHand, 0x0200, ANIM_TAG_HUMANOID_HAND},
+ {gBattleAnimSpriteGfx_NoiseLine, 0x0800, ANIM_TAG_NOISE_LINE},
+ {gBattleAnimSpriteGfx_YellowUnk, 0x0080, ANIM_TAG_YELLOW_UNK},
+ {gBattleAnimSpriteGfx_RedFist, 0x0200, ANIM_TAG_RED_FIST},
+ {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_SLAM_HIT},
+ {gBattleAnimSpriteGfx_Ring, 0x0180, ANIM_TAG_RING},
+ {gBattleAnimSpriteGfx_Rocks, 0x0C00, ANIM_TAG_ROCKS},
+ {gBattleAnimSpriteGfx_Z, 0x0100, ANIM_TAG_Z},
+ {gBattleAnimSpriteGfx_YellowUnk2, 0x0040, ANIM_TAG_YELLOW_UNK_2},
+ {gBattleAnimSpriteGfx_AirSlash, 0x0180, ANIM_TAG_AIR_SLASH},
+ {gBattleAnimSpriteGfx_SpinningGreenOrbs, 0x0800, ANIM_TAG_SPINNING_GREEN_ORBS},
+ {gBattleAnimSpriteGfx_Leaf, 0x0480, ANIM_TAG_LEAF},
+ {gBattleAnimSpriteGfx_Finger, 0x0200, ANIM_TAG_FINGER},
+ {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POISON_POWDER},
+ {gBattleAnimSpriteGfx_BrownTriangle, 0x0100, ANIM_TAG_BROWN_TRIANGLE},
+ {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_SLEEP_POWDER},
+ {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_STUN_SPORE},
+ {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POWDER},
+ {gBattleAnimSpriteGfx_Sparkle3, 0x0200, ANIM_TAG_SPARKLE_3},
+ {gBattleAnimSpriteGfx_Sparkle4, 0x0A00, ANIM_TAG_SPARKLE_4},
+ {gBattleAnimSpriteGfx_MusicNotes, 0x0300, ANIM_TAG_MUSIC_NOTES},
+ {gBattleAnimSpriteGfx_Duck, 0x0180, ANIM_TAG_DUCK},
+ {gBattleAnimSpriteGfx_MudSand, 0x00A0, ANIM_TAG_MUD_SAND},
+ {gBattleAnimSpriteGfx_Alert, 0x0700, ANIM_TAG_ALERT},
+ {gBattleAnimSpriteGfx_BlueFlames, 0x0400, ANIM_TAG_BLUE_FLAMES},
+ {gBattleAnimSpriteGfx_BlueFlames2, 0x0200, ANIM_TAG_BLUE_FLAMES_2},
+ {gBattleAnimSpriteGfx_Shock4, 0x0300, ANIM_TAG_SHOCK_4},
+ {gBattleAnimSpriteGfx_Shock, 0x0C00, ANIM_TAG_SHOCK},
+ {gBattleAnimSpriteGfx_Bell2, 0x0A00, ANIM_TAG_BELL_2},
+ {gBattleAnimSpriteGfx_PinkGlove, 0x0080, ANIM_TAG_PINK_GLOVE},
+ {gBattleAnimSpriteGfx_BlueLines, 0x0040, ANIM_TAG_BLUE_LINES},
+ {gBattleAnimSpriteGfx_Impact3, 0x0E00, ANIM_TAG_IMPACT_3},
+ {gBattleAnimSpriteGfx_Impact2, 0x0E00, ANIM_TAG_IMPACT_2},
+ {gBattleAnimSpriteGfx_Reticle, 0x0280, ANIM_TAG_RETICLE},
+ {gBattleAnimSpriteGfx_Breath, 0x0200, ANIM_TAG_BREATH},
+ {gBattleAnimSpriteGfx_Anger, 0x0080, ANIM_TAG_ANGER},
+ {gBattleAnimSpriteGfx_Snowball, 0x00C0, ANIM_TAG_SNOWBALL},
+ {gBattleAnimSpriteGfx_Vine, 0x0A00, ANIM_TAG_VINE},
+ {gBattleAnimSpriteGfx_Sword2, 0x0200, ANIM_TAG_SWORD_2},
+ {gBattleAnimSpriteGfx_Clapping, 0x0180, ANIM_TAG_CLAPPING},
+ {gBattleAnimSpriteGfx_RedTube, 0x0080, ANIM_TAG_RED_TUBE},
+ {gBattleAnimSpriteGfx_Amnesia, 0x1000, ANIM_TAG_AMNESIA},
+ {gBattleAnimSpriteGfx_String2, 0x0A00, ANIM_TAG_STRING_2},
+ {gBattleAnimSpriteGfx_Pencil2, 0x0180, ANIM_TAG_PENCIL_2},
+ {gBattleAnimSpriteGfx_Petal, 0x0380, ANIM_TAG_PETAL},
+ {gBattleAnimSpriteGfx_BentSpoon, 0x0C00, ANIM_TAG_BENT_SPOON},
+ {gBattleAnimSpriteGfx_Web, 0x0200, ANIM_TAG_WEB},
+ {gBattleAnimSpriteGfx_MilkBottle, 0x0200, ANIM_TAG_MILK_BOTTLE},
+ {gBattleAnimSpriteGfx_Coin, 0x0200, ANIM_TAG_COIN},
+ {gBattleAnimSpriteGfx_CrackedEgg, 0x0200, ANIM_TAG_CRACKED_EGG},
+ {gBattleAnimSpriteGfx_HatchedEgg, 0x0400, ANIM_TAG_HATCHED_EGG},
+ {gBattleAnimSpriteGfx_FreshEgg, 0x0080, ANIM_TAG_FRESH_EGG},
+ {gBattleAnimSpriteGfx_Fangs, 0x0400, ANIM_TAG_FANGS},
+ {gBattleAnimSpriteGfx_Explosion2, 0x0c00, ANIM_TAG_EXPLOSION_2},
+ {gBattleAnimSpriteGfx_Explosion3, 0x0200, ANIM_TAG_EXPLOSION_3},
+ {gBattleAnimSpriteGfx_WaterDroplet, 0x1000, ANIM_TAG_WATER_DROPLET},
+ {gBattleAnimSpriteGfx_WaterDroplet2, 0x0a00, ANIM_TAG_WATER_DROPLET_2},
+ {gBattleAnimSpriteGfx_Seed2, 0x0020, ANIM_TAG_SEED_2},
+ {gBattleAnimSpriteGfx_Sprout, 0x0e00, ANIM_TAG_SPROUT},
+ {gBattleAnimSpriteGfx_RedWand, 0x0080, ANIM_TAG_RED_WAND},
+ {gBattleAnimSpriteGfx_PurpleGreenUnk, 0x0a00, ANIM_TAG_PURPLE_GREEN_UNK},
+ {gBattleAnimSpriteGfx_WaterColumn, 0x0400, ANIM_TAG_WATER_COLUMN},
+ {gBattleAnimSpriteGfx_MudUnk, 0x0200, ANIM_TAG_MUD_UNK},
+ {gBattleAnimSpriteGfx_RainDrops, 0x0700, ANIM_TAG_RAIN_DROPS},
+ {gBattleAnimSpriteGfx_FurySwipes, 0x0800, ANIM_TAG_FURY_SWIPES},
+ {gBattleAnimSpriteGfx_Vine2, 0x0a00, ANIM_TAG_VINE_2},
+ {gBattleAnimSpriteGfx_Teeth, 0x0600, ANIM_TAG_TEETH},
+ {gBattleAnimSpriteGfx_Bone2, 0x0800, ANIM_TAG_BONE_2},
+ {gBattleAnimSpriteGfx_WhiteBag, 0x0200, ANIM_TAG_WHITE_BAG},
+ {gBattleAnimSpriteGfx_Unknown, 0x0040, ANIM_TAG_UNKNOWN},
+ {gBattleAnimSpriteGfx_PurpleCoral, 0x0180, ANIM_TAG_PURPLE_CORAL},
+ {gBattleAnimSpriteGfx_PurpleDroplet, 0x0600, ANIM_TAG_PURPLE_DROPLET},
+ {gBattleAnimSpriteGfx_Shock2, 0x0600, ANIM_TAG_SHOCK_2},
+ {gBattleAnimSpriteGfx_ClosingEye2, 0x0200, ANIM_TAG_CLOSING_EYE_2},
+ {gBattleAnimSpriteGfx_MetalBall, 0x0080, ANIM_TAG_METAL_BALL},
+ {gBattleAnimSpriteGfx_MonsterDoll, 0x0200, ANIM_TAG_MONSTER_DOLL},
+ {gBattleAnimSpriteGfx_Whirlwind, 0x0800, ANIM_TAG_WHIRLWIND},
+ {gBattleAnimSpriteGfx_Whirlwind2, 0x0080, ANIM_TAG_WHIRLWIND_2},
+ {gBattleAnimSpriteGfx_Explosion4, 0x0a00, ANIM_TAG_EXPLOSION_4},
+ {gBattleAnimSpriteGfx_Explosion5, 0x0280, ANIM_TAG_EXPLOSION_5},
+ {gBattleAnimSpriteGfx_Tongue, 0x0280, ANIM_TAG_TONGUE},
+ {gBattleAnimSpriteGfx_Smoke, 0x0100, ANIM_TAG_SMOKE},
+ {gBattleAnimSpriteGfx_Smoke2, 0x0200, ANIM_TAG_SMOKE_2},
+ {gBattleAnimSpriteGfx_Impact, 0x0200, ANIM_TAG_IMPACT},
+ {gBattleAnimSpriteGfx_CircleImpact, 0x0020, ANIM_TAG_CIRCLE_IMPACT},
+ {gBattleAnimSpriteGfx_Scratch, 0x0a00, ANIM_TAG_SCRATCH},
+ {gBattleAnimSpriteGfx_Cut, 0x0800, ANIM_TAG_CUT},
+ {gBattleAnimSpriteGfx_SharpTeeth, 0x0800, ANIM_TAG_SHARP_TEETH},
+ {gBattleAnimSpriteGfx_RainbowRings, 0x00c0, ANIM_TAG_RAINBOW_RINGS},
+ {gBattleAnimSpriteGfx_IceCrystals, 0x01c0, ANIM_TAG_ICE_CRYSTALS},
+ {gBattleAnimSpriteGfx_IceSpikes, 0x0100, ANIM_TAG_ICE_SPIKES},
+ {gBattleAnimSpriteGfx_HandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET},
+ {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_MIST_CLOUD},
+ {gBattleAnimSpriteGfx_Clamp, 0x0800, ANIM_TAG_CLAMP},
+ {gBattleAnimSpriteGfx_Bubble, 0x0180, ANIM_TAG_BUBBLE},
+ {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_ORBS},
+ {gBattleAnimSpriteGfx_WaterImpact, 0x0200, ANIM_TAG_WATER_IMPACT},
+ {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_WATER_ORB},
+ {gBattleAnimSpriteGfx_PoisonBubble, 0x0180, ANIM_TAG_POISON_BUBBLE},
+ {gBattleAnimSpriteGfx_ToxicBubble, 0x0400, ANIM_TAG_TOXIC_BUBBLE},
+ {gBattleAnimSpriteGfx_Spikes, 0x0080, ANIM_TAG_SPIKES},
+ {gBattleAnimSpriteGfx_HornHit2, 0x0100, ANIM_TAG_HORN_HIT_2},
+ {gBattleAnimSpriteGfx_AirWave2, 0x0100, ANIM_TAG_AIR_WAVE_2},
+ {gBattleAnimSpriteGfx_SmallBubbles, 0x0140, ANIM_TAG_SMALL_BUBBLES},
+ {gBattleAnimSpriteGfx_RoundShadow, 0x0800, ANIM_TAG_ROUND_SHADOW},
+ {gBattleAnimSpriteGfx_Sunlight, 0x0200, ANIM_TAG_SUNLIGHT},
+ {gBattleAnimSpriteGfx_Spore, 0x0100, ANIM_TAG_SPORE},
+ {gBattleAnimSpriteGfx_Flower, 0x00a0, ANIM_TAG_FLOWER},
+ {gBattleAnimSpriteGfx_RazorLeaf, 0x0100, ANIM_TAG_RAZOR_LEAF},
+ {gBattleAnimSpriteGfx_Needle, 0x0080, ANIM_TAG_NEEDLE},
+ {gBattleAnimSpriteGfx_WhirlwindLines, 0x0300, ANIM_TAG_WHIRLWIND_LINES},
+ {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_GOLD_RING},
+ {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_PURPLE_RING},
+ {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING},
+ {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL},
+ {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL},
+ {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_RED_LIGHT_WALL},
+ {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL},
+ {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL},
+ {gBattleAnimSpriteGfx_BlackBall2, 0x0080, ANIM_TAG_BLACK_BALL_2},
+ {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD},
+ {gBattleAnimSpriteGfx_SparkH, 0x0200, ANIM_TAG_SPARK_H},
+ {gBattleAnimSpriteGfx_YellowStar, 0x0200, ANIM_TAG_YELLOW_STAR},
+ {gBattleAnimSpriteGfx_LargeFreshEgg, 0x0080, ANIM_TAG_LARGE_FRESH_EGG},
+ {gBattleAnimSpriteGfx_ShadowBall, 0x0200, ANIM_TAG_SHADOW_BALL},
+ {gBattleAnimSpriteGfx_Lick, 0x0500, ANIM_TAG_LICK},
+ {gBattleAnimSpriteGfx_VoidLines, 0x0800, ANIM_TAG_VOID_LINES},
+ {gBattleAnimSpriteGfx_String, 0x0400, ANIM_TAG_STRING},
+ {gBattleAnimSpriteGfx_WebThread, 0x0020, ANIM_TAG_WEB_THREAD},
+ {gBattleAnimSpriteGfx_SpiderWeb, 0x0800, ANIM_TAG_SPIDER_WEB},
+ {gBattleAnimSpriteGfx_Lightbulb, 0x0100, ANIM_TAG_LIGHTBULB},
+ {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH},
+ {gBattleAnimSpriteGfx_FocusEnergy, 0x0400, ANIM_TAG_FOCUS_ENERGY},
+ {gBattleAnimSpriteGfx_SphereToCube, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE},
+ {gBattleAnimSpriteGfx_Tendrils, 0x1000, ANIM_TAG_TENDRILS},
+ {gBattleAnimSpriteGfx_Eye, 0x0800, ANIM_TAG_EYE},
+ {gBattleAnimSpriteGfx_WhiteShadow, 0x0400, ANIM_TAG_WHITE_SHADOW},
+ {gBattleAnimSpriteGfx_TealAlert, 0x0200, ANIM_TAG_TEAL_ALERT},
+ {gBattleAnimSpriteGfx_OpeningEye, 0x0800, ANIM_TAG_OPENING_EYE},
+ {gBattleAnimSpriteGfx_RoundWhiteHalo, 0x0800, ANIM_TAG_ROUND_WHITE_HALO},
+ {gBattleAnimSpriteGfx_FangAttack, 0x0800, ANIM_TAG_FANG_ATTACK},
+ {gBattleAnimSpriteGfx_PurpleHandOutline, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE},
+ {gBattleAnimSpriteGfx_Moon, 0x0800, ANIM_TAG_MOON},
+ {gBattleAnimSpriteGfx_GreenSparkle, 0x0200, ANIM_TAG_GREEN_SPARKLE},
+ {gBattleAnimSpriteGfx_Spiral, 0x0800, ANIM_TAG_SPIRAL},
+ {gBattleAnimSpriteGfx_SnoreZ, 0x0200, ANIM_TAG_SNORE_Z},
+ {gBattleAnimSpriteGfx_Explosion, 0x0800, ANIM_TAG_EXPLOSION},
+ {gBattleAnimSpriteGfx_Nail, 0x0400, ANIM_TAG_NAIL},
+ {gBattleAnimSpriteGfx_GhostlySpirit, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT},
+ {gBattleAnimSpriteGfx_WarmRock, 0x0a80, ANIM_TAG_WARM_ROCK},
+ {gBattleAnimSpriteGfx_BreakingEgg, 0x0600, ANIM_TAG_BREAKING_EGG},
+ {gBattleAnimSpriteGfx_ThinRing, 0x0800, ANIM_TAG_THIN_RING},
+ {gBattleAnimSpriteGfx_PunchImpact, 0x0200, ANIM_TAG_PUNCH_IMPACT},
+ {gBattleAnimSpriteGfx_Bell, 0x0600, ANIM_TAG_BELL},
+ {gBattleAnimSpriteGfx_MusicNotes2, 0x0800, ANIM_TAG_MUSIC_NOTES_2},
+ {gBattleAnimSpriteGfx_SpeedDust, 0x0180, ANIM_TAG_SPEED_DUST},
+ {gBattleAnimSpriteGfx_TornMetal, 0x0800, ANIM_TAG_TORN_METAL},
+ {gBattleAnimSpriteGfx_ThoughtBubble, 0x0800, ANIM_TAG_THOUGHT_BUBBLE},
+ {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_MAGENTA_HEART},
+ {gBattleAnimSpriteGfx_ElectricOrbs, 0x0080, ANIM_TAG_ELECTRIC_ORBS},
+ {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT},
+ {gBattleAnimSpriteGfx_Electricity, 0x0800, ANIM_TAG_ELECTRICITY},
+ {gBattleAnimSpriteGfx_Finger2, 0x0600, ANIM_TAG_FINGER_2},
+ {gBattleAnimSpriteGfx_MovementWaves, 0x0600, ANIM_TAG_MOVEMENT_WAVES},
+ {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_RED_HEART},
+ {gBattleAnimSpriteGfx_RedOrb, 0x0080, ANIM_TAG_RED_ORB},
+ {gBattleAnimSpriteGfx_EyeSparkle, 0x0180, ANIM_TAG_EYE_SPARKLE},
+ {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_PINK_HEART},
+ {gBattleAnimSpriteGfx_Angel, 0x0200, ANIM_TAG_ANGEL},
+ {gBattleAnimSpriteGfx_Devil, 0x0400, ANIM_TAG_DEVIL},
+ {gBattleAnimSpriteGfx_Swipe, 0x0a00, ANIM_TAG_SWIPE},
+ {gBattleAnimSpriteGfx_Roots, 0x0800, ANIM_TAG_ROOTS},
+ {gBattleAnimSpriteGfx_ItemBag, 0x0200, ANIM_TAG_ITEM_BAG},
+ {gBattleAnimSpriteGfx_JaggedMusicNote, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE},
+ {gBattleAnimSpriteGfx_Pokeball, 0x0080, ANIM_TAG_POKEBALL},
+ {gBattleAnimSpriteGfx_Spotlight, 0x0800, ANIM_TAG_SPOTLIGHT},
+ {gBattleAnimSpriteGfx_LetterZ, 0x0200, ANIM_TAG_LETTER_Z},
+ {gBattleAnimSpriteGfx_RapidSpin, 0x0300, ANIM_TAG_RAPID_SPIN},
+ {gBattleAnimSpriteGfx_TriForceTriangle, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE},
+ {gBattleAnimSpriteGfx_WispOrb, 0x0380, ANIM_TAG_WISP_ORB},
+ {gBattleAnimSpriteGfx_WispFire, 0x0800, ANIM_TAG_WISP_FIRE},
+ {gBattleAnimSpriteGfx_GoldStars, 0x00c0, ANIM_TAG_GOLD_STARS},
+ {gBattleAnimSpriteGfx_EclipsingOrb, 0x0800, ANIM_TAG_ECLIPSING_ORB},
+ {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_GRAY_ORB},
+ {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_BLUE_ORB},
+ {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_RED_ORB_2},
+ {gBattleAnimSpriteGfx_PinkPetal, 0x0080, ANIM_TAG_PINK_PETAL},
+ {gBattleAnimSpriteGfx_PainSplit, 0x0180, ANIM_TAG_PAIN_SPLIT},
+ {gBattleAnimSpriteGfx_Confetti, 0x0180, ANIM_TAG_CONFETTI},
+ {gBattleAnimSpriteGfx_GreenStar, 0x0200, ANIM_TAG_GREEN_STAR},
+ {gBattleAnimSpriteGfx_PinkCloud, 0x0200, ANIM_TAG_PINK_CLOUD},
+ {gBattleAnimSpriteGfx_SweatDrop, 0x0020, ANIM_TAG_SWEAT_DROP},
+ {gBattleAnimSpriteGfx_GuardRing, 0x0400, ANIM_TAG_GUARD_RING},
+ {gBattleAnimSpriteGfx_PurpleScratch, 0x0600, ANIM_TAG_PURPLE_SCRATCH},
+ {gBattleAnimSpriteGfx_PurpleSwipe, 0x1000, ANIM_TAG_PURPLE_SWIPE},
+ {gBattleAnimSpriteGfx_TagHand, 0x0400, ANIM_TAG_TAG_HAND},
+ {gBattleAnimSpriteGfx_SmallRedEye, 0x0020, ANIM_TAG_SMALL_RED_EYE},
+ {gBattleAnimSpriteGfx_HollowOrb, 0x0080, ANIM_TAG_HOLLOW_ORB},
+ {gBattleAnimSpriteGfx_XSign, 0x0800, ANIM_TAG_X_SIGN},
+ {gBattleAnimSpriteGfx_BluegreenOrb, 0x0080, ANIM_TAG_BLUEGREEN_ORB},
+ {gBattleAnimSpriteGfx_PawPrint, 0x0200, ANIM_TAG_PAW_PRINT},
+ {gBattleAnimSpriteGfx_PurpleFlame, 0x0400, ANIM_TAG_PURPLE_FLAME},
+ {gBattleAnimSpriteGfx_RedBall, 0x0200, ANIM_TAG_RED_BALL},
+ {gBattleAnimSpriteGfx_SmellingsaltEffect, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT},
+ {gBattleAnimSpriteGfx_Meteor, 0x0800, ANIM_TAG_METEOR},
+ {gBattleAnimSpriteGfx_FlatRock, 0x0280, ANIM_TAG_FLAT_ROCK},
+ {gBattleAnimSpriteGfx_MagnifyingGlass, 0x0200, ANIM_TAG_MAGNIFYING_GLASS},
+ {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_BROWN_ORB},
+ {gBattleAnimSpriteGfx_MetalSoundWaves, 0x0400, ANIM_TAG_METAL_SOUND_WAVES},
+ {gBattleAnimSpriteGfx_FlyingDirt, 0x0200, ANIM_TAG_FLYING_DIRT},
+ {gBattleAnimSpriteGfx_IcicleSpear, 0x0200, ANIM_TAG_ICICLE_SPEAR},
+ {gBattleAnimSpriteGfx_Hail, 0x0080, ANIM_TAG_HAIL},
+ {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_RED_ORB},
+ {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB},
+ {gBattleAnimSpriteGfx_GreenSpike, 0x0080, ANIM_TAG_GREEN_SPIKE},
+ {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT},
+ {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB},
+ {gBattleAnimSpriteGfx_RedBrick, 0x0080, ANIM_TAG_RED_BRICK},
+ {gBattleAnimSpriteGfx_WhiteFeather, 0x0400, ANIM_TAG_WHITE_FEATHER},
+ {gBattleAnimSpriteGfx_Sparkle6, 0x0080, ANIM_TAG_SPARKLE_6},
+ {gBattleAnimSpriteGfx_Splash, 0x0800, ANIM_TAG_SPLASH},
+ {gBattleAnimSpriteGfx_SweatBead, 0x0020, ANIM_TAG_SWEAT_BEAD},
+ {gBattleAnimSpriteGfx_Gem1, 0x0800, ANIM_TAG_GEM_1},
+ {gBattleAnimSpriteGfx_Gem2, 0x0800, ANIM_TAG_GEM_2},
+ {gBattleAnimSpriteGfx_Gem3, 0x0800, ANIM_TAG_GEM_3},
+ {gBattleAnimSpriteGfx_SlamHit2, 0x1000, ANIM_TAG_SLAM_HIT_2},
+ {gBattleAnimSpriteGfx_Recycle, 0x0800, ANIM_TAG_RECYCLE},
+ {gBattleAnimSpriteGfx_RedParticles, 0x00a0, ANIM_TAG_RED_PARTICLES},
+ {gBattleAnimSpriteGfx_Protect, 0x0800, ANIM_TAG_PROTECT},
+ {gBattleAnimSpriteGfx_DirtMound, 0x0200, ANIM_TAG_DIRT_MOUND},
+ {gBattleAnimSpriteGfx_Shock3, 0x0600, ANIM_TAG_SHOCK_3},
+ {gBattleAnimSpriteGfx_WeatherBall, 0x0200, ANIM_TAG_WEATHER_BALL},
+ {gBattleAnimSpriteGfx_Bird, 0x0800, ANIM_TAG_BIRD},
+ {gBattleAnimSpriteGfx_CrossImpact, 0x0200, ANIM_TAG_CROSS_IMPACT},
+ {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH_2},
+ {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_WHIP_HIT},
+ {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING_2},
};
-
const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
{
- {gBattleAnimSpritePalette_000, ANIM_TAG_BONE},
- {gBattleAnimSpritePalette_001, ANIM_TAG_SPARK},
- {gBattleAnimSpritePalette_002, ANIM_TAG_PENCIL},
- {gBattleAnimSpritePalette_003, ANIM_TAG_AIR_WAVE},
- {gBattleAnimSpritePalette_004, ANIM_TAG_UNUSED_ORB},
- {gBattleAnimSpritePalette_005, ANIM_TAG_SWORD},
- {gBattleAnimSpritePalette_006, ANIM_TAG_SEED},
- {gBattleAnimSpritePalette_007, ANIM_TAG_UNUSED_EXPLOSION},
- {gBattleAnimSpritePalette_008, ANIM_TAG_UNUSED_PINK_ORB},
- {gBattleAnimSpritePalette_009, ANIM_TAG_GUST},
- {gBattleAnimSpritePalette_010, ANIM_TAG_ICE_CUBE},
- {gBattleAnimSpritePalette_011, ANIM_TAG_SPARK_2},
- {gBattleAnimSpritePalette_012, ANIM_TAG_UNUSED_ORANGE},
- {gBattleAnimSpritePalette_013, ANIM_TAG_YELLOW_BALL},
- {gBattleAnimSpritePalette_014, ANIM_TAG_LOCK_ON},
- {gBattleAnimSpritePalette_015, ANIM_TAG_TIED_BAG},
- {gBattleAnimSpritePalette_016, ANIM_TAG_BLACK_SMOKE},
- {gBattleAnimSpritePalette_016, ANIM_TAG_BLACK_BALL},
- {gBattleAnimSpritePalette_018, ANIM_TAG_CONVERSION},
- {gBattleAnimSpritePalette_019, ANIM_TAG_UNUSED_GLASS},
- {gBattleAnimSpritePalette_020, ANIM_TAG_HORN_HIT},
- {gBattleAnimSpritePalette_021, ANIM_TAG_UNUSED_HIT},
- {gBattleAnimSpritePalette_022, ANIM_TAG_UNUSED_HIT_2},
- {gBattleAnimSpritePalette_023, ANIM_TAG_UNUSED_BLUE_SHARDS},
- {gBattleAnimSpritePalette_024, ANIM_TAG_UNUSED_CLOSING_EYE},
- {gBattleAnimSpritePalette_025, ANIM_TAG_UNUSED_WAVING_HAND},
- {gBattleAnimSpritePalette_026, ANIM_TAG_UNUSED_HIT_DUPLICATE},
- {gBattleAnimSpritePalette_027, ANIM_TAG_LEER},
- {gBattleAnimSpritePalette_028, ANIM_TAG_UNUSED_BLUE_BURST},
- {gBattleAnimSpritePalette_029, ANIM_TAG_SMALL_EMBER},
- {gBattleAnimSpritePalette_030, ANIM_TAG_GRAY_SMOKE},
- {gBattleAnimSpritePalette_031, ANIM_TAG_BLUE_STAR},
- {gBattleAnimSpritePalette_032, ANIM_TAG_UNUSED_BUBBLE_BURST},
- {gBattleAnimSpritePalette_033, ANIM_TAG_FIRE},
- {gBattleAnimSpritePalette_033, ANIM_TAG_UNUSED_SPINNING_FIRE},
- {gBattleAnimSpritePalette_033, ANIM_TAG_FIRE_PLUME},
- {gBattleAnimSpritePalette_036, ANIM_TAG_UNUSED_LIGHTNING},
- {gBattleAnimSpritePalette_036, ANIM_TAG_LIGHTNING},
- {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_CLAW_SLASH},
- {gBattleAnimSpritePalette_039, ANIM_TAG_CLAW_SLASH},
- {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_SCRATCH},
- {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_SCRATCH_2},
- {gBattleAnimSpritePalette_042, ANIM_TAG_UNUSED_BUBBLE_BURST_2},
- {gBattleAnimSpritePalette_043, ANIM_TAG_ICE_CHUNK},
- {gBattleAnimSpritePalette_044, ANIM_TAG_UNUSED_GLASS_2},
- {gBattleAnimSpritePalette_045, ANIM_TAG_UNUSED_PINK_HEART},
- {gBattleAnimSpritePalette_046, ANIM_TAG_UNUSED_SAP_DRIP},
- {gBattleAnimSpritePalette_047, ANIM_TAG_UNUSED_SAP_DRIP},
- {gBattleAnimSpritePalette_048, ANIM_TAG_SPARKLE_1},
- {gBattleAnimSpritePalette_049, ANIM_TAG_SPARKLE_2},
- {gBattleAnimSpritePalette_050, ANIM_TAG_HUMANOID_FOOT},
- {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_MONSTER_FOOT},
- {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_HUMANOID_HAND},
- {gBattleAnimSpritePalette_026, ANIM_TAG_NOISE_LINE},
- {gBattleAnimSpritePalette_054, ANIM_TAG_UNUSED_YELLOW_UNK},
- {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_RED_FIST},
- {gBattleAnimSpritePalette_056, ANIM_TAG_SLAM_HIT},
- {gBattleAnimSpritePalette_057, ANIM_TAG_UNUSED_RING},
- {gBattleAnimSpritePalette_058, ANIM_TAG_ROCKS},
- {gBattleAnimSpritePalette_059, ANIM_TAG_UNUSED_Z},
- {gBattleAnimSpritePalette_060, ANIM_TAG_UNUSED_YELLOW_UNK_2},
- {gBattleAnimSpritePalette_061, ANIM_TAG_UNUSED_AIR_SLASH},
- {gBattleAnimSpritePalette_062, ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS},
- {gBattleAnimSpritePalette_063, ANIM_TAG_LEAF},
- {gBattleAnimSpritePalette_064, ANIM_TAG_FINGER},
- {gBattleAnimSpritePalette_065, ANIM_TAG_POISON_POWDER},
- {gBattleAnimSpritePalette_066, ANIM_TAG_UNUSED_BROWN_TRIANGLE},
- {gBattleAnimSpritePalette_067, ANIM_TAG_SLEEP_POWDER},
- {gBattleAnimSpritePalette_068, ANIM_TAG_STUN_SPORE},
- {gBattleAnimSpritePalette_065, ANIM_TAG_UNUSED_POWDER},
- {gBattleAnimSpritePalette_070, ANIM_TAG_SPARKLE_3},
- {gBattleAnimSpritePalette_070, ANIM_TAG_SPARKLE_4},
- {gBattleAnimSpritePalette_072, ANIM_TAG_MUSIC_NOTES},
- {gBattleAnimSpritePalette_073, ANIM_TAG_DUCK},
- {gBattleAnimSpritePalette_074, ANIM_TAG_MUD_SAND},
- {gBattleAnimSpritePalette_075, ANIM_TAG_ALERT},
- {gBattleAnimSpritePalette_076, ANIM_TAG_UNUSED_BLUE_FLAMES},
- {gBattleAnimSpritePalette_076, ANIM_TAG_UNUSED_BLUE_FLAMES_2},
- {gBattleAnimSpritePalette_078, ANIM_TAG_UNUSED_SHOCK},
- {gBattleAnimSpritePalette_078, ANIM_TAG_SHOCK},
- {gBattleAnimSpritePalette_080, ANIM_TAG_UNUSED_BELL},
- {gBattleAnimSpritePalette_081, ANIM_TAG_UNUSED_PINK_GLOVE},
- {gBattleAnimSpritePalette_082, ANIM_TAG_UNUSED_BLUE_LINES},
- {gBattleAnimSpritePalette_083, ANIM_TAG_UNUSED_IMPACT},
- {gBattleAnimSpritePalette_084, ANIM_TAG_UNUSED_IMPACT_2},
- {gBattleAnimSpritePalette_085, ANIM_TAG_UNUSED_RETICLE},
- {gBattleAnimSpritePalette_086, ANIM_TAG_BREATH},
- {gBattleAnimSpritePalette_087, ANIM_TAG_ANGER},
- {gBattleAnimSpritePalette_088, ANIM_TAG_UNUSED_SNOWBALL},
- {gBattleAnimSpritePalette_089, ANIM_TAG_UNUSED_VINE},
- {gBattleAnimSpritePalette_090, ANIM_TAG_UNUSED_SWORD},
- {gBattleAnimSpritePalette_091, ANIM_TAG_UNUSED_CLAPPING},
- {gBattleAnimSpritePalette_092, ANIM_TAG_UNUSED_RED_TUBE},
- {gBattleAnimSpritePalette_093, ANIM_TAG_AMNESIA},
- {gBattleAnimSpritePalette_094, ANIM_TAG_UNUSED_STRING},
- {gBattleAnimSpritePalette_095, ANIM_TAG_UNUSED_PENCIL},
- {gBattleAnimSpritePalette_096, ANIM_TAG_UNUSED_PETAL},
- {gBattleAnimSpritePalette_097, ANIM_TAG_BENT_SPOON},
- {gBattleAnimSpritePalette_094, ANIM_TAG_UNUSED_WEB},
- {gBattleAnimSpritePalette_099, ANIM_TAG_MILK_BOTTLE},
- {gBattleAnimSpritePalette_100, ANIM_TAG_COIN},
- {gBattleAnimSpritePalette_101, ANIM_TAG_UNUSED_CRACKED_EGG},
- {gBattleAnimSpritePalette_101, ANIM_TAG_UNUSED_HATCHED_EGG},
- {gBattleAnimSpritePalette_103, ANIM_TAG_UNUSED_FRESH_EGG},
- {gBattleAnimSpritePalette_104, ANIM_TAG_UNUSED_FANGS},
- {gBattleAnimSpritePalette_105, ANIM_TAG_UNUSED_EXPLOSION_2},
- {gBattleAnimSpritePalette_105, ANIM_TAG_UNUSED_EXPLOSION_3},
- {gBattleAnimSpritePalette_107, ANIM_TAG_UNUSED_WATER_DROPLET},
- {gBattleAnimSpritePalette_107, ANIM_TAG_UNUSED_WATER_DROPLET_2},
- {gBattleAnimSpritePalette_109, ANIM_TAG_UNUSED_SEED},
- {gBattleAnimSpritePalette_109, ANIM_TAG_UNUSED_SPROUT},
- {gBattleAnimSpritePalette_111, ANIM_TAG_UNUSED_RED_WAND},
- {gBattleAnimSpritePalette_112, ANIM_TAG_UNUSED_PURPLE_GREEN_UNK},
- {gBattleAnimSpritePalette_113, ANIM_TAG_UNUSED_WATER_COLUMN},
- {gBattleAnimSpritePalette_114, ANIM_TAG_UNUSED_MUD_UNK},
- {gBattleAnimSpritePalette_115, ANIM_TAG_RAIN_DROPS},
- {gBattleAnimSpritePalette_116, ANIM_TAG_UNUSED_FURY_SWIPES},
- {gBattleAnimSpritePalette_117, ANIM_TAG_UNUSED_VINE_2},
- {gBattleAnimSpritePalette_118, ANIM_TAG_UNUSED_TEETH},
- {gBattleAnimSpritePalette_119, ANIM_TAG_UNUSED_BONE},
- {gBattleAnimSpritePalette_120, ANIM_TAG_UNUSED_WHITE_BAG},
- {gBattleAnimSpritePalette_121, ANIM_TAG_UNUSED_UNKNOWN},
- {gBattleAnimSpritePalette_122, ANIM_TAG_UNUSED_PURPLE_CORAL},
- {gBattleAnimSpritePalette_122, ANIM_TAG_UNUSED_PURPLE_DROPLET},
- {gBattleAnimSpritePalette_124, ANIM_TAG_UNUSED_SHOCK_2},
- {gBattleAnimSpritePalette_125, ANIM_TAG_UNUSED_CLOSING_EYE_2},
- {gBattleAnimSpritePalette_126, ANIM_TAG_UNUSED_METAL_BALL},
- {gBattleAnimSpritePalette_127, ANIM_TAG_UNUSED_MONSTER_DOLL},
- {gBattleAnimSpritePalette_128, ANIM_TAG_UNUSED_WHIRLWIND},
- {gBattleAnimSpritePalette_128, ANIM_TAG_UNUSED_WHIRLWIND_2},
- {gBattleAnimSpritePalette_130, ANIM_TAG_UNUSED_EXPLOSION_4},
- {gBattleAnimSpritePalette_130, ANIM_TAG_UNUSED_EXPLOSION_5},
- {gBattleAnimSpritePalette_132, ANIM_TAG_UNUSED_TONGUE},
- {gBattleAnimSpritePalette_133, ANIM_TAG_UNUSED_SMOKE},
- {gBattleAnimSpritePalette_133, ANIM_TAG_UNUSED_SMOKE_2},
- {gBattleAnimSpritePalette_135, ANIM_TAG_IMPACT},
- {gBattleAnimSpritePalette_136, ANIM_TAG_CIRCLE_IMPACT},
- {gBattleAnimSpritePalette_135, ANIM_TAG_SCRATCH},
- {gBattleAnimSpritePalette_135, ANIM_TAG_CUT},
- {gBattleAnimSpritePalette_139, ANIM_TAG_SHARP_TEETH},
- {gBattleAnimSpritePalette_140, ANIM_TAG_RAINBOW_RINGS},
- {gBattleAnimSpritePalette_141, ANIM_TAG_ICE_CRYSTALS},
- {gBattleAnimSpritePalette_141, ANIM_TAG_ICE_SPIKES},
- {gBattleAnimSpritePalette_143, ANIM_TAG_HANDS_AND_FEET},
- {gBattleAnimSpritePalette_144, ANIM_TAG_MIST_CLOUD},
- {gBattleAnimSpritePalette_139, ANIM_TAG_CLAMP},
- {gBattleAnimSpritePalette_115, ANIM_TAG_BUBBLE},
- {gBattleAnimSpritePalette_147, ANIM_TAG_ORBS},
- {gBattleAnimSpritePalette_148, ANIM_TAG_WATER_IMPACT},
- {gBattleAnimSpritePalette_148, ANIM_TAG_WATER_ORB},
- {gBattleAnimSpritePalette_150, ANIM_TAG_POISON_BUBBLE},
- {gBattleAnimSpritePalette_150, ANIM_TAG_TOXIC_BUBBLE},
- {gBattleAnimSpritePalette_152, ANIM_TAG_SPIKES},
- {gBattleAnimSpritePalette_153, ANIM_TAG_HORN_HIT_2},
- {gBattleAnimSpritePalette_154, ANIM_TAG_AIR_WAVE_2},
- {gBattleAnimSpritePalette_155, ANIM_TAG_SMALL_BUBBLES},
- {gBattleAnimSpritePalette_156, ANIM_TAG_ROUND_SHADOW},
- {gBattleAnimSpritePalette_157, ANIM_TAG_SUNLIGHT},
- {gBattleAnimSpritePalette_158, ANIM_TAG_SPORE},
- {gBattleAnimSpritePalette_159, ANIM_TAG_FLOWER},
- {gBattleAnimSpritePalette_160, ANIM_TAG_RAZOR_LEAF},
- {gBattleAnimSpritePalette_161, ANIM_TAG_NEEDLE},
- {gBattleAnimSpritePalette_162, ANIM_TAG_WHIRLWIND_LINES},
- {gBattleAnimSpritePalette_163, ANIM_TAG_GOLD_RING},
- {gBattleAnimSpritePalette_164, ANIM_TAG_PURPLE_RING},
- {gBattleAnimSpritePalette_165, ANIM_TAG_BLUE_RING},
- {gBattleAnimSpritePalette_166, ANIM_TAG_GREEN_LIGHT_WALL},
- {gBattleAnimSpritePalette_167, ANIM_TAG_BLUE_LIGHT_WALL},
- {gBattleAnimSpritePalette_168, ANIM_TAG_RED_LIGHT_WALL},
- {gBattleAnimSpritePalette_169, ANIM_TAG_GRAY_LIGHT_WALL},
- {gBattleAnimSpritePalette_170, ANIM_TAG_ORANGE_LIGHT_WALL},
- {gBattleAnimSpritePalette_171, ANIM_TAG_BLACK_BALL_2},
- {gBattleAnimSpritePalette_172, ANIM_TAG_PURPLE_GAS_CLOUD},
- {gBattleAnimSpritePalette_001, ANIM_TAG_SPARK_H},
- {gBattleAnimSpritePalette_174, ANIM_TAG_YELLOW_STAR},
- {gBattleAnimSpritePalette_175, ANIM_TAG_LARGE_FRESH_EGG},
- {gBattleAnimSpritePalette_176, ANIM_TAG_SHADOW_BALL},
- {gBattleAnimSpritePalette_177, ANIM_TAG_LICK},
- {gBattleAnimSpritePalette_178, ANIM_TAG_UNUSED_VOID_LINES},
- {gBattleAnimSpritePalette_179, ANIM_TAG_STRING},
- {gBattleAnimSpritePalette_179, ANIM_TAG_WEB_THREAD},
- {gBattleAnimSpritePalette_179, ANIM_TAG_SPIDER_WEB},
- {gBattleAnimSpritePalette_182, ANIM_TAG_UNUSED_LIGHTBULB},
- {gBattleAnimSpritePalette_183, ANIM_TAG_SLASH},
- {gBattleAnimSpritePalette_184, ANIM_TAG_FOCUS_ENERGY},
- {gBattleAnimSpritePalette_185, ANIM_TAG_SPHERE_TO_CUBE},
- {gBattleAnimSpritePalette_186, ANIM_TAG_TENDRILS},
- {gBattleAnimSpritePalette_187, ANIM_TAG_EYE},
- {gBattleAnimSpritePalette_188, ANIM_TAG_WHITE_SHADOW},
- {gBattleAnimSpritePalette_189, ANIM_TAG_TEAL_ALERT},
- {gBattleAnimSpritePalette_190, ANIM_TAG_OPENING_EYE},
- {gBattleAnimSpritePalette_191, ANIM_TAG_ROUND_WHITE_HALO},
- {gBattleAnimSpritePalette_192, ANIM_TAG_FANG_ATTACK},
- {gBattleAnimSpritePalette_193, ANIM_TAG_PURPLE_HAND_OUTLINE},
- {gBattleAnimSpritePalette_194, ANIM_TAG_MOON},
- {gBattleAnimSpritePalette_195, ANIM_TAG_GREEN_SPARKLE},
- {gBattleAnimSpritePalette_196, ANIM_TAG_SPIRAL},
- {gBattleAnimSpritePalette_197, ANIM_TAG_SNORE_Z},
- {gBattleAnimSpritePalette_198, ANIM_TAG_EXPLOSION},
- {gBattleAnimSpritePalette_199, ANIM_TAG_NAIL},
- {gBattleAnimSpritePalette_200, ANIM_TAG_GHOSTLY_SPIRIT},
- {gBattleAnimSpritePalette_201, ANIM_TAG_WARM_ROCK},
- {gBattleAnimSpritePalette_202, ANIM_TAG_BREAKING_EGG},
- {gBattleAnimSpritePalette_203, ANIM_TAG_THIN_RING},
- {gBattleAnimSpritePalette_204, ANIM_TAG_UNUSED_PUNCH_IMPACT},
- {gBattleAnimSpritePalette_205, ANIM_TAG_BELL},
- {gBattleAnimSpritePalette_206, ANIM_TAG_MUSIC_NOTES_2},
- {gBattleAnimSpritePalette_207, ANIM_TAG_SPEED_DUST},
- {gBattleAnimSpritePalette_167, ANIM_TAG_TORN_METAL},
- {gBattleAnimSpritePalette_209, ANIM_TAG_THOUGHT_BUBBLE},
- {gBattleAnimSpritePalette_210, ANIM_TAG_MAGENTA_HEART},
- {gBattleAnimSpritePalette_211, ANIM_TAG_ELECTRIC_ORBS},
- {gBattleAnimSpritePalette_211, ANIM_TAG_CIRCLE_OF_LIGHT},
- {gBattleAnimSpritePalette_211, ANIM_TAG_ELECTRICITY},
- {gBattleAnimSpritePalette_064, ANIM_TAG_FINGER_2},
- {gBattleAnimSpritePalette_215, ANIM_TAG_MOVEMENT_WAVES},
- {gBattleAnimSpritePalette_216, ANIM_TAG_RED_HEART},
- {gBattleAnimSpritePalette_217, ANIM_TAG_RED_ORB},
- {gBattleAnimSpritePalette_218, ANIM_TAG_EYE_SPARKLE},
- {gBattleAnimSpritePalette_219, ANIM_TAG_PINK_HEART},
- {gBattleAnimSpritePalette_220, ANIM_TAG_ANGEL},
- {gBattleAnimSpritePalette_221, ANIM_TAG_DEVIL},
- {gBattleAnimSpritePalette_222, ANIM_TAG_SWIPE},
- {gBattleAnimSpritePalette_223, ANIM_TAG_ROOTS},
- {gBattleAnimSpritePalette_224, ANIM_TAG_ITEM_BAG},
- {gBattleAnimSpritePalette_225, ANIM_TAG_JAGGED_MUSIC_NOTE},
- {gBattleAnimSpritePalette_226, ANIM_TAG_POKEBALL},
- {gBattleAnimSpritePalette_226, ANIM_TAG_SPOTLIGHT},
- {gBattleAnimSpritePalette_228, ANIM_TAG_LETTER_Z},
- {gBattleAnimSpritePalette_229, ANIM_TAG_RAPID_SPIN},
- {gBattleAnimSpritePalette_230, ANIM_TAG_TRI_FORCE_TRIANGLE},
- {gBattleAnimSpritePalette_231, ANIM_TAG_WISP_ORB},
- {gBattleAnimSpritePalette_231, ANIM_TAG_WISP_FIRE},
- {gBattleAnimSpritePalette_233, ANIM_TAG_GOLD_STARS},
- {gBattleAnimSpritePalette_234, ANIM_TAG_ECLIPSING_ORB},
- {gBattleAnimSpritePalette_235, ANIM_TAG_GRAY_ORB},
- {gBattleAnimSpritePalette_236, ANIM_TAG_BLUE_ORB},
- {gBattleAnimSpritePalette_237, ANIM_TAG_RED_ORB_2},
- {gBattleAnimSpritePalette_238, ANIM_TAG_PINK_PETAL},
- {gBattleAnimSpritePalette_239, ANIM_TAG_PAIN_SPLIT},
- {gBattleAnimSpritePalette_240, ANIM_TAG_CONFETTI},
- {gBattleAnimSpritePalette_241, ANIM_TAG_GREEN_STAR},
- {gBattleAnimSpritePalette_242, ANIM_TAG_PINK_CLOUD},
- {gBattleAnimSpritePalette_243, ANIM_TAG_SWEAT_DROP},
- {gBattleAnimSpritePalette_244, ANIM_TAG_GUARD_RING},
- {gBattleAnimSpritePalette_245, ANIM_TAG_PURPLE_SCRATCH},
- {gBattleAnimSpritePalette_245, ANIM_TAG_PURPLE_SWIPE},
- {gBattleAnimSpritePalette_064, ANIM_TAG_TAG_HAND},
- {gBattleAnimSpritePalette_248, ANIM_TAG_SMALL_RED_EYE},
- {gBattleAnimSpritePalette_249, ANIM_TAG_HOLLOW_ORB},
- {gBattleAnimSpritePalette_249, ANIM_TAG_X_SIGN},
- {gBattleAnimSpritePalette_251, ANIM_TAG_BLUEGREEN_ORB},
- {gBattleAnimSpritePalette_252, ANIM_TAG_PAW_PRINT},
- {gBattleAnimSpritePalette_253, ANIM_TAG_PURPLE_FLAME},
- {gBattleAnimSpritePalette_254, ANIM_TAG_RED_BALL},
- {gBattleAnimSpritePalette_255, ANIM_TAG_SMELLINGSALT_EFFECT},
- {gBattleAnimSpritePalette_256, ANIM_TAG_METEOR},
- {gBattleAnimSpritePalette_257, ANIM_TAG_FLAT_ROCK},
- {gBattleAnimSpritePalette_258, ANIM_TAG_MAGNIFYING_GLASS},
- {gBattleAnimSpritePalette_259, ANIM_TAG_BROWN_ORB},
- {gBattleAnimSpritePalette_260, ANIM_TAG_METAL_SOUND_WAVES},
- {gBattleAnimSpritePalette_261, ANIM_TAG_FLYING_DIRT},
- {gBattleAnimSpritePalette_262, ANIM_TAG_ICICLE_SPEAR},
- {gBattleAnimSpritePalette_263, ANIM_TAG_HAIL},
- {gBattleAnimSpritePalette_264, ANIM_TAG_GLOWY_RED_ORB},
- {gBattleAnimSpritePalette_265, ANIM_TAG_GLOWY_GREEN_ORB},
- {gBattleAnimSpritePalette_266, ANIM_TAG_GREEN_SPIKE},
- {gBattleAnimSpritePalette_267, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT},
- {gBattleAnimSpritePalette_268, ANIM_TAG_GLOWY_BLUE_ORB},
- {gBattleAnimSpritePalette_269, ANIM_TAG_UNUSED_RED_BRICK},
- {gBattleAnimSpritePalette_270, ANIM_TAG_WHITE_FEATHER},
- {gBattleAnimSpritePalette_271, ANIM_TAG_SPARKLE_6},
- {gBattleAnimSpritePalette_272, ANIM_TAG_SPLASH},
- {gBattleAnimSpritePalette_272, ANIM_TAG_SWEAT_BEAD},
- {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_1},
- {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_2},
- {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_3},
- {gBattleAnimSpritePalette_277, ANIM_TAG_SLAM_HIT_2},
- {gBattleAnimSpritePalette_278, ANIM_TAG_RECYCLE},
- {gBattleAnimSpritePalette_279, ANIM_TAG_UNUSED_RED_PARTICLES},
- {gBattleAnimSpritePalette_280, ANIM_TAG_PROTECT},
- {gBattleAnimSpritePalette_281, ANIM_TAG_DIRT_MOUND},
- {gBattleAnimSpritePalette_282, ANIM_TAG_SHOCK_3},
- {gBattleAnimSpritePalette_283, ANIM_TAG_WEATHER_BALL},
- {gBattleAnimSpritePalette_284, ANIM_TAG_BIRD},
- {gBattleAnimSpritePalette_285, ANIM_TAG_CROSS_IMPACT},
- {gBattleAnimSpritePalette_286, ANIM_TAG_SLASH_2},
- {gBattleAnimSpritePalette_287, ANIM_TAG_WHIP_HIT},
- {gBattleAnimSpritePalette_288, ANIM_TAG_BLUE_RING_2},
+ {gBattleAnimSpritePal_Bone, ANIM_TAG_BONE},
+ {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK},
+ {gBattleAnimSpritePal_Pencil, ANIM_TAG_PENCIL},
+ {gBattleAnimSpritePal_AirWave, ANIM_TAG_AIR_WAVE},
+ {gBattleAnimSpritePal_Orb, ANIM_TAG_ORB},
+ {gBattleAnimSpritePal_Sword, ANIM_TAG_SWORD},
+ {gBattleAnimSpritePal_Seed, ANIM_TAG_SEED},
+ {gBattleAnimSpritePal_Explosion6, ANIM_TAG_EXPLOSION_6},
+ {gBattleAnimSpritePal_PinkOrb, ANIM_TAG_PINK_ORB},
+ {gBattleAnimSpritePal_Gust, ANIM_TAG_GUST},
+ {gBattleAnimSpritePal_IceCube, ANIM_TAG_ICE_CUBE},
+ {gBattleAnimSpritePal_Spark2, ANIM_TAG_SPARK_2},
+ {gBattleAnimSpritePal_Orange, ANIM_TAG_ORANGE},
+ {gBattleAnimSpritePal_YellowBall, ANIM_TAG_YELLOW_BALL},
+ {gBattleAnimSpritePal_LockOn, ANIM_TAG_LOCK_ON},
+ {gBattleAnimSpritePal_TiedBag, ANIM_TAG_TIED_BAG},
+ {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_SMOKE},
+ {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_BALL},
+ {gBattleAnimSpritePal_Conversion, ANIM_TAG_CONVERSION},
+ {gBattleAnimSpritePal_Glass, ANIM_TAG_GLASS},
+ {gBattleAnimSpritePal_HornHit, ANIM_TAG_HORN_HIT},
+ {gBattleAnimSpritePal_Hit, ANIM_TAG_HIT},
+ {gBattleAnimSpritePal_Hit2, ANIM_TAG_HIT_2},
+ {gBattleAnimSpritePal_BlueShards, ANIM_TAG_BLUE_SHARDS},
+ {gBattleAnimSpritePal_ClosingEye, ANIM_TAG_CLOSING_EYE},
+ {gBattleAnimSpritePal_WavingHand, ANIM_TAG_WAVING_HAND},
+ {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_HIT_DUPLICATE},
+ {gBattleAnimSpritePal_Leer, ANIM_TAG_LEER},
+ {gBattleAnimSpritePal_BlueBurst, ANIM_TAG_BLUE_BURST},
+ {gBattleAnimSpritePal_SmallEmber, ANIM_TAG_SMALL_EMBER},
+ {gBattleAnimSpritePal_GraySmoke, ANIM_TAG_GRAY_SMOKE},
+ {gBattleAnimSpritePal_BlueStar, ANIM_TAG_BLUE_STAR},
+ {gBattleAnimSpritePal_BubbleBurst, ANIM_TAG_BUBBLE_BURST},
+ {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE},
+ {gBattleAnimSpritePal_Fire, ANIM_TAG_SPINNING_FIRE},
+ {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE_PLUME},
+ {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING_2},
+ {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING},
+ {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_CLAW_SLASH_2},
+ {gBattleAnimSpritePal_ClawSlash, ANIM_TAG_CLAW_SLASH},
+ {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_3},
+ {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_2},
+ {gBattleAnimSpritePal_BubbleBurst2, ANIM_TAG_BUBBLE_BURST_2},
+ {gBattleAnimSpritePal_IceChunk, ANIM_TAG_ICE_CHUNK},
+ {gBattleAnimSpritePal_Glass2, ANIM_TAG_GLASS_2},
+ {gBattleAnimSpritePal_PinkHeart2, ANIM_TAG_PINK_HEART_2},
+ {gBattleAnimSpritePal_SapDrip, ANIM_TAG_SAP_DRIP},
+ {gBattleAnimSpritePal_SapDrip2, ANIM_TAG_SAP_DRIP},
+ {gBattleAnimSpritePal_Sparkle1, ANIM_TAG_SPARKLE_1},
+ {gBattleAnimSpritePal_Sparkle2, ANIM_TAG_SPARKLE_2},
+ {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_FOOT},
+ {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_MONSTER_FOOT},
+ {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_HAND},
+ {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_NOISE_LINE},
+ {gBattleAnimSpritePal_YellowUnk, ANIM_TAG_YELLOW_UNK},
+ {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_RED_FIST},
+ {gBattleAnimSpritePal_SlamHit, ANIM_TAG_SLAM_HIT},
+ {gBattleAnimSpritePal_Ring, ANIM_TAG_RING},
+ {gBattleAnimSpritePal_Rocks, ANIM_TAG_ROCKS},
+ {gBattleAnimSpritePal_Z, ANIM_TAG_Z},
+ {gBattleAnimSpritePal_YellowUnk2, ANIM_TAG_YELLOW_UNK_2},
+ {gBattleAnimSpritePal_AirSlash, ANIM_TAG_AIR_SLASH},
+ {gBattleAnimSpritePal_SpinningGreenOrbs, ANIM_TAG_SPINNING_GREEN_ORBS},
+ {gBattleAnimSpritePal_Leaf, ANIM_TAG_LEAF},
+ {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER},
+ {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POISON_POWDER},
+ {gBattleAnimSpritePal_BrownTriangle, ANIM_TAG_BROWN_TRIANGLE},
+ {gBattleAnimSpritePal_SleepPowder, ANIM_TAG_SLEEP_POWDER},
+ {gBattleAnimSpritePal_StunSpore, ANIM_TAG_STUN_SPORE},
+ {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POWDER},
+ {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_3},
+ {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_4},
+ {gBattleAnimSpritePal_MusicNotes, ANIM_TAG_MUSIC_NOTES},
+ {gBattleAnimSpritePal_Duck, ANIM_TAG_DUCK},
+ {gBattleAnimSpritePal_MudSand, ANIM_TAG_MUD_SAND},
+ {gBattleAnimSpritePal_Alert, ANIM_TAG_ALERT},
+ {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES},
+ {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES_2},
+ {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK_4},
+ {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK},
+ {gBattleAnimSpritePal_Bell2, ANIM_TAG_BELL_2},
+ {gBattleAnimSpritePal_PinkGlove, ANIM_TAG_PINK_GLOVE},
+ {gBattleAnimSpritePal_BlueLines, ANIM_TAG_BLUE_LINES},
+ {gBattleAnimSpritePal_Impact3, ANIM_TAG_IMPACT_3},
+ {gBattleAnimSpritePal_Impact2, ANIM_TAG_IMPACT_2},
+ {gBattleAnimSpritePal_Reticle, ANIM_TAG_RETICLE},
+ {gBattleAnimSpritePal_Breath, ANIM_TAG_BREATH},
+ {gBattleAnimSpritePal_Anger, ANIM_TAG_ANGER},
+ {gBattleAnimSpritePal_Snowball, ANIM_TAG_SNOWBALL},
+ {gBattleAnimSpritePal_Vine, ANIM_TAG_VINE},
+ {gBattleAnimSpritePal_Sword2, ANIM_TAG_SWORD_2},
+ {gBattleAnimSpritePal_Clapping, ANIM_TAG_CLAPPING},
+ {gBattleAnimSpritePal_RedTube, ANIM_TAG_RED_TUBE},
+ {gBattleAnimSpritePal_Amnesia, ANIM_TAG_AMNESIA},
+ {gBattleAnimSpritePal_String2, ANIM_TAG_STRING_2},
+ {gBattleAnimSpritePal_Pencil2, ANIM_TAG_PENCIL_2},
+ {gBattleAnimSpritePal_Petal, ANIM_TAG_PETAL},
+ {gBattleAnimSpritePal_BentSpoon, ANIM_TAG_BENT_SPOON},
+ {gBattleAnimSpritePal_String2, ANIM_TAG_WEB},
+ {gBattleAnimSpritePal_MilkBottle, ANIM_TAG_MILK_BOTTLE},
+ {gBattleAnimSpritePal_Coin, ANIM_TAG_COIN},
+ {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_CRACKED_EGG},
+ {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_HATCHED_EGG},
+ {gBattleAnimSpritePal_FreshEgg, ANIM_TAG_FRESH_EGG},
+ {gBattleAnimSpritePal_Fangs, ANIM_TAG_FANGS},
+ {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_2},
+ {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_3},
+ {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET},
+ {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET_2},
+ {gBattleAnimSpritePal_Seed2, ANIM_TAG_SEED_2},
+ {gBattleAnimSpritePal_Seed2, ANIM_TAG_SPROUT},
+ {gBattleAnimSpritePal_RedWand, ANIM_TAG_RED_WAND},
+ {gBattleAnimSpritePal_PurpleGreenUnk, ANIM_TAG_PURPLE_GREEN_UNK},
+ {gBattleAnimSpritePal_WaterColumn, ANIM_TAG_WATER_COLUMN},
+ {gBattleAnimSpritePal_MudUnk, ANIM_TAG_MUD_UNK},
+ {gBattleAnimSpritePal_RainDrops, ANIM_TAG_RAIN_DROPS},
+ {gBattleAnimSpritePal_FurySwipes, ANIM_TAG_FURY_SWIPES},
+ {gBattleAnimSpritePal_Vine2, ANIM_TAG_VINE_2},
+ {gBattleAnimSpritePal_Teeth, ANIM_TAG_TEETH},
+ {gBattleAnimSpritePal_Bone2, ANIM_TAG_BONE_2},
+ {gBattleAnimSpritePal_WhiteBag, ANIM_TAG_WHITE_BAG},
+ {gBattleAnimSpritePal_Unknown, ANIM_TAG_UNKNOWN},
+ {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_CORAL},
+ {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_DROPLET},
+ {gBattleAnimSpritePal_Shock2, ANIM_TAG_SHOCK_2},
+ {gBattleAnimSpritePal_ClosingEye2, ANIM_TAG_CLOSING_EYE_2},
+ {gBattleAnimSpritePal_MetalBall, ANIM_TAG_METAL_BALL},
+ {gBattleAnimSpritePal_MonsterDoll, ANIM_TAG_MONSTER_DOLL},
+ {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND},
+ {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND_2},
+ {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_4},
+ {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_5},
+ {gBattleAnimSpritePal_Tongue, ANIM_TAG_TONGUE},
+ {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE},
+ {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE_2},
+ {gBattleAnimSpritePal_Impact, ANIM_TAG_IMPACT},
+ {gBattleAnimSpritePal_CircleImpact, ANIM_TAG_CIRCLE_IMPACT},
+ {gBattleAnimSpritePal_Impact, ANIM_TAG_SCRATCH},
+ {gBattleAnimSpritePal_Impact, ANIM_TAG_CUT},
+ {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_SHARP_TEETH},
+ {gBattleAnimSpritePal_RainbowRings, ANIM_TAG_RAINBOW_RINGS},
+ {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_CRYSTALS},
+ {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_SPIKES},
+ {gBattleAnimSpritePal_HandsAndFeet, ANIM_TAG_HANDS_AND_FEET},
+ {gBattleAnimSpritePal_MistCloud, ANIM_TAG_MIST_CLOUD},
+ {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_CLAMP},
+ {gBattleAnimSpritePal_RainDrops, ANIM_TAG_BUBBLE},
+ {gBattleAnimSpritePal_Orbs, ANIM_TAG_ORBS},
+ {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_IMPACT},
+ {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_ORB},
+ {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_POISON_BUBBLE},
+ {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_TOXIC_BUBBLE},
+ {gBattleAnimSpritePal_Spikes, ANIM_TAG_SPIKES},
+ {gBattleAnimSpritePal_HornHit2, ANIM_TAG_HORN_HIT_2},
+ {gBattleAnimSpritePal_AirWave2, ANIM_TAG_AIR_WAVE_2},
+ {gBattleAnimSpritePal_SmallBubbles, ANIM_TAG_SMALL_BUBBLES},
+ {gBattleAnimSpritePal_RoundShadow, ANIM_TAG_ROUND_SHADOW},
+ {gBattleAnimSpritePal_Sunlight, ANIM_TAG_SUNLIGHT},
+ {gBattleAnimSpritePal_Spore, ANIM_TAG_SPORE},
+ {gBattleAnimSpritePal_Flower, ANIM_TAG_FLOWER},
+ {gBattleAnimSpritePal_RazorLeaf, ANIM_TAG_RAZOR_LEAF},
+ {gBattleAnimSpritePal_Needle, ANIM_TAG_NEEDLE},
+ {gBattleAnimSpritePal_WhirlwindLines, ANIM_TAG_WHIRLWIND_LINES},
+ {gBattleAnimSpritePal_GoldRing, ANIM_TAG_GOLD_RING},
+ {gBattleAnimSpritePal_PurpleRing, ANIM_TAG_PURPLE_RING},
+ {gBattleAnimSpritePal_BlueRing, ANIM_TAG_BLUE_RING},
+ {gBattleAnimSpritePal_GreenLightWall, ANIM_TAG_GREEN_LIGHT_WALL},
+ {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_BLUE_LIGHT_WALL},
+ {gBattleAnimSpritePal_RedLightWall, ANIM_TAG_RED_LIGHT_WALL},
+ {gBattleAnimSpritePal_GrayLightWall, ANIM_TAG_GRAY_LIGHT_WALL},
+ {gBattleAnimSpritePal_OrangeLightWall, ANIM_TAG_ORANGE_LIGHT_WALL},
+ {gBattleAnimSpritePal_BlackBall2, ANIM_TAG_BLACK_BALL_2},
+ {gBattleAnimSpritePal_PurpleGasCloud, ANIM_TAG_PURPLE_GAS_CLOUD},
+ {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK_H},
+ {gBattleAnimSpritePal_YellowStar, ANIM_TAG_YELLOW_STAR},
+ {gBattleAnimSpritePal_LargeFreshEgg, ANIM_TAG_LARGE_FRESH_EGG},
+ {gBattleAnimSpritePal_ShadowBall, ANIM_TAG_SHADOW_BALL},
+ {gBattleAnimSpritePal_Lick, ANIM_TAG_LICK},
+ {gBattleAnimSpritePal_VoidLines, ANIM_TAG_VOID_LINES},
+ {gBattleAnimSpritePal_String, ANIM_TAG_STRING},
+ {gBattleAnimSpritePal_String, ANIM_TAG_WEB_THREAD},
+ {gBattleAnimSpritePal_String, ANIM_TAG_SPIDER_WEB},
+ {gBattleAnimSpritePal_Lightbulb, ANIM_TAG_LIGHTBULB},
+ {gBattleAnimSpritePal_Slash, ANIM_TAG_SLASH},
+ {gBattleAnimSpritePal_FocusEnergy, ANIM_TAG_FOCUS_ENERGY},
+ {gBattleAnimSpritePal_SphereToCube, ANIM_TAG_SPHERE_TO_CUBE},
+ {gBattleAnimSpritePal_Tendrils, ANIM_TAG_TENDRILS},
+ {gBattleAnimSpritePal_Eye, ANIM_TAG_EYE},
+ {gBattleAnimSpritePal_WhiteShadow, ANIM_TAG_WHITE_SHADOW},
+ {gBattleAnimSpritePal_TealAlert, ANIM_TAG_TEAL_ALERT},
+ {gBattleAnimSpritePal_OpeningEye, ANIM_TAG_OPENING_EYE},
+ {gBattleAnimSpritePal_RoundWhiteHalo, ANIM_TAG_ROUND_WHITE_HALO},
+ {gBattleAnimSpritePal_FangAttack, ANIM_TAG_FANG_ATTACK},
+ {gBattleAnimSpritePal_PurpleHandOutline, ANIM_TAG_PURPLE_HAND_OUTLINE},
+ {gBattleAnimSpritePal_Moon, ANIM_TAG_MOON},
+ {gBattleAnimSpritePal_GreenSparkle, ANIM_TAG_GREEN_SPARKLE},
+ {gBattleAnimSpritePal_Spiral, ANIM_TAG_SPIRAL},
+ {gBattleAnimSpritePal_SnoreZ, ANIM_TAG_SNORE_Z},
+ {gBattleAnimSpritePal_Explosion, ANIM_TAG_EXPLOSION},
+ {gBattleAnimSpritePal_Nail, ANIM_TAG_NAIL},
+ {gBattleAnimSpritePal_GhostlySpirit, ANIM_TAG_GHOSTLY_SPIRIT},
+ {gBattleAnimSpritePal_WarmRock, ANIM_TAG_WARM_ROCK},
+ {gBattleAnimSpritePal_BreakingEgg, ANIM_TAG_BREAKING_EGG},
+ {gBattleAnimSpritePal_ThinRing, ANIM_TAG_THIN_RING},
+ {gBattleAnimSpritePal_PunchImpact, ANIM_TAG_PUNCH_IMPACT},
+ {gBattleAnimSpritePal_Bell, ANIM_TAG_BELL},
+ {gBattleAnimSpritePal_MusicNotes2, ANIM_TAG_MUSIC_NOTES_2},
+ {gBattleAnimSpritePal_SpeedDust, ANIM_TAG_SPEED_DUST},
+ {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_TORN_METAL},
+ {gBattleAnimSpritePal_ThoughtBubble, ANIM_TAG_THOUGHT_BUBBLE},
+ {gBattleAnimSpritePal_MagentaHeart, ANIM_TAG_MAGENTA_HEART},
+ {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRIC_ORBS},
+ {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_CIRCLE_OF_LIGHT},
+ {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRICITY},
+ {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER_2},
+ {gBattleAnimSpritePal_MovementWaves, ANIM_TAG_MOVEMENT_WAVES},
+ {gBattleAnimSpritePal_RedHeart, ANIM_TAG_RED_HEART},
+ {gBattleAnimSpritePal_RedOrb, ANIM_TAG_RED_ORB},
+ {gBattleAnimSpritePal_EyeSparkle, ANIM_TAG_EYE_SPARKLE},
+ {gBattleAnimSpritePal_PinkHeart, ANIM_TAG_PINK_HEART},
+ {gBattleAnimSpritePal_Angel, ANIM_TAG_ANGEL},
+ {gBattleAnimSpritePal_Devil, ANIM_TAG_DEVIL},
+ {gBattleAnimSpritePal_Swipe, ANIM_TAG_SWIPE},
+ {gBattleAnimSpritePal_Roots, ANIM_TAG_ROOTS},
+ {gBattleAnimSpritePal_ItemBag, ANIM_TAG_ITEM_BAG},
+ {gBattleAnimSpritePal_JaggedMusicNote, ANIM_TAG_JAGGED_MUSIC_NOTE},
+ {gBattleAnimSpritePal_Pokeball, ANIM_TAG_POKEBALL},
+ {gBattleAnimSpritePal_Pokeball, ANIM_TAG_SPOTLIGHT},
+ {gBattleAnimSpritePal_LetterZ, ANIM_TAG_LETTER_Z},
+ {gBattleAnimSpritePal_RapidSpin, ANIM_TAG_RAPID_SPIN},
+ {gBattleAnimSpritePal_TriForceTriangle, ANIM_TAG_TRI_FORCE_TRIANGLE},
+ {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_ORB},
+ {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_FIRE},
+ {gBattleAnimSpritePal_GoldStars, ANIM_TAG_GOLD_STARS},
+ {gBattleAnimSpritePal_EclipsingOrb, ANIM_TAG_ECLIPSING_ORB},
+ {gBattleAnimSpritePal_GrayOrb, ANIM_TAG_GRAY_ORB},
+ {gBattleAnimSpritePal_BlueOrb, ANIM_TAG_BLUE_ORB},
+ {gBattleAnimSpritePal_RedOrb2, ANIM_TAG_RED_ORB_2},
+ {gBattleAnimSpritePal_PinkPetal, ANIM_TAG_PINK_PETAL},
+ {gBattleAnimSpritePal_PainSplit, ANIM_TAG_PAIN_SPLIT},
+ {gBattleAnimSpritePal_Confetti, ANIM_TAG_CONFETTI},
+ {gBattleAnimSpritePal_GreenStar, ANIM_TAG_GREEN_STAR},
+ {gBattleAnimSpritePal_PinkCloud, ANIM_TAG_PINK_CLOUD},
+ {gBattleAnimSpritePal_SweatDrop, ANIM_TAG_SWEAT_DROP},
+ {gBattleAnimSpritePal_GuardRing, ANIM_TAG_GUARD_RING},
+ {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SCRATCH},
+ {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SWIPE},
+ {gBattleAnimSpritePal_Finger, ANIM_TAG_TAG_HAND},
+ {gBattleAnimSpritePal_SmallRedEye, ANIM_TAG_SMALL_RED_EYE},
+ {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_HOLLOW_ORB},
+ {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_X_SIGN},
+ {gBattleAnimSpritePal_BluegreenOrb, ANIM_TAG_BLUEGREEN_ORB},
+ {gBattleAnimSpritePal_PawPrint, ANIM_TAG_PAW_PRINT},
+ {gBattleAnimSpritePal_PurpleFlame, ANIM_TAG_PURPLE_FLAME},
+ {gBattleAnimSpritePal_RedBall, ANIM_TAG_RED_BALL},
+ {gBattleAnimSpritePal_SmellingsaltEffect, ANIM_TAG_SMELLINGSALT_EFFECT},
+ {gBattleAnimSpritePal_Meteor, ANIM_TAG_METEOR},
+ {gBattleAnimSpritePal_FlatRock, ANIM_TAG_FLAT_ROCK},
+ {gBattleAnimSpritePal_MagnifyingGlass, ANIM_TAG_MAGNIFYING_GLASS},
+ {gBattleAnimSpritePal_BrownOrb, ANIM_TAG_BROWN_ORB},
+ {gBattleAnimSpritePal_MetalSoundWaves, ANIM_TAG_METAL_SOUND_WAVES},
+ {gBattleAnimSpritePal_FlyingDirt, ANIM_TAG_FLYING_DIRT},
+ {gBattleAnimSpritePal_IcicleSpear, ANIM_TAG_ICICLE_SPEAR},
+ {gBattleAnimSpritePal_Hail, ANIM_TAG_HAIL},
+ {gBattleAnimSpritePal_GlowyRedOrb, ANIM_TAG_GLOWY_RED_ORB},
+ {gBattleAnimSpritePal_GlowyGreenOrb, ANIM_TAG_GLOWY_GREEN_ORB},
+ {gBattleAnimSpritePal_GreenSpike, ANIM_TAG_GREEN_SPIKE},
+ {gBattleAnimSpritePal_WhiteCircleOfLight, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT},
+ {gBattleAnimSpritePal_GlowyBlueOrb, ANIM_TAG_GLOWY_BLUE_ORB},
+ {gBattleAnimSpritePal_RedBrick, ANIM_TAG_RED_BRICK},
+ {gBattleAnimSpritePal_WhiteFeather, ANIM_TAG_WHITE_FEATHER},
+ {gBattleAnimSpritePal_Sparkle6, ANIM_TAG_SPARKLE_6},
+ {gBattleAnimSpritePal_Splash, ANIM_TAG_SPLASH},
+ {gBattleAnimSpritePal_Splash, ANIM_TAG_SWEAT_BEAD},
+ {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_1},
+ {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_2},
+ {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_3},
+ {gBattleAnimSpritePal_SlamHit2, ANIM_TAG_SLAM_HIT_2},
+ {gBattleAnimSpritePal_Recycle, ANIM_TAG_RECYCLE},
+ {gBattleAnimSpritePal_RedParticles, ANIM_TAG_RED_PARTICLES},
+ {gBattleAnimSpritePal_Protect, ANIM_TAG_PROTECT},
+ {gBattleAnimSpritePal_DirtMound, ANIM_TAG_DIRT_MOUND},
+ {gBattleAnimSpritePal_Shock3, ANIM_TAG_SHOCK_3},
+ {gBattleAnimSpritePal_WeatherBall, ANIM_TAG_WEATHER_BALL},
+ {gBattleAnimSpritePal_Bird, ANIM_TAG_BIRD},
+ {gBattleAnimSpritePal_CrossImpact, ANIM_TAG_CROSS_IMPACT},
+ {gBattleAnimSpritePal_Slash2, ANIM_TAG_SLASH_2},
+ {gBattleAnimSpritePal_WhipHit, ANIM_TAG_WHIP_HIT},
+ {gBattleAnimSpritePal_BlueRing2, ANIM_TAG_BLUE_RING_2},
};
const struct BattleAnimBackground gBattleAnimBackgroundTable[] =
{
- {gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00},
- {gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00},
- {gBattleAnimBackgroundImage_02, gBattleAnimBackgroundPalette_02, gBattleAnimBackgroundTilemap_02},
- {gBattleAnimBackgroundImage_03, gBattleAnimBackgroundPalette_03, gBattleAnimBackgroundTilemap_03},
- {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_04},
- {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_05},
- {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_06},
- {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_07},
- {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_08},
- {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_09},
- {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_10},
- {gBattleAnimBackgroundImage_11, gBattleAnimBackgroundPalette_11, gBattleAnimBackgroundTilemap_11},
- {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_12},
- {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_13},
- {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_14},
- {gBattleAnimBackgroundImage_15, gBattleAnimBackgroundPalette_15, gBattleAnimBackgroundTilemap_15},
- {gBattleAnimBackgroundImage_16, gBattleAnimBackgroundPalette_16, gBattleAnimBackgroundTilemap_16},
- {gBattleAnimBackgroundImage_17, gBattleAnimBackgroundPalette_17, gBattleAnimBackgroundTilemap_17},
- {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_07},
- {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_08},
- {gBattleAnimBackgroundImage_20, gBattleAnimBackgroundPalette_20, gBattleAnimBackgroundTilemap_20},
- {gBattleAnimBackgroundImage_21, gBattleAnimBackgroundPalette_21, gBattleAnimBackgroundTilemap_21},
- {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_09},
- {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_10},
- {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_04},
- {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_05},
- {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_06},
+ [BG_DARK_] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark},
+ [BG_DARK] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark},
+ [BG_GHOST] = {gBattleAnimBgImage_Ghost, gBattleAnimBgPalette_Ghost, gBattleAnimBgTilemap_Ghost},
+ [BG_PSYCHIC] = {gBattleAnimBgImage_Psychic, gBattleAnimBgPalette_Psychic, gBattleAnimBgTilemap_Psychic},
+ [BG_IMPACT_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactOpponent},
+ [BG_IMPACT_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactPlayer},
+ [BG_IMPACT_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactContests},
+ [BG_DRILL] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_Drill},
+ [BG_DRILL_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_DrillContests},
+ [BG_HIGHSPEED_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedOpponent},
+ [BG_HIGHSPEED_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedPlayer},
+ [BG_THUNDER] = {gBattleAnimBgImage_Thunder, gBattleAnimBgPalette_Thunder, gBattleAnimBgTilemap_Thunder},
+ [BG_GUILLOTINE_OPPONENT] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineOpponent},
+ [BG_GUILLOTINE_PLAYER] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotinePlayer},
+ [BG_GUILLOTINE_CONTESTS] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineContests},
+ [BG_ICE] = {gBattleAnimBgImage_Ice, gBattleAnimBgPalette_Ice, gBattleAnimBgTilemap_Ice},
+ [BG_COSMIC] = {gBattleAnimBgImage_Cosmic, gBattleAnimBgPalette_Cosmic, gBattleAnimBgTilemap_Cosmic},
+ [BG_IN_AIR] = {gBattleAnimBgImage_InAir, gBattleAnimBgPalette_InAir, gBattleAnimBgTilemap_InAir},
+ [BG_SKY] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_Drill},
+ [BG_SKY_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_DrillContests},
+ [BG_AURORA] = {gBattleAnimBgImage_Aurora, gBattleAnimBgPalette_Aurora, gBattleAnimBgTilemap_Aurora},
+ [BG_FISSURE] = {gBattleAnimBgImage_Fissure, gBattleAnimBgPalette_Fissure, gBattleAnimBgTilemap_Fissure},
+ [BG_BUG_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedOpponent},
+ [BG_BUG_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedPlayer},
+ [BG_SOLARBEAM_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactOpponent},
+ [BG_SOLARBEAM_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactPlayer},
+ [BG_SOLARBEAM_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactContests},
};
static void (* const sScriptCmdTable[])(void) =
diff --git a/src/battle_anim_80A5C6C.c b/src/battle_anim_80A5C6C.c
deleted file mode 100644
index 372377a0c..000000000
--- a/src/battle_anim_80A5C6C.c
+++ /dev/null
@@ -1,2464 +0,0 @@
-#include "global.h"
-#include "battle.h"
-#include "battle_anim.h"
-#include "bg.h"
-#include "contest.h"
-#include "data2.h"
-#include "decompress.h"
-#include "dma3.h"
-#include "gpu_regs.h"
-#include "alloc.h"
-#include "palette.h"
-#include "pokemon_icon.h"
-#include "sprite.h"
-#include "task.h"
-#include "trig.h"
-#include "util.h"
-#include "constants/battle_anim.h"
-#include "constants/species.h"
-
-#define GET_UNOWN_LETTER(personality) (( \
- (((personality & 0x03000000) >> 24) << 6) \
- | (((personality & 0x00030000) >> 16) << 4) \
- | (((personality & 0x00000300) >> 8) << 2) \
- | (((personality & 0x00000003) >> 0) << 0) \
-) % 28)
-
-#define IS_DOUBLE_BATTLE() ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
-
-extern const struct OamData gUnknown_0852497C;
-extern const struct MonCoords gMonFrontPicCoords[];
-extern const struct MonCoords gMonBackPicCoords[];
-extern const u8 gEnemyMonElevation[];
-extern const struct CompressedSpriteSheet gMonFrontPicTable[];
-extern const union AffineAnimCmd *gUnknown_082FF6C0[];
-
-static void sub_80A6FB4(struct Sprite *sprite);
-static void sub_80A7144(struct Sprite *sprite);
-static void sub_80A791C(struct Sprite *sprite);
-static void sub_80A8DFC(struct Sprite *sprite);
-static void sub_80A8E88(struct Sprite *sprite);
-static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId);
-static void AnimTask_BlendMonInAndOutSetup(struct Task *task);
-static void sub_80A7AFC(u8 taskId);
-static void sub_80A8CAC(u8 taskId);
-static void AnimTask_BlendMonInAndOutStep(u8 taskId);
-static bool8 sub_80A7238(void);
-static void sub_80A8D78(struct Task *task, u8 taskId);
-
-// EWRAM vars
-EWRAM_DATA static union AffineAnimCmd *gAnimTaskAffineAnim = NULL;
-
-// Const rom data
-static const struct UCoords8 sBattlerCoords[][4] =
-{
- {
- { 72, 80 },
- { 176, 40 },
- { 48, 40 },
- { 112, 80 },
- },
- {
- { 32, 80 },
- { 200, 40 },
- { 90, 88 },
- { 152, 32 },
- },
-};
-
-// One entry for each of the four Castform forms.
-const struct MonCoords gCastformFrontSpriteCoords[] =
-{
- { .size = 0x44, .y_offset = 17 }, // NORMAL
- { .size = 0x66, .y_offset = 9 }, // SUN
- { .size = 0x46, .y_offset = 9 }, // RAIN
- { .size = 0x86, .y_offset = 8 }, // HAIL
-};
-
-static const u8 sCastformElevations[] =
-{
- 13, // NORMAL
- 14, // SUN
- 13, // RAIN
- 13, // HAIL
-};
-
-// Y position of the backsprite for each of the four Castform forms.
-static const u8 sCastformBackSpriteYCoords[] =
-{
- 0, // NORMAL
- 0, // SUN
- 0, // RAIN
- 0, // HAIL
-};
-
-static const struct SpriteTemplate sUnknown_08525F90[] =
-{
- {
- .tileTag = 55125,
- .paletteTag = 55125,
- .oam = &gUnknown_0852497C,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- },
- {
- .tileTag = 55126,
- .paletteTag = 55126,
- .oam = &gUnknown_0852497C,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- }
-};
-
-static const struct SpriteSheet sUnknown_08525FC0[] =
-{
- { gMiscBlank_Gfx, 0x800, 55125, },
- { gMiscBlank_Gfx, 0x800, 55126, },
-};
-
-u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType)
-{
- u8 retVal;
- u16 species;
- struct BattleSpriteInfo *spriteInfo;
-
- if (IsContest())
- {
- if (coordType == BATTLER_COORD_Y_PIC_OFFSET && battlerId == 3)
- coordType = BATTLER_COORD_Y;
- }
-
- switch (coordType)
- {
- case BATTLER_COORD_X:
- case BATTLER_COORD_X_2:
- retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].x;
- break;
- case BATTLER_COORD_Y:
- retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y;
- break;
- case BATTLER_COORD_Y_PIC_OFFSET:
- case BATTLER_COORD_Y_PIC_OFFSET_DEFAULT:
- default:
- if (IsContest())
- {
- if (gContestResources->field_18->unk4_0)
- species = gContestResources->field_18->unk2;
- else
- species = gContestResources->field_18->species;
- }
- else
- {
- if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
- {
- spriteInfo = gBattleSpritesDataPtr->battlerData;
- if (!spriteInfo[battlerId].transformSpecies)
- species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
- else
- species = spriteInfo[battlerId].transformSpecies;
- }
- else
- {
- spriteInfo = gBattleSpritesDataPtr->battlerData;
- if (!spriteInfo[battlerId].transformSpecies)
- species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
- else
- species = spriteInfo[battlerId].transformSpecies;
- }
- }
- if (coordType == BATTLER_COORD_Y_PIC_OFFSET)
- retVal = GetBattlerSpriteFinal_Y(battlerId, species, TRUE);
- else
- retVal = GetBattlerSpriteFinal_Y(battlerId, species, FALSE);
- break;
- }
-
- return retVal;
-}
-
-u8 GetBattlerYDelta(u8 battlerId, u16 species)
-{
- u16 letter;
- u32 personality;
- struct BattleSpriteInfo *spriteInfo;
- u8 ret;
- u16 coordSpecies;
-
- if (GetBattlerSide(battlerId) == B_SIDE_PLAYER || IsContest())
- {
- if (species == SPECIES_UNOWN)
- {
- if (IsContest())
- {
- if (gContestResources->field_18->unk4_0)
- personality = gContestResources->field_18->unk10;
- else
- personality = gContestResources->field_18->unk8;
- }
- else
- {
- spriteInfo = gBattleSpritesDataPtr->battlerData;
- if (!spriteInfo[battlerId].transformSpecies)
- personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY);
- else
- personality = gTransformedPersonalities[battlerId];
- }
- letter = GET_UNOWN_LETTER(personality);
- if (!letter)
- coordSpecies = species;
- else
- coordSpecies = letter + SPECIES_UNOWN_B - 1;
- ret = gMonBackPicCoords[coordSpecies].y_offset;
- }
- else if (species == SPECIES_CASTFORM)
- {
- ret = sCastformBackSpriteYCoords[gBattleMonForms[battlerId]];
- }
- else if (species > NUM_SPECIES)
- {
- ret = gMonBackPicCoords[0].y_offset;
- }
- else
- {
- ret = gMonBackPicCoords[species].y_offset;
- }
- }
- else
- {
- if (species == SPECIES_UNOWN)
- {
- spriteInfo = gBattleSpritesDataPtr->battlerData;
- if (!spriteInfo[battlerId].transformSpecies)
- personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY);
- else
- personality = gTransformedPersonalities[battlerId];
- letter = GET_UNOWN_LETTER(personality);
- if (!letter)
- coordSpecies = species;
- else
- coordSpecies = letter + SPECIES_UNOWN_B - 1;
- ret = gMonFrontPicCoords[coordSpecies].y_offset;
- }
- else if (species == SPECIES_CASTFORM)
- {
- ret = gCastformFrontSpriteCoords[gBattleMonForms[battlerId]].y_offset;
- }
- else if (species > NUM_SPECIES)
- {
- ret = gMonFrontPicCoords[0].y_offset;
- }
- else
- {
- ret = gMonFrontPicCoords[species].y_offset;
- }
- }
- return ret;
-}
-
-u8 GetBattlerElevation(u8 battlerId, u16 species)
-{
- u8 ret = 0;
- if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT)
- {
- if (!IsContest())
- {
- if (species == SPECIES_CASTFORM)
- ret = sCastformElevations[gBattleMonForms[battlerId]];
- else if (species > NUM_SPECIES)
- ret = gEnemyMonElevation[0];
- else
- ret = gEnemyMonElevation[species];
- }
- }
- return ret;
-}
-
-u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3)
-{
- u16 offset;
- u8 y;
-
- if (GetBattlerSide(battlerId) == B_SIDE_PLAYER || IsContest())
- {
- offset = GetBattlerYDelta(battlerId, species);
- }
- else
- {
- offset = GetBattlerYDelta(battlerId, species);
- offset -= GetBattlerElevation(battlerId, species);
- }
- y = offset + sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y;
- if (a3)
- {
- if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
- y += 8;
- if (y > 104)
- y = 104;
- }
- return y;
-}
-
-u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType)
-{
- u16 species;
- struct BattleSpriteInfo *spriteInfo;
-
- if (coordType == BATTLER_COORD_Y_PIC_OFFSET || coordType == BATTLER_COORD_Y_PIC_OFFSET_DEFAULT)
- {
- if (IsContest())
- {
- if (gContestResources->field_18->unk4_0)
- species = gContestResources->field_18->unk2;
- else
- species = gContestResources->field_18->species;
- }
- else
- {
- spriteInfo = gBattleSpritesDataPtr->battlerData;
- if (!spriteInfo[battlerId].transformSpecies)
- species = gAnimBattlerSpecies[battlerId];
- else
- species = spriteInfo[battlerId].transformSpecies;
- }
- if (coordType == BATTLER_COORD_Y_PIC_OFFSET)
- return GetBattlerSpriteFinal_Y(battlerId, species, TRUE);
- else
- return GetBattlerSpriteFinal_Y(battlerId, species, FALSE);
- }
- else
- {
- return GetBattlerSpriteCoord(battlerId, coordType);
- }
-}
-
-u8 GetBattlerSpriteDefault_Y(u8 battlerId)
-{
- return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET_DEFAULT);
-}
-
-u8 GetSubstituteSpriteDefault_Y(u8 battlerId)
-{
- u16 y;
- if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
- y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 16;
- else
- y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 17;
- return y;
-}
-
-u8 GetBattlerYCoordWithElevation(u8 battlerId)
-{
- u16 species;
- u8 y;
- struct BattleSpriteInfo *spriteInfo;
-
- y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y);
- if (!IsContest())
- {
- if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
- {
- spriteInfo = gBattleSpritesDataPtr->battlerData;
- if (!spriteInfo[battlerId].transformSpecies)
- species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
- else
- species = spriteInfo[battlerId].transformSpecies;
- }
- else
- {
- spriteInfo = gBattleSpritesDataPtr->battlerData;
- if (!spriteInfo[battlerId].transformSpecies)
- species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
- else
- species = spriteInfo[battlerId].transformSpecies;
- }
- if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
- y -= GetBattlerElevation(battlerId, species);
- }
- return y;
-}
-
-u8 GetAnimBattlerSpriteId(u8 animBattler)
-{
- u8 *sprites;
-
- if (animBattler == ANIM_ATTACKER)
- {
- if (IsBattlerSpritePresent(gBattleAnimAttacker))
- {
- sprites = gBattlerSpriteIds;
- return sprites[gBattleAnimAttacker];
- }
- else
- {
- return 0xff;
- }
- }
- else if (animBattler == ANIM_TARGET)
- {
- if (IsBattlerSpritePresent(gBattleAnimTarget))
- {
- sprites = gBattlerSpriteIds;
- return sprites[gBattleAnimTarget];
- }
- else
- {
- return 0xff;
- }
- }
- else if (animBattler == ANIM_ATK_PARTNER)
- {
- if (!IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
- return 0xff;
- else
- return gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)];
- }
- else
- {
- if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget)))
- return gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimTarget)];
- else
- return 0xff;
- }
-}
-
-void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*callback)(struct Sprite*))
-{
- sprite->data[6] = (u32)(callback) & 0xffff;
- sprite->data[7] = (u32)(callback) >> 16;
-}
-
-void SetCallbackToStoredInData6(struct Sprite *sprite)
-{
- u32 callback = (u16)sprite->data[6] | (sprite->data[7] << 16);
- sprite->callback = (void (*)(struct Sprite *))callback;
-}
-
-void TranslateSpriteInCircleOverDuration(struct Sprite *sprite)
-{
- if (sprite->data[3])
- {
- sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
- sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]);
- sprite->data[0] += sprite->data[2];
- if (sprite->data[0] >= 0x100)
- sprite->data[0] -= 0x100;
- else if (sprite->data[0] < 0)
- sprite->data[0] += 0x100;
- sprite->data[3]--;
- }
- else
- {
- SetCallbackToStoredInData6(sprite);
- }
-}
-
-void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite)
-{
- if (sprite->data[3])
- {
- sprite->pos2.x = Sin(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
- sprite->pos2.y = Cos(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
- sprite->data[0] += sprite->data[2];
- sprite->data[5] += sprite->data[4];
- if (sprite->data[0] >= 0x100)
- sprite->data[0] -= 0x100;
- else if (sprite->data[0] < 0)
- sprite->data[0] += 0x100;
- sprite->data[3]--;
- }
- else
- {
- SetCallbackToStoredInData6(sprite);
- }
-}
-
-void sub_80A63C8(struct Sprite *sprite)
-{
- if (sprite->data[3])
- {
- sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
- sprite->pos2.y = Cos(sprite->data[4], sprite->data[1]);
- sprite->data[0] += sprite->data[2];
- sprite->data[4] += sprite->data[5];
- if (sprite->data[0] >= 0x100)
- sprite->data[0] -= 0x100;
- else if (sprite->data[0] < 0)
- sprite->data[0] += 0x100;
- if (sprite->data[4] >= 0x100)
- sprite->data[4] -= 0x100;
- else if (sprite->data[4] < 0)
- sprite->data[4] += 0x100;
- sprite->data[3]--;
- }
- else
- {
- SetCallbackToStoredInData6(sprite);
- }
-}
-
-void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite)
-{
- if (sprite->data[3])
- {
- sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
- sprite->pos2.y = Cos(sprite->data[0], sprite->data[4]);
- sprite->data[0] += sprite->data[2];
- if (sprite->data[0] >= 0x100)
- sprite->data[0] -= 0x100;
- else if (sprite->data[0] < 0)
- sprite->data[0] += 0x100;
- sprite->data[3]--;
- }
- else
- {
- SetCallbackToStoredInData6(sprite);
- }
-}
-
-// Simply waits until the sprite's data[0] hits zero.
-// This is used to let sprite anims or affine anims to run for a designated
-// duration.
-void WaitAnimForDuration(struct Sprite *sprite)
-{
- if (sprite->data[0] > 0)
- sprite->data[0]--;
- else
- SetCallbackToStoredInData6(sprite);
-}
-
-static void sub_80A64D0(struct Sprite *sprite)
-{
- sub_80A64EC(sprite);
- sprite->callback = TranslateSpriteLinear;
- sprite->callback(sprite);
-}
-
-void sub_80A64EC(struct Sprite *sprite)
-{
- s16 old;
- int xDiff;
-
- if (sprite->data[1] > sprite->data[2])
- sprite->data[0] = -sprite->data[0];
- xDiff = sprite->data[2] - sprite->data[1];
- old = sprite->data[0];
- sprite->data[0] = abs(xDiff / sprite->data[0]);
- sprite->data[2] = (sprite->data[4] - sprite->data[3]) / sprite->data[0];
- sprite->data[1] = old;
-}
-
-void TranslateSpriteLinear(struct Sprite *sprite)
-{
- if (sprite->data[0] > 0)
- {
- sprite->data[0]--;
- sprite->pos2.x += sprite->data[1];
- sprite->pos2.y += sprite->data[2];
- }
- else
- {
- SetCallbackToStoredInData6(sprite);
- }
-}
-
-void TranslateSpriteLinearFixedPoint(struct Sprite *sprite)
-{
- if (sprite->data[0] > 0)
- {
- sprite->data[0]--;
- sprite->data[3] += sprite->data[1];
- sprite->data[4] += sprite->data[2];
- sprite->pos2.x = sprite->data[3] >> 8;
- sprite->pos2.y = sprite->data[4] >> 8;
- }
- else
- {
- SetCallbackToStoredInData6(sprite);
- }
-}
-
-static void TranslateSpriteLinearFixedPointIconFrame(struct Sprite *sprite)
-{
- if (sprite->data[0] > 0)
- {
- sprite->data[0]--;
- sprite->data[3] += sprite->data[1];
- sprite->data[4] += sprite->data[2];
- sprite->pos2.x = sprite->data[3] >> 8;
- sprite->pos2.y = sprite->data[4] >> 8;
- }
- else
- {
- SetCallbackToStoredInData6(sprite);
- }
-
- UpdateMonIconFrame(sprite);
-}
-
-void sub_80A65EC(struct Sprite *sprite)
-{
- sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
- sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
- sprite->callback = sub_80A64D0;
-}
-
-void TranslateMonSpriteLinear(struct Sprite *sprite)
-{
- if (sprite->data[0] > 0)
- {
- sprite->data[0]--;
- gSprites[sprite->data[3]].pos2.x += sprite->data[1];
- gSprites[sprite->data[3]].pos2.y += sprite->data[2];
- }
- else
- {
- SetCallbackToStoredInData6(sprite);
- }
-}
-
-void TranslateMonSpriteLinearFixedPoint(struct Sprite *sprite)
-{
- if (sprite->data[0] > 0)
- {
- sprite->data[0]--;
- sprite->data[3] += sprite->data[1];
- sprite->data[4] += sprite->data[2];
- gSprites[sprite->data[5]].pos2.x = sprite->data[3] >> 8;
- gSprites[sprite->data[5]].pos2.y = sprite->data[4] >> 8;
- }
- else
- {
- SetCallbackToStoredInData6(sprite);
- }
-}
-
-void TranslateSpriteLinearAndFlicker(struct Sprite *sprite)
-{
- if (sprite->data[0] > 0)
- {
- sprite->data[0]--;
- sprite->pos2.x = sprite->data[2] >> 8;
- sprite->data[2] += sprite->data[1];
- sprite->pos2.y = sprite->data[4] >> 8;
- sprite->data[4] += sprite->data[3];
- if (sprite->data[0] % sprite->data[5] == 0)
- {
- if (sprite->data[5])
- sprite->invisible ^= 1;
- }
- }
- else
- {
- SetCallbackToStoredInData6(sprite);
- }
-}
-
-void DestroySpriteAndMatrix(struct Sprite *sprite)
-{
- FreeSpriteOamMatrix(sprite);
- DestroyAnimSprite(sprite);
-}
-
-void sub_80A6760(struct Sprite *sprite)
-{
- sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
- sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
- sprite->callback = sub_80A64D0;
-}
-
-void sub_80A67A4(struct Sprite *sprite)
-{
- ResetPaletteStructByUid(sprite->data[5]);
- DestroySpriteAndMatrix(sprite);
-}
-
-void RunStoredCallbackWhenAffineAnimEnds(struct Sprite *sprite)
-{
- if (sprite->affineAnimEnded)
- SetCallbackToStoredInData6(sprite);
-}
-
-void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite)
-{
- if (sprite->animEnded)
- SetCallbackToStoredInData6(sprite);
-}
-
-void DestroyAnimSpriteAndDisableBlend(struct Sprite *sprite)
-{
- SetGpuReg(REG_OFFSET_BLDCNT, 0);
- SetGpuReg(REG_OFFSET_BLDALPHA, 0);
- DestroyAnimSprite(sprite);
-}
-
-void DestroyAnimVisualTaskAndDisableBlend(u8 taskId)
-{
- SetGpuReg(REG_OFFSET_BLDCNT, 0);
- SetGpuReg(REG_OFFSET_BLDALPHA, 0);
- DestroyAnimVisualTask(taskId);
-}
-
-void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite)
-{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
-}
-
-// Sets the initial x offset of the anim sprite depending on the horizontal orientation
-// of the two involved mons.
-void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 xOffset)
-{
- u16 attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
- u16 targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
-
- if (attackerX > targetX)
- {
- sprite->pos1.x -= xOffset;
- }
- else if (attackerX < targetX)
- {
- sprite->pos1.x += xOffset;
- }
- else
- {
- if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
- sprite->pos1.x -= xOffset;
- else
- sprite->pos1.x += xOffset;
- }
-}
-
-void InitAnimArcTranslation(struct Sprite *sprite)
-{
- sprite->data[1] = sprite->pos1.x;
- sprite->data[3] = sprite->pos1.y;
- InitAnimLinearTranslation(sprite);
- sprite->data[6] = 0x8000 / sprite->data[0];
- sprite->data[7] = 0;
-}
-
-bool8 TranslateAnimHorizontalArc(struct Sprite *sprite)
-{
- if (AnimTranslateLinear(sprite))
- return TRUE;
- sprite->data[7] += sprite->data[6];
- sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
- return FALSE;
-}
-
-bool8 TranslateAnimVerticalArc(struct Sprite *sprite)
-{
- if (AnimTranslateLinear(sprite))
- return TRUE;
- sprite->data[7] += sprite->data[6];
- sprite->pos2.x += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
- return FALSE;
-}
-
-void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite)
-{
- sprite->pos1.x += sprite->pos2.x;
- sprite->pos1.y += sprite->pos2.y;
- sprite->pos2.x = 0;
- sprite->pos2.y = 0;
-}
-
-void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets)
-{
- // Battle anim sprites are automatically created at the anim target's center, which
- // is why there is no else clause for the "respectMonPicOffsets" check.
- if (!respectMonPicOffsets)
- {
- sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X);
- sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y);
- }
- SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
- sprite->pos1.y += gBattleAnimArgs[1];
-}
-
-void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets)
-{
- if (!respectMonPicOffsets)
- {
- sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X);
- sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y);
- }
- else
- {
- sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X_2);
- sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
- }
- SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
- sprite->pos1.y += gBattleAnimArgs[1];
-}
-
-u8 GetBattlerSide(u8 battlerId)
-{
- return GET_BATTLER_SIDE2(battlerId);
-}
-
-u8 GetBattlerPosition(u8 battlerId)
-{
- return GET_BATTLER_POSITION(battlerId);
-}
-
-u8 GetBattlerAtPosition(u8 position)
-{
- u8 i;
-
- for (i = 0; i < gBattlersCount; i++)
- {
- if (gBattlerPositions[i] == position)
- break;
- }
- return i;
-}
-
-bool8 IsBattlerSpritePresent(u8 battlerId)
-{
- if (IsContest())
- {
- if (gBattleAnimAttacker == battlerId)
- return TRUE;
- else if (gBattleAnimTarget == battlerId)
- return TRUE;
- else
- return FALSE;
- }
- else
- {
- if (gBattlerPositions[battlerId] == 0xff)
- {
- return FALSE;
- }
- else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
- {
- if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0)
- return TRUE;
- }
- else
- {
- if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0)
- return TRUE;
- }
- }
- return FALSE;
-}
-
-bool8 IsDoubleBattle(void)
-{
- return IS_DOUBLE_BATTLE();
-}
-
-void sub_80A6B30(struct BattleAnimBgData *unk)
-{
- if (IsContest())
- {
- unk->bgTiles = gUnknown_0202305C;
- unk->bgTilemap = (u16 *)gUnknown_02023060;
- unk->paletteId = 14;
- unk->bgId = 1;
- unk->tilesOffset = 0;
- unk->unused = 0;
- }
- else
- {
- unk->bgTiles = gUnknown_0202305C;
- unk->bgTilemap = (u16 *)gUnknown_02023060;
- unk->paletteId = 8;
- unk->bgId = 1;
- unk->tilesOffset = 0x200;
- unk->unused = 0;
- }
-}
-
-void sub_80A6B90(struct BattleAnimBgData *unk, u32 arg1)
-{
- if (IsContest())
- {
- unk->bgTiles = gUnknown_0202305C;
- unk->bgTilemap = (u16 *)gUnknown_02023060;
- unk->paletteId = 14;
- unk->bgId = 1;
- unk->tilesOffset = 0;
- unk->unused = 0;
- }
- else if (arg1 == 1)
- {
- sub_80A6B30(unk);
- }
- else
- {
- unk->bgTiles = gUnknown_0202305C;
- unk->bgTilemap = (u16 *)gUnknown_02023060;
- unk->paletteId = 9;
- unk->bgId = 2;
- unk->tilesOffset = 0x300;
- unk->unused = 0;
- }
-}
-
-void sub_80A6BFC(struct BattleAnimBgData *unk, u8 unused)
-{
- unk->bgTiles = gUnknown_0202305C;
- unk->bgTilemap = (u16 *)gUnknown_02023060;
- if (IsContest())
- {
- unk->paletteId = 14;
- unk->bgId = 1;
- unk->tilesOffset = 0;
- unk->unused = 0;
- }
- else if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
- {
- unk->paletteId = 8;
- unk->bgId = 1;
- unk->tilesOffset = 0x200;
- unk->unused = 0;
- }
- else
- {
- unk->paletteId = 9;
- unk->bgId = 2;
- unk->tilesOffset = 0x300;
- unk->unused = 0;
- }
-}
-
-void sub_80A6C68(u32 bgId)
-{
- struct BattleAnimBgData unkStruct;
-
- sub_80A6B90(&unkStruct, bgId);
- CpuFill32(0, unkStruct.bgTiles, 0x2000);
- LoadBgTiles(unkStruct.bgId, unkStruct.bgTiles, 0x2000, unkStruct.tilesOffset);
- FillBgTilemapBufferRect(unkStruct.bgId, 0, 0, 0, 32, 64, 17);
- CopyBgTilemapBufferToVram(unkStruct.bgId);
-}
-
-void AnimLoadCompressedBgGfx(u32 bgId, const u32 *src, u32 tilesOffset)
-{
- CpuFill32(0, gUnknown_0202305C, 0x2000);
- LZDecompressWram(src, gUnknown_0202305C);
- LoadBgTiles(bgId, gUnknown_0202305C, 0x2000, tilesOffset);
-}
-
-static void InitAnimBgTilemapBuffer(u32 bgId, const void *src)
-{
- FillBgTilemapBufferRect(bgId, 0, 0, 0, 32, 64, 17);
- CopyToBgTilemapBuffer(bgId, src, 0, 0);
-}
-
-void AnimLoadCompressedBgTilemap(u32 bgId, const void *src)
-{
- InitAnimBgTilemapBuffer(bgId, src);
- CopyBgTilemapBufferToVram(bgId);
-}
-
-void sub_80A6D60(struct BattleAnimBgData *unk, const void *src, u32 arg2)
-{
- InitAnimBgTilemapBuffer(unk->bgId, src);
- if (IsContest() == TRUE)
- sub_80A4720(unk->paletteId, unk->bgTilemap, 0, arg2);
- CopyBgTilemapBufferToVram(unk->bgId);
-}
-
-u8 sub_80A6D94(void)
-{
- if (IsContest())
- return 1;
- else
- return 2;
-}
-
-void sub_80A6DAC(bool8 arg0)
-{
- if (!arg0 || IsContest())
- {
- SetAnimBgAttribute(3, BG_ANIM_SCREEN_SIZE, 0);
- SetAnimBgAttribute(3, BG_ANIM_AREA_OVERFLOW_MODE, 1);
- }
- else
- {
- SetAnimBgAttribute(3, BG_ANIM_SCREEN_SIZE, 1);
- SetAnimBgAttribute(3, BG_ANIM_AREA_OVERFLOW_MODE, 0);
- }
-}
-
-void sub_80A6DEC(struct Sprite *sprite)
-{
- sprite->data[1] = sprite->pos1.x;
- sprite->data[3] = sprite->pos1.y;
- InitSpriteDataForLinearTranslation(sprite);
- sprite->callback = TranslateSpriteLinearFixedPointIconFrame;
- sprite->callback(sprite);
-}
-
-void InitSpriteDataForLinearTranslation(struct Sprite *sprite)
-{
- s16 x = (sprite->data[2] - sprite->data[1]) << 8;
- s16 y = (sprite->data[4] - sprite->data[3]) << 8;
- sprite->data[1] = x / sprite->data[0];
- sprite->data[2] = y / sprite->data[0];
- sprite->data[4] = 0;
- sprite->data[3] = 0;
-}
-
-void InitAnimLinearTranslation(struct Sprite *sprite)
-{
- int x = sprite->data[2] - sprite->data[1];
- int y = sprite->data[4] - sprite->data[3];
- bool8 movingLeft = x < 0;
- bool8 movingUp = y < 0;
- u16 xDelta = abs(x) << 8;
- u16 yDelta = abs(y) << 8;
-
- xDelta = xDelta / sprite->data[0];
- yDelta = yDelta / sprite->data[0];
-
- if (movingLeft)
- xDelta |= 1;
- else
- xDelta &= ~1;
-
- if (movingUp)
- yDelta |= 1;
- else
- yDelta &= ~1;
-
- sprite->data[1] = xDelta;
- sprite->data[2] = yDelta;
- sprite->data[4] = 0;
- sprite->data[3] = 0;
-}
-
-void StartAnimLinearTranslation(struct Sprite *sprite)
-{
- sprite->data[1] = sprite->pos1.x;
- sprite->data[3] = sprite->pos1.y;
- InitAnimLinearTranslation(sprite);
- sprite->callback = sub_80A6F98;
- sprite->callback(sprite);
-}
-
-void sub_80A6F14(struct Sprite *sprite)
-{
- sprite->data[1] = sprite->pos1.x;
- sprite->data[3] = sprite->pos1.y;
- InitAnimLinearTranslation(sprite);
- sprite->callback = sub_80A6FB4;
- sprite->callback(sprite);
-}
-
-bool8 AnimTranslateLinear(struct Sprite *sprite)
-{
- u16 v1, v2, x, y;
-
- if (!sprite->data[0])
- return TRUE;
-
- v1 = sprite->data[1];
- v2 = sprite->data[2];
- x = sprite->data[3];
- y = sprite->data[4];
- x += v1;
- y += v2;
-
- if (v1 & 1)
- sprite->pos2.x = -(x >> 8);
- else
- sprite->pos2.x = x >> 8;
-
- if (v2 & 1)
- sprite->pos2.y = -(y >> 8);
- else
- sprite->pos2.y = y >> 8;
-
- sprite->data[3] = x;
- sprite->data[4] = y;
- sprite->data[0]--;
- return FALSE;
-}
-
-void sub_80A6F98(struct Sprite *sprite)
-{
- if (AnimTranslateLinear(sprite))
- SetCallbackToStoredInData6(sprite);
-}
-
-static void sub_80A6FB4(struct Sprite *sprite)
-{
- sub_8039E9C(sprite);
- if (AnimTranslateLinear(sprite))
- SetCallbackToStoredInData6(sprite);
-}
-
-void sub_80A6FD4(struct Sprite *sprite)
-{
- int v1 = abs(sprite->data[2] - sprite->data[1]) << 8;
- sprite->data[0] = v1 / sprite->data[0];
- InitAnimLinearTranslation(sprite);
-}
-
-void sub_80A7000(struct Sprite *sprite)
-{
- sprite->data[1] = sprite->pos1.x;
- sprite->data[3] = sprite->pos1.y;
- sub_80A6FD4(sprite);
- sprite->callback = sub_80A6F98;
- sprite->callback(sprite);
-}
-
-static void InitAnimFastLinearTranslation(struct Sprite *sprite)
-{
- int xDiff = sprite->data[2] - sprite->data[1];
- int yDiff = sprite->data[4] - sprite->data[3];
- bool8 x_sign = xDiff < 0;
- bool8 y_sign = yDiff < 0;
- u16 x2 = abs(xDiff) << 4;
- u16 y2 = abs(yDiff) << 4;
-
- x2 /= sprite->data[0];
- y2 /= sprite->data[0];
-
- if (x_sign)
- x2 |= 1;
- else
- x2 &= ~1;
-
- if (y_sign)
- y2 |= 1;
- else
- y2 &= ~1;
-
- sprite->data[1] = x2;
- sprite->data[2] = y2;
- sprite->data[4] = 0;
- sprite->data[3] = 0;
-}
-
-void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite)
-{
- sprite->data[1] = sprite->pos1.x;
- sprite->data[3] = sprite->pos1.y;
- InitAnimFastLinearTranslation(sprite);
- sprite->callback = sub_80A7144;
- sprite->callback(sprite);
-}
-
-bool8 AnimFastTranslateLinear(struct Sprite *sprite)
-{
- u16 v1, v2, x, y;
-
- if (!sprite->data[0])
- return TRUE;
-
- v1 = sprite->data[1];
- v2 = sprite->data[2];
- x = sprite->data[3];
- y = sprite->data[4];
- x += v1;
- y += v2;
-
- if (v1 & 1)
- sprite->pos2.x = -(x >> 4);
- else
- sprite->pos2.x = x >> 4;
-
- if (v2 & 1)
- sprite->pos2.y = -(y >> 4);
- else
- sprite->pos2.y = y >> 4;
-
- sprite->data[3] = x;
- sprite->data[4] = y;
- sprite->data[0]--;
- return FALSE;
-}
-
-static void sub_80A7144(struct Sprite *sprite)
-{
- if (AnimFastTranslateLinear(sprite))
- SetCallbackToStoredInData6(sprite);
-}
-
-void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite)
-{
- int xDiff = abs(sprite->data[2] - sprite->data[1]) << 4;
- sprite->data[0] = xDiff / sprite->data[0];
- InitAnimFastLinearTranslation(sprite);
-}
-
-void sub_80A718C(struct Sprite *sprite)
-{
- sprite->data[1] = sprite->pos1.x;
- sprite->data[3] = sprite->pos1.y;
- InitAnimFastLinearTranslationWithSpeed(sprite);
- sprite->callback = sub_80A7144;
- sprite->callback(sprite);
-}
-
-void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation)
-{
- int i;
- struct ObjAffineSrcData src;
- struct OamMatrix matrix;
-
- src.xScale = xScale;
- src.yScale = yScale;
- src.rotation = rotation;
- if (sub_80A7238())
- src.xScale = -src.xScale;
- i = gSprites[spriteId].oam.matrixNum;
- ObjAffineSet(&src, &matrix, 1, 2);
- gOamMatrices[i].a = matrix.a;
- gOamMatrices[i].b = matrix.b;
- gOamMatrices[i].c = matrix.c;
- gOamMatrices[i].d = matrix.d;
-}
-
-static bool8 sub_80A7238(void)
-{
- if (IsContest())
- {
- if (gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].data[2] == SPECIES_UNOWN)
- return FALSE;
- else
- return TRUE;
- }
- else
- {
- return FALSE;
- }
-}
-
-void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode)
-{
- u8 battlerId = gSprites[spriteId].data[0];
-
- if (IsContest() || IsBattlerSpriteVisible(battlerId))
- gSprites[spriteId].invisible = FALSE;
- gSprites[spriteId].oam.objMode = objMode;
- gSprites[spriteId].affineAnimPaused = TRUE;
- if (!IsContest() && !gSprites[spriteId].oam.affineMode)
- gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battlerId].matrixNum;
- gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE;
- CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode);
-}
-
-void ResetSpriteRotScale(u8 spriteId)
-{
- SetSpriteRotScale(spriteId, 0x100, 0x100, 0);
- gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
- gSprites[spriteId].oam.objMode = 0;
- gSprites[spriteId].affineAnimPaused = FALSE;
- CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode);
-}
-
-// Sets the sprite's y offset equal to the y displacement caused by the
-// matrix's rotation.
-void SetBattlerSpriteYOffsetFromRotation(u8 spriteId)
-{
- u16 matrixNum = gSprites[spriteId].oam.matrixNum;
- // The "c" component of the battler sprite matrix contains the sine of the rotation angle divided by some scale amount.
- s16 c = gOamMatrices[matrixNum].c;
- if (c < 0)
- c = -c;
-
- gSprites[spriteId].pos2.y = c >> 3;
-}
-
-void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 xScale, s16 yScale, u16 rotation)
-{
- int i;
- struct ObjAffineSrcData src;
- struct OamMatrix matrix;
-
- if (sprite->oam.affineMode & 1)
- {
- sprite->affineAnimPaused = TRUE;
- if (recalcCenterVector)
- CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode);
- src.xScale = xScale;
- src.yScale = yScale;
- src.rotation = rotation;
- if (sub_80A7238())
- src.xScale = -src.xScale;
- i = sprite->oam.matrixNum;
- ObjAffineSet(&src, &matrix, 1, 2);
- gOamMatrices[i].a = matrix.a;
- gOamMatrices[i].b = matrix.b;
- gOamMatrices[i].c = matrix.c;
- gOamMatrices[i].d = matrix.d;
- }
-}
-
-void sub_80A749C(struct Sprite *sprite)
-{
- TrySetSpriteRotScale(sprite, TRUE, 0x100, 0x100, 0);
- sprite->affineAnimPaused = FALSE;
- CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode);
-}
-
-static u16 ArcTan2_(s16 a, s16 b)
-{
- return ArcTan2(a, b);
-}
-
-u16 ArcTan2Neg(s16 a, s16 b)
-{
- u16 var = ArcTan2_(a, b);
- return -var;
-}
-
-void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor)
-{
- int i;
- struct PlttData *originalColor;
- struct PlttData *destColor;
- u16 average;
-
- paletteNum *= 16;
-
- if (!restoreOriginalColor)
- {
- for (i = 0; i < 16; i++)
- {
- originalColor = (struct PlttData *)&gPlttBufferUnfaded[paletteNum + i];
- average = originalColor->r + originalColor->g + originalColor->b;
- average /= 3;
-
- destColor = (struct PlttData *)&gPlttBufferFaded[paletteNum + i];
- destColor->r = average;
- destColor->g = average;
- destColor->b = average;
- }
- }
- else
- {
- CpuCopy32(&gPlttBufferUnfaded[paletteNum], &gPlttBufferFaded[paletteNum], 32);
- }
-}
-
-u32 sub_80A75AC(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner, u8 targetPartner, u8 a6, u8 a7)
-{
- u32 selectedPalettes = 0;
- u32 shift;
-
- if (battleBackground)
- {
- if (!IsContest())
- selectedPalettes = 0xe;
- else
- selectedPalettes = 1 << sub_80A6D94();
- }
- if (attacker)
- {
- shift = gBattleAnimAttacker + 16;
- selectedPalettes |= 1 << shift;
- }
- if (target)
- {
- shift = gBattleAnimTarget + 16;
- selectedPalettes |= 1 << shift;
- }
- if (attackerPartner)
- {
- if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
- {
- shift = BATTLE_PARTNER(gBattleAnimAttacker) + 16;
- selectedPalettes |= 1 << shift;
- }
- }
- if (targetPartner)
- {
- if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget)))
- {
- shift = BATTLE_PARTNER(gBattleAnimTarget) + 16;
- selectedPalettes |= 1 << shift;
- }
- }
- if (a6)
- {
- if (!IsContest())
- selectedPalettes |= 0x100;
- else
- selectedPalettes |= 0x4000;
- }
- if (a7)
- {
- if (!IsContest())
- selectedPalettes |= 0x200;
- }
- return selectedPalettes;
-}
-
-u32 sub_80A76C4(u8 a1, u8 a2, u8 a3, u8 a4)
-{
- u32 var = 0;
- u32 shift;
-
- if (IsContest())
- {
- if (a1)
- {
- var |= 1 << 18;
- return var;
- }
- }
- else
- {
- if (a1)
- {
- if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)))
- {
- var |= 1 << (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) + 16);
- }
- }
- if (a2)
- {
- if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)))
- {
- shift = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT) + 16;
- var |= 1 << shift;
- }
- }
- if (a3)
- {
- if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)))
- {
- shift = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT) + 16;
- var |= 1 << shift;
- }
- }
- if (a4)
- {
- if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)))
- {
- shift = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT) + 16;
- var |= 1 << shift;
- }
- }
- }
- return var;
-}
-
-u8 sub_80A77AC(u8 a1)
-{
- return a1;
-}
-
-static u8 GetBattlerAtPosition_(u8 position)
-{
- return GetBattlerAtPosition(position);
-}
-
-void sub_80A77C8(struct Sprite *sprite)
-{
- bool8 var;
-
- if (!sprite->data[0])
- {
- if (!gBattleAnimArgs[3])
- var = TRUE;
- else
- var = FALSE;
- if (!gBattleAnimArgs[2])
- InitSpritePosToAnimAttacker(sprite, var);
- else
- InitSpritePosToAnimTarget(sprite, var);
- sprite->data[0]++;
-
- }
- else if (sprite->animEnded || sprite->affineAnimEnded)
- {
- DestroySpriteAndMatrix(sprite);
- }
-}
-
-// Linearly translates a sprite to a target position on the
-// other mon's sprite.
-// arg 0: initial x offset
-// arg 1: initial y offset
-// arg 2: target x offset
-// arg 3: target y offset
-// arg 4: duration
-// arg 5: lower 8 bits = location on attacking mon, upper 8 bits = location on target mon pick to target
-void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
-{
- bool8 v1;
- u8 coordType;
-
- if (!(gBattleAnimArgs[5] & 0xff00))
- v1 = TRUE;
- else
- v1 = FALSE;
-
- if (!(gBattleAnimArgs[5] & 0xff))
- coordType = BATTLER_COORD_Y_PIC_OFFSET;
- else
- coordType = BATTLER_COORD_Y;
-
- InitSpritePosToAnimAttacker(sprite, v1);
- if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
- gBattleAnimArgs[2] = -gBattleAnimArgs[2];
-
- sprite->data[0] = gBattleAnimArgs[4];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, coordType) + gBattleAnimArgs[3];
- sprite->callback = StartAnimLinearTranslation;
- StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
-}
-
-void sub_80A78AC(struct Sprite *sprite)
-{
- InitSpritePosToAnimAttacker(sprite, 1);
- if (GetBattlerSide(gBattleAnimAttacker))
- gBattleAnimArgs[2] = -gBattleAnimArgs[2];
- sprite->data[0] = gBattleAnimArgs[4];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
- sprite->data[5] = gBattleAnimArgs[5];
- InitAnimArcTranslation(sprite);
- sprite->callback = sub_80A791C;
-}
-
-static void sub_80A791C(struct Sprite *sprite)
-{
- if (TranslateAnimHorizontalArc(sprite))
- DestroyAnimSprite(sprite);
-}
-
-void sub_80A7938(struct Sprite *sprite)
-{
- bool8 r4;
- u8 battlerId, coordType;
-
- if (!gBattleAnimArgs[6])
- {
- r4 = TRUE;
- coordType = BATTLER_COORD_Y_PIC_OFFSET;
- }
- else
- {
- r4 = FALSE;
- coordType = BATTLER_COORD_Y;
- }
- if (!gBattleAnimArgs[5])
- {
- InitSpritePosToAnimAttacker(sprite, r4);
- battlerId = gBattleAnimAttacker;
- }
- else
- {
- InitSpritePosToAnimTarget(sprite, r4);
- battlerId = gBattleAnimTarget;
- }
- if (GetBattlerSide(gBattleAnimAttacker))
- gBattleAnimArgs[2] = -gBattleAnimArgs[2];
- InitSpritePosToAnimTarget(sprite, r4);
- sprite->data[0] = gBattleAnimArgs[4];
- sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(battlerId, coordType) + gBattleAnimArgs[3];
- sprite->callback = StartAnimLinearTranslation;
- StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
-}
-
-s16 CloneBattlerSpriteWithBlend(u8 animBattler)
-{
- u16 i;
- u8 spriteId = GetAnimBattlerSpriteId(animBattler);
-
- if (spriteId != 0xFF)
- {
- for (i = 0; i < MAX_SPRITES; i++)
- {
- if (!gSprites[i].inUse)
- {
- gSprites[i] = gSprites[spriteId];
- gSprites[i].oam.objMode = ST_OAM_OBJ_BLEND;
- gSprites[i].invisible = FALSE;
- return i;
- }
- }
- }
- return -1;
-}
-
-void obj_delete_but_dont_free_vram(struct Sprite *sprite)
-{
- sprite->usingSheet = TRUE;
- DestroySprite(sprite);
-}
-
-void sub_80A7A74(u8 taskId)
-{
- s16 v1 = 0;
- s16 v2 = 0;
-
- if (gBattleAnimArgs[2] > gBattleAnimArgs[0])
- v2 = 1;
- if (gBattleAnimArgs[2] < gBattleAnimArgs[0])
- v2 = -1;
- if (gBattleAnimArgs[3] > gBattleAnimArgs[1])
- v1 = 1;
- if (gBattleAnimArgs[3] < gBattleAnimArgs[1])
- v1 = -1;
-
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[1] = gBattleAnimArgs[4];
- gTasks[taskId].data[2] = 0;
- gTasks[taskId].data[3] = gBattleAnimArgs[0];
- gTasks[taskId].data[4] = gBattleAnimArgs[1];
- gTasks[taskId].data[5] = v2;
- gTasks[taskId].data[6] = v1;
- gTasks[taskId].data[7] = gBattleAnimArgs[2];
- gTasks[taskId].data[8] = gBattleAnimArgs[3];
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gBattleAnimArgs[0], gBattleAnimArgs[1]));
- gTasks[taskId].func = sub_80A7AFC;
-}
-
-static void sub_80A7AFC(u8 taskId)
-{
- struct Task *task = &gTasks[taskId];
-
- if (++task->data[0] > task->data[1])
- {
- task->data[0] = 0;
- if (++task->data[2] & 1)
- {
- if (task->data[3] != task->data[7])
- task->data[3] += task->data[5];
- }
- else
- {
- if (task->data[4] != task->data[8])
- task->data[4] += task->data[6];
- }
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[3], task->data[4]));
- if (task->data[3] == task->data[7] && task->data[4] == task->data[8])
- {
- DestroyAnimVisualTask(taskId);
- return;
- }
- }
-}
-
-// Linearly blends a mon's sprite colors with a target color with increasing
-// strength, and then blends out to the original color.
-// arg 0: anim bank
-// arg 1: blend color
-// arg 2: target blend coefficient
-// arg 3: initial delay
-// arg 4: number of times to blend in and out
-void AnimTask_BlendMonInAndOut(u8 task)
-{
- u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
- if (spriteId == 0xff)
- {
- DestroyAnimVisualTask(task);
- return;
- }
- gTasks[task].data[0] = (gSprites[spriteId].oam.paletteNum * 0x10) + 0x101;
- AnimTask_BlendMonInAndOutSetup(&gTasks[task]);
-}
-
-static void AnimTask_BlendMonInAndOutSetup(struct Task *task)
-{
- task->data[1] = gBattleAnimArgs[1];
- task->data[2] = 0;
- task->data[3] = gBattleAnimArgs[2];
- task->data[4] = 0;
- task->data[5] = gBattleAnimArgs[3];
- task->data[6] = 0;
- task->data[7] = gBattleAnimArgs[4];
- task->func = AnimTask_BlendMonInAndOutStep;
-}
-
-static void AnimTask_BlendMonInAndOutStep(u8 taskId)
-{
- struct Task *task = &gTasks[taskId];
-
- if (++task->data[4] >= task->data[5])
- {
- task->data[4] = 0;
- if (!task->data[6])
- {
- task->data[2]++;
- BlendPalette(task->data[0], 15, task->data[2], task->data[1]);
- if (task->data[2] == task->data[3])
- task->data[6] = 1;
- }
- else
- {
- task->data[2]--;
- BlendPalette(task->data[0], 15, task->data[2], task->data[1]);
- if (!task->data[2])
- {
- if (--task->data[7])
- {
- task->data[4] = 0;
- task->data[6] = 0;
- }
- else
- {
- DestroyAnimVisualTask(taskId);
- return;
- }
- }
- }
- }
-}
-
-void sub_80A7CB4(u8 task)
-{
- u8 palette = IndexOfSpritePaletteTag(gBattleAnimArgs[0]);
-
- if (palette == 0xff)
- {
- DestroyAnimVisualTask(task);
- return;
- }
- gTasks[task].data[0] = (palette * 0x10) + 0x101;
- AnimTask_BlendMonInAndOutSetup(&gTasks[task]);
-}
-
-void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds)
-{
- task->data[7] = 0;
- task->data[8] = 0;
- task->data[9] = 0;
- task->data[15] = spriteId;
- task->data[10] = 0x100;
- task->data[11] = 0x100;
- task->data[12] = 0;
- StorePointerInVars(&task->data[13], &task->data[14], affineAnimCmds);
- PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
-}
-
-bool8 RunAffineAnimFromTaskData(struct Task *task)
-{
- gAnimTaskAffineAnim = LoadPointerFromVars(task->data[13], task->data[14]) + (task->data[7] << 3);
- switch (gAnimTaskAffineAnim->type)
- {
- default:
- if (!gAnimTaskAffineAnim->frame.duration)
- {
- task->data[10] = gAnimTaskAffineAnim->frame.xScale;
- task->data[11] = gAnimTaskAffineAnim->frame.yScale;
- task->data[12] = gAnimTaskAffineAnim->frame.rotation;
- task->data[7]++;
- gAnimTaskAffineAnim++;
- }
- task->data[10] += gAnimTaskAffineAnim->frame.xScale;
- task->data[11] += gAnimTaskAffineAnim->frame.yScale;
- task->data[12] += gAnimTaskAffineAnim->frame.rotation;
- SetSpriteRotScale(task->data[15], task->data[10], task->data[11], task->data[12]);
- SetBattlerSpriteYOffsetFromYScale(task->data[15]);
- if (++task->data[8] >= gAnimTaskAffineAnim->frame.duration)
- {
- task->data[8] = 0;
- task->data[7]++;
- }
- break;
- case AFFINEANIMCMDTYPE_JUMP:
- task->data[7] = gAnimTaskAffineAnim->jump.target;
- break;
- case AFFINEANIMCMDTYPE_LOOP:
- if (gAnimTaskAffineAnim->loop.count)
- {
- if (task->data[9])
- {
- if (!--task->data[9])
- {
- task->data[7]++;
- break;
- }
- }
- else
- {
- task->data[9] = gAnimTaskAffineAnim->loop.count;
- }
- if (!task->data[7])
- {
- break;
- }
- for (;;)
- {
- task->data[7]--;
- gAnimTaskAffineAnim--;
- if (gAnimTaskAffineAnim->type == AFFINEANIMCMDTYPE_LOOP)
- {
- task->data[7]++;
- return TRUE;
- }
- if (!task->data[7])
- return TRUE;
- }
- }
- task->data[7]++;
- break;
- case AFFINEANIMCMDTYPE_END:
- gSprites[task->data[15]].pos2.y = 0;
- ResetSpriteRotScale(task->data[15]);
- return FALSE;
- }
-
- return TRUE;
-}
-
-// Sets the sprite's y offset equal to the y displacement caused by the
-// matrix's scale in the y dimension.
-void SetBattlerSpriteYOffsetFromYScale(u8 spriteId)
-{
- int var = 64 - GetBattlerYDeltaFromSpriteId(spriteId) * 2;
- u16 matrix = gSprites[spriteId].oam.matrixNum;
- int var2 = (var << 8) / gOamMatrices[matrix].d;
-
- if (var2 > 128)
- var2 = 128;
- gSprites[spriteId].pos2.y = (var - var2) / 2;
-}
-
-// Sets the sprite's y offset equal to the y displacement caused by another sprite
-// matrix's scale in the y dimension.
-void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId)
-{
- int var = 64 - GetBattlerYDeltaFromSpriteId(otherSpriteId) * 2;
- u16 matrix = gSprites[spriteId].oam.matrixNum;
- int var2 = (var << 8) / gOamMatrices[matrix].d;
-
- if (var2 > 128)
- var2 = 128;
- gSprites[spriteId].pos2.y = (var - var2) / 2;
-}
-
-static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId)
-{
- struct BattleSpriteInfo *spriteInfo;
- u8 battlerId = gSprites[spriteId].data[0];
- u16 species;
- u16 i;
-
- for (i = 0; i < MAX_BATTLERS_COUNT; i++)
- {
- if (gBattlerSpriteIds[i] == spriteId)
- {
- if (IsContest())
- {
- species = gContestResources->field_18->species;
- return gMonBackPicCoords[species].y_offset;
- }
- else
- {
- if (GetBattlerSide(i) == B_SIDE_PLAYER)
- {
- spriteInfo = gBattleSpritesDataPtr->battlerData;
- if (!spriteInfo[battlerId].transformSpecies)
- species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES);
- else
- species = spriteInfo[battlerId].transformSpecies;
-
- if (species == SPECIES_CASTFORM)
- return sCastformBackSpriteYCoords[gBattleMonForms[battlerId]];
- else
- return gMonBackPicCoords[species].y_offset;
- }
- else
- {
- spriteInfo = gBattleSpritesDataPtr->battlerData;
- if (!spriteInfo[battlerId].transformSpecies)
- species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES);
- else
- species = spriteInfo[battlerId].transformSpecies;
-
- if (species == SPECIES_CASTFORM)
- return sCastformElevations[gBattleMonForms[battlerId]];
- else
- return gMonFrontPicCoords[species].y_offset;
- }
- }
- }
- }
- return 64;
-}
-
-void StorePointerInVars(s16 *lo, s16 *hi, const void *ptr)
-{
- *lo = ((intptr_t) ptr) & 0xffff;
- *hi = (((intptr_t) ptr) >> 16) & 0xffff;
-}
-
-void *LoadPointerFromVars(s16 lo, s16 hi)
-{
- return (void *)((u16)lo | ((u16)hi << 16));
-}
-
-void sub_80A805C(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7)
-{
- task->data[8] = a7;
- task->data[15] = a2; // spriteId
- task->data[9] = a3;
- task->data[10] = a4;
- task->data[13] = a5;
- task->data[14] = a6;
- task->data[11] = (a5 - a3) / a7;
- task->data[12] = (a6 - a4) / a7;
-}
-
-u8 sub_80A80C8(struct Task *task)
-{
- if (!task->data[8])
- return 0;
-
- if (--task->data[8] != 0)
- {
- task->data[9] += task->data[11];
- task->data[10] += task->data[12];
- }
- else
- {
- task->data[9] = task->data[13];
- task->data[10] = task->data[14];
- }
- SetSpriteRotScale(task->data[15], task->data[9], task->data[10], 0);
- if (task->data[8])
- SetBattlerSpriteYOffsetFromYScale(task->data[15]);
- else
- gSprites[task->data[15]].pos2.y = 0;
- return task->data[8];
-}
-
-void AnimTask_GetFrustrationPowerLevel(u8 taskId)
-{
- u16 powerLevel;
-
- if (gAnimFriendship <= 30)
- powerLevel = 0;
- else if (gAnimFriendship <= 100)
- powerLevel = 1;
- else if (gAnimFriendship <= 200)
- powerLevel = 2;
- else
- powerLevel = 3;
- gBattleAnimArgs[7] = powerLevel;
- DestroyAnimVisualTask(taskId);
-}
-
-void sub_80A8174(u8 priority)
-{
- if (IsBattlerSpriteVisible(gBattleAnimTarget))
- gSprites[gBattlerSpriteIds[gBattleAnimTarget]].oam.priority = priority;
- if (IsBattlerSpriteVisible(gBattleAnimAttacker))
- gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].oam.priority = priority;
- if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget)))
- gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimTarget)]].oam.priority = priority;
- if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
- gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority = priority;
-}
-
-void sub_80A8278(void)
-{
- int i;
-
- for (i = 0; i < gBattlersCount; i++)
- {
- if (IsBattlerSpriteVisible(i))
- {
- gSprites[gBattlerSpriteIds[i]].subpriority = GetBattlerSpriteSubpriority(i);
- gSprites[gBattlerSpriteIds[i]].oam.priority = 2;
- }
- }
-}
-
-u8 GetBattlerSpriteSubpriority(u8 battlerId)
-{
- u8 position;
- u8 subpriority;
-
- if (IsContest())
- {
- if (battlerId == 2)
- return 30;
- else
- return 40;
- }
- else
- {
- position = GetBattlerPosition(battlerId);
- if (position == B_POSITION_PLAYER_LEFT)
- subpriority = 30;
- else if (position == B_POSITION_PLAYER_RIGHT)
- subpriority = 20;
- else if (position == B_POSITION_OPPONENT_LEFT)
- subpriority = 40;
- else
- subpriority = 50;
- }
-
- return subpriority;
-}
-
-u8 GetBattlerSpriteBGPriority(u8 battlerId)
-{
- u8 position = GetBattlerPosition(battlerId);
-
- if (IsContest())
- return 2;
- else if (position == B_POSITION_PLAYER_LEFT || position == B_POSITION_OPPONENT_RIGHT)
- return GetAnimBgAttribute(2, BG_ANIM_PRIORITY);
- else
- return GetAnimBgAttribute(1, BG_ANIM_PRIORITY);
-}
-
-u8 GetBattlerSpriteBGPriorityRank(u8 battlerId)
-{
- if (!IsContest())
- {
- u8 position = GetBattlerPosition(battlerId);
- if (position == B_POSITION_PLAYER_LEFT || position == B_POSITION_OPPONENT_RIGHT)
- return 2;
- else
- return 1;
- }
- return 1;
-}
-
-u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10)
-{
- u8 spriteId;
- u16 sheet = LoadSpriteSheet(&sUnknown_08525FC0[a3]);
- u16 palette = AllocSpritePalette(sUnknown_08525F90[a3].paletteTag);
-
- if (gMonSpritesGfxPtr != NULL && gMonSpritesGfxPtr->field_17C == NULL)
- gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000);
- if (!isBackpic)
- {
- LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20);
- if (a10 == 1 || sub_80688F8(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
- LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species],
- gMonSpritesGfxPtr->field_17C,
- species,
- personality,
- TRUE);
- else
- LoadSpecialPokePic_2(&gMonFrontPicTable[species],
- gMonSpritesGfxPtr->field_17C,
- species,
- personality,
- TRUE);
- }
- else
- {
- LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20);
- if (a10 == 1 || sub_80688F8(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
- LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species],
- gMonSpritesGfxPtr->field_17C,
- species,
- personality,
- FALSE);
- else
- LoadSpecialPokePic_2(&gMonBackPicTable[species],
- gMonSpritesGfxPtr->field_17C,
- species,
- personality,
- FALSE);
- }
-
- RequestDma3Copy(gMonSpritesGfxPtr->field_17C, (void *)(OBJ_VRAM0 + (sheet * 0x20)), 0x800, 1);
- FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_17C);
-
- if (!isBackpic)
- spriteId = CreateSprite(&sUnknown_08525F90[a3], x, y + gMonFrontPicCoords[species].y_offset, subpriority);
- else
- spriteId = CreateSprite(&sUnknown_08525F90[a3], x, y + gMonBackPicCoords[species].y_offset, subpriority);
-
- if (IsContest())
- {
- gSprites[spriteId].affineAnims = gUnknown_082FF6C0;
- StartSpriteAffineAnim(&gSprites[spriteId], 0);
- }
- return spriteId;
-}
-
-void DestroySpriteAndFreeResources_(struct Sprite *sprite)
-{
- DestroySpriteAndFreeResources(sprite);
-}
-
-s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr)
-{
- u16 species;
- u32 personality;
- u16 letter;
- u16 unownSpecies;
- int ret;
- const struct MonCoords *coords;
- struct BattleSpriteInfo *spriteInfo;
-
- if (IsContest())
- {
- if (gContestResources->field_18->unk4_0)
- {
- species = gContestResources->field_18->unk2;
- personality = gContestResources->field_18->unk10;
- }
- else
- {
- species = gContestResources->field_18->species;
- personality = gContestResources->field_18->unk8;
- }
- if (species == SPECIES_UNOWN)
- {
- letter = GET_UNOWN_LETTER(personality);
- if (!letter)
- unownSpecies = SPECIES_UNOWN;
- else
- unownSpecies = letter + SPECIES_UNOWN_B - 1;
- coords = &gMonBackPicCoords[unownSpecies];
- }
- else if (species == SPECIES_CASTFORM)
- {
- coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]];
- }
- else if (species <= SPECIES_EGG)
- {
- coords = &gMonBackPicCoords[species];
- }
- else
- {
- coords = &gMonBackPicCoords[0];
- }
- }
- else
- {
- if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
- {
- spriteInfo = gBattleSpritesDataPtr->battlerData;
- if (!spriteInfo[battlerId].transformSpecies)
- {
- species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
- personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY);
- }
- else
- {
- species = spriteInfo[battlerId].transformSpecies;
- personality = gTransformedPersonalities[battlerId];
- }
-
- if (species == SPECIES_UNOWN)
- {
- letter = GET_UNOWN_LETTER(personality);
- if (!letter)
- unownSpecies = SPECIES_UNOWN;
- else
- unownSpecies = letter + SPECIES_UNOWN_B - 1;
- coords = &gMonBackPicCoords[unownSpecies];
- }
- else if (species > NUM_SPECIES)
- {
- coords = &gMonBackPicCoords[0];
- }
- else
- {
- coords = &gMonBackPicCoords[species];
- }
- }
- else
- {
- spriteInfo = gBattleSpritesDataPtr->battlerData;
- if (!spriteInfo[battlerId].transformSpecies)
- {
- species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
- personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY);
- }
- else
- {
- species = spriteInfo[battlerId].transformSpecies;
- personality = gTransformedPersonalities[battlerId];
- }
-
- if (species == SPECIES_UNOWN)
- {
- letter = GET_UNOWN_LETTER(personality);
- if (!letter)
- unownSpecies = SPECIES_UNOWN;
- else
- unownSpecies = letter + SPECIES_UNOWN_B - 1;
- coords = &gMonFrontPicCoords[unownSpecies];
- }
- else if (species == SPECIES_CASTFORM)
- {
- coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]];
- }
- else if (species > NUM_SPECIES)
- {
- coords = &gMonFrontPicCoords[0];
- }
- else
- {
- coords = &gMonFrontPicCoords[species];
- }
- }
- }
-
- switch (attr)
- {
- case BATTLER_COORD_ATTR_HEIGHT:
- return (coords->size & 0xf) * 8;
- case BATTLER_COORD_ATTR_WIDTH:
- return (coords->size >> 4) * 8;
- case BATTLER_COORD_ATTR_LEFT:
- return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) - ((coords->size >> 4) * 4);
- case BATTLER_COORD_ATTR_RIGHT:
- return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + ((coords->size >> 4) * 4);
- case BATTLER_COORD_ATTR_TOP:
- return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) - ((coords->size & 0xf) * 4);
- case BATTLER_COORD_ATTR_BOTTOM:
- return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) + ((coords->size & 0xf) * 4);
- case BATTLER_COORD_ATTR_RAW_BOTTOM:
- ret = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 31;
- return ret - coords->y_offset;
- default:
- return 0;
- }
-}
-
-void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y)
-{
- u8 xCoordType, yCoordType;
- s16 battlerX, battlerY;
- s16 partnerX, partnerY;
-
- if (!respectMonPicOffsets)
- {
- xCoordType = BATTLER_COORD_X;
- yCoordType = BATTLER_COORD_Y;
- }
- else
- {
- xCoordType = BATTLER_COORD_X_2;
- yCoordType = BATTLER_COORD_Y_PIC_OFFSET;
- }
-
- battlerX = GetBattlerSpriteCoord(battlerId, xCoordType);
- battlerY = GetBattlerSpriteCoord(battlerId, yCoordType);
- if (IsDoubleBattle() && !IsContest())
- {
- partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), xCoordType);
- partnerY = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), yCoordType);
- }
- else
- {
- partnerX = battlerX;
- partnerY = battlerY;
- }
-
- *x = (battlerX + partnerX) / 2;
- *y = (battlerY + partnerY) / 2;
-}
-
-u8 sub_80A89C8(int battlerId, u8 spriteId, int species)
-{
- u8 newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
- gSprites[newSpriteId] = gSprites[spriteId];
- gSprites[newSpriteId].usingSheet = TRUE;
- gSprites[newSpriteId].oam.priority = 0;
- gSprites[newSpriteId].oam.objMode = 2;
- gSprites[newSpriteId].oam.tileNum = gSprites[spriteId].oam.tileNum;
- gSprites[newSpriteId].callback = SpriteCallbackDummy;
- return newSpriteId;
-}
-
-void sub_80A8A6C(struct Sprite *sprite)
-{
- SetSpriteCoordsToAnimAttackerCoords(sprite);
- if (GetBattlerSide(gBattleAnimAttacker))
- {
- sprite->pos1.x -= gBattleAnimArgs[0];
- gBattleAnimArgs[3] = -gBattleAnimArgs[3];
- sprite->hFlip = TRUE;
- }
- else
- {
- sprite->pos1.x += gBattleAnimArgs[0];
- }
- sprite->pos1.y += gBattleAnimArgs[1];
- sprite->data[0] = gBattleAnimArgs[2];
- sprite->data[1] = gBattleAnimArgs[3];
- sprite->data[3] = gBattleAnimArgs[4];
- sprite->data[5] = gBattleAnimArgs[5];
- StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = TranslateSpriteLinearAndFlicker;
-}
-
-void sub_80A8AEC(struct Sprite *sprite)
-{
- if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
- {
- sprite->pos1.x -= gBattleAnimArgs[0];
- gBattleAnimArgs[3] *= -1;
- }
- else
- {
- sprite->pos1.x += gBattleAnimArgs[0];
- }
- sprite->pos1.y += gBattleAnimArgs[1];
- sprite->data[0] = gBattleAnimArgs[2];
- sprite->data[1] = gBattleAnimArgs[3];
- sprite->data[3] = gBattleAnimArgs[4];
- sprite->data[5] = gBattleAnimArgs[5];
- StartSpriteAnim(sprite, gBattleAnimArgs[6]);
- StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = TranslateSpriteLinearAndFlicker;
-}
-
-void sub_80A8B64(struct Sprite *sprite)
-{
- SetSpriteCoordsToAnimAttackerCoords(sprite);
- if (GetBattlerSide(gBattleAnimAttacker))
- sprite->pos1.x -= gBattleAnimArgs[0];
- else
- sprite->pos1.x += gBattleAnimArgs[0];
- sprite->pos1.y += gBattleAnimArgs[1];
- sprite->callback = RunStoredCallbackWhenAnimEnds;
- StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
-}
-
-void sub_80A8BC4(u8 taskId)
-{
- u16 src;
- u16 dest;
- struct Task *task = &gTasks[taskId];
-
- task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
- task->data[1] = ((GetBattlerSide(gBattleAnimAttacker)) != B_SIDE_PLAYER) ? -8 : 8;
- task->data[2] = 0;
- task->data[3] = 0;
- gSprites[task->data[0]].pos2.x -= task->data[0];
- task->data[4] = AllocSpritePalette(10097);
- task->data[5] = 0;
-
- dest = (task->data[4] + 0x10) * 0x10;
- src = (gSprites[task->data[0]].oam.paletteNum + 0x10) * 0x10;
- task->data[6] = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
- if (task->data[6] == 20 || task->data[6] == 40)
- task->data[6] = 2;
- else
- task->data[6] = 3;
- CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20);
- BlendPalette(dest, 16, gBattleAnimArgs[1], gBattleAnimArgs[0]);
- task->func = sub_80A8CAC;
-}
-
-static void sub_80A8CAC(u8 taskId)
-{
- struct Task *task = &gTasks[taskId];
- switch (task->data[2])
- {
- case 0:
- sub_80A8D78(task, taskId);
- gSprites[task->data[0]].pos2.x += task->data[1];
- if (++task->data[3] == 5)
- {
- task->data[3]--;
- task->data[2]++;
- }
- break;
- case 1:
- sub_80A8D78(task, taskId);
- gSprites[task->data[0]].pos2.x -= task->data[1];
- if (--task->data[3] == 0)
- {
- gSprites[task->data[0]].pos2.x = 0;
- task->data[2]++;
- }
- break;
- case 2:
- if (!task->data[5])
- {
- FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON);
- DestroyAnimVisualTask(taskId);
- }
- break;
- }
-}
-
-static void sub_80A8D78(struct Task *task, u8 taskId)
-{
- s16 spriteId = CloneBattlerSpriteWithBlend(0);
- if (spriteId >= 0)
- {
- gSprites[spriteId].oam.priority = task->data[6];
- gSprites[spriteId].oam.paletteNum = task->data[4];
- gSprites[spriteId].data[0] = 8;
- gSprites[spriteId].data[1] = taskId;
- gSprites[spriteId].data[2] = spriteId;
- gSprites[spriteId].pos2.x = gSprites[task->data[0]].pos2.x;
- gSprites[spriteId].callback = sub_80A8DFC;
- task->data[5]++;
- }
-}
-
-static void sub_80A8DFC(struct Sprite *sprite)
-{
- if (--sprite->data[0] == 0)
- {
- gTasks[sprite->data[1]].data[5]--;
- obj_delete_but_dont_free_vram(sprite);
- }
-}
-
-void sub_80A8E30(struct Sprite *sprite)
-{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
- if (!GetBattlerSide(gBattleAnimAttacker))
- sprite->data[0] = 5;
- else
- sprite->data[0] = -10;
- sprite->data[1] = -40;
- sprite->callback = sub_80A8E88;
-}
-
-static void sub_80A8E88(struct Sprite *sprite)
-{
- sprite->data[2] += sprite->data[0];
- sprite->data[3] += sprite->data[1];
- sprite->pos2.x = sprite->data[2] / 10;
- sprite->pos2.y = sprite->data[3] / 10;
- if (sprite->data[1] < -20)
- sprite->data[1]++;
- if (sprite->pos1.y + sprite->pos2.y < -32)
- DestroyAnimSprite(sprite);
-}
-
-void sub_80A8EE4(struct Sprite *sprite)
-{
- int x;
- sprite->data[0] = gBattleAnimArgs[2];
- sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[4];
- sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[5];
- if (!GetBattlerSide(gBattleAnimTarget))
- {
- x = (u16)gBattleAnimArgs[4] + 30;
- sprite->pos1.x += x;
- sprite->pos1.y = gBattleAnimArgs[5] - 20;
- }
- else
- {
- x = (u16)gBattleAnimArgs[4] - 30;
- sprite->pos1.x += x;
- sprite->pos1.y = gBattleAnimArgs[5] - 80;
- }
- sprite->callback = StartAnimLinearTranslation;
- StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
-}
diff --git a/src/battle_anim_80A9C70.c b/src/battle_anim_80A9C70.c
deleted file mode 100644
index 1271680e0..000000000
--- a/src/battle_anim_80A9C70.c
+++ /dev/null
@@ -1,534 +0,0 @@
-#include "global.h"
-#include "battle.h"
-#include "battle_anim.h"
-#include "decompress.h"
-#include "gpu_regs.h"
-#include "palette.h"
-#include "sprite.h"
-#include "task.h"
-#include "trig.h"
-#include "util.h"
-#include "constants/battle_anim.h"
-#include "constants/rgb.h"
-
-extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
-extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
-extern const u8 *const gBattleAnims_StatusConditions[];
-extern const struct OamData gUnknown_08524904;
-extern const struct OamData gUnknown_08524A3C;
-
-// This file's functions.
-static void sub_80A9DB4(u8 taskId);
-static void sub_80A9FD0(u8 taskId);
-static void sub_80AA020(u8 taskId);
-static void sub_80AA0D0(u8 taskId);
-static void sub_80AA124(u8 taskId);
-static void Task_DoStatusAnimation(u8 taskId);
-static void sub_80A9E44(struct Sprite *sprite);
-static void sub_80A9E78(struct Sprite *sprite);
-
-// const rom data
-static const union AnimCmd sSpriteAnim_853EDE4[] =
-{
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(4, 3),
- ANIMCMD_FRAME(8, 3),
- ANIMCMD_FRAME(12, 3),
- ANIMCMD_JUMP(0)
-};
-
-static const union AnimCmd *const sSpriteAnimTable_853EDF8[] =
-{
- sSpriteAnim_853EDE4
-};
-
-const struct SpriteTemplate gUnknown_0853EDFC =
-{
- .tileTag = ANIM_TAG_UNUSED_ORB,
- .paletteTag = ANIM_TAG_UNUSED_ORB,
- .oam = &gUnknown_0852490C,
- .anims = sSpriteAnimTable_853EDF8,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A8AEC,
-};
-
-const struct SpriteTemplate gUnknown_0853EE14 =
-{
- .tileTag = ANIM_TAG_UNUSED_ORB,
- .paletteTag = ANIM_TAG_UNUSED_ORB,
- .oam = &gUnknown_0852490C,
- .anims = sSpriteAnimTable_853EDF8,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A8A6C,
-};
-
-static const union AnimCmd sSpriteAnim_853EE2C[] =
-{
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_JUMP(0)
-};
-
-static const union AnimCmd *const sSpriteAnimTable_853EE34[] =
-{
- sSpriteAnim_853EE2C
-};
-
-const struct SpriteTemplate gUnknown_0853EE38 =
-{
- .tileTag = ANIM_TAG_WEATHER_BALL,
- .paletteTag = ANIM_TAG_WEATHER_BALL,
- .oam = &gUnknown_08524914,
- .anims = sSpriteAnimTable_853EE34,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A8E30,
-};
-
-const struct SpriteTemplate gUnknown_0853EE50 =
-{
- .tileTag = ANIM_TAG_WEATHER_BALL,
- .paletteTag = ANIM_TAG_WEATHER_BALL,
- .oam = &gUnknown_08524914,
- .anims = sSpriteAnimTable_853EE34,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A8EE4,
-};
-
-static const union AnimCmd sSpriteAnim_853EE68[] =
-{
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(16, 3),
- ANIMCMD_FRAME(32, 3),
- ANIMCMD_FRAME(48, 3),
- ANIMCMD_FRAME(64, 3),
- ANIMCMD_END
-};
-
-static const union AnimCmd *const sSpriteAnimTable_853EE80[] =
-{
- sSpriteAnim_853EE68
-};
-
-const struct SpriteTemplate gUnknown_0853EE84 =
-{
- .tileTag = ANIM_TAG_SPARKLE_4,
- .paletteTag = ANIM_TAG_SPARKLE_4,
- .oam = &gUnknown_08524914,
- .anims = sSpriteAnimTable_853EE80,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A8B64,
-};
-
-const struct SpriteTemplate gUnknown_0853EE9C =
-{
- .tileTag = ANIM_TAG_UNUSED_MONSTER_FOOT,
- .paletteTag = ANIM_TAG_UNUSED_MONSTER_FOOT,
- .oam = &gUnknown_08524914,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A8AEC,
-};
-
-static const union AnimCmd sSpriteAnim_853EEB4[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_JUMP(0)
-};
-
-static const union AnimCmd sSpriteAnim_853EEBC[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_JUMP(0)
-};
-
-static const union AnimCmd sSpriteAnim_853EEC4[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_JUMP(0)
-};
-
-static const union AnimCmd *const sSpriteAnimTable_853EECC[] =
-{
- sSpriteAnim_853EEB4,
- sSpriteAnim_853EEBC,
- sSpriteAnim_853EEC4
-};
-
-const struct SpriteTemplate gUnknown_0853EED8 =
-{
- .tileTag = ANIM_TAG_IMPACT,
- .paletteTag = ANIM_TAG_IMPACT,
- .oam = &gUnknown_08524914,
- .anims = sSpriteAnimTable_853EECC,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A8AEC,
-};
-
-static const union AnimCmd sSpriteAnim_853EEF0[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_JUMP(0)
-};
-
-static const union AnimCmd *const sSpriteAnimTable_853EEF8[] =
-{
- sSpriteAnim_853EEF0
-};
-
-static const union AffineAnimCmd sSpriteAffineAnim_853EEFC[] =
-{
- AFFINEANIMCMD_FRAME(96, 96, 0, 0),
- AFFINEANIMCMD_FRAME(2, 2, 0, 1),
- AFFINEANIMCMD_JUMP(1)
-};
-
-static const union AffineAnimCmd *const sSpriteAffineAnimTable_853EEF8[] =
-{
- sSpriteAffineAnim_853EEFC
-};
-
-const struct SpriteTemplate gUnknown_0853EF18 =
-{
- .tileTag = ANIM_TAG_UNUSED_ORB,
- .paletteTag = ANIM_TAG_UNUSED_ORB,
- .oam = &gUnknown_085249CC,
- .anims = sSpriteAnimTable_853EEF8,
- .images = NULL,
- .affineAnims = sSpriteAffineAnimTable_853EEF8,
- .callback = sub_80A8A6C,
-};
-
-static const struct Subsprite gUnknown_0853EF30[] =
-{
- {.x = -16, .y = -16, .shape = ST_OAM_SQUARE, .size = 3, .tileOffset = 0, .priority = 2},
- {.x = -16, .y = 48, .shape = ST_OAM_H_RECTANGLE, .size = 3, .tileOffset = 64, .priority = 2},
- {.x = 48, .y = -16, .shape = ST_OAM_V_RECTANGLE, .size = 3, .tileOffset = 96, .priority = 2},
- {.x = 48, .y = 48, .shape = ST_OAM_SQUARE, .size = 2, .tileOffset = 128, .priority = 2},
-};
-
-static const struct SubspriteTable gUnknown_0853EF40[] =
-{
- {ARRAY_COUNT(gUnknown_0853EF30), gUnknown_0853EF30},
-};
-
-static const struct SpriteTemplate gUnknown_0853EF48 =
-{
- .tileTag = ANIM_TAG_ICE_CUBE,
- .paletteTag = ANIM_TAG_ICE_CUBE,
- .oam = &gUnknown_08524A3C,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
-};
-
-static const struct SpriteTemplate gUnknown_0853EF60 =
-{
- .tileTag = ANIM_TAG_CIRCLE_IMPACT,
- .paletteTag = ANIM_TAG_CIRCLE_IMPACT,
- .oam = &gUnknown_08524904,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A9E44,
-};
-
-// code
-u8 sub_80A9C70(u8 battlerId, bool8 b)
-{
- u8 battlerSpriteId = gBattlerSpriteIds[battlerId];
- u8 taskId = CreateTask(sub_80A9DB4, 10);
- u8 spriteId2;
- u8 i;
-
- LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
- LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
- gTasks[taskId].data[0] = battlerId;
- if (b)
- {
- gTasks[taskId].data[1] = RGB_RED;
- for (i = 0; i < 10; i++)
- {
- spriteId2 = CreateSprite(&gUnknown_0853EF60, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y + 32, 0);
- gSprites[spriteId2].data[0] = i * 51;
- gSprites[spriteId2].data[1] = -256;
- gSprites[spriteId2].invisible = TRUE;
- if (i > 4)
- gSprites[spriteId2].data[6] = 21;
- }
- }
- else
- {
- gTasks[taskId].data[1] = RGB_BLUE;
- for (i = 0; i < 10; i++)
- {
- spriteId2 = CreateSprite(&gUnknown_0853EF60, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y - 32, 0);
- gSprites[spriteId2].data[0] = i * 51;
- gSprites[spriteId2].data[1] = 256;
- gSprites[spriteId2].invisible = TRUE;
- if (i > 4)
- gSprites[spriteId2].data[6] = 21;
- }
- }
- gSprites[spriteId2].data[7] = 1;
- return taskId;
-}
-
-static void sub_80A9DB4(u8 taskId)
-{
- if (gTasks[taskId].data[2] == 2)
- {
- gTasks[taskId].data[2] = 0;
- BlendPalette(0x100 + gTasks[taskId].data[0] * 16, 16, gTasks[taskId].data[4], gTasks[taskId].data[1]);
- if (gTasks[taskId].data[5] == 0)
- {
- gTasks[taskId].data[4]++;
- if (gTasks[taskId].data[4] > 8)
- gTasks[taskId].data[5] ^= 1;
- }
- else
- {
- u16 var = gTasks[taskId].data[4];
-
- gTasks[taskId].data[4]--;
- if (gTasks[taskId].data[4] < 0)
- {
- gTasks[taskId].data[4] = var;
- gTasks[taskId].data[5] ^= 1;
- gTasks[taskId].data[3]++;
- if (gTasks[taskId].data[3] == 2)
- DestroyTask(taskId);
- }
- }
- }
- else
- {
- gTasks[taskId].data[2]++;
- }
-}
-
-static void sub_80A9E44(struct Sprite *sprite)
-{
- if (sprite->data[6] == 0)
- {
- sprite->invisible = FALSE;
- sprite->callback = sub_80A9E78;
- sub_80A9E78(sprite);
- }
- else
- {
- sprite->data[6]--;
- }
-}
-
-static void sub_80A9E78(struct Sprite *sprite)
-{
- sprite->pos2.x = Cos(sprite->data[0], 32);
- sprite->pos2.y = Sin(sprite->data[0], 8);
- if (sprite->data[0] < 128)
- sprite->subpriority = 29;
- else
- sprite->subpriority = 31;
- sprite->data[0] = (sprite->data[0] + 8) & 0xFF;
- sprite->data[5] += sprite->data[1];
- sprite->pos2.y += sprite->data[5] >> 8;
- sprite->data[2]++;
- if (sprite->data[2] == 52)
- {
- if (sprite->data[7])
- DestroySpriteAndFreeResources(sprite);
- else
- DestroySprite(sprite);
- }
-}
-
-void sub_80A9EF4(u8 taskId)
-{
- s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) - 32;
- s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) - 36;
- u8 spriteId;
-
- if (IsContest())
- x -= 6;
- SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
- spriteId = CreateSprite(&gUnknown_0853EF48, x, y, 4);
- if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == 0xFFFF)
- gSprites[spriteId].invisible = TRUE;
- SetSubspriteTables(&gSprites[spriteId], gUnknown_0853EF40);
- gTasks[taskId].data[15] = spriteId;
- gTasks[taskId].func = sub_80A9FD0;
-}
-
-static void sub_80A9FD0(u8 taskId)
-{
- gTasks[taskId].data[1]++;
- if (gTasks[taskId].data[1] == 10)
- {
- gTasks[taskId].func = sub_80AA020;
- gTasks[taskId].data[1] = 0;
- }
- else
- {
- u8 var = gTasks[taskId].data[1];
-
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(var, 16 - var));
- }
-}
-
-static void sub_80AA020(u8 taskId)
-{
- u8 palIndex = IndexOfSpritePaletteTag(ANIM_TAG_ICE_CUBE);
-
- if (gTasks[taskId].data[1]++ > 13)
- {
- gTasks[taskId].data[2]++;
- if (gTasks[taskId].data[2] == 3)
- {
- u16 temp;
-
- temp = gPlttBufferFaded[0x100 + palIndex * 16 + 13];
- gPlttBufferFaded[0x100 + palIndex * 16 + 13] = gPlttBufferFaded[0x100 + palIndex * 16 + 14];
- gPlttBufferFaded[0x100 + palIndex * 16 + 14] = gPlttBufferFaded[0x100 + palIndex * 16 + 15];
- gPlttBufferFaded[0x100 + palIndex * 16 + 15] = temp;
-
- gTasks[taskId].data[2] = 0;
- gTasks[taskId].data[3]++;
- if (gTasks[taskId].data[3] == 3)
- {
- gTasks[taskId].data[3] = 0;
- gTasks[taskId].data[1] = 0;
- gTasks[taskId].data[4]++;
- if (gTasks[taskId].data[4] == 2)
- {
- gTasks[taskId].data[1] = 9;
- gTasks[taskId].func = sub_80AA0D0;
- }
- }
- }
- }
-}
-
-static void sub_80AA0D0(u8 taskId)
-{
- gTasks[taskId].data[1]--;
- if (gTasks[taskId].data[1] == -1)
- {
- gTasks[taskId].func = sub_80AA124;
- gTasks[taskId].data[1] = 0;
- }
- else
- {
- u8 var = gTasks[taskId].data[1];
-
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(var, 16 - var));
- }
-}
-
-static void sub_80AA124(u8 taskId)
-{
- gTasks[taskId].data[1]++;
- if (gTasks[taskId].data[1] == 37)
- {
- u8 spriteId = gTasks[taskId].data[15];
-
- FreeSpriteOamMatrix(&gSprites[spriteId]);
- DestroySprite(&gSprites[spriteId]);
- }
- else if (gTasks[taskId].data[1] == 39)
- {
- SetGpuReg(REG_OFFSET_BLDCNT, 0);
- SetGpuReg(REG_OFFSET_BLDALPHA, 0);
- DestroyAnimVisualTask(taskId);
- }
-}
-
-#define CASE(by, stat) case (STAT_ANIM_##by + stat - 1)
-
-void AnimTask_StatsChange(u8 taskId)
-{
- bool16 goesDown = FALSE;
- s16 animStatId = 0;
- bool16 sharply = FALSE;
-
- switch (gBattleSpritesDataPtr->animationData->animArg)
- {
- CASE(PLUS1, STAT_ATK): goesDown = FALSE; animStatId = 0; break;
- CASE(PLUS1, STAT_DEF): goesDown = FALSE; animStatId = 1; break;
- CASE(PLUS1, STAT_SPEED): goesDown = FALSE; animStatId = 3; break;
- CASE(PLUS1, STAT_SPATK): goesDown = FALSE; animStatId = 5; break;
- CASE(PLUS1, STAT_SPDEF): goesDown = FALSE; animStatId = 6; break;
- CASE(PLUS1, STAT_ACC): goesDown = FALSE; animStatId = 2; break;
- CASE(PLUS1, STAT_EVASION): goesDown = FALSE; animStatId = 4; break;
-
- CASE(MINUS1, STAT_ATK): goesDown = TRUE; animStatId = 0; break;
- CASE(MINUS1, STAT_DEF): goesDown = TRUE; animStatId = 1; break;
- CASE(MINUS1, STAT_SPEED): goesDown = TRUE; animStatId = 3; break;
- CASE(MINUS1, STAT_SPATK): goesDown = TRUE; animStatId = 5; break;
- CASE(MINUS1, STAT_SPDEF): goesDown = TRUE; animStatId = 6; break;
- CASE(MINUS1, STAT_ACC): goesDown = TRUE; animStatId = 2; break;
- CASE(MINUS1, STAT_EVASION): goesDown = TRUE; animStatId = 4; break;
-
- CASE(PLUS2, STAT_ATK): goesDown = FALSE; animStatId = 0; sharply = TRUE; break;
- CASE(PLUS2, STAT_DEF): goesDown = FALSE; animStatId = 1; sharply = TRUE; break;
- CASE(PLUS2, STAT_SPEED): goesDown = FALSE; animStatId = 3; sharply = TRUE; break;
- CASE(PLUS2, STAT_SPATK): goesDown = FALSE; animStatId = 5; sharply = TRUE; break;
- CASE(PLUS2, STAT_SPDEF): goesDown = FALSE; animStatId = 6; sharply = TRUE; break;
- CASE(PLUS2, STAT_ACC): goesDown = FALSE; animStatId = 2; sharply = TRUE; break;
- CASE(PLUS2, STAT_EVASION): goesDown = FALSE; animStatId = 4; sharply = TRUE; break;
-
- CASE(MINUS2, STAT_ATK): goesDown = TRUE; animStatId = 0; sharply = TRUE; break;
- CASE(MINUS2, STAT_DEF): goesDown = TRUE; animStatId = 1; sharply = TRUE; break;
- CASE(MINUS2, STAT_SPEED): goesDown = TRUE; animStatId = 3; sharply = TRUE; break;
- CASE(MINUS2, STAT_SPATK): goesDown = TRUE; animStatId = 5; sharply = TRUE; break;
- CASE(MINUS2, STAT_SPDEF): goesDown = TRUE; animStatId = 6; sharply = TRUE; break;
- CASE(MINUS2, STAT_ACC): goesDown = TRUE; animStatId = 2; sharply = TRUE; break;
- CASE(MINUS2, STAT_EVASION): goesDown = TRUE; animStatId = 4; sharply = TRUE; break;
-
- case STAT_ANIM_MULTIPLE_PLUS1: goesDown = FALSE; animStatId = 0xFF; sharply = FALSE; break;
- case STAT_ANIM_MULTIPLE_PLUS2: goesDown = FALSE; animStatId = 0xFF; sharply = TRUE; break;
- case STAT_ANIM_MULTIPLE_MINUS1: goesDown = TRUE; animStatId = 0xFF; sharply = FALSE; break;
- case STAT_ANIM_MULTIPLE_MINUS2: goesDown = TRUE; animStatId = 0xFF; sharply = TRUE; break;
-
- default:
- DestroyAnimVisualTask(taskId);
- return;
- }
-
- gBattleAnimArgs[0] = goesDown;
- gBattleAnimArgs[1] = animStatId;
- gBattleAnimArgs[2] = 0;
- gBattleAnimArgs[3] = 0;
- gBattleAnimArgs[4] = sharply;
- gTasks[taskId].func = sub_8116EB4;
- sub_8116EB4(taskId);
-}
-
-#undef CASE
-
-void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId)
-{
- u8 taskId;
-
- gBattleAnimAttacker = battlerId;
- gBattleAnimTarget = battlerId;
- LaunchBattleAnimation(gBattleAnims_StatusConditions, statusAnimId, 0);
- taskId = CreateTask(Task_DoStatusAnimation, 10);
- gTasks[taskId].data[0] = battlerId;
-}
-
-static void Task_DoStatusAnimation(u8 taskId)
-{
- gAnimScriptCallback();
- if (!gAnimScriptActive)
- {
- gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].data[0]].statusAnimActive = FALSE;
- DestroyTask(taskId);
- }
-}
diff --git a/src/battle_anim_8170478.c b/src/battle_anim_8170478.c
deleted file mode 100755
index 92874fe09..000000000
--- a/src/battle_anim_8170478.c
+++ /dev/null
@@ -1,2267 +0,0 @@
-#include "global.h"
-#include "battle.h"
-#include "battle_anim.h"
-#include "battle_controllers.h"
-#include "battle_interface.h"
-#include "decompress.h"
-#include "dma3.h"
-#include "gpu_regs.h"
-#include "graphics.h"
-#include "m4a.h"
-#include "main.h"
-#include "palette.h"
-#include "pokeball.h"
-#include "sound.h"
-#include "sprite.h"
-#include "task.h"
-#include "trig.h"
-#include "util.h"
-#include "constants/rgb.h"
-#include "constants/items.h"
-#include "constants/songs.h"
-
-// iwram
-int gUnknown_030062DC;
-u16 gUnknown_030062E0;
-u16 gUnknown_030062E4;
-
-static void sub_8170660(u8);
-static void sub_8170A38(u8);
-static void sub_8170EF0(u8);
-static void sub_8171104(struct Sprite *);
-static void sub_8171030(u8);
-static void sub_81710A8(u8);
-static void sub_8171134(struct Sprite *);
-static void sub_8171CAC(struct Sprite *);
-static void sub_81711E8(struct Sprite *);
-static void sub_8171240(struct Sprite *);
-static void sub_817138C(struct Sprite *);
-static void sub_81713D0(struct Sprite *);
-static void sub_81717B4(struct Sprite *);
-static void sub_81714D4(struct Sprite *);
-static void sub_8171520(struct Sprite *);
-static void sub_81717D8(struct Sprite *);
-static void sub_8171AE4(struct Sprite *);
-static void sub_81717F8(struct Sprite *);
-static void sub_81719EC(struct Sprite *);
-static void sub_81718D8(struct Sprite *);
-static void sub_81719C0(struct Sprite *);
-static void sub_8171D60(u8);
-static void sub_8171AAC(struct Sprite *);
-static void sub_8171BAC(struct Sprite *);
-static void sub_8171CE8(struct Sprite *);
-static void PokeBallOpenParticleAnimation_Step1(struct Sprite *);
-static void PokeBallOpenParticleAnimation_Step2(struct Sprite *);
-static void DestroyBallOpenAnimationParticle(struct Sprite *);
-static void FanOutBallOpenParticles_Step1(struct Sprite *);
-static void RepeatBallOpenParticleAnimation_Step1(struct Sprite *);
-static void PremierBallOpenParticleAnimation_Step1(struct Sprite *);
-static void sub_8172AB0(u8);
-static void sub_8172B40(u8);
-static void sub_8172B90(u8);
-static void sub_8172FEC(u8);
-static void sub_81731FC(struct Sprite *);
-static void sub_8173250(struct Sprite *);
-static void sub_81731B0(u8);
-static void sub_817339C(struct Sprite *);
-static void sub_81733D4(struct Sprite *);
-static void sub_8173400(struct Sprite *);
-static void PokeBallOpenParticleAnimation(u8);
-static void GreatBallOpenParticleAnimation(u8);
-static void SafariBallOpenParticleAnimation(u8);
-static void UltraBallOpenParticleAnimation(u8);
-static void MasterBallOpenParticleAnimation(u8);
-static void DiveBallOpenParticleAnimation(u8);
-static void RepeatBallOpenParticleAnimation(u8);
-static void TimerBallOpenParticleAnimation(u8);
-static void PremierBallOpenParticleAnimation(u8);
-static void sub_817330C(struct Sprite *);
-
-struct BallCaptureSuccessStarData
-{
- s8 xOffset;
- s8 yOffset;
- s8 unk2;
-};
-
-static const struct BallCaptureSuccessStarData sBallCaptureSuccessStarData[] =
-{
- {
- .xOffset = 10,
- .yOffset = 2,
- .unk2 = -3,
- },
- {
- .xOffset = 15,
- .yOffset = 0,
- .unk2 = -4,
- },
- {
- .xOffset = -10,
- .yOffset = 2,
- .unk2 = -4,
- },
-};
-
-const struct CompressedSpriteSheet gBallOpenParticleSpritesheets[] =
-{
- {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EC},
- {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6ED},
- {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EE},
- {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EF},
- {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F0},
- {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F1},
- {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F2},
- {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F3},
- {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F4},
- {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F5},
- {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F6},
- {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F7},
-};
-
-const struct CompressedSpritePalette gBallOpenParticlePalettes[] =
-{
- {gBattleAnimSpritePalette_136, 0xD6EC},
- {gBattleAnimSpritePalette_136, 0xD6ED},
- {gBattleAnimSpritePalette_136, 0xD6EE},
- {gBattleAnimSpritePalette_136, 0xD6EF},
- {gBattleAnimSpritePalette_136, 0xD6F0},
- {gBattleAnimSpritePalette_136, 0xD6F1},
- {gBattleAnimSpritePalette_136, 0xD6F2},
- {gBattleAnimSpritePalette_136, 0xD6F3},
- {gBattleAnimSpritePalette_136, 0xD6F4},
- {gBattleAnimSpritePalette_136, 0xD6F5},
- {gBattleAnimSpritePalette_136, 0xD6F6},
- {gBattleAnimSpritePalette_136, 0xD6F7},
-};
-
-const union AnimCmd gUnknown_085E5154[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_FRAME(2, 1),
- ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
- ANIMCMD_FRAME(2, 1),
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_JUMP(0),
-};
-
-const union AnimCmd gUnknown_085E5170[] =
-{
- ANIMCMD_FRAME(3, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_085E5178[] =
-{
- ANIMCMD_FRAME(4, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_085E5180[] =
-{
- ANIMCMD_FRAME(5, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_085E5188[] =
-{
- ANIMCMD_FRAME(6, 4),
- ANIMCMD_FRAME(7, 4),
- ANIMCMD_JUMP(0),
-};
-
-const union AnimCmd gUnknown_085E5194[] =
-{
- ANIMCMD_FRAME(7, 4),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_085E519C[] =
-{
- gUnknown_085E5154,
- gUnknown_085E5170,
- gUnknown_085E5178,
- gUnknown_085E5180,
- gUnknown_085E5188,
- gUnknown_085E5194,
-};
-
-const u8 gBallOpenParticleAnimNums[] =
-{
- 0,
- 0,
- 0,
- 5,
- 1,
- 2,
- 2,
- 3,
- 5,
- 5,
- 4,
- 4,
-};
-
-const TaskFunc gBallOpenParticleAnimationFuncs[] =
-{
- PokeBallOpenParticleAnimation,
- GreatBallOpenParticleAnimation,
- SafariBallOpenParticleAnimation,
- UltraBallOpenParticleAnimation,
- MasterBallOpenParticleAnimation,
- SafariBallOpenParticleAnimation,
- DiveBallOpenParticleAnimation,
- UltraBallOpenParticleAnimation,
- RepeatBallOpenParticleAnimation,
- TimerBallOpenParticleAnimation,
- GreatBallOpenParticleAnimation,
- PremierBallOpenParticleAnimation,
-};
-
-const struct SpriteTemplate gUnknown_085E51F0[] =
-{
- {
- .tileTag = 55020,
- .paletteTag = 55020,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085E519C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- },
- {
- .tileTag = 55021,
- .paletteTag = 55021,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085E519C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- },
- {
- .tileTag = 55022,
- .paletteTag = 55022,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085E519C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- },
- {
- .tileTag = 55023,
- .paletteTag = 55023,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085E519C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- },
- {
- .tileTag = 55024,
- .paletteTag = 55024,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085E519C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- },
- {
- .tileTag = 55025,
- .paletteTag = 55025,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085E519C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- },
- {
- .tileTag = 55026,
- .paletteTag = 55026,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085E519C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- },
- {
- .tileTag = 55027,
- .paletteTag = 55027,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085E519C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- },
- {
- .tileTag = 55028,
- .paletteTag = 55028,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085E519C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- },
- {
- .tileTag = 55029,
- .paletteTag = 55029,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085E519C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- },
- {
- .tileTag = 55030,
- .paletteTag = 55030,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085E519C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- },
- {
- .tileTag = 55031,
- .paletteTag = 55031,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085E519C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
- },
-};
-
-const u16 gUnknown_085E5310[] =
-{
- RGB(31, 22, 30),
- RGB(16, 23, 30),
- RGB(23, 30, 20),
- RGB(31, 31, 15),
- RGB(23, 20, 28),
- RGB(21, 31, 25),
- RGB(12, 25, 30),
- RGB(30, 27, 10),
- RGB(31, 24, 16),
- RGB(29, 30, 30),
- RGB(31, 17, 10),
- RGB(31, 9, 10),
- RGB(0, 0, 0),
- RGB(1, 16, 0),
- RGB(3, 0, 1),
- RGB(1, 8, 0),
- RGB(0, 8, 0),
- RGB(3, 8, 1),
- RGB(6, 8, 1),
- RGB(4, 0, 0),
-};
-
-const struct SpriteTemplate gBattleAnimSpriteTemplate_85E5338 =
-{
- .tileTag = ANIM_TAG_UNUSED_RED_BRICK,
- .paletteTag = ANIM_TAG_UNUSED_RED_BRICK,
- .oam = &gUnknown_0852490C,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_817330C,
-};
-
-const union AnimCmd gUnknown_085E5350[] =
-{
- ANIMCMD_FRAME(64, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_085E5358[] = {
- gUnknown_085E5350,
-};
-
-const struct SpriteTemplate gBattleAnimSpriteTemplate_085E535C =
-{
- .tileTag = ANIM_TAG_ROCKS,
- .paletteTag = ANIM_TAG_ROCKS,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_085E5358,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_817330C,
-};
-
-extern const struct SpriteTemplate gUnknown_085CE388;
-extern const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate;
-
-void unref_sub_8170478(u8 taskId)
-{
- struct BattleAnimBgData unknownStruct;
- u8 healthBoxSpriteId;
- u8 battler;
- u8 spriteId1, spriteId2, spriteId3, spriteId4;
-
- battler = gBattleAnimAttacker;
- gBattle_WIN0H = 0;
- gBattle_WIN0V = 0;
- SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
- SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
- SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON);
- SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
- SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 0);
- SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 0);
- SetAnimBgAttribute(1, BG_ANIM_AREA_OVERFLOW_MODE, 1);
- SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
-
- healthBoxSpriteId = gHealthboxSpriteIds[battler];
- spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam;
- spriteId2 = gSprites[healthBoxSpriteId].data[5];
- spriteId3 = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
- spriteId4 = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
- gSprites[healthBoxSpriteId].oam.priority = 1;
- gSprites[spriteId1].oam.priority = 1;
- gSprites[spriteId2].oam.priority = 1;
- gSprites[spriteId3] = gSprites[healthBoxSpriteId];
- gSprites[spriteId4] = gSprites[spriteId1];
- gSprites[spriteId3].oam.objMode = ST_OAM_OBJ_WINDOW;
- gSprites[spriteId4].oam.objMode = ST_OAM_OBJ_WINDOW;
- gSprites[spriteId3].callback = SpriteCallbackDummy;
- gSprites[spriteId4].callback = SpriteCallbackDummy;
-
- sub_80A6B30(&unknownStruct);
- AnimLoadCompressedBgTilemap(unknownStruct.bgId, gUnknown_08C2EA9C);
- AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_08C2EA50, unknownStruct.tilesOffset);
- LoadCompressedPalette(gCureBubblesPal, unknownStruct.paletteId << 4, 32);
-
- gBattle_BG1_X = -gSprites[spriteId3].pos1.x + 32;
- gBattle_BG1_Y = -gSprites[spriteId3].pos1.y - 32;
- gTasks[taskId].data[1] = 640;
- gTasks[taskId].data[0] = spriteId3;
- gTasks[taskId].data[2] = spriteId4;
- gTasks[taskId].func = sub_8170660;
-}
-
-static void sub_8170660(u8 taskId)
-{
- u8 spriteId1, spriteId2;
- u8 battler;
-
- battler = gBattleAnimAttacker;
- gTasks[taskId].data[13] += gTasks[taskId].data[1];
- gBattle_BG1_Y += (u16)gTasks[taskId].data[13] >> 8;
- gTasks[taskId].data[13] &= 0xFF;
-
- switch (gTasks[taskId].data[15])
- {
- case 0:
- if (gTasks[taskId].data[11]++ > 1)
- {
- gTasks[taskId].data[11] = 0;
- gTasks[taskId].data[12]++;
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
- if (gTasks[taskId].data[12] == 8)
- gTasks[taskId].data[15]++;
- }
- break;
- case 1:
- if (++gTasks[taskId].data[10] == 30)
- gTasks[taskId].data[15]++;
- break;
- case 2:
- if (gTasks[taskId].data[11]++ > 1)
- {
- gTasks[taskId].data[11] = 0;
- gTasks[taskId].data[12]--;
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
- if (gTasks[taskId].data[12] == 0)
- {
- sub_80A477C(0);
- gBattle_WIN0H = 0;
- gBattle_WIN0V = 0;
- SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
- SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
- if (!IsContest())
- SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
-
- SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON);
- SetGpuReg(REG_OFFSET_BLDCNT, 0);
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0));
- DestroySprite(&gSprites[gTasks[taskId].data[0]]);
- DestroySprite(&gSprites[gTasks[taskId].data[2]]);
- SetAnimBgAttribute(1, BG_ANIM_AREA_OVERFLOW_MODE, 0);
- spriteId1 = gSprites[gHealthboxSpriteIds[battler]].oam.affineParam;
- spriteId2 = gSprites[gHealthboxSpriteIds[battler]].data[5];
- gSprites[gHealthboxSpriteIds[battler]].oam.priority = 1;
- gSprites[spriteId1].oam.priority = 1;
- gSprites[spriteId2].oam.priority = 1;
- DestroyAnimVisualTask(taskId);
- }
- }
- break;
- }
-}
-
-static void sub_8170834(u8 *paletteId1, u8 *paletteId2, u8 battler)
-{
- u8 healthBoxSpriteId;
- u8 spriteId1, spriteId2;
- u16 offset1, offset2;
-
- healthBoxSpriteId = gHealthboxSpriteIds[battler];
- spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam;
- spriteId2 = gSprites[healthBoxSpriteId].data[5];
- *paletteId1 = AllocSpritePalette(0xD709);
- *paletteId2 = AllocSpritePalette(0xD70A);
-
- offset1 = (gSprites[healthBoxSpriteId].oam.paletteNum * 16) + 0x100;
- offset2 = (gSprites[spriteId2].oam.paletteNum * 16) + 0x100;
- LoadPalette(&gPlttBufferUnfaded[offset1], *paletteId1 * 16 + 0x100, 0x20);
- LoadPalette(&gPlttBufferUnfaded[offset2], *paletteId2 * 16 + 0x100, 0x20);
-
- gSprites[healthBoxSpriteId].oam.paletteNum = *paletteId1;
- gSprites[spriteId1].oam.paletteNum = *paletteId1;
- gSprites[spriteId2].oam.paletteNum = *paletteId2;
-}
-
-void sub_8170920(u8 taskId)
-{
- u8 paletteId1, paletteId2;
- sub_8170834(&paletteId1, &paletteId2, gBattleAnimAttacker);
- DestroyAnimVisualTask(taskId);
-}
-
-static void sub_817094C(u8 battler)
-{
- u8 healthBoxSpriteId;
- u8 spriteId1, spriteId2;
- u8 paletteId1, paletteId2;
-
- healthBoxSpriteId = gHealthboxSpriteIds[battler];
- spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam;
- spriteId2 = gSprites[healthBoxSpriteId].data[5];
-
- FreeSpritePaletteByTag(0xD709);
- FreeSpritePaletteByTag(0xD70A);
- paletteId1 = IndexOfSpritePaletteTag(0xD6FF);
- paletteId2 = IndexOfSpritePaletteTag(0xD704);
- gSprites[healthBoxSpriteId].oam.paletteNum = paletteId1;
- gSprites[spriteId1].oam.paletteNum = paletteId1;
- gSprites[spriteId2].oam.paletteNum = paletteId2;
-}
-
-void sub_81709EC(u8 taskId)
-{
- sub_817094C(gBattleAnimAttacker);
- DestroyAnimVisualTask(taskId);
-}
-
-void sub_8170A0C(u8 taskId)
-{
- gTasks[taskId].data[10] = gBattleAnimArgs[0];
- gTasks[taskId].data[11] = gBattleAnimArgs[1];
- gTasks[taskId].func = sub_8170A38;
-}
-
-static void sub_8170A38(u8 taskId)
-{
- u8 paletteNum;
- int paletteOffset, colorOffset;
-
- gTasks[taskId].data[0]++;
- if (gTasks[taskId].data[0]++ >= gTasks[taskId].data[11])
- {
- gTasks[taskId].data[0] = 0;
- paletteNum = IndexOfSpritePaletteTag(0xD709);
- colorOffset = gTasks[taskId].data[10] == 0 ? 6 : 2;
- switch (gTasks[taskId].data[1])
- {
- case 0:
- gTasks[taskId].data[2] += 2;
- if (gTasks[taskId].data[2] > 16)
- gTasks[taskId].data[2] = 16;
-
- paletteOffset = paletteNum * 16 + 0x100;
- BlendPalette(paletteOffset + colorOffset, 1, gTasks[taskId].data[2], RGB(20, 27, 31));
- if (gTasks[taskId].data[2] == 16)
- gTasks[taskId].data[1]++;
- break;
- case 1:
- gTasks[taskId].data[2] -= 2;
- if (gTasks[taskId].data[2] < 0)
- gTasks[taskId].data[2] = 0;
-
- paletteOffset = paletteNum * 16 + 0x100;
- BlendPalette(paletteOffset + colorOffset, 1, gTasks[taskId].data[2], RGB(20, 27, 31));
- if (gTasks[taskId].data[2] == 0)
- DestroyAnimVisualTask(taskId);
- break;
- }
- }
-}
-
-void sub_8170B04(u8 taskId)
-{
- u8 spriteId;
-
- spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
- switch (gTasks[taskId].data[0])
- {
- case 0:
- PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
- gTasks[taskId].data[10] = 0x100;
- gTasks[taskId].data[0]++;
- break;
- case 1:
- gTasks[taskId].data[10] += 0x30;
- SetSpriteRotScale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[10], 0);
- SetBattlerSpriteYOffsetFromYScale(spriteId);
- if (gTasks[taskId].data[10] >= 0x2D0)
- gTasks[taskId].data[0]++;
- break;
- case 2:
- ResetSpriteRotScale(spriteId);
- gSprites[spriteId].invisible = 1;
- DestroyAnimVisualTask(taskId);
- break;
- }
-}
-
-void sub_8170BB0(u8 taskId)
-{
- u8 spriteId;
- u16 ball;
- u8 ballId;
- u8 x, y;
- u8 priority, subpriority;
- u32 selectedPalettes;
-
- spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
- if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
- ball = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_POKEBALL);
- else
- ball = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_POKEBALL);
-
- ballId = ItemIdToBallId(ball);
- switch (gTasks[taskId].data[0])
- {
- case 0:
- x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
- priority = gSprites[spriteId].oam.priority;
- subpriority = gSprites[spriteId].subpriority;
- gTasks[taskId].data[10] = AnimateBallOpenParticles(x, y + 32, priority, subpriority, ballId);
- selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0);
- gTasks[taskId].data[11] = LaunchBallFadeMonTask(0, gBattleAnimAttacker, selectedPalettes, ballId);
- gTasks[taskId].data[0]++;
- break;
- case 1:
- if (!gTasks[gTasks[taskId].data[10]].isActive && !gTasks[gTasks[taskId].data[11]].isActive)
- DestroyAnimVisualTask(taskId);
- break;
- }
-}
-
-void sub_8170CFC(u8 taskId)
-{
- u8 ballId = ItemIdToBallId(gLastUsedItem);
- LoadBallGfx(ballId);
- DestroyAnimVisualTask(taskId);
-}
-
-void sub_8170D24(u8 taskId)
-{
- u8 ballId = ItemIdToBallId(gLastUsedItem);
- FreeBallGfx(ballId);
- DestroyAnimVisualTask(taskId);
-}
-
-void AnimTask_IsBallBlockedByTrainer(u8 taskId)
-{
- if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_TRAINER_BLOCK)
- gBattleAnimArgs[7] = -1;
- else
- gBattleAnimArgs[7] = 0;
-
- DestroyAnimVisualTask(taskId);
-}
-
-u8 ItemIdToBallId(u16 ballItem)
-{
- switch (ballItem)
- {
- case ITEM_MASTER_BALL:
- return 4;
- case ITEM_ULTRA_BALL:
- return 3;
- case ITEM_GREAT_BALL:
- return 1;
- case ITEM_SAFARI_BALL:
- return 2;
- case ITEM_NET_BALL:
- return 5;
- case ITEM_DIVE_BALL:
- return 6;
- case ITEM_NEST_BALL:
- return 7;
- case ITEM_REPEAT_BALL:
- return 8;
- case ITEM_TIMER_BALL:
- return 9;
- case ITEM_LUXURY_BALL:
- return 10;
- case ITEM_PREMIER_BALL:
- return 11;
- case ITEM_POKE_BALL:
- default:
- return 0;
- }
-}
-
-void sub_8170E04(u8 taskId)
-{
- u8 ballId;
- u8 spriteId;
-
- ballId = ItemIdToBallId(gLastUsedItem);
- spriteId = CreateSprite(&gBallSpriteTemplates[ballId], 32, 80, 29);
- gSprites[spriteId].data[0] = 34;
- gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) - 16;
- gSprites[spriteId].callback = sub_8171104;
- gBattleSpritesDataPtr->animationData->field_9_x2 = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible;
- gTasks[taskId].data[0] = spriteId;
- gTasks[taskId].func = sub_8170EF0;
-}
-
-static void sub_8170EF0(u8 taskId)
-{
- u8 spriteId = gTasks[taskId].data[0];
- if ((u16)gSprites[spriteId].data[0] == 0xFFFF)
- DestroyAnimVisualTask(taskId);
-}
-
-void sub_8170F2C(u8 taskId)
-{
- int x, y;
- u8 ballId;
- u8 subpriority;
- u8 spriteId;
-
- if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL)
- {
- x = 32;
- y = 11;
- }
- else
- {
- x = 23;
- y = 5;
- }
-
- ballId = ItemIdToBallId(gLastUsedItem);
- subpriority = GetBattlerSpriteSubpriority(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + 1;
- spriteId = CreateSprite(&gBallSpriteTemplates[ballId], x + 32, y | 80, subpriority);
- gSprites[spriteId].data[0] = 34;
- gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) - 16;
- gSprites[spriteId].callback = SpriteCallbackDummy;
- gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].callback = sub_8039E84;
- gTasks[taskId].data[0] = spriteId;
- gTasks[taskId].func = sub_8171030;
-}
-
-static void sub_8171030(u8 taskId)
-{
- if (gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].animCmdIndex == 1)
- {
- PlaySE12WithPanning(SE_NAGERU, 0);
- gSprites[gTasks[taskId].data[0]].callback = sub_8171104;
- CreateTask(sub_81710A8, 10);
- gTasks[taskId].func = sub_8170EF0;
- }
-}
-
-static void sub_81710A8(u8 taskId)
-{
- if (gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].animEnded)
- {
- StartSpriteAnim(&gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]], 0);
- DestroyTask(taskId);
- }
-}
-
-static void sub_8171104(struct Sprite *sprite)
-{
- u16 temp = sprite->data[1];
- u16 temp2 = sprite->data[2];
- sprite->data[1] = sprite->pos1.x;
- sprite->data[2] = temp;
- sprite->data[3] = sprite->pos1.y;
- sprite->data[4] = temp2;
- sprite->data[5] = -40;
- InitAnimArcTranslation(sprite);
- sprite->callback = sub_8171134;
-}
-
-static void sub_8171134(struct Sprite *sprite)
-{
- int i;
- u8 ballId;
- int ballId2; // extra var needed to match
-
- if (TranslateAnimHorizontalArc(sprite))
- {
- if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_TRAINER_BLOCK)
- {
- sprite->callback = sub_8171CAC;
- }
- else
- {
- StartSpriteAnim(sprite, 1);
- sprite->pos1.x += sprite->pos2.x;
- sprite->pos1.y += sprite->pos2.y;
- sprite->pos2.x = 0;
- sprite->pos2.y = 0;
-
- for (i = 0; i < 8; i++)
- sprite->data[i] = 0;
-
- sprite->data[5] = 0;
- sprite->callback = sub_81711E8;
- ballId = ItemIdToBallId(gLastUsedItem);
- ballId2 = ballId;
- if (ballId2 > 11)
- return;
- if (ballId2 < 0)
- return;
-
- AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId);
- LaunchBallFadeMonTask(0, gBattleAnimTarget, 14, ballId);
- }
- }
-}
-
-static void sub_81711E8(struct Sprite *sprite)
-{
- if (++sprite->data[5] == 10)
- {
- sprite->data[5] = CreateTask(TaskDummy, 50);
- sprite->callback = sub_8171240;
- gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] = 0;
- }
-}
-
-static void sub_8171240(struct Sprite *sprite)
-{
- u8 spriteId;
- u8 taskId;
-
- spriteId = gBattlerSpriteIds[gBattleAnimTarget];
- taskId = sprite->data[5];
-
- if (++gTasks[taskId].data[1] == 11)
- PlaySE(SE_SUIKOMU);
-
- switch (gTasks[taskId].data[0])
- {
- case 0:
- PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
- gTasks[taskId].data[10] = 256;
- gUnknown_030062DC = 28;
- gUnknown_030062E4 = (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) - (sprite->pos1.y + sprite->pos2.y);
- gUnknown_030062E0 = (u32)(gUnknown_030062E4 * 256) / 28;
- gTasks[taskId].data[2] = gUnknown_030062E0;
- gTasks[taskId].data[0]++;
- break;
- case 1:
- gTasks[taskId].data[10] += 0x20;
- SetSpriteRotScale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[10], 0);
- gTasks[taskId].data[3] += gTasks[taskId].data[2];
- gSprites[spriteId].pos2.y = -gTasks[taskId].data[3] >> 8;
- if (gTasks[taskId].data[10] >= 0x480)
- gTasks[taskId].data[0]++;
- break;
- case 2:
- ResetSpriteRotScale(spriteId);
- gSprites[spriteId].invisible = 1;
- gTasks[taskId].data[0]++;
- break;
- default:
- if (gTasks[taskId].data[1] > 10)
- {
- DestroyTask(taskId);
- StartSpriteAnim(sprite, 2);
- sprite->data[5] = 0;
- sprite->callback = sub_817138C;
- }
- break;
- }
-}
-
-static void sub_817138C(struct Sprite *sprite)
-{
- int angle;
-
- if (sprite->animEnded)
- {
- sprite->data[3] = 0;
- sprite->data[4] = 40;
- sprite->data[5] = 0;
- angle = 0;
- sprite->pos1.y += Cos(angle, 40);
- sprite->pos2.y = -Cos(angle, sprite->data[4]);
- sprite->callback = sub_81713D0;
- }
-}
-
-static void sub_81713D0(struct Sprite *sprite)
-{
- bool8 lastBounce;
- int bounceCount;
-
- lastBounce = 0;
-
- switch (sprite->data[3] & 0xFF)
- {
- case 0:
- sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
- sprite->data[5] += (sprite->data[3] >> 8) + 4;
- if (sprite->data[5] >= 64)
- {
- sprite->data[4] -= 10;
- sprite->data[3] += 257;
-
- bounceCount = sprite->data[3] >> 8;
- if (bounceCount == 4)
- lastBounce = 1;
-
- // Play a different sound effect for each pokeball bounce.
- switch (bounceCount)
- {
- case 1:
- PlaySE(SE_KON);
- break;
- case 2:
- PlaySE(SE_KON2);
- break;
- case 3:
- PlaySE(SE_KON3);
- break;
- default:
- PlaySE(SE_KON4);
- break;
- }
- }
- break;
- case 1:
- sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
- sprite->data[5] -= (sprite->data[3] >> 8) + 4;
- if (sprite->data[5] <= 0)
- {
- sprite->data[5] = 0;
- sprite->data[3] &= -0x100;
- }
- break;
- }
-
- if (lastBounce)
- {
- sprite->data[3] = 0;
- sprite->pos1.y += Cos(64, 40);
- sprite->pos2.y = 0;
- if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_NO_SHAKES)
- {
- sprite->data[5] = 0;
- sprite->callback = sub_81717B4;
- }
- else
- {
- sprite->callback = sub_81714D4;
- sprite->data[4] = 1;
- sprite->data[5] = 0;
- }
- }
-}
-
-static void sub_81714D4(struct Sprite *sprite)
-{
- if (++sprite->data[3] == 31)
- {
- sprite->data[3] = 0;
- sprite->affineAnimPaused = 1;
- StartSpriteAffineAnim(sprite, 1);
- gBattleSpritesDataPtr->animationData->field_C = 0;
- sprite->callback = sub_8171520;
- PlaySE(SE_BOWA);
- }
-}
-
-static void sub_8171520(struct Sprite *sprite)
-{
- s8 state;
- u16 var0;
-
- switch (sprite->data[3] & 0xFF)
- {
- case 0:
- if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
- {
- sprite->pos2.x += sprite->data[4];
- gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
- }
- else
- {
- gBattleSpritesDataPtr->animationData->field_C += 0xB0;
- }
-
- sprite->data[5]++;
- sprite->affineAnimPaused = 0;
- var0 = sprite->data[5] + 7;
- if (var0 > 14)
- {
- gBattleSpritesDataPtr->animationData->field_C = 0;
- sprite->data[3]++;
- sprite->data[5] = 0;
- }
- break;
- case 1:
- if (++sprite->data[5] == 1)
- {
- sprite->data[5] = 0;
- sprite->data[4] = -sprite->data[4];
- sprite->data[3]++;
- sprite->affineAnimPaused = 0;
- if (sprite->data[4] < 0)
- ChangeSpriteAffineAnim(sprite, 2);
- else
- ChangeSpriteAffineAnim(sprite, 1);
- }
- else
- {
- sprite->affineAnimPaused = 1;
- }
- break;
- case 2:
- if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
- {
- sprite->pos2.x += sprite->data[4];
- gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
- }
- else
- {
- gBattleSpritesDataPtr->animationData->field_C += 0xB0;
- }
-
- sprite->data[5]++;
- sprite->affineAnimPaused = 0;
- var0 = sprite->data[5] + 12;
- if (var0 > 24)
- {
- gBattleSpritesDataPtr->animationData->field_C = 0;
- sprite->data[3]++;
- sprite->data[5] = 0;
- }
- break;
- case 3:
- if (sprite->data[5]++ < 0)
- {
- sprite->affineAnimPaused = 1;
- break;
- }
-
- sprite->data[5] = 0;
- sprite->data[4] = -sprite->data[4];
- sprite->data[3]++;
- sprite->affineAnimPaused = 0;
- if (sprite->data[4] < 0)
- ChangeSpriteAffineAnim(sprite, 2);
- else
- ChangeSpriteAffineAnim(sprite, 1);
- // fall through
- case 4:
- if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
- {
- sprite->pos2.x += sprite->data[4];
- gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
- }
- else
- {
- gBattleSpritesDataPtr->animationData->field_C += 0xB0;
- }
-
- sprite->data[5]++;
- sprite->affineAnimPaused = 0;
- var0 = sprite->data[5] + 4;
- if (var0 > 8)
- {
- gBattleSpritesDataPtr->animationData->field_C = 0;
- sprite->data[3]++;
- sprite->data[5] = 0;
- sprite->data[4] = -sprite->data[4];
- }
- break;
- case 5:
- sprite->data[3] += 0x100;
- state = sprite->data[3] >> 8;
- if (state == gBattleSpritesDataPtr->animationData->ballThrowCaseId)
- {
- sprite->affineAnimPaused = 1;
- sprite->callback = sub_81717B4;
- }
- else
- {
- if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_3_SHAKES_SUCCESS && state == 3)
- {
- sprite->callback = sub_81717D8;
- sprite->affineAnimPaused = 1;
- }
- else
- {
- sprite->data[3]++;
- sprite->affineAnimPaused = 1;
- }
- }
- break;
- case 6:
- default:
- if (++sprite->data[5] == 31)
- {
- sprite->data[5] = 0;
- sprite->data[3] &= -0x100;
- StartSpriteAffineAnim(sprite, 3);
- if (sprite->data[4] < 0)
- StartSpriteAffineAnim(sprite, 2);
- else
- StartSpriteAffineAnim(sprite, 1);
-
- PlaySE(SE_BOWA);
- }
- break;
- }
-}
-
-static void sub_81717B4(struct Sprite *sprite)
-{
- if (++sprite->data[5] == 31)
- {
- sprite->data[5] = 0;
- sprite->callback = sub_8171AE4;
- }
-}
-
-static void sub_81717D8(struct Sprite *sprite)
-{
- sprite->animPaused = 1;
- sprite->callback = sub_81717F8;
- sprite->data[3] = 0;
- sprite->data[4] = 0;
- sprite->data[5] = 0;
-}
-
-static void sub_81717F8(struct Sprite *sprite)
-{
- u8 *battler = &gBattleAnimTarget;
-
- sprite->data[4]++;
- if (sprite->data[4] == 40)
- {
- PlaySE(SE_RG_GETTING);
- BlendPalettes(0x10000 << sprite->oam.paletteNum, 6, RGB(0, 0, 0));
- sub_81719EC(sprite);
- }
- else if (sprite->data[4] == 60)
- {
- BeginNormalPaletteFade(0x10000 << sprite->oam.paletteNum, 2, 6, 0, RGB(0, 0, 0));
- }
- else if (sprite->data[4] == 95)
- {
- gDoingBattleAnim = 0;
- UpdateOamPriorityInAllHealthboxes(1);
- m4aMPlayAllStop();
- PlaySE(MUS_RG_FAN6);
- }
- else if (sprite->data[4] == 315)
- {
- FreeOamMatrix(gSprites[gBattlerSpriteIds[*battler]].oam.matrixNum);
- DestroySprite(&gSprites[gBattlerSpriteIds[*battler]]);
- sprite->data[0] = 0;
- sprite->callback = sub_81718D8;
- }
-}
-
-static void sub_81718D8(struct Sprite *sprite)
-{
- u8 paletteIndex;
-
- switch (sprite->data[0])
- {
- case 0:
- sprite->data[1] = 0;
- sprite->data[2] = 0;
- sprite->oam.objMode = ST_OAM_OBJ_BLEND;
- SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
- paletteIndex = IndexOfSpritePaletteTag(sprite->template->paletteTag);
- BeginNormalPaletteFade(1 << (paletteIndex + 0x10), 0, 0, 16, RGB(31, 31, 31));
- sprite->data[0]++;
- break;
- case 1:
- if (sprite->data[1]++ > 0)
- {
- sprite->data[1] = 0;
- sprite->data[2]++;
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - sprite->data[2], sprite->data[2]));
- if (sprite->data[2] == 16)
- sprite->data[0]++;
- }
- break;
- case 2:
- sprite->invisible = 1;
- sprite->data[0]++;
- break;
- default:
- if (!gPaletteFade.active)
- {
- SetGpuReg(REG_OFFSET_BLDCNT, 0);
- SetGpuReg(REG_OFFSET_BLDALPHA, 0);
- sprite->data[0] = 0;
- sprite->callback = sub_81719C0;
- }
- break;
- }
-}
-
-static void sub_81719C0(struct Sprite *sprite)
-{
- if (sprite->data[0] == 0)
- {
- sprite->data[0] = -1;
- }
- else
- {
- FreeSpriteOamMatrix(sprite);
- DestroySprite(sprite);
- }
-}
-
-static void sub_81719EC(struct Sprite *sprite)
-{
- u32 i;
- u8 subpriority;
-
- if (sprite->subpriority)
- {
- subpriority = sprite->subpriority - 1;
- }
- else
- {
- subpriority = 0;
- sprite->subpriority = 1;
- }
-
- sub_8171D60(4);
- for (i = 0; i < 3; i++)
- {
- u8 spriteId = CreateSprite(&gUnknown_085E51F0[4], sprite->pos1.x, sprite->pos1.y, subpriority);
- if (spriteId != MAX_SPRITES)
- {
- gSprites[spriteId].data[0] = 24;
- gSprites[spriteId].data[2] = sprite->pos1.x + sBallCaptureSuccessStarData[i].xOffset;
- gSprites[spriteId].data[4] = sprite->pos1.y + sBallCaptureSuccessStarData[i].yOffset;
- gSprites[spriteId].data[5] = sBallCaptureSuccessStarData[i].unk2;
- InitAnimArcTranslation(&gSprites[spriteId]);
- gSprites[spriteId].callback = sub_8171AAC;
- StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[4]);
- }
- }
-}
-
-static void sub_8171AAC(struct Sprite *sprite)
-{
- sprite->invisible = !sprite->invisible;
- if (TranslateAnimHorizontalArc(sprite))
- DestroySprite(sprite);
-}
-
-// fakematching. I think the return type of ItemIdToBallId()
-// is wrong because of the weird required casting.
-static void sub_8171AE4(struct Sprite *sprite)
-{
- u8 ballId;
- int ballId2; // extra var needed to match
-
- StartSpriteAnim(sprite, 1);
- StartSpriteAffineAnim(sprite, 0);
- sprite->callback = sub_8171BAC;
-
- ballId = ItemIdToBallId(gLastUsedItem);
- ballId2 = ballId;
- if (ballId2 > 11)
- goto LABEL;
- if (ballId2 < 0)
- goto LABEL;
-
- AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId);
- LaunchBallFadeMonTask(1, gBattleAnimTarget, 14, ballId);
-
- LABEL:
- gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = 0;
- StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 1);
- AnimateSprite(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]]);
- gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] = 0x1000;
-}
-
-static void sub_8171BAC(struct Sprite *sprite)
-{
- int next = FALSE;
-
- if (sprite->animEnded)
- sprite->invisible = 1;
-
- if (gSprites[gBattlerSpriteIds[gBattleAnimTarget]].affineAnimEnded)
- {
- StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 0);
- next = TRUE;
- }
- else
- {
- gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] -= 288;
- gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] >> 8;
- }
-
- if (sprite->animEnded && next)
- {
- gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = 0;
- gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = gBattleSpritesDataPtr->animationData->field_9_x2;
- sprite->data[0] = 0;
- sprite->callback = sub_81719C0;
- gDoingBattleAnim = 0;
- UpdateOamPriorityInAllHealthboxes(1);
- }
-}
-
-static void sub_8171CAC(struct Sprite *sprite)
-{
- int i;
-
- sprite->pos1.x += sprite->pos2.x;
- sprite->pos1.y += sprite->pos2.y;
- sprite->pos2.y = 0;
- sprite->pos2.x = 0;
- for (i = 0; i < 6; i++)
- sprite->data[i] = 0;
-
- sprite->callback = sub_8171CE8;
-}
-
-static void sub_8171CE8(struct Sprite *sprite)
-{
- s16 var0 = sprite->data[0] + 0x800;
- s16 var1 = sprite->data[1] + 0x680;
- sprite->pos2.x -= var1 >> 8;
- sprite->pos2.y += var0 >> 8;
- sprite->data[0] = (sprite->data[0] + 0x800) & 0xFF;
- sprite->data[1] = (sprite->data[1] + 0x680) & 0xFF;
-
- if (sprite->pos1.y + sprite->pos2.y > 160
- || sprite->pos1.x + sprite->pos2.x < -8)
- {
- sprite->data[0] = 0;
- sprite->callback = sub_81719C0;
- gDoingBattleAnim = 0;
- UpdateOamPriorityInAllHealthboxes(1);
- }
-}
-
-static void sub_8171D60(u8 ballId)
-{
- u8 taskId;
-
- if (GetSpriteTileStartByTag(gBallOpenParticleSpritesheets[ballId].tag) == 0xFFFF)
- {
- LoadCompressedSpriteSheetUsingHeap(&gBallOpenParticleSpritesheets[ballId]);
- LoadCompressedSpritePaletteUsingHeap(&gBallOpenParticlePalettes[ballId]);
- }
-}
-
-u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId)
-{
- u8 taskId;
-
- sub_8171D60(ballId);
- taskId = CreateTask(gBallOpenParticleAnimationFuncs[ballId], 5);
- gTasks[taskId].data[1] = x;
- gTasks[taskId].data[2] = y;
- gTasks[taskId].data[3] = priority;
- gTasks[taskId].data[4] = subpriority;
- gTasks[taskId].data[15] = ballId;
- PlaySE(SE_BOWA2);
-
- return taskId;
-}
-
-void sub_8171E20(void)
-{
- if (gMain.inBattle)
- gBattleSpritesDataPtr->animationData->field_A++;
-}
-
-static void PokeBallOpenParticleAnimation(u8 taskId)
-{
- u8 spriteId;
- u8 x, y;
- u8 priority, subpriority;
- u8 ballId;
- u8 var0;
-
- ballId = gTasks[taskId].data[15];
- if (gTasks[taskId].data[0] < 16)
- {
- x = gTasks[taskId].data[1];
- y = gTasks[taskId].data[2];
- priority = gTasks[taskId].data[3];
- subpriority = gTasks[taskId].data[4];
-
- spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
- if (spriteId != MAX_SPRITES)
- {
- sub_8171E20();
- StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
- gSprites[spriteId].callback = PokeBallOpenParticleAnimation_Step1;
- gSprites[spriteId].oam.priority = priority;
-
- var0 = (u8)gTasks[taskId].data[0];
- if (var0 >= 8)
- var0 -= 8;
-
- gSprites[spriteId].data[0] = var0 * 32;
- }
-
- if (gTasks[taskId].data[0] == 15)
- {
- if (!gMain.inBattle)
- gSprites[spriteId].data[7] = 1;
-
- DestroyTask(taskId);
- return;
- }
- }
-
- gTasks[taskId].data[0]++;
-}
-
-static void PokeBallOpenParticleAnimation_Step1(struct Sprite *sprite)
-{
- if (sprite->data[1] == 0)
- sprite->callback = PokeBallOpenParticleAnimation_Step2;
- else
- sprite->data[1]--;
-}
-
-static void PokeBallOpenParticleAnimation_Step2(struct Sprite *sprite)
-{
- sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
- sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]);
- sprite->data[1] += 2;
- if (sprite->data[1] == 50)
- DestroyBallOpenAnimationParticle(sprite);
-}
-
-static void TimerBallOpenParticleAnimation(u8 taskId)
-{
- u8 i;
- u8 x, y, priority, subpriority, ballId;
- u8 spriteId;
-
- ballId = gTasks[taskId].data[15];
- x = gTasks[taskId].data[1];
- y = gTasks[taskId].data[2];
- priority = gTasks[taskId].data[3];
- subpriority = gTasks[taskId].data[4];
-
- for (i = 0; i < 8; i++)
- {
- spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
- if (spriteId != MAX_SPRITES)
- {
- sub_8171E20();
- StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
- gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
- gSprites[spriteId].oam.priority = priority;
- gSprites[spriteId].data[0] = i * 32;
- gSprites[spriteId].data[4] = 10;
- gSprites[spriteId].data[5] = 2;
- gSprites[spriteId].data[6] = 1;
- }
- }
-
- if (!gMain.inBattle)
- gSprites[spriteId].data[7] = 1;
-
- DestroyTask(taskId);
-}
-
-static void DiveBallOpenParticleAnimation(u8 taskId)
-{
- u8 i;
- u8 x, y, priority, subpriority, ballId;
- u8 spriteId;
-
- ballId = gTasks[taskId].data[15];
- x = gTasks[taskId].data[1];
- y = gTasks[taskId].data[2];
- priority = gTasks[taskId].data[3];
- subpriority = gTasks[taskId].data[4];
-
- for (i = 0; i < 8; i++)
- {
- spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
- if (spriteId != MAX_SPRITES)
- {
- sub_8171E20();
- StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
- gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
- gSprites[spriteId].oam.priority = priority;
- gSprites[spriteId].data[0] = i * 32;
- gSprites[spriteId].data[4] = 10;
- gSprites[spriteId].data[5] = 1;
- gSprites[spriteId].data[6] = 2;
- }
- }
-
- if (!gMain.inBattle)
- gSprites[spriteId].data[7] = 1;
-
- DestroyTask(taskId);
-}
-
-// Also used for Net Ball
-static void SafariBallOpenParticleAnimation(u8 taskId)
-{
- u8 i;
- u8 x, y, priority, subpriority, ballId;
- u8 spriteId;
-
- ballId = gTasks[taskId].data[15];
- x = gTasks[taskId].data[1];
- y = gTasks[taskId].data[2];
- priority = gTasks[taskId].data[3];
- subpriority = gTasks[taskId].data[4];
-
- for (i = 0; i < 8; i++)
- {
- spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
- if (spriteId != MAX_SPRITES)
- {
- sub_8171E20();
- StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
- gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
- gSprites[spriteId].oam.priority = priority;
- gSprites[spriteId].data[0] = i * 32;
- gSprites[spriteId].data[4] = 4;
- gSprites[spriteId].data[5] = 1;
- gSprites[spriteId].data[6] = 1;
- }
- }
-
- if (!gMain.inBattle)
- gSprites[spriteId].data[7] = 1;
-
- DestroyTask(taskId);
-}
-
-// Also used for Nest Ball
-static void UltraBallOpenParticleAnimation(u8 taskId)
-{
- u8 i;
- u8 x, y, priority, subpriority, ballId;
- u8 spriteId;
-
- ballId = gTasks[taskId].data[15];
- x = gTasks[taskId].data[1];
- y = gTasks[taskId].data[2];
- priority = gTasks[taskId].data[3];
- subpriority = gTasks[taskId].data[4];
-
- for (i = 0; i < 10; i++)
- {
- spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
- if (spriteId != MAX_SPRITES)
- {
- sub_8171E20();
- StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
- gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
- gSprites[spriteId].oam.priority = priority;
- gSprites[spriteId].data[0] = i * 25;
- gSprites[spriteId].data[4] = 5;
- gSprites[spriteId].data[5] = 1;
- gSprites[spriteId].data[6] = 1;
- }
- }
-
- if (!gMain.inBattle)
- gSprites[spriteId].data[7] = 1;
-
- DestroyTask(taskId);
-}
-
-// Also used for Luxury Ball
-static void GreatBallOpenParticleAnimation(u8 taskId)
-{
- u8 i;
- u8 x, y, priority, subpriority, ballId;
- u8 spriteId;
-
- if (gTasks[taskId].data[7])
- {
- gTasks[taskId].data[7]--;
- }
- else
- {
- ballId = gTasks[taskId].data[15];
- x = gTasks[taskId].data[1];
- y = gTasks[taskId].data[2];
- priority = gTasks[taskId].data[3];
- subpriority = gTasks[taskId].data[4];
-
- for (i = 0; i < 8; i++)
- {
- spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
- if (spriteId != MAX_SPRITES)
- {
- sub_8171E20();
- StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
- gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
- gSprites[spriteId].oam.priority = priority;
- gSprites[spriteId].data[0] = i * 32;
- gSprites[spriteId].data[4] = 8;
- gSprites[spriteId].data[5] = 2;
- gSprites[spriteId].data[6] = 2;
- }
- }
-
- gTasks[taskId].data[7] = 8;
- if (++gTasks[taskId].data[0] == 2)
- {
- if (!gMain.inBattle)
- gSprites[spriteId].data[7] = 1;
-
- DestroyTask(taskId);
- }
- }
-}
-
-static void FanOutBallOpenParticles_Step1(struct Sprite *sprite)
-{
- sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
- sprite->pos2.y = Cos(sprite->data[0], sprite->data[2]);
- sprite->data[0] = (sprite->data[0] + sprite->data[4]) & 0xFF;
- sprite->data[1] += sprite->data[5];
- sprite->data[2] += sprite->data[6];
- if (++sprite->data[3] == 51)
- DestroyBallOpenAnimationParticle(sprite);
-}
-
-static void RepeatBallOpenParticleAnimation(u8 taskId)
-{
- u8 i;
- u8 x, y, priority, subpriority, ballId;
- u8 spriteId;
-
- ballId = gTasks[taskId].data[15];
- x = gTasks[taskId].data[1];
- y = gTasks[taskId].data[2];
- priority = gTasks[taskId].data[3];
- subpriority = gTasks[taskId].data[4];
-
- for (i = 0; i < 12; i++)
- {
- spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
- if (spriteId != MAX_SPRITES)
- {
- sub_8171E20();
- StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
- gSprites[spriteId].callback = RepeatBallOpenParticleAnimation_Step1;
- gSprites[spriteId].oam.priority = priority;
- gSprites[spriteId].data[0] = i * 21;
- }
- }
-
- if (!gMain.inBattle)
- gSprites[spriteId].data[7] = 1;
-
- DestroyTask(taskId);
-}
-
-static void RepeatBallOpenParticleAnimation_Step1(struct Sprite *sprite)
-{
- sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
- sprite->pos2.y = Cos(sprite->data[0], Sin(sprite->data[0], sprite->data[2]));
- sprite->data[0] = (sprite->data[0] + 6) & 0xFF;
- sprite->data[1]++;
- sprite->data[2]++;
- if (++sprite->data[3] == 51)
- DestroyBallOpenAnimationParticle(sprite);
-}
-
-static void MasterBallOpenParticleAnimation(u8 taskId)
-{
- u8 i, j;
- u8 x, y, priority, subpriority, ballId;
- u8 spriteId;
-
- ballId = gTasks[taskId].data[15];
- x = gTasks[taskId].data[1];
- y = gTasks[taskId].data[2];
- priority = gTasks[taskId].data[3];
- subpriority = gTasks[taskId].data[4];
-
- for (j = 0; j < 2; j++)
- {
- for (i = 0; i < 8; i++)
- {
- spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
- if (spriteId != MAX_SPRITES)
- {
- sub_8171E20();
- StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
- gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
- gSprites[spriteId].oam.priority = priority;
- gSprites[spriteId].data[0] = i * 32;
- gSprites[spriteId].data[4] = 8;
-
- if (j == 0)
- {
- gSprites[spriteId].data[5] = 2;
- gSprites[spriteId].data[6] = 1;
- }
- else
- {
- gSprites[spriteId].data[5] = 1;
- gSprites[spriteId].data[6] = 2;
- }
- }
- }
- }
-
- if (!gMain.inBattle)
- gSprites[spriteId].data[7] = 1;
-
- DestroyTask(taskId);
-}
-
-static void PremierBallOpenParticleAnimation(u8 taskId)
-{
- u8 i;
- u8 x, y, priority, subpriority, ballId;
- u8 spriteId;
-
- ballId = gTasks[taskId].data[15];
- x = gTasks[taskId].data[1];
- y = gTasks[taskId].data[2];
- priority = gTasks[taskId].data[3];
- subpriority = gTasks[taskId].data[4];
-
- for (i = 0; i < 8; i++)
- {
- spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
- if (spriteId != MAX_SPRITES)
- {
- sub_8171E20();
- StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
- gSprites[spriteId].callback = PremierBallOpenParticleAnimation_Step1;
- gSprites[spriteId].oam.priority = priority;
- gSprites[spriteId].data[0] = i * 32;
- }
- }
-
- if (!gMain.inBattle)
- gSprites[spriteId].data[7] = 1;
-
- DestroyTask(taskId);
-}
-
-static void PremierBallOpenParticleAnimation_Step1(struct Sprite *sprite)
-{
- sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
- sprite->pos2.y = Cos(sprite->data[0], Sin(sprite->data[0] & 0x3F, sprite->data[2]));
- sprite->data[0] = (sprite->data[0] + 10) & 0xFF;
- sprite->data[1]++;
- sprite->data[2]++;
- if (++sprite->data[3] == 51)
- DestroyBallOpenAnimationParticle(sprite);
-}
-
-static void DestroyBallOpenAnimationParticle(struct Sprite *sprite)
-{
- int i, j;
- int temp;
-
- if (!gMain.inBattle)
- {
- temp = sprite->data[7]; // temp var needed to match
- if (temp == 1)
- DestroySpriteAndFreeResources(sprite);
- else
- DestroySprite(sprite);
- }
- else
- {
- gBattleSpritesDataPtr->animationData->field_A--;
- if (gBattleSpritesDataPtr->animationData->field_A == 0)
- {
- for (i = 0; i < 12; i++)
- {
- if (FuncIsActiveTask(gBallOpenParticleAnimationFuncs[i]) == TRUE)
- break;
- }
-
- if (i == 12)
- {
- for (j = 0; j < 12; j++)
- {
- FreeSpriteTilesByTag(gBallOpenParticleSpritesheets[j].tag);
- FreeSpritePaletteByTag(gBallOpenParticlePalettes[j].tag);
- }
- }
-
- DestroySprite(sprite);
- }
- else
- {
- DestroySprite(sprite);
- }
- }
-}
-
-u8 LaunchBallFadeMonTask(u8 unfadeLater, u8 battler, u32 selectedPalettes, u8 ballId)
-{
- u8 taskId;
-
- taskId = CreateTask(sub_8172AB0, 5);
- gTasks[taskId].data[15] = ballId;
- gTasks[taskId].data[3] = battler;
- gTasks[taskId].data[10] = selectedPalettes;
- gTasks[taskId].data[11] = selectedPalettes >> 16;
-
- if (!unfadeLater)
- {
- BlendPalette(battler * 16 + 0x100, 16, 0, gUnknown_085E5310[ballId]);
- gTasks[taskId].data[1] = 1;
- }
- else
- {
- BlendPalette(battler * 16 + 0x100, 16, 16, gUnknown_085E5310[ballId]);
- gTasks[taskId].data[0] = 16;
- gTasks[taskId].data[1] = -1;
- gTasks[taskId].func = sub_8172B40;
- }
-
- BeginNormalPaletteFade(selectedPalettes, 0, 0, 16, RGB(31, 31, 31));
- return taskId;
-}
-
-static void sub_8172AB0(u8 taskId)
-{
- u8 ballId = gTasks[taskId].data[15];
-
- if (gTasks[taskId].data[2] <= 16)
- {
- BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gUnknown_085E5310[ballId]);
- gTasks[taskId].data[0] += gTasks[taskId].data[1];
- gTasks[taskId].data[2]++;
- }
- else if (!gPaletteFade.active)
- {
- u32 selectedPalettes = (u16)gTasks[taskId].data[10] | ((u16)gTasks[taskId].data[11] << 16);
- BeginNormalPaletteFade(selectedPalettes, 0, 16, 0, RGB(31, 31, 31));
- DestroyTask(taskId);
- }
-}
-
-static void sub_8172B40(u8 taskId)
-{
- if (!gPaletteFade.active)
- {
- u32 selectedPalettes = (u16)gTasks[taskId].data[10] | ((u16)gTasks[taskId].data[11] << 16);
- BeginNormalPaletteFade(selectedPalettes, 0, 16, 0, RGB(31, 31, 31));
- gTasks[taskId].func = sub_8172B90;
- }
-}
-
-static void sub_8172B90(u8 taskId)
-{
- u8 ballId = gTasks[taskId].data[15];
-
- if (gTasks[taskId].data[2] <= 16)
- {
- BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gUnknown_085E5310[ballId]);
- gTasks[taskId].data[0] += gTasks[taskId].data[1];
- gTasks[taskId].data[2]++;
- }
- else
- {
- DestroyTask(taskId);
- }
-}
-
-void sub_8172BF0(u8 taskId)
-{
- u8 spriteId;
- u32 x;
- u32 done;
-
- done = FALSE;
- spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
- switch (gTasks[taskId].data[10])
- {
- case 0:
- gTasks[taskId].data[11] = gBattleAnimArgs[0];
- gTasks[taskId].data[0] += 0x500;
- if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
- gSprites[spriteId].pos2.x += gTasks[taskId].data[0] >> 8;
- else
- gSprites[spriteId].pos2.x -= gTasks[taskId].data[0] >> 8;
-
- gTasks[taskId].data[0] &= 0xFF;
- x = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x + 32;
- if (x > 304)
- gTasks[taskId].data[10]++;
- break;
- case 1:
- LoadBattleMonGfxAndAnimate(gBattleAnimAttacker, gTasks[taskId].data[11], spriteId);
- gTasks[taskId].data[10]++;
- break;
- case 2:
- gTasks[taskId].data[0] += 0x500;
- if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
- gSprites[spriteId].pos2.x -= gTasks[taskId].data[0] >> 8;
- else
- gSprites[spriteId].pos2.x += gTasks[taskId].data[0] >> 8;
-
- gTasks[taskId].data[0] &= 0xFF;
- if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
- {
- if (gSprites[spriteId].pos2.x <= 0)
- {
- gSprites[spriteId].pos2.x = 0;
- // done = FALSE; // fakematching--can't get the tail merge correct
- goto DONE;
- }
- }
- else
- {
- if (gSprites[spriteId].pos2.x >= 0)
- {
- gSprites[spriteId].pos2.x = 0;
- done = TRUE;
- }
- }
-
- if (done)
- {
- DONE:
- DestroyAnimVisualTask(taskId);
- }
- break;
- }
-}
-
-void sub_8172D98(u8 taskId)
-{
- u8 spriteId;
-
- switch (gTasks[taskId].data[15])
- {
- case 0:
- if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == B_POSITION_OPPONENT_LEFT)
- SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
- else
- SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
-
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
- gTasks[taskId].data[15]++;
- break;
- case 1:
- if (gTasks[taskId].data[1]++ > 1)
- {
- gTasks[taskId].data[1] = 0;
- gTasks[taskId].data[0]++;
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - gTasks[taskId].data[0], gTasks[taskId].data[0]));
- if (gTasks[taskId].data[0] == 16)
- gTasks[taskId].data[15]++;
- }
- break;
- case 2:
- spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
- RequestDma3Fill(0, (void *)OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * TILE_SIZE_4BPP, 0x800, 1);
- ClearBehindSubstituteBit(gBattleAnimAttacker);
- DestroyAnimVisualTask(taskId);
- break;
- }
-}
-
-void sub_8172E9C(u8 taskId)
-{
- gBattleAnimArgs[7] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].behindSubstitute;
- DestroyAnimVisualTask(taskId);
-}
-
-void sub_8172ED0(u8 taskId)
-{
- gBattleAnimTarget = gEffectBattler;
- DestroyAnimVisualTask(taskId);
-}
-
-void sub_8172EF0(u8 battler, struct Pokemon *mon)
-{
- int isShiny;
- u32 otId, personality;
- u32 shinyValue;
- u8 taskId1, taskId2;
-
- isShiny = 0;
- gBattleSpritesDataPtr->healthBoxesData[battler].flag_x80 = 1;
- otId = GetMonData(mon, MON_DATA_OT_ID);
- personality = GetMonData(mon, MON_DATA_PERSONALITY);
-
- if (IsBattlerSpriteVisible(battler))
- {
- shinyValue = HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality);
- if (shinyValue < 8)
- isShiny = TRUE;
-
- if (isShiny)
- {
- if (GetSpriteTileStartByTag(0x27F9) == 0xFFFF)
- {
- LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[233]);
- LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[233]);
- }
-
- taskId1 = CreateTask(sub_8172FEC, 10);
- taskId2 = CreateTask(sub_8172FEC, 10);
- gTasks[taskId1].data[0] = battler;
- gTasks[taskId2].data[0] = battler;
- gTasks[taskId1].data[1] = 0;
- gTasks[taskId2].data[1] = 1;
- return;
- }
- }
-
- gBattleSpritesDataPtr->healthBoxesData[battler].field_1_x1 = 1;
-}
-
-static void sub_8172FEC(u8 taskId)
-{
- u8 battler;
- u8 x, y;
- u8 spriteId;
- u16 counter;
- s16 state;
- u8 pan;
-
- if (gTasks[taskId].data[13] < 60)
- {
- gTasks[taskId].data[13]++;
- return;
- }
-
- if (gBattleSpritesDataPtr->animationData->field_A)
- return;
-
- counter = gTasks[taskId].data[10]++;
- if (counter & 3)
- return;
-
- battler = gTasks[taskId].data[0];
- x = GetBattlerSpriteCoord(battler, 0);
- y = GetBattlerSpriteCoord(battler, 1);
- state = gTasks[taskId].data[11];
- if (state == 0)
- {
- spriteId = CreateSprite(&gUnknown_085CE388, x, y, 5);
- }
- else if (state >= 0 && gTasks[taskId].data[11] < 4)
- {
- spriteId = CreateSprite(&gMiniTwinklingStarSpriteTemplate, x, y, 5);
- gSprites[spriteId].oam.tileNum += 4;
- }
- else
- {
- spriteId = CreateSprite(&gMiniTwinklingStarSpriteTemplate, x, y, 5);
- gSprites[spriteId].oam.tileNum += 5;
- }
-
- if (gTasks[taskId].data[1] == 0)
- {
- gSprites[spriteId].callback = sub_81731FC;
- }
- else
- {
- gSprites[spriteId].callback = sub_8173250;
- gSprites[spriteId].pos2.x = -32;
- gSprites[spriteId].pos2.y = 32;
- gSprites[spriteId].invisible = 1;
- if (gTasks[taskId].data[11] == 0)
- {
- if (GetBattlerSide(battler) == B_SIDE_PLAYER)
- pan = 192;
- else
- pan = 63;
-
- PlaySE12WithPanning(SE_REAPOKE, pan);
- }
- }
-
- gSprites[spriteId].data[0] = taskId;
- gTasks[taskId].data[11]++;
- if (spriteId != MAX_SPRITES)
- gTasks[taskId].data[12]++;
-
- if (gTasks[taskId].data[11] == 5)
- gTasks[taskId].func = sub_81731B0;
-}
-
-static void sub_81731B0(u8 taskId)
-{
- u8 battler;
-
- if (gTasks[taskId].data[12] == 0)
- {
- if (gTasks[taskId].data[1] == 1)
- {
- battler = gTasks[taskId].data[0];
- gBattleSpritesDataPtr->healthBoxesData[battler].field_1_x1 = 1;
- }
-
- DestroyTask(taskId);
- }
-}
-
-static void sub_81731FC(struct Sprite *sprite)
-{
- sprite->pos2.x = Sin(sprite->data[1], 24);
- sprite->pos2.y = Cos(sprite->data[1], 24);
- sprite->data[1] += 12;
- if (sprite->data[1] > 0xFF)
- {
- gTasks[sprite->data[0]].data[12]--;
- FreeSpriteOamMatrix(sprite);
- DestroySprite(sprite);
- }
-}
-
-static void sub_8173250(struct Sprite *sprite)
-{
- if (sprite->data[1] < 4)
- {
- sprite->data[1]++;
- }
- else
- {
- sprite->invisible = 0;
- sprite->pos2.x += 5;
- sprite->pos2.y -= 5;
- if (sprite->pos2.x > 32)
- {
- gTasks[sprite->data[0]].data[12]--;
- FreeSpriteOamMatrix(sprite);
- DestroySprite(sprite);
- }
- }
-}
-
-void sub_81732B0(u8 taskId)
-{
- u8 paletteIndex;
-
- LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[269]);
- LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[269]);
- paletteIndex = IndexOfSpritePaletteTag(0x281D); // unused
- DestroyAnimVisualTask(taskId);
-}
-
-void sub_81732E4(u8 taskId)
-{
- FreeSpriteTilesByTag(0x281D);
- FreeSpritePaletteByTag(0x281D);
- DestroyAnimVisualTask(taskId);
-}
-
-static void sub_817330C(struct Sprite *sprite)
-{
- InitSpritePosToAnimAttacker(sprite, 0);
- sprite->data[0] = 30;
- sprite->data[2] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 0) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 1) + gBattleAnimArgs[3];
- sprite->data[5] = -32;
- InitAnimArcTranslation(sprite);
- gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].callback = sub_8039E84;
- sprite->callback = sub_817339C;
-}
-
-static void sub_817339C(struct Sprite *sprite)
-{
- if (gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].animCmdIndex == 1)
- sprite->callback = sub_81733D4;
-}
-
-static void sub_81733D4(struct Sprite *sprite)
-{
- if (TranslateAnimHorizontalArc(sprite))
- {
- sprite->data[0] = 0;
- sprite->invisible = 1;
- sprite->callback = sub_8173400;
- }
-}
-
-static void sub_8173400(struct Sprite *sprite)
-{
- if (gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].animEnded)
- {
- if (++sprite->data[0] > 0)
- {
- StartSpriteAnim(&gSprites[gBattlerSpriteIds[gBattleAnimAttacker]], 0);
- DestroyAnimSprite(sprite);
- }
- }
-}
-
-void sub_817345C(u8 taskId)
-{
- switch (gBattleAnimArgs[0])
- {
- case 0:
- gBattleAnimAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
- gBattleAnimTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
- break;
- case 1:
- gBattleAnimAttacker = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
- gBattleAnimTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
- break;
- }
-
- DestroyAnimVisualTask(taskId);
-}
-
-void AnimTask_GetTrappedMoveAnimId(u8 taskId)
-{
- if (gBattleSpritesDataPtr->animationData->animArg == 83)
- gBattleAnimArgs[0] = 1;
- else if (gBattleSpritesDataPtr->animationData->animArg == 250)
- gBattleAnimArgs[0] = 2;
- else if (gBattleSpritesDataPtr->animationData->animArg == 128)
- gBattleAnimArgs[0] = 3;
- else if (gBattleSpritesDataPtr->animationData->animArg == 328)
- gBattleAnimArgs[0] = 4;
- else
- gBattleAnimArgs[0] = 0;
-
- DestroyAnimVisualTask(taskId);
-}
-
-void sub_817351C(u8 taskId)
-{
- gBattleAnimAttacker = gBattleSpritesDataPtr->animationData->animArg;
- gBattleAnimTarget = gBattleSpritesDataPtr->animationData->animArg >> 8;
- DestroyAnimVisualTask(taskId);
-}
diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c
index f14e502f3..49bb0216b 100644
--- a/src/battle_anim_effects_1.c
+++ b/src/battle_anim_effects_1.c
@@ -1093,7 +1093,7 @@ const struct SpriteTemplate gUnknown_085928D0 =
.callback = sub_8100A50,
};
-const struct SpriteTemplate gUnknown_085928E8 =
+const struct SpriteTemplate gVineWhipSpriteTemplate =
{
.tileTag = ANIM_TAG_WHIP_HIT,
.paletteTag = ANIM_TAG_WHIP_HIT,
@@ -1121,8 +1121,8 @@ const union AnimCmd *const gUnknown_08592918[] =
const struct SpriteTemplate gUnknown_0859291C =
{
- .tileTag = ANIM_TAG_UNUSED_HIT,
- .paletteTag = ANIM_TAG_UNUSED_HIT,
+ .tileTag = ANIM_TAG_HIT,
+ .paletteTag = ANIM_TAG_HIT,
.oam = &gUnknown_08524914,
.anims = gUnknown_08592918,
.images = NULL,
@@ -1132,8 +1132,8 @@ const struct SpriteTemplate gUnknown_0859291C =
const struct SpriteTemplate gUnknown_08592934 =
{
- .tileTag = ANIM_TAG_UNUSED_HIT_2,
- .paletteTag = ANIM_TAG_UNUSED_HIT_2,
+ .tileTag = ANIM_TAG_HIT_2,
+ .paletteTag = ANIM_TAG_HIT_2,
.oam = &gUnknown_08524914,
.anims = gUnknown_08592918,
.images = NULL,
@@ -1442,8 +1442,8 @@ const union AnimCmd *const gUnknown_08592BF4[] =
const struct SpriteTemplate gUnknown_08592BFC =
{
- .tileTag = ANIM_TAG_UNUSED_BUBBLE_BURST,
- .paletteTag = ANIM_TAG_UNUSED_BUBBLE_BURST,
+ .tileTag = ANIM_TAG_BUBBLE_BURST,
+ .paletteTag = ANIM_TAG_BUBBLE_BURST,
.oam = &gUnknown_0852490C,
.anims = gUnknown_08592BF4,
.images = NULL,
@@ -2336,7 +2336,7 @@ void AnimHyperBeamOrb(struct Sprite* sprite)
{
u16 speed;
u16 animNum = Random2();
-
+
StartSpriteAnim(sprite, animNum % 8);
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
@@ -2660,7 +2660,7 @@ static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite)
s16 a = sprite->data[0];
s16 b = sprite->data[7];
s16 r0;
-
+
sprite->data[0] = 1;
TranslateAnimHorizontalArc(sprite);
r0 = sprite->data[7];
@@ -2675,7 +2675,7 @@ static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite)
if (sprite->oam.affineParam == 30)
destroy = TRUE;
}
-
+
if (sprite->pos1.x + sprite->pos2.x > 256
|| sprite->pos1.x + sprite->pos2.x < -16
|| sprite->pos1.y + sprite->pos2.y > 160
@@ -3748,7 +3748,7 @@ void sub_81009F8(struct Sprite* sprite)
void sub_8100A50(struct Sprite* sprite)
{
- if (GetBattlerSide(gBattleAnimAttacker) == 0)
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
StartSpriteAnim(sprite, 1);
sprite->callback = sub_81009DC;
@@ -3770,7 +3770,7 @@ void sub_8100A94(struct Sprite* sprite)
}
// Moves the sprite in a diagonally slashing motion across the target mon.
-// Used by moves such as MOVE_CUT and MOVE_AERIAL_ACE.
+// Used by moves such as MOVE_CUT and MOVE_AERIAL_ACE.
// arg 0: initial x pixel offset
// arg 1: initial y pixel offset
// arg 2: slice direction; 0 = right-to-left, 1 = left-to-right
@@ -5350,10 +5350,10 @@ static void sub_8102DE4(struct Sprite* sprite)
void sub_8102EB0(struct Sprite* sprite)
{
- int a;
+ int a;
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
{
- a = gBattleAnimArgs[1];
+ a = gBattleAnimArgs[1];
(u16)gBattleAnimArgs[1] = -a;
}
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c
index 80b3258b4..580b13864 100755
--- a/src/battle_anim_effects_2.c
+++ b/src/battle_anim_effects_2.c
@@ -189,8 +189,8 @@ const union AffineAnimCmd *const gUnknown_08593300[] =
const struct SpriteTemplate gUnknown_08593304 =
{
- .tileTag = ANIM_TAG_UNUSED_EXPLOSION,
- .paletteTag = ANIM_TAG_UNUSED_EXPLOSION,
+ .tileTag = ANIM_TAG_EXPLOSION_6,
+ .paletteTag = ANIM_TAG_EXPLOSION_6,
.oam = &gUnknown_08524974,
.anims = gUnknown_085932E4,
.images = NULL,
@@ -359,8 +359,8 @@ const struct SpriteTemplate gUnknown_08593488 =
const struct SpriteTemplate gUnknown_085934A0 =
{
- .tileTag = ANIM_TAG_UNUSED_VOID_LINES,
- .paletteTag = ANIM_TAG_UNUSED_VOID_LINES,
+ .tileTag = ANIM_TAG_VOID_LINES,
+ .paletteTag = ANIM_TAG_VOID_LINES,
.oam = &gUnknown_08524A3C,
.anims = gDummySpriteAnimTable,
.images = NULL,
@@ -889,7 +889,7 @@ const struct SpriteTemplate gUnknown_08593958 =
.callback = sub_8105DE8,
};
-const struct SpriteTemplate gUnknown_08593970 =
+const struct SpriteTemplate gMagentaHeartSpriteTemplate =
{
.tileTag = ANIM_TAG_MAGENTA_HEART,
.paletteTag = ANIM_TAG_MAGENTA_HEART,
@@ -3067,7 +3067,7 @@ void sub_8105CB4(u8 taskId)
paletteNums[i] = AllocSpritePalette(ANIM_SPRITES_START - i);
gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000);
- LZDecompressWram(gBattleAnimSpritePalette_206, gMonSpritesGfxPtr->field_17C);
+ LZDecompressWram(gBattleAnimSpritePal_MusicNotes2, gMonSpritesGfxPtr->field_17C);
for (i = 0; i < 3; i++)
LoadPalette(&gMonSpritesGfxPtr->field_17C[i * 32], (u16)((paletteNums[i] << 4) + 0x100), 32);
@@ -3286,7 +3286,7 @@ static void sub_810627C(struct Sprite *sprite)
}
}
-void sub_81062E8(u8 taskId)
+void AnimTask_HeartsBackground(u8 taskId)
{
struct BattleAnimBgData animBg;
@@ -3381,11 +3381,11 @@ void sub_81064F8(u8 taskId)
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80A6B30(&animBg);
if (IsContest())
- sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFaceContest, 0);
+ sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceContest, 0);
else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT)
- sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFacePlayer, 0);
+ sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFacePlayer, 0);
else
- sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFaceOpponent, 0);
+ sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceOpponent, 0);
AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C249F8, animBg.tilesOffset);
LoadCompressedPalette(gUnknown_08C249D0, animBg.paletteId * 16, 32);
diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c
index efa2620fd..ab765b8c1 100755
--- a/src/battle_anim_effects_3.c
+++ b/src/battle_anim_effects_3.c
@@ -4,7 +4,7 @@
#include "battle_anim.h"
#include "bg.h"
#include "contest.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "dma3.h"
#include "gpu_regs.h"
@@ -25,8 +25,6 @@
#include "constants/weather.h"
extern const struct SpriteTemplate gUnknown_08593114;
-extern const union AffineAnimCmd *const gUnknown_082FF6C0[];
-extern const union AffineAnimCmd *const gUnknown_082FF694[];
void sub_815A0D4(struct Sprite *);
void sub_815A1B0(struct Sprite *);
diff --git a/src/battle_anim_80D51AC.c b/src/battle_anim_mon_movement.c
index 250a0459f..250a0459f 100644
--- a/src/battle_anim_80D51AC.c
+++ b/src/battle_anim_mon_movement.c
diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c
new file mode 100644
index 000000000..c6058204d
--- /dev/null
+++ b/src/battle_anim_mons.c
@@ -0,0 +1,2459 @@
+#include "global.h"
+#include "battle.h"
+#include "battle_anim.h"
+#include "bg.h"
+#include "contest.h"
+#include "data.h"
+#include "decompress.h"
+#include "dma3.h"
+#include "gpu_regs.h"
+#include "alloc.h"
+#include "palette.h"
+#include "pokemon_icon.h"
+#include "sprite.h"
+#include "task.h"
+#include "trig.h"
+#include "util.h"
+#include "constants/battle_anim.h"
+#include "constants/species.h"
+
+#define GET_UNOWN_LETTER(personality) (( \
+ (((personality & 0x03000000) >> 24) << 6) \
+ | (((personality & 0x00030000) >> 16) << 4) \
+ | (((personality & 0x00000300) >> 8) << 2) \
+ | (((personality & 0x00000003) >> 0) << 0) \
+) % 28)
+
+#define IS_DOUBLE_BATTLE() ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+
+extern const struct OamData gUnknown_0852497C;
+
+static void sub_80A6FB4(struct Sprite *sprite);
+static void sub_80A7144(struct Sprite *sprite);
+static void sub_80A791C(struct Sprite *sprite);
+static void sub_80A8DFC(struct Sprite *sprite);
+static void sub_80A8E88(struct Sprite *sprite);
+static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId);
+static void AnimTask_BlendMonInAndOutSetup(struct Task *task);
+static void sub_80A7AFC(u8 taskId);
+static void sub_80A8CAC(u8 taskId);
+static void AnimTask_BlendMonInAndOutStep(u8 taskId);
+static bool8 sub_80A7238(void);
+static void sub_80A8D78(struct Task *task, u8 taskId);
+
+// EWRAM vars
+EWRAM_DATA static union AffineAnimCmd *gAnimTaskAffineAnim = NULL;
+
+// Const rom data
+static const struct UCoords8 sBattlerCoords[][4] =
+{
+ {
+ { 72, 80 },
+ { 176, 40 },
+ { 48, 40 },
+ { 112, 80 },
+ },
+ {
+ { 32, 80 },
+ { 200, 40 },
+ { 90, 88 },
+ { 152, 32 },
+ },
+};
+
+// One entry for each of the four Castform forms.
+const struct MonCoords gCastformFrontSpriteCoords[] =
+{
+ { .size = 0x44, .y_offset = 17 }, // NORMAL
+ { .size = 0x66, .y_offset = 9 }, // SUN
+ { .size = 0x46, .y_offset = 9 }, // RAIN
+ { .size = 0x86, .y_offset = 8 }, // HAIL
+};
+
+static const u8 sCastformElevations[] =
+{
+ 13, // NORMAL
+ 14, // SUN
+ 13, // RAIN
+ 13, // HAIL
+};
+
+// Y position of the backsprite for each of the four Castform forms.
+static const u8 sCastformBackSpriteYCoords[] =
+{
+ 0, // NORMAL
+ 0, // SUN
+ 0, // RAIN
+ 0, // HAIL
+};
+
+static const struct SpriteTemplate sUnknown_08525F90[] =
+{
+ {
+ .tileTag = 55125,
+ .paletteTag = 55125,
+ .oam = &gUnknown_0852497C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55126,
+ .paletteTag = 55126,
+ .oam = &gUnknown_0852497C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ }
+};
+
+static const struct SpriteSheet sUnknown_08525FC0[] =
+{
+ { gMiscBlank_Gfx, 0x800, 55125, },
+ { gMiscBlank_Gfx, 0x800, 55126, },
+};
+
+u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType)
+{
+ u8 retVal;
+ u16 species;
+ struct BattleSpriteInfo *spriteInfo;
+
+ if (IsContest())
+ {
+ if (coordType == BATTLER_COORD_Y_PIC_OFFSET && battlerId == 3)
+ coordType = BATTLER_COORD_Y;
+ }
+
+ switch (coordType)
+ {
+ case BATTLER_COORD_X:
+ case BATTLER_COORD_X_2:
+ retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].x;
+ break;
+ case BATTLER_COORD_Y:
+ retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y;
+ break;
+ case BATTLER_COORD_Y_PIC_OFFSET:
+ case BATTLER_COORD_Y_PIC_OFFSET_DEFAULT:
+ default:
+ if (IsContest())
+ {
+ if (gContestResources->field_18->unk4_0)
+ species = gContestResources->field_18->unk2;
+ else
+ species = gContestResources->field_18->species;
+ }
+ else
+ {
+ if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
+ {
+ spriteInfo = gBattleSpritesDataPtr->battlerData;
+ if (!spriteInfo[battlerId].transformSpecies)
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
+ else
+ species = spriteInfo[battlerId].transformSpecies;
+ }
+ else
+ {
+ spriteInfo = gBattleSpritesDataPtr->battlerData;
+ if (!spriteInfo[battlerId].transformSpecies)
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
+ else
+ species = spriteInfo[battlerId].transformSpecies;
+ }
+ }
+ if (coordType == BATTLER_COORD_Y_PIC_OFFSET)
+ retVal = GetBattlerSpriteFinal_Y(battlerId, species, TRUE);
+ else
+ retVal = GetBattlerSpriteFinal_Y(battlerId, species, FALSE);
+ break;
+ }
+
+ return retVal;
+}
+
+u8 GetBattlerYDelta(u8 battlerId, u16 species)
+{
+ u16 letter;
+ u32 personality;
+ struct BattleSpriteInfo *spriteInfo;
+ u8 ret;
+ u16 coordSpecies;
+
+ if (GetBattlerSide(battlerId) == B_SIDE_PLAYER || IsContest())
+ {
+ if (species == SPECIES_UNOWN)
+ {
+ if (IsContest())
+ {
+ if (gContestResources->field_18->unk4_0)
+ personality = gContestResources->field_18->unk10;
+ else
+ personality = gContestResources->field_18->unk8;
+ }
+ else
+ {
+ spriteInfo = gBattleSpritesDataPtr->battlerData;
+ if (!spriteInfo[battlerId].transformSpecies)
+ personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY);
+ else
+ personality = gTransformedPersonalities[battlerId];
+ }
+ letter = GET_UNOWN_LETTER(personality);
+ if (!letter)
+ coordSpecies = species;
+ else
+ coordSpecies = letter + SPECIES_UNOWN_B - 1;
+ ret = gMonBackPicCoords[coordSpecies].y_offset;
+ }
+ else if (species == SPECIES_CASTFORM)
+ {
+ ret = sCastformBackSpriteYCoords[gBattleMonForms[battlerId]];
+ }
+ else if (species > NUM_SPECIES)
+ {
+ ret = gMonBackPicCoords[0].y_offset;
+ }
+ else
+ {
+ ret = gMonBackPicCoords[species].y_offset;
+ }
+ }
+ else
+ {
+ if (species == SPECIES_UNOWN)
+ {
+ spriteInfo = gBattleSpritesDataPtr->battlerData;
+ if (!spriteInfo[battlerId].transformSpecies)
+ personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY);
+ else
+ personality = gTransformedPersonalities[battlerId];
+ letter = GET_UNOWN_LETTER(personality);
+ if (!letter)
+ coordSpecies = species;
+ else
+ coordSpecies = letter + SPECIES_UNOWN_B - 1;
+ ret = gMonFrontPicCoords[coordSpecies].y_offset;
+ }
+ else if (species == SPECIES_CASTFORM)
+ {
+ ret = gCastformFrontSpriteCoords[gBattleMonForms[battlerId]].y_offset;
+ }
+ else if (species > NUM_SPECIES)
+ {
+ ret = gMonFrontPicCoords[0].y_offset;
+ }
+ else
+ {
+ ret = gMonFrontPicCoords[species].y_offset;
+ }
+ }
+ return ret;
+}
+
+u8 GetBattlerElevation(u8 battlerId, u16 species)
+{
+ u8 ret = 0;
+ if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT)
+ {
+ if (!IsContest())
+ {
+ if (species == SPECIES_CASTFORM)
+ ret = sCastformElevations[gBattleMonForms[battlerId]];
+ else if (species > NUM_SPECIES)
+ ret = gEnemyMonElevation[0];
+ else
+ ret = gEnemyMonElevation[species];
+ }
+ }
+ return ret;
+}
+
+u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3)
+{
+ u16 offset;
+ u8 y;
+
+ if (GetBattlerSide(battlerId) == B_SIDE_PLAYER || IsContest())
+ {
+ offset = GetBattlerYDelta(battlerId, species);
+ }
+ else
+ {
+ offset = GetBattlerYDelta(battlerId, species);
+ offset -= GetBattlerElevation(battlerId, species);
+ }
+ y = offset + sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y;
+ if (a3)
+ {
+ if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
+ y += 8;
+ if (y > 104)
+ y = 104;
+ }
+ return y;
+}
+
+u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType)
+{
+ u16 species;
+ struct BattleSpriteInfo *spriteInfo;
+
+ if (coordType == BATTLER_COORD_Y_PIC_OFFSET || coordType == BATTLER_COORD_Y_PIC_OFFSET_DEFAULT)
+ {
+ if (IsContest())
+ {
+ if (gContestResources->field_18->unk4_0)
+ species = gContestResources->field_18->unk2;
+ else
+ species = gContestResources->field_18->species;
+ }
+ else
+ {
+ spriteInfo = gBattleSpritesDataPtr->battlerData;
+ if (!spriteInfo[battlerId].transformSpecies)
+ species = gAnimBattlerSpecies[battlerId];
+ else
+ species = spriteInfo[battlerId].transformSpecies;
+ }
+ if (coordType == BATTLER_COORD_Y_PIC_OFFSET)
+ return GetBattlerSpriteFinal_Y(battlerId, species, TRUE);
+ else
+ return GetBattlerSpriteFinal_Y(battlerId, species, FALSE);
+ }
+ else
+ {
+ return GetBattlerSpriteCoord(battlerId, coordType);
+ }
+}
+
+u8 GetBattlerSpriteDefault_Y(u8 battlerId)
+{
+ return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET_DEFAULT);
+}
+
+u8 GetSubstituteSpriteDefault_Y(u8 battlerId)
+{
+ u16 y;
+ if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
+ y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 16;
+ else
+ y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 17;
+ return y;
+}
+
+u8 GetBattlerYCoordWithElevation(u8 battlerId)
+{
+ u16 species;
+ u8 y;
+ struct BattleSpriteInfo *spriteInfo;
+
+ y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y);
+ if (!IsContest())
+ {
+ if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
+ {
+ spriteInfo = gBattleSpritesDataPtr->battlerData;
+ if (!spriteInfo[battlerId].transformSpecies)
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
+ else
+ species = spriteInfo[battlerId].transformSpecies;
+ }
+ else
+ {
+ spriteInfo = gBattleSpritesDataPtr->battlerData;
+ if (!spriteInfo[battlerId].transformSpecies)
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
+ else
+ species = spriteInfo[battlerId].transformSpecies;
+ }
+ if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
+ y -= GetBattlerElevation(battlerId, species);
+ }
+ return y;
+}
+
+u8 GetAnimBattlerSpriteId(u8 animBattler)
+{
+ u8 *sprites;
+
+ if (animBattler == ANIM_ATTACKER)
+ {
+ if (IsBattlerSpritePresent(gBattleAnimAttacker))
+ {
+ sprites = gBattlerSpriteIds;
+ return sprites[gBattleAnimAttacker];
+ }
+ else
+ {
+ return 0xff;
+ }
+ }
+ else if (animBattler == ANIM_TARGET)
+ {
+ if (IsBattlerSpritePresent(gBattleAnimTarget))
+ {
+ sprites = gBattlerSpriteIds;
+ return sprites[gBattleAnimTarget];
+ }
+ else
+ {
+ return 0xff;
+ }
+ }
+ else if (animBattler == ANIM_ATK_PARTNER)
+ {
+ if (!IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
+ return 0xff;
+ else
+ return gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)];
+ }
+ else
+ {
+ if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget)))
+ return gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimTarget)];
+ else
+ return 0xff;
+ }
+}
+
+void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*callback)(struct Sprite*))
+{
+ sprite->data[6] = (u32)(callback) & 0xffff;
+ sprite->data[7] = (u32)(callback) >> 16;
+}
+
+void SetCallbackToStoredInData6(struct Sprite *sprite)
+{
+ u32 callback = (u16)sprite->data[6] | (sprite->data[7] << 16);
+ sprite->callback = (void (*)(struct Sprite *))callback;
+}
+
+void TranslateSpriteInCircleOverDuration(struct Sprite *sprite)
+{
+ if (sprite->data[3])
+ {
+ sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
+ sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]);
+ sprite->data[0] += sprite->data[2];
+ if (sprite->data[0] >= 0x100)
+ sprite->data[0] -= 0x100;
+ else if (sprite->data[0] < 0)
+ sprite->data[0] += 0x100;
+ sprite->data[3]--;
+ }
+ else
+ {
+ SetCallbackToStoredInData6(sprite);
+ }
+}
+
+void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite)
+{
+ if (sprite->data[3])
+ {
+ sprite->pos2.x = Sin(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
+ sprite->pos2.y = Cos(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
+ sprite->data[0] += sprite->data[2];
+ sprite->data[5] += sprite->data[4];
+ if (sprite->data[0] >= 0x100)
+ sprite->data[0] -= 0x100;
+ else if (sprite->data[0] < 0)
+ sprite->data[0] += 0x100;
+ sprite->data[3]--;
+ }
+ else
+ {
+ SetCallbackToStoredInData6(sprite);
+ }
+}
+
+void sub_80A63C8(struct Sprite *sprite)
+{
+ if (sprite->data[3])
+ {
+ sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
+ sprite->pos2.y = Cos(sprite->data[4], sprite->data[1]);
+ sprite->data[0] += sprite->data[2];
+ sprite->data[4] += sprite->data[5];
+ if (sprite->data[0] >= 0x100)
+ sprite->data[0] -= 0x100;
+ else if (sprite->data[0] < 0)
+ sprite->data[0] += 0x100;
+ if (sprite->data[4] >= 0x100)
+ sprite->data[4] -= 0x100;
+ else if (sprite->data[4] < 0)
+ sprite->data[4] += 0x100;
+ sprite->data[3]--;
+ }
+ else
+ {
+ SetCallbackToStoredInData6(sprite);
+ }
+}
+
+void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite)
+{
+ if (sprite->data[3])
+ {
+ sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
+ sprite->pos2.y = Cos(sprite->data[0], sprite->data[4]);
+ sprite->data[0] += sprite->data[2];
+ if (sprite->data[0] >= 0x100)
+ sprite->data[0] -= 0x100;
+ else if (sprite->data[0] < 0)
+ sprite->data[0] += 0x100;
+ sprite->data[3]--;
+ }
+ else
+ {
+ SetCallbackToStoredInData6(sprite);
+ }
+}
+
+// Simply waits until the sprite's data[0] hits zero.
+// This is used to let sprite anims or affine anims to run for a designated
+// duration.
+void WaitAnimForDuration(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ sprite->data[0]--;
+ else
+ SetCallbackToStoredInData6(sprite);
+}
+
+static void sub_80A64D0(struct Sprite *sprite)
+{
+ sub_80A64EC(sprite);
+ sprite->callback = TranslateSpriteLinear;
+ sprite->callback(sprite);
+}
+
+void sub_80A64EC(struct Sprite *sprite)
+{
+ s16 old;
+ int xDiff;
+
+ if (sprite->data[1] > sprite->data[2])
+ sprite->data[0] = -sprite->data[0];
+ xDiff = sprite->data[2] - sprite->data[1];
+ old = sprite->data[0];
+ sprite->data[0] = abs(xDiff / sprite->data[0]);
+ sprite->data[2] = (sprite->data[4] - sprite->data[3]) / sprite->data[0];
+ sprite->data[1] = old;
+}
+
+void TranslateSpriteLinear(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ {
+ sprite->data[0]--;
+ sprite->pos2.x += sprite->data[1];
+ sprite->pos2.y += sprite->data[2];
+ }
+ else
+ {
+ SetCallbackToStoredInData6(sprite);
+ }
+}
+
+void TranslateSpriteLinearFixedPoint(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ {
+ sprite->data[0]--;
+ sprite->data[3] += sprite->data[1];
+ sprite->data[4] += sprite->data[2];
+ sprite->pos2.x = sprite->data[3] >> 8;
+ sprite->pos2.y = sprite->data[4] >> 8;
+ }
+ else
+ {
+ SetCallbackToStoredInData6(sprite);
+ }
+}
+
+static void TranslateSpriteLinearFixedPointIconFrame(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ {
+ sprite->data[0]--;
+ sprite->data[3] += sprite->data[1];
+ sprite->data[4] += sprite->data[2];
+ sprite->pos2.x = sprite->data[3] >> 8;
+ sprite->pos2.y = sprite->data[4] >> 8;
+ }
+ else
+ {
+ SetCallbackToStoredInData6(sprite);
+ }
+
+ UpdateMonIconFrame(sprite);
+}
+
+void sub_80A65EC(struct Sprite *sprite)
+{
+ sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
+ sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
+ sprite->callback = sub_80A64D0;
+}
+
+void TranslateMonSpriteLinear(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ {
+ sprite->data[0]--;
+ gSprites[sprite->data[3]].pos2.x += sprite->data[1];
+ gSprites[sprite->data[3]].pos2.y += sprite->data[2];
+ }
+ else
+ {
+ SetCallbackToStoredInData6(sprite);
+ }
+}
+
+void TranslateMonSpriteLinearFixedPoint(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ {
+ sprite->data[0]--;
+ sprite->data[3] += sprite->data[1];
+ sprite->data[4] += sprite->data[2];
+ gSprites[sprite->data[5]].pos2.x = sprite->data[3] >> 8;
+ gSprites[sprite->data[5]].pos2.y = sprite->data[4] >> 8;
+ }
+ else
+ {
+ SetCallbackToStoredInData6(sprite);
+ }
+}
+
+void TranslateSpriteLinearAndFlicker(struct Sprite *sprite)
+{
+ if (sprite->data[0] > 0)
+ {
+ sprite->data[0]--;
+ sprite->pos2.x = sprite->data[2] >> 8;
+ sprite->data[2] += sprite->data[1];
+ sprite->pos2.y = sprite->data[4] >> 8;
+ sprite->data[4] += sprite->data[3];
+ if (sprite->data[0] % sprite->data[5] == 0)
+ {
+ if (sprite->data[5])
+ sprite->invisible ^= 1;
+ }
+ }
+ else
+ {
+ SetCallbackToStoredInData6(sprite);
+ }
+}
+
+void DestroySpriteAndMatrix(struct Sprite *sprite)
+{
+ FreeSpriteOamMatrix(sprite);
+ DestroyAnimSprite(sprite);
+}
+
+void sub_80A6760(struct Sprite *sprite)
+{
+ sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
+ sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+ sprite->callback = sub_80A64D0;
+}
+
+void sub_80A67A4(struct Sprite *sprite)
+{
+ ResetPaletteStructByUid(sprite->data[5]);
+ DestroySpriteAndMatrix(sprite);
+}
+
+void RunStoredCallbackWhenAffineAnimEnds(struct Sprite *sprite)
+{
+ if (sprite->affineAnimEnded)
+ SetCallbackToStoredInData6(sprite);
+}
+
+void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite)
+{
+ if (sprite->animEnded)
+ SetCallbackToStoredInData6(sprite);
+}
+
+void DestroyAnimSpriteAndDisableBlend(struct Sprite *sprite)
+{
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ DestroyAnimSprite(sprite);
+}
+
+void DestroyAnimVisualTaskAndDisableBlend(u8 taskId)
+{
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ DestroyAnimVisualTask(taskId);
+}
+
+void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+}
+
+// Sets the initial x offset of the anim sprite depending on the horizontal orientation
+// of the two involved mons.
+void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 xOffset)
+{
+ u16 attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ u16 targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+
+ if (attackerX > targetX)
+ {
+ sprite->pos1.x -= xOffset;
+ }
+ else if (attackerX < targetX)
+ {
+ sprite->pos1.x += xOffset;
+ }
+ else
+ {
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ sprite->pos1.x -= xOffset;
+ else
+ sprite->pos1.x += xOffset;
+ }
+}
+
+void InitAnimArcTranslation(struct Sprite *sprite)
+{
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[3] = sprite->pos1.y;
+ InitAnimLinearTranslation(sprite);
+ sprite->data[6] = 0x8000 / sprite->data[0];
+ sprite->data[7] = 0;
+}
+
+bool8 TranslateAnimHorizontalArc(struct Sprite *sprite)
+{
+ if (AnimTranslateLinear(sprite))
+ return TRUE;
+ sprite->data[7] += sprite->data[6];
+ sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
+ return FALSE;
+}
+
+bool8 TranslateAnimVerticalArc(struct Sprite *sprite)
+{
+ if (AnimTranslateLinear(sprite))
+ return TRUE;
+ sprite->data[7] += sprite->data[6];
+ sprite->pos2.x += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
+ return FALSE;
+}
+
+void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite)
+{
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.x = 0;
+ sprite->pos2.y = 0;
+}
+
+void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets)
+{
+ // Battle anim sprites are automatically created at the anim target's center, which
+ // is why there is no else clause for the "respectMonPicOffsets" check.
+ if (!respectMonPicOffsets)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X);
+ sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y);
+ }
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
+ sprite->pos1.y += gBattleAnimArgs[1];
+}
+
+void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets)
+{
+ if (!respectMonPicOffsets)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X);
+ sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y);
+ }
+ else
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+ }
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
+ sprite->pos1.y += gBattleAnimArgs[1];
+}
+
+u8 GetBattlerSide(u8 battlerId)
+{
+ return GET_BATTLER_SIDE2(battlerId);
+}
+
+u8 GetBattlerPosition(u8 battlerId)
+{
+ return GET_BATTLER_POSITION(battlerId);
+}
+
+u8 GetBattlerAtPosition(u8 position)
+{
+ u8 i;
+
+ for (i = 0; i < gBattlersCount; i++)
+ {
+ if (gBattlerPositions[i] == position)
+ break;
+ }
+ return i;
+}
+
+bool8 IsBattlerSpritePresent(u8 battlerId)
+{
+ if (IsContest())
+ {
+ if (gBattleAnimAttacker == battlerId)
+ return TRUE;
+ else if (gBattleAnimTarget == battlerId)
+ return TRUE;
+ else
+ return FALSE;
+ }
+ else
+ {
+ if (gBattlerPositions[battlerId] == 0xff)
+ {
+ return FALSE;
+ }
+ else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
+ {
+ if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0)
+ return TRUE;
+ }
+ else
+ {
+ if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0)
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+bool8 IsDoubleBattle(void)
+{
+ return IS_DOUBLE_BATTLE();
+}
+
+void sub_80A6B30(struct BattleAnimBgData *unk)
+{
+ if (IsContest())
+ {
+ unk->bgTiles = gUnknown_0202305C;
+ unk->bgTilemap = (u16 *)gUnknown_02023060;
+ unk->paletteId = 14;
+ unk->bgId = 1;
+ unk->tilesOffset = 0;
+ unk->unused = 0;
+ }
+ else
+ {
+ unk->bgTiles = gUnknown_0202305C;
+ unk->bgTilemap = (u16 *)gUnknown_02023060;
+ unk->paletteId = 8;
+ unk->bgId = 1;
+ unk->tilesOffset = 0x200;
+ unk->unused = 0;
+ }
+}
+
+void sub_80A6B90(struct BattleAnimBgData *unk, u32 arg1)
+{
+ if (IsContest())
+ {
+ unk->bgTiles = gUnknown_0202305C;
+ unk->bgTilemap = (u16 *)gUnknown_02023060;
+ unk->paletteId = 14;
+ unk->bgId = 1;
+ unk->tilesOffset = 0;
+ unk->unused = 0;
+ }
+ else if (arg1 == 1)
+ {
+ sub_80A6B30(unk);
+ }
+ else
+ {
+ unk->bgTiles = gUnknown_0202305C;
+ unk->bgTilemap = (u16 *)gUnknown_02023060;
+ unk->paletteId = 9;
+ unk->bgId = 2;
+ unk->tilesOffset = 0x300;
+ unk->unused = 0;
+ }
+}
+
+void sub_80A6BFC(struct BattleAnimBgData *unk, u8 unused)
+{
+ unk->bgTiles = gUnknown_0202305C;
+ unk->bgTilemap = (u16 *)gUnknown_02023060;
+ if (IsContest())
+ {
+ unk->paletteId = 14;
+ unk->bgId = 1;
+ unk->tilesOffset = 0;
+ unk->unused = 0;
+ }
+ else if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
+ {
+ unk->paletteId = 8;
+ unk->bgId = 1;
+ unk->tilesOffset = 0x200;
+ unk->unused = 0;
+ }
+ else
+ {
+ unk->paletteId = 9;
+ unk->bgId = 2;
+ unk->tilesOffset = 0x300;
+ unk->unused = 0;
+ }
+}
+
+void sub_80A6C68(u32 bgId)
+{
+ struct BattleAnimBgData unkStruct;
+
+ sub_80A6B90(&unkStruct, bgId);
+ CpuFill32(0, unkStruct.bgTiles, 0x2000);
+ LoadBgTiles(unkStruct.bgId, unkStruct.bgTiles, 0x2000, unkStruct.tilesOffset);
+ FillBgTilemapBufferRect(unkStruct.bgId, 0, 0, 0, 32, 64, 17);
+ CopyBgTilemapBufferToVram(unkStruct.bgId);
+}
+
+void AnimLoadCompressedBgGfx(u32 bgId, const u32 *src, u32 tilesOffset)
+{
+ CpuFill32(0, gUnknown_0202305C, 0x2000);
+ LZDecompressWram(src, gUnknown_0202305C);
+ LoadBgTiles(bgId, gUnknown_0202305C, 0x2000, tilesOffset);
+}
+
+static void InitAnimBgTilemapBuffer(u32 bgId, const void *src)
+{
+ FillBgTilemapBufferRect(bgId, 0, 0, 0, 32, 64, 17);
+ CopyToBgTilemapBuffer(bgId, src, 0, 0);
+}
+
+void AnimLoadCompressedBgTilemap(u32 bgId, const void *src)
+{
+ InitAnimBgTilemapBuffer(bgId, src);
+ CopyBgTilemapBufferToVram(bgId);
+}
+
+void sub_80A6D60(struct BattleAnimBgData *unk, const void *src, u32 arg2)
+{
+ InitAnimBgTilemapBuffer(unk->bgId, src);
+ if (IsContest() == TRUE)
+ sub_80A4720(unk->paletteId, unk->bgTilemap, 0, arg2);
+ CopyBgTilemapBufferToVram(unk->bgId);
+}
+
+u8 sub_80A6D94(void)
+{
+ if (IsContest())
+ return 1;
+ else
+ return 2;
+}
+
+void sub_80A6DAC(bool8 arg0)
+{
+ if (!arg0 || IsContest())
+ {
+ SetAnimBgAttribute(3, BG_ANIM_SCREEN_SIZE, 0);
+ SetAnimBgAttribute(3, BG_ANIM_AREA_OVERFLOW_MODE, 1);
+ }
+ else
+ {
+ SetAnimBgAttribute(3, BG_ANIM_SCREEN_SIZE, 1);
+ SetAnimBgAttribute(3, BG_ANIM_AREA_OVERFLOW_MODE, 0);
+ }
+}
+
+void sub_80A6DEC(struct Sprite *sprite)
+{
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[3] = sprite->pos1.y;
+ InitSpriteDataForLinearTranslation(sprite);
+ sprite->callback = TranslateSpriteLinearFixedPointIconFrame;
+ sprite->callback(sprite);
+}
+
+void InitSpriteDataForLinearTranslation(struct Sprite *sprite)
+{
+ s16 x = (sprite->data[2] - sprite->data[1]) << 8;
+ s16 y = (sprite->data[4] - sprite->data[3]) << 8;
+ sprite->data[1] = x / sprite->data[0];
+ sprite->data[2] = y / sprite->data[0];
+ sprite->data[4] = 0;
+ sprite->data[3] = 0;
+}
+
+void InitAnimLinearTranslation(struct Sprite *sprite)
+{
+ int x = sprite->data[2] - sprite->data[1];
+ int y = sprite->data[4] - sprite->data[3];
+ bool8 movingLeft = x < 0;
+ bool8 movingUp = y < 0;
+ u16 xDelta = abs(x) << 8;
+ u16 yDelta = abs(y) << 8;
+
+ xDelta = xDelta / sprite->data[0];
+ yDelta = yDelta / sprite->data[0];
+
+ if (movingLeft)
+ xDelta |= 1;
+ else
+ xDelta &= ~1;
+
+ if (movingUp)
+ yDelta |= 1;
+ else
+ yDelta &= ~1;
+
+ sprite->data[1] = xDelta;
+ sprite->data[2] = yDelta;
+ sprite->data[4] = 0;
+ sprite->data[3] = 0;
+}
+
+void StartAnimLinearTranslation(struct Sprite *sprite)
+{
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[3] = sprite->pos1.y;
+ InitAnimLinearTranslation(sprite);
+ sprite->callback = sub_80A6F98;
+ sprite->callback(sprite);
+}
+
+void sub_80A6F14(struct Sprite *sprite)
+{
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[3] = sprite->pos1.y;
+ InitAnimLinearTranslation(sprite);
+ sprite->callback = sub_80A6FB4;
+ sprite->callback(sprite);
+}
+
+bool8 AnimTranslateLinear(struct Sprite *sprite)
+{
+ u16 v1, v2, x, y;
+
+ if (!sprite->data[0])
+ return TRUE;
+
+ v1 = sprite->data[1];
+ v2 = sprite->data[2];
+ x = sprite->data[3];
+ y = sprite->data[4];
+ x += v1;
+ y += v2;
+
+ if (v1 & 1)
+ sprite->pos2.x = -(x >> 8);
+ else
+ sprite->pos2.x = x >> 8;
+
+ if (v2 & 1)
+ sprite->pos2.y = -(y >> 8);
+ else
+ sprite->pos2.y = y >> 8;
+
+ sprite->data[3] = x;
+ sprite->data[4] = y;
+ sprite->data[0]--;
+ return FALSE;
+}
+
+void sub_80A6F98(struct Sprite *sprite)
+{
+ if (AnimTranslateLinear(sprite))
+ SetCallbackToStoredInData6(sprite);
+}
+
+static void sub_80A6FB4(struct Sprite *sprite)
+{
+ sub_8039E9C(sprite);
+ if (AnimTranslateLinear(sprite))
+ SetCallbackToStoredInData6(sprite);
+}
+
+void sub_80A6FD4(struct Sprite *sprite)
+{
+ int v1 = abs(sprite->data[2] - sprite->data[1]) << 8;
+ sprite->data[0] = v1 / sprite->data[0];
+ InitAnimLinearTranslation(sprite);
+}
+
+void sub_80A7000(struct Sprite *sprite)
+{
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[3] = sprite->pos1.y;
+ sub_80A6FD4(sprite);
+ sprite->callback = sub_80A6F98;
+ sprite->callback(sprite);
+}
+
+static void InitAnimFastLinearTranslation(struct Sprite *sprite)
+{
+ int xDiff = sprite->data[2] - sprite->data[1];
+ int yDiff = sprite->data[4] - sprite->data[3];
+ bool8 x_sign = xDiff < 0;
+ bool8 y_sign = yDiff < 0;
+ u16 x2 = abs(xDiff) << 4;
+ u16 y2 = abs(yDiff) << 4;
+
+ x2 /= sprite->data[0];
+ y2 /= sprite->data[0];
+
+ if (x_sign)
+ x2 |= 1;
+ else
+ x2 &= ~1;
+
+ if (y_sign)
+ y2 |= 1;
+ else
+ y2 &= ~1;
+
+ sprite->data[1] = x2;
+ sprite->data[2] = y2;
+ sprite->data[4] = 0;
+ sprite->data[3] = 0;
+}
+
+void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite)
+{
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[3] = sprite->pos1.y;
+ InitAnimFastLinearTranslation(sprite);
+ sprite->callback = sub_80A7144;
+ sprite->callback(sprite);
+}
+
+bool8 AnimFastTranslateLinear(struct Sprite *sprite)
+{
+ u16 v1, v2, x, y;
+
+ if (!sprite->data[0])
+ return TRUE;
+
+ v1 = sprite->data[1];
+ v2 = sprite->data[2];
+ x = sprite->data[3];
+ y = sprite->data[4];
+ x += v1;
+ y += v2;
+
+ if (v1 & 1)
+ sprite->pos2.x = -(x >> 4);
+ else
+ sprite->pos2.x = x >> 4;
+
+ if (v2 & 1)
+ sprite->pos2.y = -(y >> 4);
+ else
+ sprite->pos2.y = y >> 4;
+
+ sprite->data[3] = x;
+ sprite->data[4] = y;
+ sprite->data[0]--;
+ return FALSE;
+}
+
+static void sub_80A7144(struct Sprite *sprite)
+{
+ if (AnimFastTranslateLinear(sprite))
+ SetCallbackToStoredInData6(sprite);
+}
+
+void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite)
+{
+ int xDiff = abs(sprite->data[2] - sprite->data[1]) << 4;
+ sprite->data[0] = xDiff / sprite->data[0];
+ InitAnimFastLinearTranslation(sprite);
+}
+
+void sub_80A718C(struct Sprite *sprite)
+{
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[3] = sprite->pos1.y;
+ InitAnimFastLinearTranslationWithSpeed(sprite);
+ sprite->callback = sub_80A7144;
+ sprite->callback(sprite);
+}
+
+void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation)
+{
+ int i;
+ struct ObjAffineSrcData src;
+ struct OamMatrix matrix;
+
+ src.xScale = xScale;
+ src.yScale = yScale;
+ src.rotation = rotation;
+ if (sub_80A7238())
+ src.xScale = -src.xScale;
+ i = gSprites[spriteId].oam.matrixNum;
+ ObjAffineSet(&src, &matrix, 1, 2);
+ gOamMatrices[i].a = matrix.a;
+ gOamMatrices[i].b = matrix.b;
+ gOamMatrices[i].c = matrix.c;
+ gOamMatrices[i].d = matrix.d;
+}
+
+static bool8 sub_80A7238(void)
+{
+ if (IsContest())
+ {
+ if (gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].data[2] == SPECIES_UNOWN)
+ return FALSE;
+ else
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode)
+{
+ u8 battlerId = gSprites[spriteId].data[0];
+
+ if (IsContest() || IsBattlerSpriteVisible(battlerId))
+ gSprites[spriteId].invisible = FALSE;
+ gSprites[spriteId].oam.objMode = objMode;
+ gSprites[spriteId].affineAnimPaused = TRUE;
+ if (!IsContest() && !gSprites[spriteId].oam.affineMode)
+ gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battlerId].matrixNum;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE;
+ CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode);
+}
+
+void ResetSpriteRotScale(u8 spriteId)
+{
+ SetSpriteRotScale(spriteId, 0x100, 0x100, 0);
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
+ gSprites[spriteId].oam.objMode = 0;
+ gSprites[spriteId].affineAnimPaused = FALSE;
+ CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode);
+}
+
+// Sets the sprite's y offset equal to the y displacement caused by the
+// matrix's rotation.
+void SetBattlerSpriteYOffsetFromRotation(u8 spriteId)
+{
+ u16 matrixNum = gSprites[spriteId].oam.matrixNum;
+ // The "c" component of the battler sprite matrix contains the sine of the rotation angle divided by some scale amount.
+ s16 c = gOamMatrices[matrixNum].c;
+ if (c < 0)
+ c = -c;
+
+ gSprites[spriteId].pos2.y = c >> 3;
+}
+
+void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 xScale, s16 yScale, u16 rotation)
+{
+ int i;
+ struct ObjAffineSrcData src;
+ struct OamMatrix matrix;
+
+ if (sprite->oam.affineMode & 1)
+ {
+ sprite->affineAnimPaused = TRUE;
+ if (recalcCenterVector)
+ CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode);
+ src.xScale = xScale;
+ src.yScale = yScale;
+ src.rotation = rotation;
+ if (sub_80A7238())
+ src.xScale = -src.xScale;
+ i = sprite->oam.matrixNum;
+ ObjAffineSet(&src, &matrix, 1, 2);
+ gOamMatrices[i].a = matrix.a;
+ gOamMatrices[i].b = matrix.b;
+ gOamMatrices[i].c = matrix.c;
+ gOamMatrices[i].d = matrix.d;
+ }
+}
+
+void sub_80A749C(struct Sprite *sprite)
+{
+ TrySetSpriteRotScale(sprite, TRUE, 0x100, 0x100, 0);
+ sprite->affineAnimPaused = FALSE;
+ CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode);
+}
+
+static u16 ArcTan2_(s16 a, s16 b)
+{
+ return ArcTan2(a, b);
+}
+
+u16 ArcTan2Neg(s16 a, s16 b)
+{
+ u16 var = ArcTan2_(a, b);
+ return -var;
+}
+
+void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor)
+{
+ int i;
+ struct PlttData *originalColor;
+ struct PlttData *destColor;
+ u16 average;
+
+ paletteNum *= 16;
+
+ if (!restoreOriginalColor)
+ {
+ for (i = 0; i < 16; i++)
+ {
+ originalColor = (struct PlttData *)&gPlttBufferUnfaded[paletteNum + i];
+ average = originalColor->r + originalColor->g + originalColor->b;
+ average /= 3;
+
+ destColor = (struct PlttData *)&gPlttBufferFaded[paletteNum + i];
+ destColor->r = average;
+ destColor->g = average;
+ destColor->b = average;
+ }
+ }
+ else
+ {
+ CpuCopy32(&gPlttBufferUnfaded[paletteNum], &gPlttBufferFaded[paletteNum], 32);
+ }
+}
+
+u32 sub_80A75AC(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner, u8 targetPartner, u8 a6, u8 a7)
+{
+ u32 selectedPalettes = 0;
+ u32 shift;
+
+ if (battleBackground)
+ {
+ if (!IsContest())
+ selectedPalettes = 0xe;
+ else
+ selectedPalettes = 1 << sub_80A6D94();
+ }
+ if (attacker)
+ {
+ shift = gBattleAnimAttacker + 16;
+ selectedPalettes |= 1 << shift;
+ }
+ if (target)
+ {
+ shift = gBattleAnimTarget + 16;
+ selectedPalettes |= 1 << shift;
+ }
+ if (attackerPartner)
+ {
+ if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
+ {
+ shift = BATTLE_PARTNER(gBattleAnimAttacker) + 16;
+ selectedPalettes |= 1 << shift;
+ }
+ }
+ if (targetPartner)
+ {
+ if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget)))
+ {
+ shift = BATTLE_PARTNER(gBattleAnimTarget) + 16;
+ selectedPalettes |= 1 << shift;
+ }
+ }
+ if (a6)
+ {
+ if (!IsContest())
+ selectedPalettes |= 0x100;
+ else
+ selectedPalettes |= 0x4000;
+ }
+ if (a7)
+ {
+ if (!IsContest())
+ selectedPalettes |= 0x200;
+ }
+ return selectedPalettes;
+}
+
+u32 sub_80A76C4(u8 a1, u8 a2, u8 a3, u8 a4)
+{
+ u32 var = 0;
+ u32 shift;
+
+ if (IsContest())
+ {
+ if (a1)
+ {
+ var |= 1 << 18;
+ return var;
+ }
+ }
+ else
+ {
+ if (a1)
+ {
+ if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)))
+ {
+ var |= 1 << (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) + 16);
+ }
+ }
+ if (a2)
+ {
+ if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)))
+ {
+ shift = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT) + 16;
+ var |= 1 << shift;
+ }
+ }
+ if (a3)
+ {
+ if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)))
+ {
+ shift = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT) + 16;
+ var |= 1 << shift;
+ }
+ }
+ if (a4)
+ {
+ if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)))
+ {
+ shift = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT) + 16;
+ var |= 1 << shift;
+ }
+ }
+ }
+ return var;
+}
+
+u8 sub_80A77AC(u8 a1)
+{
+ return a1;
+}
+
+static u8 GetBattlerAtPosition_(u8 position)
+{
+ return GetBattlerAtPosition(position);
+}
+
+void sub_80A77C8(struct Sprite *sprite)
+{
+ bool8 var;
+
+ if (!sprite->data[0])
+ {
+ if (!gBattleAnimArgs[3])
+ var = TRUE;
+ else
+ var = FALSE;
+ if (!gBattleAnimArgs[2])
+ InitSpritePosToAnimAttacker(sprite, var);
+ else
+ InitSpritePosToAnimTarget(sprite, var);
+ sprite->data[0]++;
+
+ }
+ else if (sprite->animEnded || sprite->affineAnimEnded)
+ {
+ DestroySpriteAndMatrix(sprite);
+ }
+}
+
+// Linearly translates a sprite to a target position on the
+// other mon's sprite.
+// arg 0: initial x offset
+// arg 1: initial y offset
+// arg 2: target x offset
+// arg 3: target y offset
+// arg 4: duration
+// arg 5: lower 8 bits = location on attacking mon, upper 8 bits = location on target mon pick to target
+void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
+{
+ bool8 v1;
+ u8 coordType;
+
+ if (!(gBattleAnimArgs[5] & 0xff00))
+ v1 = TRUE;
+ else
+ v1 = FALSE;
+
+ if (!(gBattleAnimArgs[5] & 0xff))
+ coordType = BATTLER_COORD_Y_PIC_OFFSET;
+ else
+ coordType = BATTLER_COORD_Y;
+
+ InitSpritePosToAnimAttacker(sprite, v1);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, coordType) + gBattleAnimArgs[3];
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_80A78AC(struct Sprite *sprite)
+{
+ InitSpritePosToAnimAttacker(sprite, 1);
+ if (GetBattlerSide(gBattleAnimAttacker))
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
+ sprite->data[5] = gBattleAnimArgs[5];
+ InitAnimArcTranslation(sprite);
+ sprite->callback = sub_80A791C;
+}
+
+static void sub_80A791C(struct Sprite *sprite)
+{
+ if (TranslateAnimHorizontalArc(sprite))
+ DestroyAnimSprite(sprite);
+}
+
+void sub_80A7938(struct Sprite *sprite)
+{
+ bool8 r4;
+ u8 battlerId, coordType;
+
+ if (!gBattleAnimArgs[6])
+ {
+ r4 = TRUE;
+ coordType = BATTLER_COORD_Y_PIC_OFFSET;
+ }
+ else
+ {
+ r4 = FALSE;
+ coordType = BATTLER_COORD_Y;
+ }
+ if (!gBattleAnimArgs[5])
+ {
+ InitSpritePosToAnimAttacker(sprite, r4);
+ battlerId = gBattleAnimAttacker;
+ }
+ else
+ {
+ InitSpritePosToAnimTarget(sprite, r4);
+ battlerId = gBattleAnimTarget;
+ }
+ if (GetBattlerSide(gBattleAnimAttacker))
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+ InitSpritePosToAnimTarget(sprite, r4);
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(battlerId, coordType) + gBattleAnimArgs[3];
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+s16 CloneBattlerSpriteWithBlend(u8 animBattler)
+{
+ u16 i;
+ u8 spriteId = GetAnimBattlerSpriteId(animBattler);
+
+ if (spriteId != 0xFF)
+ {
+ for (i = 0; i < MAX_SPRITES; i++)
+ {
+ if (!gSprites[i].inUse)
+ {
+ gSprites[i] = gSprites[spriteId];
+ gSprites[i].oam.objMode = ST_OAM_OBJ_BLEND;
+ gSprites[i].invisible = FALSE;
+ return i;
+ }
+ }
+ }
+ return -1;
+}
+
+void obj_delete_but_dont_free_vram(struct Sprite *sprite)
+{
+ sprite->usingSheet = TRUE;
+ DestroySprite(sprite);
+}
+
+void sub_80A7A74(u8 taskId)
+{
+ s16 v1 = 0;
+ s16 v2 = 0;
+
+ if (gBattleAnimArgs[2] > gBattleAnimArgs[0])
+ v2 = 1;
+ if (gBattleAnimArgs[2] < gBattleAnimArgs[0])
+ v2 = -1;
+ if (gBattleAnimArgs[3] > gBattleAnimArgs[1])
+ v1 = 1;
+ if (gBattleAnimArgs[3] < gBattleAnimArgs[1])
+ v1 = -1;
+
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = gBattleAnimArgs[4];
+ gTasks[taskId].data[2] = 0;
+ gTasks[taskId].data[3] = gBattleAnimArgs[0];
+ gTasks[taskId].data[4] = gBattleAnimArgs[1];
+ gTasks[taskId].data[5] = v2;
+ gTasks[taskId].data[6] = v1;
+ gTasks[taskId].data[7] = gBattleAnimArgs[2];
+ gTasks[taskId].data[8] = gBattleAnimArgs[3];
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gBattleAnimArgs[0], gBattleAnimArgs[1]));
+ gTasks[taskId].func = sub_80A7AFC;
+}
+
+static void sub_80A7AFC(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ if (++task->data[0] > task->data[1])
+ {
+ task->data[0] = 0;
+ if (++task->data[2] & 1)
+ {
+ if (task->data[3] != task->data[7])
+ task->data[3] += task->data[5];
+ }
+ else
+ {
+ if (task->data[4] != task->data[8])
+ task->data[4] += task->data[6];
+ }
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[3], task->data[4]));
+ if (task->data[3] == task->data[7] && task->data[4] == task->data[8])
+ {
+ DestroyAnimVisualTask(taskId);
+ return;
+ }
+ }
+}
+
+// Linearly blends a mon's sprite colors with a target color with increasing
+// strength, and then blends out to the original color.
+// arg 0: anim bank
+// arg 1: blend color
+// arg 2: target blend coefficient
+// arg 3: initial delay
+// arg 4: number of times to blend in and out
+void AnimTask_BlendMonInAndOut(u8 task)
+{
+ u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
+ if (spriteId == 0xff)
+ {
+ DestroyAnimVisualTask(task);
+ return;
+ }
+ gTasks[task].data[0] = (gSprites[spriteId].oam.paletteNum * 0x10) + 0x101;
+ AnimTask_BlendMonInAndOutSetup(&gTasks[task]);
+}
+
+static void AnimTask_BlendMonInAndOutSetup(struct Task *task)
+{
+ task->data[1] = gBattleAnimArgs[1];
+ task->data[2] = 0;
+ task->data[3] = gBattleAnimArgs[2];
+ task->data[4] = 0;
+ task->data[5] = gBattleAnimArgs[3];
+ task->data[6] = 0;
+ task->data[7] = gBattleAnimArgs[4];
+ task->func = AnimTask_BlendMonInAndOutStep;
+}
+
+static void AnimTask_BlendMonInAndOutStep(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ if (++task->data[4] >= task->data[5])
+ {
+ task->data[4] = 0;
+ if (!task->data[6])
+ {
+ task->data[2]++;
+ BlendPalette(task->data[0], 15, task->data[2], task->data[1]);
+ if (task->data[2] == task->data[3])
+ task->data[6] = 1;
+ }
+ else
+ {
+ task->data[2]--;
+ BlendPalette(task->data[0], 15, task->data[2], task->data[1]);
+ if (!task->data[2])
+ {
+ if (--task->data[7])
+ {
+ task->data[4] = 0;
+ task->data[6] = 0;
+ }
+ else
+ {
+ DestroyAnimVisualTask(taskId);
+ return;
+ }
+ }
+ }
+ }
+}
+
+void sub_80A7CB4(u8 task)
+{
+ u8 palette = IndexOfSpritePaletteTag(gBattleAnimArgs[0]);
+
+ if (palette == 0xff)
+ {
+ DestroyAnimVisualTask(task);
+ return;
+ }
+ gTasks[task].data[0] = (palette * 0x10) + 0x101;
+ AnimTask_BlendMonInAndOutSetup(&gTasks[task]);
+}
+
+void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds)
+{
+ task->data[7] = 0;
+ task->data[8] = 0;
+ task->data[9] = 0;
+ task->data[15] = spriteId;
+ task->data[10] = 0x100;
+ task->data[11] = 0x100;
+ task->data[12] = 0;
+ StorePointerInVars(&task->data[13], &task->data[14], affineAnimCmds);
+ PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
+}
+
+bool8 RunAffineAnimFromTaskData(struct Task *task)
+{
+ gAnimTaskAffineAnim = LoadPointerFromVars(task->data[13], task->data[14]) + (task->data[7] << 3);
+ switch (gAnimTaskAffineAnim->type)
+ {
+ default:
+ if (!gAnimTaskAffineAnim->frame.duration)
+ {
+ task->data[10] = gAnimTaskAffineAnim->frame.xScale;
+ task->data[11] = gAnimTaskAffineAnim->frame.yScale;
+ task->data[12] = gAnimTaskAffineAnim->frame.rotation;
+ task->data[7]++;
+ gAnimTaskAffineAnim++;
+ }
+ task->data[10] += gAnimTaskAffineAnim->frame.xScale;
+ task->data[11] += gAnimTaskAffineAnim->frame.yScale;
+ task->data[12] += gAnimTaskAffineAnim->frame.rotation;
+ SetSpriteRotScale(task->data[15], task->data[10], task->data[11], task->data[12]);
+ SetBattlerSpriteYOffsetFromYScale(task->data[15]);
+ if (++task->data[8] >= gAnimTaskAffineAnim->frame.duration)
+ {
+ task->data[8] = 0;
+ task->data[7]++;
+ }
+ break;
+ case AFFINEANIMCMDTYPE_JUMP:
+ task->data[7] = gAnimTaskAffineAnim->jump.target;
+ break;
+ case AFFINEANIMCMDTYPE_LOOP:
+ if (gAnimTaskAffineAnim->loop.count)
+ {
+ if (task->data[9])
+ {
+ if (!--task->data[9])
+ {
+ task->data[7]++;
+ break;
+ }
+ }
+ else
+ {
+ task->data[9] = gAnimTaskAffineAnim->loop.count;
+ }
+ if (!task->data[7])
+ {
+ break;
+ }
+ for (;;)
+ {
+ task->data[7]--;
+ gAnimTaskAffineAnim--;
+ if (gAnimTaskAffineAnim->type == AFFINEANIMCMDTYPE_LOOP)
+ {
+ task->data[7]++;
+ return TRUE;
+ }
+ if (!task->data[7])
+ return TRUE;
+ }
+ }
+ task->data[7]++;
+ break;
+ case AFFINEANIMCMDTYPE_END:
+ gSprites[task->data[15]].pos2.y = 0;
+ ResetSpriteRotScale(task->data[15]);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+// Sets the sprite's y offset equal to the y displacement caused by the
+// matrix's scale in the y dimension.
+void SetBattlerSpriteYOffsetFromYScale(u8 spriteId)
+{
+ int var = 64 - GetBattlerYDeltaFromSpriteId(spriteId) * 2;
+ u16 matrix = gSprites[spriteId].oam.matrixNum;
+ int var2 = (var << 8) / gOamMatrices[matrix].d;
+
+ if (var2 > 128)
+ var2 = 128;
+ gSprites[spriteId].pos2.y = (var - var2) / 2;
+}
+
+// Sets the sprite's y offset equal to the y displacement caused by another sprite
+// matrix's scale in the y dimension.
+void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId)
+{
+ int var = 64 - GetBattlerYDeltaFromSpriteId(otherSpriteId) * 2;
+ u16 matrix = gSprites[spriteId].oam.matrixNum;
+ int var2 = (var << 8) / gOamMatrices[matrix].d;
+
+ if (var2 > 128)
+ var2 = 128;
+ gSprites[spriteId].pos2.y = (var - var2) / 2;
+}
+
+static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId)
+{
+ struct BattleSpriteInfo *spriteInfo;
+ u8 battlerId = gSprites[spriteId].data[0];
+ u16 species;
+ u16 i;
+
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
+ {
+ if (gBattlerSpriteIds[i] == spriteId)
+ {
+ if (IsContest())
+ {
+ species = gContestResources->field_18->species;
+ return gMonBackPicCoords[species].y_offset;
+ }
+ else
+ {
+ if (GetBattlerSide(i) == B_SIDE_PLAYER)
+ {
+ spriteInfo = gBattleSpritesDataPtr->battlerData;
+ if (!spriteInfo[battlerId].transformSpecies)
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES);
+ else
+ species = spriteInfo[battlerId].transformSpecies;
+
+ if (species == SPECIES_CASTFORM)
+ return sCastformBackSpriteYCoords[gBattleMonForms[battlerId]];
+ else
+ return gMonBackPicCoords[species].y_offset;
+ }
+ else
+ {
+ spriteInfo = gBattleSpritesDataPtr->battlerData;
+ if (!spriteInfo[battlerId].transformSpecies)
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES);
+ else
+ species = spriteInfo[battlerId].transformSpecies;
+
+ if (species == SPECIES_CASTFORM)
+ return sCastformElevations[gBattleMonForms[battlerId]];
+ else
+ return gMonFrontPicCoords[species].y_offset;
+ }
+ }
+ }
+ }
+ return 64;
+}
+
+void StorePointerInVars(s16 *lo, s16 *hi, const void *ptr)
+{
+ *lo = ((intptr_t) ptr) & 0xffff;
+ *hi = (((intptr_t) ptr) >> 16) & 0xffff;
+}
+
+void *LoadPointerFromVars(s16 lo, s16 hi)
+{
+ return (void *)((u16)lo | ((u16)hi << 16));
+}
+
+void sub_80A805C(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7)
+{
+ task->data[8] = a7;
+ task->data[15] = a2; // spriteId
+ task->data[9] = a3;
+ task->data[10] = a4;
+ task->data[13] = a5;
+ task->data[14] = a6;
+ task->data[11] = (a5 - a3) / a7;
+ task->data[12] = (a6 - a4) / a7;
+}
+
+u8 sub_80A80C8(struct Task *task)
+{
+ if (!task->data[8])
+ return 0;
+
+ if (--task->data[8] != 0)
+ {
+ task->data[9] += task->data[11];
+ task->data[10] += task->data[12];
+ }
+ else
+ {
+ task->data[9] = task->data[13];
+ task->data[10] = task->data[14];
+ }
+ SetSpriteRotScale(task->data[15], task->data[9], task->data[10], 0);
+ if (task->data[8])
+ SetBattlerSpriteYOffsetFromYScale(task->data[15]);
+ else
+ gSprites[task->data[15]].pos2.y = 0;
+ return task->data[8];
+}
+
+void AnimTask_GetFrustrationPowerLevel(u8 taskId)
+{
+ u16 powerLevel;
+
+ if (gAnimFriendship <= 30)
+ powerLevel = 0;
+ else if (gAnimFriendship <= 100)
+ powerLevel = 1;
+ else if (gAnimFriendship <= 200)
+ powerLevel = 2;
+ else
+ powerLevel = 3;
+ gBattleAnimArgs[7] = powerLevel;
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_80A8174(u8 priority)
+{
+ if (IsBattlerSpriteVisible(gBattleAnimTarget))
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].oam.priority = priority;
+ if (IsBattlerSpriteVisible(gBattleAnimAttacker))
+ gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].oam.priority = priority;
+ if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget)))
+ gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimTarget)]].oam.priority = priority;
+ if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
+ gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority = priority;
+}
+
+void sub_80A8278(void)
+{
+ int i;
+
+ for (i = 0; i < gBattlersCount; i++)
+ {
+ if (IsBattlerSpriteVisible(i))
+ {
+ gSprites[gBattlerSpriteIds[i]].subpriority = GetBattlerSpriteSubpriority(i);
+ gSprites[gBattlerSpriteIds[i]].oam.priority = 2;
+ }
+ }
+}
+
+u8 GetBattlerSpriteSubpriority(u8 battlerId)
+{
+ u8 position;
+ u8 subpriority;
+
+ if (IsContest())
+ {
+ if (battlerId == 2)
+ return 30;
+ else
+ return 40;
+ }
+ else
+ {
+ position = GetBattlerPosition(battlerId);
+ if (position == B_POSITION_PLAYER_LEFT)
+ subpriority = 30;
+ else if (position == B_POSITION_PLAYER_RIGHT)
+ subpriority = 20;
+ else if (position == B_POSITION_OPPONENT_LEFT)
+ subpriority = 40;
+ else
+ subpriority = 50;
+ }
+
+ return subpriority;
+}
+
+u8 GetBattlerSpriteBGPriority(u8 battlerId)
+{
+ u8 position = GetBattlerPosition(battlerId);
+
+ if (IsContest())
+ return 2;
+ else if (position == B_POSITION_PLAYER_LEFT || position == B_POSITION_OPPONENT_RIGHT)
+ return GetAnimBgAttribute(2, BG_ANIM_PRIORITY);
+ else
+ return GetAnimBgAttribute(1, BG_ANIM_PRIORITY);
+}
+
+u8 GetBattlerSpriteBGPriorityRank(u8 battlerId)
+{
+ if (!IsContest())
+ {
+ u8 position = GetBattlerPosition(battlerId);
+ if (position == B_POSITION_PLAYER_LEFT || position == B_POSITION_OPPONENT_RIGHT)
+ return 2;
+ else
+ return 1;
+ }
+ return 1;
+}
+
+u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10)
+{
+ u8 spriteId;
+ u16 sheet = LoadSpriteSheet(&sUnknown_08525FC0[a3]);
+ u16 palette = AllocSpritePalette(sUnknown_08525F90[a3].paletteTag);
+
+ if (gMonSpritesGfxPtr != NULL && gMonSpritesGfxPtr->field_17C == NULL)
+ gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000);
+ if (!isBackpic)
+ {
+ LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20);
+ if (a10 == 1 || sub_80688F8(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
+ LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species],
+ gMonSpritesGfxPtr->field_17C,
+ species,
+ personality,
+ TRUE);
+ else
+ LoadSpecialPokePic_2(&gMonFrontPicTable[species],
+ gMonSpritesGfxPtr->field_17C,
+ species,
+ personality,
+ TRUE);
+ }
+ else
+ {
+ LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20);
+ if (a10 == 1 || sub_80688F8(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
+ LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species],
+ gMonSpritesGfxPtr->field_17C,
+ species,
+ personality,
+ FALSE);
+ else
+ LoadSpecialPokePic_2(&gMonBackPicTable[species],
+ gMonSpritesGfxPtr->field_17C,
+ species,
+ personality,
+ FALSE);
+ }
+
+ RequestDma3Copy(gMonSpritesGfxPtr->field_17C, (void *)(OBJ_VRAM0 + (sheet * 0x20)), 0x800, 1);
+ FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_17C);
+
+ if (!isBackpic)
+ spriteId = CreateSprite(&sUnknown_08525F90[a3], x, y + gMonFrontPicCoords[species].y_offset, subpriority);
+ else
+ spriteId = CreateSprite(&sUnknown_08525F90[a3], x, y + gMonBackPicCoords[species].y_offset, subpriority);
+
+ if (IsContest())
+ {
+ gSprites[spriteId].affineAnims = gUnknown_082FF6C0;
+ StartSpriteAffineAnim(&gSprites[spriteId], 0);
+ }
+ return spriteId;
+}
+
+void DestroySpriteAndFreeResources_(struct Sprite *sprite)
+{
+ DestroySpriteAndFreeResources(sprite);
+}
+
+s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr)
+{
+ u16 species;
+ u32 personality;
+ u16 letter;
+ u16 unownSpecies;
+ int ret;
+ const struct MonCoords *coords;
+ struct BattleSpriteInfo *spriteInfo;
+
+ if (IsContest())
+ {
+ if (gContestResources->field_18->unk4_0)
+ {
+ species = gContestResources->field_18->unk2;
+ personality = gContestResources->field_18->unk10;
+ }
+ else
+ {
+ species = gContestResources->field_18->species;
+ personality = gContestResources->field_18->unk8;
+ }
+ if (species == SPECIES_UNOWN)
+ {
+ letter = GET_UNOWN_LETTER(personality);
+ if (!letter)
+ unownSpecies = SPECIES_UNOWN;
+ else
+ unownSpecies = letter + SPECIES_UNOWN_B - 1;
+ coords = &gMonBackPicCoords[unownSpecies];
+ }
+ else if (species == SPECIES_CASTFORM)
+ {
+ coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]];
+ }
+ else if (species <= SPECIES_EGG)
+ {
+ coords = &gMonBackPicCoords[species];
+ }
+ else
+ {
+ coords = &gMonBackPicCoords[0];
+ }
+ }
+ else
+ {
+ if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
+ {
+ spriteInfo = gBattleSpritesDataPtr->battlerData;
+ if (!spriteInfo[battlerId].transformSpecies)
+ {
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
+ personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY);
+ }
+ else
+ {
+ species = spriteInfo[battlerId].transformSpecies;
+ personality = gTransformedPersonalities[battlerId];
+ }
+
+ if (species == SPECIES_UNOWN)
+ {
+ letter = GET_UNOWN_LETTER(personality);
+ if (!letter)
+ unownSpecies = SPECIES_UNOWN;
+ else
+ unownSpecies = letter + SPECIES_UNOWN_B - 1;
+ coords = &gMonBackPicCoords[unownSpecies];
+ }
+ else if (species > NUM_SPECIES)
+ {
+ coords = &gMonBackPicCoords[0];
+ }
+ else
+ {
+ coords = &gMonBackPicCoords[species];
+ }
+ }
+ else
+ {
+ spriteInfo = gBattleSpritesDataPtr->battlerData;
+ if (!spriteInfo[battlerId].transformSpecies)
+ {
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
+ personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY);
+ }
+ else
+ {
+ species = spriteInfo[battlerId].transformSpecies;
+ personality = gTransformedPersonalities[battlerId];
+ }
+
+ if (species == SPECIES_UNOWN)
+ {
+ letter = GET_UNOWN_LETTER(personality);
+ if (!letter)
+ unownSpecies = SPECIES_UNOWN;
+ else
+ unownSpecies = letter + SPECIES_UNOWN_B - 1;
+ coords = &gMonFrontPicCoords[unownSpecies];
+ }
+ else if (species == SPECIES_CASTFORM)
+ {
+ coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]];
+ }
+ else if (species > NUM_SPECIES)
+ {
+ coords = &gMonFrontPicCoords[0];
+ }
+ else
+ {
+ coords = &gMonFrontPicCoords[species];
+ }
+ }
+ }
+
+ switch (attr)
+ {
+ case BATTLER_COORD_ATTR_HEIGHT:
+ return (coords->size & 0xf) * 8;
+ case BATTLER_COORD_ATTR_WIDTH:
+ return (coords->size >> 4) * 8;
+ case BATTLER_COORD_ATTR_LEFT:
+ return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) - ((coords->size >> 4) * 4);
+ case BATTLER_COORD_ATTR_RIGHT:
+ return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + ((coords->size >> 4) * 4);
+ case BATTLER_COORD_ATTR_TOP:
+ return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) - ((coords->size & 0xf) * 4);
+ case BATTLER_COORD_ATTR_BOTTOM:
+ return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) + ((coords->size & 0xf) * 4);
+ case BATTLER_COORD_ATTR_RAW_BOTTOM:
+ ret = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 31;
+ return ret - coords->y_offset;
+ default:
+ return 0;
+ }
+}
+
+void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y)
+{
+ u8 xCoordType, yCoordType;
+ s16 battlerX, battlerY;
+ s16 partnerX, partnerY;
+
+ if (!respectMonPicOffsets)
+ {
+ xCoordType = BATTLER_COORD_X;
+ yCoordType = BATTLER_COORD_Y;
+ }
+ else
+ {
+ xCoordType = BATTLER_COORD_X_2;
+ yCoordType = BATTLER_COORD_Y_PIC_OFFSET;
+ }
+
+ battlerX = GetBattlerSpriteCoord(battlerId, xCoordType);
+ battlerY = GetBattlerSpriteCoord(battlerId, yCoordType);
+ if (IsDoubleBattle() && !IsContest())
+ {
+ partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), xCoordType);
+ partnerY = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), yCoordType);
+ }
+ else
+ {
+ partnerX = battlerX;
+ partnerY = battlerY;
+ }
+
+ *x = (battlerX + partnerX) / 2;
+ *y = (battlerY + partnerY) / 2;
+}
+
+u8 sub_80A89C8(int battlerId, u8 spriteId, int species)
+{
+ u8 newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
+ gSprites[newSpriteId] = gSprites[spriteId];
+ gSprites[newSpriteId].usingSheet = TRUE;
+ gSprites[newSpriteId].oam.priority = 0;
+ gSprites[newSpriteId].oam.objMode = 2;
+ gSprites[newSpriteId].oam.tileNum = gSprites[spriteId].oam.tileNum;
+ gSprites[newSpriteId].callback = SpriteCallbackDummy;
+ return newSpriteId;
+}
+
+void sub_80A8A6C(struct Sprite *sprite)
+{
+ SetSpriteCoordsToAnimAttackerCoords(sprite);
+ if (GetBattlerSide(gBattleAnimAttacker))
+ {
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ gBattleAnimArgs[3] = -gBattleAnimArgs[3];
+ sprite->hFlip = TRUE;
+ }
+ else
+ {
+ sprite->pos1.x += gBattleAnimArgs[0];
+ }
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[3] = gBattleAnimArgs[4];
+ sprite->data[5] = gBattleAnimArgs[5];
+ StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
+ sprite->callback = TranslateSpriteLinearAndFlicker;
+}
+
+void sub_80A8AEC(struct Sprite *sprite)
+{
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ gBattleAnimArgs[3] *= -1;
+ }
+ else
+ {
+ sprite->pos1.x += gBattleAnimArgs[0];
+ }
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[3] = gBattleAnimArgs[4];
+ sprite->data[5] = gBattleAnimArgs[5];
+ StartSpriteAnim(sprite, gBattleAnimArgs[6]);
+ StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
+ sprite->callback = TranslateSpriteLinearAndFlicker;
+}
+
+void sub_80A8B64(struct Sprite *sprite)
+{
+ SetSpriteCoordsToAnimAttackerCoords(sprite);
+ if (GetBattlerSide(gBattleAnimAttacker))
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ else
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->callback = RunStoredCallbackWhenAnimEnds;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_80A8BC4(u8 taskId)
+{
+ u16 src;
+ u16 dest;
+ struct Task *task = &gTasks[taskId];
+
+ task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ task->data[1] = ((GetBattlerSide(gBattleAnimAttacker)) != B_SIDE_PLAYER) ? -8 : 8;
+ task->data[2] = 0;
+ task->data[3] = 0;
+ gSprites[task->data[0]].pos2.x -= task->data[0];
+ task->data[4] = AllocSpritePalette(10097);
+ task->data[5] = 0;
+
+ dest = (task->data[4] + 0x10) * 0x10;
+ src = (gSprites[task->data[0]].oam.paletteNum + 0x10) * 0x10;
+ task->data[6] = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
+ if (task->data[6] == 20 || task->data[6] == 40)
+ task->data[6] = 2;
+ else
+ task->data[6] = 3;
+ CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20);
+ BlendPalette(dest, 16, gBattleAnimArgs[1], gBattleAnimArgs[0]);
+ task->func = sub_80A8CAC;
+}
+
+static void sub_80A8CAC(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ switch (task->data[2])
+ {
+ case 0:
+ sub_80A8D78(task, taskId);
+ gSprites[task->data[0]].pos2.x += task->data[1];
+ if (++task->data[3] == 5)
+ {
+ task->data[3]--;
+ task->data[2]++;
+ }
+ break;
+ case 1:
+ sub_80A8D78(task, taskId);
+ gSprites[task->data[0]].pos2.x -= task->data[1];
+ if (--task->data[3] == 0)
+ {
+ gSprites[task->data[0]].pos2.x = 0;
+ task->data[2]++;
+ }
+ break;
+ case 2:
+ if (!task->data[5])
+ {
+ FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON);
+ DestroyAnimVisualTask(taskId);
+ }
+ break;
+ }
+}
+
+static void sub_80A8D78(struct Task *task, u8 taskId)
+{
+ s16 spriteId = CloneBattlerSpriteWithBlend(0);
+ if (spriteId >= 0)
+ {
+ gSprites[spriteId].oam.priority = task->data[6];
+ gSprites[spriteId].oam.paletteNum = task->data[4];
+ gSprites[spriteId].data[0] = 8;
+ gSprites[spriteId].data[1] = taskId;
+ gSprites[spriteId].data[2] = spriteId;
+ gSprites[spriteId].pos2.x = gSprites[task->data[0]].pos2.x;
+ gSprites[spriteId].callback = sub_80A8DFC;
+ task->data[5]++;
+ }
+}
+
+static void sub_80A8DFC(struct Sprite *sprite)
+{
+ if (--sprite->data[0] == 0)
+ {
+ gTasks[sprite->data[1]].data[5]--;
+ obj_delete_but_dont_free_vram(sprite);
+ }
+}
+
+void sub_80A8E30(struct Sprite *sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+ if (!GetBattlerSide(gBattleAnimAttacker))
+ sprite->data[0] = 5;
+ else
+ sprite->data[0] = -10;
+ sprite->data[1] = -40;
+ sprite->callback = sub_80A8E88;
+}
+
+static void sub_80A8E88(struct Sprite *sprite)
+{
+ sprite->data[2] += sprite->data[0];
+ sprite->data[3] += sprite->data[1];
+ sprite->pos2.x = sprite->data[2] / 10;
+ sprite->pos2.y = sprite->data[3] / 10;
+ if (sprite->data[1] < -20)
+ sprite->data[1]++;
+ if (sprite->pos1.y + sprite->pos2.y < -32)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_80A8EE4(struct Sprite *sprite)
+{
+ int x;
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[4];
+ sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[5];
+ if (!GetBattlerSide(gBattleAnimTarget))
+ {
+ x = (u16)gBattleAnimArgs[4] + 30;
+ sprite->pos1.x += x;
+ sprite->pos1.y = gBattleAnimArgs[5] - 20;
+ }
+ else
+ {
+ x = (u16)gBattleAnimArgs[4] - 30;
+ sprite->pos1.x += x;
+ sprite->pos1.y = gBattleAnimArgs[5] - 80;
+ }
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c
new file mode 100755
index 000000000..ee37d199f
--- /dev/null
+++ b/src/battle_anim_special.c
@@ -0,0 +1,2267 @@
+#include "global.h"
+#include "battle.h"
+#include "battle_anim.h"
+#include "battle_controllers.h"
+#include "battle_interface.h"
+#include "decompress.h"
+#include "dma3.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "m4a.h"
+#include "main.h"
+#include "palette.h"
+#include "pokeball.h"
+#include "sound.h"
+#include "sprite.h"
+#include "task.h"
+#include "trig.h"
+#include "util.h"
+#include "constants/rgb.h"
+#include "constants/items.h"
+#include "constants/songs.h"
+
+// iwram
+int gUnknown_030062DC;
+u16 gUnknown_030062E0;
+u16 gUnknown_030062E4;
+
+static void sub_8170660(u8);
+static void sub_8170A38(u8);
+static void sub_8170EF0(u8);
+static void sub_8171104(struct Sprite *);
+static void sub_8171030(u8);
+static void sub_81710A8(u8);
+static void sub_8171134(struct Sprite *);
+static void sub_8171CAC(struct Sprite *);
+static void sub_81711E8(struct Sprite *);
+static void sub_8171240(struct Sprite *);
+static void sub_817138C(struct Sprite *);
+static void sub_81713D0(struct Sprite *);
+static void sub_81717B4(struct Sprite *);
+static void sub_81714D4(struct Sprite *);
+static void sub_8171520(struct Sprite *);
+static void sub_81717D8(struct Sprite *);
+static void sub_8171AE4(struct Sprite *);
+static void sub_81717F8(struct Sprite *);
+static void sub_81719EC(struct Sprite *);
+static void sub_81718D8(struct Sprite *);
+static void sub_81719C0(struct Sprite *);
+static void sub_8171D60(u8);
+static void sub_8171AAC(struct Sprite *);
+static void sub_8171BAC(struct Sprite *);
+static void sub_8171CE8(struct Sprite *);
+static void PokeBallOpenParticleAnimation_Step1(struct Sprite *);
+static void PokeBallOpenParticleAnimation_Step2(struct Sprite *);
+static void DestroyBallOpenAnimationParticle(struct Sprite *);
+static void FanOutBallOpenParticles_Step1(struct Sprite *);
+static void RepeatBallOpenParticleAnimation_Step1(struct Sprite *);
+static void PremierBallOpenParticleAnimation_Step1(struct Sprite *);
+static void sub_8172AB0(u8);
+static void sub_8172B40(u8);
+static void sub_8172B90(u8);
+static void sub_8172FEC(u8);
+static void sub_81731FC(struct Sprite *);
+static void sub_8173250(struct Sprite *);
+static void sub_81731B0(u8);
+static void sub_817339C(struct Sprite *);
+static void sub_81733D4(struct Sprite *);
+static void sub_8173400(struct Sprite *);
+static void PokeBallOpenParticleAnimation(u8);
+static void GreatBallOpenParticleAnimation(u8);
+static void SafariBallOpenParticleAnimation(u8);
+static void UltraBallOpenParticleAnimation(u8);
+static void MasterBallOpenParticleAnimation(u8);
+static void DiveBallOpenParticleAnimation(u8);
+static void RepeatBallOpenParticleAnimation(u8);
+static void TimerBallOpenParticleAnimation(u8);
+static void PremierBallOpenParticleAnimation(u8);
+static void sub_817330C(struct Sprite *);
+
+struct BallCaptureSuccessStarData
+{
+ s8 xOffset;
+ s8 yOffset;
+ s8 unk2;
+};
+
+static const struct BallCaptureSuccessStarData sBallCaptureSuccessStarData[] =
+{
+ {
+ .xOffset = 10,
+ .yOffset = 2,
+ .unk2 = -3,
+ },
+ {
+ .xOffset = 15,
+ .yOffset = 0,
+ .unk2 = -4,
+ },
+ {
+ .xOffset = -10,
+ .yOffset = 2,
+ .unk2 = -4,
+ },
+};
+
+const struct CompressedSpriteSheet gBallOpenParticleSpritesheets[] =
+{
+ {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6EC},
+ {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6ED},
+ {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6EE},
+ {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6EF},
+ {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F0},
+ {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F1},
+ {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F2},
+ {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F3},
+ {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F4},
+ {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F5},
+ {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F6},
+ {gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F7},
+};
+
+const struct CompressedSpritePalette gBallOpenParticlePalettes[] =
+{
+ {gBattleAnimSpritePal_CircleImpact, 0xD6EC},
+ {gBattleAnimSpritePal_CircleImpact, 0xD6ED},
+ {gBattleAnimSpritePal_CircleImpact, 0xD6EE},
+ {gBattleAnimSpritePal_CircleImpact, 0xD6EF},
+ {gBattleAnimSpritePal_CircleImpact, 0xD6F0},
+ {gBattleAnimSpritePal_CircleImpact, 0xD6F1},
+ {gBattleAnimSpritePal_CircleImpact, 0xD6F2},
+ {gBattleAnimSpritePal_CircleImpact, 0xD6F3},
+ {gBattleAnimSpritePal_CircleImpact, 0xD6F4},
+ {gBattleAnimSpritePal_CircleImpact, 0xD6F5},
+ {gBattleAnimSpritePal_CircleImpact, 0xD6F6},
+ {gBattleAnimSpritePal_CircleImpact, 0xD6F7},
+};
+
+const union AnimCmd gUnknown_085E5154[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_085E5170[] =
+{
+ ANIMCMD_FRAME(3, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085E5178[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085E5180[] =
+{
+ ANIMCMD_FRAME(5, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085E5188[] =
+{
+ ANIMCMD_FRAME(6, 4),
+ ANIMCMD_FRAME(7, 4),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_085E5194[] =
+{
+ ANIMCMD_FRAME(7, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085E519C[] =
+{
+ gUnknown_085E5154,
+ gUnknown_085E5170,
+ gUnknown_085E5178,
+ gUnknown_085E5180,
+ gUnknown_085E5188,
+ gUnknown_085E5194,
+};
+
+const u8 gBallOpenParticleAnimNums[] =
+{
+ 0,
+ 0,
+ 0,
+ 5,
+ 1,
+ 2,
+ 2,
+ 3,
+ 5,
+ 5,
+ 4,
+ 4,
+};
+
+const TaskFunc gBallOpenParticleAnimationFuncs[] =
+{
+ PokeBallOpenParticleAnimation,
+ GreatBallOpenParticleAnimation,
+ SafariBallOpenParticleAnimation,
+ UltraBallOpenParticleAnimation,
+ MasterBallOpenParticleAnimation,
+ SafariBallOpenParticleAnimation,
+ DiveBallOpenParticleAnimation,
+ UltraBallOpenParticleAnimation,
+ RepeatBallOpenParticleAnimation,
+ TimerBallOpenParticleAnimation,
+ GreatBallOpenParticleAnimation,
+ PremierBallOpenParticleAnimation,
+};
+
+const struct SpriteTemplate gUnknown_085E51F0[] =
+{
+ {
+ .tileTag = 55020,
+ .paletteTag = 55020,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55021,
+ .paletteTag = 55021,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55022,
+ .paletteTag = 55022,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55023,
+ .paletteTag = 55023,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55024,
+ .paletteTag = 55024,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55025,
+ .paletteTag = 55025,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55026,
+ .paletteTag = 55026,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55027,
+ .paletteTag = 55027,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55028,
+ .paletteTag = 55028,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55029,
+ .paletteTag = 55029,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55030,
+ .paletteTag = 55030,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55031,
+ .paletteTag = 55031,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+};
+
+const u16 gUnknown_085E5310[] =
+{
+ RGB(31, 22, 30),
+ RGB(16, 23, 30),
+ RGB(23, 30, 20),
+ RGB(31, 31, 15),
+ RGB(23, 20, 28),
+ RGB(21, 31, 25),
+ RGB(12, 25, 30),
+ RGB(30, 27, 10),
+ RGB(31, 24, 16),
+ RGB(29, 30, 30),
+ RGB(31, 17, 10),
+ RGB(31, 9, 10),
+ RGB(0, 0, 0),
+ RGB(1, 16, 0),
+ RGB(3, 0, 1),
+ RGB(1, 8, 0),
+ RGB(0, 8, 0),
+ RGB(3, 8, 1),
+ RGB(6, 8, 1),
+ RGB(4, 0, 0),
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_85E5338 =
+{
+ .tileTag = ANIM_TAG_RED_BRICK,
+ .paletteTag = ANIM_TAG_RED_BRICK,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_817330C,
+};
+
+const union AnimCmd gUnknown_085E5350[] =
+{
+ ANIMCMD_FRAME(64, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085E5358[] = {
+ gUnknown_085E5350,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_085E535C =
+{
+ .tileTag = ANIM_TAG_ROCKS,
+ .paletteTag = ANIM_TAG_ROCKS,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085E5358,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_817330C,
+};
+
+extern const struct SpriteTemplate gUnknown_085CE388;
+extern const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate;
+
+void unref_sub_8170478(u8 taskId)
+{
+ struct BattleAnimBgData unknownStruct;
+ u8 healthBoxSpriteId;
+ u8 battler;
+ u8 spriteId1, spriteId2, spriteId3, spriteId4;
+
+ battler = gBattleAnimAttacker;
+ gBattle_WIN0H = 0;
+ gBattle_WIN0V = 0;
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 0);
+ SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 0);
+ SetAnimBgAttribute(1, BG_ANIM_AREA_OVERFLOW_MODE, 1);
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
+
+ healthBoxSpriteId = gHealthboxSpriteIds[battler];
+ spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam;
+ spriteId2 = gSprites[healthBoxSpriteId].data[5];
+ spriteId3 = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
+ spriteId4 = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
+ gSprites[healthBoxSpriteId].oam.priority = 1;
+ gSprites[spriteId1].oam.priority = 1;
+ gSprites[spriteId2].oam.priority = 1;
+ gSprites[spriteId3] = gSprites[healthBoxSpriteId];
+ gSprites[spriteId4] = gSprites[spriteId1];
+ gSprites[spriteId3].oam.objMode = ST_OAM_OBJ_WINDOW;
+ gSprites[spriteId4].oam.objMode = ST_OAM_OBJ_WINDOW;
+ gSprites[spriteId3].callback = SpriteCallbackDummy;
+ gSprites[spriteId4].callback = SpriteCallbackDummy;
+
+ sub_80A6B30(&unknownStruct);
+ AnimLoadCompressedBgTilemap(unknownStruct.bgId, gUnknown_08C2EA9C);
+ AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_08C2EA50, unknownStruct.tilesOffset);
+ LoadCompressedPalette(gCureBubblesPal, unknownStruct.paletteId << 4, 32);
+
+ gBattle_BG1_X = -gSprites[spriteId3].pos1.x + 32;
+ gBattle_BG1_Y = -gSprites[spriteId3].pos1.y - 32;
+ gTasks[taskId].data[1] = 640;
+ gTasks[taskId].data[0] = spriteId3;
+ gTasks[taskId].data[2] = spriteId4;
+ gTasks[taskId].func = sub_8170660;
+}
+
+static void sub_8170660(u8 taskId)
+{
+ u8 spriteId1, spriteId2;
+ u8 battler;
+
+ battler = gBattleAnimAttacker;
+ gTasks[taskId].data[13] += gTasks[taskId].data[1];
+ gBattle_BG1_Y += (u16)gTasks[taskId].data[13] >> 8;
+ gTasks[taskId].data[13] &= 0xFF;
+
+ switch (gTasks[taskId].data[15])
+ {
+ case 0:
+ if (gTasks[taskId].data[11]++ > 1)
+ {
+ gTasks[taskId].data[11] = 0;
+ gTasks[taskId].data[12]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
+ if (gTasks[taskId].data[12] == 8)
+ gTasks[taskId].data[15]++;
+ }
+ break;
+ case 1:
+ if (++gTasks[taskId].data[10] == 30)
+ gTasks[taskId].data[15]++;
+ break;
+ case 2:
+ if (gTasks[taskId].data[11]++ > 1)
+ {
+ gTasks[taskId].data[11] = 0;
+ gTasks[taskId].data[12]--;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
+ if (gTasks[taskId].data[12] == 0)
+ {
+ sub_80A477C(0);
+ gBattle_WIN0H = 0;
+ gBattle_WIN0V = 0;
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
+ if (!IsContest())
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
+
+ SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0));
+ DestroySprite(&gSprites[gTasks[taskId].data[0]]);
+ DestroySprite(&gSprites[gTasks[taskId].data[2]]);
+ SetAnimBgAttribute(1, BG_ANIM_AREA_OVERFLOW_MODE, 0);
+ spriteId1 = gSprites[gHealthboxSpriteIds[battler]].oam.affineParam;
+ spriteId2 = gSprites[gHealthboxSpriteIds[battler]].data[5];
+ gSprites[gHealthboxSpriteIds[battler]].oam.priority = 1;
+ gSprites[spriteId1].oam.priority = 1;
+ gSprites[spriteId2].oam.priority = 1;
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+ break;
+ }
+}
+
+static void sub_8170834(u8 *paletteId1, u8 *paletteId2, u8 battler)
+{
+ u8 healthBoxSpriteId;
+ u8 spriteId1, spriteId2;
+ u16 offset1, offset2;
+
+ healthBoxSpriteId = gHealthboxSpriteIds[battler];
+ spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam;
+ spriteId2 = gSprites[healthBoxSpriteId].data[5];
+ *paletteId1 = AllocSpritePalette(0xD709);
+ *paletteId2 = AllocSpritePalette(0xD70A);
+
+ offset1 = (gSprites[healthBoxSpriteId].oam.paletteNum * 16) + 0x100;
+ offset2 = (gSprites[spriteId2].oam.paletteNum * 16) + 0x100;
+ LoadPalette(&gPlttBufferUnfaded[offset1], *paletteId1 * 16 + 0x100, 0x20);
+ LoadPalette(&gPlttBufferUnfaded[offset2], *paletteId2 * 16 + 0x100, 0x20);
+
+ gSprites[healthBoxSpriteId].oam.paletteNum = *paletteId1;
+ gSprites[spriteId1].oam.paletteNum = *paletteId1;
+ gSprites[spriteId2].oam.paletteNum = *paletteId2;
+}
+
+void sub_8170920(u8 taskId)
+{
+ u8 paletteId1, paletteId2;
+ sub_8170834(&paletteId1, &paletteId2, gBattleAnimAttacker);
+ DestroyAnimVisualTask(taskId);
+}
+
+static void sub_817094C(u8 battler)
+{
+ u8 healthBoxSpriteId;
+ u8 spriteId1, spriteId2;
+ u8 paletteId1, paletteId2;
+
+ healthBoxSpriteId = gHealthboxSpriteIds[battler];
+ spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam;
+ spriteId2 = gSprites[healthBoxSpriteId].data[5];
+
+ FreeSpritePaletteByTag(0xD709);
+ FreeSpritePaletteByTag(0xD70A);
+ paletteId1 = IndexOfSpritePaletteTag(0xD6FF);
+ paletteId2 = IndexOfSpritePaletteTag(0xD704);
+ gSprites[healthBoxSpriteId].oam.paletteNum = paletteId1;
+ gSprites[spriteId1].oam.paletteNum = paletteId1;
+ gSprites[spriteId2].oam.paletteNum = paletteId2;
+}
+
+void sub_81709EC(u8 taskId)
+{
+ sub_817094C(gBattleAnimAttacker);
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8170A0C(u8 taskId)
+{
+ gTasks[taskId].data[10] = gBattleAnimArgs[0];
+ gTasks[taskId].data[11] = gBattleAnimArgs[1];
+ gTasks[taskId].func = sub_8170A38;
+}
+
+static void sub_8170A38(u8 taskId)
+{
+ u8 paletteNum;
+ int paletteOffset, colorOffset;
+
+ gTasks[taskId].data[0]++;
+ if (gTasks[taskId].data[0]++ >= gTasks[taskId].data[11])
+ {
+ gTasks[taskId].data[0] = 0;
+ paletteNum = IndexOfSpritePaletteTag(0xD709);
+ colorOffset = gTasks[taskId].data[10] == 0 ? 6 : 2;
+ switch (gTasks[taskId].data[1])
+ {
+ case 0:
+ gTasks[taskId].data[2] += 2;
+ if (gTasks[taskId].data[2] > 16)
+ gTasks[taskId].data[2] = 16;
+
+ paletteOffset = paletteNum * 16 + 0x100;
+ BlendPalette(paletteOffset + colorOffset, 1, gTasks[taskId].data[2], RGB(20, 27, 31));
+ if (gTasks[taskId].data[2] == 16)
+ gTasks[taskId].data[1]++;
+ break;
+ case 1:
+ gTasks[taskId].data[2] -= 2;
+ if (gTasks[taskId].data[2] < 0)
+ gTasks[taskId].data[2] = 0;
+
+ paletteOffset = paletteNum * 16 + 0x100;
+ BlendPalette(paletteOffset + colorOffset, 1, gTasks[taskId].data[2], RGB(20, 27, 31));
+ if (gTasks[taskId].data[2] == 0)
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+ }
+}
+
+void sub_8170B04(u8 taskId)
+{
+ u8 spriteId;
+
+ spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
+ gTasks[taskId].data[10] = 0x100;
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ gTasks[taskId].data[10] += 0x30;
+ SetSpriteRotScale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[10], 0);
+ SetBattlerSpriteYOffsetFromYScale(spriteId);
+ if (gTasks[taskId].data[10] >= 0x2D0)
+ gTasks[taskId].data[0]++;
+ break;
+ case 2:
+ ResetSpriteRotScale(spriteId);
+ gSprites[spriteId].invisible = 1;
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8170BB0(u8 taskId)
+{
+ u8 spriteId;
+ u16 ball;
+ u8 ballId;
+ u8 x, y;
+ u8 priority, subpriority;
+ u32 selectedPalettes;
+
+ spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ ball = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_POKEBALL);
+ else
+ ball = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_POKEBALL);
+
+ ballId = ItemIdToBallId(ball);
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
+ y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ priority = gSprites[spriteId].oam.priority;
+ subpriority = gSprites[spriteId].subpriority;
+ gTasks[taskId].data[10] = AnimateBallOpenParticles(x, y + 32, priority, subpriority, ballId);
+ selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0);
+ gTasks[taskId].data[11] = LaunchBallFadeMonTask(0, gBattleAnimAttacker, selectedPalettes, ballId);
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ if (!gTasks[gTasks[taskId].data[10]].isActive && !gTasks[gTasks[taskId].data[11]].isActive)
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8170CFC(u8 taskId)
+{
+ u8 ballId = ItemIdToBallId(gLastUsedItem);
+ LoadBallGfx(ballId);
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8170D24(u8 taskId)
+{
+ u8 ballId = ItemIdToBallId(gLastUsedItem);
+ FreeBallGfx(ballId);
+ DestroyAnimVisualTask(taskId);
+}
+
+void AnimTask_IsBallBlockedByTrainer(u8 taskId)
+{
+ if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_TRAINER_BLOCK)
+ gBattleAnimArgs[7] = -1;
+ else
+ gBattleAnimArgs[7] = 0;
+
+ DestroyAnimVisualTask(taskId);
+}
+
+u8 ItemIdToBallId(u16 ballItem)
+{
+ switch (ballItem)
+ {
+ case ITEM_MASTER_BALL:
+ return 4;
+ case ITEM_ULTRA_BALL:
+ return 3;
+ case ITEM_GREAT_BALL:
+ return 1;
+ case ITEM_SAFARI_BALL:
+ return 2;
+ case ITEM_NET_BALL:
+ return 5;
+ case ITEM_DIVE_BALL:
+ return 6;
+ case ITEM_NEST_BALL:
+ return 7;
+ case ITEM_REPEAT_BALL:
+ return 8;
+ case ITEM_TIMER_BALL:
+ return 9;
+ case ITEM_LUXURY_BALL:
+ return 10;
+ case ITEM_PREMIER_BALL:
+ return 11;
+ case ITEM_POKE_BALL:
+ default:
+ return 0;
+ }
+}
+
+void sub_8170E04(u8 taskId)
+{
+ u8 ballId;
+ u8 spriteId;
+
+ ballId = ItemIdToBallId(gLastUsedItem);
+ spriteId = CreateSprite(&gBallSpriteTemplates[ballId], 32, 80, 29);
+ gSprites[spriteId].data[0] = 34;
+ gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) - 16;
+ gSprites[spriteId].callback = sub_8171104;
+ gBattleSpritesDataPtr->animationData->field_9_x2 = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible;
+ gTasks[taskId].data[0] = spriteId;
+ gTasks[taskId].func = sub_8170EF0;
+}
+
+static void sub_8170EF0(u8 taskId)
+{
+ u8 spriteId = gTasks[taskId].data[0];
+ if ((u16)gSprites[spriteId].data[0] == 0xFFFF)
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8170F2C(u8 taskId)
+{
+ int x, y;
+ u8 ballId;
+ u8 subpriority;
+ u8 spriteId;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL)
+ {
+ x = 32;
+ y = 11;
+ }
+ else
+ {
+ x = 23;
+ y = 5;
+ }
+
+ ballId = ItemIdToBallId(gLastUsedItem);
+ subpriority = GetBattlerSpriteSubpriority(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + 1;
+ spriteId = CreateSprite(&gBallSpriteTemplates[ballId], x + 32, y | 80, subpriority);
+ gSprites[spriteId].data[0] = 34;
+ gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) - 16;
+ gSprites[spriteId].callback = SpriteCallbackDummy;
+ gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].callback = sub_8039E84;
+ gTasks[taskId].data[0] = spriteId;
+ gTasks[taskId].func = sub_8171030;
+}
+
+static void sub_8171030(u8 taskId)
+{
+ if (gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].animCmdIndex == 1)
+ {
+ PlaySE12WithPanning(SE_NAGERU, 0);
+ gSprites[gTasks[taskId].data[0]].callback = sub_8171104;
+ CreateTask(sub_81710A8, 10);
+ gTasks[taskId].func = sub_8170EF0;
+ }
+}
+
+static void sub_81710A8(u8 taskId)
+{
+ if (gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].animEnded)
+ {
+ StartSpriteAnim(&gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]], 0);
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_8171104(struct Sprite *sprite)
+{
+ u16 temp = sprite->data[1];
+ u16 temp2 = sprite->data[2];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = temp;
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = temp2;
+ sprite->data[5] = -40;
+ InitAnimArcTranslation(sprite);
+ sprite->callback = sub_8171134;
+}
+
+static void sub_8171134(struct Sprite *sprite)
+{
+ int i;
+ u8 ballId;
+ int ballId2; // extra var needed to match
+
+ if (TranslateAnimHorizontalArc(sprite))
+ {
+ if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_TRAINER_BLOCK)
+ {
+ sprite->callback = sub_8171CAC;
+ }
+ else
+ {
+ StartSpriteAnim(sprite, 1);
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.x = 0;
+ sprite->pos2.y = 0;
+
+ for (i = 0; i < 8; i++)
+ sprite->data[i] = 0;
+
+ sprite->data[5] = 0;
+ sprite->callback = sub_81711E8;
+ ballId = ItemIdToBallId(gLastUsedItem);
+ ballId2 = ballId;
+ if (ballId2 > 11)
+ return;
+ if (ballId2 < 0)
+ return;
+
+ AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId);
+ LaunchBallFadeMonTask(0, gBattleAnimTarget, 14, ballId);
+ }
+ }
+}
+
+static void sub_81711E8(struct Sprite *sprite)
+{
+ if (++sprite->data[5] == 10)
+ {
+ sprite->data[5] = CreateTask(TaskDummy, 50);
+ sprite->callback = sub_8171240;
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] = 0;
+ }
+}
+
+static void sub_8171240(struct Sprite *sprite)
+{
+ u8 spriteId;
+ u8 taskId;
+
+ spriteId = gBattlerSpriteIds[gBattleAnimTarget];
+ taskId = sprite->data[5];
+
+ if (++gTasks[taskId].data[1] == 11)
+ PlaySE(SE_SUIKOMU);
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
+ gTasks[taskId].data[10] = 256;
+ gUnknown_030062DC = 28;
+ gUnknown_030062E4 = (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) - (sprite->pos1.y + sprite->pos2.y);
+ gUnknown_030062E0 = (u32)(gUnknown_030062E4 * 256) / 28;
+ gTasks[taskId].data[2] = gUnknown_030062E0;
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ gTasks[taskId].data[10] += 0x20;
+ SetSpriteRotScale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[10], 0);
+ gTasks[taskId].data[3] += gTasks[taskId].data[2];
+ gSprites[spriteId].pos2.y = -gTasks[taskId].data[3] >> 8;
+ if (gTasks[taskId].data[10] >= 0x480)
+ gTasks[taskId].data[0]++;
+ break;
+ case 2:
+ ResetSpriteRotScale(spriteId);
+ gSprites[spriteId].invisible = 1;
+ gTasks[taskId].data[0]++;
+ break;
+ default:
+ if (gTasks[taskId].data[1] > 10)
+ {
+ DestroyTask(taskId);
+ StartSpriteAnim(sprite, 2);
+ sprite->data[5] = 0;
+ sprite->callback = sub_817138C;
+ }
+ break;
+ }
+}
+
+static void sub_817138C(struct Sprite *sprite)
+{
+ int angle;
+
+ if (sprite->animEnded)
+ {
+ sprite->data[3] = 0;
+ sprite->data[4] = 40;
+ sprite->data[5] = 0;
+ angle = 0;
+ sprite->pos1.y += Cos(angle, 40);
+ sprite->pos2.y = -Cos(angle, sprite->data[4]);
+ sprite->callback = sub_81713D0;
+ }
+}
+
+static void sub_81713D0(struct Sprite *sprite)
+{
+ bool8 lastBounce;
+ int bounceCount;
+
+ lastBounce = 0;
+
+ switch (sprite->data[3] & 0xFF)
+ {
+ case 0:
+ sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
+ sprite->data[5] += (sprite->data[3] >> 8) + 4;
+ if (sprite->data[5] >= 64)
+ {
+ sprite->data[4] -= 10;
+ sprite->data[3] += 257;
+
+ bounceCount = sprite->data[3] >> 8;
+ if (bounceCount == 4)
+ lastBounce = 1;
+
+ // Play a different sound effect for each pokeball bounce.
+ switch (bounceCount)
+ {
+ case 1:
+ PlaySE(SE_KON);
+ break;
+ case 2:
+ PlaySE(SE_KON2);
+ break;
+ case 3:
+ PlaySE(SE_KON3);
+ break;
+ default:
+ PlaySE(SE_KON4);
+ break;
+ }
+ }
+ break;
+ case 1:
+ sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
+ sprite->data[5] -= (sprite->data[3] >> 8) + 4;
+ if (sprite->data[5] <= 0)
+ {
+ sprite->data[5] = 0;
+ sprite->data[3] &= -0x100;
+ }
+ break;
+ }
+
+ if (lastBounce)
+ {
+ sprite->data[3] = 0;
+ sprite->pos1.y += Cos(64, 40);
+ sprite->pos2.y = 0;
+ if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_NO_SHAKES)
+ {
+ sprite->data[5] = 0;
+ sprite->callback = sub_81717B4;
+ }
+ else
+ {
+ sprite->callback = sub_81714D4;
+ sprite->data[4] = 1;
+ sprite->data[5] = 0;
+ }
+ }
+}
+
+static void sub_81714D4(struct Sprite *sprite)
+{
+ if (++sprite->data[3] == 31)
+ {
+ sprite->data[3] = 0;
+ sprite->affineAnimPaused = 1;
+ StartSpriteAffineAnim(sprite, 1);
+ gBattleSpritesDataPtr->animationData->field_C = 0;
+ sprite->callback = sub_8171520;
+ PlaySE(SE_BOWA);
+ }
+}
+
+static void sub_8171520(struct Sprite *sprite)
+{
+ s8 state;
+ u16 var0;
+
+ switch (sprite->data[3] & 0xFF)
+ {
+ case 0:
+ if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
+ {
+ sprite->pos2.x += sprite->data[4];
+ gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
+ }
+ else
+ {
+ gBattleSpritesDataPtr->animationData->field_C += 0xB0;
+ }
+
+ sprite->data[5]++;
+ sprite->affineAnimPaused = 0;
+ var0 = sprite->data[5] + 7;
+ if (var0 > 14)
+ {
+ gBattleSpritesDataPtr->animationData->field_C = 0;
+ sprite->data[3]++;
+ sprite->data[5] = 0;
+ }
+ break;
+ case 1:
+ if (++sprite->data[5] == 1)
+ {
+ sprite->data[5] = 0;
+ sprite->data[4] = -sprite->data[4];
+ sprite->data[3]++;
+ sprite->affineAnimPaused = 0;
+ if (sprite->data[4] < 0)
+ ChangeSpriteAffineAnim(sprite, 2);
+ else
+ ChangeSpriteAffineAnim(sprite, 1);
+ }
+ else
+ {
+ sprite->affineAnimPaused = 1;
+ }
+ break;
+ case 2:
+ if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
+ {
+ sprite->pos2.x += sprite->data[4];
+ gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
+ }
+ else
+ {
+ gBattleSpritesDataPtr->animationData->field_C += 0xB0;
+ }
+
+ sprite->data[5]++;
+ sprite->affineAnimPaused = 0;
+ var0 = sprite->data[5] + 12;
+ if (var0 > 24)
+ {
+ gBattleSpritesDataPtr->animationData->field_C = 0;
+ sprite->data[3]++;
+ sprite->data[5] = 0;
+ }
+ break;
+ case 3:
+ if (sprite->data[5]++ < 0)
+ {
+ sprite->affineAnimPaused = 1;
+ break;
+ }
+
+ sprite->data[5] = 0;
+ sprite->data[4] = -sprite->data[4];
+ sprite->data[3]++;
+ sprite->affineAnimPaused = 0;
+ if (sprite->data[4] < 0)
+ ChangeSpriteAffineAnim(sprite, 2);
+ else
+ ChangeSpriteAffineAnim(sprite, 1);
+ // fall through
+ case 4:
+ if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
+ {
+ sprite->pos2.x += sprite->data[4];
+ gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
+ }
+ else
+ {
+ gBattleSpritesDataPtr->animationData->field_C += 0xB0;
+ }
+
+ sprite->data[5]++;
+ sprite->affineAnimPaused = 0;
+ var0 = sprite->data[5] + 4;
+ if (var0 > 8)
+ {
+ gBattleSpritesDataPtr->animationData->field_C = 0;
+ sprite->data[3]++;
+ sprite->data[5] = 0;
+ sprite->data[4] = -sprite->data[4];
+ }
+ break;
+ case 5:
+ sprite->data[3] += 0x100;
+ state = sprite->data[3] >> 8;
+ if (state == gBattleSpritesDataPtr->animationData->ballThrowCaseId)
+ {
+ sprite->affineAnimPaused = 1;
+ sprite->callback = sub_81717B4;
+ }
+ else
+ {
+ if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_3_SHAKES_SUCCESS && state == 3)
+ {
+ sprite->callback = sub_81717D8;
+ sprite->affineAnimPaused = 1;
+ }
+ else
+ {
+ sprite->data[3]++;
+ sprite->affineAnimPaused = 1;
+ }
+ }
+ break;
+ case 6:
+ default:
+ if (++sprite->data[5] == 31)
+ {
+ sprite->data[5] = 0;
+ sprite->data[3] &= -0x100;
+ StartSpriteAffineAnim(sprite, 3);
+ if (sprite->data[4] < 0)
+ StartSpriteAffineAnim(sprite, 2);
+ else
+ StartSpriteAffineAnim(sprite, 1);
+
+ PlaySE(SE_BOWA);
+ }
+ break;
+ }
+}
+
+static void sub_81717B4(struct Sprite *sprite)
+{
+ if (++sprite->data[5] == 31)
+ {
+ sprite->data[5] = 0;
+ sprite->callback = sub_8171AE4;
+ }
+}
+
+static void sub_81717D8(struct Sprite *sprite)
+{
+ sprite->animPaused = 1;
+ sprite->callback = sub_81717F8;
+ sprite->data[3] = 0;
+ sprite->data[4] = 0;
+ sprite->data[5] = 0;
+}
+
+static void sub_81717F8(struct Sprite *sprite)
+{
+ u8 *battler = &gBattleAnimTarget;
+
+ sprite->data[4]++;
+ if (sprite->data[4] == 40)
+ {
+ PlaySE(SE_RG_GETTING);
+ BlendPalettes(0x10000 << sprite->oam.paletteNum, 6, RGB(0, 0, 0));
+ sub_81719EC(sprite);
+ }
+ else if (sprite->data[4] == 60)
+ {
+ BeginNormalPaletteFade(0x10000 << sprite->oam.paletteNum, 2, 6, 0, RGB(0, 0, 0));
+ }
+ else if (sprite->data[4] == 95)
+ {
+ gDoingBattleAnim = 0;
+ UpdateOamPriorityInAllHealthboxes(1);
+ m4aMPlayAllStop();
+ PlaySE(MUS_RG_FAN6);
+ }
+ else if (sprite->data[4] == 315)
+ {
+ FreeOamMatrix(gSprites[gBattlerSpriteIds[*battler]].oam.matrixNum);
+ DestroySprite(&gSprites[gBattlerSpriteIds[*battler]]);
+ sprite->data[0] = 0;
+ sprite->callback = sub_81718D8;
+ }
+}
+
+static void sub_81718D8(struct Sprite *sprite)
+{
+ u8 paletteIndex;
+
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->data[1] = 0;
+ sprite->data[2] = 0;
+ sprite->oam.objMode = ST_OAM_OBJ_BLEND;
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
+ paletteIndex = IndexOfSpritePaletteTag(sprite->template->paletteTag);
+ BeginNormalPaletteFade(1 << (paletteIndex + 0x10), 0, 0, 16, RGB(31, 31, 31));
+ sprite->data[0]++;
+ break;
+ case 1:
+ if (sprite->data[1]++ > 0)
+ {
+ sprite->data[1] = 0;
+ sprite->data[2]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - sprite->data[2], sprite->data[2]));
+ if (sprite->data[2] == 16)
+ sprite->data[0]++;
+ }
+ break;
+ case 2:
+ sprite->invisible = 1;
+ sprite->data[0]++;
+ break;
+ default:
+ if (!gPaletteFade.active)
+ {
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ sprite->data[0] = 0;
+ sprite->callback = sub_81719C0;
+ }
+ break;
+ }
+}
+
+static void sub_81719C0(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ sprite->data[0] = -1;
+ }
+ else
+ {
+ FreeSpriteOamMatrix(sprite);
+ DestroySprite(sprite);
+ }
+}
+
+static void sub_81719EC(struct Sprite *sprite)
+{
+ u32 i;
+ u8 subpriority;
+
+ if (sprite->subpriority)
+ {
+ subpriority = sprite->subpriority - 1;
+ }
+ else
+ {
+ subpriority = 0;
+ sprite->subpriority = 1;
+ }
+
+ sub_8171D60(4);
+ for (i = 0; i < 3; i++)
+ {
+ u8 spriteId = CreateSprite(&gUnknown_085E51F0[4], sprite->pos1.x, sprite->pos1.y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[0] = 24;
+ gSprites[spriteId].data[2] = sprite->pos1.x + sBallCaptureSuccessStarData[i].xOffset;
+ gSprites[spriteId].data[4] = sprite->pos1.y + sBallCaptureSuccessStarData[i].yOffset;
+ gSprites[spriteId].data[5] = sBallCaptureSuccessStarData[i].unk2;
+ InitAnimArcTranslation(&gSprites[spriteId]);
+ gSprites[spriteId].callback = sub_8171AAC;
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[4]);
+ }
+ }
+}
+
+static void sub_8171AAC(struct Sprite *sprite)
+{
+ sprite->invisible = !sprite->invisible;
+ if (TranslateAnimHorizontalArc(sprite))
+ DestroySprite(sprite);
+}
+
+// fakematching. I think the return type of ItemIdToBallId()
+// is wrong because of the weird required casting.
+static void sub_8171AE4(struct Sprite *sprite)
+{
+ u8 ballId;
+ int ballId2; // extra var needed to match
+
+ StartSpriteAnim(sprite, 1);
+ StartSpriteAffineAnim(sprite, 0);
+ sprite->callback = sub_8171BAC;
+
+ ballId = ItemIdToBallId(gLastUsedItem);
+ ballId2 = ballId;
+ if (ballId2 > 11)
+ goto LABEL;
+ if (ballId2 < 0)
+ goto LABEL;
+
+ AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId);
+ LaunchBallFadeMonTask(1, gBattleAnimTarget, 14, ballId);
+
+ LABEL:
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = 0;
+ StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 1);
+ AnimateSprite(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]]);
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] = 0x1000;
+}
+
+static void sub_8171BAC(struct Sprite *sprite)
+{
+ int next = FALSE;
+
+ if (sprite->animEnded)
+ sprite->invisible = 1;
+
+ if (gSprites[gBattlerSpriteIds[gBattleAnimTarget]].affineAnimEnded)
+ {
+ StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 0);
+ next = TRUE;
+ }
+ else
+ {
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] -= 288;
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] >> 8;
+ }
+
+ if (sprite->animEnded && next)
+ {
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = 0;
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = gBattleSpritesDataPtr->animationData->field_9_x2;
+ sprite->data[0] = 0;
+ sprite->callback = sub_81719C0;
+ gDoingBattleAnim = 0;
+ UpdateOamPriorityInAllHealthboxes(1);
+ }
+}
+
+static void sub_8171CAC(struct Sprite *sprite)
+{
+ int i;
+
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.y = 0;
+ sprite->pos2.x = 0;
+ for (i = 0; i < 6; i++)
+ sprite->data[i] = 0;
+
+ sprite->callback = sub_8171CE8;
+}
+
+static void sub_8171CE8(struct Sprite *sprite)
+{
+ s16 var0 = sprite->data[0] + 0x800;
+ s16 var1 = sprite->data[1] + 0x680;
+ sprite->pos2.x -= var1 >> 8;
+ sprite->pos2.y += var0 >> 8;
+ sprite->data[0] = (sprite->data[0] + 0x800) & 0xFF;
+ sprite->data[1] = (sprite->data[1] + 0x680) & 0xFF;
+
+ if (sprite->pos1.y + sprite->pos2.y > 160
+ || sprite->pos1.x + sprite->pos2.x < -8)
+ {
+ sprite->data[0] = 0;
+ sprite->callback = sub_81719C0;
+ gDoingBattleAnim = 0;
+ UpdateOamPriorityInAllHealthboxes(1);
+ }
+}
+
+static void sub_8171D60(u8 ballId)
+{
+ u8 taskId;
+
+ if (GetSpriteTileStartByTag(gBallOpenParticleSpritesheets[ballId].tag) == 0xFFFF)
+ {
+ LoadCompressedSpriteSheetUsingHeap(&gBallOpenParticleSpritesheets[ballId]);
+ LoadCompressedSpritePaletteUsingHeap(&gBallOpenParticlePalettes[ballId]);
+ }
+}
+
+u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId)
+{
+ u8 taskId;
+
+ sub_8171D60(ballId);
+ taskId = CreateTask(gBallOpenParticleAnimationFuncs[ballId], 5);
+ gTasks[taskId].data[1] = x;
+ gTasks[taskId].data[2] = y;
+ gTasks[taskId].data[3] = priority;
+ gTasks[taskId].data[4] = subpriority;
+ gTasks[taskId].data[15] = ballId;
+ PlaySE(SE_BOWA2);
+
+ return taskId;
+}
+
+void sub_8171E20(void)
+{
+ if (gMain.inBattle)
+ gBattleSpritesDataPtr->animationData->field_A++;
+}
+
+static void PokeBallOpenParticleAnimation(u8 taskId)
+{
+ u8 spriteId;
+ u8 x, y;
+ u8 priority, subpriority;
+ u8 ballId;
+ u8 var0;
+
+ ballId = gTasks[taskId].data[15];
+ if (gTasks[taskId].data[0] < 16)
+ {
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = PokeBallOpenParticleAnimation_Step1;
+ gSprites[spriteId].oam.priority = priority;
+
+ var0 = (u8)gTasks[taskId].data[0];
+ if (var0 >= 8)
+ var0 -= 8;
+
+ gSprites[spriteId].data[0] = var0 * 32;
+ }
+
+ if (gTasks[taskId].data[0] == 15)
+ {
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+ return;
+ }
+ }
+
+ gTasks[taskId].data[0]++;
+}
+
+static void PokeBallOpenParticleAnimation_Step1(struct Sprite *sprite)
+{
+ if (sprite->data[1] == 0)
+ sprite->callback = PokeBallOpenParticleAnimation_Step2;
+ else
+ sprite->data[1]--;
+}
+
+static void PokeBallOpenParticleAnimation_Step2(struct Sprite *sprite)
+{
+ sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
+ sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]);
+ sprite->data[1] += 2;
+ if (sprite->data[1] == 50)
+ DestroyBallOpenAnimationParticle(sprite);
+}
+
+static void TimerBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 8; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 32;
+ gSprites[spriteId].data[4] = 10;
+ gSprites[spriteId].data[5] = 2;
+ gSprites[spriteId].data[6] = 1;
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+static void DiveBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 8; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 32;
+ gSprites[spriteId].data[4] = 10;
+ gSprites[spriteId].data[5] = 1;
+ gSprites[spriteId].data[6] = 2;
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+// Also used for Net Ball
+static void SafariBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 8; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 32;
+ gSprites[spriteId].data[4] = 4;
+ gSprites[spriteId].data[5] = 1;
+ gSprites[spriteId].data[6] = 1;
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+// Also used for Nest Ball
+static void UltraBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 10; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 25;
+ gSprites[spriteId].data[4] = 5;
+ gSprites[spriteId].data[5] = 1;
+ gSprites[spriteId].data[6] = 1;
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+// Also used for Luxury Ball
+static void GreatBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ if (gTasks[taskId].data[7])
+ {
+ gTasks[taskId].data[7]--;
+ }
+ else
+ {
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 8; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 32;
+ gSprites[spriteId].data[4] = 8;
+ gSprites[spriteId].data[5] = 2;
+ gSprites[spriteId].data[6] = 2;
+ }
+ }
+
+ gTasks[taskId].data[7] = 8;
+ if (++gTasks[taskId].data[0] == 2)
+ {
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+ }
+ }
+}
+
+static void FanOutBallOpenParticles_Step1(struct Sprite *sprite)
+{
+ sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
+ sprite->pos2.y = Cos(sprite->data[0], sprite->data[2]);
+ sprite->data[0] = (sprite->data[0] + sprite->data[4]) & 0xFF;
+ sprite->data[1] += sprite->data[5];
+ sprite->data[2] += sprite->data[6];
+ if (++sprite->data[3] == 51)
+ DestroyBallOpenAnimationParticle(sprite);
+}
+
+static void RepeatBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 12; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = RepeatBallOpenParticleAnimation_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 21;
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+static void RepeatBallOpenParticleAnimation_Step1(struct Sprite *sprite)
+{
+ sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
+ sprite->pos2.y = Cos(sprite->data[0], Sin(sprite->data[0], sprite->data[2]));
+ sprite->data[0] = (sprite->data[0] + 6) & 0xFF;
+ sprite->data[1]++;
+ sprite->data[2]++;
+ if (++sprite->data[3] == 51)
+ DestroyBallOpenAnimationParticle(sprite);
+}
+
+static void MasterBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i, j;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (j = 0; j < 2; j++)
+ {
+ for (i = 0; i < 8; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 32;
+ gSprites[spriteId].data[4] = 8;
+
+ if (j == 0)
+ {
+ gSprites[spriteId].data[5] = 2;
+ gSprites[spriteId].data[6] = 1;
+ }
+ else
+ {
+ gSprites[spriteId].data[5] = 1;
+ gSprites[spriteId].data[6] = 2;
+ }
+ }
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+static void PremierBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 8; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = PremierBallOpenParticleAnimation_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 32;
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+static void PremierBallOpenParticleAnimation_Step1(struct Sprite *sprite)
+{
+ sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
+ sprite->pos2.y = Cos(sprite->data[0], Sin(sprite->data[0] & 0x3F, sprite->data[2]));
+ sprite->data[0] = (sprite->data[0] + 10) & 0xFF;
+ sprite->data[1]++;
+ sprite->data[2]++;
+ if (++sprite->data[3] == 51)
+ DestroyBallOpenAnimationParticle(sprite);
+}
+
+static void DestroyBallOpenAnimationParticle(struct Sprite *sprite)
+{
+ int i, j;
+ int temp;
+
+ if (!gMain.inBattle)
+ {
+ temp = sprite->data[7]; // temp var needed to match
+ if (temp == 1)
+ DestroySpriteAndFreeResources(sprite);
+ else
+ DestroySprite(sprite);
+ }
+ else
+ {
+ gBattleSpritesDataPtr->animationData->field_A--;
+ if (gBattleSpritesDataPtr->animationData->field_A == 0)
+ {
+ for (i = 0; i < 12; i++)
+ {
+ if (FuncIsActiveTask(gBallOpenParticleAnimationFuncs[i]) == TRUE)
+ break;
+ }
+
+ if (i == 12)
+ {
+ for (j = 0; j < 12; j++)
+ {
+ FreeSpriteTilesByTag(gBallOpenParticleSpritesheets[j].tag);
+ FreeSpritePaletteByTag(gBallOpenParticlePalettes[j].tag);
+ }
+ }
+
+ DestroySprite(sprite);
+ }
+ else
+ {
+ DestroySprite(sprite);
+ }
+ }
+}
+
+u8 LaunchBallFadeMonTask(u8 unfadeLater, u8 battler, u32 selectedPalettes, u8 ballId)
+{
+ u8 taskId;
+
+ taskId = CreateTask(sub_8172AB0, 5);
+ gTasks[taskId].data[15] = ballId;
+ gTasks[taskId].data[3] = battler;
+ gTasks[taskId].data[10] = selectedPalettes;
+ gTasks[taskId].data[11] = selectedPalettes >> 16;
+
+ if (!unfadeLater)
+ {
+ BlendPalette(battler * 16 + 0x100, 16, 0, gUnknown_085E5310[ballId]);
+ gTasks[taskId].data[1] = 1;
+ }
+ else
+ {
+ BlendPalette(battler * 16 + 0x100, 16, 16, gUnknown_085E5310[ballId]);
+ gTasks[taskId].data[0] = 16;
+ gTasks[taskId].data[1] = -1;
+ gTasks[taskId].func = sub_8172B40;
+ }
+
+ BeginNormalPaletteFade(selectedPalettes, 0, 0, 16, RGB(31, 31, 31));
+ return taskId;
+}
+
+static void sub_8172AB0(u8 taskId)
+{
+ u8 ballId = gTasks[taskId].data[15];
+
+ if (gTasks[taskId].data[2] <= 16)
+ {
+ BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gUnknown_085E5310[ballId]);
+ gTasks[taskId].data[0] += gTasks[taskId].data[1];
+ gTasks[taskId].data[2]++;
+ }
+ else if (!gPaletteFade.active)
+ {
+ u32 selectedPalettes = (u16)gTasks[taskId].data[10] | ((u16)gTasks[taskId].data[11] << 16);
+ BeginNormalPaletteFade(selectedPalettes, 0, 16, 0, RGB(31, 31, 31));
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_8172B40(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ u32 selectedPalettes = (u16)gTasks[taskId].data[10] | ((u16)gTasks[taskId].data[11] << 16);
+ BeginNormalPaletteFade(selectedPalettes, 0, 16, 0, RGB(31, 31, 31));
+ gTasks[taskId].func = sub_8172B90;
+ }
+}
+
+static void sub_8172B90(u8 taskId)
+{
+ u8 ballId = gTasks[taskId].data[15];
+
+ if (gTasks[taskId].data[2] <= 16)
+ {
+ BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gUnknown_085E5310[ballId]);
+ gTasks[taskId].data[0] += gTasks[taskId].data[1];
+ gTasks[taskId].data[2]++;
+ }
+ else
+ {
+ DestroyTask(taskId);
+ }
+}
+
+void sub_8172BF0(u8 taskId)
+{
+ u8 spriteId;
+ u32 x;
+ u32 done;
+
+ done = FALSE;
+ spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
+ switch (gTasks[taskId].data[10])
+ {
+ case 0:
+ gTasks[taskId].data[11] = gBattleAnimArgs[0];
+ gTasks[taskId].data[0] += 0x500;
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gSprites[spriteId].pos2.x += gTasks[taskId].data[0] >> 8;
+ else
+ gSprites[spriteId].pos2.x -= gTasks[taskId].data[0] >> 8;
+
+ gTasks[taskId].data[0] &= 0xFF;
+ x = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x + 32;
+ if (x > 304)
+ gTasks[taskId].data[10]++;
+ break;
+ case 1:
+ LoadBattleMonGfxAndAnimate(gBattleAnimAttacker, gTasks[taskId].data[11], spriteId);
+ gTasks[taskId].data[10]++;
+ break;
+ case 2:
+ gTasks[taskId].data[0] += 0x500;
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gSprites[spriteId].pos2.x -= gTasks[taskId].data[0] >> 8;
+ else
+ gSprites[spriteId].pos2.x += gTasks[taskId].data[0] >> 8;
+
+ gTasks[taskId].data[0] &= 0xFF;
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ if (gSprites[spriteId].pos2.x <= 0)
+ {
+ gSprites[spriteId].pos2.x = 0;
+ // done = FALSE; // fakematching--can't get the tail merge correct
+ goto DONE;
+ }
+ }
+ else
+ {
+ if (gSprites[spriteId].pos2.x >= 0)
+ {
+ gSprites[spriteId].pos2.x = 0;
+ done = TRUE;
+ }
+ }
+
+ if (done)
+ {
+ DONE:
+ DestroyAnimVisualTask(taskId);
+ }
+ break;
+ }
+}
+
+void sub_8172D98(u8 taskId)
+{
+ u8 spriteId;
+
+ switch (gTasks[taskId].data[15])
+ {
+ case 0:
+ if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == B_POSITION_OPPONENT_LEFT)
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+ else
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
+ gTasks[taskId].data[15]++;
+ break;
+ case 1:
+ if (gTasks[taskId].data[1]++ > 1)
+ {
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].data[0]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - gTasks[taskId].data[0], gTasks[taskId].data[0]));
+ if (gTasks[taskId].data[0] == 16)
+ gTasks[taskId].data[15]++;
+ }
+ break;
+ case 2:
+ spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
+ RequestDma3Fill(0, (void *)OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * TILE_SIZE_4BPP, 0x800, 1);
+ ClearBehindSubstituteBit(gBattleAnimAttacker);
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8172E9C(u8 taskId)
+{
+ gBattleAnimArgs[7] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].behindSubstitute;
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8172ED0(u8 taskId)
+{
+ gBattleAnimTarget = gEffectBattler;
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8172EF0(u8 battler, struct Pokemon *mon)
+{
+ int isShiny;
+ u32 otId, personality;
+ u32 shinyValue;
+ u8 taskId1, taskId2;
+
+ isShiny = 0;
+ gBattleSpritesDataPtr->healthBoxesData[battler].flag_x80 = 1;
+ otId = GetMonData(mon, MON_DATA_OT_ID);
+ personality = GetMonData(mon, MON_DATA_PERSONALITY);
+
+ if (IsBattlerSpriteVisible(battler))
+ {
+ shinyValue = HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality);
+ if (shinyValue < 8)
+ isShiny = TRUE;
+
+ if (isShiny)
+ {
+ if (GetSpriteTileStartByTag(0x27F9) == 0xFFFF)
+ {
+ LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[233]);
+ LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[233]);
+ }
+
+ taskId1 = CreateTask(sub_8172FEC, 10);
+ taskId2 = CreateTask(sub_8172FEC, 10);
+ gTasks[taskId1].data[0] = battler;
+ gTasks[taskId2].data[0] = battler;
+ gTasks[taskId1].data[1] = 0;
+ gTasks[taskId2].data[1] = 1;
+ return;
+ }
+ }
+
+ gBattleSpritesDataPtr->healthBoxesData[battler].field_1_x1 = 1;
+}
+
+static void sub_8172FEC(u8 taskId)
+{
+ u8 battler;
+ u8 x, y;
+ u8 spriteId;
+ u16 counter;
+ s16 state;
+ u8 pan;
+
+ if (gTasks[taskId].data[13] < 60)
+ {
+ gTasks[taskId].data[13]++;
+ return;
+ }
+
+ if (gBattleSpritesDataPtr->animationData->field_A)
+ return;
+
+ counter = gTasks[taskId].data[10]++;
+ if (counter & 3)
+ return;
+
+ battler = gTasks[taskId].data[0];
+ x = GetBattlerSpriteCoord(battler, 0);
+ y = GetBattlerSpriteCoord(battler, 1);
+ state = gTasks[taskId].data[11];
+ if (state == 0)
+ {
+ spriteId = CreateSprite(&gUnknown_085CE388, x, y, 5);
+ }
+ else if (state >= 0 && gTasks[taskId].data[11] < 4)
+ {
+ spriteId = CreateSprite(&gMiniTwinklingStarSpriteTemplate, x, y, 5);
+ gSprites[spriteId].oam.tileNum += 4;
+ }
+ else
+ {
+ spriteId = CreateSprite(&gMiniTwinklingStarSpriteTemplate, x, y, 5);
+ gSprites[spriteId].oam.tileNum += 5;
+ }
+
+ if (gTasks[taskId].data[1] == 0)
+ {
+ gSprites[spriteId].callback = sub_81731FC;
+ }
+ else
+ {
+ gSprites[spriteId].callback = sub_8173250;
+ gSprites[spriteId].pos2.x = -32;
+ gSprites[spriteId].pos2.y = 32;
+ gSprites[spriteId].invisible = 1;
+ if (gTasks[taskId].data[11] == 0)
+ {
+ if (GetBattlerSide(battler) == B_SIDE_PLAYER)
+ pan = 192;
+ else
+ pan = 63;
+
+ PlaySE12WithPanning(SE_REAPOKE, pan);
+ }
+ }
+
+ gSprites[spriteId].data[0] = taskId;
+ gTasks[taskId].data[11]++;
+ if (spriteId != MAX_SPRITES)
+ gTasks[taskId].data[12]++;
+
+ if (gTasks[taskId].data[11] == 5)
+ gTasks[taskId].func = sub_81731B0;
+}
+
+static void sub_81731B0(u8 taskId)
+{
+ u8 battler;
+
+ if (gTasks[taskId].data[12] == 0)
+ {
+ if (gTasks[taskId].data[1] == 1)
+ {
+ battler = gTasks[taskId].data[0];
+ gBattleSpritesDataPtr->healthBoxesData[battler].field_1_x1 = 1;
+ }
+
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_81731FC(struct Sprite *sprite)
+{
+ sprite->pos2.x = Sin(sprite->data[1], 24);
+ sprite->pos2.y = Cos(sprite->data[1], 24);
+ sprite->data[1] += 12;
+ if (sprite->data[1] > 0xFF)
+ {
+ gTasks[sprite->data[0]].data[12]--;
+ FreeSpriteOamMatrix(sprite);
+ DestroySprite(sprite);
+ }
+}
+
+static void sub_8173250(struct Sprite *sprite)
+{
+ if (sprite->data[1] < 4)
+ {
+ sprite->data[1]++;
+ }
+ else
+ {
+ sprite->invisible = 0;
+ sprite->pos2.x += 5;
+ sprite->pos2.y -= 5;
+ if (sprite->pos2.x > 32)
+ {
+ gTasks[sprite->data[0]].data[12]--;
+ FreeSpriteOamMatrix(sprite);
+ DestroySprite(sprite);
+ }
+ }
+}
+
+void sub_81732B0(u8 taskId)
+{
+ u8 paletteIndex;
+
+ LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[269]);
+ LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[269]);
+ paletteIndex = IndexOfSpritePaletteTag(0x281D); // unused
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_81732E4(u8 taskId)
+{
+ FreeSpriteTilesByTag(0x281D);
+ FreeSpritePaletteByTag(0x281D);
+ DestroyAnimVisualTask(taskId);
+}
+
+static void sub_817330C(struct Sprite *sprite)
+{
+ InitSpritePosToAnimAttacker(sprite, 0);
+ sprite->data[0] = 30;
+ sprite->data[2] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 0) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 1) + gBattleAnimArgs[3];
+ sprite->data[5] = -32;
+ InitAnimArcTranslation(sprite);
+ gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].callback = sub_8039E84;
+ sprite->callback = sub_817339C;
+}
+
+static void sub_817339C(struct Sprite *sprite)
+{
+ if (gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].animCmdIndex == 1)
+ sprite->callback = sub_81733D4;
+}
+
+static void sub_81733D4(struct Sprite *sprite)
+{
+ if (TranslateAnimHorizontalArc(sprite))
+ {
+ sprite->data[0] = 0;
+ sprite->invisible = 1;
+ sprite->callback = sub_8173400;
+ }
+}
+
+static void sub_8173400(struct Sprite *sprite)
+{
+ if (gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].animEnded)
+ {
+ if (++sprite->data[0] > 0)
+ {
+ StartSpriteAnim(&gSprites[gBattlerSpriteIds[gBattleAnimAttacker]], 0);
+ DestroyAnimSprite(sprite);
+ }
+ }
+}
+
+void sub_817345C(u8 taskId)
+{
+ switch (gBattleAnimArgs[0])
+ {
+ case 0:
+ gBattleAnimAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
+ gBattleAnimTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ break;
+ case 1:
+ gBattleAnimAttacker = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ gBattleAnimTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
+ break;
+ }
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void AnimTask_GetTrappedMoveAnimId(u8 taskId)
+{
+ if (gBattleSpritesDataPtr->animationData->animArg == 83)
+ gBattleAnimArgs[0] = 1;
+ else if (gBattleSpritesDataPtr->animationData->animArg == 250)
+ gBattleAnimArgs[0] = 2;
+ else if (gBattleSpritesDataPtr->animationData->animArg == 128)
+ gBattleAnimArgs[0] = 3;
+ else if (gBattleSpritesDataPtr->animationData->animArg == 328)
+ gBattleAnimArgs[0] = 4;
+ else
+ gBattleAnimArgs[0] = 0;
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_817351C(u8 taskId)
+{
+ gBattleAnimAttacker = gBattleSpritesDataPtr->animationData->animArg;
+ gBattleAnimTarget = gBattleSpritesDataPtr->animationData->animArg >> 8;
+ DestroyAnimVisualTask(taskId);
+}
diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c
new file mode 100644
index 000000000..7ed78ea9a
--- /dev/null
+++ b/src/battle_anim_status_effects.c
@@ -0,0 +1,534 @@
+#include "global.h"
+#include "battle.h"
+#include "battle_anim.h"
+#include "decompress.h"
+#include "gpu_regs.h"
+#include "palette.h"
+#include "sprite.h"
+#include "task.h"
+#include "trig.h"
+#include "util.h"
+#include "constants/battle_anim.h"
+#include "constants/rgb.h"
+
+extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
+extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
+extern const u8 *const gBattleAnims_StatusConditions[];
+extern const struct OamData gUnknown_08524904;
+extern const struct OamData gUnknown_08524A3C;
+
+// This file's functions.
+static void sub_80A9DB4(u8 taskId);
+static void sub_80A9FD0(u8 taskId);
+static void sub_80AA020(u8 taskId);
+static void sub_80AA0D0(u8 taskId);
+static void sub_80AA124(u8 taskId);
+static void Task_DoStatusAnimation(u8 taskId);
+static void sub_80A9E44(struct Sprite *sprite);
+static void sub_80A9E78(struct Sprite *sprite);
+
+// const rom data
+static const union AnimCmd sSpriteAnim_853EDE4[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(4, 3),
+ ANIMCMD_FRAME(8, 3),
+ ANIMCMD_FRAME(12, 3),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EDF8[] =
+{
+ sSpriteAnim_853EDE4
+};
+
+const struct SpriteTemplate gUnknown_0853EDFC =
+{
+ .tileTag = ANIM_TAG_ORB,
+ .paletteTag = ANIM_TAG_ORB,
+ .oam = &gUnknown_0852490C,
+ .anims = sSpriteAnimTable_853EDF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8AEC,
+};
+
+const struct SpriteTemplate gUnknown_0853EE14 =
+{
+ .tileTag = ANIM_TAG_ORB,
+ .paletteTag = ANIM_TAG_ORB,
+ .oam = &gUnknown_0852490C,
+ .anims = sSpriteAnimTable_853EDF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8A6C,
+};
+
+static const union AnimCmd sSpriteAnim_853EE2C[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EE34[] =
+{
+ sSpriteAnim_853EE2C
+};
+
+const struct SpriteTemplate gUnknown_0853EE38 =
+{
+ .tileTag = ANIM_TAG_WEATHER_BALL,
+ .paletteTag = ANIM_TAG_WEATHER_BALL,
+ .oam = &gUnknown_08524914,
+ .anims = sSpriteAnimTable_853EE34,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8E30,
+};
+
+const struct SpriteTemplate gUnknown_0853EE50 =
+{
+ .tileTag = ANIM_TAG_WEATHER_BALL,
+ .paletteTag = ANIM_TAG_WEATHER_BALL,
+ .oam = &gUnknown_08524914,
+ .anims = sSpriteAnimTable_853EE34,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8EE4,
+};
+
+static const union AnimCmd sSpriteAnim_853EE68[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(64, 3),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EE80[] =
+{
+ sSpriteAnim_853EE68
+};
+
+const struct SpriteTemplate gUnknown_0853EE84 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_4,
+ .paletteTag = ANIM_TAG_SPARKLE_4,
+ .oam = &gUnknown_08524914,
+ .anims = sSpriteAnimTable_853EE80,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8B64,
+};
+
+const struct SpriteTemplate gUnknown_0853EE9C =
+{
+ .tileTag = ANIM_TAG_MONSTER_FOOT,
+ .paletteTag = ANIM_TAG_MONSTER_FOOT,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8AEC,
+};
+
+static const union AnimCmd sSpriteAnim_853EEB4[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd sSpriteAnim_853EEBC[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd sSpriteAnim_853EEC4[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EECC[] =
+{
+ sSpriteAnim_853EEB4,
+ sSpriteAnim_853EEBC,
+ sSpriteAnim_853EEC4
+};
+
+const struct SpriteTemplate gUnknown_0853EED8 =
+{
+ .tileTag = ANIM_TAG_IMPACT,
+ .paletteTag = ANIM_TAG_IMPACT,
+ .oam = &gUnknown_08524914,
+ .anims = sSpriteAnimTable_853EECC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8AEC,
+};
+
+static const union AnimCmd sSpriteAnim_853EEF0[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EEF8[] =
+{
+ sSpriteAnim_853EEF0
+};
+
+static const union AffineAnimCmd sSpriteAffineAnim_853EEFC[] =
+{
+ AFFINEANIMCMD_FRAME(96, 96, 0, 0),
+ AFFINEANIMCMD_FRAME(2, 2, 0, 1),
+ AFFINEANIMCMD_JUMP(1)
+};
+
+static const union AffineAnimCmd *const sSpriteAffineAnimTable_853EEF8[] =
+{
+ sSpriteAffineAnim_853EEFC
+};
+
+const struct SpriteTemplate gUnknown_0853EF18 =
+{
+ .tileTag = ANIM_TAG_ORB,
+ .paletteTag = ANIM_TAG_ORB,
+ .oam = &gUnknown_085249CC,
+ .anims = sSpriteAnimTable_853EEF8,
+ .images = NULL,
+ .affineAnims = sSpriteAffineAnimTable_853EEF8,
+ .callback = sub_80A8A6C,
+};
+
+static const struct Subsprite gUnknown_0853EF30[] =
+{
+ {.x = -16, .y = -16, .shape = ST_OAM_SQUARE, .size = 3, .tileOffset = 0, .priority = 2},
+ {.x = -16, .y = 48, .shape = ST_OAM_H_RECTANGLE, .size = 3, .tileOffset = 64, .priority = 2},
+ {.x = 48, .y = -16, .shape = ST_OAM_V_RECTANGLE, .size = 3, .tileOffset = 96, .priority = 2},
+ {.x = 48, .y = 48, .shape = ST_OAM_SQUARE, .size = 2, .tileOffset = 128, .priority = 2},
+};
+
+static const struct SubspriteTable gUnknown_0853EF40[] =
+{
+ {ARRAY_COUNT(gUnknown_0853EF30), gUnknown_0853EF30},
+};
+
+static const struct SpriteTemplate gUnknown_0853EF48 =
+{
+ .tileTag = ANIM_TAG_ICE_CUBE,
+ .paletteTag = ANIM_TAG_ICE_CUBE,
+ .oam = &gUnknown_08524A3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const struct SpriteTemplate gUnknown_0853EF60 =
+{
+ .tileTag = ANIM_TAG_CIRCLE_IMPACT,
+ .paletteTag = ANIM_TAG_CIRCLE_IMPACT,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A9E44,
+};
+
+// code
+u8 sub_80A9C70(u8 battlerId, bool8 b)
+{
+ u8 battlerSpriteId = gBattlerSpriteIds[battlerId];
+ u8 taskId = CreateTask(sub_80A9DB4, 10);
+ u8 spriteId2;
+ u8 i;
+
+ LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
+ LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
+ gTasks[taskId].data[0] = battlerId;
+ if (b)
+ {
+ gTasks[taskId].data[1] = RGB_RED;
+ for (i = 0; i < 10; i++)
+ {
+ spriteId2 = CreateSprite(&gUnknown_0853EF60, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y + 32, 0);
+ gSprites[spriteId2].data[0] = i * 51;
+ gSprites[spriteId2].data[1] = -256;
+ gSprites[spriteId2].invisible = TRUE;
+ if (i > 4)
+ gSprites[spriteId2].data[6] = 21;
+ }
+ }
+ else
+ {
+ gTasks[taskId].data[1] = RGB_BLUE;
+ for (i = 0; i < 10; i++)
+ {
+ spriteId2 = CreateSprite(&gUnknown_0853EF60, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y - 32, 0);
+ gSprites[spriteId2].data[0] = i * 51;
+ gSprites[spriteId2].data[1] = 256;
+ gSprites[spriteId2].invisible = TRUE;
+ if (i > 4)
+ gSprites[spriteId2].data[6] = 21;
+ }
+ }
+ gSprites[spriteId2].data[7] = 1;
+ return taskId;
+}
+
+static void sub_80A9DB4(u8 taskId)
+{
+ if (gTasks[taskId].data[2] == 2)
+ {
+ gTasks[taskId].data[2] = 0;
+ BlendPalette(0x100 + gTasks[taskId].data[0] * 16, 16, gTasks[taskId].data[4], gTasks[taskId].data[1]);
+ if (gTasks[taskId].data[5] == 0)
+ {
+ gTasks[taskId].data[4]++;
+ if (gTasks[taskId].data[4] > 8)
+ gTasks[taskId].data[5] ^= 1;
+ }
+ else
+ {
+ u16 var = gTasks[taskId].data[4];
+
+ gTasks[taskId].data[4]--;
+ if (gTasks[taskId].data[4] < 0)
+ {
+ gTasks[taskId].data[4] = var;
+ gTasks[taskId].data[5] ^= 1;
+ gTasks[taskId].data[3]++;
+ if (gTasks[taskId].data[3] == 2)
+ DestroyTask(taskId);
+ }
+ }
+ }
+ else
+ {
+ gTasks[taskId].data[2]++;
+ }
+}
+
+static void sub_80A9E44(struct Sprite *sprite)
+{
+ if (sprite->data[6] == 0)
+ {
+ sprite->invisible = FALSE;
+ sprite->callback = sub_80A9E78;
+ sub_80A9E78(sprite);
+ }
+ else
+ {
+ sprite->data[6]--;
+ }
+}
+
+static void sub_80A9E78(struct Sprite *sprite)
+{
+ sprite->pos2.x = Cos(sprite->data[0], 32);
+ sprite->pos2.y = Sin(sprite->data[0], 8);
+ if (sprite->data[0] < 128)
+ sprite->subpriority = 29;
+ else
+ sprite->subpriority = 31;
+ sprite->data[0] = (sprite->data[0] + 8) & 0xFF;
+ sprite->data[5] += sprite->data[1];
+ sprite->pos2.y += sprite->data[5] >> 8;
+ sprite->data[2]++;
+ if (sprite->data[2] == 52)
+ {
+ if (sprite->data[7])
+ DestroySpriteAndFreeResources(sprite);
+ else
+ DestroySprite(sprite);
+ }
+}
+
+void sub_80A9EF4(u8 taskId)
+{
+ s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) - 32;
+ s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) - 36;
+ u8 spriteId;
+
+ if (IsContest())
+ x -= 6;
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
+ spriteId = CreateSprite(&gUnknown_0853EF48, x, y, 4);
+ if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == 0xFFFF)
+ gSprites[spriteId].invisible = TRUE;
+ SetSubspriteTables(&gSprites[spriteId], gUnknown_0853EF40);
+ gTasks[taskId].data[15] = spriteId;
+ gTasks[taskId].func = sub_80A9FD0;
+}
+
+static void sub_80A9FD0(u8 taskId)
+{
+ gTasks[taskId].data[1]++;
+ if (gTasks[taskId].data[1] == 10)
+ {
+ gTasks[taskId].func = sub_80AA020;
+ gTasks[taskId].data[1] = 0;
+ }
+ else
+ {
+ u8 var = gTasks[taskId].data[1];
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(var, 16 - var));
+ }
+}
+
+static void sub_80AA020(u8 taskId)
+{
+ u8 palIndex = IndexOfSpritePaletteTag(ANIM_TAG_ICE_CUBE);
+
+ if (gTasks[taskId].data[1]++ > 13)
+ {
+ gTasks[taskId].data[2]++;
+ if (gTasks[taskId].data[2] == 3)
+ {
+ u16 temp;
+
+ temp = gPlttBufferFaded[0x100 + palIndex * 16 + 13];
+ gPlttBufferFaded[0x100 + palIndex * 16 + 13] = gPlttBufferFaded[0x100 + palIndex * 16 + 14];
+ gPlttBufferFaded[0x100 + palIndex * 16 + 14] = gPlttBufferFaded[0x100 + palIndex * 16 + 15];
+ gPlttBufferFaded[0x100 + palIndex * 16 + 15] = temp;
+
+ gTasks[taskId].data[2] = 0;
+ gTasks[taskId].data[3]++;
+ if (gTasks[taskId].data[3] == 3)
+ {
+ gTasks[taskId].data[3] = 0;
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].data[4]++;
+ if (gTasks[taskId].data[4] == 2)
+ {
+ gTasks[taskId].data[1] = 9;
+ gTasks[taskId].func = sub_80AA0D0;
+ }
+ }
+ }
+ }
+}
+
+static void sub_80AA0D0(u8 taskId)
+{
+ gTasks[taskId].data[1]--;
+ if (gTasks[taskId].data[1] == -1)
+ {
+ gTasks[taskId].func = sub_80AA124;
+ gTasks[taskId].data[1] = 0;
+ }
+ else
+ {
+ u8 var = gTasks[taskId].data[1];
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(var, 16 - var));
+ }
+}
+
+static void sub_80AA124(u8 taskId)
+{
+ gTasks[taskId].data[1]++;
+ if (gTasks[taskId].data[1] == 37)
+ {
+ u8 spriteId = gTasks[taskId].data[15];
+
+ FreeSpriteOamMatrix(&gSprites[spriteId]);
+ DestroySprite(&gSprites[spriteId]);
+ }
+ else if (gTasks[taskId].data[1] == 39)
+ {
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+#define CASE(by, stat) case (STAT_ANIM_##by + stat - 1)
+
+void AnimTask_StatsChange(u8 taskId)
+{
+ bool16 goesDown = FALSE;
+ s16 animStatId = 0;
+ bool16 sharply = FALSE;
+
+ switch (gBattleSpritesDataPtr->animationData->animArg)
+ {
+ CASE(PLUS1, STAT_ATK): goesDown = FALSE; animStatId = 0; break;
+ CASE(PLUS1, STAT_DEF): goesDown = FALSE; animStatId = 1; break;
+ CASE(PLUS1, STAT_SPEED): goesDown = FALSE; animStatId = 3; break;
+ CASE(PLUS1, STAT_SPATK): goesDown = FALSE; animStatId = 5; break;
+ CASE(PLUS1, STAT_SPDEF): goesDown = FALSE; animStatId = 6; break;
+ CASE(PLUS1, STAT_ACC): goesDown = FALSE; animStatId = 2; break;
+ CASE(PLUS1, STAT_EVASION): goesDown = FALSE; animStatId = 4; break;
+
+ CASE(MINUS1, STAT_ATK): goesDown = TRUE; animStatId = 0; break;
+ CASE(MINUS1, STAT_DEF): goesDown = TRUE; animStatId = 1; break;
+ CASE(MINUS1, STAT_SPEED): goesDown = TRUE; animStatId = 3; break;
+ CASE(MINUS1, STAT_SPATK): goesDown = TRUE; animStatId = 5; break;
+ CASE(MINUS1, STAT_SPDEF): goesDown = TRUE; animStatId = 6; break;
+ CASE(MINUS1, STAT_ACC): goesDown = TRUE; animStatId = 2; break;
+ CASE(MINUS1, STAT_EVASION): goesDown = TRUE; animStatId = 4; break;
+
+ CASE(PLUS2, STAT_ATK): goesDown = FALSE; animStatId = 0; sharply = TRUE; break;
+ CASE(PLUS2, STAT_DEF): goesDown = FALSE; animStatId = 1; sharply = TRUE; break;
+ CASE(PLUS2, STAT_SPEED): goesDown = FALSE; animStatId = 3; sharply = TRUE; break;
+ CASE(PLUS2, STAT_SPATK): goesDown = FALSE; animStatId = 5; sharply = TRUE; break;
+ CASE(PLUS2, STAT_SPDEF): goesDown = FALSE; animStatId = 6; sharply = TRUE; break;
+ CASE(PLUS2, STAT_ACC): goesDown = FALSE; animStatId = 2; sharply = TRUE; break;
+ CASE(PLUS2, STAT_EVASION): goesDown = FALSE; animStatId = 4; sharply = TRUE; break;
+
+ CASE(MINUS2, STAT_ATK): goesDown = TRUE; animStatId = 0; sharply = TRUE; break;
+ CASE(MINUS2, STAT_DEF): goesDown = TRUE; animStatId = 1; sharply = TRUE; break;
+ CASE(MINUS2, STAT_SPEED): goesDown = TRUE; animStatId = 3; sharply = TRUE; break;
+ CASE(MINUS2, STAT_SPATK): goesDown = TRUE; animStatId = 5; sharply = TRUE; break;
+ CASE(MINUS2, STAT_SPDEF): goesDown = TRUE; animStatId = 6; sharply = TRUE; break;
+ CASE(MINUS2, STAT_ACC): goesDown = TRUE; animStatId = 2; sharply = TRUE; break;
+ CASE(MINUS2, STAT_EVASION): goesDown = TRUE; animStatId = 4; sharply = TRUE; break;
+
+ case STAT_ANIM_MULTIPLE_PLUS1: goesDown = FALSE; animStatId = 0xFF; sharply = FALSE; break;
+ case STAT_ANIM_MULTIPLE_PLUS2: goesDown = FALSE; animStatId = 0xFF; sharply = TRUE; break;
+ case STAT_ANIM_MULTIPLE_MINUS1: goesDown = TRUE; animStatId = 0xFF; sharply = FALSE; break;
+ case STAT_ANIM_MULTIPLE_MINUS2: goesDown = TRUE; animStatId = 0xFF; sharply = TRUE; break;
+
+ default:
+ DestroyAnimVisualTask(taskId);
+ return;
+ }
+
+ gBattleAnimArgs[0] = goesDown;
+ gBattleAnimArgs[1] = animStatId;
+ gBattleAnimArgs[2] = 0;
+ gBattleAnimArgs[3] = 0;
+ gBattleAnimArgs[4] = sharply;
+ gTasks[taskId].func = sub_8116EB4;
+ sub_8116EB4(taskId);
+}
+
+#undef CASE
+
+void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId)
+{
+ u8 taskId;
+
+ gBattleAnimAttacker = battlerId;
+ gBattleAnimTarget = battlerId;
+ LaunchBattleAnimation(gBattleAnims_StatusConditions, statusAnimId, 0);
+ taskId = CreateTask(Task_DoStatusAnimation, 10);
+ gTasks[taskId].data[0] = battlerId;
+}
+
+static void Task_DoStatusAnimation(u8 taskId)
+{
+ gAnimScriptCallback();
+ if (!gAnimScriptActive)
+ {
+ gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].data[0]].statusAnimActive = FALSE;
+ DestroyTask(taskId);
+ }
+}
diff --git a/src/battle_arena.c b/src/battle_arena.c
index 8146f5b38..f785fa7c3 100644
--- a/src/battle_arena.c
+++ b/src/battle_arena.c
@@ -406,10 +406,10 @@ static const struct OamData sJudgementIconOamData =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 15,
diff --git a/src/battle_bg.c b/src/battle_bg.c
index 9ca0f8b84..a08873857 100644
--- a/src/battle_bg.c
+++ b/src/battle_bg.c
@@ -5,6 +5,7 @@
#include "battle_message.h"
#include "battle_setup.h"
#include "bg.h"
+#include "data.h"
#include "decompress.h"
#include "gpu_regs.h"
#include "graphics.h"
@@ -42,10 +43,10 @@ static const struct OamData gUnknown_0831A988 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -59,10 +60,10 @@ static const struct OamData gUnknown_0831A990 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 64,
.priority = 0,
.paletteNum = 0,
@@ -597,6 +598,7 @@ const struct WindowTemplate * const gBattleWindowTemplates[] =
static const struct BattleBackground gBattleTerrainTable[] =
{
+ [BATTLE_TERRAIN_GRASS] =
{
.tileset = gBattleTerrainTiles_TallGrass,
.tilemap = gBattleTerrainTilemap_TallGrass,
@@ -604,6 +606,8 @@ static const struct BattleBackground gBattleTerrainTable[] =
.entryTilemap = gBattleTerrainAnimTilemap_TallGrass,
.palette = gBattleTerrainPalette_TallGrass,
},
+
+ [BATTLE_TERRAIN_LONG_GRASS] =
{
.tileset = gBattleTerrainTiles_LongGrass,
.tilemap = gBattleTerrainTilemap_LongGrass,
@@ -611,6 +615,8 @@ static const struct BattleBackground gBattleTerrainTable[] =
.entryTilemap = gBattleTerrainAnimTilemap_LongGrass,
.palette = gBattleTerrainPalette_LongGrass,
},
+
+ [BATTLE_TERRAIN_SAND] =
{
.tileset = gBattleTerrainTiles_Sand,
.tilemap = gBattleTerrainTilemap_Sand,
@@ -618,6 +624,8 @@ static const struct BattleBackground gBattleTerrainTable[] =
.entryTilemap = gBattleTerrainAnimTilemap_Sand,
.palette = gBattleTerrainPalette_Sand,
},
+
+ [BATTLE_TERRAIN_UNDERWATER] =
{
.tileset = gBattleTerrainTiles_Underwater,
.tilemap = gBattleTerrainTilemap_Underwater,
@@ -625,6 +633,8 @@ static const struct BattleBackground gBattleTerrainTable[] =
.entryTilemap = gBattleTerrainAnimTilemap_Underwater,
.palette = gBattleTerrainPalette_Underwater,
},
+
+ [BATTLE_TERRAIN_WATER] =
{
.tileset = gBattleTerrainTiles_Water,
.tilemap = gBattleTerrainTilemap_Water,
@@ -632,6 +642,8 @@ static const struct BattleBackground gBattleTerrainTable[] =
.entryTilemap = gBattleTerrainAnimTilemap_Water,
.palette = gBattleTerrainPalette_Water,
},
+
+ [BATTLE_TERRAIN_POND] =
{
.tileset = gBattleTerrainTiles_PondWater,
.tilemap = gBattleTerrainTilemap_PondWater,
@@ -639,6 +651,8 @@ static const struct BattleBackground gBattleTerrainTable[] =
.entryTilemap = gBattleTerrainAnimTilemap_PondWater,
.palette = gBattleTerrainPalette_PondWater,
},
+
+ [BATTLE_TERRAIN_MOUNTAIN] =
{
.tileset = gBattleTerrainTiles_Rock,
.tilemap = gBattleTerrainTilemap_Rock,
@@ -646,6 +660,8 @@ static const struct BattleBackground gBattleTerrainTable[] =
.entryTilemap = gBattleTerrainAnimTilemap_Rock,
.palette = gBattleTerrainPalette_Rock,
},
+
+ [BATTLE_TERRAIN_CAVE] =
{
.tileset = gBattleTerrainTiles_Cave,
.tilemap = gBattleTerrainTilemap_Cave,
@@ -653,6 +669,8 @@ static const struct BattleBackground gBattleTerrainTable[] =
.entryTilemap = gBattleTerrainAnimTilemap_Cave,
.palette = gBattleTerrainPalette_Cave,
},
+
+ [BATTLE_TERRAIN_BUILDING] =
{
.tileset = gBattleTerrainTiles_Building,
.tilemap = gBattleTerrainTilemap_Building,
@@ -660,7 +678,9 @@ static const struct BattleBackground gBattleTerrainTable[] =
.entryTilemap = gBattleTerrainAnimTilemap_Building,
.palette = gBattleTerrainPalette_Building,
},
- {// plain
+
+ [BATTLE_TERRAIN_PLAIN] =
+ {
.tileset = gBattleTerrainTiles_Building,
.tilemap = gBattleTerrainTilemap_Building,
.entryTileset = gBattleTerrainAnimTiles_Building,
@@ -709,7 +729,7 @@ void LoadBattleMenuWindowGfx(void)
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
{
- sub_81978B0(0x70);
+ Menu_LoadStdPalAt(0x70);
LoadMessageBoxGfx(0, 0x30, 0x70);
gPlttBufferUnfaded[0x76] = 0;
CpuCopy16(&gPlttBufferUnfaded[0x76], &gPlttBufferFaded[0x76], 2);
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index 23d469c27..3fb5da9dc 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -9,7 +9,7 @@
#include "battle_tower.h"
#include "battle_tv.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "link.h"
#include "main.h"
#include "m4a.h"
@@ -31,8 +31,6 @@
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
-
// this file's functions
static void LinkOpponentHandleGetMonData(void);
static void LinkOpponentHandleGetRawMonData(void);
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index 22633c5bc..6fc73a604 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -9,7 +9,7 @@
#include "battle_tower.h"
#include "battle_tv.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "link.h"
#include "main.h"
#include "m4a.h"
@@ -29,9 +29,6 @@
#include "constants/trainers.h"
#include "recorded_battle.h"
-extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
-extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
-
// this file's functions
static void LinkPartnerHandleGetMonData(void);
static void LinkPartnerHandleGetRawMonData(void);
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index 7d940cb89..392811327 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -10,7 +10,7 @@
#include "battle_tower.h"
#include "battle_tv.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "frontier_util.h"
#include "item.h"
#include "link.h"
@@ -36,8 +36,6 @@
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
-
// this file's functions
static void OpponentHandleGetMonData(void);
static void OpponentHandleGetRawMonData(void);
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index b377ecf64..3f5a777e4 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -9,7 +9,7 @@
#include "battle_setup.h"
#include "battle_tv.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "item.h"
#include "item_menu.h"
#include "link.h"
@@ -36,9 +36,6 @@
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
-extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
-
// this file's functions
static void PlayerHandleGetMonData(void);
static void PlayerHandleSetMonData(void);
diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c
index 2c53938c1..0ec21fd22 100644
--- a/src/battle_controller_player_partner.c
+++ b/src/battle_controller_player_partner.c
@@ -8,7 +8,7 @@
#include "battle_setup.h"
#include "battle_tower.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "item_use.h"
#include "link.h"
#include "main.h"
@@ -27,9 +27,6 @@
#include "constants/songs.h"
#include "constants/trainers.h"
-extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
-extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
-
// this file's functions
static void PlayerPartnerHandleGetMonData(void);
static void PlayerPartnerHandleGetRawMonData(void);
diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c
index e43c5f8ae..69d840020 100644
--- a/src/battle_controller_recorded_opponent.c
+++ b/src/battle_controller_recorded_opponent.c
@@ -9,7 +9,7 @@
#include "battle_tower.h"
#include "battle_tv.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "item_use.h"
#include "link.h"
#include "main.h"
@@ -31,8 +31,6 @@
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
-
// this file's functions
static void RecordedOpponentHandleGetMonData(void);
static void RecordedOpponentHandleGetRawMonData(void);
diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c
index 412c49f17..95683225e 100644
--- a/src/battle_controller_recorded_player.c
+++ b/src/battle_controller_recorded_player.c
@@ -6,7 +6,7 @@
#include "battle_message.h"
#include "battle_interface.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "item_use.h"
#include "link.h"
#include "main.h"
@@ -27,9 +27,6 @@
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
-extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
-
// this file's functions
static void RecordedPlayerHandleGetMonData(void);
static void RecordedPlayerHandleGetRawMonData(void);
diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c
index e9da16252..8f89e4cb5 100644
--- a/src/battle_controller_safari.c
+++ b/src/battle_controller_safari.c
@@ -5,7 +5,7 @@
#include "battle_interface.h"
#include "battle_message.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "item_menu.h"
#include "link.h"
#include "main.h"
@@ -23,8 +23,6 @@
#include "constants/battle_anim.h"
#include "constants/songs.h"
-extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
-
// this file's functions
static void SafariHandleGetMonData(void);
static void SafariHandleGetRawMonData(void);
diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c
index f1b783b21..a504f5a80 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle_controller_wally.c
@@ -7,7 +7,7 @@
#include "battle_setup.h"
#include "battle_tv.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "item.h"
#include "item_menu.h"
#include "link.h"
@@ -31,8 +31,6 @@
#include "constants/songs.h"
#include "constants/trainers.h"
-extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
-
// this file's functions
static void WallyHandleGetMonData(void);
static void WallyHandleGetRawMonData(void);
diff --git a/src/battle_data.c b/src/battle_data.c
deleted file mode 100644
index 7f86385aa..000000000
--- a/src/battle_data.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "global.h"
-#include "battle.h"
-#include "data2.h"
-#include "constants/items.h"
-#include "constants/moves.h"
-#include "constants/species.h"
-#include "constants/trainers.h"
-#include "constants/battle_ai.h"
-
-#include "data/trainer_parties.h"
-#include "data/text/trainer_class_names.h"
-#include "data/trainers.h"
-#include "data/text/species_names.h"
-#include "data/text/move_names.h"
diff --git a/src/battle_dome.c b/src/battle_dome.c
index f86faeffb..95fce49a3 100644
--- a/src/battle_dome.c
+++ b/src/battle_dome.c
@@ -24,7 +24,7 @@
#include "menu.h"
#include "sound.h"
#include "pokemon_icon.h"
-#include "data2.h"
+#include "data.h"
#include "international_string_util.h"
#include "trainer_pokemon_sprites.h"
#include "scanline_effect.h"
@@ -59,9 +59,6 @@ struct UnkStruct_860DD10
u16 src;
};
-// text
-extern const u8 gTrainerClassNames[][13];
-
// This file's functions.
static u8 GetDomeTrainerMonIvs(u16 trainerId);
static void SwapDomeTrainers(int id1, int id2, u16 *statsArray);
@@ -872,10 +869,10 @@ static const struct OamData gUnknown_0860CF70 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -889,10 +886,10 @@ static const struct OamData gUnknown_0860CF78 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 1,
@@ -906,10 +903,10 @@ static const struct OamData gUnknown_0860CF80 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(16x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(16x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 2,
@@ -923,10 +920,10 @@ static const struct OamData gUnknown_0860CF88 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 2,
+ .shape = SPRITE_SHAPE(8x16),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 2,
diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c
index 85c0b2808..ac32651e2 100644
--- a/src/battle_factory_screen.c
+++ b/src/battle_factory_screen.c
@@ -17,7 +17,7 @@
#include "string_util.h"
#include "international_string_util.h"
#include "window.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "pokemon_summary_screen.h"
#include "sound.h"
@@ -385,10 +385,10 @@ static const struct OamData gUnknown_0861047C =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 3,
.paletteNum = 0,
@@ -402,10 +402,10 @@ static const struct OamData gUnknown_08610484 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 3,
.paletteNum = 0,
@@ -419,10 +419,10 @@ static const struct OamData gUnknown_0861048C =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x16),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -436,10 +436,10 @@ static const struct OamData gUnknown_08610494 =
.objMode = 1,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index 7c6b74304..d6b1b6dee 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -19,7 +19,7 @@
#include "m4a.h"
#include "constants/species.h"
#include "decompress.h"
-#include "data2.h"
+#include "data.h"
#include "palette.h"
#include "contest.h"
#include "constants/songs.h"
@@ -32,16 +32,8 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern const u8 gUnknown_0831C604[];
extern const u8 * const gBattleAnims_General[];
extern const u8 * const gBattleAnims_Special[];
-extern const struct CompressedSpriteSheet gMonFrontPicTable[];
-extern const struct CompressedSpriteSheet gMonBackPicTable[];
-extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
-extern const struct CompressedSpriteSheet gTrainerBackPicTable[];
-extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
-extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
-extern const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[];
extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow;
extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow;
-extern const u8 gEnemyMonElevation[];
// this file's functions
static u8 sub_805D4A8(u16 move);
@@ -932,7 +924,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 notTransform
if (targetSpecies == SPECIES_CASTFORM)
{
- gSprites[gBattlerSpriteIds[battlerAtk]].anims = gMonAnimationsSpriteAnimsPtrTable[targetSpecies];
+ gSprites[gBattlerSpriteIds[battlerAtk]].anims = gMonFrontAnimsPtrTable[targetSpecies];
LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]);
LoadPalette(gBattleStruct->castformPalette[0] + gBattleMonForms[battlerDef] * 16, paletteOffset, 32);
}
diff --git a/src/battle_interface.c b/src/battle_interface.c
index f2916012e..922437597 100644
--- a/src/battle_interface.c
+++ b/src/battle_interface.c
@@ -23,7 +23,8 @@
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "constants/rgb.h"
-#include "data2.h"
+#include "data.h"
+#include "pokemon_summary_screen.h"
struct TestingBar
{
@@ -157,8 +158,6 @@ enum
HEALTHBOX_GFX_117, //unknown_D1300C
};
-extern const u8 *const gNatureNamePointers[];
-
// strings
extern const u8 gText_Slash[];
extern const u8 gText_HighlightDarkGrey[];
@@ -207,10 +206,10 @@ static const struct OamData sUnknown_0832C138 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -279,10 +278,10 @@ static const struct OamData sOamData_Healthbar =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(32x8),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -446,10 +445,10 @@ static const struct OamData sUnknown_0832C354 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -463,10 +462,10 @@ static const struct OamData sOamData_StatusSummaryBalls =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
diff --git a/src/battle_main.c b/src/battle_main.c
index 2b0c5980e..7e564ce7f 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "battle.h"
+#include "battle_anim.h"
#include "battle_ai_script_commands.h"
#include "battle_arena.h"
#include "battle_controllers.h"
@@ -12,7 +13,7 @@
#include "battle_tower.h"
#include "berry.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "dma3.h"
#include "event_data.h"
@@ -292,35 +293,31 @@ static const u8 sText_ShedinjaJpnName[] = _("ヌケニン"); // Nukenin
const struct OamData gOamData_831ACA8 =
{
.y = 0,
- .affineMode = 1,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
- .matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
- .affineParam = 0
+ .affineParam = 0,
};
const struct OamData gOamData_831ACB0 =
{
.y = 0,
- .affineMode = 1,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
- .matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 2,
.paletteNum = 2,
- .affineParam = 0
+ .affineParam = 0,
};
// Unknown and unused data. Feel free to remove.
@@ -5890,3 +5887,5 @@ static void HandleAction_ActionFinished(void)
gBattleScripting.multihitMoveEffect = 0;
gBattleResources->battleScriptsStack->size = 0;
}
+
+
diff --git a/src/battle_message.c b/src/battle_message.c
index 6762cd416..3fec571f4 100644
--- a/src/battle_message.c
+++ b/src/battle_message.c
@@ -1,10 +1,11 @@
#include "global.h"
#include "battle.h"
+#include "battle_anim.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_setup.h"
#include "battle_tower.h"
-#include "data2.h"
+#include "data.h"
#include "event_data.h"
#include "frontier_util.h"
#include "international_string_util.h"
@@ -37,7 +38,6 @@ struct BattleWindowText
u8 shadowColor;
};
-extern const u8 gTrainerClassNames[][13];
extern const u16 gUnknown_08D85620[];
// this file's functions
diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c
index 2e13ea08b..ee35ed45b 100644
--- a/src/battle_pyramid_bag.c
+++ b/src/battle_pyramid_bag.c
@@ -282,10 +282,10 @@ static const struct OamData gOamData_861F378 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -576,7 +576,7 @@ static void SetBagItemsListTemplate(void)
}
StringCopy(gPyramidBagResources->itemStrings[i], gText_CloseBag);
gPyramidBagResources->bagListItems[i].name = gPyramidBagResources->itemStrings[i];
- gPyramidBagResources->bagListItems[i].id = LIST_B_PRESSED;
+ gPyramidBagResources->bagListItems[i].id = LIST_CANCEL;
gMultiuseListMenuTemplate = gUnknown_0861F2C0;
gMultiuseListMenuTemplate.totalItems = gPyramidBagResources->listMenuCount;
gMultiuseListMenuTemplate.items = gPyramidBagResources->bagListItems;
@@ -607,7 +607,7 @@ static void PyramidBagMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMen
if (gPyramidBagResources->unk814 == 0xFF)
{
sub_81C6FF8(gPyramidBagResources->unk815 ^ 1);
- if (itemIndex != LIST_B_PRESSED)
+ if (itemIndex != LIST_CANCEL)
ShowItemImage(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][itemIndex], gPyramidBagResources->unk815);
else
ShowItemImage(0xFFFF, gPyramidBagResources->unk815);
@@ -619,7 +619,7 @@ static void PyramidBagMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMen
static void PrintItemQuantity(u8 windowId, s32 itemIndex, u8 y)
{
s32 xAlign;
- if (itemIndex == LIST_B_PRESSED)
+ if (itemIndex == LIST_CANCEL)
return;
if (gPyramidBagResources->unk814 != 0xFF)
@@ -641,7 +641,7 @@ static void PrintItemQuantity(u8 windowId, s32 itemIndex, u8 y)
static void PrintItemDescription(s32 listMenuId)
{
const u8 *desc;
- if (listMenuId != LIST_B_PRESSED)
+ if (listMenuId != LIST_CANCEL)
{
desc = ItemId_GetDescription(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][listMenuId]);
}
@@ -859,7 +859,7 @@ static void Task_HandlePyramidBagInput(u8 taskId)
{
case LIST_NOTHING_CHOSEN:
break;
- case LIST_B_PRESSED:
+ case LIST_CANCEL:
PlaySE(SE_SELECT);
gSpecialVar_ItemId = 0;
sub_81C5B14(taskId);
@@ -1293,7 +1293,7 @@ static void Task_ItemSwapHandleInput(u8 taskId)
{
case LIST_NOTHING_CHOSEN:
break;
- case LIST_B_PRESSED:
+ case LIST_CANCEL:
PlaySE(SE_SELECT);
if (gMain.newKeys & A_BUTTON)
PerformItemSwap(taskId);
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index ac9fb3073..c002eefbc 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -49,14 +49,13 @@
#include "field_specials.h"
#include "pokemon_summary_screen.h"
#include "pokenav.h"
+#include "menu_specialized.h"
+#include "data.h"
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern const u8* const gBattleScriptsForMoveEffects[];
-// functions
-extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokenav.s
-
#define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattlerTarget].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED))
// this file's functions
@@ -68,8 +67,8 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8, const u8* BS_ptr);
static bool32 IsMonGettingExpSentOut(void);
static void sub_804F17C(void);
static bool8 sub_804F1CC(void);
-static void sub_804F100(void);
-static void sub_804F144(void);
+static void DrawLevelUpWindow1(void);
+static void DrawLevelUpWindow2(void);
static bool8 sub_804F344(void);
static void PutMonIconOnLvlUpBox(void);
static void PutLevelAndGenderOnLvlUpBox(void);
@@ -298,7 +297,7 @@ static void atkDA_tryswapabilities(void);
static void atkDB_tryimprison(void);
static void atkDC_trysetgrudge(void);
static void atkDD_weightdamagecalculation(void);
-static void atkDE_asistattackselect(void);
+static void atkDE_assistattackselect(void);
static void atkDF_trysetmagiccoat(void);
static void atkE0_trysetsnatch(void);
static void atkE1_trygetintimidatetarget(void);
@@ -550,7 +549,7 @@ void (* const gBattleScriptingCommandsTable[])(void) =
atkDB_tryimprison,
atkDC_trysetgrudge,
atkDD_weightdamagecalculation,
- atkDE_asistattackselect,
+ atkDE_assistattackselect,
atkDF_trysetmagiccoat,
atkE0_trysetsnatch,
atkE1_trygetintimidatetarget,
@@ -733,10 +732,10 @@ static const struct OamData sOamData_MonIconOnLvlUpBox =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -3240,9 +3239,8 @@ static void atk23_getexp(void)
s32 i; // also used as stringId
u8 holdEffect;
s32 sentIn;
-
s32 viaExpShare = 0;
- u16* exp = &gBattleStruct->expValue;
+ u16 *exp = &gBattleStruct->expValue;
gBattlerFainted = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
sentIn = gSentPokesToOpponent[(gBattlerFainted & 2) >> 1];
@@ -3393,14 +3391,14 @@ static void atk23_getexp(void)
}
}
else
+ {
gBattleStruct->expGetterBattlerId = 0;
+ }
- PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBattlerId, gBattleStruct->expGetterMonId)
-
+ PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBattlerId, gBattleStruct->expGetterMonId);
// buffer 'gained' or 'gained a boosted'
- PREPARE_STRING_BUFFER(gBattleTextBuff2, i)
-
- PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage)
+ PREPARE_STRING_BUFFER(gBattleTextBuff2, i);
+ PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage);
PrepareStringBattle(STRINGID_PKMNGAINEDEXP, gBattleStruct->expGetterBattlerId);
MonGainEVs(&gPlayerParty[gBattleStruct->expGetterMonId], gBattleMons[gBattlerFainted].species);
@@ -3416,12 +3414,12 @@ static void atk23_getexp(void)
gBattleBufferB[gBattleStruct->expGetterBattlerId][0] = 0;
if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP) && GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) != MAX_LEVEL)
{
- gBattleResources->statsBeforeLvlUp->hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP);
- gBattleResources->statsBeforeLvlUp->atk = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK);
- gBattleResources->statsBeforeLvlUp->def = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_DEF);
- gBattleResources->statsBeforeLvlUp->spd = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPEED);
- gBattleResources->statsBeforeLvlUp->spAtk = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPATK);
- gBattleResources->statsBeforeLvlUp->spDef = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF);
+ gBattleResources->beforeLvlUp->stats[STAT_HP] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP);
+ gBattleResources->beforeLvlUp->stats[STAT_ATK] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK);
+ gBattleResources->beforeLvlUp->stats[STAT_DEF] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_DEF);
+ gBattleResources->beforeLvlUp->stats[STAT_SPEED] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPEED);
+ gBattleResources->beforeLvlUp->stats[STAT_SPATK] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPATK);
+ gBattleResources->beforeLvlUp->stats[STAT_SPDEF] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF);
gActiveBattler = gBattleStruct->expGetterBattlerId;
BtlController_EmitExpUpdate(0, gBattleStruct->expGetterMonId, gBattleMoveDamage);
@@ -3439,9 +3437,8 @@ static void atk23_getexp(void)
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId)
HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
- PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterMonId)
-
- PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL))
+ PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterMonId);
+ PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL));
BattleScriptPushCursor();
gLeveledUpInBattle |= gBitTable[gBattleStruct->expGetterMonId];
@@ -3489,7 +3486,9 @@ static void atk23_getexp(void)
break;
case 5: // looper increment
if (gBattleMoveDamage) // there is exp to give, goto case 3 that gives exp
+ {
gBattleScripting.atk23_state = 3;
+ }
else
{
gBattleStruct->expGetterMonId++;
@@ -4482,28 +4481,6 @@ static void atk48_playstatchangeanimation(void)
}
}
-enum
-{
- ATK49_RAGE,
- ATK49_DEFROST,
- ATK49_SYNCHRONIZE_TARGET,
- ATK49_MOVE_END_ABILITIES,
- ATK49_STATUS_IMMUNITY_ABILITIES,
- ATK49_SYNCHRONIZE_ATTACKER,
- ATK49_CHOICE_MOVE,
- ATK49_CHANGED_ITEMS,
- ATK49_ATTACKER_INVISIBLE,
- ATK49_ATTACKER_VISIBLE,
- ATK49_TARGET_VISIBLE,
- ATK49_ITEM_EFFECTS_ALL,
- ATK49_KINGSROCK_SHELLBELL,
- ATK49_SUBSTITUTE,
- ATK49_UPDATE_LAST_MOVES,
- ATK49_MIRROR_MOVE,
- ATK49_NEXT_TARGET,
- ATK49_COUNT,
-};
-
static void atk49_moveend(void)
{
s32 i;
@@ -5935,8 +5912,7 @@ static void atk5D_getmoneyreward(void)
moneyReward += GetTrainerMoneyToGive(gTrainerBattleOpponent_B);
AddMoney(&gSaveBlock1Ptr->money, moneyReward);
-
- PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff1, 5, moneyReward)
+ PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff1, 5, moneyReward);
gBattlescriptCurrInstr++;
}
@@ -6257,7 +6233,7 @@ static void atk6C_drawlvlupbox(void)
gBattleScripting.atk6C_state = 4;
break;
case 4:
- sub_804F100();
+ DrawLevelUpWindow1();
PutWindowTilemap(13);
CopyWindowToVram(13, 3);
gBattleScripting.atk6C_state++;
@@ -6274,7 +6250,7 @@ static void atk6C_drawlvlupbox(void)
if (gMain.newKeys != 0)
{
PlaySE(SE_SELECT);
- sub_804F144();
+ DrawLevelUpWindow2();
CopyWindowToVram(13, 2);
gBattleScripting.atk6C_state++;
}
@@ -6315,20 +6291,20 @@ static void atk6C_drawlvlupbox(void)
}
}
-static void sub_804F100(void)
+static void DrawLevelUpWindow1(void)
{
- struct StatsArray currentStats;
+ u16 currStats[NUM_STATS];
- sub_81D388C(&gPlayerParty[gBattleStruct->expGetterMonId], &currentStats);
- sub_81D3640(0xD, gBattleResources->statsBeforeLvlUp, &currentStats, 0xE, 0xD, 0xF);
+ GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats);
+ DrawLevelUpWindowPg1(0xD, gBattleResources->beforeLvlUp->stats, currStats, 0xE, 0xD, 0xF);
}
-static void sub_804F144(void)
+static void DrawLevelUpWindow2(void)
{
- struct StatsArray currentStats;
+ u16 currStats[NUM_STATS];
- sub_81D388C(&gPlayerParty[gBattleStruct->expGetterMonId], &currentStats);
- sub_81D3784(0xD, &currentStats, 0xE, 0xD, 0xF);
+ GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats);
+ DrawLevelUpWindowPg2(0xD, currStats, 0xE, 0xD, 0xF);
}
static void sub_804F17C(void)
@@ -7212,6 +7188,9 @@ static void atk88_negativedamage(void)
gBattlescriptCurrInstr++;
}
+#define STAT_CHANGE_WORKED 0
+#define STAT_CHANGE_DIDNT_WORK 1
+
static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
{
bool8 certain = FALSE;
@@ -9681,7 +9660,7 @@ static void atkDD_weightdamagecalculation(void)
gBattlescriptCurrInstr++;
}
-static void atkDE_asistattackselect(void)
+static void atkDE_assistattackselect(void)
{
s32 chooseableMovesNo = 0;
struct Pokemon* party;
diff --git a/src/battle_setup.c b/src/battle_setup.c
index 347486a0b..712098773 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -45,6 +45,7 @@
#include "constants/map_types.h"
#include "constants/battle_frontier.h"
#include "field_screen_effect.h"
+#include "data.h"
enum
{
@@ -232,84 +233,84 @@ static const struct TrainerBattleParameter sTrainerBContinueScriptBattleParams[]
const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] =
{
- {{TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5}, 0x0, 0x21},
- {{TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5}, 0x0, 0x14},
- {{TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5}, 0x0, 0x1a},
- {{TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5}, 0x0, 0x18},
- {{TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5}, 0x0, 0x18},
- {{TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5}, 0x0, 0x27},
- {{TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5}, 0x0, 0x24},
- {{TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5}, 0x0, 0x1a},
- {{TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5}, 0x0, 0x1a},
- {{TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5}, 0x18, 0x14},
- {{TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6}, 0x0, 0x13},
- {{TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5}, 0x18, 0x38},
- {{TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5}, 0x0, 0x24},
- {{TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5}, 0x0, 0x13},
- {{TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5}, 0x0, 0x1d},
- {{TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5}, 0x0, 0x16},
- {{TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5}, 0x0, 0x1e},
- {{TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5}, 0x0, 0x2a},
- {{TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5}, 0x0, 0x26},
- {{TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5}, 0x0, 0x21},
- {{TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5}, 0x0, 0x1d},
- {{TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5}, 0x18, 0xd},
- {{TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5}, 0x18, 0x1},
- {{TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5}, 0x0, 0x23},
- {{TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5}, 0x0, 0x26},
- {{TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5}, 0x0, 0x26},
- {{TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5}, 0x0, 0x24},
- {{TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5}, 0x0, 0x1f},
- {{TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5}, 0x0, 0x1f},
- {{TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5}, 0x0, 0x20},
- {{TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5}, 0x0, 0x19},
- {{TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5}, 0x0, 0x12},
- {{TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5}, 0x0, 0x1e},
- {{TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5}, 0x18, 0xc},
- {{TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5}, 0x0, 0x11},
- {{TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5}, 0x0, 0x15},
- {{TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5}, 0x0, 0x2b},
- {{TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5}, 0x0, 0x20},
- {{TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5}, 0x0, 0x19},
- {{TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5}, 0x0, 0x20},
- {{TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5}, 0x0, 0x2b},
- {{TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5}, 0x0, 0x19},
- {{TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5}, 0x0, 0x29},
- {{TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5}, 0x18, 0x1},
- {{TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5}, 0x0, 0x23},
- {{TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5}, 0x0, 0x1c},
- {{TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5}, 0x0, 0x1e},
- {{TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5}, 0x0, 0x1c},
- {{TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5}, 0x0, 0x27},
- {{TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5}, 0x18, 0xd},
- {{TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6}, 0x0, 0x12},
- {{TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5}, 0x0, 0x28},
- {{TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5}, 0x0, 0x17},
- {{TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5}, 0x0, 0x19},
- {{TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5}, 0x0, 0x20},
- {{TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5}, 0x0, 0x20},
- {{TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5}, 0x18, 0x11},
- {{TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5}, 0x0, 0x22},
- {{TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5}, 0x0, 0x22},
- {{TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5}, 0x0, 0x13},
- {{TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5}, 0x18, 0xb},
- {{TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5}, 0x0, 0x1b},
- {{TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5}, 0x18, 0xc},
- {{TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5}, 0x18, 0x3e},
- {{TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6}, 0x18, 0x2b},
- {{TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5}, 0x0, 0x3},
- {{TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5}, 0x0, 0xb},
- {{TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5}, 0x0, 0x2},
- {{TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5}, 0x0, 0xc},
- {{TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5}, 0x0, 0x0},
- {{TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5}, 0x0, 0x4},
- {{TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5}, 0x0, 0x6},
- {{TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5}, 0x0, 0x7},
- {{TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY}, 0x0, 0x8},
- {{TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE}, 0x0, 0x8},
- {{TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA}, 0x0, 0x8},
- {{TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE}, 0x0, 0x8},
- {{TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE}, 0x0, 0x8},
+ [REMATCH_ROSE] = {{TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5}, 0x0, 0x21},
+ [REMATCH_ANDRES] = {{TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5}, 0x0, 0x14},
+ [REMATCH_DUSTY] = {{TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5}, 0x0, 0x1a},
+ [REMATCH_LOLA] = {{TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5}, 0x0, 0x18},
+ [REMATCH_RICKY] = {{TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5}, 0x0, 0x18},
+ [REMATCH_LILA_AND_ROY] = {{TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5}, 0x0, 0x27},
+ [REMATCH_CRISTIN] = {{TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5}, 0x0, 0x24},
+ [REMATCH_BROOKE] = {{TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5}, 0x0, 0x1a},
+ [REMATCH_WILTON] = {{TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5}, 0x0, 0x1a},
+ [REMATCH_VALERIE] = {{TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5}, 0x18, 0x14},
+ [REMATCH_CINDY] = {{TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6}, 0x0, 0x13},
+ [REMATCH_THALIA] = {{TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5}, 0x18, 0x38},
+ [REMATCH_JESSICA] = {{TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5}, 0x0, 0x24},
+ [REMATCH_WINSTON] = {{TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5}, 0x0, 0x13},
+ [REMATCH_STEVE] = {{TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5}, 0x0, 0x1d},
+ [REMATCH_TONY] = {{TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5}, 0x0, 0x16},
+ [REMATCH_NOB] = {{TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5}, 0x0, 0x1e},
+ [REMATCH_KOJI] = {{TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5}, 0x0, 0x2a},
+ [REMATCH_FERNANDO] = {{TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5}, 0x0, 0x26},
+ [REMATCH_DALTON] = {{TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5}, 0x0, 0x21},
+ [REMATCH_BERNIE] = {{TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5}, 0x0, 0x1d},
+ [REMATCH_ETHAN] = {{TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5}, 0x18, 0xd},
+ [REMATCH_JOHN_AND_JAY] = {{TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5}, 0x18, 0x1},
+ [REMATCH_JEFFREY] = {{TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5}, 0x0, 0x23},
+ [REMATCH_CAMERON] = {{TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5}, 0x0, 0x26},
+ [REMATCH_JACKI] = {{TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5}, 0x0, 0x26},
+ [REMATCH_WALTER] = {{TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5}, 0x0, 0x24},
+ [REMATCH_KAREN] = {{TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5}, 0x0, 0x1f},
+ [REMATCH_JERRY] = {{TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5}, 0x0, 0x1f},
+ [REMATCH_ANNA_AND_MEG] = {{TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5}, 0x0, 0x20},
+ [REMATCH_ISABEL] = {{TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5}, 0x0, 0x19},
+ [REMATCH_MIGUEL] = {{TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5}, 0x0, 0x12},
+ [REMATCH_TIMOTHY] = {{TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5}, 0x0, 0x1e},
+ [REMATCH_SHELBY] = {{TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5}, 0x18, 0xc},
+ [REMATCH_CALVIN] = {{TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5}, 0x0, 0x11},
+ [REMATCH_ELLIOT] = {{TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5}, 0x0, 0x15},
+ [REMATCH_ISAIAH] = {{TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5}, 0x0, 0x2b},
+ [REMATCH_MARIA] = {{TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5}, 0x0, 0x20},
+ [REMATCH_ABIGAIL] = {{TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5}, 0x0, 0x19},
+ [REMATCH_DYLAN] = {{TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5}, 0x0, 0x20},
+ [REMATCH_KATELYN] = {{TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5}, 0x0, 0x2b},
+ [REMATCH_BENJAMIN] = {{TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5}, 0x0, 0x19},
+ [REMATCH_PABLO] = {{TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5}, 0x0, 0x29},
+ [REMATCH_NICOLAS] = {{TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5}, 0x18, 0x1},
+ [REMATCH_ROBERT] = {{TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5}, 0x0, 0x23},
+ [REMATCH_LAO] = {{TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5}, 0x0, 0x1c},
+ [REMATCH_CYNDY] = {{TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5}, 0x0, 0x1e},
+ [REMATCH_MADELINE] = {{TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5}, 0x0, 0x1c},
+ [REMATCH_JENNY] = {{TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5}, 0x0, 0x27},
+ [REMATCH_DIANA] = {{TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5}, 0x18, 0xd},
+ [REMATCH_AMY_AND_LIV] = {{TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6}, 0x0, 0x12},
+ [REMATCH_ERNEST] = {{TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5}, 0x0, 0x28},
+ [REMATCH_CORY] = {{TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5}, 0x0, 0x17},
+ [REMATCH_EDWIN] = {{TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5}, 0x0, 0x19},
+ [REMATCH_LYDIA] = {{TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5}, 0x0, 0x20},
+ [REMATCH_ISAAC] = {{TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5}, 0x0, 0x20},
+ [REMATCH_GABRIELLE] = {{TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5}, 0x18, 0x11},
+ [REMATCH_CATHERINE] = {{TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5}, 0x0, 0x22},
+ [REMATCH_JACKSON] = {{TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5}, 0x0, 0x22},
+ [REMATCH_HALEY] = {{TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5}, 0x0, 0x13},
+ [REMATCH_JAMES] = {{TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5}, 0x18, 0xb},
+ [REMATCH_TRENT] = {{TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5}, 0x0, 0x1b},
+ [REMATCH_SAWYER] = {{TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5}, 0x18, 0xc},
+ [REMATCH_KIRA_AND_DAN] = {{TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5}, 0x18, 0x3e},
+ [REMATCH_WALLY_3] = {{TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6}, 0x18, 0x2b},
+ [REMATCH_ROXANNE] = {{TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5}, 0x0, 0x3},
+ [REMATCH_BRAWLY] = {{TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5}, 0x0, 0xb},
+ [REMATCH_WATTSON] = {{TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5}, 0x0, 0x2},
+ [REMATCH_FLANNERY] = {{TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5}, 0x0, 0xc},
+ [REMATCH_NORMAN] = {{TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5}, 0x0, 0x0},
+ [REMATCH_WINONA] = {{TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5}, 0x0, 0x4},
+ [REMATCH_TATE_AND_LIZA] = {{TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5}, 0x0, 0x6},
+ [REMATCH_JUAN] = {{TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5}, 0x0, 0x7},
+ [REMATCH_SIDNEY] = {{TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY}, 0x0, 0x8},
+ [REMATCH_PHOEBE] = {{TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE}, 0x0, 0x8},
+ [REMATCH_GLACIA] = {{TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA}, 0x0, 0x8},
+ [REMATCH_DRAKE] = {{TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE}, 0x0, 0x8},
+ [REMATCH_WALLACE] = {{TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE}, 0x0, 0x8},
};
static const u16 sBadgeFlags[8] =
@@ -1545,7 +1546,7 @@ static bool32 sub_80B1D94(s32 rematchTableId)
{
if (rematchTableId >= REMATCH_ELITE_FOUR_ENTRIES)
return TRUE;
- else if (rematchTableId == REMATCH_WALLY_ENTRY)
+ else if (rematchTableId == REMATCH_WALLY_3)
return (FlagGet(FLAG_DEFEATED_WALLY_VICTORY_ROAD) == FALSE);
else
return FALSE;
@@ -1573,7 +1574,7 @@ static bool32 UpdateRandomTrainerRematches(const struct RematchTrainer *table, u
s32 i;
bool32 ret = FALSE;
- for (i = 0; i <= REMATCH_WALLY_ENTRY; i++)
+ for (i = 0; i <= REMATCH_WALLY_3; i++)
{
if (table[i].mapGroup == mapGroup && table[i].mapNum == mapNum && !sub_80B1D94(i))
{
diff --git a/src/battle_tower.c b/src/battle_tower.c
index 46aab4bac..6f8e3e25f 100644
--- a/src/battle_tower.c
+++ b/src/battle_tower.c
@@ -18,7 +18,7 @@
#include "trainer_see.h"
#include "new_game.h"
#include "string_util.h"
-#include "data2.h"
+#include "data.h"
#include "link.h"
#include "field_message_box.h"
#include "tv.h"
diff --git a/src/battle_transition.c b/src/battle_transition.c
index 786d5e869..df6180d19 100644
--- a/src/battle_transition.c
+++ b/src/battle_transition.c
@@ -763,10 +763,10 @@ static const struct OamData gOamData_85C8E80 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
diff --git a/src/battle_tv.c b/src/battle_tv.c
index d3ca9b61f..26df08786 100644
--- a/src/battle_tv.c
+++ b/src/battle_tv.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "pokemon.h"
#include "battle.h"
+#include "battle_anim.h"
#include "battle_tv.h"
#include "constants/battle_string_ids.h"
#include "constants/battle_anim.h"
diff --git a/src/battle_util.c b/src/battle_util.c
index aa88cf952..03f1482da 100644
--- a/src/battle_util.c
+++ b/src/battle_util.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "battle.h"
+#include "battle_anim.h"
#include "constants/battle_script_commands.h"
#include "constants/abilities.h"
#include "constants/moves.h"
@@ -2040,7 +2041,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
case ABILITY_FLASH_FIRE:
if (moveType == TYPE_FIRE && !(gBattleMons[battler].status1 & STATUS1_FREEZE))
{
- if (!(gBattleResources->flags->flags[battler] & UNKNOWN_FLAG_FLASH_FIRE))
+ if (!(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_FLASH_FIRE))
{
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
if (gProtectStructs[gBattlerAttacker].notFirstStrike)
@@ -2048,7 +2049,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
else
gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss;
- gBattleResources->flags->flags[battler] |= UNKNOWN_FLAG_FLASH_FIRE;
+ gBattleResources->flags->flags[battler] |= RESOURCE_FLAG_FLASH_FIRE;
effect = 2;
}
else
diff --git a/src/battle_util2.c b/src/battle_util2.c
index 9c0d55a57..f840cd58b 100644
--- a/src/battle_util2.c
+++ b/src/battle_util2.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "battle.h"
+#include "battle_anim.h"
#include "battle_controllers.h"
#include "alloc.h"
#include "pokemon.h"
@@ -24,7 +25,7 @@ void AllocateBattleResources(void)
gBattleResources->flags = AllocZeroed(sizeof(*gBattleResources->flags));
gBattleResources->battleScriptsStack = AllocZeroed(sizeof(*gBattleResources->battleScriptsStack));
gBattleResources->battleCallbackStack = AllocZeroed(sizeof(*gBattleResources->battleCallbackStack));
- gBattleResources->statsBeforeLvlUp = AllocZeroed(sizeof(*gBattleResources->statsBeforeLvlUp));
+ gBattleResources->beforeLvlUp = AllocZeroed(sizeof(*gBattleResources->beforeLvlUp));
gBattleResources->ai = AllocZeroed(sizeof(*gBattleResources->ai));
gBattleResources->battleHistory = AllocZeroed(sizeof(*gBattleResources->battleHistory));
gBattleResources->AI_ScriptsStack = AllocZeroed(sizeof(*gBattleResources->AI_ScriptsStack));
@@ -55,7 +56,7 @@ void FreeBattleResources(void)
FREE_AND_SET_NULL(gBattleResources->flags);
FREE_AND_SET_NULL(gBattleResources->battleScriptsStack);
FREE_AND_SET_NULL(gBattleResources->battleCallbackStack);
- FREE_AND_SET_NULL(gBattleResources->statsBeforeLvlUp);
+ FREE_AND_SET_NULL(gBattleResources->beforeLvlUp);
FREE_AND_SET_NULL(gBattleResources->ai);
FREE_AND_SET_NULL(gBattleResources->battleHistory);
FREE_AND_SET_NULL(gBattleResources->AI_ScriptsStack);
diff --git a/src/berry_blender.c b/src/berry_blender.c
index 450bcae42..26327a634 100644
--- a/src/berry_blender.c
+++ b/src/berry_blender.c
@@ -404,10 +404,10 @@ static const struct OamData sOamData_8216314 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -547,10 +547,10 @@ static const struct OamData sOamData_821640C =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -616,10 +616,10 @@ static const struct OamData sOamData_8216474 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -703,10 +703,10 @@ static const struct OamData sOamData_8216514 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -761,10 +761,10 @@ static const struct OamData sOamData_8216560 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -940,7 +940,7 @@ static void InitBerryBlenderWindows(void)
FillWindowPixelBuffer(i, PIXEL_FILL(0));
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14);
- sub_81978B0(0xE0);
+ Menu_LoadStdPalAt(0xE0);
}
}
diff --git a/src/berry_crush.c b/src/berry_crush.c
new file mode 100755
index 000000000..307bd49a7
--- /dev/null
+++ b/src/berry_crush.c
@@ -0,0 +1,775 @@
+#include "global.h"
+#include "alloc.h"
+#include "berry_powder.h"
+#include "bg.h"
+#include "event_data.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "item_icon.h"
+#include "item_menu.h"
+#include "link.h"
+#include "link_rfu.h"
+#include "main.h"
+#include "math_util.h"
+#include "menu.h"
+#include "overworld.h"
+#include "palette.h"
+#include "rom_8034C54.h"
+#include "scanline_effect.h"
+#include "sound.h"
+#include "sprite.h"
+#include "string_util.h"
+#include "task.h"
+#include "text.h"
+#include "trig.h"
+#include "window.h"
+#include "constants/items.h"
+#include "constants/rgb.h"
+#include "constants/songs.h"
+
+struct BerryCrushGame_Player
+{
+ u16 unk0;
+ u8 filler2[0x12];
+ u8 unk14[0xC];
+};
+
+struct BerryCrushGame_PlayersSeparate
+{
+ struct BerryCrushGame_Player player;
+ struct BerryCrushGame_Player others[4];
+};
+
+typedef union BerryCrushGame_Players
+{
+ struct BerryCrushGame_Player players[5];
+ struct BerryCrushGame_PlayersSeparate separate;
+} BerryCrushGame_Players;
+
+struct BerryCrushGame_138_C
+{
+ u8 filler0[0x8];
+ s16 unk8;
+ u16 unkA;
+};
+
+struct BerryCrushGame_138
+{
+ u8 filler0[0xC];
+ struct BerryCrushGame_138_C *unkC[5];
+ u8 filler1C[0x4];
+ struct Sprite *unk24[5];
+ struct Sprite *unk38[5];
+ struct Sprite *unk4C[5];
+ struct Sprite *unk60[5];
+ struct Sprite *unk74[5];
+};
+
+struct BerryCrushGame_4E
+{
+ u8 filler0[0x4];
+ u8 unk4;
+ u8 filler5[0x5];
+ u16 unkA;
+ u16 unkC;
+};
+
+struct __attribute__((packed)) BerryCrushGame_40
+{
+ u8 filler0[0xE];
+ struct BerryCrushGame_4E unkE;
+};
+
+struct BerryCrushGame
+{
+ MainCallback unk0;
+ void (* unk4)(struct BerryCrushGame *, u8 *);
+ u8 unk8;
+ u8 unk9;
+ u8 unkA;
+ u8 unkB;
+ u8 unkC;
+ u8 fillerD[0x1];
+ u8 unkE;
+ u8 unkF;
+ u8 filler10[0x2];
+ u16 unk12;
+ u8 filler14[0x2];
+ u16 unk16;
+ u8 filler18[0x4];
+ int unk1C;
+ u8 filler20[0x5];
+ u8 unk25_0:1;
+ u8 unk25_1:1;
+ u8 unk25_2:1;
+ u8 filler26[0x2];
+ u16 unk28;
+ u16 unk2A;
+ u16 unk2C;
+ u8 filler2E[0x8];
+ u8 unk36[0xA];
+ struct BerryCrushGame_40 unk40;
+ u8 filler60[0x8];
+ int unk68;
+ u16 unk6C;
+ u8 filler6E[0x4];
+ u16 unk72;
+ u8 filler74[0x10];
+ BerryCrushGame_Players unk84;
+ u8 filler124[0x14];
+ struct BerryCrushGame_138 unk138;
+ u8 unk1C0[0x1000];
+ u8 unk11C0[0x1000];
+ u8 unk21C0[0x1000];
+ u8 unk31C0[0x1000];
+};
+
+static void sub_8020F74(void);
+static void sub_8020F88(void);
+static void sub_8020FA0(u8);
+void sub_8020FC4(struct BerryCrushGame *);
+void sub_8022BEC(u16, u8, u8 *);
+void sub_8024604(u8 *, u8, s8, u8, u8, u8, u8);
+static int sub_8021450(struct BerryCrushGame *);
+void sub_8022588(struct BerryCrushGame *);
+void sub_8022600(struct BerryCrushGame *);
+void sub_80226D0(struct BerryCrushGame *);
+void sub_8022730(struct BerryCrushGame *);
+void sub_8022960(struct BerryCrushGame *);
+void sub_8022524(struct BerryCrushGame_138 *, u16);
+void sub_8022B28(struct Sprite *);
+
+static EWRAM_DATA struct BerryCrushGame *gUnknown_02022C90 = NULL;
+
+extern const struct BgTemplate gUnknown_082F32C8[4];
+extern const u8 gBerryCrushGrinderTopTilemap[];
+extern const u8 gBerryCrushContainerCapTilemap[];
+extern const u8 gBerryCrushBackgroundTilemap[];
+extern const struct SpriteTemplate gUnknown_082F436C;
+extern const u16 gUnknown_082F41E8[];
+extern const s8 gUnknown_082F41CC[][2];
+extern const s8 gUnknown_082F41D2[][2];
+
+struct BerryCrushGame *sub_8020C00(void)
+{
+ return gUnknown_02022C90;
+}
+
+int sub_8020C0C(MainCallback callback)
+{
+ if (!gUnknown_02022C90)
+ return 2;
+
+ if (!callback)
+ callback = gUnknown_02022C90->unk0;
+
+ DestroyTask(gUnknown_02022C90->unkA);
+ FREE_AND_SET_NULL(gUnknown_02022C90);
+ SetMainCallback2(callback);
+ if (callback == CB2_ReturnToField)
+ {
+ gTextFlags.autoScroll = 1;
+ PlayNewMapMusic(MUS_POKECEN);
+ SetMainCallback1(CB1_Overworld);
+ }
+
+ return 0;
+}
+
+void sub_8020C70(MainCallback callback)
+{
+ u8 playerCount = 0;
+ u8 multiplayerId;
+
+ if (!gReceivedRemoteLinkPlayers || gWirelessCommType == 0)
+ {
+ SetMainCallback2(callback);
+ gUnknown_03005000.unk_10 = 0;
+ gUnknown_03005000.unk_12 = 0;
+ gUnknown_03005000.unk_ee = 1;
+ return;
+ }
+
+ playerCount = GetLinkPlayerCount();
+ multiplayerId = GetMultiplayerId();
+ if (playerCount < 2 || multiplayerId >= playerCount)
+ {
+ SetMainCallback2(callback);
+ gUnknown_03005000.unk_10 = 0;
+ gUnknown_03005000.unk_12 = 0;
+ gUnknown_03005000.unk_ee = 1;
+ return;
+ }
+
+ gUnknown_02022C90 = AllocZeroed(sizeof(*gUnknown_02022C90));
+ if (!gUnknown_02022C90)
+ {
+ SetMainCallback2(callback);
+ gUnknown_03005000.unk_10 = 0;
+ gUnknown_03005000.unk_12 = 0;
+ gUnknown_03005000.unk_ee = 1;
+ return;
+ }
+
+ gUnknown_02022C90->unk0 = callback;
+ gUnknown_02022C90->unk8 = multiplayerId;
+ gUnknown_02022C90->unk9 = playerCount;
+ sub_8020FC4(gUnknown_02022C90);
+ gUnknown_02022C90->unk12 = 1;
+ gUnknown_02022C90->unkE = 1;
+ gUnknown_02022C90->unkF = 6;
+ sub_8024604(gUnknown_02022C90->unk36, 1, -1, 0, 16, 0, 0);
+ sub_8022BEC(4, 1, gUnknown_02022C90->unk36);
+ SetMainCallback2(sub_8020F88);
+ gUnknown_02022C90->unkA = CreateTask(sub_8020FA0, 8);
+ gTextFlags.autoScroll = 0;
+}
+
+static void sub_8020D8C(void)
+{
+ if (gSpecialVar_ItemId < FIRST_BERRY_INDEX || gSpecialVar_ItemId > LAST_BERRY_INDEX + 1)
+ gSpecialVar_ItemId = ITEM_CHERI_BERRY;
+ else
+ RemoveBagItem(gSpecialVar_ItemId, 1);
+
+ gUnknown_02022C90->unk84.separate.others[gUnknown_02022C90->unk8].unk0 = gSpecialVar_ItemId - FIRST_BERRY_INDEX;
+ gUnknown_02022C90->unkE = 1;
+ gUnknown_02022C90->unkF = 9;
+ sub_8024604(gUnknown_02022C90->unk36, 0, -1, 0, 16, 0, 0);
+ sub_8022BEC(4, 1, gUnknown_02022C90->unk36);
+ gUnknown_02022C90->unkA = CreateTask(sub_8020FA0, 8);
+ SetMainCallback2(sub_8020F88);
+}
+
+void sub_8020E1C(void)
+{
+ DestroyTask(gUnknown_02022C90->unkA);
+ sub_81AABF0(sub_8020D8C);
+}
+
+static void sub_8020E3C(void)
+{
+ SetVBlankCallback(sub_8020F74);
+}
+
+void sub_8020E4C(void)
+{
+ SetVBlankCallback(NULL);
+}
+
+void sub_8020E58(void)
+{
+ u32 var0, var1;
+
+ var0 = gUnknown_02022C90->unk6C;
+ var0 <<= 8;
+ var0 = sub_81515FC(var0, 60 << 8);
+ var1 = gUnknown_02022C90->unk72;
+ var1 <<= 8;
+ var1 = sub_81515FC(var1, var0) & 0xFFFF;
+ gUnknown_02022C90->unk16 = var1;
+ switch (gUnknown_02022C90->unk9)
+ {
+ case 2:
+ if (gUnknown_02022C90->unk16 > gSaveBlock2Ptr->berryCrush.berryCrushResults[0])
+ {
+ gUnknown_02022C90->unk25_1 = 1;
+ gSaveBlock2Ptr->berryCrush.berryCrushResults[0] = gUnknown_02022C90->unk16;
+ }
+ break;
+ case 3:
+ if (gUnknown_02022C90->unk16 > gSaveBlock2Ptr->berryCrush.berryCrushResults[1])
+ {
+ gUnknown_02022C90->unk25_1 = 1;
+ gSaveBlock2Ptr->berryCrush.berryCrushResults[1] = gUnknown_02022C90->unk16;
+ }
+ break;
+ case 4:
+ if (gUnknown_02022C90->unk16 > gSaveBlock2Ptr->berryCrush.berryCrushResults[2])
+ {
+ gUnknown_02022C90->unk25_1 = 1;
+ gSaveBlock2Ptr->berryCrush.berryCrushResults[2] = gUnknown_02022C90->unk16;
+ }
+ break;
+ case 5:
+ if (gUnknown_02022C90->unk16 > gSaveBlock2Ptr->berryCrush.berryCrushResults[3])
+ {
+ gUnknown_02022C90->unk25_1 = 1;
+ gSaveBlock2Ptr->berryCrush.berryCrushResults[3] = gUnknown_02022C90->unk16;
+ }
+ break;
+ }
+
+ gUnknown_02022C90->unk1C = gUnknown_02022C90->unk68;
+ if (GiveBerryPowder(gUnknown_02022C90->unk1C))
+ return;
+
+ gUnknown_02022C90->unk25_0 = 1;
+}
+
+static void sub_8020F74(void)
+{
+ TransferPlttBuffer();
+ LoadOam();
+ ProcessSpriteCopyRequests();
+}
+
+static void sub_8020F88(void)
+{
+ RunTasks();
+ RunTextPrinters();
+ AnimateSprites();
+ BuildOamBuffer();
+}
+
+static void sub_8020FA0(u8 taskId)
+{
+ if (gUnknown_02022C90->unk4)
+ gUnknown_02022C90->unk4(gUnknown_02022C90, gUnknown_02022C90->unk36);
+
+ sub_8021450(gUnknown_02022C90);
+}
+
+#ifdef NONMATCHING
+void sub_8020FC4(struct BerryCrushGame *arg0)
+{
+ u8 i;
+
+ for (i = 0; i < arg0->unk9; i++)
+ StringCopy(arg0->unk84.players[i].unk14, gLinkPlayers[i].name);
+
+ for (; i < 5; i++)
+ {
+ memset(arg0->unk84.players[i].unk14, 1, PLAYER_NAME_LENGTH);
+ arg0->unk84.players[i].unk14[PLAYER_NAME_LENGTH] = EOS;
+ }
+
+ switch (gSaveBlock2Ptr->optionsTextSpeed)
+ {
+ case OPTIONS_TEXT_SPEED_SLOW:
+ arg0->unkB = 8;
+ break;
+ case OPTIONS_TEXT_SPEED_MID:
+ arg0->unkB = 4;
+ break;
+ case OPTIONS_TEXT_SPEED_FAST:
+ arg0->unkB = 1;
+ break;
+ }
+}
+#else
+NAKED
+void sub_8020FC4(struct BerryCrushGame *arg0)
+{
+ asm_unified("\n\
+ push {r4-r6,lr}\n\
+ adds r6, r0, 0\n\
+ movs r5, 0\n\
+ b _08020FE6\n\
+LOOP_1:\n\
+ lsls r0, r5, 5\n\
+ adds r0, 0x98\n\
+ adds r0, r6, r0\n\
+ lsls r1, r5, 3\n\
+ subs r1, r5\n\
+ lsls r1, 2\n\
+ ldr r2, =gLinkPlayers + 8\n\
+ adds r1, r2\n\
+ bl StringCopy\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+_08020FE6:\n\
+ ldrb r0, [r6, 0x9]\n\
+ cmp r5, r0\n\
+ bcc LOOP_1\n\
+ cmp r5, 0x4\n\
+ bhi _08021012\n\
+_08020FF0:\n\
+ lsls r4, r5, 5\n\
+ adds r0, r4, 0\n\
+ adds r0, 0x98\n\
+ adds r0, r6, r0\n\
+ movs r1, 0x1\n\
+ movs r2, 0x7\n\
+ bl memset\n\
+ adds r4, r6, r4\n\
+ adds r4, 0x9F\n\
+ movs r0, 0xFF\n\
+ strb r0, [r4]\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ cmp r5, 0x4\n\
+ bls _08020FF0\n\
+_08021012:\n\
+ ldr r0, =gSaveBlock2Ptr\n\
+ ldr r0, [r0]\n\
+ ldrb r0, [r0, 0x14]\n\
+ lsls r0, 29\n\
+ lsrs r0, 29\n\
+ cmp r0, 0x1\n\
+ beq _0802103E\n\
+ cmp r0, 0x1\n\
+ bgt _08021034\n\
+ cmp r0, 0\n\
+ beq _0802103A\n\
+ b _08021046\n\
+ .pool\n\
+_08021034:\n\
+ cmp r0, 0x2\n\
+ beq _08021042\n\
+ b _08021046\n\
+_0802103A:\n\
+ movs r0, 0x8\n\
+ b _08021044\n\
+_0802103E:\n\
+ movs r0, 0x4\n\
+ b _08021044\n\
+_08021042:\n\
+ movs r0, 0x1\n\
+_08021044:\n\
+ strb r0, [r6, 0xB]\n\
+_08021046:\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0");
+}
+#endif // NONMATCHING
+
+int sub_802104C(void)
+{
+ struct BerryCrushGame *var0 = sub_8020C00();
+ if (!var0)
+ return -1;
+
+ switch (var0->unkC)
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ SetHBlankCallback(NULL);
+ SetGpuReg(REG_OFFSET_DISPCNT, 0);
+ ScanlineEffect_Stop();
+ reset_temp_tile_data_buffers();
+ break;
+ case 1:
+ CpuFill16(0, (void *)OAM, OAM_SIZE);
+ gReservedSpritePaletteCount = 0;
+ sub_8034C54(3);
+ break;
+ case 2:
+ ResetPaletteFade();
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ break;
+ case 3:
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, gUnknown_082F32C8, ARRAY_COUNT(gUnknown_082F32C8));
+ SetBgTilemapBuffer(1, var0->unk1C0);
+ SetBgTilemapBuffer(2, var0->unk21C0);
+ SetBgTilemapBuffer(3, var0->unk31C0);
+ ChangeBgX(0, 0, 0);
+ ChangeBgY(0, 0, 0);
+ ChangeBgX(2, 0, 0);
+ ChangeBgY(2, 0, 0);
+ ChangeBgX(3, 0, 0);
+ ChangeBgY(3, 0, 0);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ break;
+ case 4:
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
+ FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 64);
+ FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 32, 32);
+ FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 32, 32);
+ break;
+ case 5:
+ CopyBgTilemapBufferToVram(0);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(3);
+ decompress_and_copy_tile_data_to_vram(1, gUnknown_08DE34B8, 0, 0, 0);
+ break;
+ case 6:
+ if (free_temp_tile_data_buffers_if_possible())
+ return 0;
+
+ InitStandardTextBoxWindows();
+ sub_8197200();
+ sub_8022588(var0);
+ sub_8022600(var0);
+ gPaletteFade.bufferTransferDisabled = 1;
+ break;
+ case 7:
+ LoadPalette(gUnknown_08DE3398, 0, 0x180);
+ CopyToBgTilemapBuffer(1, gBerryCrushGrinderTopTilemap, 0, 0);
+ CopyToBgTilemapBuffer(2, gBerryCrushContainerCapTilemap, 0, 0);
+ CopyToBgTilemapBuffer(3, gBerryCrushBackgroundTilemap, 0, 0);
+ sub_80226D0(var0);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(3);
+ break;
+ case 8:
+ sub_800E0E8();
+ CreateWirelessStatusIndicatorSprite(0, 0);
+ sub_8022730(var0);
+ SetGpuReg(REG_OFFSET_BG1VOFS, -gSpriteCoordOffsetY);
+ ChangeBgX(1, 0, 0);
+ ChangeBgY(1, 0, 0);
+ break;
+ case 9:
+ gPaletteFade.bufferTransferDisabled = 0;
+ BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK);
+ ShowBg(0);
+ ShowBg(1);
+ ShowBg(2);
+ ShowBg(3);
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
+ sub_8020E3C();
+ var0->unkC = 0;
+ return 1;
+ }
+
+ var0->unkC++;
+ return 0;
+}
+
+int sub_802130C(void)
+{
+ struct BerryCrushGame *var0 = sub_8020C00();
+ if (!var0)
+ return -1;
+
+ switch (var0->unkC)
+ {
+ case 0:
+ sub_8010434();
+ break;
+ case 1:
+ if (!IsLinkTaskFinished())
+ return 0;
+ // fall through. The original author forgot to use "break" here
+ // because this will call BeginNormalPaletteFade() twice.
+ case 2:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ UpdatePaletteFade();
+ break;
+ case 3:
+ if (UpdatePaletteFade())
+ return 0;
+ break;
+ case 4:
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
+ FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 32);
+ FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 32, 32);
+ FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 32, 32);
+ CopyBgTilemapBufferToVram(0);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(3);
+ break;
+ case 5:
+ FreeAllWindowBuffers();
+ HideBg(0);
+ UnsetBgTilemapBuffer(0);
+ HideBg(1);
+ UnsetBgTilemapBuffer(1);
+ HideBg(2);
+ UnsetBgTilemapBuffer(2);
+ HideBg(3);
+ UnsetBgTilemapBuffer(3);
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
+ break;
+ case 6:
+ DestroyWirelessStatusIndicatorSprite();
+ sub_8022960(var0);
+ sub_8034CC8();
+ break;
+ case 7:
+ var0->unkC = 0;
+ return 1;
+ }
+
+ var0->unkC++;
+ return 0;
+}
+
+static int sub_8021450(struct BerryCrushGame *arg0)
+{
+ gSpriteCoordOffsetY = arg0->unk2A + arg0->unk2C;
+ SetGpuReg(REG_OFFSET_BG1VOFS, -gSpriteCoordOffsetY);
+ if (arg0->unk12 == 7)
+ {
+ sub_8022524(&arg0->unk138, arg0->unk28);
+ }
+
+ return 0;
+}
+
+void sub_8021488(struct BerryCrushGame *arg0)
+{
+ arg0->unk2A = -104;
+ arg0->unk2C = 0;
+ gSpriteCoordOffsetX = 0;
+ gSpriteCoordOffsetY = -104;
+}
+
+void sub_80214A8(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1)
+{
+ u8 i;
+ u8 spriteId;
+ s16 var0, var1;
+ s16 *data;
+ int var3;
+ s16 var5;
+ u32 var6;
+
+ for (i = 0; i < arg0->unk9; i++)
+ {
+ spriteId = AddCustomItemIconSprite(
+ &gUnknown_082F436C,
+ gUnknown_082F41E8[i],
+ gUnknown_082F41E8[i],
+ arg0->unk84.separate.others[i].unk0 + 133);
+ arg1->unk38[i] = &gSprites[spriteId];
+ arg1->unk38[i]->oam.priority = 3;
+ arg1->unk38[i]->affineAnimPaused = 1;
+ arg1->unk38[i]->pos1.x = arg1->unkC[i]->unk8 + 120;
+ arg1->unk38[i]->pos1.y = -16;
+ data = arg1->unk38[i]->data;
+ var5 = 512;
+ data[1] = var5;
+ data[2] = 32;
+ data[7] = 112;
+ var0 = arg1->unkC[i]->unkA - arg1->unkC[i]->unk8;
+ var3 = var0;
+ if (var0 < 0)
+ var3 += 3;
+
+ data[6] = var3 >> 2;
+ var0 *= 128;
+ var6 = var5 + 32;
+ var6 = var6 / 2;
+ var1 = sub_81515D4(7, 0x3F80, var6);
+ data[0] = (u16)arg1->unk38[i]->pos1.x * 128;
+ data[3] = sub_81515D4(7, var0, var1);
+ var1 = sub_8151550(7, var1, 85);
+ data[4] = 0;
+ data[5] = sub_81515D4(7, 0x3F80, var1);
+ data[7] |= 0x8000;
+ if (arg1->unkC[i]->unk8 < 0)
+ StartSpriteAffineAnim(arg1->unk38[i], 1);
+ }
+}
+
+void sub_8021608(struct Sprite *sprite)
+{
+ s16 *data = sprite->data;
+
+ data[1] += data[2];
+ sprite->pos2.y += data[1] >> 8;
+ if (data[7] & 0x8000)
+ {
+ sprite->data[0] += data[3];
+ data[4] += data[5];
+ sprite->pos2.x = Sin(data[4] >> 7, data[6]);
+ if ((data[7] & 0x8000) && (data[4] >> 7) > 126)
+ {
+ sprite->pos2.x = 0;
+ data[7] &= 0x7FFF;
+ }
+ }
+
+ sprite->pos1.x = data[0] >> 7;
+ if (sprite->pos1.y + sprite->pos2.y >= (data[7] & 0x7FFF))
+ {
+ sprite->callback = SpriteCallbackDummy;
+ FreeSpriteOamMatrix(sprite);
+ DestroySprite(sprite);
+ }
+}
+
+void sub_80216A8(struct BerryCrushGame *arg0)
+{
+ u8 i;
+ for (i = 0; i < arg0->unk9; i++)
+ {
+ FreeSpritePaletteByTag(gUnknown_082F41E8[i]);
+ FreeSpriteTilesByTag(gUnknown_082F41E8[i]);
+ }
+}
+
+// void sub_80216E0(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1)
+// {
+// u8 sp4;
+// struct BerryCrushGame_4E *var4E;
+// u8 i;
+// u16 var0;
+
+// sp4 = 0;
+// var4E = &arg0->unk40.unkE;
+// for (i = 0; i < arg0->unk9; i++)
+// {
+// var0 = var4E->unkA >> (i * 3);
+// var0 &= 7;
+// if (var0)
+// {
+// int offset;
+// sp4++;
+// if (var0 & 0x4)
+// StartSpriteAnim(arg1->unk24[i], 1);
+// else
+// StartSpriteAnim(arg1->unk24[i], 0);
+
+// arg1->unk24[i]->invisible = 0;
+// arg1->unk24[i]->animPaused = 0;
+// offset = (var0 % 4) - 1;
+// arg1->unk24[i]->pos2.x = gUnknown_082F41CC[offset][0];
+// arg1->unk24[i]->pos2.y = gUnknown_082F41CC[offset][1];
+// }
+// }
+
+// if (sp4 == 0)
+// {
+// arg0->unk25_2 = 0;
+// }
+// else
+// {
+// u8 var3 = arg0->unk28 % 3;
+// u16 var2 = var3;
+// for (i = 0; i < var4E->unkC * 2 + 3; i++)
+// {
+// if (arg1->unk4C[i]->invisible)
+// {
+// arg1->unk4C[i]->callback = sub_8022B28;
+// arg1->unk4C[i]->pos1.x = gUnknown_082F41D2[i][0] + 120;
+// arg1->unk4C[i]->pos1.y = gUnknown_082F41D2[i][1] + (136 - var2 * 4);
+// arg1->unk4C[i]->pos2.x = gUnknown_082F41D2[i][0] / (var3 * 4);
+// arg1->unk4C[i]->pos2.y = gUnknown_082F41D2[i][1];
+// if (var4E->unk4 & 0x2)
+// StartSpriteAnim(arg1->unk4C[i], 1);
+// else
+// StartSpriteAnim(arg1->unk4C[i], 0);
+
+// var2++;
+// if (var2 > 3)
+// var2 = 0;
+// }
+// }
+
+// if (arg0->unk25_2)
+// {
+// arg0->unk25_2 = 0;
+// }
+// else
+// {
+// if (sp4 == 1)
+// PlaySE(SE_TOY_DANGO);
+// else
+// PlaySE(SE_TOY_KABE);
+
+// arg0->unk25_2 = 1;
+// }
+// }
+// }
diff --git a/src/berry_powder.c b/src/berry_powder.c
new file mode 100755
index 000000000..91f9d0d4e
--- /dev/null
+++ b/src/berry_powder.c
@@ -0,0 +1,128 @@
+#include "global.h"
+#include "berry_powder.h"
+#include "bg.h"
+#include "event_data.h"
+#include "load_save.h"
+#include "menu.h"
+#include "string_util.h"
+#include "strings.h"
+#include "text.h"
+#include "text_window.h"
+#include "window.h"
+
+#define MAX_BERRY_POWDER 99999
+
+static EWRAM_DATA u8 sBerryPowderVendorWindowId = 0;
+
+static u32 DecryptBerryPowder(u32 *powder)
+{
+ return *powder ^ gSaveBlock2Ptr->encryptionKey;
+}
+
+void SetBerryPowder(u32 *powder, u32 amount)
+{
+ *powder = amount ^ gSaveBlock2Ptr->encryptionKey;
+}
+
+void ApplyNewEncryptionKeyToBerryPowder(u32 encryptionKey)
+{
+ u32 *powder = &gSaveBlock2Ptr->berryCrush.berryPowderAmount;
+ ApplyNewEncryptionKeyToWord(powder, encryptionKey);
+}
+
+static bool8 HasEnoughBerryPowder_(u32 cost)
+{
+ u32 *powder = &gSaveBlock2Ptr->berryCrush.berryPowderAmount;
+ if (DecryptBerryPowder(powder) < cost)
+ return FALSE;
+ else
+ return TRUE;
+}
+
+bool8 HasEnoughBerryPowder(void)
+{
+ u32 *powder = &gSaveBlock2Ptr->berryCrush.berryPowderAmount;
+ if (DecryptBerryPowder(powder) < gSpecialVar_0x8004)
+ return FALSE;
+ else
+ return TRUE;
+}
+
+bool8 GiveBerryPowder(u32 amountToAdd)
+{
+ u32 *powder = &gSaveBlock2Ptr->berryCrush.berryPowderAmount;
+ u32 amount = DecryptBerryPowder(powder) + amountToAdd;
+ if (amount > MAX_BERRY_POWDER)
+ {
+ SetBerryPowder(powder, MAX_BERRY_POWDER);
+ return FALSE;
+ }
+ else
+ {
+ SetBerryPowder(powder, amount);
+ return TRUE;
+ }
+}
+
+static bool8 TakeBerryPowder_(u32 cost)
+{
+ u32 *powder = &gSaveBlock2Ptr->berryCrush.berryPowderAmount;
+ if (!HasEnoughBerryPowder_(cost))
+ return FALSE;
+
+ SetBerryPowder(powder, DecryptBerryPowder(powder) - cost);
+ return TRUE;
+}
+
+bool8 TakeBerryPowder(void)
+{
+ u32 *powder = &gSaveBlock2Ptr->berryCrush.berryPowderAmount;
+ if (!HasEnoughBerryPowder_(gSpecialVar_0x8004))
+ return FALSE;
+
+ SetBerryPowder(powder, DecryptBerryPowder(powder) - gSpecialVar_0x8004);
+ return TRUE;
+}
+
+u32 GetBerryPowder(void)
+{
+ u32 *powder = &gSaveBlock2Ptr->berryCrush.berryPowderAmount;
+ return DecryptBerryPowder(powder);
+}
+
+static void PrintBerryPowderAmount(u8 windowId, int amount, u8 x, u8 y, u8 speed)
+{
+ ConvertIntToDecimalStringN(gStringVar1, amount, STR_CONV_MODE_RIGHT_ALIGN, 5);
+ AddTextPrinterParameterized(windowId, 1, gStringVar1, x, y, speed, NULL);
+}
+
+static void DrawPlayerPowderAmount(u8 windowId, u16 baseTileOffset, u8 paletteNum, u32 amount)
+{
+ DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, baseTileOffset, paletteNum);
+ AddTextPrinterParameterized(windowId, 1, gText_Powder, 0, 1, TEXT_SPEED_FF, NULL);
+ PrintBerryPowderAmount(windowId, amount, 26, 17, 0);
+}
+
+void PrintPlayerBerryPowderAmount(void)
+{
+ u32 amount = GetBerryPowder();
+ PrintBerryPowderAmount(sBerryPowderVendorWindowId, amount, 26, 17, 0);
+}
+
+void DisplayBerryPowderVendorMenu(void)
+{
+ struct WindowTemplate template;
+ SetWindowTemplateFields(&template, 0, 1, 1, 7, 4, 15, 0x1C);
+ sBerryPowderVendorWindowId = AddWindow(&template);
+ FillWindowPixelBuffer(sBerryPowderVendorWindowId, PIXEL_FILL(0));
+ PutWindowTilemap(sBerryPowderVendorWindowId);
+ LoadUserWindowBorderGfx_(sBerryPowderVendorWindowId, 0x21D, 0xD0);
+ DrawPlayerPowderAmount(sBerryPowderVendorWindowId, 0x21D, 13, GetBerryPowder());
+}
+
+void RemoveBerryPowderVendorMenu(void)
+{
+ ClearWindowTilemap(sBerryPowderVendorWindowId);
+ ClearStdWindowAndFrameToTransparent(sBerryPowderVendorWindowId, TRUE);
+ RemoveWindow(sBerryPowderVendorWindowId);
+}
diff --git a/src/bike.c b/src/bike.c
index 530742bdf..7f84f350b 100644
--- a/src/bike.c
+++ b/src/bike.c
@@ -3,7 +3,7 @@
#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
-#include "global.fieldmap.h"
+#include "field_specials.h"
#include "metatile_behavior.h"
#include "overworld.h"
#include "sound.h"
@@ -11,9 +11,6 @@
#include "constants/map_types.h"
#include "constants/songs.h"
-extern bool8 gBikeCyclingChallenge;
-extern u8 gBikeCollisions;
-
// this file's functions
static void MovePlayerOnMachBike(u8, u16, u16);
static u8 GetMachBikeTransition(u8 *);
diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c
index 07b941f11..659f8682e 100644
--- a/src/braille_puzzles.c
+++ b/src/braille_puzzles.c
@@ -25,42 +25,42 @@ EWRAM_DATA static u8 sBraillePuzzleCallbackFlag = 0;
static const u8 gRegicePathCoords[][2] =
{
- {0x04, 0x15},
- {0x05, 0x15},
- {0x06, 0x15},
- {0x07, 0x15},
- {0x08, 0x15},
- {0x09, 0x15},
- {0x0a, 0x15},
- {0x0b, 0x15},
- {0x0c, 0x15},
- {0x0c, 0x16},
- {0x0c, 0x17},
- {0x0d, 0x17},
- {0x0d, 0x18},
- {0x0d, 0x19},
- {0x0d, 0x1a},
- {0x0d, 0x1b},
- {0x0c, 0x1b},
- {0x0c, 0x1c},
- {0x04, 0x1d},
- {0x05, 0x1d},
- {0x06, 0x1d},
- {0x07, 0x1d},
- {0x08, 0x1d},
- {0x09, 0x1d},
- {0x0a, 0x1d},
- {0x0b, 0x1d},
- {0x0c, 0x1d},
- {0x04, 0x1c},
- {0x04, 0x1b},
- {0x03, 0x1b},
- {0x03, 0x1a},
- {0x03, 0x19},
- {0x03, 0x18},
- {0x03, 0x17},
- {0x04, 0x17},
- {0x04, 0x16},
+ {4, 21},
+ {5, 21},
+ {6, 21},
+ {7, 21},
+ {8, 21},
+ {9, 21},
+ {10, 21},
+ {11, 21},
+ {12, 21},
+ {12, 22},
+ {12, 23},
+ {13, 23},
+ {13, 24},
+ {13, 25},
+ {13, 26},
+ {13, 27},
+ {12, 27},
+ {12, 28},
+ {4, 29},
+ {5, 29},
+ {6, 29},
+ {7, 29},
+ {8, 29},
+ {9, 29},
+ {10, 29},
+ {11, 29},
+ {12, 29},
+ {4, 28},
+ {4, 27},
+ {3, 27},
+ {3, 26},
+ {3, 25},
+ {3, 24},
+ {3, 23},
+ {4, 23},
+ {4, 22},
};
void SealedChamberShakingEffect(u8);
diff --git a/src/bug.c b/src/bug.c
index 88f93a3d5..4fa6a5bb6 100644
--- a/src/bug.c
+++ b/src/bug.c
@@ -6,7 +6,7 @@
void sub_8110368(struct Sprite *);
void sub_8110438(struct Sprite *);
-void sub_81104E4(struct Sprite *);
+void AnimTranslateWebThread(struct Sprite *);
void sub_81105B4(struct Sprite *);
void sub_811067C(struct Sprite *);
void AnimTranslateStinger(struct Sprite *);
@@ -90,7 +90,7 @@ const struct SpriteTemplate gUnknown_085969C8 =
.callback = sub_8110438,
};
-const struct SpriteTemplate gUnknown_085969E0 =
+const struct SpriteTemplate gWebThreadSpriteTemplate =
{
.tileTag = ANIM_TAG_WEB_THREAD,
.paletteTag = ANIM_TAG_WEB_THREAD,
@@ -98,7 +98,7 @@ const struct SpriteTemplate gUnknown_085969E0 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81104E4,
+ .callback = AnimTranslateWebThread,
};
const struct SpriteTemplate gUnknown_085969F8 =
@@ -124,7 +124,7 @@ const union AffineAnimCmd *const gUnknown_08596A28[] =
gUnknown_08596A10,
};
-const struct SpriteTemplate gUnknown_08596A2C =
+const struct SpriteTemplate gSpiderWebSpriteTemplate =
{
.tileTag = ANIM_TAG_SPIDER_WEB,
.paletteTag = ANIM_TAG_SPIDER_WEB,
@@ -247,12 +247,19 @@ void sub_8110438(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_81104E4(struct Sprite *sprite)
+// Creates a single web thread that travels from attacker to target.
+// Used by MOVE_STRING_SHOT and MOVE_SPIDER_WEB in their first move phase.
+// arg 0: x
+// arg 1: y
+// arg 2: controls the left-to-right movement
+// arg 3: amplitude
+// arg 4: if targets both opponents
+void AnimTranslateWebThread(struct Sprite *sprite)
{
if (IsContest())
gBattleAnimArgs[2] /= 2;
- InitSpritePosToAnimAttacker(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
diff --git a/src/cable_car.c b/src/cable_car.c
index 420bdd30f..d44c9a241 100755..100644
--- a/src/cable_car.c
+++ b/src/cable_car.c
@@ -151,22 +151,46 @@ const struct SpritePalette gUnknown_085CDB74[] = {
{ }
};
-const struct OamData gOamData_85CDB84 = {
+const struct OamData gOamData_85CDB84 =
+{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
- .size = 3,
- .priority = 2
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
};
-const struct OamData gOamData_85CDB8C = {
+const struct OamData gOamData_85CDB8C =
+{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
- .shape = ST_OAM_H_RECTANGLE,
- .priority = 2
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x8),
+ .x = 0,
+ .size = SPRITE_SIZE(16x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
};
-const struct OamData gOamData_85CDB94 = {
+const struct OamData gOamData_85CDB94 =
+{
+ .y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
- .size = 1,
- .priority = 2
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
};
const struct SpriteTemplate gSpriteTemplate_85CDB9C[] =
@@ -404,13 +428,12 @@ static void sub_81503E4(u8 taskId)
case WEATHER_ASH:
if (gWeatherPtr->sprites.s2.ashSprites[0] != NULL && gWeatherPtr->sprites.s2.ashSprites[0]->oam.priority != 0)
{
- for (; i < 20; i++)
+ for (; i < NUM_ASH_SPRITES; i++)
{
- if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL)
- {
+ if (gWeatherPtr->sprites.s2.ashSprites[i])
gWeatherPtr->sprites.s2.ashSprites[i]->oam.priority = 0;
- }
}
+
sCableCar->state = 2;
}
break;
@@ -421,12 +444,10 @@ static void sub_81503E4(u8 taskId)
}
else if (sCableCar->timer >= sCableCar->unk4 + 8)
{
- for (; i < 20; i++)
+ for (; i < NUM_ASH_SPRITES; i++)
{
- if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL)
- {
- gWeatherPtr->sprites.s2.ashSprites[i]->invisible ^= TRUE;
- }
+ if (gWeatherPtr->sprites.s2.ashSprites[i])
+ gWeatherPtr->sprites.s2.ashSprites[i]->invisible ^= 1;
}
}
break;
@@ -442,9 +463,7 @@ static void sub_81503E4(u8 taskId)
break;
case 3:
if (!gPaletteFade.active)
- {
sCableCar->state = 0xFF;
- }
break;
case 0xFF:
SetVBlankCallback(NULL);
@@ -533,7 +552,7 @@ static void sub_8150664(u8 taskId)
if (sCableCar->timer < sCableCar->unk4)
gSpriteCoordOffsetX = (gSpriteCoordOffsetX + 247) % 248;
else
- gWeatherPtr->unknown_6FC = (gWeatherPtr->unknown_6FC + 247) % 248;
+ gWeatherPtr->ashBaseSpritesX = (gWeatherPtr->ashBaseSpritesX + 247) % 248;
}
static void CableCarVblankCallback(void)
@@ -1004,3 +1023,4 @@ static void sub_81514C8(u8 arg0)
sCableCar->unk1C = 0;
}
+
diff --git a/src/cable_club.c b/src/cable_club.c
index b80e76e99..303cc76d1 100644
--- a/src/cable_club.c
+++ b/src/cable_club.c
@@ -4,7 +4,7 @@
#include "battle_records.h"
#include "battle_setup.h"
#include "cable_club.h"
-#include "data2.h"
+#include "data.h"
#include "event_data.h"
#include "field_message_box.h"
#include "field_specials.h"
@@ -17,7 +17,8 @@
#include "menu.h"
#include "overworld.h"
#include "palette.h"
-#include "rom_8011DC0.h"
+#include "union_room.h"
+#include "mevent2.h"
#include "script.h"
#include "script_pokemon_util_80F87D8.h"
#include "sound.h"
diff --git a/src/contest.c b/src/contest.c
index 114a1fb69..b06335a1c 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -11,7 +11,7 @@
#include "battle.h"
#include "battle_anim.h"
#include "contest.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "graphics.h"
#include "link.h"
@@ -41,7 +41,7 @@
#include "contest_link_80FC4F4.h"
#include "script_pokemon_util_80F87D8.h"
#include "international_string_util.h"
-#include "data2.h"
+#include "data.h"
#include "constants/rgb.h"
#include "contest_ai.h"
@@ -218,12 +218,6 @@ EWRAM_DATA u8 gUnknown_02039F5D = 0;
// IWRAM common vars.
u32 gContestRngValue;
-extern const u16 gUnknown_08587C30[];
-extern const struct BgTemplate gUnknown_08587F34[4];
-extern const struct WindowTemplate gUnknown_08587F44[];
-extern const u8 *const gUnknown_08587D90[];
-extern const u8 *const gUnknown_08587F08[];
-extern const u8 *const gUnknown_08587F1C[];
extern const u8 *const gUnknown_0827E8DA[];
extern const u8 gText_0827D55A[];
extern const u8 gText_0827E793[];
@@ -248,33 +242,602 @@ extern const u8 gText_Contest_Fear[];
extern const u8 gText_BDot[];
extern const u8 gText_CDot[];
extern const u8 *const gUnknown_08587E10[];
-extern const struct ContestPokemon gContestOpponents[96];
-extern const u8 gUnknown_085898A4[96];
-extern const struct CompressedSpriteSheet gUnknown_08587C00;
-extern const struct SpriteTemplate gSpriteTemplate_8587BE8;
-extern const struct CompressedSpriteSheet gUnknown_08587C08;
-extern const struct CompressedSpritePalette gUnknown_08587C10;
-extern const struct SpriteTemplate gSpriteTemplate_8587C18;
-extern const union AffineAnimCmd *const gUnknown_082FF6C0[];
-extern const union AffineAnimCmd *const gUnknown_082FF694[];
-extern const u8 *const gContestEffectDescriptionPointers[];
-extern const struct SpriteSheet gUnknown_08587A74;
-extern const u8 gUnknown_08587A6C[];
extern const struct SpriteTemplate gSpriteTemplate_8587AD0;
-extern const struct SpritePalette gUnknown_08587B08;
-extern const struct CompressedSpriteSheet gUnknown_08587AE8[];
extern const struct SpriteTemplate gSpriteTemplate_8587B18[];
-extern const u8 gUnknown_08587A70[];
-extern const struct SubspriteTable gSubspriteTables_8587B80[];
-extern const struct CompressedSpriteSheet gUnknown_08587BB0;
-extern const struct SpritePalette gUnknown_08587BB8;
-extern const struct SpriteTemplate gSpriteTemplate_8587BC8;
extern void (*const gContestEffectFuncs[])(void);
-extern const s8 gContestExcitementTable[][5];
-extern const struct ContestWinner gUnknown_08587FA4[];
-extern const struct CompressedSpriteSheet gUnknown_08589904[];
-extern const struct SpritePalette gUnknown_08589924[];
-extern const struct SpriteTemplate gSpriteTemplate_858998C[];
+
+static const u8 gUnknown_08587A6C[] =
+{
+ 0x24, 0x4C, 0x74, 0x9C
+};
+
+static const u8 gUnknown_08587A70[] =
+{
+ 0x24, 0x4C, 0x74, 0x9C
+};
+
+static const struct SpriteSheet gUnknown_08587A74 =
+{
+ .data = gTiles_8C19450,
+ .size = 0x20,
+ .tag = 0x4E20
+};
+
+static const struct OamData gOamData_8587A7C =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .matrixNum = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8587A84[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8587A94[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, -20, 20),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8587AAC[] =
+{
+ AFFINEANIMCMD_FRAME(0x38, 0x38, 0, 0),
+ AFFINEANIMCMD_FRAME(10, 10, 20, 20),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd* const gSpriteAffineAnimTable_8587AC4[] =
+{
+ gSpriteAffineAnim_8587A84,
+ gSpriteAffineAnim_8587A94,
+ gSpriteAffineAnim_8587AAC
+};
+
+static const struct SpriteTemplate gSpriteTemplate_8587AD0 =
+{
+ .tileTag = 0x4E20,
+ .paletteTag = 0xABE0,
+ .oam = &gOamData_8587A7C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8587AC4,
+ .callback = SpriteCallbackDummy
+};
+
+static const struct CompressedSpriteSheet gUnknown_08587AE8[] =
+{
+ {
+ .data = gContestNextTurnGfx,
+ .size = 0x100,
+ .tag = 0x4E22
+ },
+ {
+ .data = gContestNextTurnGfx,
+ .size = 0x100,
+ .tag = 0x4E23
+ },
+ {
+ .data = gContestNextTurnGfx,
+ .size = 0x100,
+ .tag = 0x4E24
+ },
+ {
+ .data = gContestNextTurnGfx,
+ .size = 0x100,
+ .tag = 0x4E25
+ }
+};
+
+static const struct SpritePalette gUnknown_08587B08 =
+{
+ .data = gContestPal,
+ .tag = 0x4E22
+};
+
+static const struct OamData gOamData_8587B10 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .matrixNum = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct SpriteTemplate gSpriteTemplate_8587B18[] =
+{
+ {
+ .tileTag = 0x4E22,
+ .paletteTag = 0x4E22,
+ .oam = &gOamData_8587B10,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 0x4E23,
+ .paletteTag = 0x4E22,
+ .oam = &gOamData_8587B10,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 0x4E24,
+ .paletteTag = 0x4E22,
+ .oam = &gOamData_8587B10,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 0x4E25,
+ .paletteTag = 0x4E22,
+ .oam = &gOamData_8587B10,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ }
+};
+
+const struct Subsprite gSubspriteTable_8587B78[] =
+{
+ {
+ .x = -28,
+ .y = -4,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 1,
+ .tileOffset = 0,
+ .priority = 0
+ },
+ {
+ .x = 4,
+ .y = -4,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 1,
+ .tileOffset = 4,
+ .priority = 0
+ }
+};
+
+const struct SubspriteTable gSubspriteTables_8587B80[] =
+{
+ {
+ .subspriteCount = 2,
+ .subsprites = gSubspriteTable_8587B78
+ }
+};
+
+const struct CompressedSpriteSheet gUnknown_08587B88 =
+{
+ .data = gUnknown_08C19168,
+ .size = 0x180,
+ .tag = 0xABE1
+};
+
+const struct OamData gOamData_8587B90 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+};
+
+const struct SpriteTemplate gSpriteTemplate_8587B98 =
+{
+ .tileTag = 0xABE1,
+ .paletteTag = 0xABE0,
+ .oam = &gOamData_8587B90,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+const struct CompressedSpriteSheet gUnknown_08587BB0 =
+{
+ .data = gContestApplauseGfx,
+ .size = 0x400,
+ .tag = 0xABE2
+};
+
+const struct SpritePalette gUnknown_08587BB8 =
+{
+ .data = gContestPal,
+ .tag = 0xABE2
+};
+
+const struct OamData gOamData_8587BC0 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
+ .x = 0,
+ .size = SPRITE_SIZE(64x32),
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+};
+
+const struct SpriteTemplate gSpriteTemplate_8587BC8 =
+{
+ .tileTag = 0xABE2,
+ .paletteTag = 0xABE2,
+ .oam = &gOamData_8587BC0,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+const struct OamData gOamData_8587BE0 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
+ .priority = 3,
+ .paletteNum = 2,
+};
+
+const struct SpriteTemplate gSpriteTemplate_8587BE8 =
+{
+ .tileTag = 0x4E21,
+ .paletteTag = 0x4E21,
+ .oam = &gOamData_8587BE0,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+const struct CompressedSpriteSheet gUnknown_08587C00 =
+{
+ .data = gContestJudgeGfx,
+ .size = 0x800,
+ .tag = 0x4E21
+};
+
+const struct CompressedSpriteSheet gUnknown_08587C08 =
+{
+ .data = gContestJudgeSymbolsGfx,
+ .size = 0x380,
+ .tag = 0xABE0
+};
+
+const struct CompressedSpritePalette gUnknown_08587C10 =
+{
+ .data = gContest3Pal,
+ .tag = 0xABE0
+};
+
+const struct SpriteTemplate gSpriteTemplate_8587C18 =
+{
+ .tileTag = 0xABE0,
+ .paletteTag = 0xABE0,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+const u16 gUnknown_08587C30[] = INCBIN_U16("graphics/unknown/unknown_587C30.gbapal");
+
+#include "data/contest_text_tables.h"
+
+const struct BgTemplate gUnknown_08587F34[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 0x18,
+ .screenSize = 2,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 0x1E,
+ .screenSize = 2,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 0x1C,
+ .screenSize = 2,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 0x1A,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ }
+};
+
+const struct WindowTemplate gUnknown_08587F44[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 18,
+ .tilemapTop = 0,
+ .width = 12,
+ .height = 2,
+ .paletteNum = 0xF,
+ .baseBlock = 0x200
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 18,
+ .tilemapTop = 5,
+ .width = 12,
+ .height = 2,
+ .paletteNum = 0xF,
+ .baseBlock = 0x218
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 18,
+ .tilemapTop = 10,
+ .width = 12,
+ .height = 2,
+ .paletteNum = 0xF,
+ .baseBlock = 0x230
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 18,
+ .tilemapTop = 15,
+ .width = 12,
+ .height = 2,
+ .paletteNum = 0xF,
+ .baseBlock = 0x248
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 15,
+ .width = 17,
+ .height = 4,
+ .paletteNum = 0xF,
+ .baseBlock = 0x260
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 0x1F,
+ .width = 9,
+ .height = 2,
+ .paletteNum = 0xF,
+ .baseBlock = 0x2A4
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 0x21,
+ .width = 9,
+ .height = 2,
+ .paletteNum = 0xF,
+ .baseBlock = 0x2B6
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 0x23,
+ .width = 9,
+ .height = 2,
+ .paletteNum = 0xF,
+ .baseBlock = 0x2C8
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 0x25,
+ .width = 9,
+ .height = 2,
+ .paletteNum = 0xF,
+ .baseBlock = 0x2DA
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 16,
+ .tilemapTop = 0x1F,
+ .width = 1,
+ .height = 2,
+ .paletteNum = 0xF,
+ .baseBlock = 0x2EC
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 11,
+ .tilemapTop = 0x23,
+ .width = 18,
+ .height = 4,
+ .paletteNum = 0xF,
+ .baseBlock = 0x2EE
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+#include "data/contest_opponents.h"
+
+static const struct CompressedSpriteSheet sUnknown_08589904[] =
+{
+ {
+ .data = gBlankGfxCompressed,
+ .size = 0x1000,
+ .tag = 0x80E8
+ },
+ {
+ .data = gBlankGfxCompressed,
+ .size = 0x1000,
+ .tag = 0x80E9
+ },
+ {
+ .data = gBlankGfxCompressed,
+ .size = 0x1000,
+ .tag = 0x80EA
+ },
+ {
+ .data = gBlankGfxCompressed,
+ .size = 0x1000,
+ .tag = 0x80EB
+ }
+};
+
+// Yup this is super dangerous but that's how it is here
+static const struct SpritePalette sUnknown_08589924[] =
+{
+ {
+ .data = (u16*)(gHeap + 0x1A0A4),
+ .tag = 0x80E8
+ },
+ {
+ .data = (u16*)(gHeap + 0x1A0C4),
+ .tag = 0x80E9
+ },
+ {
+ .data = (u16*)(gHeap + 0x1A0E4),
+ .tag = 0x80EA
+ },
+ {
+ .data = (u16*)(gHeap + 0x1A104),
+ .tag = 0x80EB
+ }
+};
+
+const struct OamData gOamData_8589944 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_858994C[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_END
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_858995C[] =
+{
+ AFFINEANIMCMD_FRAME(3, 3, 0, 15),
+ AFFINEANIMCMD_FRAME(-3, -3, 0, 15),
+ AFFINEANIMCMD_FRAME(3, 3, 0, 15),
+ AFFINEANIMCMD_FRAME(-3, -3, 0, 15),
+ AFFINEANIMCMD_END
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_8589984[] =
+{
+ gSpriteAffineAnim_858994C,
+ gSpriteAffineAnim_858995C
+};
+
+const struct SpriteTemplate gSpriteTemplate_858998C[] =
+{
+ {
+ .tileTag = 0x80E8,
+ .paletteTag = 0x80E8,
+ .oam = &gOamData_8589944,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8589984,
+ .callback = SpriteCallbackDummy
+ },
+ {
+ .tileTag = 0x80E9,
+ .paletteTag = 0x80E9,
+ .oam = &gOamData_8589944,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8589984,
+ .callback = SpriteCallbackDummy
+ },
+ {
+ .tileTag = 0x80EA,
+ .paletteTag = 0x80EA,
+ .oam = &gOamData_8589944,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8589984,
+ .callback = SpriteCallbackDummy
+ },
+ {
+ .tileTag = 0x80EB,
+ .paletteTag = 0x80EB,
+ .oam = &gOamData_8589944,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8589984,
+ .callback = SpriteCallbackDummy
+ }
+};
+
+const s8 gContestExcitementTable[][5] =
+{
+ { 1, 0, -1, -1, 0},
+ { 0, 1, 0, -1, -1},
+ {-1, 0, 1, 0, -1},
+ {-1, -1, 0, 1, 0},
+ { 0, -1, -1, 0, 1}
+};
static void TaskDummy1(u8 taskId)
{
@@ -2118,7 +2681,7 @@ void sub_80DAB8C(u8 contestType, u8 rank)
r7 = TRUE;
// Find all suitable opponents
- r3 = gUnknown_085898A4;
+ r3 = gPostgameContestOpponentFilter;
for (i = 0; i < ARRAY_COUNT(gContestOpponents); i++)
{
if (rank == gContestOpponents[i].whichRank)
@@ -2178,12 +2741,12 @@ void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame)
if (isPostgame == TRUE)
{
- if (gUnknown_085898A4[i] == 1)
+ if (gPostgameContestOpponentFilter[i] == CONTEST_FILTER_NO_POSTGAME)
continue;
}
else
{
- if (gUnknown_085898A4[i] == 2)
+ if (gPostgameContestOpponentFilter[i] == CONTEST_FILTER_ONLY_POSTGAME)
continue;
}
if ((contestType == CONTEST_CATEGORY_COOL && gContestOpponents[i].aiPool_Cool)
@@ -3317,8 +3880,8 @@ static u8 sub_80DC9EC(u8 a)
u8 spriteId1, spriteId2;
u8 x = gUnknown_02039F26[a] * 40 + 32;
- LoadCompressedSpriteSheet(&gUnknown_08589904[a]);
- LoadSpritePalette(&gUnknown_08589924[a]);
+ LoadCompressedSpriteSheet(&sUnknown_08589904[a]);
+ LoadSpritePalette(&sUnknown_08589924[a]);
spriteId1 = CreateSprite(&gSpriteTemplate_858998C[a], 184, x, 29);
spriteId2 = CreateSprite(&gSpriteTemplate_858998C[a], 248, x, 29);
gSprites[spriteId2].oam.tileNum += 64;
@@ -5186,3 +5749,5 @@ void sub_80DFA08(struct ContestPokemon *mon, s32 language)
name[PLAYER_NAME_LENGTH] = EOS;
}
}
+
+
diff --git a/src/contest_link_80F57C4.c b/src/contest_link_80F57C4.c
index a4b88c074..cf0e77c3c 100644
--- a/src/contest_link_80F57C4.c
+++ b/src/contest_link_80F57C4.c
@@ -6,6 +6,7 @@
#include "contest.h"
#include "contest_link_80F57C4.h"
#include "contest_link_80FC4F4.h"
+#include "data.h"
#include "decompress.h"
#include "dma3.h"
#include "event_data.h"
@@ -86,7 +87,6 @@ struct ContestLink80F57C4
EWRAM_DATA struct ContestLink80F57C4 *gUnknown_0203A034 = NULL;
-extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const struct BgTemplate gUnknown_0858D888[4];
extern const struct WindowTemplate gUnknown_0858D898[];
extern const struct CompressedSpriteSheet gUnknown_0858D878[];
@@ -778,7 +778,7 @@ static void sub_80F677C(u8 taskId)
if (!gReceivedRemoteLinkPlayers)
{
if (gIsLinkContest & 0x2)
- sub_800E084();
+ DestroyWirelessStatusIndicatorSprite();
sub_80F7144();
gTasks[taskId].func = sub_80F67C4;
diff --git a/src/contest_painting.c b/src/contest_painting.c
index 931deb01b..b43923c7b 100644
--- a/src/contest_painting.c
+++ b/src/contest_painting.c
@@ -1,11 +1,12 @@
#include "global.h"
#include "alloc.h"
#include "battle.h"
+#include "battle_gfx_sfx_util.h"
#include "bg.h"
#include "contest.h"
#include "contest_painting.h"
#include "contest_painting_effects.h"
-#include "battle_gfx_sfx_util.h"
+#include "data.h"
#include "decompress.h"
#include "gpu_regs.h"
#include "international_string_util.h"
@@ -44,8 +45,6 @@ static void VBlankCB_ContestPainting(void);
static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[64][64]);
extern const u8 gUnknown_0827EA0C[];
-extern const struct CompressedSpriteSheet gMonFrontPicTable[];
-extern const struct CompressedSpriteSheet gMonBackPicTable[];
extern const u8 gContestCoolness[];
extern const u8 gContestBeauty[];
extern const u8 gContestCuteness[];
@@ -152,16 +151,14 @@ const struct OamData gUnknown_085B0830 =
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .mosaic = 1,
+ .mosaic = TRUE,
.bpp = ST_OAM_8BPP,
- .shape = ST_OAM_SQUARE,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
- .matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
- .affineParam = 0,
};
const u16 gUnknown_085B0838[] = {RGB(0, 0, 0), RGB(0, 0, 0)};
@@ -705,3 +702,4 @@ static void sub_8130884(u8 arg0, u8 arg1)
sub_8130688(arg0);
sub_8130430(arg0, arg1);
}
+
diff --git a/src/contest_painting_effects.c b/src/contest_painting_effects.c
index 142ad7bc9..a791df65c 100644
--- a/src/contest_painting_effects.c
+++ b/src/contest_painting_effects.c
@@ -3,6 +3,13 @@
#include "contest_painting.h"
#include "constants/rgb.h"
+struct Unk8125954
+{
+ u8 unk0;
+ u8 unk1;
+ u16 unk2;
+};
+
// IWRAM common
u8 gUnknown_03006164;
u16 (*gUnknown_03006168)[][32];
@@ -12,32 +19,46 @@ u8 gUnknown_03006174;
u8 gUnknown_03006178;
u8 gUnknown_0300617C;
u8 gUnknown_03006180;
-u16 gUnknown_03006184;
+u16 *gUnknown_03006184;
u16 gUnknown_03006188;
-// this file's functions
-void sub_8125230(void);
-void sub_81252E8(void);
-void sub_81254E0(void);
-void sub_8125630(void);
-void sub_8125448(void);
-void sub_81257F8(void);
-void sub_81258A0(void);
-void sub_81256C8(void);
-void sub_8125250(void);
-void sub_81253A4(u8);
-void sub_81250B8(u8);
-void sub_8125170(u8);
-void sub_8125954(u16);
-u16 ConvertColorToGrayscale(u16*);
-u16 sub_8125E18(u16*, u16*, u16*);
-u16 ConvertCoolColor(u16*, u8);
-u16 ConvertToBlackOrWhite(u16*);
-u16 sub_8125C98(u16*, u16*);
-u16 InvertColor(u16*);
-u16 sub_8125F38(u16*, u16*, u16*);
-u16 sub_8125CF4(u16*, u16*);
-u16 GetCoolColorFromPersonality(u8);
+static void sub_8125230(void);
+static void sub_81252E8(void);
+static void sub_81254E0(void);
+static void sub_8125630(void);
+static void sub_8125448(void);
+static void sub_81257F8(void);
+static void sub_81258A0(void);
+static void sub_81256C8(void);
+static void sub_8125250(void);
+static void sub_81253A4(u8);
+static void sub_81250B8(u8);
+static void sub_8125170(u8);
+static void sub_8125954(u16);
+static u16 ConvertColorToGrayscale(u16*);
+static u16 sub_8125E18(u16*, u16*, u16*);
+static u16 ConvertCoolColor(u16*, u8);
+static u16 ConvertToBlackOrWhite(u16*);
+static u16 sub_8125C98(u16*, u16*);
+static u16 InvertColor(u16*);
+static u16 sub_8125F38(u16*, u16*, u16*);
+static u16 sub_8125CF4(u16*, u16*);
+static u16 GetCoolColorFromPersonality(u8);
+static void sub_81263A4(bool8);
+static void sub_8126270(void);
+static void sub_8126714(void);
+static void sub_8126370(void);
+static void sub_8126664(void);
+static void sub_8126334(void);
+static void sub_81265B4(void);
+static void sub_8126318(void);
+static void sub_81264FC(void);
+static u16 sub_81267C4(u16*);
+static u16 sub_8126908(u16*);
+static u16 sub_812693C(u16*);
+static u16 sub_8126838(u16*);
+
+extern const u8 gUnknown_085A1F94[][3];
void sub_8124F2C(struct Unk030061A0 *info)
{
@@ -104,7 +125,7 @@ void sub_8124F2C(struct Unk030061A0 *info)
}
}
-void sub_81250B8(u8 a0) // it changes palette someway somehow... .__.
+static void sub_81250B8(u8 a0) // it changes palette someway somehow... .__.
{
u8 i, j;
@@ -127,7 +148,7 @@ void sub_81250B8(u8 a0) // it changes palette someway somehow... .__.
}
}
-void sub_8125170(u8 a0)
+static void sub_8125170(u8 a0)
{
u8 i, j;
@@ -149,14 +170,14 @@ void sub_8125170(u8 a0)
}
}
-void sub_8125230(void)
+static void sub_8125230(void)
{
u32 i;
for (i = 0; i < 3200; i++)
sub_8125954(i);
}
-void sub_8125250(void)
+static void sub_8125250(void)
{
u8 i, j;
@@ -174,7 +195,7 @@ void sub_8125250(void)
}
}
-void sub_81252E8(void)
+static void sub_81252E8(void)
{
u8 i, j;
@@ -200,7 +221,7 @@ void sub_81252E8(void)
}
}
-void sub_81253A4(u8 arg0)
+static void sub_81253A4(u8 arg0)
{
u8 i, j;
@@ -218,7 +239,7 @@ void sub_81253A4(u8 arg0)
}
}
-void sub_8125448(void)
+static void sub_8125448(void)
{
u8 i, j;
@@ -236,7 +257,7 @@ void sub_8125448(void)
}
}
-void sub_81254E0(void)
+static void sub_81254E0(void)
{
u8 i, j;
u16 *palette;
@@ -270,7 +291,7 @@ void sub_81254E0(void)
}
}
-void sub_8125630(void)
+static void sub_8125630(void)
{
u8 i, j;
@@ -288,7 +309,7 @@ void sub_8125630(void)
}
}
-void sub_81256C8(void)
+static void sub_81256C8(void)
{
u8 i, j;
u16 *palette;
@@ -349,7 +370,7 @@ void sub_81256C8(void)
}
}
-void sub_81257F8(void)
+static void sub_81257F8(void)
{
u8 i, j;
@@ -369,7 +390,7 @@ void sub_81257F8(void)
}
}
-void sub_81258A0(void)
+static void sub_81258A0(void)
{
u8 i, j;
@@ -389,16 +410,7 @@ void sub_81258A0(void)
}
}
-struct Unk8125954
-{
- u8 unk0;
- u8 unk1;
- u16 unk2;
-};
-
-extern const u8 gUnknown_085A1F94[][3];
-
-void sub_8125954(u16 arg0)
+static void sub_8125954(u16 arg0)
{
u8 i;
u8 r5, r9;
@@ -487,7 +499,7 @@ void sub_8125954(u16 arg0)
}
}
-u16 ConvertColorToGrayscale(u16 *color)
+static u16 ConvertColorToGrayscale(u16 *color)
{
s32 clr = *color;
s32 r = clr & 0x1F;
@@ -499,7 +511,7 @@ u16 ConvertColorToGrayscale(u16 *color)
// The dark colors are the colored edges of the Cool painting effect.
// Everything else is white.
-u16 ConvertCoolColor(u16 *color, u8 personality)
+static u16 ConvertCoolColor(u16 *color, u8 personality)
{
u16 red = *color & 0x1F;
u16 green = (*color >> 5) & 0x1F;
@@ -513,7 +525,7 @@ u16 ConvertCoolColor(u16 *color, u8 personality)
// Based on the given value, which comes from the first 8 bits of
// the mon's personality value, return a color.
-u16 GetCoolColorFromPersonality(u8 personality)
+static u16 GetCoolColorFromPersonality(u8 personality)
{
u16 red = 0;
u16 green = 0;
@@ -564,7 +576,7 @@ u16 GetCoolColorFromPersonality(u8 personality)
return RGB2(red, green, blue);
}
-u16 ConvertToBlackOrWhite(u16 *color)
+static u16 ConvertToBlackOrWhite(u16 *color)
{
u16 red = *color & 0x1F;
u16 green = (*color >> 5) & 0x1F;
@@ -576,7 +588,7 @@ u16 ConvertToBlackOrWhite(u16 *color)
return RGB_WHITE;
}
-u16 sub_8125C98(u16 *colorA, u16 *colorB)
+static u16 sub_8125C98(u16 *colorA, u16 *colorB)
{
if (*colorA)
{
@@ -591,7 +603,7 @@ u16 sub_8125C98(u16 *colorA, u16 *colorB)
return RGB_BLACK;
}
-u16 InvertColor(u16 *color)
+static u16 InvertColor(u16 *color)
{
u16 red = *color & 0x1F;
u16 green = (*color >> 5) & 0x1F;
@@ -604,7 +616,7 @@ u16 InvertColor(u16 *color)
return RGB2(red, green, blue);
}
-u16 sub_8125CF4(u16 *a0, u16 *a1)
+static u16 sub_8125CF4(u16 *a0, u16 *a1)
{
u16 sp0[2][3];
u16 spC[3];
@@ -660,7 +672,7 @@ u16 sub_8125CF4(u16 *a0, u16 *a1)
return RGB2(r, g, b);
}
-u16 sub_8125E18(u16 * a0, u16 * a1, u16 * a2)
+static u16 sub_8125E18(u16 * a0, u16 * a1, u16 * a2)
{
u16 red, green, blue;
u16 avg0, avg1, avg2;
@@ -704,7 +716,7 @@ u16 sub_8125E18(u16 * a0, u16 * a1, u16 * a2)
return RGB2(red, green, blue);
}
-u16 sub_8125F38(u16 *a0, u16 *a1, u16 *a2)
+static u16 sub_8125F38(u16 *a0, u16 *a1, u16 *a2)
{
u16 red, green, blue;
u16 avg0, avg1, avg2;
@@ -772,3 +784,582 @@ void sub_8126058(struct Unk030061A0 *arg0)
}
}
*/
+
+NAKED
+void sub_8126058(struct Unk030061A0 *arg0)
+{
+ asm_unified("\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0xC\n\
+ ldrb r1, [r0, 0x1D]\n\
+ lsrs r5, r1, 3\n\
+ ldrb r1, [r0, 0x1E]\n\
+ lsrs r1, 3\n\
+ str r1, [sp, 0x8]\n\
+ ldr r1, [r0, 0x4]\n\
+ str r1, [sp]\n\
+ ldr r2, [r0, 0x10]\n\
+ str r2, [sp, 0x4]\n\
+ ldrh r0, [r0, 0x16]\n\
+ cmp r0, 0x2\n\
+ bne _08126108\n\
+ movs r1, 0\n\
+ ldr r0, [sp, 0x8]\n\
+ cmp r1, r0\n\
+ bcc _08126086\n\
+ b _08126194\n\
+_08126086:\n\
+ movs r0, 0\n\
+ adds r2, r1, 0x1\n\
+ mov r10, r2\n\
+ cmp r0, r5\n\
+ bcs _081260FA\n\
+ adds r2, r1, 0\n\
+ muls r2, r5\n\
+ mov r9, r2\n\
+ lsls r1, 3\n\
+ mov r8, r1\n\
+_0812609A:\n\
+ movs r4, 0\n\
+ lsls r6, r0, 4\n\
+ adds r7, r0, 0x1\n\
+ add r0, r9\n\
+ lsls r0, 6\n\
+ ldr r1, [sp, 0x4]\n\
+ adds r1, r0\n\
+ mov r12, r1\n\
+_081260AA:\n\
+ lsls r0, r4, 3\n\
+ mov r2, r12\n\
+ adds r3, r2, r0\n\
+ mov r1, r8\n\
+ adds r0, r1, r4\n\
+ lsls r0, 3\n\
+ muls r0, r5\n\
+ lsls r0, 1\n\
+ ldr r2, [sp]\n\
+ adds r0, r2, r0\n\
+ adds r2, r0, r6\n\
+ ldrh r0, [r2, 0x2]\n\
+ lsls r0, 8\n\
+ ldrh r1, [r2]\n\
+ orrs r0, r1\n\
+ strh r0, [r3]\n\
+ ldrh r0, [r2, 0x6]\n\
+ lsls r0, 8\n\
+ ldrh r1, [r2, 0x4]\n\
+ orrs r0, r1\n\
+ strh r0, [r3, 0x2]\n\
+ ldrh r0, [r2, 0xA]\n\
+ lsls r0, 8\n\
+ ldrh r1, [r2, 0x8]\n\
+ orrs r0, r1\n\
+ strh r0, [r3, 0x4]\n\
+ ldrh r0, [r2, 0xE]\n\
+ lsls r0, 8\n\
+ ldrh r1, [r2, 0xC]\n\
+ orrs r0, r1\n\
+ strh r0, [r3, 0x6]\n\
+ adds r0, r4, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r4, r0, 16\n\
+ cmp r4, 0x7\n\
+ bls _081260AA\n\
+ lsls r0, r7, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, r5\n\
+ bcc _0812609A\n\
+_081260FA:\n\
+ mov r1, r10\n\
+ lsls r0, r1, 16\n\
+ lsrs r1, r0, 16\n\
+ ldr r2, [sp, 0x8]\n\
+ cmp r1, r2\n\
+ bcc _08126086\n\
+ b _08126194\n\
+_08126108:\n\
+ movs r1, 0\n\
+ ldr r0, [sp, 0x8]\n\
+ cmp r1, r0\n\
+ bcs _08126194\n\
+_08126110:\n\
+ movs r0, 0\n\
+ adds r2, r1, 0x1\n\
+ mov r10, r2\n\
+ cmp r0, r5\n\
+ bcs _08126188\n\
+ adds r2, r1, 0\n\
+ muls r2, r5\n\
+ mov r9, r2\n\
+ lsls r1, 3\n\
+ mov r8, r1\n\
+_08126124:\n\
+ movs r4, 0\n\
+ lsls r6, r0, 4\n\
+ adds r7, r0, 0x1\n\
+ add r0, r9\n\
+ lsls r0, 5\n\
+ ldr r1, [sp, 0x4]\n\
+ adds r1, r0\n\
+ mov r12, r1\n\
+_08126134:\n\
+ lsls r0, r4, 2\n\
+ mov r2, r12\n\
+ adds r3, r2, r0\n\
+ mov r1, r8\n\
+ adds r0, r1, r4\n\
+ lsls r0, 3\n\
+ muls r0, r5\n\
+ lsls r0, 1\n\
+ ldr r2, [sp]\n\
+ adds r0, r2, r0\n\
+ adds r2, r0, r6\n\
+ ldrh r1, [r2, 0x2]\n\
+ lsls r1, 4\n\
+ ldrh r0, [r2]\n\
+ orrs r1, r0\n\
+ ldrh r0, [r2, 0x4]\n\
+ lsls r0, 8\n\
+ orrs r1, r0\n\
+ ldrh r0, [r2, 0x6]\n\
+ lsls r0, 12\n\
+ orrs r1, r0\n\
+ strh r1, [r3]\n\
+ ldrh r1, [r2, 0xA]\n\
+ lsls r1, 4\n\
+ ldrh r0, [r2, 0x8]\n\
+ orrs r1, r0\n\
+ ldrh r0, [r2, 0xC]\n\
+ lsls r0, 8\n\
+ orrs r1, r0\n\
+ ldrh r0, [r2, 0xE]\n\
+ lsls r0, 12\n\
+ orrs r1, r0\n\
+ strh r1, [r3, 0x2]\n\
+ adds r0, r4, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r4, r0, 16\n\
+ cmp r4, 0x7\n\
+ bls _08126134\n\
+ lsls r0, r7, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, r5\n\
+ bcc _08126124\n\
+_08126188:\n\
+ mov r1, r10\n\
+ lsls r0, r1, 16\n\
+ lsrs r1, r0, 16\n\
+ ldr r2, [sp, 0x8]\n\
+ cmp r1, r2\n\
+ bcc _08126110\n\
+_08126194:\n\
+ add sp, 0xC\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0");
+}
+
+void sub_81261A4(struct Unk030061A0 *arg0)
+{
+ gUnknown_03006188 = arg0->var_18 * 16;
+ gUnknown_03006184 = &arg0->var_8[gUnknown_03006188];
+ gUnknown_03006168 = arg0->var_4;
+ gUnknown_03006164 = arg0->var_19;
+ gUnknown_03006178 = arg0->var_1A;
+ gUnknown_03006174 = arg0->var_1B;
+ gUnknown_0300616C = arg0->var_1C;
+ gUnknown_03006180 = arg0->var_1D;
+ gUnknown_03006170 = arg0->var_1E;
+
+ switch (arg0->var_14)
+ {
+ case 0:
+ sub_81263A4(FALSE);
+ break;
+ case 1:
+ sub_81263A4(TRUE);
+ break;
+ case 2:
+ sub_8126270();
+ sub_8126714();
+ break;
+ case 3:
+ sub_8126370();
+ sub_8126664();
+ break;
+ case 4:
+ sub_8126334();
+ sub_81265B4();
+ break;
+ case 5:
+ sub_8126318();
+ sub_81264FC();
+ break;
+ }
+}
+
+static void sub_8126270(void)
+{
+ gUnknown_03006184[0] = RGB2(0, 0, 0);
+ gUnknown_03006184[1] = RGB2(6, 6, 6);
+ gUnknown_03006184[2] = RGB2(29, 29, 29);
+ gUnknown_03006184[3] = RGB2(11, 11, 11);
+ gUnknown_03006184[4] = RGB2(29, 6, 6);
+ gUnknown_03006184[5] = RGB2(6, 29, 6);
+ gUnknown_03006184[6] = RGB2(6, 6, 29);
+ gUnknown_03006184[7] = RGB2(29, 29, 6);
+ gUnknown_03006184[8] = RGB2(29, 6, 29);
+ gUnknown_03006184[9] = RGB2(6, 29, 29);
+ gUnknown_03006184[10] = RGB2(29, 11, 6);
+ gUnknown_03006184[11] = RGB2(11, 29, 6);
+ gUnknown_03006184[12] = RGB2(6, 11, 29);
+ gUnknown_03006184[13] = RGB2(29, 6, 11);
+ gUnknown_03006184[14] = RGB2(6, 29, 11);
+ gUnknown_03006184[15] = RGB2(11, 6, 29);
+}
+
+static void sub_8126318(void)
+{
+ gUnknown_03006184[0] = RGB2(0, 0, 0);
+ gUnknown_03006184[1] = RGB2(0, 0, 0);
+ gUnknown_03006184[2] = RGB2(31, 31, 31);
+}
+
+static void sub_8126334(void)
+{
+ u8 i;
+
+ gUnknown_03006184[0] = RGB2(0, 0, 0);
+ gUnknown_03006184[1] = RGB2(0, 0, 0);
+ for (i = 0; i < 14; i++)
+ gUnknown_03006184[i + 2] = RGB2(2 * (i + 2), 2 * (i + 2), 2 * (i + 2));
+}
+
+static void sub_8126370(void)
+{
+ u8 i;
+
+ gUnknown_03006184[0] = RGB2(0, 0, 0);
+ for (i = 0; i < 32; i++)
+ gUnknown_03006184[i + 1] = RGB2(i, i, i);
+}
+
+static void sub_81263A4(bool8 arg0)
+{
+ u8 i, j;
+ u16 maxIndex;
+
+ maxIndex = 0xDF;
+ if (!arg0)
+ maxIndex = 0xFF;
+
+ for (j = 0; j < maxIndex; j++)
+ gUnknown_03006184[j] = 0;
+
+ gUnknown_03006184[maxIndex] = RGB2(15, 15, 15);
+ for (i = 0; i < gUnknown_0300616C; i++)
+ {
+ u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
+ u16* pal = &var2[gUnknown_03006164];
+ for (j = 0; j < gUnknown_03006174; j++, pal++)
+ {
+ if (*pal & 0x8000)
+ {
+ *pal = gUnknown_03006188;
+ }
+ else
+ {
+ u16 color = sub_81267C4(pal);
+ u8 curIndex = 1;
+ if (curIndex < maxIndex)
+ {
+ if (gUnknown_03006184[curIndex] == RGB_BLACK)
+ {
+ gUnknown_03006184[curIndex] = color;
+ *pal = gUnknown_03006188 + curIndex;
+ }
+ else
+ {
+ while (curIndex < maxIndex)
+ {
+ if (gUnknown_03006184[curIndex] == RGB_BLACK)
+ {
+ gUnknown_03006184[curIndex] = color;
+ *pal = gUnknown_03006188 + curIndex;
+ break;
+ }
+
+ if (gUnknown_03006184[curIndex] == color)
+ {
+ *pal = gUnknown_03006188 + curIndex;
+ break;
+ }
+
+ curIndex++;
+ }
+ }
+ }
+
+ if (curIndex == maxIndex)
+ {
+ curIndex = maxIndex;
+ *pal = curIndex;
+ }
+ }
+ }
+ }
+}
+
+static void sub_81264FC(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_0300616C; i++)
+ {
+ u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
+ u16* pal = &var2[gUnknown_03006164];
+ for (j = 0; j < gUnknown_03006174; j++, pal++)
+ {
+ if (*pal & 0x8000)
+ {
+ *pal = gUnknown_03006188;
+ }
+ else
+ {
+ if (ConvertToBlackOrWhite(pal) == RGB_BLACK)
+ *pal = gUnknown_03006188 + 1;
+ else
+ *pal = gUnknown_03006188 + 2;
+ }
+ }
+ }
+}
+
+static void sub_81265B4(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_0300616C; i++)
+ {
+ u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
+ u16* pal = &var2[gUnknown_03006164];
+ for (j = 0; j < gUnknown_03006174; j++, pal++)
+ {
+ if (*pal & 0x8000)
+ *pal = gUnknown_03006188;
+ else
+ *pal = sub_8126908(pal) + gUnknown_03006188;
+ }
+ }
+}
+
+static void sub_8126664(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_0300616C; i++)
+ {
+ u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
+ u16* pal = &var2[gUnknown_03006164];
+ for (j = 0; j < gUnknown_03006174; j++, pal++)
+ {
+ if (*pal & 0x8000)
+ *pal = gUnknown_03006188;
+ else
+ *pal = sub_812693C(pal) + gUnknown_03006188;
+ }
+ }
+}
+
+static void sub_8126714(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_0300616C; i++)
+ {
+ u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
+ u16* pal = &var2[gUnknown_03006164];
+ for (j = 0; j < gUnknown_03006174; j++, pal++)
+ {
+ if (*pal & 0x8000)
+ *pal = gUnknown_03006188;
+ else
+ *pal = sub_8126838(pal) + gUnknown_03006188;
+ }
+ }
+}
+
+static u16 sub_81267C4(u16 *color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+
+ if (red & 3)
+ red = (red & 0x1C) + 4;
+ if (green & 3)
+ green = (green & 0x1C) + 4;
+ if (blue & 3)
+ blue = (blue & 0x1C) + 4;
+
+ if (red < 6)
+ red = 6;
+ if (red > 30)
+ red = 30;
+
+ if (green < 6)
+ green = 6;
+ if (green > 30)
+ green = 30;
+
+ if (blue < 6)
+ blue = 6;
+ if (blue > 30)
+ blue = 30;
+
+ return RGB2(red, green, blue);
+}
+
+static u16 sub_8126838(u16* color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+
+ if (red < 12 && green < 11 && blue < 11)
+ return 1;
+
+ if (red > 19 && green > 19 && blue > 19)
+ return 2;
+
+ if (red > 19)
+ {
+ if (green > 19)
+ {
+ if (blue > 14)
+ return 2;
+ else
+ return 7;
+ }
+ else if (blue > 19)
+ {
+ if (green > 14)
+ return 2;
+ else
+ return 8;
+ }
+ }
+
+ if (green > 19 && blue > 19)
+ {
+ if (red > 14)
+ return 2;
+ else
+ return 9;
+ }
+
+ if (red > 19)
+ {
+ if (green > 11)
+ {
+ if (blue > 11)
+ {
+ if (green < blue)
+ return 8;
+ else
+ return 7;
+ }
+ else
+ {
+ return 10;
+ }
+ }
+ else if (blue > 11)
+ {
+ return 13;
+ }
+ else
+ {
+ return 4;
+ }
+ }
+
+ if (green > 19)
+ {
+ if (red > 11)
+ {
+ if (blue > 11)
+ {
+ if (red < blue)
+ return 9;
+ else
+ return 7;
+ }
+ else
+ {
+ return 11;
+ }
+ }
+ else
+ {
+ if (blue > 11)
+ return 14;
+ else
+ return 5;
+ }
+ }
+
+ if (blue > 19)
+ {
+ if (red > 11)
+ {
+ if (green > 11)
+ {
+ if (red < green)
+ return 9;
+ else
+ return 8;
+ }
+ }
+ else if (green > 11)
+ {
+ return 12;
+ }
+
+ if (blue > 11)
+ return 15;
+ else
+ return 6;
+ }
+
+ return 3;
+}
+
+static u16 sub_8126908(u16 *color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+ u16 average = ((red + green + blue) / 3) & 0x1E;
+ if (average == 0)
+ return 1;
+ else
+ return average / 2;
+}
+
+static u16 sub_812693C(u16 *color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+ u16 average = (red + green + blue) / 3;
+ return average + 1;
+}
diff --git a/src/credits.c b/src/credits.c
index 4483e3160..1e96514b1 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -1056,10 +1056,10 @@ static const struct OamData gUnknown_085E703C =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
diff --git a/src/dark.c b/src/dark.c
index 80ce61800..482c09c04 100644
--- a/src/dark.c
+++ b/src/dark.c
@@ -803,17 +803,23 @@ void sub_81144BC(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_81144F8(u8 taskId)
+// Makes the attacker metallic and shining.
+// Used by MOVE_HARDEN and MOVE_IRON_DEFENSE.
+// arg0: if true won't change battler's palette back
+// arg1: if true, use custom color
+// arg2: custom color
+// Custom color argument is used in MOVE_POISON_TAIL to make the mon turn purplish/pinkish as if became cloaked in poison.
+void AnimTask_MetallicShine(u8 taskId)
{
u16 species;
u8 spriteId;
u8 newSpriteId;
u16 paletteNum;
struct BattleAnimBgData animBg;
- int var0 = 0;
+ bool32 priorityChanged = FALSE;
- gBattle_WIN0H = var0;
- gBattle_WIN0V = var0;
+ gBattle_WIN0H = 0;
+ gBattle_WIN0V = 0;
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON);
@@ -832,7 +838,7 @@ void sub_81144F8(u8 taskId)
{
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority--;
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
- var0 = 1;
+ priorityChanged = TRUE;
}
}
}
@@ -861,7 +867,7 @@ void sub_81144F8(u8 taskId)
gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32;
paletteNum = 16 + gSprites[spriteId].oam.paletteNum;
- if (gBattleAnimArgs[1] == 0)
+ if (gBattleAnimArgs[1] == 0)
SetGreyscaleOrOriginalPalette(paletteNum, FALSE);
else
BlendPalette(paletteNum * 16, 16, 11, gBattleAnimArgs[2]);
@@ -870,7 +876,7 @@ void sub_81144F8(u8 taskId)
gTasks[taskId].data[1] = gBattleAnimArgs[0];
gTasks[taskId].data[2] = gBattleAnimArgs[1];
gTasks[taskId].data[3] = gBattleAnimArgs[2];
- gTasks[taskId].data[6] = var0;
+ gTasks[taskId].data[6] = priorityChanged;
gTasks[taskId].func = sub_8114748;
}
@@ -879,29 +885,28 @@ static void sub_8114748(u8 taskId)
struct BattleAnimBgData animBg;
u16 paletteNum;
u8 spriteId;
- u8 taskIdCopy = taskId;
- gTasks[taskIdCopy].data[10] += 4;
+ gTasks[taskId].data[10] += 4;
gBattle_BG1_X -= 4;
- if (gTasks[taskIdCopy].data[10] == 128)
+ if (gTasks[taskId].data[10] == 128)
{
- gTasks[taskIdCopy].data[10] = 0;
+ gTasks[taskId].data[10] = 0;
gBattle_BG1_X += 128;
- gTasks[taskIdCopy].data[11]++;
- if (gTasks[taskIdCopy].data[11] == 2)
+ gTasks[taskId].data[11]++;
+ if (gTasks[taskId].data[11] == 2)
{
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
paletteNum = 16 + gSprites[spriteId].oam.paletteNum;
- if (gTasks[taskIdCopy].data[1] == 0)
+ if (gTasks[taskId].data[1] == 0)
SetGreyscaleOrOriginalPalette(paletteNum, 1);
- DestroySprite(&gSprites[gTasks[taskIdCopy].data[0]]);
+ DestroySprite(&gSprites[gTasks[taskId].data[0]]);
sub_80A6B30(&animBg);
sub_80A6C68(animBg.bgId);
- if (gTasks[taskIdCopy].data[6] == 1)
+ if (gTasks[taskId].data[6] == 1)
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority++;
}
- else if (gTasks[taskIdCopy].data[11] == 3)
+ else if (gTasks[taskId].data[11] == 3)
{
gBattle_WIN0H = 0;
gBattle_WIN0V = 0;
@@ -918,7 +923,10 @@ static void sub_8114748(u8 taskId)
}
}
-void sub_811489C(u8 taskId)
+// Changes battler's palette to either greyscale or original.
+// arg0: which battler
+// arg1: 0 grayscale, 1 original
+void AnimTask_SetGreyscaleOrOriginalPal(u8 taskId)
{
u8 spriteId;
u8 battler;
diff --git a/src/data.c b/src/data.c
new file mode 100644
index 000000000..7aebd63ed
--- /dev/null
+++ b/src/data.c
@@ -0,0 +1,441 @@
+#include "global.h"
+#include "alloc.h"
+#include "battle.h"
+#include "data.h"
+#include "graphics.h"
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/species.h"
+#include "constants/trainers.h"
+#include "constants/battle_ai.h"
+
+const u16 gUnknown_082FF1D8[] = INCBIN_U16("graphics/link/minigame_digits.gbapal");
+const u32 gUnknown_082FF1F8[] = INCBIN_U32("graphics/link/minigame_digits.4bpp.lz");
+// unused
+const u32 gUnknown_082FF2B8[] = INCBIN_U32("graphics/link/minigame_digits2.4bpp.lz");
+
+const struct SpriteFrameImage gUnknown_082FF3A8[] =
+{
+ gHeap + 0x8000, 0x800,
+ gHeap + 0x8800, 0x800,
+ gHeap + 0x9000, 0x800,
+ gHeap + 0x9800, 0x800,
+};
+
+const struct SpriteFrameImage gUnknown_082FF3C8[] =
+{
+ gHeap + 0xA000, 0x800,
+ gHeap + 0xA800, 0x800,
+ gHeap + 0xB000, 0x800,
+ gHeap + 0xB800, 0x800,
+};
+
+const struct SpriteFrameImage gUnknown_082FF3E8[] =
+{
+ gHeap + 0xC000, 0x800,
+ gHeap + 0xC800, 0x800,
+ gHeap + 0xD000, 0x800,
+ gHeap + 0xD800, 0x800,
+};
+
+const struct SpriteFrameImage gUnknown_082FF408[] =
+{
+ gHeap + 0xE000, 0x800,
+ gHeap + 0xE800, 0x800,
+ gHeap + 0xF000, 0x800,
+ gHeap + 0xF800, 0x800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_Brendan[] =
+{
+ gTrainerBackPic_Brendan, 0x0800,
+ gTrainerBackPic_Brendan + 0x0800, 0x0800,
+ gTrainerBackPic_Brendan + 0x1000, 0x0800,
+ gTrainerBackPic_Brendan + 0x1800, 0x0800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_May[] =
+{
+ gTrainerBackPic_May, 0x0800,
+ gTrainerBackPic_May + 0x0800, 0x0800,
+ gTrainerBackPic_May + 0x1000, 0x0800,
+ gTrainerBackPic_May + 0x1800, 0x0800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_Red[] =
+{
+ gTrainerBackPic_Red, 0x0800,
+ gTrainerBackPic_Red + 0x0800, 0x0800,
+ gTrainerBackPic_Red + 0x1000, 0x0800,
+ gTrainerBackPic_Red + 0x1800, 0x0800,
+ gTrainerBackPic_Red + 0x2000, 0x0800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_Leaf[] =
+{
+ gTrainerBackPic_Leaf, 0x0800,
+ gTrainerBackPic_Leaf + 0x0800, 0x0800,
+ gTrainerBackPic_Leaf + 0x1000, 0x0800,
+ gTrainerBackPic_Leaf + 0x1800, 0x0800,
+ gTrainerBackPic_Leaf + 0x2000, 0x0800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[] =
+{
+ gTrainerBackPic_RubySapphireBrendan, 0x0800,
+ gTrainerBackPic_RubySapphireBrendan + 0x0800, 0x0800,
+ gTrainerBackPic_RubySapphireBrendan + 0x1000, 0x0800,
+ gTrainerBackPic_RubySapphireBrendan + 0x1800, 0x0800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[] =
+{
+ gTrainerBackPic_RubySapphireMay, 0x0800,
+ gTrainerBackPic_RubySapphireMay + 0x0800, 0x0800,
+ gTrainerBackPic_RubySapphireMay + 0x1000, 0x0800,
+ gTrainerBackPic_RubySapphireMay + 0x1800, 0x0800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_Wally[] =
+{
+ gTrainerBackPic_Wally, 0x0800,
+ gTrainerBackPic_Wally + 0x0800, 0x0800,
+ gTrainerBackPic_Wally + 0x1000, 0x0800,
+ gTrainerBackPic_Wally + 0x1800, 0x0800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_Steven[] =
+{
+ gTrainerBackPic_Steven, 0x0800,
+ gTrainerBackPic_Steven + 0x0800, 0x0800,
+ gTrainerBackPic_Steven + 0x1000, 0x0800,
+ gTrainerBackPic_Steven + 0x1800, 0x0800,
+};
+
+static const union AnimCmd sAnim_GeneralFrame0[] =
+{
+ ANIMCMD_FRAME(0, 0),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GeneralFrame3[] =
+{
+ ANIMCMD_FRAME(3, 0),
+ ANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_082FF548[] =
+{
+ AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0x00),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_082FF558[] =
+{
+ AFFINEANIMCMD_FRAME(0xff00, 0x0100, 0x00, 0x00),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_082FF568[] =
+{
+ AFFINEANIMCMD_FRAME(0x0028, 0x0028, 0x00, 0x00),
+ AFFINEANIMCMD_FRAME(0x0012, 0x0012, 0x00, 0x0c),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_082FF580[] =
+{
+ AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x12),
+ AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x0f),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_082FF598[] =
+{
+ AFFINEANIMCMD_FRAME(0x00a0, 0x0100, 0x00, 0x00),
+ AFFINEANIMCMD_FRAME(0x0004, 0x0000, 0x00, 0x08),
+ AFFINEANIMCMD_FRAME(0xfffc, 0x0000, 0x00, 0x08),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+static const union AffineAnimCmd gUnknown_082FF5B8[] =
+{
+ AFFINEANIMCMD_FRAME(0x0002, 0x0002, 0x00, 0x14),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_082FF5C8[] =
+{
+ AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x14),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_082FF5D8[] =
+{
+ AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0000),
+ AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x09),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_082FF5F0[] =
+{
+ AFFINEANIMCMD_FRAME(0x0004, 0x0004, 0x00, 0x3f),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_082FF600[] =
+{
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05),
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_082FF618[] =
+{
+ gUnknown_082FF548,
+ gUnknown_082FF568,
+ gUnknown_082FF580,
+ gUnknown_082FF598,
+ gUnknown_082FF5B8,
+ gUnknown_082FF5C8,
+ gUnknown_082FF5F0,
+ gUnknown_082FF600,
+ gUnknown_082FF5D8,
+};
+
+static const union AffineAnimCmd gUnknown_082FF63C[] =
+{
+ AFFINEANIMCMD_FRAME(0xfffc, 0xfffc, 0x04, 0x3f),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_082FF64C[] =
+{
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05),
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_082FF664[] =
+{
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfb, 0x14),
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x00, 0x14),
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x05, 0x14),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_082FF684[] =
+{
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x09, 0x6e),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_082FF694[] =
+{
+ gUnknown_082FF548,
+ gUnknown_082FF568,
+ gUnknown_082FF580,
+ gUnknown_082FF598,
+ gUnknown_082FF5B8,
+ gUnknown_082FF5C8,
+ gUnknown_082FF63C,
+ gUnknown_082FF64C,
+ gUnknown_082FF664,
+ gUnknown_082FF5D8,
+ gUnknown_082FF684,
+};
+
+const union AffineAnimCmd *const gUnknown_082FF6C0[] =
+{
+ gUnknown_082FF558,
+ gUnknown_082FF568,
+ gUnknown_082FF580,
+ gUnknown_082FF598,
+ gUnknown_082FF5B8,
+ gUnknown_082FF5C8,
+ gUnknown_082FF63C,
+ gUnknown_082FF64C,
+ gUnknown_082FF664,
+ gUnknown_082FF5D8,
+ gUnknown_082FF684,
+};
+
+static const union AnimCmd gUnknown_082FF6EC[] =
+{
+ ANIMCMD_FRAME(0, 0),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gUnknown_082FF6F4[] =
+{
+ ANIMCMD_FRAME(1, 0),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gUnknown_082FF6FC[] =
+{
+ ANIMCMD_FRAME(2, 0),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gUnknown_082FF704[] =
+{
+ ANIMCMD_FRAME(3, 0),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_082FF70C[] =
+{
+ gUnknown_082FF6EC,
+ gUnknown_082FF6F4,
+ gUnknown_082FF6FC,
+ gUnknown_082FF704,
+};
+
+#define SPECIES_SPRITE(species, sprite) [SPECIES_##species] = {sprite, 0x800, SPECIES_##species}
+#define SPECIES_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species}
+#define SPECIES_SHINY_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species + SPECIES_SHINY_TAG}
+
+#define TRAINER_SPRITE(trainerPic, sprite, size) [TRAINER_PIC_##trainerPic] = {sprite, size, TRAINER_PIC_##trainerPic}
+#define TRAINER_PAL(trainerPic, pal) [TRAINER_PIC_##trainerPic] = {pal, TRAINER_PIC_##trainerPic}
+
+#define TRAINER_BACK_PAL(trainerPic, pal) [TRAINER_BACK_PIC_##trainerPic] = {pal, TRAINER_BACK_PIC_##trainerPic}
+
+#include "data/pokemon_graphics/unknown_anims.h"
+#include "data/pokemon_graphics/front_pic_coordinates.h"
+#include "data/pokemon_graphics/still_front_pic_table.h"
+#include "data/pokemon_graphics/back_pic_coordinates.h"
+
+#include "data/pokemon_graphics/back_pic_table.h"
+#include "data/pokemon_graphics/palette_table.h"
+#include "data/pokemon_graphics/shiny_palette_table.h"
+
+#include "data/trainer_graphics/front_pic_anims.h"
+#include "data/trainer_graphics/front_pic_tables.h"
+#include "data/trainer_graphics/back_pic_anims.h"
+#include "data/trainer_graphics/back_pic_tables.h"
+
+#include "data/pokemon_graphics/enemy_mon_elevation.h"
+#include "data/pokemon_graphics/front_pic_anims.h"
+#include "data/pokemon_graphics/front_pic_table.h"
+
+// unused
+const u32 gUnknown830AF4C[] =
+{
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000088, 0x00000888, 0x00000888, 0x00000886,
+ 0x00000888, 0x00000886, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000886, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000886, 0x00000886,
+ 0x00000888, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000888, 0x00000886, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000886, 0x00000886,
+ 0x00000888, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000886, 0x00000886, 0x00000088,
+ 0x00000886, 0x00000886, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000886, 0x00000888, 0x00000088, 0x00000088,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000886,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000886,
+ 0x00000886, 0x00000886, 0x00000886, 0x00000886,
+ 0x00000886, 0x00000886, 0x00000888, 0x00000888,
+ 0x00000886, 0x00000886, 0x00000886, 0x00000886,
+ 0x00000886, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000886, 0x00000886, 0x00000888,
+ 0x00000886, 0x00000886, 0x00000888, 0x00000888,
+ 0x00000088, 0x00000088, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000886, 0x00000886, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000088, 0x00000886,
+ 0x00000888, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000888, 0x00000886, 0x00000888,
+ 0x00000088, 0x00000088, 0x00000886, 0x00000886,
+ 0x00000088, 0x00000088, 0x00000888, 0x00000886,
+ 0x00000886, 0x00000888, 0x00000888, 0x00000088,
+ 0x00000888, 0x00000886, 0x00000886, 0x00000888,
+ 0x00000886, 0x00000888, 0x00000888, 0x00000886,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000088, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000088, 0x00000888, 0x00000888, 0x00000886,
+ 0x00000886, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000886,
+ 0x00000888, 0x00000886, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000888, 0x00000088, 0x00000888,
+ 0x00000888, 0x00000088, 0x00000088, 0x00000888,
+ 0x00000886, 0x00000888, 0x00000886, 0x00000886,
+ 0x00000886, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000088, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000088, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000088, 0x00000088,
+ 0x00000886, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000088, 0x00000888,
+ 0x00000886, 0x00000888, 0x00000088, 0x00000088,
+ 0x00000888, 0x00000888, 0x00000088, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000088,
+ 0x00000888, 0x00000888, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000888, 0x00000088, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000886, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000886, 0x00000886, 0x00000886,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000886,
+ 0x00000088, 0x00000886, 0x00000886, 0x00000886,
+ 0x00000088, 0x00000886, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000886,
+ 0x00000886, 0x00000886, 0x00000888, 0x00000888,
+ 0x00000886, 0x00000886, 0x00000886, 0x00000886,
+ 0x00000088, 0x00000088, 0x00000886, 0x00000886,
+ 0x00001882, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000886, 0x00000886, 0x00000886,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000886, 0x00000088, 0x00000886, 0x00000088,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000088, 0x00000886, 0x00000886,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000886,
+ 0x00000886, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000088, 0x00000886, 0x00000088,
+ 0x00000088, 0x00000886, 0x00000886, 0x00000886,
+ 0x00000886, 0x00000886, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000886,
+ 0x00000886, 0x00000886, 0x00000886, 0x00000088,
+ 0x00000886, 0x00000088, 0x00000886, 0x00000886,
+ 0x00000886, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000088, 0x00000886, 0x00000886,
+ 0x00000886, 0x00000888, 0x00000886, 0x00000886,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000886, 0x00000886, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000088, 0x00000088, 0x00000088,
+ 0x00000088, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+ 0x00000888, 0x00000888, 0x00000888, 0x00000888,
+};
+
+#include "data/trainer_parties.h"
+#include "data/text/trainer_class_names.h"
+#include "data/trainers.h"
+#include "data/text/species_names.h"
+#include "data/text/move_names.h"
diff --git a/src/data/bard_music/pokemon.h b/src/data/bard_music/pokemon.h
index 693005360..112a5870b 100644
--- a/src/data/bard_music/pokemon.h
+++ b/src/data/bard_music/pokemon.h
@@ -2,7 +2,7 @@
#define GUARD_DATA_BARD_MUSIC_POKEMON_H
#include "constants/species.h"
-const u16 gUnknown_085F5490 = NUM_SPECIES;
+const u16 gNumSpeciesNames = NUM_SPECIES;
const struct BardSound gBardSounds_Pokemon[][6] = {
{
diff --git a/src/data/contest_opponents.h b/src/data/contest_opponents.h
new file mode 100644
index 000000000..ef1fdba9f
--- /dev/null
+++ b/src/data/contest_opponents.h
@@ -0,0 +1,3066 @@
+
+#include "global.h"
+#include "contest.h"
+#include "constants/species.h"
+
+#define CONTEST_OPPONENT_JIMMY 0
+#define CONTEST_OPPONENT_EDITH 1
+#define CONTEST_OPPONENT_EVAN 2
+#define CONTEST_OPPONENT_KELSEY 3
+#define CONTEST_OPPONENT_MADISON 4
+#define CONTEST_OPPONENT_RAYMOND 5
+#define CONTEST_OPPONENT_GRANT 6
+#define CONTEST_OPPONENT_PAIGE 7
+#define CONTEST_OPPONENT_ALEC 8
+#define CONTEST_OPPONENT_SYDNEY 9
+#define CONTEST_OPPONENT_MORRIS 10
+#define CONTEST_OPPONENT_MARIAH 11
+#define CONTEST_OPPONENT_RUSSELL 12
+#define CONTEST_OPPONENT_MELANIE 13
+#define CONTEST_OPPONENT_CHANCE 14
+#define CONTEST_OPPONENT_AGATHA 15
+#define CONTEST_OPPONENT_BEAU 16
+#define CONTEST_OPPONENT_KAY 17
+#define CONTEST_OPPONENT_CALE 18
+#define CONTEST_OPPONENT_CAITLIN 19
+#define CONTEST_OPPONENT_COLBY 20
+#define CONTEST_OPPONENT_KYLIE 21
+#define CONTEST_OPPONENT_LIAM 22
+#define CONTEST_OPPONENT_MILO 23
+#define CONTEST_OPPONENT_KARINA 24
+#define CONTEST_OPPONENT_BOBBY 25
+#define CONTEST_OPPONENT_CLAIRE 26
+#define CONTEST_OPPONENT_WILLIE 27
+#define CONTEST_OPPONENT_CASSIDY 28
+#define CONTEST_OPPONENT_MORGAN 29
+#define CONTEST_OPPONENT_SUMMER 30
+#define CONTEST_OPPONENT_MILES 31
+#define CONTEST_OPPONENT_AUDREY 32
+#define CONTEST_OPPONENT_AVERY 33
+#define CONTEST_OPPONENT_ARIANA 34
+#define CONTEST_OPPONENT_ASHTON 35
+#define CONTEST_OPPONENT_SANDRA 36
+#define CONTEST_OPPONENT_CARSON 37
+#define CONTEST_OPPONENT_KATRINA 38
+#define CONTEST_OPPONENT_LUKE 39
+#define CONTEST_OPPONENT_RAUL 40
+#define CONTEST_OPPONENT_JADA 41
+#define CONTEST_OPPONENT_ZEEK 42
+#define CONTEST_OPPONENT_DIEGO 43
+#define CONTEST_OPPONENT_ALIYAH 44
+#define CONTEST_OPPONENT_NATALIA 45
+#define CONTEST_OPPONENT_DEVIN 46
+#define CONTEST_OPPONENT_TYLOR 47
+#define CONTEST_OPPONENT_RONNIE 48
+#define CONTEST_OPPONENT_CLAUDIA 49
+#define CONTEST_OPPONENT_ELIAS 50
+#define CONTEST_OPPONENT_JADE 51
+#define CONTEST_OPPONENT_FRANCIS 52
+#define CONTEST_OPPONENT_ALISHA 53
+#define CONTEST_OPPONENT_SAUL 54
+#define CONTEST_OPPONENT_FELICIA 55
+#define CONTEST_OPPONENT_EMILIO 56
+#define CONTEST_OPPONENT_KARLA 57
+#define CONTEST_OPPONENT_DARRYL 58
+#define CONTEST_OPPONENT_SELENA 59
+#define CONTEST_OPPONENT_NOEL 60
+#define CONTEST_OPPONENT_LACEY 61
+#define CONTEST_OPPONENT_CORBIN 62
+#define CONTEST_OPPONENT_GRACIE 63
+#define CONTEST_OPPONENT_COLTIN 64
+#define CONTEST_OPPONENT_ELLIE 65
+#define CONTEST_OPPONENT_MARCUS 66
+#define CONTEST_OPPONENT_KIARA 67
+#define CONTEST_OPPONENT_BRYCE 68
+#define CONTEST_OPPONENT_JAMIE 69
+#define CONTEST_OPPONENT_JORGE 70
+#define CONTEST_OPPONENT_DEVON 71
+#define CONTEST_OPPONENT_JUSTINA 72
+#define CONTEST_OPPONENT_RALPH 73
+#define CONTEST_OPPONENT_ROSA 74
+#define CONTEST_OPPONENT_KEATON 75
+#define CONTEST_OPPONENT_MAYRA 76
+#define CONTEST_OPPONENT_LAMAR 77
+#define CONTEST_OPPONENT_AUBREY 78
+#define CONTEST_OPPONENT_NIGEL 79
+#define CONTEST_OPPONENT_CAMILLE 80
+#define CONTEST_OPPONENT_DEON 81
+#define CONTEST_OPPONENT_JANELLE 82
+#define CONTEST_OPPONENT_HEATH 83
+#define CONTEST_OPPONENT_SASHA 84
+#define CONTEST_OPPONENT_FRANKIE 85
+#define CONTEST_OPPONENT_HELEN 86
+#define CONTEST_OPPONENT_CAMILE 87
+#define CONTEST_OPPONENT_MARTIN 88
+#define CONTEST_OPPONENT_SERGIO 89
+#define CONTEST_OPPONENT_KAILEY 90
+#define CONTEST_OPPONENT_PERLA 91
+#define CONTEST_OPPONENT_CLARA 92
+#define CONTEST_OPPONENT_JAKOB 93
+#define CONTEST_OPPONENT_TREY 94
+#define CONTEST_OPPONENT_LANE 95
+
+const struct ContestWinner gUnknown_08587FA4[] =
+{
+ {
+ .personality = 0,
+ .trainerId = 0xFFFF,
+ .species = SPECIES_ELECTRIKE,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .monName = _("ELECTER"),
+ .trainerName = _("EZRA"),
+ .contestRank = CONTEST_RANK_NORMAL
+ },
+ {
+ .personality = 0,
+ .trainerId = 0xFFFF,
+ .species = SPECIES_TROPIUS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .monName = _("TROPO"),
+ .trainerName = _("ALLAN"),
+ .contestRank = CONTEST_RANK_HYPER
+ },
+ {
+ .personality = 0,
+ .trainerId = 0xFFFF,
+ .species = SPECIES_XATU,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .monName = _("TUXA"),
+ .trainerName = _("JULIET"),
+ .contestRank = CONTEST_RANK_NORMAL
+ },
+ {
+ .personality = 0,
+ .trainerId = 0xFFFF,
+ .species = SPECIES_PLUSLE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .monName = _("PULSE"),
+ .trainerName = _("BAILY"),
+ .contestRank = CONTEST_RANK_MASTER
+ },
+ {
+ .personality = 0,
+ .trainerId = 0xFFFF,
+ .species = SPECIES_SHUPPET,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .monName = _("SHUPUP"),
+ .trainerName = _("MELANY"),
+ .contestRank = CONTEST_RANK_SUPER
+ },
+ {
+ .personality = 0,
+ .trainerId = 0xFFFF,
+ .species = SPECIES_ZANGOOSE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .monName = _("GOOZAN"),
+ .trainerName = _("HANA"),
+ .contestRank = CONTEST_RANK_HYPER
+ },
+ {
+ .personality = 0,
+ .trainerId = 0xFFFF,
+ .species = SPECIES_LOUDRED,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .monName = _("LOUDED"),
+ .trainerName = _("BRYANT"),
+ .contestRank = CONTEST_RANK_HYPER
+ },
+ {
+ .personality = 0,
+ .trainerId = 0xFFFF,
+ .species = SPECIES_DELCATTY,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .monName = _("KITSY"),
+ .trainerName = _("OMAR"),
+ .contestRank = CONTEST_RANK_MASTER
+ }
+};
+
+const struct ContestPokemon gContestOpponents[] =
+{
+ [CONTEST_OPPONENT_JIMMY] = {
+ .species = SPECIES_POOCHYENA,
+ .nickname = _("POOCHY"),
+ .trainerName = _("JIMMY"),
+ .trainerGfxId = EVENT_OBJ_GFX_BOY_1,
+ .flags = 0xC000FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_ROAR,
+ MOVE_BITE,
+ MOVE_TAKE_DOWN,
+ MOVE_HOWL
+ },
+ .cool = 10,
+ .beauty = 4,
+ .cute = 10,
+ .smart = 3,
+ .tough = 4,
+ .sheen = 50,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_EDITH] = {
+ .species = SPECIES_ILLUMISE,
+ .nickname = _("MUSILLE"),
+ .trainerName = _("EDITH"),
+ .trainerGfxId = EVENT_OBJ_GFX_GIRL_1,
+ .flags = 0x82000FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_REST,
+ MOVE_FACADE,
+ MOVE_TACKLE,
+ MOVE_COVET
+ },
+ .cool = 10,
+ .beauty = 10,
+ .cute = 6,
+ .smart = 1,
+ .tough = 2,
+ .sheen = 60,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_EVAN] = {
+ .species = SPECIES_DUSTOX,
+ .nickname = _("DUSTER"),
+ .trainerName = _("EVAN"),
+ .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY,
+ .flags = 0x21000FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_SILVER_WIND,
+ MOVE_MOONLIGHT,
+ MOVE_LIGHT_SCREEN,
+ MOVE_GUST
+ },
+ .cool = 2,
+ .beauty = 10,
+ .cute = 10,
+ .smart = 12,
+ .tough = 4,
+ .sheen = 70,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_KELSEY] = {
+ .species = SPECIES_SEEDOT,
+ .nickname = _("DOTS"),
+ .trainerName = _("KELSEY"),
+ .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1,
+ .flags = 0x20800FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_BIDE,
+ MOVE_SYNTHESIS,
+ MOVE_BULLET_SEED,
+ MOVE_GROWTH
+ },
+ .cool = 3,
+ .beauty = 3,
+ .cute = 5,
+ .smart = 2,
+ .tough = 7,
+ .sheen = 80,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_MADISON] = {
+ .species = SPECIES_TAILLOW,
+ .nickname = _("TATAY"),
+ .trainerName = _("MADISON"),
+ .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F,
+ .flags = 0x80400FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_WING_ATTACK,
+ MOVE_AGILITY,
+ MOVE_AERIAL_ACE,
+ MOVE_GROWL
+ },
+ .cool = 1,
+ .beauty = 3,
+ .cute = 3,
+ .smart = 5,
+ .tough = 4,
+ .sheen = 90,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_RAYMOND] = {
+ .species = SPECIES_NINCADA,
+ .nickname = _("NINDA"),
+ .trainerName = _("RAYMOND"),
+ .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT,
+ .flags = 0x10200FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_LEECH_LIFE,
+ MOVE_FALSE_SWIPE,
+ MOVE_FURY_SWIPES,
+ MOVE_MIND_READER
+ },
+ .cool = 5,
+ .beauty = 2,
+ .cute = 10,
+ .smart = 7,
+ .tough = 8,
+ .sheen = 100,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_GRANT] = {
+ .species = SPECIES_SHROOMISH,
+ .nickname = _("SMISH"),
+ .trainerName = _("GRANT"),
+ .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER,
+ .flags = 0x20100FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_STUN_SPORE,
+ MOVE_LEECH_SEED,
+ MOVE_MEGA_DRAIN,
+ MOVE_ATTRACT
+ },
+ .cool = 3,
+ .beauty = 3,
+ .cute = 10,
+ .smart = 2,
+ .tough = 2,
+ .sheen = 50,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_PAIGE] = {
+ .species = SPECIES_SPHEAL,
+ .nickname = _("SLEAL"),
+ .trainerName = _("PAIGE"),
+ .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4,
+ .flags = 0x8080FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_AURORA_BEAM,
+ MOVE_WATER_GUN,
+ MOVE_GROWL,
+ MOVE_ROCK_TOMB
+ },
+ .cool = 3,
+ .beauty = 5,
+ .cute = 1,
+ .smart = 10,
+ .tough = 10,
+ .sheen = 60,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_ALEC] = {
+ .species = SPECIES_SLAKOTH,
+ .nickname = _("SLOKTH"),
+ .trainerName = _("ALEC"),
+ .trainerGfxId = EVENT_OBJ_GFX_CAMPER,
+ .flags = 0x40040FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_STRENGTH,
+ MOVE_COUNTER,
+ MOVE_YAWN,
+ MOVE_ENCORE
+ },
+ .cool = 10,
+ .beauty = 4,
+ .cute = 4,
+ .smart = 5,
+ .tough = 18,
+ .sheen = 70,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_SYDNEY] = {
+ .species = SPECIES_WHISMUR,
+ .nickname = _("WHIRIS"),
+ .trainerName = _("SYDNEY"),
+ .trainerGfxId = EVENT_OBJ_GFX_LASS,
+ .flags = 0x80020FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_ASTONISH,
+ MOVE_SCREECH,
+ MOVE_UPROAR,
+ MOVE_HYPER_VOICE
+ },
+ .cool = 2,
+ .beauty = 2,
+ .cute = 7,
+ .smart = 2,
+ .tough = 7,
+ .sheen = 80,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_MORRIS] = {
+ .species = SPECIES_MAKUHITA,
+ .nickname = _("MAHITA"),
+ .trainerName = _("MORRIS"),
+ .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M,
+ .flags = 0x8010FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_SEISMIC_TOSS,
+ MOVE_VITAL_THROW,
+ MOVE_TACKLE,
+ MOVE_REVERSAL
+ },
+ .cool = 9,
+ .beauty = 1,
+ .cute = 1,
+ .smart = 8,
+ .tough = 1,
+ .sheen = 90,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_MARIAH] = {
+ .species = SPECIES_ARON,
+ .nickname = _("RONAR"),
+ .trainerName = _("MARIAH"),
+ .trainerGfxId = EVENT_OBJ_GFX_GIRL_2,
+ .flags = 0x8008FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_METAL_CLAW,
+ MOVE_IRON_DEFENSE,
+ MOVE_HEADBUTT,
+ MOVE_TAKE_DOWN
+ },
+ .cool = 5,
+ .beauty = 10,
+ .cute = 2,
+ .smart = 10,
+ .tough = 2,
+ .sheen = 100,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_RUSSELL] = {
+ .species = SPECIES_CROBAT,
+ .nickname = _("BATRO"),
+ .trainerName = _("RUSSELL"),
+ .trainerGfxId = EVENT_OBJ_GFX_MAN_3,
+ .flags = 0x90004FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_HAZE,
+ MOVE_MEAN_LOOK,
+ MOVE_CONFUSE_RAY,
+ MOVE_LEECH_LIFE
+ },
+ .cool = 4,
+ .beauty = 2,
+ .cute = 2,
+ .smart = 2,
+ .tough = 10,
+ .sheen = 50,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_MELANIE] = {
+ .species = SPECIES_GULPIN,
+ .nickname = _("GULIN"),
+ .trainerName = _("MELANIE"),
+ .trainerGfxId = EVENT_OBJ_GFX_TWIN,
+ .flags = 0x40002FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_SLUDGE,
+ MOVE_AMNESIA,
+ MOVE_TOXIC,
+ MOVE_YAWN
+ },
+ .cool = 1,
+ .beauty = 10,
+ .cute = 1,
+ .smart = 10,
+ .tough = 5,
+ .sheen = 60,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_CHANCE] = {
+ .species = SPECIES_MANECTRIC,
+ .nickname = _("RIKELEC"),
+ .trainerName = _("CHANCE"),
+ .trainerGfxId = EVENT_OBJ_GFX_RICH_BOY,
+ .flags = 0x80001FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_SPARK,
+ MOVE_THUNDER_WAVE,
+ MOVE_THUNDER,
+ MOVE_ROAR
+ },
+ .cool = 20,
+ .beauty = 10,
+ .cute = 1,
+ .smart = 1,
+ .tough = 1,
+ .sheen = 70,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_AGATHA] = {
+ .species = SPECIES_BULBASAUR,
+ .nickname = _("BULBY"),
+ .trainerName = _("AGATHA"),
+ .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2,
+ .flags = 0xC000FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_GROWL,
+ MOVE_LEECH_SEED,
+ MOVE_TACKLE,
+ MOVE_SWEET_SCENT
+ },
+ .cool = 5,
+ .beauty = 3,
+ .cute = 10,
+ .smart = 10,
+ .tough = 4,
+ .sheen = 50,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_BEAU] = {
+ .species = SPECIES_BUTTERFREE,
+ .nickname = _("FUTTERBE"),
+ .trainerName = _("BEAU"),
+ .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC,
+ .flags = 0x82000FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_SUPERSONIC,
+ MOVE_WHIRLWIND,
+ MOVE_SILVER_WIND,
+ MOVE_SAFEGUARD
+ },
+ .cool = 3,
+ .beauty = 10,
+ .cute = 2,
+ .smart = 10,
+ .tough = 4,
+ .sheen = 60,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_KAY] = {
+ .species = SPECIES_PIDGEOTTO,
+ .nickname = _("PIDEOT"),
+ .trainerName = _("KAY"),
+ .trainerGfxId = EVENT_OBJ_GFX_WOMAN_5,
+ .flags = 0x21000FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_MIRROR_MOVE,
+ MOVE_QUICK_ATTACK,
+ MOVE_AERIAL_ACE,
+ MOVE_FEATHER_DANCE
+ },
+ .cool = 10,
+ .beauty = 8,
+ .cute = 4,
+ .smart = 2,
+ .tough = 3,
+ .sheen = 70,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_CALE] = {
+ .species = SPECIES_DIGLETT,
+ .nickname = _("DIGLE"),
+ .trainerName = _("CALE"),
+ .trainerGfxId = EVENT_OBJ_GFX_HIKER,
+ .flags = 0x20800FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_DIG,
+ MOVE_EARTHQUAKE,
+ MOVE_FISSURE,
+ MOVE_MAGNITUDE
+ },
+ .cool = 4,
+ .beauty = 2,
+ .cute = 3,
+ .smart = 5,
+ .tough = 10,
+ .sheen = 80,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_CAITLIN] = {
+ .species = SPECIES_POLIWAG,
+ .nickname = _("WAGIL"),
+ .trainerName = _("CAITLIN"),
+ .trainerGfxId = EVENT_OBJ_GFX_TUBER_F,
+ .flags = 0x80400FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_HYDRO_PUMP,
+ MOVE_RAIN_DANCE,
+ MOVE_BODY_SLAM,
+ MOVE_ICE_BEAM
+ },
+ .cool = 2,
+ .beauty = 10,
+ .cute = 5,
+ .smart = 3,
+ .tough = 10,
+ .sheen = 90,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_COLBY] = {
+ .species = SPECIES_TOTODILE,
+ .nickname = _("TOTDIL"),
+ .trainerName = _("COLBY"),
+ .trainerGfxId = EVENT_OBJ_GFX_NINJA_BOY,
+ .flags = 0x10200FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_RAGE,
+ MOVE_SCREECH,
+ MOVE_SURF,
+ MOVE_BLIZZARD
+ },
+ .cool = 6,
+ .beauty = 10,
+ .cute = 2,
+ .smart = 1,
+ .tough = 5,
+ .sheen = 100,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_KYLIE] = {
+ .species = SPECIES_LEDYBA,
+ .nickname = _("BALEDY"),
+ .trainerName = _("KYLIE"),
+ .trainerGfxId = EVENT_OBJ_GFX_BEAUTY,
+ .flags = 0x20100FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_BATON_PASS,
+ MOVE_AGILITY,
+ MOVE_SWIFT,
+ MOVE_ATTRACT
+ },
+ .cool = 8,
+ .beauty = 6,
+ .cute = 8,
+ .smart = 6,
+ .tough = 2,
+ .sheen = 90,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_LIAM] = {
+ .species = SPECIES_DELIBIRD,
+ .nickname = _("BIRDLY"),
+ .trainerName = _("LIAM"),
+ .trainerGfxId = EVENT_OBJ_GFX_MAN_5,
+ .flags = 0x8080FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_PRESENT,
+ MOVE_FACADE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_RETURN
+ },
+ .cool = 4,
+ .beauty = 3,
+ .cute = 10,
+ .smart = 5,
+ .tough = 3,
+ .sheen = 80,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_MILO] = {
+ .species = SPECIES_LARVITAR,
+ .nickname = _("TARVITAR"),
+ .trainerName = _("MILO"),
+ .trainerGfxId = EVENT_OBJ_GFX_MANIAC,
+ .flags = 0x40040FFF,
+ .whichRank = CONTEST_RANK_NORMAL,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_THRASH,
+ MOVE_TORMENT,
+ MOVE_CRUNCH,
+ MOVE_DIG
+ },
+ .cool = 8,
+ .beauty = 5,
+ .cute = 5,
+ .smart = 8,
+ .tough = 10,
+ .sheen = 70,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_KARINA] = {
+ .species = SPECIES_ROSELIA,
+ .nickname = _("RELIA"),
+ .trainerName = _("KARINA"),
+ .trainerGfxId = EVENT_OBJ_GFX_PICNICKER,
+ .flags = 0x24000FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_PETAL_DANCE,
+ MOVE_MAGICAL_LEAF,
+ MOVE_GRASS_WHISTLE,
+ MOVE_INGRAIN
+ },
+ .cool = 50,
+ .beauty = 15,
+ .cute = 75,
+ .smart = 10,
+ .tough = 20,
+ .sheen = 100,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_BOBBY] = {
+ .species = SPECIES_DODRIO,
+ .nickname = _("DUODO"),
+ .trainerName = _("BOBBY"),
+ .trainerGfxId = EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M,
+ .flags = 0x82000FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_PECK,
+ MOVE_FURY_ATTACK,
+ MOVE_RETURN,
+ MOVE_GROWL
+ },
+ .cool = 15,
+ .beauty = 21,
+ .cute = 15,
+ .smart = 85,
+ .tough = 35,
+ .sheen = 110,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_CLAIRE] = {
+ .species = SPECIES_TRAPINCH,
+ .nickname = _("PINCHIN"),
+ .trainerName = _("CLAIRE"),
+ .trainerGfxId = EVENT_OBJ_GFX_GIRL_1,
+ .flags = 0x81000FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_BITE,
+ MOVE_SAND_ATTACK,
+ MOVE_DIG,
+ MOVE_FAINT_ATTACK
+ },
+ .cool = 75,
+ .beauty = 25,
+ .cute = 25,
+ .smart = 10,
+ .tough = 25,
+ .sheen = 120,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_WILLIE] = {
+ .species = SPECIES_CACNEA,
+ .nickname = _("NACAC"),
+ .trainerName = _("WILLIE"),
+ .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY,
+ .flags = 0x80800FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_SPIKES,
+ MOVE_LEER,
+ MOVE_POISON_STING,
+ MOVE_SAND_ATTACK
+ },
+ .cool = 10,
+ .beauty = 30,
+ .cute = 25,
+ .smart = 65,
+ .tough = 25,
+ .sheen = 130,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_CASSIDY] = {
+ .species = SPECIES_SANDSLASH,
+ .nickname = _("SHRAND"),
+ .trainerName = _("CASSIDY"),
+ .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F,
+ .flags = 0x10400FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_SLASH,
+ MOVE_DEFENSE_CURL,
+ MOVE_SWIFT,
+ MOVE_FURY_SWIPES
+ },
+ .cool = 30,
+ .beauty = 90,
+ .cute = 30,
+ .smart = 10,
+ .tough = 100,
+ .sheen = 140,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_MORGAN] = {
+ .species = SPECIES_BALTOY,
+ .nickname = _("TOYBAL"),
+ .trainerName = _("MORGAN"),
+ .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT,
+ .flags = 0x8200FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_SELF_DESTRUCT,
+ MOVE_ROCK_TOMB,
+ MOVE_PSYBEAM,
+ MOVE_CONFUSION
+ },
+ .cool = 50,
+ .beauty = 40,
+ .cute = 10,
+ .smart = 35,
+ .tough = 35,
+ .sheen = 150,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_SUMMER] = {
+ .species = SPECIES_MEDICHAM,
+ .nickname = _("CHAMCHAM"),
+ .trainerName = _("SUMMER"),
+ .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4,
+ .flags = 0x10100FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_REVERSAL,
+ MOVE_THUNDER_PUNCH,
+ MOVE_FIRE_PUNCH,
+ MOVE_ICE_PUNCH
+ },
+ .cool = 40,
+ .beauty = 20,
+ .cute = 40,
+ .smart = 40,
+ .tough = 40,
+ .sheen = 100,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_MILES] = {
+ .species = SPECIES_SPINDA,
+ .nickname = _("SPININ"),
+ .trainerName = _("MILES"),
+ .trainerGfxId = EVENT_OBJ_GFX_CAMPER,
+ .flags = 0x80080FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_TEETER_DANCE,
+ MOVE_PSYCH_UP,
+ MOVE_HYPNOSIS,
+ MOVE_UPROAR
+ },
+ .cool = 25,
+ .beauty = 75,
+ .cute = 25,
+ .smart = 10,
+ .tough = 25,
+ .sheen = 110,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_AUDREY] = {
+ .species = SPECIES_SWABLU,
+ .nickname = _("SWABY"),
+ .trainerName = _("AUDREY"),
+ .trainerGfxId = EVENT_OBJ_GFX_LASS,
+ .flags = 0xA0040FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_MIRROR_MOVE,
+ MOVE_PERISH_SONG,
+ MOVE_SAFEGUARD,
+ MOVE_MIST
+ },
+ .cool = 30,
+ .beauty = 30,
+ .cute = 40,
+ .smart = 30,
+ .tough = 25,
+ .sheen = 120,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_AVERY] = {
+ .species = SPECIES_SPOINK,
+ .nickname = _("POINKER"),
+ .trainerName = _("AVERY"),
+ .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M,
+ .flags = 0x80020FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_SPLASH,
+ MOVE_CONFUSE_RAY,
+ MOVE_SNORE,
+ MOVE_REST
+ },
+ .cool = 40,
+ .beauty = 10,
+ .cute = 30,
+ .smart = 40,
+ .tough = 30,
+ .sheen = 130,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_ARIANA] = {
+ .species = SPECIES_KECLEON,
+ .nickname = _("KECON"),
+ .trainerName = _("ARIANA"),
+ .trainerGfxId = EVENT_OBJ_GFX_GIRL_2,
+ .flags = 0x80010FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_THIEF,
+ MOVE_SCREECH,
+ MOVE_ANCIENT_POWER,
+ MOVE_BIND
+ },
+ .cool = 10,
+ .beauty = 10,
+ .cute = 40,
+ .smart = 75,
+ .tough = 35,
+ .sheen = 140,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_ASHTON] = {
+ .species = SPECIES_GOLDEEN,
+ .nickname = _("GOLDEN"),
+ .trainerName = _("ASHTON"),
+ .trainerGfxId = EVENT_OBJ_GFX_MAN_3,
+ .flags = 0x80008FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_HORN_ATTACK,
+ MOVE_FURY_ATTACK,
+ MOVE_HORN_DRILL,
+ MOVE_TAIL_WHIP
+ },
+ .cool = 70,
+ .beauty = 30,
+ .cute = 5,
+ .smart = 30,
+ .tough = 25,
+ .sheen = 150,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_SANDRA] = {
+ .species = SPECIES_BARBOACH,
+ .nickname = _("BOBOACH"),
+ .trainerName = _("SANDRA"),
+ .trainerGfxId = EVENT_OBJ_GFX_TWIN,
+ .flags = 0x80004FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_MUD_SPORT,
+ MOVE_WATER_SPORT,
+ MOVE_EARTHQUAKE,
+ MOVE_FUTURE_SIGHT
+ },
+ .cool = 45,
+ .beauty = 45,
+ .cute = 60,
+ .smart = 25,
+ .tough = 15,
+ .sheen = 100,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_CARSON] = {
+ .species = SPECIES_SKARMORY,
+ .nickname = _("CORPY"),
+ .trainerName = _("CARSON"),
+ .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER,
+ .flags = 0x8002FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_SWIFT,
+ MOVE_DOUBLE_TEAM,
+ MOVE_AGILITY,
+ MOVE_CUT
+ },
+ .cool = 40,
+ .beauty = 30,
+ .cute = 25,
+ .smart = 60,
+ .tough = 20,
+ .sheen = 110,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_KATRINA] = {
+ .species = SPECIES_LOTAD,
+ .nickname = _("TADO"),
+ .trainerName = _("KATRINA"),
+ .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1,
+ .flags = 0x8001FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_ASTONISH,
+ MOVE_GROWL,
+ MOVE_RAIN_DANCE,
+ MOVE_WATER_PULSE
+ },
+ .cool = 15,
+ .beauty = 15,
+ .cute = 30,
+ .smart = 15,
+ .tough = 75,
+ .sheen = 120,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_LUKE] = {
+ .species = SPECIES_SLOWBRO,
+ .nickname = _("BROWLO"),
+ .trainerName = _("LUKE"),
+ .trainerGfxId = EVENT_OBJ_GFX_FAT_MAN,
+ .flags = 0xC000FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_YAWN,
+ MOVE_DISABLE,
+ MOVE_GROWL,
+ MOVE_CONFUSION
+ },
+ .cool = 20,
+ .beauty = 40,
+ .cute = 40,
+ .smart = 30,
+ .tough = 20,
+ .sheen = 100,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_RAUL] = {
+ .species = SPECIES_FARFETCHD,
+ .nickname = _("FETCHIN"),
+ .trainerName = _("RAUL"),
+ .trainerGfxId = EVENT_OBJ_GFX_MAN_5,
+ .flags = 0x82000FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_FACADE,
+ MOVE_FURY_CUTTER,
+ MOVE_FLY,
+ MOVE_RETURN
+ },
+ .cool = 40,
+ .beauty = 10,
+ .cute = 40,
+ .smart = 20,
+ .tough = 20,
+ .sheen = 110,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_JADA] = {
+ .species = SPECIES_SEEL,
+ .nickname = _("SEELEY"),
+ .trainerName = _("JADA"),
+ .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2,
+ .flags = 0x21000FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_ATTRACT,
+ MOVE_ICE_BEAM,
+ MOVE_SAFEGUARD,
+ MOVE_GROWL
+ },
+ .cool = 10,
+ .beauty = 30,
+ .cute = 40,
+ .smart = 20,
+ .tough = 20,
+ .sheen = 120,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_ZEEK] = {
+ .species = SPECIES_DROWZEE,
+ .nickname = _("DROWZIN"),
+ .trainerName = _("ZEEK"),
+ .trainerGfxId = EVENT_OBJ_GFX_PSYCHIC_M,
+ .flags = 0x20800FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_DISABLE,
+ MOVE_FUTURE_SIGHT,
+ MOVE_HIDDEN_POWER,
+ MOVE_RETURN
+ },
+ .cool = 10,
+ .beauty = 40,
+ .cute = 50,
+ .smart = 30,
+ .tough = 45,
+ .sheen = 130,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_DIEGO] = {
+ .species = SPECIES_HITMONCHAN,
+ .nickname = _("HITEMON"),
+ .trainerName = _("DIEGO"),
+ .trainerGfxId = EVENT_OBJ_GFX_EXPERT_M,
+ .flags = 0x80400FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_SKY_UPPERCUT,
+ MOVE_DETECT,
+ MOVE_REVENGE,
+ MOVE_MEGA_PUNCH
+ },
+ .cool = 45,
+ .beauty = 20,
+ .cute = 10,
+ .smart = 20,
+ .tough = 45,
+ .sheen = 140,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_ALIYAH] = {
+ .species = SPECIES_BLISSEY,
+ .nickname = _("BLISS"),
+ .trainerName = _("ALIYAH"),
+ .trainerGfxId = EVENT_OBJ_GFX_TEALA,
+ .flags = 0x10200FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_SING,
+ MOVE_SOFT_BOILED,
+ MOVE_EGG_BOMB,
+ MOVE_DOUBLE_EDGE
+ },
+ .cool = 20,
+ .beauty = 35,
+ .cute = 40,
+ .smart = 20,
+ .tough = 20,
+ .sheen = 150,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_NATALIA] = {
+ .species = SPECIES_ELEKID,
+ .nickname = _("KIDLEK"),
+ .trainerName = _("NATALIA"),
+ .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F,
+ .flags = 0x20100FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_SHOCK_WAVE,
+ MOVE_QUICK_ATTACK,
+ MOVE_SCREECH,
+ MOVE_ATTRACT
+ },
+ .cool = 40,
+ .beauty = 10,
+ .cute = 40,
+ .smart = 25,
+ .tough = 25,
+ .sheen = 140,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_DEVIN] = {
+ .species = SPECIES_SNUBBULL,
+ .nickname = _("SNUBBINS"),
+ .trainerName = _("DEVIN"),
+ .trainerGfxId = EVENT_OBJ_GFX_GENTLEMAN,
+ .flags = 0x8080FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_SCARY_FACE,
+ MOVE_TAUNT,
+ MOVE_TAIL_WHIP,
+ MOVE_BITE
+ },
+ .cool = 20,
+ .beauty = 20,
+ .cute = 20,
+ .smart = 20,
+ .tough = 20,
+ .sheen = 130,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_TYLOR] = {
+ .species = SPECIES_MISDREAVUS,
+ .nickname = _("DREAVIS"),
+ .trainerName = _("TYLOR"),
+ .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC,
+ .flags = 0x40040FFF,
+ .whichRank = CONTEST_RANK_SUPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_PERISH_SONG,
+ MOVE_MEAN_LOOK,
+ MOVE_CONFUSE_RAY,
+ MOVE_PAIN_SPLIT
+ },
+ .cool = 10,
+ .beauty = 35,
+ .cute = 10,
+ .smart = 45,
+ .tough = 20,
+ .sheen = 120,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_RONNIE] = {
+ .species = SPECIES_LAIRON,
+ .nickname = _("LAIRN"),
+ .trainerName = _("RONNIE"),
+ .trainerGfxId = EVENT_OBJ_GFX_HIKER,
+ .flags = 0x84000FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_METAL_SOUND,
+ MOVE_METAL_CLAW,
+ MOVE_HARDEN,
+ MOVE_TAKE_DOWN
+ },
+ .cool = 30,
+ .beauty = 50,
+ .cute = 35,
+ .smart = 100,
+ .tough = 90,
+ .sheen = 200,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_CLAUDIA] = {
+ .species = SPECIES_SHIFTRY,
+ .nickname = _("SHIFTY"),
+ .trainerName = _("CLAUDIA"),
+ .trainerGfxId = EVENT_OBJ_GFX_GIRL_1,
+ .flags = 0x82000FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_GROWTH,
+ MOVE_RAZOR_WIND,
+ MOVE_EXPLOSION,
+ MOVE_EXTRASENSORY
+ },
+ .cool = 75,
+ .beauty = 75,
+ .cute = 65,
+ .smart = 35,
+ .tough = 70,
+ .sheen = 210,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_ELIAS] = {
+ .species = SPECIES_NINJASK,
+ .nickname = _("NINAS"),
+ .trainerName = _("ELIAS"),
+ .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY,
+ .flags = 0x81000FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_SCREECH,
+ MOVE_FURY_SWIPES,
+ MOVE_SAND_ATTACK,
+ MOVE_BATON_PASS
+ },
+ .cool = 30,
+ .beauty = 50,
+ .cute = 95,
+ .smart = 70,
+ .tough = 70,
+ .sheen = 220,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_JADE] = {
+ .species = SPECIES_SWELLOW,
+ .nickname = _("WELOW"),
+ .trainerName = _("JADE"),
+ .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F,
+ .flags = 0x80800FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_AGILITY,
+ MOVE_AERIAL_ACE,
+ MOVE_WING_ATTACK,
+ MOVE_FLY
+ },
+ .cool = 65,
+ .beauty = 85,
+ .cute = 35,
+ .smart = 75,
+ .tough = 40,
+ .sheen = 230,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_FRANCIS] = {
+ .species = SPECIES_MIGHTYENA,
+ .nickname = _("YENA"),
+ .trainerName = _("FRANCIS"),
+ .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT,
+ .flags = 0x80400FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_TAUNT,
+ MOVE_THIEF,
+ MOVE_ODOR_SLEUTH,
+ MOVE_TAKE_DOWN
+ },
+ .cool = 40,
+ .beauty = 80,
+ .cute = 35,
+ .smart = 70,
+ .tough = 70,
+ .sheen = 240,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_ALISHA] = {
+ .species = SPECIES_BEAUTIFLY,
+ .nickname = _("TIFLY"),
+ .trainerName = _("ALISHA"),
+ .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4,
+ .flags = 0x80200FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_MORNING_SUN,
+ MOVE_SILVER_WIND,
+ MOVE_STUN_SPORE,
+ MOVE_SECRET_POWER
+ },
+ .cool = 40,
+ .beauty = 70,
+ .cute = 25,
+ .smart = 80,
+ .tough = 100,
+ .sheen = 250,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_SAUL] = {
+ .species = SPECIES_SEAKING,
+ .nickname = _("KINGSEA"),
+ .trainerName = _("SAUL"),
+ .trainerGfxId = EVENT_OBJ_GFX_CAMPER,
+ .flags = 0x80100FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_FLAIL,
+ MOVE_SUPERSONIC,
+ MOVE_HORN_ATTACK,
+ MOVE_FURY_ATTACK
+ },
+ .cool = 80,
+ .beauty = 60,
+ .cute = 30,
+ .smart = 70,
+ .tough = 90,
+ .sheen = 200,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_FELICIA] = {
+ .species = SPECIES_CASTFORM,
+ .nickname = _("CASTER"),
+ .trainerName = _("FELICIA"),
+ .trainerGfxId = EVENT_OBJ_GFX_LASS,
+ .flags = 0x80080FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_SUNNY_DAY,
+ MOVE_WEATHER_BALL,
+ MOVE_SANDSTORM,
+ MOVE_RETURN
+ },
+ .cool = 70,
+ .beauty = 80,
+ .cute = 80,
+ .smart = 50,
+ .tough = 65,
+ .sheen = 210,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_EMILIO] = {
+ .species = SPECIES_MACHOKE,
+ .nickname = _("CHOKEM"),
+ .trainerName = _("EMILIO"),
+ .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M,
+ .flags = 0x80040FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_SEISMIC_TOSS,
+ MOVE_FOCUS_ENERGY,
+ MOVE_KARATE_CHOP,
+ MOVE_SCARY_FACE
+ },
+ .cool = 70,
+ .beauty = 85,
+ .cute = 25,
+ .smart = 60,
+ .tough = 50,
+ .sheen = 220,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_KARLA] = {
+ .species = SPECIES_LOMBRE,
+ .nickname = _("LOMBE"),
+ .trainerName = _("KARLA"),
+ .trainerGfxId = EVENT_OBJ_GFX_GIRL_2,
+ .flags = 0x80020FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_ATTRACT,
+ MOVE_FLASH,
+ MOVE_UPROAR,
+ MOVE_GROWL
+ },
+ .cool = 40,
+ .beauty = 60,
+ .cute = 90,
+ .smart = 45,
+ .tough = 70,
+ .sheen = 230,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_DARRYL] = {
+ .species = SPECIES_SEVIPER,
+ .nickname = _("VIPES"),
+ .trainerName = _("DARRYL"),
+ .trainerGfxId = EVENT_OBJ_GFX_MAN_3,
+ .flags = 0x80010FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_POISON_FANG,
+ MOVE_GLARE,
+ MOVE_WRAP,
+ MOVE_SCREECH
+ },
+ .cool = 35,
+ .beauty = 50,
+ .cute = 90,
+ .smart = 40,
+ .tough = 100,
+ .sheen = 240,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_SELENA] = {
+ .species = SPECIES_WAILMER,
+ .nickname = _("MERAIL"),
+ .trainerName = _("SELENA"),
+ .trainerGfxId = EVENT_OBJ_GFX_EXPERT_F,
+ .flags = 0x80008FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_WATER_PULSE,
+ MOVE_REST,
+ MOVE_WATER_SPOUT,
+ MOVE_SPLASH
+ },
+ .cool = 30,
+ .beauty = 100,
+ .cute = 100,
+ .smart = 50,
+ .tough = 30,
+ .sheen = 250,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_NOEL] = {
+ .species = SPECIES_MAGIKARP,
+ .nickname = _("KARPAG"),
+ .trainerName = _("NOEL"),
+ .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER,
+ .flags = 0x80004FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_TACKLE,
+ MOVE_SPLASH,
+ MOVE_FLAIL,
+ MOVE_TACKLE
+ },
+ .cool = 30,
+ .beauty = 30,
+ .cute = 160,
+ .smart = 50,
+ .tough = 160,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_LACEY] = {
+ .species = SPECIES_LUNATONE,
+ .nickname = _("LUNONE"),
+ .trainerName = _("LACEY"),
+ .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1,
+ .flags = 0x80002FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_EXPLOSION,
+ MOVE_FUTURE_SIGHT,
+ MOVE_PSYCHIC,
+ MOVE_CONFUSION
+ },
+ .cool = 50,
+ .beauty = 70,
+ .cute = 60,
+ .smart = 70,
+ .tough = 50,
+ .sheen = 210,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_CORBIN] = {
+ .species = SPECIES_ABSOL,
+ .nickname = _("ABSO"),
+ .trainerName = _("CORBIN"),
+ .trainerGfxId = EVENT_OBJ_GFX_MANIAC,
+ .flags = 0x80001FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_PERISH_SONG,
+ MOVE_HAIL,
+ MOVE_HYPER_BEAM,
+ MOVE_SLASH
+ },
+ .cool = 95,
+ .beauty = 80,
+ .cute = 85,
+ .smart = 35,
+ .tough = 35,
+ .sheen = 220,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_GRACIE] = {
+ .species = SPECIES_EXEGGUTOR,
+ .nickname = _("EGGSOR"),
+ .trainerName = _("GRACIE"),
+ .trainerGfxId = EVENT_OBJ_GFX_PICNICKER,
+ .flags = 0xC000FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_STOMP,
+ MOVE_HYPNOSIS,
+ MOVE_EGG_BOMB,
+ MOVE_SKILL_SWAP
+ },
+ .cool = 40,
+ .beauty = 50,
+ .cute = 60,
+ .smart = 100,
+ .tough = 80,
+ .sheen = 200,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_COLTIN] = {
+ .species = SPECIES_CUBONE,
+ .nickname = _("CUBIN"),
+ .trainerName = _("COLTIN"),
+ .trainerGfxId = EVENT_OBJ_GFX_MAN_4,
+ .flags = 0x82000FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_BONE_CLUB,
+ MOVE_BONEMERANG,
+ MOVE_BONE_RUSH,
+ MOVE_GROWL
+ },
+ .cool = 40,
+ .beauty = 35,
+ .cute = 85,
+ .smart = 35,
+ .tough = 100,
+ .sheen = 210,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_ELLIE] = {
+ .species = SPECIES_HITMONLEE,
+ .nickname = _("HITMON"),
+ .trainerName = _("ELLIE"),
+ .trainerGfxId = EVENT_OBJ_GFX_EXPERT_F,
+ .flags = 0x21000FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_REVERSAL,
+ MOVE_REVENGE,
+ MOVE_FOCUS_ENERGY,
+ MOVE_MEGA_KICK
+ },
+ .cool = 85,
+ .beauty = 30,
+ .cute = 25,
+ .smart = 50,
+ .tough = 100,
+ .sheen = 220,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_MARCUS] = {
+ .species = SPECIES_SQUIRTLE,
+ .nickname = _("SURTLE"),
+ .trainerName = _("MARCUS"),
+ .trainerGfxId = EVENT_OBJ_GFX_SAILOR,
+ .flags = 0x20800FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_TAIL_WHIP,
+ MOVE_BUBBLE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_WITHDRAW
+ },
+ .cool = 30,
+ .beauty = 35,
+ .cute = 100,
+ .smart = 40,
+ .tough = 95,
+ .sheen = 230,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_KIARA] = {
+ .species = SPECIES_KANGASKHAN,
+ .nickname = _("KHANKAN"),
+ .trainerName = _("KIARA"),
+ .trainerGfxId = EVENT_OBJ_GFX_GIRL_3,
+ .flags = 0x80400FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_MEGA_PUNCH,
+ MOVE_RAGE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_TAIL_WHIP
+ },
+ .cool = 100,
+ .beauty = 50,
+ .cute = 30,
+ .smart = 50,
+ .tough = 100,
+ .sheen = 240,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_BRYCE] = {
+ .species = SPECIES_PINECO,
+ .nickname = _("PINOC"),
+ .trainerName = _("BRYCE"),
+ .trainerGfxId = EVENT_OBJ_GFX_BUG_CATCHER,
+ .flags = 0x10200FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_EXPLOSION,
+ MOVE_SPIKES,
+ MOVE_LIGHT_SCREEN,
+ MOVE_GIGA_DRAIN
+ },
+ .cool = 80,
+ .beauty = 80,
+ .cute = 80,
+ .smart = 80,
+ .tough = 80,
+ .sheen = 250,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_JAMIE] = {
+ .species = SPECIES_DUNSPARCE,
+ .nickname = _("DILTOT"),
+ .trainerName = _("JAMIE"),
+ .trainerGfxId = EVENT_OBJ_GFX_WOMAN_5,
+ .flags = 0x20100FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_SPITE,
+ MOVE_YAWN,
+ MOVE_DEFENSE_CURL,
+ MOVE_TAKE_DOWN
+ },
+ .cool = 40,
+ .beauty = 35,
+ .cute = 100,
+ .smart = 40,
+ .tough = 110,
+ .sheen = 240,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_JORGE] = {
+ .species = SPECIES_HOUNDOOM,
+ .nickname = _("DOOMOND"),
+ .trainerName = _("JORGE"),
+ .trainerGfxId = EVENT_OBJ_GFX_GENTLEMAN,
+ .flags = 0x8080FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_ROAR,
+ MOVE_FLAMETHROWER,
+ MOVE_FAINT_ATTACK,
+ MOVE_SUNNY_DAY
+ },
+ .cool = 100,
+ .beauty = 100,
+ .cute = 30,
+ .smart = 25,
+ .tough = 80,
+ .sheen = 230,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_DEVON] = {
+ .species = SPECIES_MILTANK,
+ .nickname = _("MILKAN"),
+ .trainerName = _("DEVON"),
+ .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_M,
+ .flags = 0x40040FFF,
+ .whichRank = CONTEST_RANK_HYPER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_MILK_DRINK,
+ MOVE_HEAL_BELL,
+ MOVE_DEFENSE_CURL,
+ MOVE_BLIZZARD
+ },
+ .cool = 50,
+ .beauty = 110,
+ .cute = 100,
+ .smart = 35,
+ .tough = 40,
+ .sheen = 220,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_JUSTINA] = {
+ .species = SPECIES_GYARADOS,
+ .nickname = _("RADOS"),
+ .trainerName = _("JUSTINA"),
+ .trainerGfxId = EVENT_OBJ_GFX_PICNICKER,
+ .flags = 0x84000FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_HYPER_BEAM,
+ MOVE_HYDRO_PUMP,
+ MOVE_RAIN_DANCE,
+ MOVE_BITE
+ },
+ .cool = 160,
+ .beauty = 200,
+ .cute = 20,
+ .smart = 40,
+ .tough = 160,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_RALPH] = {
+ .species = SPECIES_LOUDRED,
+ .nickname = _("LOUDERD"),
+ .trainerName = _("RALPH"),
+ .trainerGfxId = EVENT_OBJ_GFX_EXPERT_M,
+ .flags = 0x82000FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_HYPER_VOICE,
+ MOVE_STOMP,
+ MOVE_ROAR,
+ MOVE_HOWL
+ },
+ .cool = 170,
+ .beauty = 50,
+ .cute = 55,
+ .smart = 150,
+ .tough = 160,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_ROSA] = {
+ .species = SPECIES_SKITTY,
+ .nickname = _("SITTY"),
+ .trainerName = _("ROSA"),
+ .trainerGfxId = EVENT_OBJ_GFX_GIRL_1,
+ .flags = 0x81000FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_ATTRACT,
+ MOVE_ASSIST,
+ MOVE_FAINT_ATTACK,
+ MOVE_TAIL_WHIP
+ },
+ .cool = 40,
+ .beauty = 200,
+ .cute = 150,
+ .smart = 185,
+ .tough = 60,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_KEATON] = {
+ .species = SPECIES_SLAKING,
+ .nickname = _("SLING"),
+ .trainerName = _("KEATON"),
+ .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY,
+ .flags = 0x80800FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_COVET,
+ MOVE_COUNTER,
+ MOVE_ENCORE,
+ MOVE_SLACK_OFF
+ },
+ .cool = 85,
+ .beauty = 85,
+ .cute = 170,
+ .smart = 110,
+ .tough = 150,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_MAYRA] = {
+ .species = SPECIES_ALTARIA,
+ .nickname = _("TARIA"),
+ .trainerName = _("MAYRA"),
+ .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F,
+ .flags = 0x80400FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_DRAGON_DANCE,
+ MOVE_HYPER_BEAM,
+ MOVE_PERISH_SONG,
+ MOVE_SAFEGUARD
+ },
+ .cool = 170,
+ .beauty = 150,
+ .cute = 30,
+ .smart = 30,
+ .tough = 90,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_LAMAR] = {
+ .species = SPECIES_KIRLIA,
+ .nickname = _("LIRKI"),
+ .trainerName = _("LAMAR"),
+ .trainerGfxId = EVENT_OBJ_GFX_RICH_BOY,
+ .flags = 0x80200FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_SHOCK_WAVE,
+ MOVE_SHADOW_BALL,
+ MOVE_SKILL_SWAP,
+ MOVE_RETURN
+ },
+ .cool = 230,
+ .beauty = 60,
+ .cute = 60,
+ .smart = 230,
+ .tough = 80,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_AUBREY] = {
+ .species = SPECIES_BELLOSSOM,
+ .nickname = _("BLOSSOM"),
+ .trainerName = _("AUBREY"),
+ .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4,
+ .flags = 0x80100FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_PETAL_DANCE,
+ MOVE_SWEET_SCENT,
+ MOVE_STUN_SPORE,
+ MOVE_FLASH
+ },
+ .cool = 35,
+ .beauty = 200,
+ .cute = 150,
+ .smart = 130,
+ .tough = 40,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_NIGEL] = {
+ .species = SPECIES_SABLEYE,
+ .nickname = _("EYESAB"),
+ .trainerName = _("NIGEL"),
+ .trainerGfxId = EVENT_OBJ_GFX_CAMPER,
+ .flags = 0x80080FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_MEAN_LOOK,
+ MOVE_FAINT_ATTACK,
+ MOVE_KNOCK_OFF,
+ MOVE_CONFUSE_RAY
+ },
+ .cool = 25,
+ .beauty = 35,
+ .cute = 230,
+ .smart = 150,
+ .tough = 160,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_CAMILLE] = {
+ .species = SPECIES_NATU,
+ .nickname = _("UTAN"),
+ .trainerName = _("CAMILLE"),
+ .trainerGfxId = EVENT_OBJ_GFX_LASS,
+ .flags = 0x80040FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_NIGHT_SHADE,
+ MOVE_FUTURE_SIGHT,
+ MOVE_CONFUSE_RAY,
+ MOVE_PSYCHIC
+ },
+ .cool = 35,
+ .beauty = 35,
+ .cute = 150,
+ .smart = 130,
+ .tough = 170,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_DEON] = {
+ .species = SPECIES_SHARPEDO,
+ .nickname = _("PEDOS"),
+ .trainerName = _("DEON"),
+ .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M,
+ .flags = 0x80020FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_AGILITY,
+ MOVE_SWAGGER,
+ MOVE_TAUNT,
+ MOVE_TAKE_DOWN
+ },
+ .cool = 140,
+ .beauty = 70,
+ .cute = 140,
+ .smart = 75,
+ .tough = 100,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_JANELLE] = {
+ .species = SPECIES_LUVDISC,
+ .nickname = _("LUVIS"),
+ .trainerName = _("JANELLE"),
+ .trainerGfxId = EVENT_OBJ_GFX_GIRL_2,
+ .flags = 0x80010FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_SWEET_KISS,
+ MOVE_ATTRACT,
+ MOVE_TAKE_DOWN,
+ MOVE_CHARM
+ },
+ .cool = 50,
+ .beauty = 100,
+ .cute = 220,
+ .smart = 40,
+ .tough = 190,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_HEATH] = {
+ .species = SPECIES_HERACROSS,
+ .nickname = _("HEROSS"),
+ .trainerName = _("HEATH"),
+ .trainerGfxId = EVENT_OBJ_GFX_MAN_3,
+ .flags = 0x80008FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_STRENGTH,
+ MOVE_ENDURE,
+ MOVE_REVERSAL,
+ MOVE_ROCK_TOMB
+ },
+ .cool = 170,
+ .beauty = 70,
+ .cute = 110,
+ .smart = 240,
+ .tough = 140,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_SASHA] = {
+ .species = SPECIES_ELECTRODE,
+ .nickname = _("RODLECT"),
+ .trainerName = _("SASHA"),
+ .trainerGfxId = EVENT_OBJ_GFX_TWIN,
+ .flags = 0x80004FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_EXPLOSION,
+ MOVE_LIGHT_SCREEN,
+ MOVE_SWIFT,
+ MOVE_FLASH
+ },
+ .cool = 200,
+ .beauty = 200,
+ .cute = 30,
+ .smart = 35,
+ .tough = 50,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_FRANKIE] = {
+ .species = SPECIES_PICHU,
+ .nickname = _("CHUPY"),
+ .trainerName = _("FRANKIE"),
+ .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER,
+ .flags = 0x80002FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_SWEET_KISS,
+ MOVE_ATTRACT,
+ MOVE_REST,
+ MOVE_TAIL_WHIP
+ },
+ .cool = 25,
+ .beauty = 150,
+ .cute = 180,
+ .smart = 115,
+ .tough = 120,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_HELEN] = {
+ .species = SPECIES_WOBBUFFET,
+ .nickname = _("WOBET"),
+ .trainerName = _("HELEN"),
+ .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1,
+ .flags = 0x80001FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_COUNTER,
+ MOVE_MIRROR_COAT,
+ MOVE_SAFEGUARD,
+ MOVE_DESTINY_BOND
+ },
+ .cool = 60,
+ .beauty = 230,
+ .cute = 50,
+ .smart = 220,
+ .tough = 210,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_CAMILE] = {
+ .species = SPECIES_GENGAR,
+ .nickname = _("GAREN"),
+ .trainerName = _("CAMILE"),
+ .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC,
+ .flags = 0xC000FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_DESTINY_BOND,
+ MOVE_CONFUSE_RAY,
+ MOVE_LICK,
+ MOVE_SLUDGE_BOMB
+ },
+ .cool = 200,
+ .beauty = 100,
+ .cute = 50,
+ .smart = 80,
+ .tough = 180,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_MARTIN] = {
+ .species = SPECIES_PORYGON,
+ .nickname = _("GONPOR"),
+ .trainerName = _("MARTIN"),
+ .trainerGfxId = EVENT_OBJ_GFX_SCIENTIST_1,
+ .flags = 0x82000FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_CONVERSION_2,
+ MOVE_CONVERSION,
+ MOVE_RETURN,
+ MOVE_RECYCLE
+ },
+ .cool = 130,
+ .beauty = 130,
+ .cute = 130,
+ .smart = 130,
+ .tough = 130,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_SERGIO] = {
+ .species = SPECIES_DRAGONITE,
+ .nickname = _("DRITE"),
+ .trainerName = _("SERGIO"),
+ .trainerGfxId = EVENT_OBJ_GFX_BOY_1,
+ .flags = 0x21000FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_OUTRAGE,
+ MOVE_SLAM,
+ MOVE_TWISTER,
+ MOVE_EARTHQUAKE
+ },
+ .cool = 150,
+ .beauty = 140,
+ .cute = 50,
+ .smart = 120,
+ .tough = 150,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_KAILEY] = {
+ .species = SPECIES_MEOWTH,
+ .nickname = _("MEOWY"),
+ .trainerName = _("KAILEY"),
+ .trainerGfxId = EVENT_OBJ_GFX_TWIN,
+ .flags = 0x20800FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_GROWL,
+ MOVE_TAUNT,
+ MOVE_PAY_DAY,
+ MOVE_BITE
+ },
+ .cool = 125,
+ .beauty = 110,
+ .cute = 180,
+ .smart = 170,
+ .tough = 80,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_PERLA] = {
+ .species = SPECIES_JYNX,
+ .nickname = _("NYX"),
+ .trainerName = _("PERLA"),
+ .trainerGfxId = EVENT_OBJ_GFX_BEAUTY,
+ .flags = 0x80400FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = TRUE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_PERISH_SONG,
+ MOVE_MEAN_LOOK,
+ MOVE_LOVELY_KISS,
+ MOVE_FAKE_TEARS
+ },
+ .cool = 100,
+ .beauty = 150,
+ .cute = 100,
+ .smart = 150,
+ .tough = 120,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_CLARA] = {
+ .species = SPECIES_TOGEPI,
+ .nickname = _("GEPITO"),
+ .trainerName = _("CLARA"),
+ .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2,
+ .flags = 0x10200FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_GROWL,
+ MOVE_YAWN,
+ MOVE_ENCORE,
+ MOVE_FOLLOW_ME
+ },
+ .cool = 80,
+ .beauty = 120,
+ .cute = 200,
+ .smart = 120,
+ .tough = 80,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_JAKOB] = {
+ .species = SPECIES_ESPEON,
+ .nickname = _("SPEON"),
+ .trainerName = _("JAKOB"),
+ .trainerGfxId = EVENT_OBJ_GFX_PSYCHIC_M,
+ .flags = 0x20100FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = TRUE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = FALSE,
+ .moves =
+ {
+ MOVE_SWIFT,
+ MOVE_QUICK_ATTACK,
+ MOVE_MORNING_SUN,
+ MOVE_TAIL_WHIP
+ },
+ .cool = 180,
+ .beauty = 150,
+ .cute = 100,
+ .smart = 80,
+ .tough = 150,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_TREY] = {
+ .species = SPECIES_SLOWKING,
+ .nickname = _("SLOWGO"),
+ .trainerName = _("TREY"),
+ .trainerGfxId = EVENT_OBJ_GFX_SAILOR,
+ .flags = 0x8080FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = FALSE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = TRUE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_FACADE,
+ MOVE_CURSE,
+ MOVE_YAWN,
+ MOVE_FOCUS_PUNCH
+ },
+ .cool = 100,
+ .beauty = 80,
+ .cute = 200,
+ .smart = 110,
+ .tough = 170,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ },
+ [CONTEST_OPPONENT_LANE] = {
+ .species = SPECIES_URSARING,
+ .nickname = _("URSING"),
+ .trainerName = _("LANE"),
+ .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT,
+ .flags = 0x40040FFF,
+ .whichRank = CONTEST_RANK_MASTER,
+ .aiPool_Cool = TRUE,
+ .aiPool_Beauty = FALSE,
+ .aiPool_Cute = FALSE,
+ .aiPool_Smart = FALSE,
+ .aiPool_Tough = TRUE,
+ .moves =
+ {
+ MOVE_THRASH,
+ MOVE_AERIAL_ACE,
+ MOVE_FAKE_TEARS,
+ MOVE_LEER
+ },
+ .cool = 180,
+ .beauty = 140,
+ .cute = 30,
+ .smart = 80,
+ .tough = 190,
+ .sheen = 255,
+ .unk2C = {0},
+ .personality = 0,
+ .otId = 0xFFFF
+ }
+};
+
+
+const u8 gPostgameContestOpponentFilter[] =
+{
+ [CONTEST_OPPONENT_JIMMY] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_EDITH] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_EVAN] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_KELSEY] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_MADISON] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_RAYMOND] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_GRANT] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_PAIGE] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_ALEC] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_SYDNEY] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_MORRIS] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_MARIAH] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_RUSSELL] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_MELANIE] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_CHANCE] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_AGATHA] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_BEAU] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_KAY] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_CALE] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_CAITLIN] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_COLBY] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_KYLIE] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_LIAM] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_MILO] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_KARINA] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_BOBBY] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_CLAIRE] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_WILLIE] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_CASSIDY] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_MORGAN] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_SUMMER] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_MILES] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_AUDREY] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_AVERY] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_ARIANA] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_ASHTON] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_SANDRA] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_CARSON] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_KATRINA] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_LUKE] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_RAUL] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_JADA] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_ZEEK] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_DIEGO] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_ALIYAH] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_NATALIA] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_DEVIN] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_TYLOR] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_RONNIE] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_CLAUDIA] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_ELIAS] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_JADE] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_FRANCIS] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_ALISHA] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_SAUL] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_FELICIA] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_EMILIO] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_KARLA] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_DARRYL] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_SELENA] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_NOEL] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_LACEY] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_CORBIN] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_GRACIE] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_COLTIN] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_ELLIE] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_MARCUS] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_KIARA] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_BRYCE] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_JAMIE] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_JORGE] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_DEVON] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_JUSTINA] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_RALPH] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_ROSA] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_KEATON] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_MAYRA] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_LAMAR] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_AUBREY] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_NIGEL] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_CAMILLE] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_DEON] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_JANELLE] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_HEATH] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_SASHA] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_FRANKIE] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_HELEN] = CONTEST_FILTER_NONE,
+ [CONTEST_OPPONENT_CAMILE] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_MARTIN] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_SERGIO] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_KAILEY] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_PERLA] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_CLARA] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_JAKOB] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_TREY] = CONTEST_FILTER_ONLY_POSTGAME,
+ [CONTEST_OPPONENT_LANE] = CONTEST_FILTER_ONLY_POSTGAME
+};
diff --git a/src/data/contest_text_tables.h b/src/data/contest_text_tables.h
new file mode 100644
index 000000000..8375520d1
--- /dev/null
+++ b/src/data/contest_text_tables.h
@@ -0,0 +1,414 @@
+
+#include "global.h"
+
+extern const u8 gContestEffect00hDescription[];
+extern const u8 gContestEffect01hDescription[];
+extern const u8 gContestEffect02hDescription[];
+extern const u8 gContestEffect03hDescription[];
+extern const u8 gContestEffect04hDescription[];
+extern const u8 gContestEffect05hDescription[];
+extern const u8 gContestEffect06hDescription[];
+extern const u8 gContestEffect07hDescription[];
+extern const u8 gContestEffect08hDescription[];
+extern const u8 gContestEffect09hDescription[];
+extern const u8 gContestEffect0AhDescription[];
+extern const u8 gContestEffect0BhDescription[];
+extern const u8 gContestEffect0ChDescription[];
+extern const u8 gContestEffect0DhDescription[];
+extern const u8 gContestEffect0EhDescription[];
+extern const u8 gContestEffect0FhDescription[];
+extern const u8 gContestEffect10hDescription[];
+extern const u8 gContestEffect11hDescription[];
+extern const u8 gContestEffect12hDescription[];
+extern const u8 gContestEffect13hDescription[];
+extern const u8 gContestEffect14hDescription[];
+extern const u8 gContestEffect15hDescription[];
+extern const u8 gContestEffect16hDescription[];
+extern const u8 gContestEffect17hDescription[];
+extern const u8 gContestEffect18hDescription[];
+extern const u8 gContestEffect19hDescription[];
+extern const u8 gContestEffect1AhDescription[];
+extern const u8 gContestEffect1BhDescription[];
+extern const u8 gContestEffect1ChDescription[];
+extern const u8 gContestEffect1DhDescription[];
+extern const u8 gContestEffect1EhDescription[];
+extern const u8 gContestEffect1FhDescription[];
+extern const u8 gContestEffect20hDescription[];
+extern const u8 gContestEffect21hDescription[];
+extern const u8 gContestEffect22hDescription[];
+extern const u8 gContestEffect23hDescription[];
+extern const u8 gContestEffect24hDescription[];
+extern const u8 gContestEffect25hDescription[];
+extern const u8 gContestEffect26hDescription[];
+extern const u8 gContestEffect27hDescription[];
+extern const u8 gContestEffect28hDescription[];
+extern const u8 gContestEffect29hDescription[];
+extern const u8 gContestEffect2AhDescription[];
+extern const u8 gContestEffect2BhDescription[];
+extern const u8 gContestEffect2ChDescription[];
+extern const u8 gContestEffect2DhDescription[];
+extern const u8 gContestEffect2EhDescription[];
+extern const u8 gContestEffect2FhDescription[];
+
+extern const u8 gUnusedContestMoveName0[];
+extern const u8 gUnusedContestMoveName1[];
+extern const u8 gUnusedContestMoveName2[];
+extern const u8 gUnusedContestMoveName3[];
+extern const u8 gUnusedContestMoveName4[];
+extern const u8 gUnusedContestMoveName5[];
+extern const u8 gUnusedContestMoveName6[];
+extern const u8 gUnusedContestMoveName7[];
+extern const u8 gUnusedContestMoveName8[];
+extern const u8 gUnusedContestMoveName9[];
+extern const u8 gUnusedContestMoveName10[];
+extern const u8 gUnusedContestMoveName11[];
+extern const u8 gUnusedContestMoveName12[];
+
+extern const u8 gContestMoveTypeCoolText[];
+extern const u8 gContestMoveTypeBeautyText[];
+extern const u8 gContestMoveTypeCuteText[];
+extern const u8 gContestMoveTypeSmartText[];
+extern const u8 gContestMoveTypeToughText[];
+
+extern const u8 gText_0827D5C1[];
+extern const u8 gText_0827D5DC[];
+extern const u8 gText_0827D600[];
+extern const u8 gText_0827D612[];
+extern const u8 gText_0827D612[];
+extern const u8 gText_0827D62D[];
+extern const u8 gText_0827D654[];
+extern const u8 gText_0827D67E[];
+extern const u8 gText_0827D69C[];
+extern const u8 gText_0827D6BA[];
+extern const u8 gText_0827D6E5[];
+extern const u8 gText_0827D706[];
+extern const u8 gText_0827D71D[];
+
+extern const u8 gText_0827D743[];
+extern const u8 gText_0827D764[];
+extern const u8 gText_0827D785[];
+extern const u8 gText_0827D7A5[];
+extern const u8 gText_0827D7C8[];
+extern const u8 gText_0827D7E8[];
+extern const u8 gText_0827D831[];
+extern const u8 gText_0827D855[];
+extern const u8 gText_0827D830[];
+extern const u8 gText_0827D872[];
+extern const u8 gText_0827D88F[];
+extern const u8 gText_0827D8B5[];
+extern const u8 gText_0827D8E4[];
+extern const u8 gText_0827D8FE[];
+extern const u8 gText_0827D926[];
+extern const u8 gText_0827D947[];
+extern const u8 gText_0827D961[];
+extern const u8 gText_0827D986[];
+extern const u8 gText_0827D9B1[];
+extern const u8 gText_0827D9D9[];
+extern const u8 gText_0827DA03[];
+extern const u8 gText_0827DA31[];
+extern const u8 gText_0827DA5B[];
+extern const u8 gText_0827DA85[];
+extern const u8 gText_0827DAB2[];
+extern const u8 gText_0827DADA[];
+extern const u8 gText_0827DB03[];
+extern const u8 gText_0827D830[];
+extern const u8 gText_0827D830[];
+extern const u8 gText_0827D830[];
+extern const u8 gText_0827DB1F[];
+extern const u8 gText_0827DB4E[];
+
+extern const u8 gText_827DB75[];
+extern const u8 gText_827DBB0[];
+extern const u8 gText_827DBE0[];
+extern const u8 gText_827DC0F[];
+extern const u8 gText_827DC45[];
+extern const u8 gText_827DC7C[];
+extern const u8 gText_827DCB4[];
+extern const u8 gText_827DCE7[];
+extern const u8 gText_827DD12[];
+extern const u8 gText_827DD3D[];
+extern const u8 gText_827DD6F[];
+extern const u8 gText_827DD8E[];
+extern const u8 gText_827DDC7[];
+extern const u8 gText_827DDF2[];
+extern const u8 gText_827DE14[];
+extern const u8 gText_827DE44[];
+extern const u8 gText_827DE73[];
+extern const u8 gText_827DEA5[];
+extern const u8 gText_827DED9[];
+extern const u8 gText_827DF02[];
+extern const u8 gText_827DF3A[];
+extern const u8 gText_827DF63[];
+extern const u8 gText_827DF8C[];
+extern const u8 gText_827DFB8[];
+extern const u8 gText_827DFE2[];
+extern const u8 gText_827E00C[];
+extern const u8 gText_827E02F[];
+extern const u8 gText_827E05F[];
+extern const u8 gText_827E08B[];
+extern const u8 gText_827E0B5[];
+extern const u8 gText_827E0DD[];
+extern const u8 gText_827E107[];
+extern const u8 gText_827E143[];
+extern const u8 gText_827E17F[];
+extern const u8 gText_827E1BB[];
+extern const u8 gText_827E1F3[];
+extern const u8 gText_827E220[];
+extern const u8 gText_827E254[];
+extern const u8 gText_827E289[];
+extern const u8 gText_827E2C5[];
+extern const u8 gText_0827E2FE[];
+extern const u8 gText_0827E32E[];
+extern const u8 gText_0827E35B[];
+extern const u8 gText_0827E38D[];
+extern const u8 gText_0827E3C1[];
+extern const u8 gText_0827E3EB[];
+extern const u8 gText_0827E416[];
+extern const u8 gText_0827E448[];
+extern const u8 gText_0827E473[];
+extern const u8 gText_0827E4A6[];
+extern const u8 gText_0827E4D5[];
+extern const u8 gText_0827E504[];
+extern const u8 gText_0827E531[];
+extern const u8 gText_0827E55A[];
+extern const u8 gText_0827E5B2[];
+extern const u8 gText_0827E5D0[];
+extern const u8 gText_0827E606[];
+extern const u8 gText_0827E638[];
+extern const u8 gText_0827E658[];
+extern const u8 gText_0827E68B[];
+extern const u8 gText_0827E6C4[];
+extern const u8 gText_0827E7BA[];
+
+extern const u8 gText_0827E85F[];
+extern const u8 gText_0827E868[];
+extern const u8 gText_0827E86F[];
+extern const u8 gText_0827E878[];
+extern const u8 gText_0827E882[];
+
+extern const u8 gText_0827E894[];
+extern const u8 gText_0827E89E[];
+extern const u8 gText_0827E8AA[];
+extern const u8 gText_0827E8B4[];
+extern const u8 gText_0827E8BF[];
+extern const u8 gText_0827E8CA[];
+
+const u8 *const gContestEffectDescriptionPointers[] =
+{
+ gContestEffect00hDescription,
+ gContestEffect01hDescription,
+ gContestEffect02hDescription,
+ gContestEffect03hDescription,
+ gContestEffect04hDescription,
+ gContestEffect05hDescription,
+ gContestEffect06hDescription,
+ gContestEffect07hDescription,
+ gContestEffect08hDescription,
+ gContestEffect09hDescription,
+ gContestEffect0AhDescription,
+ gContestEffect0BhDescription,
+ gContestEffect0ChDescription,
+ gContestEffect0DhDescription,
+ gContestEffect0EhDescription,
+ gContestEffect0FhDescription,
+ gContestEffect10hDescription,
+ gContestEffect11hDescription,
+ gContestEffect12hDescription,
+ gContestEffect13hDescription,
+ gContestEffect14hDescription,
+ gContestEffect15hDescription,
+ gContestEffect16hDescription,
+ gContestEffect17hDescription,
+ gContestEffect18hDescription,
+ gContestEffect19hDescription,
+ gContestEffect1AhDescription,
+ gContestEffect1BhDescription,
+ gContestEffect1ChDescription,
+ gContestEffect1DhDescription,
+ gContestEffect1EhDescription,
+ gContestEffect1FhDescription,
+ gContestEffect20hDescription,
+ gContestEffect21hDescription,
+ gContestEffect22hDescription,
+ gContestEffect23hDescription,
+ gContestEffect24hDescription,
+ gContestEffect25hDescription,
+ gContestEffect26hDescription,
+ gContestEffect27hDescription,
+ gContestEffect28hDescription,
+ gContestEffect29hDescription,
+ gContestEffect2AhDescription,
+ gContestEffect2BhDescription,
+ gContestEffect2ChDescription,
+ gContestEffect2DhDescription,
+ gContestEffect2EhDescription,
+ gContestEffect2FhDescription
+};
+
+// Unreferenced array of pointers to move names.
+// All of the moves except Conversion are combo starters, so this may have
+// been an early list of combo starters.
+const u8 *const gUnknown_8587D10[] =
+{
+ gUnusedContestMoveName0,
+ gUnusedContestMoveName0,
+ gUnusedContestMoveName1,
+ gUnusedContestMoveName2,
+ gUnusedContestMoveName3,
+ gUnusedContestMoveName4,
+ gUnusedContestMoveName5,
+ gUnusedContestMoveName6,
+ gUnusedContestMoveName7,
+ gUnusedContestMoveName8,
+ gUnusedContestMoveName9,
+ gUnusedContestMoveName10,
+ gUnusedContestMoveName11,
+ gUnusedContestMoveName12
+};
+
+const u8 *const gContestMoveTypeTextPointers[] =
+{
+ gContestMoveTypeCoolText,
+ gContestMoveTypeBeautyText,
+ gContestMoveTypeCuteText,
+ gContestMoveTypeSmartText,
+ gContestMoveTypeToughText
+};
+
+const u8 *const gUnknown_08587D5C[] =
+{
+ gText_0827D5C1,
+ gText_0827D5DC,
+ gText_0827D600,
+ gText_0827D612,
+ gText_0827D612,
+ gText_0827D62D,
+ gText_0827D654,
+ gText_0827D67E,
+ gText_0827D69C,
+ gText_0827D6BA,
+ gText_0827D6E5,
+ gText_0827D706,
+ gText_0827D71D
+};
+
+const u8 *const gUnknown_08587D90[] =
+{
+ gText_0827D743,
+ gText_0827D764,
+ gText_0827D785,
+ gText_0827D7A5,
+ gText_0827D7C8,
+ gText_0827D7E8,
+ gText_0827D831,
+ gText_0827D855,
+ gText_0827D830,
+ gText_0827D872,
+ gText_0827D88F,
+ gText_0827D8B5,
+ gText_0827D8E4,
+ gText_0827D8FE,
+ gText_0827D926,
+ gText_0827D947,
+ gText_0827D961,
+ gText_0827D986,
+ gText_0827D9B1,
+ gText_0827D9D9,
+ gText_0827DA03,
+ gText_0827DA31,
+ gText_0827DA5B,
+ gText_0827DA85,
+ gText_0827DAB2,
+ gText_0827DADA,
+ gText_0827DB03,
+ gText_0827D830,
+ gText_0827D830,
+ gText_0827D830,
+ gText_0827DB1F,
+ gText_0827DB4E
+};
+
+const u8 *const gUnknown_08587E10[] =
+{
+ gText_827DB75,
+ gText_827DBB0,
+ gText_827DBE0,
+ gText_827DC0F,
+ gText_827DC45,
+ gText_827DC7C,
+ gText_827DCB4,
+ gText_827DCE7,
+ gText_827DD12,
+ gText_827DD3D,
+ gText_827DD6F,
+ gText_827DD8E,
+ gText_827DDC7,
+ gText_827DDF2,
+ gText_827DE14,
+ gText_827DE44,
+ gText_827DE73,
+ gText_827DEA5,
+ gText_827DED9,
+ gText_827DF02,
+ gText_827DF3A,
+ gText_827DF63,
+ gText_827DF8C,
+ gText_827DFB8,
+ gText_827DFE2,
+ gText_827E00C,
+ gText_827E02F,
+ gText_827E05F,
+ gText_827E08B,
+ gText_827E0B5,
+ gText_827E0DD,
+ gText_827E107,
+ gText_827E143,
+ gText_827E17F,
+ gText_827E1BB,
+ gText_827E1F3,
+ gText_827E220,
+ gText_827E254,
+ gText_827E289,
+ gText_827E2C5,
+ gText_0827E2FE,
+ gText_0827E32E,
+ gText_0827E35B,
+ gText_0827E38D,
+ gText_0827E3C1,
+ gText_0827E3EB,
+ gText_0827E416,
+ gText_0827E448,
+ gText_0827E473,
+ gText_0827E4A6,
+ gText_0827E4D5,
+ gText_0827E504,
+ gText_0827E531,
+ gText_0827E55A,
+ gText_0827E5B2,
+ gText_0827E5D0,
+ gText_0827E606,
+ gText_0827E638,
+ gText_0827E658,
+ gText_0827E68B,
+ gText_0827E6C4,
+ gText_0827E7BA
+};
+
+const u8 *const gUnknown_08587F08[] =
+{
+ gText_0827E85F,
+ gText_0827E868,
+ gText_0827E86F,
+ gText_0827E878,
+ gText_0827E882
+};
+
+const u8 *const gUnknown_08587F1C[] =
+{
+ gText_0827E894,
+ gText_0827E89E,
+ gText_0827E8AA,
+ gText_0827E8B4,
+ gText_0827E8BF,
+ gText_0827E8CA
+};
diff --git a/src/data/decoration/header.h b/src/data/decoration/header.h
index a909bd9fd..55458c7a3 100644
--- a/src/data/decoration/header.h
+++ b/src/data/decoration/header.h
@@ -686,7 +686,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_PICHU_DOLL,
_("PICHU DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -695,7 +695,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_PIKACHU_DOLL,
_("PIKACHU DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -704,7 +704,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_MARILL_DOLL,
_("MARILL DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -713,7 +713,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_TOGEPI_DOLL,
_("TOGEPI DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -722,7 +722,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_CYNDAQUIL_DOLL,
_("CYNDAQUIL DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -731,7 +731,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_CHIKORITA_DOLL,
_("CHIKORITA DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -740,7 +740,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_TOTODILE_DOLL,
_("TOTODILE DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -749,7 +749,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_JIGGLYPUFF_DOLL,
_("JIGGLYPUFF DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -758,7 +758,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_MEOWTH_DOLL,
_("MEOWTH DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -767,7 +767,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_CLEFAIRY_DOLL,
_("CLEFAIRY DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -776,7 +776,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_DITTO_DOLL,
_("DITTO DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -785,7 +785,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_SMOOCHUM_DOLL,
_("SMOOCHUM DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -794,7 +794,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_TREECKO_DOLL,
_("TREECKO DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -803,7 +803,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_TORCHIC_DOLL,
_("TORCHIC DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -812,7 +812,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_MUDKIP_DOLL,
_("MUDKIP DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -821,7 +821,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_DUSKULL_DOLL,
_("DUSKULL DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -830,7 +830,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_WYNAUT_DOLL,
_("WYNAUT DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -839,7 +839,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_BALTOY_DOLL,
_("BALTOY DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -848,7 +848,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_KECLEON_DOLL,
_("KECLEON DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -857,7 +857,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_AZURILL_DOLL,
_("AZURILL DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -866,7 +866,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_SKITTY_DOLL,
_("SKITTY DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -875,7 +875,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_SWABLU_DOLL,
_("SWABLU DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -884,7 +884,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_GULPIN_DOLL,
_("GULPIN DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -893,7 +893,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_LOTAD_DOLL,
_("LOTAD DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -902,7 +902,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_SEEDOT_DOLL,
_("SEEDOT DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_DOLL,
3000,
@@ -911,7 +911,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_PIKA_CUSHION,
_("PIKA CUSHION"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_CUSHION,
2000,
@@ -920,7 +920,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_ROUND_CUSHION,
_("ROUND CUSHION"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_CUSHION,
2000,
@@ -929,7 +929,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_KISS_CUSHION,
_("KISS CUSHION"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_CUSHION,
2000,
@@ -938,7 +938,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_ZIGZAG_CUSHION,
_("ZIGZAG CUSHION"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_CUSHION,
2000,
@@ -947,7 +947,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_SPIN_CUSHION,
_("SPIN CUSHION"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_CUSHION,
2000,
@@ -956,7 +956,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_DIAMOND_CUSHION,
_("DIAMOND CUSHION"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_CUSHION,
2000,
@@ -965,7 +965,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_BALL_CUSHION,
_("BALL CUSHION"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_CUSHION,
2000,
@@ -974,7 +974,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_GRASS_CUSHION,
_("GRASS CUSHION"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_CUSHION,
2000,
@@ -983,7 +983,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_FIRE_CUSHION,
_("FIRE CUSHION"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_CUSHION,
2000,
@@ -992,7 +992,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_WATER_CUSHION,
_("WATER CUSHION"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x1,
DECORCAT_CUSHION,
2000,
@@ -1001,7 +1001,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_SNORLAX_DOLL,
_("SNORLAX DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x2,
DECORCAT_DOLL,
10000,
@@ -1010,7 +1010,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_RHYDON_DOLL,
_("RHYDON DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x2,
DECORCAT_DOLL,
10000,
@@ -1019,7 +1019,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_LAPRAS_DOLL,
_("LAPRAS DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x2,
DECORCAT_DOLL,
10000,
@@ -1028,7 +1028,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_VENUSAUR_DOLL,
_("VENUSAUR DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x2,
DECORCAT_DOLL,
10000,
@@ -1037,7 +1037,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_CHARIZARD_DOLL,
_("CHARIZARD DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x2,
DECORCAT_DOLL,
10000,
@@ -1046,7 +1046,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_BLASTOISE_DOLL,
_("BLASTOISE DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x2,
DECORCAT_DOLL,
10000,
@@ -1055,7 +1055,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_WAILMER_DOLL,
_("WAILMER DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x2,
DECORCAT_DOLL,
10000,
@@ -1064,7 +1064,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_REGIROCK_DOLL,
_("REGIROCK DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x2,
DECORCAT_DOLL,
10000,
@@ -1073,7 +1073,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_REGICE_DOLL,
_("REGICE DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x2,
DECORCAT_DOLL,
10000,
@@ -1082,7 +1082,7 @@ const struct Decoration gDecorations[] = {
}, {
DECOR_REGISTEEL_DOLL,
_("REGISTEEL DOLL"),
- DECORPERM_SOLID_MAT,
+ DECORPERM_SPRITE,
DECORSHAPE_1x2,
DECORCAT_DOLL,
10000,
diff --git a/src/data/field_event_obj/base_oam.h b/src/data/field_event_obj/base_oam.h
index 543382d43..af961f492 100755
--- a/src/data/field_event_obj/base_oam.h
+++ b/src/data/field_event_obj/base_oam.h
@@ -1,47 +1,47 @@
const struct OamData gEventObjectBaseOam_8x8 = {
- .shape = 0,
- .size = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
.priority = 2
};
const struct OamData gEventObjectBaseOam_16x8 = {
- .shape = 1,
- .size = 0,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
.priority = 2
};
const struct OamData gEventObjectBaseOam_16x16 = {
- .shape = 0,
- .size = 1,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
.priority = 2
};
const struct OamData gEventObjectBaseOam_32x8 = {
- .shape = 1,
- .size = 1,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
.priority = 2
};
const struct OamData gEventObjectBaseOam_64x32 = {
- .shape = 1,
- .size = 3,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
.priority = 2
};
const struct OamData gEventObjectBaseOam_16x32 = {
- .shape = 2,
- .size = 2,
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
.priority = 2
};
const struct OamData gEventObjectBaseOam_32x32 = {
- .shape = 0,
- .size = 2,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
.priority = 2
};
const struct OamData gEventObjectBaseOam_64x64 = {
- .shape = 0,
- .size = 3,
+ .shape = SPRITE_SHAPE(64x64),
+ .size = SPRITE_SIZE(64x64),
.priority = 2
};
diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h
index 40ebdf9e4..07415949d 100644
--- a/src/data/graphics/pokemon.h
+++ b/src/data/graphics/pokemon.h
@@ -1,2823 +1,2823 @@
-const u32 gMonStillFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/front_pics/bulbasaur_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/palettes/bulbasaur_palette.gbapal.lz");
-const u32 gMonBackPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/back_pics/bulbasaur_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/palettes/bulbasaur_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Bulbasaur[] = INCBIN_U8("graphics/pokemon/icons/bulbasaur_icon.4bpp");
-const u8 gMonFootprint_Bulbasaur[] = INCBIN_U8("graphics/pokemon/footprints/bulbasaur_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/front_pics/ivysaur_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/palettes/ivysaur_palette.gbapal.lz");
-const u32 gMonBackPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/back_pics/ivysaur_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/palettes/ivysaur_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Ivysaur[] = INCBIN_U8("graphics/pokemon/icons/ivysaur_icon.4bpp");
-const u8 gMonFootprint_Ivysaur[] = INCBIN_U8("graphics/pokemon/footprints/ivysaur_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/front_pics/venusaur_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/palettes/venusaur_palette.gbapal.lz");
-const u32 gMonBackPic_Venusaur[] = INCBIN_U32("graphics/pokemon/back_pics/venusaur_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/palettes/venusaur_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Venusaur[] = INCBIN_U8("graphics/pokemon/icons/venusaur_icon.4bpp");
-const u8 gMonFootprint_Venusaur[] = INCBIN_U8("graphics/pokemon/footprints/venusaur_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/front_pics/charmander_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Charmander[] = INCBIN_U32("graphics/pokemon/palettes/charmander_palette.gbapal.lz");
-const u32 gMonBackPic_Charmander[] = INCBIN_U32("graphics/pokemon/back_pics/charmander_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Charmander[] = INCBIN_U32("graphics/pokemon/palettes/charmander_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Charmander[] = INCBIN_U8("graphics/pokemon/icons/charmander_icon.4bpp");
-const u8 gMonFootprint_Charmander[] = INCBIN_U8("graphics/pokemon/footprints/charmander_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/front_pics/charmeleon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/palettes/charmeleon_palette.gbapal.lz");
-const u32 gMonBackPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/back_pics/charmeleon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/palettes/charmeleon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Charmeleon[] = INCBIN_U8("graphics/pokemon/icons/charmeleon_icon.4bpp");
-const u8 gMonFootprint_Charmeleon[] = INCBIN_U8("graphics/pokemon/footprints/charmeleon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/front_pics/charizard_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Charizard[] = INCBIN_U32("graphics/pokemon/palettes/charizard_palette.gbapal.lz");
-const u32 gMonBackPic_Charizard[] = INCBIN_U32("graphics/pokemon/back_pics/charizard_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Charizard[] = INCBIN_U32("graphics/pokemon/palettes/charizard_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Charizard[] = INCBIN_U8("graphics/pokemon/icons/charizard_icon.4bpp");
-const u8 gMonFootprint_Charizard[] = INCBIN_U8("graphics/pokemon/footprints/charizard_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/front_pics/squirtle_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/palettes/squirtle_palette.gbapal.lz");
-const u32 gMonBackPic_Squirtle[] = INCBIN_U32("graphics/pokemon/back_pics/squirtle_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/palettes/squirtle_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Squirtle[] = INCBIN_U8("graphics/pokemon/icons/squirtle_icon.4bpp");
-const u8 gMonFootprint_Squirtle[] = INCBIN_U8("graphics/pokemon/footprints/squirtle_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/front_pics/wartortle_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/palettes/wartortle_palette.gbapal.lz");
-const u32 gMonBackPic_Wartortle[] = INCBIN_U32("graphics/pokemon/back_pics/wartortle_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/palettes/wartortle_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Wartortle[] = INCBIN_U8("graphics/pokemon/icons/wartortle_icon.4bpp");
-const u8 gMonFootprint_Wartortle[] = INCBIN_U8("graphics/pokemon/footprints/wartortle_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/front_pics/blastoise_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/palettes/blastoise_palette.gbapal.lz");
-const u32 gMonBackPic_Blastoise[] = INCBIN_U32("graphics/pokemon/back_pics/blastoise_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/palettes/blastoise_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Blastoise[] = INCBIN_U8("graphics/pokemon/icons/blastoise_icon.4bpp");
-const u8 gMonFootprint_Blastoise[] = INCBIN_U8("graphics/pokemon/footprints/blastoise_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/front_pics/caterpie_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/palettes/caterpie_palette.gbapal.lz");
-const u32 gMonBackPic_Caterpie[] = INCBIN_U32("graphics/pokemon/back_pics/caterpie_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/palettes/caterpie_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Caterpie[] = INCBIN_U8("graphics/pokemon/icons/caterpie_icon.4bpp");
-const u8 gMonFootprint_Caterpie[] = INCBIN_U8("graphics/pokemon/footprints/caterpie_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/front_pics/metapod_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Metapod[] = INCBIN_U32("graphics/pokemon/palettes/metapod_palette.gbapal.lz");
-const u32 gMonBackPic_Metapod[] = INCBIN_U32("graphics/pokemon/back_pics/metapod_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Metapod[] = INCBIN_U32("graphics/pokemon/palettes/metapod_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Metapod[] = INCBIN_U8( "graphics/pokemon/icons/metapod_icon.4bpp");
-const u8 gMonFootprint_Metapod[] = INCBIN_U8("graphics/pokemon/footprints/metapod_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/front_pics/butterfree_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/palettes/butterfree_palette.gbapal.lz");
-const u32 gMonBackPic_Butterfree[] = INCBIN_U32("graphics/pokemon/back_pics/butterfree_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/palettes/butterfree_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Butterfree[] = INCBIN_U8("graphics/pokemon/icons/butterfree_icon.4bpp");
-const u8 gMonFootprint_Butterfree[] = INCBIN_U8("graphics/pokemon/footprints/butterfree_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/front_pics/weedle_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Weedle[] = INCBIN_U32("graphics/pokemon/palettes/weedle_palette.gbapal.lz");
-const u32 gMonBackPic_Weedle[] = INCBIN_U32("graphics/pokemon/back_pics/weedle_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Weedle[] = INCBIN_U32("graphics/pokemon/palettes/weedle_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Weedle[] = INCBIN_U8("graphics/pokemon/icons/weedle_icon.4bpp");
-const u8 gMonFootprint_Weedle[] = INCBIN_U8("graphics/pokemon/footprints/weedle_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/front_pics/kakuna_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/palettes/kakuna_palette.gbapal.lz");
-const u32 gMonBackPic_Kakuna[] = INCBIN_U32("graphics/pokemon/back_pics/kakuna_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/palettes/kakuna_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Kakuna[] = INCBIN_U8("graphics/pokemon/icons/kakuna_icon.4bpp");
-const u8 gMonFootprint_Kakuna[] = INCBIN_U8("graphics/pokemon/footprints/kakuna_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/front_pics/beedrill_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/palettes/beedrill_palette.gbapal.lz");
-const u32 gMonBackPic_Beedrill[] = INCBIN_U32("graphics/pokemon/back_pics/beedrill_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/palettes/beedrill_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Beedrill[] = INCBIN_U8("graphics/pokemon/icons/beedrill_icon.4bpp");
-const u8 gMonFootprint_Beedrill[] = INCBIN_U8("graphics/pokemon/footprints/beedrill_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/front_pics/pidgey_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/palettes/pidgey_palette.gbapal.lz");
-const u32 gMonBackPic_Pidgey[] = INCBIN_U32("graphics/pokemon/back_pics/pidgey_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/palettes/pidgey_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Pidgey[] = INCBIN_U8("graphics/pokemon/icons/pidgey_icon.4bpp");
-const u8 gMonFootprint_Pidgey[] = INCBIN_U8("graphics/pokemon/footprints/pidgey_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/front_pics/pidgeotto_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/palettes/pidgeotto_palette.gbapal.lz");
-const u32 gMonBackPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/back_pics/pidgeotto_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/palettes/pidgeotto_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Pidgeotto[] = INCBIN_U8("graphics/pokemon/icons/pidgeotto_icon.4bpp");
-const u8 gMonFootprint_Pidgeotto[] = INCBIN_U8("graphics/pokemon/footprints/pidgeotto_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/front_pics/pidgeot_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/palettes/pidgeot_palette.gbapal.lz");
-const u32 gMonBackPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/back_pics/pidgeot_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/palettes/pidgeot_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Pidgeot[] = INCBIN_U8("graphics/pokemon/icons/pidgeot_icon.4bpp");
-const u8 gMonFootprint_Pidgeot[] = INCBIN_U8("graphics/pokemon/footprints/pidgeot_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/front_pics/rattata_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Rattata[] = INCBIN_U32("graphics/pokemon/palettes/rattata_palette.gbapal.lz");
-const u32 gMonBackPic_Rattata[] = INCBIN_U32("graphics/pokemon/back_pics/rattata_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Rattata[] = INCBIN_U32("graphics/pokemon/palettes/rattata_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Rattata[] = INCBIN_U8("graphics/pokemon/icons/rattata_icon.4bpp");
-const u8 gMonFootprint_Rattata[] = INCBIN_U8("graphics/pokemon/footprints/rattata_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/front_pics/raticate_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Raticate[] = INCBIN_U32("graphics/pokemon/palettes/raticate_palette.gbapal.lz");
-const u32 gMonBackPic_Raticate[] = INCBIN_U32("graphics/pokemon/back_pics/raticate_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Raticate[] = INCBIN_U32("graphics/pokemon/palettes/raticate_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Raticate[] = INCBIN_U8("graphics/pokemon/icons/raticate_icon.4bpp");
-const u8 gMonFootprint_Raticate[] = INCBIN_U8("graphics/pokemon/footprints/raticate_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/front_pics/spearow_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Spearow[] = INCBIN_U32("graphics/pokemon/palettes/spearow_palette.gbapal.lz");
-const u32 gMonBackPic_Spearow[] = INCBIN_U32("graphics/pokemon/back_pics/spearow_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Spearow[] = INCBIN_U32("graphics/pokemon/palettes/spearow_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Spearow[] = INCBIN_U8("graphics/pokemon/icons/spearow_icon.4bpp");
-const u8 gMonFootprint_Spearow[] = INCBIN_U8("graphics/pokemon/footprints/spearow_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/front_pics/fearow_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Fearow[] = INCBIN_U32("graphics/pokemon/palettes/fearow_palette.gbapal.lz");
-const u32 gMonBackPic_Fearow[] = INCBIN_U32("graphics/pokemon/back_pics/fearow_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Fearow[] = INCBIN_U32("graphics/pokemon/palettes/fearow_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Fearow[] = INCBIN_U8("graphics/pokemon/icons/fearow_icon.4bpp");
-const u8 gMonFootprint_Fearow[] = INCBIN_U8("graphics/pokemon/footprints/fearow_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/front_pics/ekans_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Ekans[] = INCBIN_U32("graphics/pokemon/palettes/ekans_palette.gbapal.lz");
-const u32 gMonBackPic_Ekans[] = INCBIN_U32("graphics/pokemon/back_pics/ekans_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Ekans[] = INCBIN_U32("graphics/pokemon/palettes/ekans_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Ekans[] = INCBIN_U8("graphics/pokemon/icons/ekans_icon.4bpp");
-const u8 gMonFootprint_Ekans[] = INCBIN_U8("graphics/pokemon/footprints/ekans_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/front_pics/arbok_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Arbok[] = INCBIN_U32("graphics/pokemon/palettes/arbok_palette.gbapal.lz");
-const u32 gMonBackPic_Arbok[] = INCBIN_U32("graphics/pokemon/back_pics/arbok_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Arbok[] = INCBIN_U32("graphics/pokemon/palettes/arbok_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Arbok[] = INCBIN_U8("graphics/pokemon/icons/arbok_icon.4bpp");
-const u8 gMonFootprint_Arbok[] = INCBIN_U8("graphics/pokemon/footprints/arbok_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/front_pics/pikachu_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/palettes/pikachu_palette.gbapal.lz");
-const u32 gMonBackPic_Pikachu[] = INCBIN_U32("graphics/pokemon/back_pics/pikachu_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/palettes/pikachu_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Pikachu[] = INCBIN_U8("graphics/pokemon/icons/pikachu_icon.4bpp");
-const u8 gMonFootprint_Pikachu[] = INCBIN_U8("graphics/pokemon/footprints/pikachu_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/front_pics/raichu_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Raichu[] = INCBIN_U32("graphics/pokemon/palettes/raichu_palette.gbapal.lz");
-const u32 gMonBackPic_Raichu[] = INCBIN_U32("graphics/pokemon/back_pics/raichu_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Raichu[] = INCBIN_U32("graphics/pokemon/palettes/raichu_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Raichu[] = INCBIN_U8("graphics/pokemon/icons/raichu_icon.4bpp");
-const u8 gMonFootprint_Raichu[] = INCBIN_U8("graphics/pokemon/footprints/raichu_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/front_pics/sandshrew_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/palettes/sandshrew_palette.gbapal.lz");
-const u32 gMonBackPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/back_pics/sandshrew_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/palettes/sandshrew_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Sandshrew[] = INCBIN_U8("graphics/pokemon/icons/sandshrew_icon.4bpp");
-const u8 gMonFootprint_Sandshrew[] = INCBIN_U8("graphics/pokemon/footprints/sandshrew_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/front_pics/sandslash_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/palettes/sandslash_palette.gbapal.lz");
-const u32 gMonBackPic_Sandslash[] = INCBIN_U32("graphics/pokemon/back_pics/sandslash_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/palettes/sandslash_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Sandslash[] = INCBIN_U8("graphics/pokemon/icons/sandslash_icon.4bpp");
-const u8 gMonFootprint_Sandslash[] = INCBIN_U8("graphics/pokemon/footprints/sandslash_footprint.1bpp");
-
-const u32 gMonStillFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/front_pics/nidoran_f_still_front_pic.4bpp.lz");
-const u32 gMonPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/palettes/nidoran_f_palette.gbapal.lz");
-const u32 gMonBackPic_NidoranF[] = INCBIN_U32("graphics/pokemon/back_pics/nidoran_f_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/palettes/nidoran_f_shiny_palette.gbapal.lz");
-const u8 gMonIcon_NidoranF[] = INCBIN_U8("graphics/pokemon/icons/nidoran_f_icon.4bpp");
-const u8 gMonFootprint_NidoranF[] = INCBIN_U8("graphics/pokemon/footprints/nidoran_f_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/front_pics/nidorina_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/palettes/nidorina_palette.gbapal.lz");
-const u32 gMonBackPic_Nidorina[] = INCBIN_U32("graphics/pokemon/back_pics/nidorina_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/palettes/nidorina_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Nidorina[] = INCBIN_U8("graphics/pokemon/icons/nidorina_icon.4bpp");
-const u8 gMonFootprint_Nidorina[] = INCBIN_U8("graphics/pokemon/footprints/nidorina_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/front_pics/nidoqueen_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/palettes/nidoqueen_palette.gbapal.lz");
-const u32 gMonBackPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/back_pics/nidoqueen_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/palettes/nidoqueen_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Nidoqueen[] = INCBIN_U8("graphics/pokemon/icons/nidoqueen_icon.4bpp");
-const u8 gMonFootprint_Nidoqueen[] = INCBIN_U8("graphics/pokemon/footprints/nidoqueen_footprint.1bpp");
-
-const u32 gMonStillFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/front_pics/nidoran_m_still_front_pic.4bpp.lz");
-const u32 gMonPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/palettes/nidoran_m_palette.gbapal.lz");
-const u32 gMonBackPic_NidoranM[] = INCBIN_U32("graphics/pokemon/back_pics/nidoran_m_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/palettes/nidoran_m_shiny_palette.gbapal.lz");
-const u8 gMonIcon_NidoranM[] = INCBIN_U8("graphics/pokemon/icons/nidoran_m_icon.4bpp");
-const u8 gMonFootprint_NidoranM[] = INCBIN_U8("graphics/pokemon/footprints/nidoran_m_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/front_pics/nidorino_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/palettes/nidorino_palette.gbapal.lz");
-const u32 gMonBackPic_Nidorino[] = INCBIN_U32("graphics/pokemon/back_pics/nidorino_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/palettes/nidorino_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Nidorino[] = INCBIN_U8("graphics/pokemon/icons/nidorino_icon.4bpp");
-const u8 gMonFootprint_Nidorino[] = INCBIN_U8("graphics/pokemon/footprints/nidorino_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/front_pics/nidoking_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/palettes/nidoking_palette.gbapal.lz");
-const u32 gMonBackPic_Nidoking[] = INCBIN_U32("graphics/pokemon/back_pics/nidoking_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/palettes/nidoking_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Nidoking[] = INCBIN_U8("graphics/pokemon/icons/nidoking_icon.4bpp");
-const u8 gMonFootprint_Nidoking[] = INCBIN_U8("graphics/pokemon/footprints/nidoking_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/front_pics/clefairy_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/palettes/clefairy_palette.gbapal.lz");
-const u32 gMonBackPic_Clefairy[] = INCBIN_U32("graphics/pokemon/back_pics/clefairy_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/palettes/clefairy_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Clefairy[] = INCBIN_U8("graphics/pokemon/icons/clefairy_icon.4bpp");
-const u8 gMonFootprint_Clefairy[] = INCBIN_U8("graphics/pokemon/footprints/clefairy_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/front_pics/clefable_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Clefable[] = INCBIN_U32("graphics/pokemon/palettes/clefable_palette.gbapal.lz");
-const u32 gMonBackPic_Clefable[] = INCBIN_U32("graphics/pokemon/back_pics/clefable_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Clefable[] = INCBIN_U32("graphics/pokemon/palettes/clefable_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Clefable[] = INCBIN_U8("graphics/pokemon/icons/clefable_icon.4bpp");
-const u8 gMonFootprint_Clefable[] = INCBIN_U8("graphics/pokemon/footprints/clefable_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/front_pics/vulpix_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/palettes/vulpix_palette.gbapal.lz");
-const u32 gMonBackPic_Vulpix[] = INCBIN_U32("graphics/pokemon/back_pics/vulpix_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/palettes/vulpix_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Vulpix[] = INCBIN_U8("graphics/pokemon/icons/vulpix_icon.4bpp");
-const u8 gMonFootprint_Vulpix[] = INCBIN_U8("graphics/pokemon/footprints/vulpix_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/front_pics/ninetales_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/palettes/ninetales_palette.gbapal.lz");
-const u32 gMonBackPic_Ninetales[] = INCBIN_U32("graphics/pokemon/back_pics/ninetales_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/palettes/ninetales_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Ninetales[] = INCBIN_U8("graphics/pokemon/icons/ninetales_icon.4bpp");
-const u8 gMonFootprint_Ninetales[] = INCBIN_U8("graphics/pokemon/footprints/ninetales_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/front_pics/jigglypuff_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/palettes/jigglypuff_palette.gbapal.lz");
-const u32 gMonBackPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/back_pics/jigglypuff_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/palettes/jigglypuff_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Jigglypuff[] = INCBIN_U8("graphics/pokemon/icons/jigglypuff_icon.4bpp");
-const u8 gMonFootprint_Jigglypuff[] = INCBIN_U8("graphics/pokemon/footprints/jigglypuff_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/front_pics/wigglytuff_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/palettes/wigglytuff_palette.gbapal.lz");
-const u32 gMonBackPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/back_pics/wigglytuff_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/palettes/wigglytuff_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Wigglytuff[] = INCBIN_U8("graphics/pokemon/icons/wigglytuff_icon.4bpp");
-const u8 gMonFootprint_Wigglytuff[] = INCBIN_U8("graphics/pokemon/footprints/wigglytuff_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/front_pics/zubat_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Zubat[] = INCBIN_U32("graphics/pokemon/palettes/zubat_palette.gbapal.lz");
-const u32 gMonBackPic_Zubat[] = INCBIN_U32("graphics/pokemon/back_pics/zubat_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Zubat[] = INCBIN_U32("graphics/pokemon/palettes/zubat_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Zubat[] = INCBIN_U8("graphics/pokemon/icons/zubat_icon.4bpp");
-const u8 gMonFootprint_Zubat[] = INCBIN_U8("graphics/pokemon/footprints/zubat_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/front_pics/golbat_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Golbat[] = INCBIN_U32("graphics/pokemon/palettes/golbat_palette.gbapal.lz");
-const u32 gMonBackPic_Golbat[] = INCBIN_U32("graphics/pokemon/back_pics/golbat_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Golbat[] = INCBIN_U32("graphics/pokemon/palettes/golbat_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Golbat[] = INCBIN_U8("graphics/pokemon/icons/golbat_icon.4bpp");
-const u8 gMonFootprint_Golbat[] = INCBIN_U8("graphics/pokemon/footprints/golbat_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/front_pics/oddish_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Oddish[] = INCBIN_U32("graphics/pokemon/palettes/oddish_palette.gbapal.lz");
-const u32 gMonBackPic_Oddish[] = INCBIN_U32("graphics/pokemon/back_pics/oddish_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Oddish[] = INCBIN_U32("graphics/pokemon/palettes/oddish_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Oddish[] = INCBIN_U8("graphics/pokemon/icons/oddish_icon.4bpp");
-const u8 gMonFootprint_Oddish[] = INCBIN_U8("graphics/pokemon/footprints/oddish_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/front_pics/gloom_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Gloom[] = INCBIN_U32("graphics/pokemon/palettes/gloom_palette.gbapal.lz");
-const u32 gMonBackPic_Gloom[] = INCBIN_U32("graphics/pokemon/back_pics/gloom_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Gloom[] = INCBIN_U32("graphics/pokemon/palettes/gloom_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Gloom[] = INCBIN_U8("graphics/pokemon/icons/gloom_icon.4bpp");
-const u8 gMonFootprint_Gloom[] = INCBIN_U8("graphics/pokemon/footprints/gloom_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/front_pics/vileplume_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/palettes/vileplume_palette.gbapal.lz");
-const u32 gMonBackPic_Vileplume[] = INCBIN_U32("graphics/pokemon/back_pics/vileplume_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/palettes/vileplume_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Vileplume[] = INCBIN_U8("graphics/pokemon/icons/vileplume_icon.4bpp");
-const u8 gMonFootprint_Vileplume[] = INCBIN_U8("graphics/pokemon/footprints/vileplume_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/front_pics/paras_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Paras[] = INCBIN_U32("graphics/pokemon/palettes/paras_palette.gbapal.lz");
-const u32 gMonBackPic_Paras[] = INCBIN_U32("graphics/pokemon/back_pics/paras_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Paras[] = INCBIN_U32("graphics/pokemon/palettes/paras_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Paras[] = INCBIN_U8("graphics/pokemon/icons/paras_icon.4bpp");
-const u8 gMonFootprint_Paras[] = INCBIN_U8("graphics/pokemon/footprints/paras_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/front_pics/parasect_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Parasect[] = INCBIN_U32("graphics/pokemon/palettes/parasect_palette.gbapal.lz");
-const u32 gMonBackPic_Parasect[] = INCBIN_U32("graphics/pokemon/back_pics/parasect_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Parasect[] = INCBIN_U32("graphics/pokemon/palettes/parasect_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Parasect[] = INCBIN_U8("graphics/pokemon/icons/parasect_icon.4bpp");
-const u8 gMonFootprint_Parasect[] = INCBIN_U8("graphics/pokemon/footprints/parasect_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/front_pics/venonat_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Venonat[] = INCBIN_U32("graphics/pokemon/palettes/venonat_palette.gbapal.lz");
-const u32 gMonBackPic_Venonat[] = INCBIN_U32("graphics/pokemon/back_pics/venonat_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Venonat[] = INCBIN_U32("graphics/pokemon/palettes/venonat_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Venonat[] = INCBIN_U8("graphics/pokemon/icons/venonat_icon.4bpp");
-const u8 gMonFootprint_Venonat[] = INCBIN_U8("graphics/pokemon/footprints/venonat_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/front_pics/venomoth_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/palettes/venomoth_palette.gbapal.lz");
-const u32 gMonBackPic_Venomoth[] = INCBIN_U32("graphics/pokemon/back_pics/venomoth_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/palettes/venomoth_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Venomoth[] = INCBIN_U8("graphics/pokemon/icons/venomoth_icon.4bpp");
-const u8 gMonFootprint_Venomoth[] = INCBIN_U8("graphics/pokemon/footprints/venomoth_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/front_pics/diglett_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Diglett[] = INCBIN_U32("graphics/pokemon/palettes/diglett_palette.gbapal.lz");
-const u32 gMonBackPic_Diglett[] = INCBIN_U32("graphics/pokemon/back_pics/diglett_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Diglett[] = INCBIN_U32("graphics/pokemon/palettes/diglett_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Diglett[] = INCBIN_U8("graphics/pokemon/icons/diglett_icon.4bpp");
-const u8 gMonFootprint_Diglett[] = INCBIN_U8("graphics/pokemon/footprints/diglett_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/front_pics/dugtrio_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/palettes/dugtrio_palette.gbapal.lz");
-const u32 gMonBackPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/back_pics/dugtrio_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/palettes/dugtrio_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Dugtrio[] = INCBIN_U8("graphics/pokemon/icons/dugtrio_icon.4bpp");
-const u8 gMonFootprint_Dugtrio[] = INCBIN_U8("graphics/pokemon/footprints/dugtrio_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/front_pics/meowth_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Meowth[] = INCBIN_U32("graphics/pokemon/palettes/meowth_palette.gbapal.lz");
-const u32 gMonBackPic_Meowth[] = INCBIN_U32("graphics/pokemon/back_pics/meowth_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Meowth[] = INCBIN_U32("graphics/pokemon/palettes/meowth_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Meowth[] = INCBIN_U8("graphics/pokemon/icons/meowth_icon.4bpp");
-const u8 gMonFootprint_Meowth[] = INCBIN_U8("graphics/pokemon/footprints/meowth_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/front_pics/persian_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Persian[] = INCBIN_U32("graphics/pokemon/palettes/persian_palette.gbapal.lz");
-const u32 gMonBackPic_Persian[] = INCBIN_U32("graphics/pokemon/back_pics/persian_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Persian[] = INCBIN_U32("graphics/pokemon/palettes/persian_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Persian[] = INCBIN_U8("graphics/pokemon/icons/persian_icon.4bpp");
-const u8 gMonFootprint_Persian[] = INCBIN_U8("graphics/pokemon/footprints/persian_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/front_pics/psyduck_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/palettes/psyduck_palette.gbapal.lz");
-const u32 gMonBackPic_Psyduck[] = INCBIN_U32("graphics/pokemon/back_pics/psyduck_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/palettes/psyduck_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Psyduck[] = INCBIN_U8("graphics/pokemon/icons/psyduck_icon.4bpp");
-const u8 gMonFootprint_Psyduck[] = INCBIN_U8("graphics/pokemon/footprints/psyduck_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/front_pics/golduck_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Golduck[] = INCBIN_U32("graphics/pokemon/palettes/golduck_palette.gbapal.lz");
-const u32 gMonBackPic_Golduck[] = INCBIN_U32("graphics/pokemon/back_pics/golduck_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Golduck[] = INCBIN_U32("graphics/pokemon/palettes/golduck_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Golduck[] = INCBIN_U8("graphics/pokemon/icons/golduck_icon.4bpp");
-const u8 gMonFootprint_Golduck[] = INCBIN_U8("graphics/pokemon/footprints/golduck_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/front_pics/mankey_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Mankey[] = INCBIN_U32("graphics/pokemon/palettes/mankey_palette.gbapal.lz");
-const u32 gMonBackPic_Mankey[] = INCBIN_U32("graphics/pokemon/back_pics/mankey_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Mankey[] = INCBIN_U32("graphics/pokemon/palettes/mankey_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Mankey[] = INCBIN_U8("graphics/pokemon/icons/mankey_icon.4bpp");
-const u8 gMonFootprint_Mankey[] = INCBIN_U8("graphics/pokemon/footprints/mankey_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/front_pics/primeape_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Primeape[] = INCBIN_U32("graphics/pokemon/palettes/primeape_palette.gbapal.lz");
-const u32 gMonBackPic_Primeape[] = INCBIN_U32("graphics/pokemon/back_pics/primeape_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Primeape[] = INCBIN_U32("graphics/pokemon/palettes/primeape_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Primeape[] = INCBIN_U8("graphics/pokemon/icons/primeape_icon.4bpp");
-const u8 gMonFootprint_Primeape[] = INCBIN_U8("graphics/pokemon/footprints/primeape_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/front_pics/growlithe_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/palettes/growlithe_palette.gbapal.lz");
-const u32 gMonBackPic_Growlithe[] = INCBIN_U32("graphics/pokemon/back_pics/growlithe_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/palettes/growlithe_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Growlithe[] = INCBIN_U8("graphics/pokemon/icons/growlithe_icon.4bpp");
-const u8 gMonFootprint_Growlithe[] = INCBIN_U8("graphics/pokemon/footprints/growlithe_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/front_pics/arcanine_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/palettes/arcanine_palette.gbapal.lz");
-const u32 gMonBackPic_Arcanine[] = INCBIN_U32("graphics/pokemon/back_pics/arcanine_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/palettes/arcanine_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Arcanine[] = INCBIN_U8("graphics/pokemon/icons/arcanine_icon.4bpp");
-const u8 gMonFootprint_Arcanine[] = INCBIN_U8("graphics/pokemon/footprints/arcanine_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/front_pics/poliwag_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/palettes/poliwag_palette.gbapal.lz");
-const u32 gMonBackPic_Poliwag[] = INCBIN_U32("graphics/pokemon/back_pics/poliwag_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/palettes/poliwag_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Poliwag[] = INCBIN_U8("graphics/pokemon/icons/poliwag_icon.4bpp");
-const u8 gMonFootprint_Poliwag[] = INCBIN_U8("graphics/pokemon/footprints/poliwag_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/front_pics/poliwhirl_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/palettes/poliwhirl_palette.gbapal.lz");
-const u32 gMonBackPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/back_pics/poliwhirl_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/palettes/poliwhirl_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Poliwhirl[] = INCBIN_U8("graphics/pokemon/icons/poliwhirl_icon.4bpp");
-const u8 gMonFootprint_Poliwhirl[] = INCBIN_U8("graphics/pokemon/footprints/poliwhirl_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/front_pics/poliwrath_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/palettes/poliwrath_palette.gbapal.lz");
-const u32 gMonBackPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/back_pics/poliwrath_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/palettes/poliwrath_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Poliwrath[] = INCBIN_U8("graphics/pokemon/icons/poliwrath_icon.4bpp");
-const u8 gMonFootprint_Poliwrath[] = INCBIN_U8("graphics/pokemon/footprints/poliwrath_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/front_pics/abra_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Abra[] = INCBIN_U32("graphics/pokemon/palettes/abra_palette.gbapal.lz");
-const u32 gMonBackPic_Abra[] = INCBIN_U32("graphics/pokemon/back_pics/abra_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Abra[] = INCBIN_U32("graphics/pokemon/palettes/abra_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Abra[] = INCBIN_U8("graphics/pokemon/icons/abra_icon.4bpp");
-const u8 gMonFootprint_Abra[] = INCBIN_U8("graphics/pokemon/footprints/abra_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/front_pics/kadabra_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/palettes/kadabra_palette.gbapal.lz");
-const u32 gMonBackPic_Kadabra[] = INCBIN_U32("graphics/pokemon/back_pics/kadabra_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/palettes/kadabra_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Kadabra[] = INCBIN_U8("graphics/pokemon/icons/kadabra_icon.4bpp");
-const u8 gMonFootprint_Kadabra[] = INCBIN_U8("graphics/pokemon/footprints/kadabra_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/front_pics/alakazam_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/palettes/alakazam_palette.gbapal.lz");
-const u32 gMonBackPic_Alakazam[] = INCBIN_U32("graphics/pokemon/back_pics/alakazam_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/palettes/alakazam_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Alakazam[] = INCBIN_U8("graphics/pokemon/icons/alakazam_icon.4bpp");
-const u8 gMonFootprint_Alakazam[] = INCBIN_U8("graphics/pokemon/footprints/alakazam_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/front_pics/machop_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Machop[] = INCBIN_U32("graphics/pokemon/palettes/machop_palette.gbapal.lz");
-const u32 gMonBackPic_Machop[] = INCBIN_U32("graphics/pokemon/back_pics/machop_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Machop[] = INCBIN_U32("graphics/pokemon/palettes/machop_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Machop[] = INCBIN_U8("graphics/pokemon/icons/machop_icon.4bpp");
-const u8 gMonFootprint_Machop[] = INCBIN_U8("graphics/pokemon/footprints/machop_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/front_pics/machoke_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Machoke[] = INCBIN_U32("graphics/pokemon/palettes/machoke_palette.gbapal.lz");
-const u32 gMonBackPic_Machoke[] = INCBIN_U32("graphics/pokemon/back_pics/machoke_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Machoke[] = INCBIN_U32("graphics/pokemon/palettes/machoke_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Machoke[] = INCBIN_U8("graphics/pokemon/icons/machoke_icon.4bpp");
-const u8 gMonFootprint_Machoke[] = INCBIN_U8("graphics/pokemon/footprints/machoke_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/front_pics/machamp_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Machamp[] = INCBIN_U32("graphics/pokemon/palettes/machamp_palette.gbapal.lz");
-const u32 gMonBackPic_Machamp[] = INCBIN_U32("graphics/pokemon/back_pics/machamp_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Machamp[] = INCBIN_U32("graphics/pokemon/palettes/machamp_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Machamp[] = INCBIN_U8("graphics/pokemon/icons/machamp_icon.4bpp");
-const u8 gMonFootprint_Machamp[] = INCBIN_U8("graphics/pokemon/footprints/machamp_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/front_pics/bellsprout_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/palettes/bellsprout_palette.gbapal.lz");
-const u32 gMonBackPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/back_pics/bellsprout_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/palettes/bellsprout_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Bellsprout[] = INCBIN_U8("graphics/pokemon/icons/bellsprout_icon.4bpp");
-const u8 gMonFootprint_Bellsprout[] = INCBIN_U8("graphics/pokemon/footprints/bellsprout_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/front_pics/weepinbell_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/palettes/weepinbell_palette.gbapal.lz");
-const u32 gMonBackPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/back_pics/weepinbell_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/palettes/weepinbell_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Weepinbell[] = INCBIN_U8("graphics/pokemon/icons/weepinbell_icon.4bpp");
-const u8 gMonFootprint_Weepinbell[] = INCBIN_U8("graphics/pokemon/footprints/weepinbell_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/front_pics/victreebel_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/palettes/victreebel_palette.gbapal.lz");
-const u32 gMonBackPic_Victreebel[] = INCBIN_U32("graphics/pokemon/back_pics/victreebel_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/palettes/victreebel_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Victreebel[] = INCBIN_U8("graphics/pokemon/icons/victreebel_icon.4bpp");
-const u8 gMonFootprint_Victreebel[] = INCBIN_U8("graphics/pokemon/footprints/victreebel_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/front_pics/tentacool_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/palettes/tentacool_palette.gbapal.lz");
-const u32 gMonBackPic_Tentacool[] = INCBIN_U32("graphics/pokemon/back_pics/tentacool_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/palettes/tentacool_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Tentacool[] = INCBIN_U8("graphics/pokemon/icons/tentacool_icon.4bpp");
-const u8 gMonFootprint_Tentacool[] = INCBIN_U8("graphics/pokemon/footprints/tentacool_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/front_pics/tentacruel_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/palettes/tentacruel_palette.gbapal.lz");
-const u32 gMonBackPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/back_pics/tentacruel_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/palettes/tentacruel_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Tentacruel[] = INCBIN_U8("graphics/pokemon/icons/tentacruel_icon.4bpp");
-const u8 gMonFootprint_Tentacruel[] = INCBIN_U8("graphics/pokemon/footprints/tentacruel_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/front_pics/geodude_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Geodude[] = INCBIN_U32("graphics/pokemon/palettes/geodude_palette.gbapal.lz");
-const u32 gMonBackPic_Geodude[] = INCBIN_U32("graphics/pokemon/back_pics/geodude_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Geodude[] = INCBIN_U32("graphics/pokemon/palettes/geodude_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Geodude[] = INCBIN_U8("graphics/pokemon/icons/geodude_icon.4bpp");
-const u8 gMonFootprint_Geodude[] = INCBIN_U8("graphics/pokemon/footprints/geodude_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/front_pics/graveler_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Graveler[] = INCBIN_U32("graphics/pokemon/palettes/graveler_palette.gbapal.lz");
-const u32 gMonBackPic_Graveler[] = INCBIN_U32("graphics/pokemon/back_pics/graveler_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Graveler[] = INCBIN_U32("graphics/pokemon/palettes/graveler_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Graveler[] = INCBIN_U8("graphics/pokemon/icons/graveler_icon.4bpp");
-const u8 gMonFootprint_Graveler[] = INCBIN_U8("graphics/pokemon/footprints/graveler_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/front_pics/golem_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Golem[] = INCBIN_U32("graphics/pokemon/palettes/golem_palette.gbapal.lz");
-const u32 gMonBackPic_Golem[] = INCBIN_U32("graphics/pokemon/back_pics/golem_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Golem[] = INCBIN_U32("graphics/pokemon/palettes/golem_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Golem[] = INCBIN_U8("graphics/pokemon/icons/golem_icon.4bpp");
-const u8 gMonFootprint_Golem[] = INCBIN_U8("graphics/pokemon/footprints/golem_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/front_pics/ponyta_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/palettes/ponyta_palette.gbapal.lz");
-const u32 gMonBackPic_Ponyta[] = INCBIN_U32("graphics/pokemon/back_pics/ponyta_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/palettes/ponyta_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Ponyta[] = INCBIN_U8("graphics/pokemon/icons/ponyta_icon.4bpp");
-const u8 gMonFootprint_Ponyta[] = INCBIN_U8("graphics/pokemon/footprints/ponyta_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/front_pics/rapidash_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/palettes/rapidash_palette.gbapal.lz");
-const u32 gMonBackPic_Rapidash[] = INCBIN_U32("graphics/pokemon/back_pics/rapidash_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/palettes/rapidash_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Rapidash[] = INCBIN_U8("graphics/pokemon/icons/rapidash_icon.4bpp");
-const u8 gMonFootprint_Rapidash[] = INCBIN_U8("graphics/pokemon/footprints/rapidash_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/front_pics/slowpoke_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/palettes/slowpoke_palette.gbapal.lz");
-const u32 gMonBackPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/back_pics/slowpoke_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/palettes/slowpoke_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Slowpoke[] = INCBIN_U8("graphics/pokemon/icons/slowpoke_icon.4bpp");
-const u8 gMonFootprint_Slowpoke[] = INCBIN_U8("graphics/pokemon/footprints/slowpoke_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/front_pics/slowbro_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/palettes/slowbro_palette.gbapal.lz");
-const u32 gMonBackPic_Slowbro[] = INCBIN_U32("graphics/pokemon/back_pics/slowbro_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/palettes/slowbro_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Slowbro[] = INCBIN_U8("graphics/pokemon/icons/slowbro_icon.4bpp");
-const u8 gMonFootprint_Slowbro[] = INCBIN_U8("graphics/pokemon/footprints/slowbro_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/front_pics/magnemite_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/palettes/magnemite_palette.gbapal.lz");
-const u32 gMonBackPic_Magnemite[] = INCBIN_U32("graphics/pokemon/back_pics/magnemite_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/palettes/magnemite_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Magnemite[] = INCBIN_U8("graphics/pokemon/icons/magnemite_icon.4bpp");
-const u8 gMonFootprint_Magnemite[] = INCBIN_U8("graphics/pokemon/footprints/magnemite_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/front_pics/magneton_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Magneton[] = INCBIN_U32("graphics/pokemon/palettes/magneton_palette.gbapal.lz");
-const u32 gMonBackPic_Magneton[] = INCBIN_U32("graphics/pokemon/back_pics/magneton_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Magneton[] = INCBIN_U32("graphics/pokemon/palettes/magneton_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Magneton[] = INCBIN_U8("graphics/pokemon/icons/magneton_icon.4bpp");
-const u8 gMonFootprint_Magneton[] = INCBIN_U8("graphics/pokemon/footprints/magneton_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/front_pics/farfetch_d_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/palettes/farfetch_d_palette.gbapal.lz");
-const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/back_pics/farfetch_d_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/palettes/farfetch_d_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/icons/farfetch_d_icon.4bpp");
-const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/footprints/farfetch_d_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/front_pics/doduo_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Doduo[] = INCBIN_U32("graphics/pokemon/palettes/doduo_palette.gbapal.lz");
-const u32 gMonBackPic_Doduo[] = INCBIN_U32("graphics/pokemon/back_pics/doduo_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Doduo[] = INCBIN_U32("graphics/pokemon/palettes/doduo_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Doduo[] = INCBIN_U8("graphics/pokemon/icons/doduo_icon.4bpp");
-const u8 gMonFootprint_Doduo[] = INCBIN_U8("graphics/pokemon/footprints/doduo_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/front_pics/dodrio_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/palettes/dodrio_palette.gbapal.lz");
-const u32 gMonBackPic_Dodrio[] = INCBIN_U32("graphics/pokemon/back_pics/dodrio_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/palettes/dodrio_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Dodrio[] = INCBIN_U8("graphics/pokemon/icons/dodrio_icon.4bpp");
-const u8 gMonFootprint_Dodrio[] = INCBIN_U8("graphics/pokemon/footprints/dodrio_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/front_pics/seel_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Seel[] = INCBIN_U32("graphics/pokemon/palettes/seel_palette.gbapal.lz");
-const u32 gMonBackPic_Seel[] = INCBIN_U32("graphics/pokemon/back_pics/seel_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Seel[] = INCBIN_U32("graphics/pokemon/palettes/seel_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Seel[] = INCBIN_U8("graphics/pokemon/icons/seel_icon.4bpp");
-const u8 gMonFootprint_Seel[] = INCBIN_U8("graphics/pokemon/footprints/seel_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/front_pics/dewgong_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/palettes/dewgong_palette.gbapal.lz");
-const u32 gMonBackPic_Dewgong[] = INCBIN_U32("graphics/pokemon/back_pics/dewgong_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/palettes/dewgong_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Dewgong[] = INCBIN_U8("graphics/pokemon/icons/dewgong_icon.4bpp");
-const u8 gMonFootprint_Dewgong[] = INCBIN_U8("graphics/pokemon/footprints/dewgong_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/front_pics/grimer_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Grimer[] = INCBIN_U32("graphics/pokemon/palettes/grimer_palette.gbapal.lz");
-const u32 gMonBackPic_Grimer[] = INCBIN_U32("graphics/pokemon/back_pics/grimer_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Grimer[] = INCBIN_U32("graphics/pokemon/palettes/grimer_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Grimer[] = INCBIN_U8("graphics/pokemon/icons/grimer_icon.4bpp");
-const u8 gMonFootprint_Grimer[] = INCBIN_U8("graphics/pokemon/footprints/grimer_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/front_pics/muk_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Muk[] = INCBIN_U32("graphics/pokemon/palettes/muk_palette.gbapal.lz");
-const u32 gMonBackPic_Muk[] = INCBIN_U32("graphics/pokemon/back_pics/muk_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Muk[] = INCBIN_U32("graphics/pokemon/palettes/muk_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Muk[] = INCBIN_U8("graphics/pokemon/icons/muk_icon.4bpp");
-const u8 gMonFootprint_Muk[] = INCBIN_U8("graphics/pokemon/footprints/muk_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/front_pics/shellder_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Shellder[] = INCBIN_U32("graphics/pokemon/palettes/shellder_palette.gbapal.lz");
-const u32 gMonBackPic_Shellder[] = INCBIN_U32("graphics/pokemon/back_pics/shellder_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Shellder[] = INCBIN_U32("graphics/pokemon/palettes/shellder_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Shellder[] = INCBIN_U8("graphics/pokemon/icons/shellder_icon.4bpp");
-const u8 gMonFootprint_Shellder[] = INCBIN_U8("graphics/pokemon/footprints/shellder_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/front_pics/cloyster_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/palettes/cloyster_palette.gbapal.lz");
-const u32 gMonBackPic_Cloyster[] = INCBIN_U32("graphics/pokemon/back_pics/cloyster_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/palettes/cloyster_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Cloyster[] = INCBIN_U8("graphics/pokemon/icons/cloyster_icon.4bpp");
-const u8 gMonFootprint_Cloyster[] = INCBIN_U8("graphics/pokemon/footprints/cloyster_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/front_pics/gastly_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Gastly[] = INCBIN_U32("graphics/pokemon/palettes/gastly_palette.gbapal.lz");
-const u32 gMonBackPic_Gastly[] = INCBIN_U32("graphics/pokemon/back_pics/gastly_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Gastly[] = INCBIN_U32("graphics/pokemon/palettes/gastly_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Gastly[] = INCBIN_U8("graphics/pokemon/icons/gastly_icon.4bpp");
-const u8 gMonFootprint_Gastly[] = INCBIN_U8("graphics/pokemon/footprints/gastly_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/front_pics/haunter_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Haunter[] = INCBIN_U32("graphics/pokemon/palettes/haunter_palette.gbapal.lz");
-const u32 gMonBackPic_Haunter[] = INCBIN_U32("graphics/pokemon/back_pics/haunter_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Haunter[] = INCBIN_U32("graphics/pokemon/palettes/haunter_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Haunter[] = INCBIN_U8("graphics/pokemon/icons/haunter_icon.4bpp");
-const u8 gMonFootprint_Haunter[] = INCBIN_U8("graphics/pokemon/footprints/haunter_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/front_pics/gengar_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Gengar[] = INCBIN_U32("graphics/pokemon/palettes/gengar_palette.gbapal.lz");
-const u32 gMonBackPic_Gengar[] = INCBIN_U32("graphics/pokemon/back_pics/gengar_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Gengar[] = INCBIN_U32("graphics/pokemon/palettes/gengar_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Gengar[] = INCBIN_U8("graphics/pokemon/icons/gengar_icon.4bpp");
-const u8 gMonFootprint_Gengar[] = INCBIN_U8("graphics/pokemon/footprints/gengar_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/front_pics/onix_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Onix[] = INCBIN_U32("graphics/pokemon/palettes/onix_palette.gbapal.lz");
-const u32 gMonBackPic_Onix[] = INCBIN_U32("graphics/pokemon/back_pics/onix_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Onix[] = INCBIN_U32("graphics/pokemon/palettes/onix_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Onix[] = INCBIN_U8("graphics/pokemon/icons/onix_icon.4bpp");
-const u8 gMonFootprint_Onix[] = INCBIN_U8("graphics/pokemon/footprints/onix_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/front_pics/drowzee_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/palettes/drowzee_palette.gbapal.lz");
-const u32 gMonBackPic_Drowzee[] = INCBIN_U32("graphics/pokemon/back_pics/drowzee_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/palettes/drowzee_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Drowzee[] = INCBIN_U8("graphics/pokemon/icons/drowzee_icon.4bpp");
-const u8 gMonFootprint_Drowzee[] = INCBIN_U8("graphics/pokemon/footprints/drowzee_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/front_pics/hypno_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Hypno[] = INCBIN_U32("graphics/pokemon/palettes/hypno_palette.gbapal.lz");
-const u32 gMonBackPic_Hypno[] = INCBIN_U32("graphics/pokemon/back_pics/hypno_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Hypno[] = INCBIN_U32("graphics/pokemon/palettes/hypno_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Hypno[] = INCBIN_U8("graphics/pokemon/icons/hypno_icon.4bpp");
-const u8 gMonFootprint_Hypno[] = INCBIN_U8("graphics/pokemon/footprints/hypno_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/front_pics/krabby_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Krabby[] = INCBIN_U32("graphics/pokemon/palettes/krabby_palette.gbapal.lz");
-const u32 gMonBackPic_Krabby[] = INCBIN_U32("graphics/pokemon/back_pics/krabby_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Krabby[] = INCBIN_U32("graphics/pokemon/palettes/krabby_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Krabby[] = INCBIN_U8("graphics/pokemon/icons/krabby_icon.4bpp");
-const u8 gMonFootprint_Krabby[] = INCBIN_U8("graphics/pokemon/footprints/krabby_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/front_pics/kingler_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Kingler[] = INCBIN_U32("graphics/pokemon/palettes/kingler_palette.gbapal.lz");
-const u32 gMonBackPic_Kingler[] = INCBIN_U32("graphics/pokemon/back_pics/kingler_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Kingler[] = INCBIN_U32("graphics/pokemon/palettes/kingler_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Kingler[] = INCBIN_U8("graphics/pokemon/icons/kingler_icon.4bpp");
-const u8 gMonFootprint_Kingler[] = INCBIN_U8("graphics/pokemon/footprints/kingler_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/front_pics/voltorb_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/palettes/voltorb_palette.gbapal.lz");
-const u32 gMonBackPic_Voltorb[] = INCBIN_U32("graphics/pokemon/back_pics/voltorb_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/palettes/voltorb_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Voltorb[] = INCBIN_U8("graphics/pokemon/icons/voltorb_icon.4bpp");
-const u8 gMonFootprint_Voltorb[] = INCBIN_U8("graphics/pokemon/footprints/voltorb_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/front_pics/electrode_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Electrode[] = INCBIN_U32("graphics/pokemon/palettes/electrode_palette.gbapal.lz");
-const u32 gMonBackPic_Electrode[] = INCBIN_U32("graphics/pokemon/back_pics/electrode_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Electrode[] = INCBIN_U32("graphics/pokemon/palettes/electrode_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Electrode[] = INCBIN_U8("graphics/pokemon/icons/electrode_icon.4bpp");
-const u8 gMonFootprint_Electrode[] = INCBIN_U8("graphics/pokemon/footprints/electrode_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/front_pics/exeggcute_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/palettes/exeggcute_palette.gbapal.lz");
-const u32 gMonBackPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/back_pics/exeggcute_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/palettes/exeggcute_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Exeggcute[] = INCBIN_U8("graphics/pokemon/icons/exeggcute_icon.4bpp");
-const u8 gMonFootprint_Exeggcute[] = INCBIN_U8("graphics/pokemon/footprints/exeggcute_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/front_pics/exeggutor_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/palettes/exeggutor_palette.gbapal.lz");
-const u32 gMonBackPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/back_pics/exeggutor_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/palettes/exeggutor_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Exeggutor[] = INCBIN_U8("graphics/pokemon/icons/exeggutor_icon.4bpp");
-const u8 gMonFootprint_Exeggutor[] = INCBIN_U8("graphics/pokemon/footprints/exeggutor_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/front_pics/cubone_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Cubone[] = INCBIN_U32("graphics/pokemon/palettes/cubone_palette.gbapal.lz");
-const u32 gMonBackPic_Cubone[] = INCBIN_U32("graphics/pokemon/back_pics/cubone_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Cubone[] = INCBIN_U32("graphics/pokemon/palettes/cubone_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Cubone[] = INCBIN_U8("graphics/pokemon/icons/cubone_icon.4bpp");
-const u8 gMonFootprint_Cubone[] = INCBIN_U8("graphics/pokemon/footprints/cubone_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/front_pics/marowak_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Marowak[] = INCBIN_U32("graphics/pokemon/palettes/marowak_palette.gbapal.lz");
-const u32 gMonBackPic_Marowak[] = INCBIN_U32("graphics/pokemon/back_pics/marowak_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Marowak[] = INCBIN_U32("graphics/pokemon/palettes/marowak_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Marowak[] = INCBIN_U8("graphics/pokemon/icons/marowak_icon.4bpp");
-const u8 gMonFootprint_Marowak[] = INCBIN_U8("graphics/pokemon/footprints/marowak_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/front_pics/hitmonlee_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/palettes/hitmonlee_palette.gbapal.lz");
-const u32 gMonBackPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/back_pics/hitmonlee_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/palettes/hitmonlee_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Hitmonlee[] = INCBIN_U8("graphics/pokemon/icons/hitmonlee_icon.4bpp");
-const u8 gMonFootprint_Hitmonlee[] = INCBIN_U8("graphics/pokemon/footprints/hitmonlee_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/front_pics/hitmonchan_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/palettes/hitmonchan_palette.gbapal.lz");
-const u32 gMonBackPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/back_pics/hitmonchan_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/palettes/hitmonchan_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Hitmonchan[] = INCBIN_U8("graphics/pokemon/icons/hitmonchan_icon.4bpp");
-const u8 gMonFootprint_Hitmonchan[] = INCBIN_U8("graphics/pokemon/footprints/hitmonchan_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/front_pics/lickitung_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/palettes/lickitung_palette.gbapal.lz");
-const u32 gMonBackPic_Lickitung[] = INCBIN_U32("graphics/pokemon/back_pics/lickitung_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/palettes/lickitung_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Lickitung[] = INCBIN_U8("graphics/pokemon/icons/lickitung_icon.4bpp");
-const u8 gMonFootprint_Lickitung[] = INCBIN_U8("graphics/pokemon/footprints/lickitung_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/front_pics/koffing_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Koffing[] = INCBIN_U32("graphics/pokemon/palettes/koffing_palette.gbapal.lz");
-const u32 gMonBackPic_Koffing[] = INCBIN_U32("graphics/pokemon/back_pics/koffing_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Koffing[] = INCBIN_U32("graphics/pokemon/palettes/koffing_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Koffing[] = INCBIN_U8("graphics/pokemon/icons/koffing_icon.4bpp");
-const u8 gMonFootprint_Koffing[] = INCBIN_U8("graphics/pokemon/footprints/koffing_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/front_pics/weezing_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Weezing[] = INCBIN_U32("graphics/pokemon/palettes/weezing_palette.gbapal.lz");
-const u32 gMonBackPic_Weezing[] = INCBIN_U32("graphics/pokemon/back_pics/weezing_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Weezing[] = INCBIN_U32("graphics/pokemon/palettes/weezing_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Weezing[] = INCBIN_U8("graphics/pokemon/icons/weezing_icon.4bpp");
-const u8 gMonFootprint_Weezing[] = INCBIN_U8("graphics/pokemon/footprints/weezing_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/front_pics/rhyhorn_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/palettes/rhyhorn_palette.gbapal.lz");
-const u32 gMonBackPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/back_pics/rhyhorn_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/palettes/rhyhorn_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Rhyhorn[] = INCBIN_U8("graphics/pokemon/icons/rhyhorn_icon.4bpp");
-const u8 gMonFootprint_Rhyhorn[] = INCBIN_U8("graphics/pokemon/footprints/rhyhorn_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/front_pics/rhydon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/palettes/rhydon_palette.gbapal.lz");
-const u32 gMonBackPic_Rhydon[] = INCBIN_U32("graphics/pokemon/back_pics/rhydon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/palettes/rhydon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Rhydon[] = INCBIN_U8("graphics/pokemon/icons/rhydon_icon.4bpp");
-const u8 gMonFootprint_Rhydon[] = INCBIN_U8("graphics/pokemon/footprints/rhydon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/front_pics/chansey_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Chansey[] = INCBIN_U32("graphics/pokemon/palettes/chansey_palette.gbapal.lz");
-const u32 gMonBackPic_Chansey[] = INCBIN_U32("graphics/pokemon/back_pics/chansey_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Chansey[] = INCBIN_U32("graphics/pokemon/palettes/chansey_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Chansey[] = INCBIN_U8("graphics/pokemon/icons/chansey_icon.4bpp");
-const u8 gMonFootprint_Chansey[] = INCBIN_U8("graphics/pokemon/footprints/chansey_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/front_pics/tangela_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Tangela[] = INCBIN_U32("graphics/pokemon/palettes/tangela_palette.gbapal.lz");
-const u32 gMonBackPic_Tangela[] = INCBIN_U32("graphics/pokemon/back_pics/tangela_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Tangela[] = INCBIN_U32("graphics/pokemon/palettes/tangela_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Tangela[] = INCBIN_U8("graphics/pokemon/icons/tangela_icon.4bpp");
-const u8 gMonFootprint_Tangela[] = INCBIN_U8("graphics/pokemon/footprints/tangela_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/front_pics/kangaskhan_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/palettes/kangaskhan_palette.gbapal.lz");
-const u32 gMonBackPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/back_pics/kangaskhan_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/palettes/kangaskhan_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Kangaskhan[] = INCBIN_U8("graphics/pokemon/icons/kangaskhan_icon.4bpp");
-const u8 gMonFootprint_Kangaskhan[] = INCBIN_U8("graphics/pokemon/footprints/kangaskhan_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/front_pics/horsea_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Horsea[] = INCBIN_U32("graphics/pokemon/palettes/horsea_palette.gbapal.lz");
-const u32 gMonBackPic_Horsea[] = INCBIN_U32("graphics/pokemon/back_pics/horsea_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Horsea[] = INCBIN_U32("graphics/pokemon/palettes/horsea_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Horsea[] = INCBIN_U8("graphics/pokemon/icons/horsea_icon.4bpp");
-const u8 gMonFootprint_Horsea[] = INCBIN_U8("graphics/pokemon/footprints/horsea_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/front_pics/seadra_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Seadra[] = INCBIN_U32("graphics/pokemon/palettes/seadra_palette.gbapal.lz");
-const u32 gMonBackPic_Seadra[] = INCBIN_U32("graphics/pokemon/back_pics/seadra_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Seadra[] = INCBIN_U32("graphics/pokemon/palettes/seadra_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Seadra[] = INCBIN_U8("graphics/pokemon/icons/seadra_icon.4bpp");
-const u8 gMonFootprint_Seadra[] = INCBIN_U8("graphics/pokemon/footprints/seadra_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/front_pics/goldeen_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/palettes/goldeen_palette.gbapal.lz");
-const u32 gMonBackPic_Goldeen[] = INCBIN_U32("graphics/pokemon/back_pics/goldeen_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/palettes/goldeen_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Goldeen[] = INCBIN_U8("graphics/pokemon/icons/goldeen_icon.4bpp");
-const u8 gMonFootprint_Goldeen[] = INCBIN_U8("graphics/pokemon/footprints/goldeen_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/front_pics/seaking_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Seaking[] = INCBIN_U32("graphics/pokemon/palettes/seaking_palette.gbapal.lz");
-const u32 gMonBackPic_Seaking[] = INCBIN_U32("graphics/pokemon/back_pics/seaking_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Seaking[] = INCBIN_U32("graphics/pokemon/palettes/seaking_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Seaking[] = INCBIN_U8("graphics/pokemon/icons/seaking_icon.4bpp");
-const u8 gMonFootprint_Seaking[] = INCBIN_U8("graphics/pokemon/footprints/seaking_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/front_pics/staryu_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Staryu[] = INCBIN_U32("graphics/pokemon/palettes/staryu_palette.gbapal.lz");
-const u32 gMonBackPic_Staryu[] = INCBIN_U32("graphics/pokemon/back_pics/staryu_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Staryu[] = INCBIN_U32("graphics/pokemon/palettes/staryu_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Staryu[] = INCBIN_U8("graphics/pokemon/icons/staryu_icon.4bpp");
-const u8 gMonFootprint_Staryu[] = INCBIN_U8("graphics/pokemon/footprints/staryu_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/front_pics/starmie_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Starmie[] = INCBIN_U32("graphics/pokemon/palettes/starmie_palette.gbapal.lz");
-const u32 gMonBackPic_Starmie[] = INCBIN_U32("graphics/pokemon/back_pics/starmie_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Starmie[] = INCBIN_U32("graphics/pokemon/palettes/starmie_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Starmie[] = INCBIN_U8("graphics/pokemon/icons/starmie_icon.4bpp");
-const u8 gMonFootprint_Starmie[] = INCBIN_U8("graphics/pokemon/footprints/starmie_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/front_pics/mr_mime_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/palettes/mr_mime_palette.gbapal.lz");
-const u32 gMonBackPic_Mrmime[] = INCBIN_U32("graphics/pokemon/back_pics/mr_mime_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/palettes/mr_mime_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Mrmime[] = INCBIN_U8("graphics/pokemon/icons/mr_mime_icon.4bpp");
-const u8 gMonFootprint_Mrmime[] = INCBIN_U8("graphics/pokemon/footprints/mr_mime_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/front_pics/scyther_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Scyther[] = INCBIN_U32("graphics/pokemon/palettes/scyther_palette.gbapal.lz");
-const u32 gMonBackPic_Scyther[] = INCBIN_U32("graphics/pokemon/back_pics/scyther_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Scyther[] = INCBIN_U32("graphics/pokemon/palettes/scyther_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Scyther[] = INCBIN_U8("graphics/pokemon/icons/scyther_icon.4bpp");
-const u8 gMonFootprint_Scyther[] = INCBIN_U8("graphics/pokemon/footprints/scyther_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/front_pics/jynx_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Jynx[] = INCBIN_U32("graphics/pokemon/palettes/jynx_palette.gbapal.lz");
-const u32 gMonBackPic_Jynx[] = INCBIN_U32("graphics/pokemon/back_pics/jynx_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Jynx[] = INCBIN_U32("graphics/pokemon/palettes/jynx_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Jynx[] = INCBIN_U8("graphics/pokemon/icons/jynx_icon.4bpp");
-const u8 gMonFootprint_Jynx[] = INCBIN_U8("graphics/pokemon/footprints/jynx_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/front_pics/electabuzz_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/palettes/electabuzz_palette.gbapal.lz");
-const u32 gMonBackPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/back_pics/electabuzz_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/palettes/electabuzz_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Electabuzz[] = INCBIN_U8("graphics/pokemon/icons/electabuzz_icon.4bpp");
-const u8 gMonFootprint_Electabuzz[] = INCBIN_U8("graphics/pokemon/footprints/electabuzz_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/front_pics/magmar_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Magmar[] = INCBIN_U32("graphics/pokemon/palettes/magmar_palette.gbapal.lz");
-const u32 gMonBackPic_Magmar[] = INCBIN_U32("graphics/pokemon/back_pics/magmar_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Magmar[] = INCBIN_U32("graphics/pokemon/palettes/magmar_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Magmar[] = INCBIN_U8("graphics/pokemon/icons/magmar_icon.4bpp");
-const u8 gMonFootprint_Magmar[] = INCBIN_U8("graphics/pokemon/footprints/magmar_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/front_pics/pinsir_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/palettes/pinsir_palette.gbapal.lz");
-const u32 gMonBackPic_Pinsir[] = INCBIN_U32("graphics/pokemon/back_pics/pinsir_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/palettes/pinsir_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Pinsir[] = INCBIN_U8("graphics/pokemon/icons/pinsir_icon.4bpp");
-const u8 gMonFootprint_Pinsir[] = INCBIN_U8("graphics/pokemon/footprints/pinsir_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/front_pics/tauros_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Tauros[] = INCBIN_U32("graphics/pokemon/palettes/tauros_palette.gbapal.lz");
-const u32 gMonBackPic_Tauros[] = INCBIN_U32("graphics/pokemon/back_pics/tauros_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Tauros[] = INCBIN_U32("graphics/pokemon/palettes/tauros_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Tauros[] = INCBIN_U8("graphics/pokemon/icons/tauros_icon.4bpp");
-const u8 gMonFootprint_Tauros[] = INCBIN_U8("graphics/pokemon/footprints/tauros_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/front_pics/magikarp_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/palettes/magikarp_palette.gbapal.lz");
-const u32 gMonBackPic_Magikarp[] = INCBIN_U32("graphics/pokemon/back_pics/magikarp_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/palettes/magikarp_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Magikarp[] = INCBIN_U8("graphics/pokemon/icons/magikarp_icon.4bpp");
-const u8 gMonFootprint_Magikarp[] = INCBIN_U8("graphics/pokemon/footprints/magikarp_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/front_pics/gyarados_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/palettes/gyarados_palette.gbapal.lz");
-const u32 gMonBackPic_Gyarados[] = INCBIN_U32("graphics/pokemon/back_pics/gyarados_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/palettes/gyarados_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Gyarados[] = INCBIN_U8("graphics/pokemon/icons/gyarados_icon.4bpp");
-const u8 gMonFootprint_Gyarados[] = INCBIN_U8("graphics/pokemon/footprints/gyarados_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/front_pics/lapras_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Lapras[] = INCBIN_U32("graphics/pokemon/palettes/lapras_palette.gbapal.lz");
-const u32 gMonBackPic_Lapras[] = INCBIN_U32("graphics/pokemon/back_pics/lapras_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Lapras[] = INCBIN_U32("graphics/pokemon/palettes/lapras_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Lapras[] = INCBIN_U8("graphics/pokemon/icons/lapras_icon.4bpp");
-const u8 gMonFootprint_Lapras[] = INCBIN_U8("graphics/pokemon/footprints/lapras_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/front_pics/ditto_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Ditto[] = INCBIN_U32("graphics/pokemon/palettes/ditto_palette.gbapal.lz");
-const u32 gMonBackPic_Ditto[] = INCBIN_U32("graphics/pokemon/back_pics/ditto_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Ditto[] = INCBIN_U32("graphics/pokemon/palettes/ditto_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Ditto[] = INCBIN_U8("graphics/pokemon/icons/ditto_icon.4bpp");
-const u8 gMonFootprint_Ditto[] = INCBIN_U8("graphics/pokemon/footprints/ditto_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/front_pics/eevee_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Eevee[] = INCBIN_U32("graphics/pokemon/palettes/eevee_palette.gbapal.lz");
-const u32 gMonBackPic_Eevee[] = INCBIN_U32("graphics/pokemon/back_pics/eevee_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Eevee[] = INCBIN_U32("graphics/pokemon/palettes/eevee_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Eevee[] = INCBIN_U8("graphics/pokemon/icons/eevee_icon.4bpp");
-const u8 gMonFootprint_Eevee[] = INCBIN_U8("graphics/pokemon/footprints/eevee_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/front_pics/vaporeon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/palettes/vaporeon_palette.gbapal.lz");
-const u32 gMonBackPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/back_pics/vaporeon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/palettes/vaporeon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Vaporeon[] = INCBIN_U8("graphics/pokemon/icons/vaporeon_icon.4bpp");
-const u8 gMonFootprint_Vaporeon[] = INCBIN_U8("graphics/pokemon/footprints/vaporeon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/front_pics/jolteon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/palettes/jolteon_palette.gbapal.lz");
-const u32 gMonBackPic_Jolteon[] = INCBIN_U32("graphics/pokemon/back_pics/jolteon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/palettes/jolteon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Jolteon[] = INCBIN_U8("graphics/pokemon/icons/jolteon_icon.4bpp");
-const u8 gMonFootprint_Jolteon[] = INCBIN_U8("graphics/pokemon/footprints/jolteon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/front_pics/flareon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Flareon[] = INCBIN_U32("graphics/pokemon/palettes/flareon_palette.gbapal.lz");
-const u32 gMonBackPic_Flareon[] = INCBIN_U32("graphics/pokemon/back_pics/flareon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Flareon[] = INCBIN_U32("graphics/pokemon/palettes/flareon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Flareon[] = INCBIN_U8("graphics/pokemon/icons/flareon_icon.4bpp");
-const u8 gMonFootprint_Flareon[] = INCBIN_U8("graphics/pokemon/footprints/flareon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/front_pics/porygon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Porygon[] = INCBIN_U32("graphics/pokemon/palettes/porygon_palette.gbapal.lz");
-const u32 gMonBackPic_Porygon[] = INCBIN_U32("graphics/pokemon/back_pics/porygon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Porygon[] = INCBIN_U32("graphics/pokemon/palettes/porygon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Porygon[] = INCBIN_U8("graphics/pokemon/icons/porygon_icon.4bpp");
-const u8 gMonFootprint_Porygon[] = INCBIN_U8("graphics/pokemon/footprints/porygon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/front_pics/omanyte_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/palettes/omanyte_palette.gbapal.lz");
-const u32 gMonBackPic_Omanyte[] = INCBIN_U32("graphics/pokemon/back_pics/omanyte_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/palettes/omanyte_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Omanyte[] = INCBIN_U8("graphics/pokemon/icons/omanyte_icon.4bpp");
-const u8 gMonFootprint_Omanyte[] = INCBIN_U8("graphics/pokemon/footprints/omanyte_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/front_pics/omastar_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Omastar[] = INCBIN_U32("graphics/pokemon/palettes/omastar_palette.gbapal.lz");
-const u32 gMonBackPic_Omastar[] = INCBIN_U32("graphics/pokemon/back_pics/omastar_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Omastar[] = INCBIN_U32("graphics/pokemon/palettes/omastar_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Omastar[] = INCBIN_U8("graphics/pokemon/icons/omastar_icon.4bpp");
-const u8 gMonFootprint_Omastar[] = INCBIN_U8("graphics/pokemon/footprints/omastar_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/front_pics/kabuto_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/palettes/kabuto_palette.gbapal.lz");
-const u32 gMonBackPic_Kabuto[] = INCBIN_U32("graphics/pokemon/back_pics/kabuto_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/palettes/kabuto_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Kabuto[] = INCBIN_U8("graphics/pokemon/icons/kabuto_icon.4bpp");
-const u8 gMonFootprint_Kabuto[] = INCBIN_U8("graphics/pokemon/footprints/kabuto_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/front_pics/kabutops_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/palettes/kabutops_palette.gbapal.lz");
-const u32 gMonBackPic_Kabutops[] = INCBIN_U32("graphics/pokemon/back_pics/kabutops_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/palettes/kabutops_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Kabutops[] = INCBIN_U8("graphics/pokemon/icons/kabutops_icon.4bpp");
-const u8 gMonFootprint_Kabutops[] = INCBIN_U8("graphics/pokemon/footprints/kabutops_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/front_pics/aerodactyl_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/palettes/aerodactyl_palette.gbapal.lz");
-const u32 gMonBackPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/back_pics/aerodactyl_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/palettes/aerodactyl_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Aerodactyl[] = INCBIN_U8("graphics/pokemon/icons/aerodactyl_icon.4bpp");
-const u8 gMonFootprint_Aerodactyl[] = INCBIN_U8("graphics/pokemon/footprints/aerodactyl_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/front_pics/snorlax_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/palettes/snorlax_palette.gbapal.lz");
-const u32 gMonBackPic_Snorlax[] = INCBIN_U32("graphics/pokemon/back_pics/snorlax_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/palettes/snorlax_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Snorlax[] = INCBIN_U8("graphics/pokemon/icons/snorlax_icon.4bpp");
-const u8 gMonFootprint_Snorlax[] = INCBIN_U8("graphics/pokemon/footprints/snorlax_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/front_pics/articuno_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Articuno[] = INCBIN_U32("graphics/pokemon/palettes/articuno_palette.gbapal.lz");
-const u32 gMonBackPic_Articuno[] = INCBIN_U32("graphics/pokemon/back_pics/articuno_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Articuno[] = INCBIN_U32("graphics/pokemon/palettes/articuno_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Articuno[] = INCBIN_U8("graphics/pokemon/icons/articuno_icon.4bpp");
-const u8 gMonFootprint_Articuno[] = INCBIN_U8("graphics/pokemon/footprints/articuno_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/front_pics/zapdos_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/palettes/zapdos_palette.gbapal.lz");
-const u32 gMonBackPic_Zapdos[] = INCBIN_U32("graphics/pokemon/back_pics/zapdos_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/palettes/zapdos_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Zapdos[] = INCBIN_U8("graphics/pokemon/icons/zapdos_icon.4bpp");
-const u8 gMonFootprint_Zapdos[] = INCBIN_U8("graphics/pokemon/footprints/zapdos_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/front_pics/moltres_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Moltres[] = INCBIN_U32("graphics/pokemon/palettes/moltres_palette.gbapal.lz");
-const u32 gMonBackPic_Moltres[] = INCBIN_U32("graphics/pokemon/back_pics/moltres_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Moltres[] = INCBIN_U32("graphics/pokemon/palettes/moltres_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Moltres[] = INCBIN_U8("graphics/pokemon/icons/moltres_icon.4bpp");
-const u8 gMonFootprint_Moltres[] = INCBIN_U8("graphics/pokemon/footprints/moltres_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/front_pics/dratini_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Dratini[] = INCBIN_U32("graphics/pokemon/palettes/dratini_palette.gbapal.lz");
-const u32 gMonBackPic_Dratini[] = INCBIN_U32("graphics/pokemon/back_pics/dratini_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Dratini[] = INCBIN_U32("graphics/pokemon/palettes/dratini_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Dratini[] = INCBIN_U8("graphics/pokemon/icons/dratini_icon.4bpp");
-const u8 gMonFootprint_Dratini[] = INCBIN_U8("graphics/pokemon/footprints/dratini_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/front_pics/dragonair_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/palettes/dragonair_palette.gbapal.lz");
-const u32 gMonBackPic_Dragonair[] = INCBIN_U32("graphics/pokemon/back_pics/dragonair_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/palettes/dragonair_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Dragonair[] = INCBIN_U8("graphics/pokemon/icons/dragonair_icon.4bpp");
-const u8 gMonFootprint_Dragonair[] = INCBIN_U8("graphics/pokemon/footprints/dragonair_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/front_pics/dragonite_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/palettes/dragonite_palette.gbapal.lz");
-const u32 gMonBackPic_Dragonite[] = INCBIN_U32("graphics/pokemon/back_pics/dragonite_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/palettes/dragonite_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Dragonite[] = INCBIN_U8("graphics/pokemon/icons/dragonite_icon.4bpp");
-const u8 gMonFootprint_Dragonite[] = INCBIN_U8("graphics/pokemon/footprints/dragonite_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/front_pics/mewtwo_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/palettes/mewtwo_palette.gbapal.lz");
-const u32 gMonBackPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/back_pics/mewtwo_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/palettes/mewtwo_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Mewtwo[] = INCBIN_U8("graphics/pokemon/icons/mewtwo_icon.4bpp");
-const u8 gMonFootprint_Mewtwo[] = INCBIN_U8("graphics/pokemon/footprints/mewtwo_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/front_pics/mew_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Mew[] = INCBIN_U32("graphics/pokemon/palettes/mew_palette.gbapal.lz");
-const u32 gMonBackPic_Mew[] = INCBIN_U32("graphics/pokemon/back_pics/mew_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Mew[] = INCBIN_U32("graphics/pokemon/palettes/mew_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Mew[] = INCBIN_U8("graphics/pokemon/icons/mew_icon.4bpp");
-const u8 gMonFootprint_Mew[] = INCBIN_U8("graphics/pokemon/footprints/mew_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/front_pics/chikorita_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/palettes/chikorita_palette.gbapal.lz");
-const u32 gMonBackPic_Chikorita[] = INCBIN_U32("graphics/pokemon/back_pics/chikorita_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/palettes/chikorita_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Chikorita[] = INCBIN_U8("graphics/pokemon/icons/chikorita_icon.4bpp");
-const u8 gMonFootprint_Chikorita[] = INCBIN_U8("graphics/pokemon/footprints/chikorita_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/front_pics/bayleef_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/palettes/bayleef_palette.gbapal.lz");
-const u32 gMonBackPic_Bayleef[] = INCBIN_U32("graphics/pokemon/back_pics/bayleef_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/palettes/bayleef_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Bayleef[] = INCBIN_U8("graphics/pokemon/icons/bayleef_icon.4bpp");
-const u8 gMonFootprint_Bayleef[] = INCBIN_U8("graphics/pokemon/footprints/bayleef_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/front_pics/meganium_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Meganium[] = INCBIN_U32("graphics/pokemon/palettes/meganium_palette.gbapal.lz");
-const u32 gMonBackPic_Meganium[] = INCBIN_U32("graphics/pokemon/back_pics/meganium_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Meganium[] = INCBIN_U32("graphics/pokemon/palettes/meganium_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Meganium[] = INCBIN_U8("graphics/pokemon/icons/meganium_icon.4bpp");
-const u8 gMonFootprint_Meganium[] = INCBIN_U8("graphics/pokemon/footprints/meganium_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/front_pics/cyndaquil_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/palettes/cyndaquil_palette.gbapal.lz");
-const u32 gMonBackPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/back_pics/cyndaquil_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/palettes/cyndaquil_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Cyndaquil[] = INCBIN_U8("graphics/pokemon/icons/cyndaquil_icon.4bpp");
-const u8 gMonFootprint_Cyndaquil[] = INCBIN_U8("graphics/pokemon/footprints/cyndaquil_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/front_pics/quilava_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Quilava[] = INCBIN_U32("graphics/pokemon/palettes/quilava_palette.gbapal.lz");
-const u32 gMonBackPic_Quilava[] = INCBIN_U32("graphics/pokemon/back_pics/quilava_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Quilava[] = INCBIN_U32("graphics/pokemon/palettes/quilava_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Quilava[] = INCBIN_U8("graphics/pokemon/icons/quilava_icon.4bpp");
-const u8 gMonFootprint_Quilava[] = INCBIN_U8("graphics/pokemon/footprints/quilava_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/front_pics/typhlosion_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/palettes/typhlosion_palette.gbapal.lz");
-const u32 gMonBackPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/back_pics/typhlosion_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/palettes/typhlosion_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Typhlosion[] = INCBIN_U8("graphics/pokemon/icons/typhlosion_icon.4bpp");
-const u8 gMonFootprint_Typhlosion[] = INCBIN_U8("graphics/pokemon/footprints/typhlosion_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/front_pics/totodile_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Totodile[] = INCBIN_U32("graphics/pokemon/palettes/totodile_palette.gbapal.lz");
-const u32 gMonBackPic_Totodile[] = INCBIN_U32("graphics/pokemon/back_pics/totodile_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Totodile[] = INCBIN_U32("graphics/pokemon/palettes/totodile_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Totodile[] = INCBIN_U8("graphics/pokemon/icons/totodile_icon.4bpp");
-const u8 gMonFootprint_Totodile[] = INCBIN_U8("graphics/pokemon/footprints/totodile_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/front_pics/croconaw_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/palettes/croconaw_palette.gbapal.lz");
-const u32 gMonBackPic_Croconaw[] = INCBIN_U32("graphics/pokemon/back_pics/croconaw_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/palettes/croconaw_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Croconaw[] = INCBIN_U8("graphics/pokemon/icons/croconaw_icon.4bpp");
-const u8 gMonFootprint_Croconaw[] = INCBIN_U8("graphics/pokemon/footprints/croconaw_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/front_pics/feraligatr_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/palettes/feraligatr_palette.gbapal.lz");
-const u32 gMonBackPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/back_pics/feraligatr_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/palettes/feraligatr_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Feraligatr[] = INCBIN_U8("graphics/pokemon/icons/feraligatr_icon.4bpp");
-const u8 gMonFootprint_Feraligatr[] = INCBIN_U8("graphics/pokemon/footprints/feraligatr_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/front_pics/sentret_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Sentret[] = INCBIN_U32("graphics/pokemon/palettes/sentret_palette.gbapal.lz");
-const u32 gMonBackPic_Sentret[] = INCBIN_U32("graphics/pokemon/back_pics/sentret_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Sentret[] = INCBIN_U32("graphics/pokemon/palettes/sentret_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Sentret[] = INCBIN_U8("graphics/pokemon/icons/sentret_icon.4bpp");
-const u8 gMonFootprint_Sentret[] = INCBIN_U8("graphics/pokemon/footprints/sentret_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/front_pics/furret_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Furret[] = INCBIN_U32("graphics/pokemon/palettes/furret_palette.gbapal.lz");
-const u32 gMonBackPic_Furret[] = INCBIN_U32("graphics/pokemon/back_pics/furret_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Furret[] = INCBIN_U32("graphics/pokemon/palettes/furret_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Furret[] = INCBIN_U8("graphics/pokemon/icons/furret_icon.4bpp");
-const u8 gMonFootprint_Furret[] = INCBIN_U8("graphics/pokemon/footprints/furret_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/front_pics/hoothoot_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/palettes/hoothoot_palette.gbapal.lz");
-const u32 gMonBackPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/back_pics/hoothoot_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/palettes/hoothoot_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Hoothoot[] = INCBIN_U8("graphics/pokemon/icons/hoothoot_icon.4bpp");
-const u8 gMonFootprint_Hoothoot[] = INCBIN_U8("graphics/pokemon/footprints/hoothoot_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/front_pics/noctowl_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/palettes/noctowl_palette.gbapal.lz");
-const u32 gMonBackPic_Noctowl[] = INCBIN_U32("graphics/pokemon/back_pics/noctowl_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/palettes/noctowl_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Noctowl[] = INCBIN_U8("graphics/pokemon/icons/noctowl_icon.4bpp");
-const u8 gMonFootprint_Noctowl[] = INCBIN_U8("graphics/pokemon/footprints/noctowl_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/front_pics/ledyba_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/palettes/ledyba_palette.gbapal.lz");
-const u32 gMonBackPic_Ledyba[] = INCBIN_U32("graphics/pokemon/back_pics/ledyba_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/palettes/ledyba_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Ledyba[] = INCBIN_U8("graphics/pokemon/icons/ledyba_icon.4bpp");
-const u8 gMonFootprint_Ledyba[] = INCBIN_U8("graphics/pokemon/footprints/ledyba_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/front_pics/ledian_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Ledian[] = INCBIN_U32("graphics/pokemon/palettes/ledian_palette.gbapal.lz");
-const u32 gMonBackPic_Ledian[] = INCBIN_U32("graphics/pokemon/back_pics/ledian_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Ledian[] = INCBIN_U32("graphics/pokemon/palettes/ledian_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Ledian[] = INCBIN_U8("graphics/pokemon/icons/ledian_icon.4bpp");
-const u8 gMonFootprint_Ledian[] = INCBIN_U8("graphics/pokemon/footprints/ledian_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/front_pics/spinarak_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/palettes/spinarak_palette.gbapal.lz");
-const u32 gMonBackPic_Spinarak[] = INCBIN_U32("graphics/pokemon/back_pics/spinarak_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/palettes/spinarak_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Spinarak[] = INCBIN_U8("graphics/pokemon/icons/spinarak_icon.4bpp");
-const u8 gMonFootprint_Spinarak[] = INCBIN_U8("graphics/pokemon/footprints/spinarak_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/front_pics/ariados_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Ariados[] = INCBIN_U32("graphics/pokemon/palettes/ariados_palette.gbapal.lz");
-const u32 gMonBackPic_Ariados[] = INCBIN_U32("graphics/pokemon/back_pics/ariados_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Ariados[] = INCBIN_U32("graphics/pokemon/palettes/ariados_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Ariados[] = INCBIN_U8("graphics/pokemon/icons/ariados_icon.4bpp");
-const u8 gMonFootprint_Ariados[] = INCBIN_U8("graphics/pokemon/footprints/ariados_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/front_pics/crobat_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Crobat[] = INCBIN_U32("graphics/pokemon/palettes/crobat_palette.gbapal.lz");
-const u32 gMonBackPic_Crobat[] = INCBIN_U32("graphics/pokemon/back_pics/crobat_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Crobat[] = INCBIN_U32("graphics/pokemon/palettes/crobat_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Crobat[] = INCBIN_U8("graphics/pokemon/icons/crobat_icon.4bpp");
-const u8 gMonFootprint_Crobat[] = INCBIN_U8("graphics/pokemon/footprints/crobat_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/front_pics/chinchou_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/palettes/chinchou_palette.gbapal.lz");
-const u32 gMonBackPic_Chinchou[] = INCBIN_U32("graphics/pokemon/back_pics/chinchou_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/palettes/chinchou_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Chinchou[] = INCBIN_U8("graphics/pokemon/icons/chinchou_icon.4bpp");
-const u8 gMonFootprint_Chinchou[] = INCBIN_U8("graphics/pokemon/footprints/chinchou_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/front_pics/lanturn_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/palettes/lanturn_palette.gbapal.lz");
-const u32 gMonBackPic_Lanturn[] = INCBIN_U32("graphics/pokemon/back_pics/lanturn_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/palettes/lanturn_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Lanturn[] = INCBIN_U8("graphics/pokemon/icons/lanturn_icon.4bpp");
-const u8 gMonFootprint_Lanturn[] = INCBIN_U8("graphics/pokemon/footprints/lanturn_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/front_pics/pichu_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Pichu[] = INCBIN_U32("graphics/pokemon/palettes/pichu_palette.gbapal.lz");
-const u32 gMonBackPic_Pichu[] = INCBIN_U32("graphics/pokemon/back_pics/pichu_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Pichu[] = INCBIN_U32("graphics/pokemon/palettes/pichu_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Pichu[] = INCBIN_U8("graphics/pokemon/icons/pichu_icon.4bpp");
-const u8 gMonFootprint_Pichu[] = INCBIN_U8("graphics/pokemon/footprints/pichu_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/front_pics/cleffa_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/palettes/cleffa_palette.gbapal.lz");
-const u32 gMonBackPic_Cleffa[] = INCBIN_U32("graphics/pokemon/back_pics/cleffa_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/palettes/cleffa_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Cleffa[] = INCBIN_U8("graphics/pokemon/icons/cleffa_icon.4bpp");
-const u8 gMonFootprint_Cleffa[] = INCBIN_U8("graphics/pokemon/footprints/cleffa_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/front_pics/igglybuff_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/palettes/igglybuff_palette.gbapal.lz");
-const u32 gMonBackPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/back_pics/igglybuff_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/palettes/igglybuff_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Igglybuff[] = INCBIN_U8("graphics/pokemon/icons/igglybuff_icon.4bpp");
-const u8 gMonFootprint_Igglybuff[] = INCBIN_U8("graphics/pokemon/footprints/igglybuff_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/front_pics/togepi_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Togepi[] = INCBIN_U32("graphics/pokemon/palettes/togepi_palette.gbapal.lz");
-const u32 gMonBackPic_Togepi[] = INCBIN_U32("graphics/pokemon/back_pics/togepi_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Togepi[] = INCBIN_U32("graphics/pokemon/palettes/togepi_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Togepi[] = INCBIN_U8("graphics/pokemon/icons/togepi_icon.4bpp");
-const u8 gMonFootprint_Togepi[] = INCBIN_U8("graphics/pokemon/footprints/togepi_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/front_pics/togetic_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Togetic[] = INCBIN_U32("graphics/pokemon/palettes/togetic_palette.gbapal.lz");
-const u32 gMonBackPic_Togetic[] = INCBIN_U32("graphics/pokemon/back_pics/togetic_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Togetic[] = INCBIN_U32("graphics/pokemon/palettes/togetic_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Togetic[] = INCBIN_U8("graphics/pokemon/icons/togetic_icon.4bpp");
-const u8 gMonFootprint_Togetic[] = INCBIN_U8("graphics/pokemon/footprints/togetic_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/front_pics/natu_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Natu[] = INCBIN_U32("graphics/pokemon/palettes/natu_palette.gbapal.lz");
-const u32 gMonBackPic_Natu[] = INCBIN_U32("graphics/pokemon/back_pics/natu_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Natu[] = INCBIN_U32("graphics/pokemon/palettes/natu_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Natu[] = INCBIN_U8("graphics/pokemon/icons/natu_icon.4bpp");
-const u8 gMonFootprint_Natu[] = INCBIN_U8("graphics/pokemon/footprints/natu_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/front_pics/xatu_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Xatu[] = INCBIN_U32("graphics/pokemon/palettes/xatu_palette.gbapal.lz");
-const u32 gMonBackPic_Xatu[] = INCBIN_U32("graphics/pokemon/back_pics/xatu_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Xatu[] = INCBIN_U32("graphics/pokemon/palettes/xatu_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Xatu[] = INCBIN_U8("graphics/pokemon/icons/xatu_icon.4bpp");
-const u8 gMonFootprint_Xatu[] = INCBIN_U8("graphics/pokemon/footprints/xatu_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/front_pics/mareep_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Mareep[] = INCBIN_U32("graphics/pokemon/palettes/mareep_palette.gbapal.lz");
-const u32 gMonBackPic_Mareep[] = INCBIN_U32("graphics/pokemon/back_pics/mareep_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Mareep[] = INCBIN_U32("graphics/pokemon/palettes/mareep_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Mareep[] = INCBIN_U8("graphics/pokemon/icons/mareep_icon.4bpp");
-const u8 gMonFootprint_Mareep[] = INCBIN_U8("graphics/pokemon/footprints/mareep_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/front_pics/flaaffy_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/palettes/flaaffy_palette.gbapal.lz");
-const u32 gMonBackPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/back_pics/flaaffy_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/palettes/flaaffy_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Flaaffy[] = INCBIN_U8("graphics/pokemon/icons/flaaffy_icon.4bpp");
-const u8 gMonFootprint_Flaaffy[] = INCBIN_U8("graphics/pokemon/footprints/flaaffy_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/front_pics/ampharos_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/palettes/ampharos_palette.gbapal.lz");
-const u32 gMonBackPic_Ampharos[] = INCBIN_U32("graphics/pokemon/back_pics/ampharos_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/palettes/ampharos_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Ampharos[] = INCBIN_U8("graphics/pokemon/icons/ampharos_icon.4bpp");
-const u8 gMonFootprint_Ampharos[] = INCBIN_U8("graphics/pokemon/footprints/ampharos_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/front_pics/bellossom_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/palettes/bellossom_palette.gbapal.lz");
-const u32 gMonBackPic_Bellossom[] = INCBIN_U32("graphics/pokemon/back_pics/bellossom_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/palettes/bellossom_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Bellossom[] = INCBIN_U8("graphics/pokemon/icons/bellossom_icon.4bpp");
-const u8 gMonFootprint_Bellossom[] = INCBIN_U8("graphics/pokemon/footprints/bellossom_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/front_pics/marill_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Marill[] = INCBIN_U32("graphics/pokemon/palettes/marill_palette.gbapal.lz");
-const u32 gMonBackPic_Marill[] = INCBIN_U32("graphics/pokemon/back_pics/marill_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Marill[] = INCBIN_U32("graphics/pokemon/palettes/marill_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Marill[] = INCBIN_U8("graphics/pokemon/icons/marill_icon.4bpp");
-const u8 gMonFootprint_Marill[] = INCBIN_U8("graphics/pokemon/footprints/marill_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/front_pics/azumarill_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/palettes/azumarill_palette.gbapal.lz");
-const u32 gMonBackPic_Azumarill[] = INCBIN_U32("graphics/pokemon/back_pics/azumarill_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/palettes/azumarill_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Azumarill[] = INCBIN_U8("graphics/pokemon/icons/azumarill_icon.4bpp");
-const u8 gMonFootprint_Azumarill[] = INCBIN_U8("graphics/pokemon/footprints/azumarill_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/front_pics/sudowoodo_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/palettes/sudowoodo_palette.gbapal.lz");
-const u32 gMonBackPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/back_pics/sudowoodo_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/palettes/sudowoodo_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Sudowoodo[] = INCBIN_U8("graphics/pokemon/icons/sudowoodo_icon.4bpp");
-const u8 gMonFootprint_Sudowoodo[] = INCBIN_U8("graphics/pokemon/footprints/sudowoodo_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/front_pics/politoed_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Politoed[] = INCBIN_U32("graphics/pokemon/palettes/politoed_palette.gbapal.lz");
-const u32 gMonBackPic_Politoed[] = INCBIN_U32("graphics/pokemon/back_pics/politoed_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Politoed[] = INCBIN_U32("graphics/pokemon/palettes/politoed_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Politoed[] = INCBIN_U8("graphics/pokemon/icons/politoed_icon.4bpp");
-const u8 gMonFootprint_Politoed[] = INCBIN_U8("graphics/pokemon/footprints/politoed_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/front_pics/hoppip_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/palettes/hoppip_palette.gbapal.lz");
-const u32 gMonBackPic_Hoppip[] = INCBIN_U32("graphics/pokemon/back_pics/hoppip_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/palettes/hoppip_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Hoppip[] = INCBIN_U8("graphics/pokemon/icons/hoppip_icon.4bpp");
-const u8 gMonFootprint_Hoppip[] = INCBIN_U8("graphics/pokemon/footprints/hoppip_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/front_pics/skiploom_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/palettes/skiploom_palette.gbapal.lz");
-const u32 gMonBackPic_Skiploom[] = INCBIN_U32("graphics/pokemon/back_pics/skiploom_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/palettes/skiploom_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Skiploom[] = INCBIN_U8("graphics/pokemon/icons/skiploom_icon.4bpp");
-const u8 gMonFootprint_Skiploom[] = INCBIN_U8("graphics/pokemon/footprints/skiploom_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/front_pics/jumpluff_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/palettes/jumpluff_palette.gbapal.lz");
-const u32 gMonBackPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/back_pics/jumpluff_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/palettes/jumpluff_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Jumpluff[] = INCBIN_U8("graphics/pokemon/icons/jumpluff_icon.4bpp");
-const u8 gMonFootprint_Jumpluff[] = INCBIN_U8("graphics/pokemon/footprints/jumpluff_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/front_pics/aipom_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Aipom[] = INCBIN_U32("graphics/pokemon/palettes/aipom_palette.gbapal.lz");
-const u32 gMonBackPic_Aipom[] = INCBIN_U32("graphics/pokemon/back_pics/aipom_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Aipom[] = INCBIN_U32("graphics/pokemon/palettes/aipom_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Aipom[] = INCBIN_U8("graphics/pokemon/icons/aipom_icon.4bpp");
-const u8 gMonFootprint_Aipom[] = INCBIN_U8("graphics/pokemon/footprints/aipom_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/front_pics/sunkern_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/palettes/sunkern_palette.gbapal.lz");
-const u32 gMonBackPic_Sunkern[] = INCBIN_U32("graphics/pokemon/back_pics/sunkern_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/palettes/sunkern_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Sunkern[] = INCBIN_U8("graphics/pokemon/icons/sunkern_icon.4bpp");
-const u8 gMonFootprint_Sunkern[] = INCBIN_U8("graphics/pokemon/footprints/sunkern_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/front_pics/sunflora_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/palettes/sunflora_palette.gbapal.lz");
-const u32 gMonBackPic_Sunflora[] = INCBIN_U32("graphics/pokemon/back_pics/sunflora_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/palettes/sunflora_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Sunflora[] = INCBIN_U8("graphics/pokemon/icons/sunflora_icon.4bpp");
-const u8 gMonFootprint_Sunflora[] = INCBIN_U8("graphics/pokemon/footprints/sunflora_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/front_pics/yanma_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Yanma[] = INCBIN_U32("graphics/pokemon/palettes/yanma_palette.gbapal.lz");
-const u32 gMonBackPic_Yanma[] = INCBIN_U32("graphics/pokemon/back_pics/yanma_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Yanma[] = INCBIN_U32("graphics/pokemon/palettes/yanma_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Yanma[] = INCBIN_U8("graphics/pokemon/icons/yanma_icon.4bpp");
-const u8 gMonFootprint_Yanma[] = INCBIN_U8("graphics/pokemon/footprints/yanma_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/front_pics/wooper_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Wooper[] = INCBIN_U32("graphics/pokemon/palettes/wooper_palette.gbapal.lz");
-const u32 gMonBackPic_Wooper[] = INCBIN_U32("graphics/pokemon/back_pics/wooper_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Wooper[] = INCBIN_U32("graphics/pokemon/palettes/wooper_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Wooper[] = INCBIN_U8("graphics/pokemon/icons/wooper_icon.4bpp");
-const u8 gMonFootprint_Wooper[] = INCBIN_U8("graphics/pokemon/footprints/wooper_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/front_pics/quagsire_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/palettes/quagsire_palette.gbapal.lz");
-const u32 gMonBackPic_Quagsire[] = INCBIN_U32("graphics/pokemon/back_pics/quagsire_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/palettes/quagsire_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Quagsire[] = INCBIN_U8("graphics/pokemon/icons/quagsire_icon.4bpp");
-const u8 gMonFootprint_Quagsire[] = INCBIN_U8("graphics/pokemon/footprints/quagsire_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/front_pics/espeon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Espeon[] = INCBIN_U32("graphics/pokemon/palettes/espeon_palette.gbapal.lz");
-const u32 gMonBackPic_Espeon[] = INCBIN_U32("graphics/pokemon/back_pics/espeon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Espeon[] = INCBIN_U32("graphics/pokemon/palettes/espeon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Espeon[] = INCBIN_U8("graphics/pokemon/icons/espeon_icon.4bpp");
-const u8 gMonFootprint_Espeon[] = INCBIN_U8("graphics/pokemon/footprints/espeon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/front_pics/umbreon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/palettes/umbreon_palette.gbapal.lz");
-const u32 gMonBackPic_Umbreon[] = INCBIN_U32("graphics/pokemon/back_pics/umbreon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/palettes/umbreon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Umbreon[] = INCBIN_U8("graphics/pokemon/icons/umbreon_icon.4bpp");
-const u8 gMonFootprint_Umbreon[] = INCBIN_U8("graphics/pokemon/footprints/umbreon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/front_pics/murkrow_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/palettes/murkrow_palette.gbapal.lz");
-const u32 gMonBackPic_Murkrow[] = INCBIN_U32("graphics/pokemon/back_pics/murkrow_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/palettes/murkrow_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Murkrow[] = INCBIN_U8("graphics/pokemon/icons/murkrow_icon.4bpp");
-const u8 gMonFootprint_Murkrow[] = INCBIN_U8("graphics/pokemon/footprints/murkrow_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/front_pics/slowking_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Slowking[] = INCBIN_U32("graphics/pokemon/palettes/slowking_palette.gbapal.lz");
-const u32 gMonBackPic_Slowking[] = INCBIN_U32("graphics/pokemon/back_pics/slowking_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Slowking[] = INCBIN_U32("graphics/pokemon/palettes/slowking_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Slowking[] = INCBIN_U8("graphics/pokemon/icons/slowking_icon.4bpp");
-const u8 gMonFootprint_Slowking[] = INCBIN_U8("graphics/pokemon/footprints/slowking_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/front_pics/misdreavus_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/palettes/misdreavus_palette.gbapal.lz");
-const u32 gMonBackPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/back_pics/misdreavus_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/palettes/misdreavus_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Misdreavus[] = INCBIN_U8("graphics/pokemon/icons/misdreavus_icon.4bpp");
-const u8 gMonFootprint_Misdreavus[] = INCBIN_U8("graphics/pokemon/footprints/misdreavus_footprint.1bpp");
-
-const u32 gMonStillFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/front_pics/unown_a_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Unown[] = INCBIN_U32("graphics/pokemon/palettes/unown_palette.gbapal.lz");
-const u32 gMonBackPic_UnownA[] = INCBIN_U32("graphics/pokemon/back_pics/unown_a_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Unown[] = INCBIN_U32("graphics/pokemon/palettes/unown_shiny_palette.gbapal.lz");
-const u8 gMonIcon_UnownA[] = INCBIN_U8("graphics/pokemon/icons/unown_a_icon.4bpp");
-const u8 gMonFootprint_Unown[] = INCBIN_U8("graphics/pokemon/footprints/unown_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/front_pics/wobbuffet_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/palettes/wobbuffet_palette.gbapal.lz");
-const u32 gMonBackPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/back_pics/wobbuffet_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/palettes/wobbuffet_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Wobbuffet[] = INCBIN_U8("graphics/pokemon/icons/wobbuffet_icon.4bpp");
-const u8 gMonFootprint_Wobbuffet[] = INCBIN_U8("graphics/pokemon/footprints/wobbuffet_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/front_pics/girafarig_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/palettes/girafarig_palette.gbapal.lz");
-const u32 gMonBackPic_Girafarig[] = INCBIN_U32("graphics/pokemon/back_pics/girafarig_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/palettes/girafarig_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Girafarig[] = INCBIN_U8("graphics/pokemon/icons/girafarig_icon.4bpp");
-const u8 gMonFootprint_Girafarig[] = INCBIN_U8("graphics/pokemon/footprints/girafarig_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/front_pics/pineco_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Pineco[] = INCBIN_U32("graphics/pokemon/palettes/pineco_palette.gbapal.lz");
-const u32 gMonBackPic_Pineco[] = INCBIN_U32("graphics/pokemon/back_pics/pineco_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Pineco[] = INCBIN_U32("graphics/pokemon/palettes/pineco_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Pineco[] = INCBIN_U8("graphics/pokemon/icons/pineco_icon.4bpp");
-const u8 gMonFootprint_Pineco[] = INCBIN_U8("graphics/pokemon/footprints/pineco_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/front_pics/forretress_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Forretress[] = INCBIN_U32("graphics/pokemon/palettes/forretress_palette.gbapal.lz");
-const u32 gMonBackPic_Forretress[] = INCBIN_U32("graphics/pokemon/back_pics/forretress_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Forretress[] = INCBIN_U32("graphics/pokemon/palettes/forretress_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Forretress[] = INCBIN_U8("graphics/pokemon/icons/forretress_icon.4bpp");
-const u8 gMonFootprint_Forretress[] = INCBIN_U8("graphics/pokemon/footprints/forretress_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/front_pics/dunsparce_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/palettes/dunsparce_palette.gbapal.lz");
-const u32 gMonBackPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/back_pics/dunsparce_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/palettes/dunsparce_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Dunsparce[] = INCBIN_U8("graphics/pokemon/icons/dunsparce_icon.4bpp");
-const u8 gMonFootprint_Dunsparce[] = INCBIN_U8("graphics/pokemon/footprints/dunsparce_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/front_pics/gligar_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Gligar[] = INCBIN_U32("graphics/pokemon/palettes/gligar_palette.gbapal.lz");
-const u32 gMonBackPic_Gligar[] = INCBIN_U32("graphics/pokemon/back_pics/gligar_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Gligar[] = INCBIN_U32("graphics/pokemon/palettes/gligar_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Gligar[] = INCBIN_U8("graphics/pokemon/icons/gligar_icon.4bpp");
-const u8 gMonFootprint_Gligar[] = INCBIN_U8("graphics/pokemon/footprints/gligar_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/front_pics/steelix_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Steelix[] = INCBIN_U32("graphics/pokemon/palettes/steelix_palette.gbapal.lz");
-const u32 gMonBackPic_Steelix[] = INCBIN_U32("graphics/pokemon/back_pics/steelix_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Steelix[] = INCBIN_U32("graphics/pokemon/palettes/steelix_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Steelix[] = INCBIN_U8("graphics/pokemon/icons/steelix_icon.4bpp");
-const u8 gMonFootprint_Steelix[] = INCBIN_U8("graphics/pokemon/footprints/steelix_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/front_pics/snubbull_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/palettes/snubbull_palette.gbapal.lz");
-const u32 gMonBackPic_Snubbull[] = INCBIN_U32("graphics/pokemon/back_pics/snubbull_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/palettes/snubbull_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Snubbull[] = INCBIN_U8("graphics/pokemon/icons/snubbull_icon.4bpp");
-const u8 gMonFootprint_Snubbull[] = INCBIN_U8("graphics/pokemon/footprints/snubbull_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/front_pics/granbull_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Granbull[] = INCBIN_U32("graphics/pokemon/palettes/granbull_palette.gbapal.lz");
-const u32 gMonBackPic_Granbull[] = INCBIN_U32("graphics/pokemon/back_pics/granbull_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Granbull[] = INCBIN_U32("graphics/pokemon/palettes/granbull_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Granbull[] = INCBIN_U8("graphics/pokemon/icons/granbull_icon.4bpp");
-const u8 gMonFootprint_Granbull[] = INCBIN_U8("graphics/pokemon/footprints/granbull_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/front_pics/qwilfish_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/palettes/qwilfish_palette.gbapal.lz");
-const u32 gMonBackPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/back_pics/qwilfish_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/palettes/qwilfish_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Qwilfish[] = INCBIN_U8("graphics/pokemon/icons/qwilfish_icon.4bpp");
-const u8 gMonFootprint_Qwilfish[] = INCBIN_U8("graphics/pokemon/footprints/qwilfish_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/front_pics/scizor_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Scizor[] = INCBIN_U32("graphics/pokemon/palettes/scizor_palette.gbapal.lz");
-const u32 gMonBackPic_Scizor[] = INCBIN_U32("graphics/pokemon/back_pics/scizor_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Scizor[] = INCBIN_U32("graphics/pokemon/palettes/scizor_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Scizor[] = INCBIN_U8("graphics/pokemon/icons/scizor_icon.4bpp");
-const u8 gMonFootprint_Scizor[] = INCBIN_U8("graphics/pokemon/footprints/scizor_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/front_pics/shuckle_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/palettes/shuckle_palette.gbapal.lz");
-const u32 gMonBackPic_Shuckle[] = INCBIN_U32("graphics/pokemon/back_pics/shuckle_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/palettes/shuckle_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Shuckle[] = INCBIN_U8("graphics/pokemon/icons/shuckle_icon.4bpp");
-const u8 gMonFootprint_Shuckle[] = INCBIN_U8("graphics/pokemon/footprints/shuckle_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/front_pics/heracross_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Heracross[] = INCBIN_U32("graphics/pokemon/palettes/heracross_palette.gbapal.lz");
-const u32 gMonBackPic_Heracross[] = INCBIN_U32("graphics/pokemon/back_pics/heracross_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Heracross[] = INCBIN_U32("graphics/pokemon/palettes/heracross_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Heracross[] = INCBIN_U8("graphics/pokemon/icons/heracross_icon.4bpp");
-const u8 gMonFootprint_Heracross[] = INCBIN_U8("graphics/pokemon/footprints/heracross_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/front_pics/sneasel_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/palettes/sneasel_palette.gbapal.lz");
-const u32 gMonBackPic_Sneasel[] = INCBIN_U32("graphics/pokemon/back_pics/sneasel_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/palettes/sneasel_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Sneasel[] = INCBIN_U8("graphics/pokemon/icons/sneasel_icon.4bpp");
-const u8 gMonFootprint_Sneasel[] = INCBIN_U8("graphics/pokemon/footprints/sneasel_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/front_pics/teddiursa_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/palettes/teddiursa_palette.gbapal.lz");
-const u32 gMonBackPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/back_pics/teddiursa_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/palettes/teddiursa_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Teddiursa[] = INCBIN_U8("graphics/pokemon/icons/teddiursa_icon.4bpp");
-const u8 gMonFootprint_Teddiursa[] = INCBIN_U8("graphics/pokemon/footprints/teddiursa_footprint.1bpp");
-const u32 gMonStillFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/front_pics/ursaring_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/palettes/ursaring_palette.gbapal.lz");
-const u32 gMonBackPic_Ursaring[] = INCBIN_U32("graphics/pokemon/back_pics/ursaring_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/palettes/ursaring_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Ursaring[] = INCBIN_U8("graphics/pokemon/icons/ursaring_icon.4bpp");
-const u8 gMonFootprint_Ursaring[] = INCBIN_U8("graphics/pokemon/footprints/ursaring_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/front_pics/slugma_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Slugma[] = INCBIN_U32("graphics/pokemon/palettes/slugma_palette.gbapal.lz");
-const u32 gMonBackPic_Slugma[] = INCBIN_U32("graphics/pokemon/back_pics/slugma_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Slugma[] = INCBIN_U32("graphics/pokemon/palettes/slugma_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Slugma[] = INCBIN_U8("graphics/pokemon/icons/slugma_icon.4bpp");
-const u8 gMonFootprint_Slugma[] = INCBIN_U8("graphics/pokemon/footprints/slugma_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/front_pics/magcargo_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/palettes/magcargo_palette.gbapal.lz");
-const u32 gMonBackPic_Magcargo[] = INCBIN_U32("graphics/pokemon/back_pics/magcargo_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/palettes/magcargo_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Magcargo[] = INCBIN_U8("graphics/pokemon/icons/magcargo_icon.4bpp");
-const u8 gMonFootprint_Magcargo[] = INCBIN_U8("graphics/pokemon/footprints/magcargo_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/front_pics/swinub_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Swinub[] = INCBIN_U32("graphics/pokemon/palettes/swinub_palette.gbapal.lz");
-const u32 gMonBackPic_Swinub[] = INCBIN_U32("graphics/pokemon/back_pics/swinub_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Swinub[] = INCBIN_U32("graphics/pokemon/palettes/swinub_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Swinub[] = INCBIN_U8("graphics/pokemon/icons/swinub_icon.4bpp");
-const u8 gMonFootprint_Swinub[] = INCBIN_U8("graphics/pokemon/footprints/swinub_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/front_pics/piloswine_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/palettes/piloswine_palette.gbapal.lz");
-const u32 gMonBackPic_Piloswine[] = INCBIN_U32("graphics/pokemon/back_pics/piloswine_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/palettes/piloswine_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Piloswine[] = INCBIN_U8("graphics/pokemon/icons/piloswine_icon.4bpp");
-const u8 gMonFootprint_Piloswine[] = INCBIN_U8("graphics/pokemon/footprints/piloswine_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/front_pics/corsola_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Corsola[] = INCBIN_U32("graphics/pokemon/palettes/corsola_palette.gbapal.lz");
-const u32 gMonBackPic_Corsola[] = INCBIN_U32("graphics/pokemon/back_pics/corsola_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Corsola[] = INCBIN_U32("graphics/pokemon/palettes/corsola_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Corsola[] = INCBIN_U8("graphics/pokemon/icons/corsola_icon.4bpp");
-const u8 gMonFootprint_Corsola[] = INCBIN_U8("graphics/pokemon/footprints/corsola_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/front_pics/remoraid_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/palettes/remoraid_palette.gbapal.lz");
-const u32 gMonBackPic_Remoraid[] = INCBIN_U32("graphics/pokemon/back_pics/remoraid_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/palettes/remoraid_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Remoraid[] = INCBIN_U8("graphics/pokemon/icons/remoraid_icon.4bpp");
-const u8 gMonFootprint_Remoraid[] = INCBIN_U8("graphics/pokemon/footprints/remoraid_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/front_pics/octillery_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Octillery[] = INCBIN_U32("graphics/pokemon/palettes/octillery_palette.gbapal.lz");
-const u32 gMonBackPic_Octillery[] = INCBIN_U32("graphics/pokemon/back_pics/octillery_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Octillery[] = INCBIN_U32("graphics/pokemon/palettes/octillery_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Octillery[] = INCBIN_U8("graphics/pokemon/icons/octillery_icon.4bpp");
-const u8 gMonFootprint_Octillery[] = INCBIN_U8("graphics/pokemon/footprints/octillery_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/front_pics/delibird_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Delibird[] = INCBIN_U32("graphics/pokemon/palettes/delibird_palette.gbapal.lz");
-const u32 gMonBackPic_Delibird[] = INCBIN_U32("graphics/pokemon/back_pics/delibird_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Delibird[] = INCBIN_U32("graphics/pokemon/palettes/delibird_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Delibird[] = INCBIN_U8("graphics/pokemon/icons/delibird_icon.4bpp");
-const u8 gMonFootprint_Delibird[] = INCBIN_U8("graphics/pokemon/footprints/delibird_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/front_pics/mantine_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Mantine[] = INCBIN_U32("graphics/pokemon/palettes/mantine_palette.gbapal.lz");
-const u32 gMonBackPic_Mantine[] = INCBIN_U32("graphics/pokemon/back_pics/mantine_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Mantine[] = INCBIN_U32("graphics/pokemon/palettes/mantine_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Mantine[] = INCBIN_U8("graphics/pokemon/icons/mantine_icon.4bpp");
-const u8 gMonFootprint_Mantine[] = INCBIN_U8("graphics/pokemon/footprints/mantine_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/front_pics/skarmory_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/palettes/skarmory_palette.gbapal.lz");
-const u32 gMonBackPic_Skarmory[] = INCBIN_U32("graphics/pokemon/back_pics/skarmory_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/palettes/skarmory_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Skarmory[] = INCBIN_U8("graphics/pokemon/icons/skarmory_icon.4bpp");
-const u8 gMonFootprint_Skarmory[] = INCBIN_U8("graphics/pokemon/footprints/skarmory_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/front_pics/houndour_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Houndour[] = INCBIN_U32("graphics/pokemon/palettes/houndour_palette.gbapal.lz");
-const u32 gMonBackPic_Houndour[] = INCBIN_U32("graphics/pokemon/back_pics/houndour_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Houndour[] = INCBIN_U32("graphics/pokemon/palettes/houndour_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Houndour[] = INCBIN_U8("graphics/pokemon/icons/houndour_icon.4bpp");
-const u8 gMonFootprint_Houndour[] = INCBIN_U8("graphics/pokemon/footprints/houndour_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/front_pics/houndoom_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/palettes/houndoom_palette.gbapal.lz");
-const u32 gMonBackPic_Houndoom[] = INCBIN_U32("graphics/pokemon/back_pics/houndoom_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/palettes/houndoom_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Houndoom[] = INCBIN_U8("graphics/pokemon/icons/houndoom_icon.4bpp");
-const u8 gMonFootprint_Houndoom[] = INCBIN_U8("graphics/pokemon/footprints/houndoom_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/front_pics/kingdra_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/palettes/kingdra_palette.gbapal.lz");
-const u32 gMonBackPic_Kingdra[] = INCBIN_U32("graphics/pokemon/back_pics/kingdra_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/palettes/kingdra_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Kingdra[] = INCBIN_U8("graphics/pokemon/icons/kingdra_icon.4bpp");
-const u8 gMonFootprint_Kingdra[] = INCBIN_U8("graphics/pokemon/footprints/kingdra_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/front_pics/phanpy_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/palettes/phanpy_palette.gbapal.lz");
-const u32 gMonBackPic_Phanpy[] = INCBIN_U32("graphics/pokemon/back_pics/phanpy_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/palettes/phanpy_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Phanpy[] = INCBIN_U8("graphics/pokemon/icons/phanpy_icon.4bpp");
-const u8 gMonFootprint_Phanpy[] = INCBIN_U8("graphics/pokemon/footprints/phanpy_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/front_pics/donphan_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Donphan[] = INCBIN_U32("graphics/pokemon/palettes/donphan_palette.gbapal.lz");
-const u32 gMonBackPic_Donphan[] = INCBIN_U32("graphics/pokemon/back_pics/donphan_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Donphan[] = INCBIN_U32("graphics/pokemon/palettes/donphan_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Donphan[] = INCBIN_U8("graphics/pokemon/icons/donphan_icon.4bpp");
-const u8 gMonFootprint_Donphan[] = INCBIN_U8("graphics/pokemon/footprints/donphan_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/front_pics/porygon2_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/palettes/porygon2_palette.gbapal.lz");
-const u32 gMonBackPic_Porygon2[] = INCBIN_U32("graphics/pokemon/back_pics/porygon2_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/palettes/porygon2_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Porygon2[] = INCBIN_U8("graphics/pokemon/icons/porygon2_icon.4bpp");
-const u8 gMonFootprint_Porygon2[] = INCBIN_U8("graphics/pokemon/footprints/porygon2_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/front_pics/stantler_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Stantler[] = INCBIN_U32("graphics/pokemon/palettes/stantler_palette.gbapal.lz");
-const u32 gMonBackPic_Stantler[] = INCBIN_U32("graphics/pokemon/back_pics/stantler_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Stantler[] = INCBIN_U32("graphics/pokemon/palettes/stantler_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Stantler[] = INCBIN_U8("graphics/pokemon/icons/stantler_icon.4bpp");
-const u8 gMonFootprint_Stantler[] = INCBIN_U8("graphics/pokemon/footprints/stantler_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/front_pics/smeargle_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/palettes/smeargle_palette.gbapal.lz");
-const u32 gMonBackPic_Smeargle[] = INCBIN_U32("graphics/pokemon/back_pics/smeargle_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/palettes/smeargle_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Smeargle[] = INCBIN_U8("graphics/pokemon/icons/smeargle_icon.4bpp");
-const u8 gMonFootprint_Smeargle[] = INCBIN_U8("graphics/pokemon/footprints/smeargle_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/front_pics/tyrogue_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/palettes/tyrogue_palette.gbapal.lz");
-const u32 gMonBackPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/back_pics/tyrogue_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/palettes/tyrogue_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Tyrogue[] = INCBIN_U8("graphics/pokemon/icons/tyrogue_icon.4bpp");
-const u8 gMonFootprint_Tyrogue[] = INCBIN_U8("graphics/pokemon/footprints/tyrogue_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/front_pics/hitmontop_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/palettes/hitmontop_palette.gbapal.lz");
-const u32 gMonBackPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/back_pics/hitmontop_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/palettes/hitmontop_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Hitmontop[] = INCBIN_U8("graphics/pokemon/icons/hitmontop_icon.4bpp");
-const u8 gMonFootprint_Hitmontop[] = INCBIN_U8("graphics/pokemon/footprints/hitmontop_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/front_pics/smoochum_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/palettes/smoochum_palette.gbapal.lz");
-const u32 gMonBackPic_Smoochum[] = INCBIN_U32("graphics/pokemon/back_pics/smoochum_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/palettes/smoochum_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Smoochum[] = INCBIN_U8("graphics/pokemon/icons/smoochum_icon.4bpp");
-const u8 gMonFootprint_Smoochum[] = INCBIN_U8("graphics/pokemon/footprints/smoochum_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/front_pics/elekid_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Elekid[] = INCBIN_U32("graphics/pokemon/palettes/elekid_palette.gbapal.lz");
-const u32 gMonBackPic_Elekid[] = INCBIN_U32("graphics/pokemon/back_pics/elekid_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Elekid[] = INCBIN_U32("graphics/pokemon/palettes/elekid_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Elekid[] = INCBIN_U8("graphics/pokemon/icons/elekid_icon.4bpp");
-const u8 gMonFootprint_Elekid[] = INCBIN_U8("graphics/pokemon/footprints/elekid_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/front_pics/magby_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Magby[] = INCBIN_U32("graphics/pokemon/palettes/magby_palette.gbapal.lz");
-const u32 gMonBackPic_Magby[] = INCBIN_U32("graphics/pokemon/back_pics/magby_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Magby[] = INCBIN_U32("graphics/pokemon/palettes/magby_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Magby[] = INCBIN_U8("graphics/pokemon/icons/magby_icon.4bpp");
-const u8 gMonFootprint_Magby[] = INCBIN_U8("graphics/pokemon/footprints/magby_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/front_pics/miltank_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Miltank[] = INCBIN_U32("graphics/pokemon/palettes/miltank_palette.gbapal.lz");
-const u32 gMonBackPic_Miltank[] = INCBIN_U32("graphics/pokemon/back_pics/miltank_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Miltank[] = INCBIN_U32("graphics/pokemon/palettes/miltank_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Miltank[] = INCBIN_U8("graphics/pokemon/icons/miltank_icon.4bpp");
-const u8 gMonFootprint_Miltank[] = INCBIN_U8("graphics/pokemon/footprints/miltank_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/front_pics/blissey_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Blissey[] = INCBIN_U32("graphics/pokemon/palettes/blissey_palette.gbapal.lz");
-const u32 gMonBackPic_Blissey[] = INCBIN_U32("graphics/pokemon/back_pics/blissey_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Blissey[] = INCBIN_U32("graphics/pokemon/palettes/blissey_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Blissey[] = INCBIN_U8("graphics/pokemon/icons/blissey_icon.4bpp");
-const u8 gMonFootprint_Blissey[] = INCBIN_U8("graphics/pokemon/footprints/blissey_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/front_pics/raikou_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Raikou[] = INCBIN_U32("graphics/pokemon/palettes/raikou_palette.gbapal.lz");
-const u32 gMonBackPic_Raikou[] = INCBIN_U32("graphics/pokemon/back_pics/raikou_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Raikou[] = INCBIN_U32("graphics/pokemon/palettes/raikou_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Raikou[] = INCBIN_U8("graphics/pokemon/icons/raikou_icon.4bpp");
-const u8 gMonFootprint_Raikou[] = INCBIN_U8("graphics/pokemon/footprints/raikou_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/front_pics/entei_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Entei[] = INCBIN_U32("graphics/pokemon/palettes/entei_palette.gbapal.lz");
-const u32 gMonBackPic_Entei[] = INCBIN_U32("graphics/pokemon/back_pics/entei_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Entei[] = INCBIN_U32("graphics/pokemon/palettes/entei_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Entei[] = INCBIN_U8("graphics/pokemon/icons/entei_icon.4bpp");
-const u8 gMonFootprint_Entei[] = INCBIN_U8("graphics/pokemon/footprints/entei_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/front_pics/suicune_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Suicune[] = INCBIN_U32("graphics/pokemon/palettes/suicune_palette.gbapal.lz");
-const u32 gMonBackPic_Suicune[] = INCBIN_U32("graphics/pokemon/back_pics/suicune_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Suicune[] = INCBIN_U32("graphics/pokemon/palettes/suicune_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Suicune[] = INCBIN_U8("graphics/pokemon/icons/suicune_icon.4bpp");
-const u8 gMonFootprint_Suicune[] = INCBIN_U8("graphics/pokemon/footprints/suicune_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/front_pics/larvitar_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/palettes/larvitar_palette.gbapal.lz");
-const u32 gMonBackPic_Larvitar[] = INCBIN_U32("graphics/pokemon/back_pics/larvitar_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/palettes/larvitar_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Larvitar[] = INCBIN_U8("graphics/pokemon/icons/larvitar_icon.4bpp");
-const u8 gMonFootprint_Larvitar[] = INCBIN_U8("graphics/pokemon/footprints/larvitar_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/front_pics/pupitar_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/palettes/pupitar_palette.gbapal.lz");
-const u32 gMonBackPic_Pupitar[] = INCBIN_U32("graphics/pokemon/back_pics/pupitar_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/palettes/pupitar_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Pupitar[] = INCBIN_U8("graphics/pokemon/icons/pupitar_icon.4bpp");
-const u8 gMonFootprint_Pupitar[] = INCBIN_U8("graphics/pokemon/footprints/pupitar_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/front_pics/tyranitar_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/palettes/tyranitar_palette.gbapal.lz");
-const u32 gMonBackPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/back_pics/tyranitar_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/palettes/tyranitar_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Tyranitar[] = INCBIN_U8("graphics/pokemon/icons/tyranitar_icon.4bpp");
-const u8 gMonFootprint_Tyranitar[] = INCBIN_U8("graphics/pokemon/footprints/tyranitar_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/front_pics/lugia_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Lugia[] = INCBIN_U32("graphics/pokemon/palettes/lugia_palette.gbapal.lz");
-const u32 gMonBackPic_Lugia[] = INCBIN_U32("graphics/pokemon/back_pics/lugia_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Lugia[] = INCBIN_U32("graphics/pokemon/palettes/lugia_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Lugia[] = INCBIN_U8("graphics/pokemon/icons/lugia_icon.4bpp");
-const u8 gMonFootprint_Lugia[] = INCBIN_U8("graphics/pokemon/footprints/lugia_footprint.1bpp");
-
-const u32 gMonStillFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/front_pics/ho_oh_still_front_pic.4bpp.lz");
-const u32 gMonPalette_HoOh[] = INCBIN_U32("graphics/pokemon/palettes/ho_oh_palette.gbapal.lz");
-const u32 gMonBackPic_HoOh[] = INCBIN_U32("graphics/pokemon/back_pics/ho_oh_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_HoOh[] = INCBIN_U32("graphics/pokemon/palettes/ho_oh_shiny_palette.gbapal.lz");
-const u8 gMonIcon_HoOh[] = INCBIN_U8("graphics/pokemon/icons/ho_oh_icon.4bpp");
-const u8 gMonFootprint_HoOh[] = INCBIN_U8("graphics/pokemon/footprints/ho_oh_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/front_pics/celebi_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Celebi[] = INCBIN_U32("graphics/pokemon/palettes/celebi_palette.gbapal.lz");
-const u32 gMonBackPic_Celebi[] = INCBIN_U32("graphics/pokemon/back_pics/celebi_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Celebi[] = INCBIN_U32("graphics/pokemon/palettes/celebi_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Celebi[] = INCBIN_U8("graphics/pokemon/icons/celebi_icon.4bpp");
-const u8 gMonFootprint_Celebi[] = INCBIN_U8("graphics/pokemon/footprints/celebi_footprint.1bpp");
-
-const u32 gMonStillFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/front_pics/double_question_mark_still_front_pic.4bpp.lz");
-const u32 gMonPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/palettes/double_question_mark_palette.gbapal.lz");
-const u32 gMonBackPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/back_pics/double_question_mark_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/palettes/double_question_mark_shiny_palette.gbapal.lz");
-
-const u32 gMonStillFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/front_pics/treecko_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Treecko[] = INCBIN_U32("graphics/pokemon/palettes/treecko_palette.gbapal.lz");
-const u32 gMonBackPic_Treecko[] = INCBIN_U32("graphics/pokemon/back_pics/treecko_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Treecko[] = INCBIN_U32("graphics/pokemon/palettes/treecko_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Treecko[] = INCBIN_U8("graphics/pokemon/icons/treecko_icon.4bpp");
-const u8 gMonFootprint_Treecko[] = INCBIN_U8("graphics/pokemon/footprints/treecko_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/front_pics/grovyle_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/palettes/grovyle_palette.gbapal.lz");
-const u32 gMonBackPic_Grovyle[] = INCBIN_U32("graphics/pokemon/back_pics/grovyle_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/palettes/grovyle_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Grovyle[] = INCBIN_U8("graphics/pokemon/icons/grovyle_icon.4bpp");
-const u8 gMonFootprint_Grovyle[] = INCBIN_U8("graphics/pokemon/footprints/grovyle_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/front_pics/sceptile_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/palettes/sceptile_palette.gbapal.lz");
-const u32 gMonBackPic_Sceptile[] = INCBIN_U32("graphics/pokemon/back_pics/sceptile_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/palettes/sceptile_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Sceptile[] = INCBIN_U8("graphics/pokemon/icons/sceptile_icon.4bpp");
-const u8 gMonFootprint_Sceptile[] = INCBIN_U8("graphics/pokemon/footprints/sceptile_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/front_pics/torchic_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Torchic[] = INCBIN_U32("graphics/pokemon/palettes/torchic_palette.gbapal.lz");
-const u32 gMonBackPic_Torchic[] = INCBIN_U32("graphics/pokemon/back_pics/torchic_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Torchic[] = INCBIN_U32("graphics/pokemon/palettes/torchic_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Torchic[] = INCBIN_U8("graphics/pokemon/icons/torchic_icon.4bpp");
-const u8 gMonFootprint_Torchic[] = INCBIN_U8("graphics/pokemon/footprints/torchic_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/front_pics/combusken_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Combusken[] = INCBIN_U32("graphics/pokemon/palettes/combusken_palette.gbapal.lz");
-const u32 gMonBackPic_Combusken[] = INCBIN_U32("graphics/pokemon/back_pics/combusken_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Combusken[] = INCBIN_U32("graphics/pokemon/palettes/combusken_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Combusken[] = INCBIN_U8("graphics/pokemon/icons/combusken_icon.4bpp");
-const u8 gMonFootprint_Combusken[] = INCBIN_U8("graphics/pokemon/footprints/combusken_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/front_pics/blaziken_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/palettes/blaziken_palette.gbapal.lz");
-const u32 gMonBackPic_Blaziken[] = INCBIN_U32("graphics/pokemon/back_pics/blaziken_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/palettes/blaziken_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Blaziken[] = INCBIN_U8("graphics/pokemon/icons/blaziken_icon.4bpp");
-const u8 gMonFootprint_Blaziken[] = INCBIN_U8("graphics/pokemon/footprints/blaziken_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/front_pics/mudkip_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/palettes/mudkip_palette.gbapal.lz");
-const u32 gMonBackPic_Mudkip[] = INCBIN_U32("graphics/pokemon/back_pics/mudkip_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/palettes/mudkip_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Mudkip[] = INCBIN_U8("graphics/pokemon/icons/mudkip_icon.4bpp");
-const u8 gMonFootprint_Mudkip[] = INCBIN_U8("graphics/pokemon/footprints/mudkip_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/front_pics/marshtomp_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/palettes/marshtomp_palette.gbapal.lz");
-const u32 gMonBackPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/back_pics/marshtomp_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/palettes/marshtomp_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Marshtomp[] = INCBIN_U8("graphics/pokemon/icons/marshtomp_icon.4bpp");
-const u8 gMonFootprint_Marshtomp[] = INCBIN_U8("graphics/pokemon/footprints/marshtomp_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/front_pics/swampert_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Swampert[] = INCBIN_U32("graphics/pokemon/palettes/swampert_palette.gbapal.lz");
-const u32 gMonBackPic_Swampert[] = INCBIN_U32("graphics/pokemon/back_pics/swampert_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Swampert[] = INCBIN_U32("graphics/pokemon/palettes/swampert_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Swampert[] = INCBIN_U8("graphics/pokemon/icons/swampert_icon.4bpp");
-const u8 gMonFootprint_Swampert[] = INCBIN_U8("graphics/pokemon/footprints/swampert_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/front_pics/poochyena_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/palettes/poochyena_palette.gbapal.lz");
-const u32 gMonBackPic_Poochyena[] = INCBIN_U32("graphics/pokemon/back_pics/poochyena_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/palettes/poochyena_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Poochyena[] = INCBIN_U8("graphics/pokemon/icons/poochyena_icon.4bpp");
-const u8 gMonFootprint_Poochyena[] = INCBIN_U8("graphics/pokemon/footprints/poochyena_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/front_pics/mightyena_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/palettes/mightyena_palette.gbapal.lz");
-const u32 gMonBackPic_Mightyena[] = INCBIN_U32("graphics/pokemon/back_pics/mightyena_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/palettes/mightyena_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Mightyena[] = INCBIN_U8("graphics/pokemon/icons/mightyena_icon.4bpp");
-const u8 gMonFootprint_Mightyena[] = INCBIN_U8("graphics/pokemon/footprints/mightyena_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/front_pics/zigzagoon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/palettes/zigzagoon_palette.gbapal.lz");
-const u32 gMonBackPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/back_pics/zigzagoon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/palettes/zigzagoon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Zigzagoon[] = INCBIN_U8("graphics/pokemon/icons/zigzagoon_icon.4bpp");
-const u8 gMonFootprint_Zigzagoon[] = INCBIN_U8("graphics/pokemon/footprints/zigzagoon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/front_pics/linoone_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Linoone[] = INCBIN_U32("graphics/pokemon/palettes/linoone_palette.gbapal.lz");
-const u32 gMonBackPic_Linoone[] = INCBIN_U32("graphics/pokemon/back_pics/linoone_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Linoone[] = INCBIN_U32("graphics/pokemon/palettes/linoone_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Linoone[] = INCBIN_U8("graphics/pokemon/icons/linoone_icon.4bpp");
-const u8 gMonFootprint_Linoone[] = INCBIN_U8("graphics/pokemon/footprints/linoone_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/front_pics/wurmple_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/palettes/wurmple_palette.gbapal.lz");
-const u32 gMonBackPic_Wurmple[] = INCBIN_U32("graphics/pokemon/back_pics/wurmple_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/palettes/wurmple_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Wurmple[] = INCBIN_U8("graphics/pokemon/icons/wurmple_icon.4bpp");
-const u8 gMonFootprint_Wurmple[] = INCBIN_U8("graphics/pokemon/footprints/wurmple_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/front_pics/silcoon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/palettes/silcoon_palette.gbapal.lz");
-const u32 gMonBackPic_Silcoon[] = INCBIN_U32("graphics/pokemon/back_pics/silcoon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/palettes/silcoon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Silcoon[] = INCBIN_U8("graphics/pokemon/icons/silcoon_icon.4bpp");
-const u8 gMonFootprint_Silcoon[] = INCBIN_U8("graphics/pokemon/footprints/silcoon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/front_pics/beautifly_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/palettes/beautifly_palette.gbapal.lz");
-const u32 gMonBackPic_Beautifly[] = INCBIN_U32("graphics/pokemon/back_pics/beautifly_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/palettes/beautifly_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Beautifly[] = INCBIN_U8("graphics/pokemon/icons/beautifly_icon.4bpp");
-const u8 gMonFootprint_Beautifly[] = INCBIN_U8("graphics/pokemon/footprints/beautifly_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/front_pics/cascoon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/palettes/cascoon_palette.gbapal.lz");
-const u32 gMonBackPic_Cascoon[] = INCBIN_U32("graphics/pokemon/back_pics/cascoon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/palettes/cascoon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Cascoon[] = INCBIN_U8("graphics/pokemon/icons/cascoon_icon.4bpp");
-const u8 gMonFootprint_Cascoon[] = INCBIN_U8("graphics/pokemon/footprints/cascoon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/front_pics/dustox_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Dustox[] = INCBIN_U32("graphics/pokemon/palettes/dustox_palette.gbapal.lz");
-const u32 gMonBackPic_Dustox[] = INCBIN_U32("graphics/pokemon/back_pics/dustox_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Dustox[] = INCBIN_U32("graphics/pokemon/palettes/dustox_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Dustox[] = INCBIN_U8("graphics/pokemon/icons/dustox_icon.4bpp");
-const u8 gMonFootprint_Dustox[] = INCBIN_U8("graphics/pokemon/footprints/dustox_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/front_pics/lotad_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Lotad[] = INCBIN_U32("graphics/pokemon/palettes/lotad_palette.gbapal.lz");
-const u32 gMonBackPic_Lotad[] = INCBIN_U32("graphics/pokemon/back_pics/lotad_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Lotad[] = INCBIN_U32("graphics/pokemon/palettes/lotad_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Lotad[] = INCBIN_U8("graphics/pokemon/icons/lotad_icon.4bpp");
-const u8 gMonFootprint_Lotad[] = INCBIN_U8("graphics/pokemon/footprints/lotad_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/front_pics/lombre_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Lombre[] = INCBIN_U32("graphics/pokemon/palettes/lombre_palette.gbapal.lz");
-const u32 gMonBackPic_Lombre[] = INCBIN_U32("graphics/pokemon/back_pics/lombre_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Lombre[] = INCBIN_U32("graphics/pokemon/palettes/lombre_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Lombre[] = INCBIN_U8("graphics/pokemon/icons/lombre_icon.4bpp");
-const u8 gMonFootprint_Lombre[] = INCBIN_U8("graphics/pokemon/footprints/lombre_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/front_pics/ludicolo_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/palettes/ludicolo_palette.gbapal.lz");
-const u32 gMonBackPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/back_pics/ludicolo_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/palettes/ludicolo_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Ludicolo[] = INCBIN_U8("graphics/pokemon/icons/ludicolo_icon.4bpp");
-const u8 gMonFootprint_Ludicolo[] = INCBIN_U8("graphics/pokemon/footprints/ludicolo_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/front_pics/seedot_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Seedot[] = INCBIN_U32("graphics/pokemon/palettes/seedot_palette.gbapal.lz");
-const u32 gMonBackPic_Seedot[] = INCBIN_U32("graphics/pokemon/back_pics/seedot_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Seedot[] = INCBIN_U32("graphics/pokemon/palettes/seedot_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Seedot[] = INCBIN_U8("graphics/pokemon/icons/seedot_icon.4bpp");
-const u8 gMonFootprint_Seedot[] = INCBIN_U8("graphics/pokemon/footprints/seedot_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/front_pics/nuzleaf_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/palettes/nuzleaf_palette.gbapal.lz");
-const u32 gMonBackPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/back_pics/nuzleaf_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/palettes/nuzleaf_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Nuzleaf[] = INCBIN_U8("graphics/pokemon/icons/nuzleaf_icon.4bpp");
-const u8 gMonFootprint_Nuzleaf[] = INCBIN_U8("graphics/pokemon/footprints/nuzleaf_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/front_pics/shiftry_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/palettes/shiftry_palette.gbapal.lz");
-const u32 gMonBackPic_Shiftry[] = INCBIN_U32("graphics/pokemon/back_pics/shiftry_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/palettes/shiftry_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Shiftry[] = INCBIN_U8("graphics/pokemon/icons/shiftry_icon.4bpp");
-const u8 gMonFootprint_Shiftry[] = INCBIN_U8("graphics/pokemon/footprints/shiftry_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/front_pics/nincada_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Nincada[] = INCBIN_U32("graphics/pokemon/palettes/nincada_palette.gbapal.lz");
-const u32 gMonBackPic_Nincada[] = INCBIN_U32("graphics/pokemon/back_pics/nincada_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Nincada[] = INCBIN_U32("graphics/pokemon/palettes/nincada_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Nincada[] = INCBIN_U8("graphics/pokemon/icons/nincada_icon.4bpp");
-const u8 gMonFootprint_Nincada[] = INCBIN_U8("graphics/pokemon/footprints/nincada_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/front_pics/ninjask_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/palettes/ninjask_palette.gbapal.lz");
-const u32 gMonBackPic_Ninjask[] = INCBIN_U32("graphics/pokemon/back_pics/ninjask_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/palettes/ninjask_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Ninjask[] = INCBIN_U8("graphics/pokemon/icons/ninjask_icon.4bpp");
-const u8 gMonFootprint_Ninjask[] = INCBIN_U8("graphics/pokemon/footprints/ninjask_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/front_pics/shedinja_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/palettes/shedinja_palette.gbapal.lz");
-const u32 gMonBackPic_Shedinja[] = INCBIN_U32("graphics/pokemon/back_pics/shedinja_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/palettes/shedinja_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Shedinja[] = INCBIN_U8("graphics/pokemon/icons/shedinja_icon.4bpp");
-const u8 gMonFootprint_Shedinja[] = INCBIN_U8("graphics/pokemon/footprints/shedinja_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/front_pics/taillow_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Taillow[] = INCBIN_U32("graphics/pokemon/palettes/taillow_palette.gbapal.lz");
-const u32 gMonBackPic_Taillow[] = INCBIN_U32("graphics/pokemon/back_pics/taillow_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Taillow[] = INCBIN_U32("graphics/pokemon/palettes/taillow_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Taillow[] = INCBIN_U8("graphics/pokemon/icons/taillow_icon.4bpp");
-const u8 gMonFootprint_Taillow[] = INCBIN_U8("graphics/pokemon/footprints/taillow_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/front_pics/swellow_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Swellow[] = INCBIN_U32("graphics/pokemon/palettes/swellow_palette.gbapal.lz");
-const u32 gMonBackPic_Swellow[] = INCBIN_U32("graphics/pokemon/back_pics/swellow_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Swellow[] = INCBIN_U32("graphics/pokemon/palettes/swellow_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Swellow[] = INCBIN_U8("graphics/pokemon/icons/swellow_icon.4bpp");
-const u8 gMonFootprint_Swellow[] = INCBIN_U8("graphics/pokemon/footprints/swellow_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/front_pics/shroomish_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/palettes/shroomish_palette.gbapal.lz");
-const u32 gMonBackPic_Shroomish[] = INCBIN_U32("graphics/pokemon/back_pics/shroomish_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/palettes/shroomish_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Shroomish[] = INCBIN_U8("graphics/pokemon/icons/shroomish_icon.4bpp");
-const u8 gMonFootprint_Shroomish[] = INCBIN_U8("graphics/pokemon/footprints/shroomish_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/front_pics/breloom_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Breloom[] = INCBIN_U32("graphics/pokemon/palettes/breloom_palette.gbapal.lz");
-const u32 gMonBackPic_Breloom[] = INCBIN_U32("graphics/pokemon/back_pics/breloom_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Breloom[] = INCBIN_U32("graphics/pokemon/palettes/breloom_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Breloom[] = INCBIN_U8("graphics/pokemon/icons/breloom_icon.4bpp");
-const u8 gMonFootprint_Breloom[] = INCBIN_U8("graphics/pokemon/footprints/breloom_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Spinda[] = INCBIN_U32("graphics/pokemon/front_pics/spinda_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Spinda[] = INCBIN_U32("graphics/pokemon/palettes/spinda_palette.gbapal.lz");
-const u32 gMonBackPic_Spinda[] = INCBIN_U32("graphics/pokemon/back_pics/spinda_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Spinda[] = INCBIN_U32("graphics/pokemon/palettes/spinda_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Spinda[] = INCBIN_U8("graphics/pokemon/icons/spinda_icon.4bpp");
-const u8 gMonFootprint_Spinda[] = INCBIN_U8("graphics/pokemon/footprints/spinda_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/front_pics/wingull_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Wingull[] = INCBIN_U32("graphics/pokemon/palettes/wingull_palette.gbapal.lz");
-const u32 gMonBackPic_Wingull[] = INCBIN_U32("graphics/pokemon/back_pics/wingull_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Wingull[] = INCBIN_U32("graphics/pokemon/palettes/wingull_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Wingull[] = INCBIN_U8("graphics/pokemon/icons/wingull_icon.4bpp");
-const u8 gMonFootprint_Wingull[] = INCBIN_U8("graphics/pokemon/footprints/wingull_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/front_pics/pelipper_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/palettes/pelipper_palette.gbapal.lz");
-const u32 gMonBackPic_Pelipper[] = INCBIN_U32("graphics/pokemon/back_pics/pelipper_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/palettes/pelipper_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Pelipper[] = INCBIN_U8("graphics/pokemon/icons/pelipper_icon.4bpp");
-const u8 gMonFootprint_Pelipper[] = INCBIN_U8("graphics/pokemon/footprints/pelipper_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/front_pics/surskit_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Surskit[] = INCBIN_U32("graphics/pokemon/palettes/surskit_palette.gbapal.lz");
-const u32 gMonBackPic_Surskit[] = INCBIN_U32("graphics/pokemon/back_pics/surskit_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Surskit[] = INCBIN_U32("graphics/pokemon/palettes/surskit_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Surskit[] = INCBIN_U8("graphics/pokemon/icons/surskit_icon.4bpp");
-const u8 gMonFootprint_Surskit[] = INCBIN_U8("graphics/pokemon/footprints/surskit_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/front_pics/masquerain_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/palettes/masquerain_palette.gbapal.lz");
-const u32 gMonBackPic_Masquerain[] = INCBIN_U32("graphics/pokemon/back_pics/masquerain_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/palettes/masquerain_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Masquerain[] = INCBIN_U8("graphics/pokemon/icons/masquerain_icon.4bpp");
-const u8 gMonFootprint_Masquerain[] = INCBIN_U8("graphics/pokemon/footprints/masquerain_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/front_pics/wailmer_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/palettes/wailmer_palette.gbapal.lz");
-const u32 gMonBackPic_Wailmer[] = INCBIN_U32("graphics/pokemon/back_pics/wailmer_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/palettes/wailmer_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Wailmer[] = INCBIN_U8("graphics/pokemon/icons/wailmer_icon.4bpp");
-const u8 gMonFootprint_Wailmer[] = INCBIN_U8("graphics/pokemon/footprints/wailmer_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/front_pics/wailord_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Wailord[] = INCBIN_U32("graphics/pokemon/palettes/wailord_palette.gbapal.lz");
-const u32 gMonBackPic_Wailord[] = INCBIN_U32("graphics/pokemon/back_pics/wailord_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Wailord[] = INCBIN_U32("graphics/pokemon/palettes/wailord_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Wailord[] = INCBIN_U8("graphics/pokemon/icons/wailord_icon.4bpp");
-const u8 gMonFootprint_Wailord[] = INCBIN_U8("graphics/pokemon/footprints/wailord_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/front_pics/skitty_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Skitty[] = INCBIN_U32("graphics/pokemon/palettes/skitty_palette.gbapal.lz");
-const u32 gMonBackPic_Skitty[] = INCBIN_U32("graphics/pokemon/back_pics/skitty_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Skitty[] = INCBIN_U32("graphics/pokemon/palettes/skitty_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Skitty[] = INCBIN_U8("graphics/pokemon/icons/skitty_icon.4bpp");
-const u8 gMonFootprint_Skitty[] = INCBIN_U8("graphics/pokemon/footprints/skitty_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/front_pics/delcatty_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/palettes/delcatty_palette.gbapal.lz");
-const u32 gMonBackPic_Delcatty[] = INCBIN_U32("graphics/pokemon/back_pics/delcatty_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/palettes/delcatty_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Delcatty[] = INCBIN_U8("graphics/pokemon/icons/delcatty_icon.4bpp");
-const u8 gMonFootprint_Delcatty[] = INCBIN_U8("graphics/pokemon/footprints/delcatty_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/front_pics/kecleon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/palettes/kecleon_palette.gbapal.lz");
-const u32 gMonBackPic_Kecleon[] = INCBIN_U32("graphics/pokemon/back_pics/kecleon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/palettes/kecleon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Kecleon[] = INCBIN_U8("graphics/pokemon/icons/kecleon_icon.4bpp");
-const u8 gMonFootprint_Kecleon[] = INCBIN_U8("graphics/pokemon/footprints/kecleon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/front_pics/baltoy_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/palettes/baltoy_palette.gbapal.lz");
-const u32 gMonBackPic_Baltoy[] = INCBIN_U32("graphics/pokemon/back_pics/baltoy_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/palettes/baltoy_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Baltoy[] = INCBIN_U8("graphics/pokemon/icons/baltoy_icon.4bpp");
-const u8 gMonFootprint_Baltoy[] = INCBIN_U8("graphics/pokemon/footprints/baltoy_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/front_pics/claydol_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Claydol[] = INCBIN_U32("graphics/pokemon/palettes/claydol_palette.gbapal.lz");
-const u32 gMonBackPic_Claydol[] = INCBIN_U32("graphics/pokemon/back_pics/claydol_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Claydol[] = INCBIN_U32("graphics/pokemon/palettes/claydol_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Claydol[] = INCBIN_U8("graphics/pokemon/icons/claydol_icon.4bpp");
-const u8 gMonFootprint_Claydol[] = INCBIN_U8("graphics/pokemon/footprints/claydol_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/front_pics/nosepass_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/palettes/nosepass_palette.gbapal.lz");
-const u32 gMonBackPic_Nosepass[] = INCBIN_U32("graphics/pokemon/back_pics/nosepass_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/palettes/nosepass_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Nosepass[] = INCBIN_U8("graphics/pokemon/icons/nosepass_icon.4bpp");
-const u8 gMonFootprint_Nosepass[] = INCBIN_U8("graphics/pokemon/footprints/nosepass_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/front_pics/torkoal_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/palettes/torkoal_palette.gbapal.lz");
-const u32 gMonBackPic_Torkoal[] = INCBIN_U32("graphics/pokemon/back_pics/torkoal_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/palettes/torkoal_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Torkoal[] = INCBIN_U8("graphics/pokemon/icons/torkoal_icon.4bpp");
-const u8 gMonFootprint_Torkoal[] = INCBIN_U8("graphics/pokemon/footprints/torkoal_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/front_pics/sableye_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Sableye[] = INCBIN_U32("graphics/pokemon/palettes/sableye_palette.gbapal.lz");
-const u32 gMonBackPic_Sableye[] = INCBIN_U32("graphics/pokemon/back_pics/sableye_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Sableye[] = INCBIN_U32("graphics/pokemon/palettes/sableye_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Sableye[] = INCBIN_U8("graphics/pokemon/icons/sableye_icon.4bpp");
-const u8 gMonFootprint_Sableye[] = INCBIN_U8("graphics/pokemon/footprints/sableye_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/front_pics/barboach_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Barboach[] = INCBIN_U32("graphics/pokemon/palettes/barboach_palette.gbapal.lz");
-const u32 gMonBackPic_Barboach[] = INCBIN_U32("graphics/pokemon/back_pics/barboach_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Barboach[] = INCBIN_U32("graphics/pokemon/palettes/barboach_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Barboach[] = INCBIN_U8("graphics/pokemon/icons/barboach_icon.4bpp");
-const u8 gMonFootprint_Barboach[] = INCBIN_U8("graphics/pokemon/footprints/barboach_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/front_pics/whiscash_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/palettes/whiscash_palette.gbapal.lz");
-const u32 gMonBackPic_Whiscash[] = INCBIN_U32("graphics/pokemon/back_pics/whiscash_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/palettes/whiscash_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Whiscash[] = INCBIN_U8("graphics/pokemon/icons/whiscash_icon.4bpp");
-const u8 gMonFootprint_Whiscash[] = INCBIN_U8("graphics/pokemon/footprints/whiscash_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/front_pics/luvdisc_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/palettes/luvdisc_palette.gbapal.lz");
-const u32 gMonBackPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/back_pics/luvdisc_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/palettes/luvdisc_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Luvdisc[] = INCBIN_U8("graphics/pokemon/icons/luvdisc_icon.4bpp");
-const u8 gMonFootprint_Luvdisc[] = INCBIN_U8("graphics/pokemon/footprints/luvdisc_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/front_pics/corphish_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Corphish[] = INCBIN_U32("graphics/pokemon/palettes/corphish_palette.gbapal.lz");
-const u32 gMonBackPic_Corphish[] = INCBIN_U32("graphics/pokemon/back_pics/corphish_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Corphish[] = INCBIN_U32("graphics/pokemon/palettes/corphish_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Corphish[] = INCBIN_U8("graphics/pokemon/icons/corphish_icon.4bpp");
-const u8 gMonFootprint_Corphish[] = INCBIN_U8("graphics/pokemon/footprints/corphish_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/front_pics/crawdaunt_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/palettes/crawdaunt_palette.gbapal.lz");
-const u32 gMonBackPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/back_pics/crawdaunt_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/palettes/crawdaunt_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Crawdaunt[] = INCBIN_U8("graphics/pokemon/icons/crawdaunt_icon.4bpp");
-const u8 gMonFootprint_Crawdaunt[] = INCBIN_U8("graphics/pokemon/footprints/crawdaunt_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/front_pics/feebas_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Feebas[] = INCBIN_U32("graphics/pokemon/palettes/feebas_palette.gbapal.lz");
-const u32 gMonBackPic_Feebas[] = INCBIN_U32("graphics/pokemon/back_pics/feebas_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Feebas[] = INCBIN_U32("graphics/pokemon/palettes/feebas_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Feebas[] = INCBIN_U8("graphics/pokemon/icons/feebas_icon.4bpp");
-const u8 gMonFootprint_Feebas[] = INCBIN_U8("graphics/pokemon/footprints/feebas_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/front_pics/milotic_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Milotic[] = INCBIN_U32("graphics/pokemon/palettes/milotic_palette.gbapal.lz");
-const u32 gMonBackPic_Milotic[] = INCBIN_U32("graphics/pokemon/back_pics/milotic_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Milotic[] = INCBIN_U32("graphics/pokemon/palettes/milotic_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Milotic[] = INCBIN_U8("graphics/pokemon/icons/milotic_icon.4bpp");
-const u8 gMonFootprint_Milotic[] = INCBIN_U8("graphics/pokemon/footprints/milotic_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/front_pics/carvanha_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/palettes/carvanha_palette.gbapal.lz");
-const u32 gMonBackPic_Carvanha[] = INCBIN_U32("graphics/pokemon/back_pics/carvanha_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/palettes/carvanha_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Carvanha[] = INCBIN_U8("graphics/pokemon/icons/carvanha_icon.4bpp");
-const u8 gMonFootprint_Carvanha[] = INCBIN_U8("graphics/pokemon/footprints/carvanha_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/front_pics/sharpedo_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/palettes/sharpedo_palette.gbapal.lz");
-const u32 gMonBackPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/back_pics/sharpedo_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/palettes/sharpedo_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Sharpedo[] = INCBIN_U8("graphics/pokemon/icons/sharpedo_icon.4bpp");
-const u8 gMonFootprint_Sharpedo[] = INCBIN_U8("graphics/pokemon/footprints/sharpedo_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/front_pics/trapinch_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/palettes/trapinch_palette.gbapal.lz");
-const u32 gMonBackPic_Trapinch[] = INCBIN_U32("graphics/pokemon/back_pics/trapinch_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/palettes/trapinch_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Trapinch[] = INCBIN_U8("graphics/pokemon/icons/trapinch_icon.4bpp");
-const u8 gMonFootprint_Trapinch[] = INCBIN_U8("graphics/pokemon/footprints/trapinch_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/front_pics/vibrava_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/palettes/vibrava_palette.gbapal.lz");
-const u32 gMonBackPic_Vibrava[] = INCBIN_U32("graphics/pokemon/back_pics/vibrava_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/palettes/vibrava_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Vibrava[] = INCBIN_U8("graphics/pokemon/icons/vibrava_icon.4bpp");
-const u8 gMonFootprint_Vibrava[] = INCBIN_U8("graphics/pokemon/footprints/vibrava_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/front_pics/flygon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Flygon[] = INCBIN_U32("graphics/pokemon/palettes/flygon_palette.gbapal.lz");
-const u32 gMonBackPic_Flygon[] = INCBIN_U32("graphics/pokemon/back_pics/flygon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Flygon[] = INCBIN_U32("graphics/pokemon/palettes/flygon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Flygon[] = INCBIN_U8("graphics/pokemon/icons/flygon_icon.4bpp");
-const u8 gMonFootprint_Flygon[] = INCBIN_U8("graphics/pokemon/footprints/flygon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/front_pics/makuhita_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/palettes/makuhita_palette.gbapal.lz");
-const u32 gMonBackPic_Makuhita[] = INCBIN_U32("graphics/pokemon/back_pics/makuhita_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/palettes/makuhita_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Makuhita[] = INCBIN_U8("graphics/pokemon/icons/makuhita_icon.4bpp");
-const u8 gMonFootprint_Makuhita[] = INCBIN_U8("graphics/pokemon/footprints/makuhita_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/front_pics/hariyama_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/palettes/hariyama_palette.gbapal.lz");
-const u32 gMonBackPic_Hariyama[] = INCBIN_U32("graphics/pokemon/back_pics/hariyama_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/palettes/hariyama_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Hariyama[] = INCBIN_U8("graphics/pokemon/icons/hariyama_icon.4bpp");
-const u8 gMonFootprint_Hariyama[] = INCBIN_U8("graphics/pokemon/footprints/hariyama_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/front_pics/electrike_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Electrike[] = INCBIN_U32("graphics/pokemon/palettes/electrike_palette.gbapal.lz");
-const u32 gMonBackPic_Electrike[] = INCBIN_U32("graphics/pokemon/back_pics/electrike_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Electrike[] = INCBIN_U32("graphics/pokemon/palettes/electrike_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Electrike[] = INCBIN_U8("graphics/pokemon/icons/electrike_icon.4bpp");
-const u8 gMonFootprint_Electrike[] = INCBIN_U8("graphics/pokemon/footprints/electrike_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/front_pics/manectric_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Manectric[] = INCBIN_U32("graphics/pokemon/palettes/manectric_palette.gbapal.lz");
-const u32 gMonBackPic_Manectric[] = INCBIN_U32("graphics/pokemon/back_pics/manectric_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Manectric[] = INCBIN_U32("graphics/pokemon/palettes/manectric_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Manectric[] = INCBIN_U8("graphics/pokemon/icons/manectric_icon.4bpp");
-const u8 gMonFootprint_Manectric[] = INCBIN_U8("graphics/pokemon/footprints/manectric_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/front_pics/numel_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Numel[] = INCBIN_U32("graphics/pokemon/palettes/numel_palette.gbapal.lz");
-const u32 gMonBackPic_Numel[] = INCBIN_U32("graphics/pokemon/back_pics/numel_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Numel[] = INCBIN_U32("graphics/pokemon/palettes/numel_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Numel[] = INCBIN_U8("graphics/pokemon/icons/numel_icon.4bpp");
-const u8 gMonFootprint_Numel[] = INCBIN_U8("graphics/pokemon/footprints/numel_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/front_pics/camerupt_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/palettes/camerupt_palette.gbapal.lz");
-const u32 gMonBackPic_Camerupt[] = INCBIN_U32("graphics/pokemon/back_pics/camerupt_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/palettes/camerupt_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Camerupt[] = INCBIN_U8("graphics/pokemon/icons/camerupt_icon.4bpp");
-const u8 gMonFootprint_Camerupt[] = INCBIN_U8("graphics/pokemon/footprints/camerupt_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/front_pics/spheal_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Spheal[] = INCBIN_U32("graphics/pokemon/palettes/spheal_palette.gbapal.lz");
-const u32 gMonBackPic_Spheal[] = INCBIN_U32("graphics/pokemon/back_pics/spheal_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Spheal[] = INCBIN_U32("graphics/pokemon/palettes/spheal_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Spheal[] = INCBIN_U8("graphics/pokemon/icons/spheal_icon.4bpp");
-const u8 gMonFootprint_Spheal[] = INCBIN_U8("graphics/pokemon/footprints/spheal_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/front_pics/sealeo_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/palettes/sealeo_palette.gbapal.lz");
-const u32 gMonBackPic_Sealeo[] = INCBIN_U32("graphics/pokemon/back_pics/sealeo_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/palettes/sealeo_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Sealeo[] = INCBIN_U8("graphics/pokemon/icons/sealeo_icon.4bpp");
-const u8 gMonFootprint_Sealeo[] = INCBIN_U8("graphics/pokemon/footprints/sealeo_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/front_pics/walrein_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Walrein[] = INCBIN_U32("graphics/pokemon/palettes/walrein_palette.gbapal.lz");
-const u32 gMonBackPic_Walrein[] = INCBIN_U32("graphics/pokemon/back_pics/walrein_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Walrein[] = INCBIN_U32("graphics/pokemon/palettes/walrein_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Walrein[] = INCBIN_U8("graphics/pokemon/icons/walrein_icon.4bpp");
-const u8 gMonFootprint_Walrein[] = INCBIN_U8("graphics/pokemon/footprints/walrein_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/front_pics/cacnea_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/palettes/cacnea_palette.gbapal.lz");
-const u32 gMonBackPic_Cacnea[] = INCBIN_U32("graphics/pokemon/back_pics/cacnea_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/palettes/cacnea_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Cacnea[] = INCBIN_U8("graphics/pokemon/icons/cacnea_icon.4bpp");
-const u8 gMonFootprint_Cacnea[] = INCBIN_U8("graphics/pokemon/footprints/cacnea_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/front_pics/cacturne_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/palettes/cacturne_palette.gbapal.lz");
-const u32 gMonBackPic_Cacturne[] = INCBIN_U32("graphics/pokemon/back_pics/cacturne_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/palettes/cacturne_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Cacturne[] = INCBIN_U8("graphics/pokemon/icons/cacturne_icon.4bpp");
-const u8 gMonFootprint_Cacturne[] = INCBIN_U8("graphics/pokemon/footprints/cacturne_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/front_pics/snorunt_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/palettes/snorunt_palette.gbapal.lz");
-const u32 gMonBackPic_Snorunt[] = INCBIN_U32("graphics/pokemon/back_pics/snorunt_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/palettes/snorunt_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Snorunt[] = INCBIN_U8("graphics/pokemon/icons/snorunt_icon.4bpp");
-const u8 gMonFootprint_Snorunt[] = INCBIN_U8("graphics/pokemon/footprints/snorunt_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/front_pics/glalie_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Glalie[] = INCBIN_U32("graphics/pokemon/palettes/glalie_palette.gbapal.lz");
-const u32 gMonBackPic_Glalie[] = INCBIN_U32("graphics/pokemon/back_pics/glalie_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Glalie[] = INCBIN_U32("graphics/pokemon/palettes/glalie_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Glalie[] = INCBIN_U8("graphics/pokemon/icons/glalie_icon.4bpp");
-const u8 gMonFootprint_Glalie[] = INCBIN_U8("graphics/pokemon/footprints/glalie_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/front_pics/lunatone_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/palettes/lunatone_palette.gbapal.lz");
-const u32 gMonBackPic_Lunatone[] = INCBIN_U32("graphics/pokemon/back_pics/lunatone_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/palettes/lunatone_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Lunatone[] = INCBIN_U8("graphics/pokemon/icons/lunatone_icon.4bpp");
-const u8 gMonFootprint_Lunatone[] = INCBIN_U8("graphics/pokemon/footprints/lunatone_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/front_pics/solrock_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Solrock[] = INCBIN_U32("graphics/pokemon/palettes/solrock_palette.gbapal.lz");
-const u32 gMonBackPic_Solrock[] = INCBIN_U32("graphics/pokemon/back_pics/solrock_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Solrock[] = INCBIN_U32("graphics/pokemon/palettes/solrock_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Solrock[] = INCBIN_U8("graphics/pokemon/icons/solrock_icon.4bpp");
-const u8 gMonFootprint_Solrock[] = INCBIN_U8("graphics/pokemon/footprints/solrock_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/front_pics/azurill_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Azurill[] = INCBIN_U32("graphics/pokemon/palettes/azurill_palette.gbapal.lz");
-const u32 gMonBackPic_Azurill[] = INCBIN_U32("graphics/pokemon/back_pics/azurill_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Azurill[] = INCBIN_U32("graphics/pokemon/palettes/azurill_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Azurill[] = INCBIN_U8("graphics/pokemon/icons/azurill_icon.4bpp");
-const u8 gMonFootprint_Azurill[] = INCBIN_U8("graphics/pokemon/footprints/azurill_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/front_pics/spoink_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Spoink[] = INCBIN_U32("graphics/pokemon/palettes/spoink_palette.gbapal.lz");
-const u32 gMonBackPic_Spoink[] = INCBIN_U32("graphics/pokemon/back_pics/spoink_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Spoink[] = INCBIN_U32("graphics/pokemon/palettes/spoink_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Spoink[] = INCBIN_U8("graphics/pokemon/icons/spoink_icon.4bpp");
-const u8 gMonFootprint_Spoink[] = INCBIN_U8("graphics/pokemon/footprints/spoink_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/front_pics/grumpig_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/palettes/grumpig_palette.gbapal.lz");
-const u32 gMonBackPic_Grumpig[] = INCBIN_U32("graphics/pokemon/back_pics/grumpig_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/palettes/grumpig_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Grumpig[] = INCBIN_U8("graphics/pokemon/icons/grumpig_icon.4bpp");
-const u8 gMonFootprint_Grumpig[] = INCBIN_U8("graphics/pokemon/footprints/grumpig_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/front_pics/plusle_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Plusle[] = INCBIN_U32("graphics/pokemon/palettes/plusle_palette.gbapal.lz");
-const u32 gMonBackPic_Plusle[] = INCBIN_U32("graphics/pokemon/back_pics/plusle_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Plusle[] = INCBIN_U32("graphics/pokemon/palettes/plusle_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Plusle[] = INCBIN_U8("graphics/pokemon/icons/plusle_icon.4bpp");
-const u8 gMonFootprint_Plusle[] = INCBIN_U8("graphics/pokemon/footprints/plusle_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/front_pics/minun_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Minun[] = INCBIN_U32("graphics/pokemon/palettes/minun_palette.gbapal.lz");
-const u32 gMonBackPic_Minun[] = INCBIN_U32("graphics/pokemon/back_pics/minun_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Minun[] = INCBIN_U32("graphics/pokemon/palettes/minun_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Minun[] = INCBIN_U8("graphics/pokemon/icons/minun_icon.4bpp");
-const u8 gMonFootprint_Minun[] = INCBIN_U8("graphics/pokemon/footprints/minun_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/front_pics/mawile_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Mawile[] = INCBIN_U32("graphics/pokemon/palettes/mawile_palette.gbapal.lz");
-const u32 gMonBackPic_Mawile[] = INCBIN_U32("graphics/pokemon/back_pics/mawile_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Mawile[] = INCBIN_U32("graphics/pokemon/palettes/mawile_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Mawile[] = INCBIN_U8("graphics/pokemon/icons/mawile_icon.4bpp");
-const u8 gMonFootprint_Mawile[] = INCBIN_U8("graphics/pokemon/footprints/mawile_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/front_pics/meditite_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Meditite[] = INCBIN_U32("graphics/pokemon/palettes/meditite_palette.gbapal.lz");
-const u32 gMonBackPic_Meditite[] = INCBIN_U32("graphics/pokemon/back_pics/meditite_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Meditite[] = INCBIN_U32("graphics/pokemon/palettes/meditite_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Meditite[] = INCBIN_U8("graphics/pokemon/icons/meditite_icon.4bpp");
-const u8 gMonFootprint_Meditite[] = INCBIN_U8("graphics/pokemon/footprints/meditite_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/front_pics/medicham_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Medicham[] = INCBIN_U32("graphics/pokemon/palettes/medicham_palette.gbapal.lz");
-const u32 gMonBackPic_Medicham[] = INCBIN_U32("graphics/pokemon/back_pics/medicham_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Medicham[] = INCBIN_U32("graphics/pokemon/palettes/medicham_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Medicham[] = INCBIN_U8("graphics/pokemon/icons/medicham_icon.4bpp");
-const u8 gMonFootprint_Medicham[] = INCBIN_U8("graphics/pokemon/footprints/medicham_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/front_pics/swablu_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Swablu[] = INCBIN_U32("graphics/pokemon/palettes/swablu_palette.gbapal.lz");
-const u32 gMonBackPic_Swablu[] = INCBIN_U32("graphics/pokemon/back_pics/swablu_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Swablu[] = INCBIN_U32("graphics/pokemon/palettes/swablu_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Swablu[] = INCBIN_U8("graphics/pokemon/icons/swablu_icon.4bpp");
-const u8 gMonFootprint_Swablu[] = INCBIN_U8("graphics/pokemon/footprints/swablu_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/front_pics/altaria_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Altaria[] = INCBIN_U32("graphics/pokemon/palettes/altaria_palette.gbapal.lz");
-const u32 gMonBackPic_Altaria[] = INCBIN_U32("graphics/pokemon/back_pics/altaria_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Altaria[] = INCBIN_U32("graphics/pokemon/palettes/altaria_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Altaria[] = INCBIN_U8("graphics/pokemon/icons/altaria_icon.4bpp");
-const u8 gMonFootprint_Altaria[] = INCBIN_U8("graphics/pokemon/footprints/altaria_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/front_pics/wynaut_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/palettes/wynaut_palette.gbapal.lz");
-const u32 gMonBackPic_Wynaut[] = INCBIN_U32("graphics/pokemon/back_pics/wynaut_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/palettes/wynaut_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Wynaut[] = INCBIN_U8("graphics/pokemon/icons/wynaut_icon.4bpp");
-const u8 gMonFootprint_Wynaut[] = INCBIN_U8("graphics/pokemon/footprints/wynaut_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/front_pics/duskull_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Duskull[] = INCBIN_U32("graphics/pokemon/palettes/duskull_palette.gbapal.lz");
-const u32 gMonBackPic_Duskull[] = INCBIN_U32("graphics/pokemon/back_pics/duskull_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Duskull[] = INCBIN_U32("graphics/pokemon/palettes/duskull_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Duskull[] = INCBIN_U8("graphics/pokemon/icons/duskull_icon.4bpp");
-const u8 gMonFootprint_Duskull[] = INCBIN_U8("graphics/pokemon/footprints/duskull_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/front_pics/dusclops_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/palettes/dusclops_palette.gbapal.lz");
-const u32 gMonBackPic_Dusclops[] = INCBIN_U32("graphics/pokemon/back_pics/dusclops_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/palettes/dusclops_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Dusclops[] = INCBIN_U8("graphics/pokemon/icons/dusclops_icon.4bpp");
-const u8 gMonFootprint_Dusclops[] = INCBIN_U8("graphics/pokemon/footprints/dusclops_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/front_pics/roselia_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Roselia[] = INCBIN_U32("graphics/pokemon/palettes/roselia_palette.gbapal.lz");
-const u32 gMonBackPic_Roselia[] = INCBIN_U32("graphics/pokemon/back_pics/roselia_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Roselia[] = INCBIN_U32("graphics/pokemon/palettes/roselia_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Roselia[] = INCBIN_U8("graphics/pokemon/icons/roselia_icon.4bpp");
-const u8 gMonFootprint_Roselia[] = INCBIN_U8("graphics/pokemon/footprints/roselia_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/front_pics/slakoth_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/palettes/slakoth_palette.gbapal.lz");
-const u32 gMonBackPic_Slakoth[] = INCBIN_U32("graphics/pokemon/back_pics/slakoth_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/palettes/slakoth_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Slakoth[] = INCBIN_U8("graphics/pokemon/icons/slakoth_icon.4bpp");
-const u8 gMonFootprint_Slakoth[] = INCBIN_U8("graphics/pokemon/footprints/slakoth_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/front_pics/vigoroth_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/palettes/vigoroth_palette.gbapal.lz");
-const u32 gMonBackPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/back_pics/vigoroth_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/palettes/vigoroth_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Vigoroth[] = INCBIN_U8("graphics/pokemon/icons/vigoroth_icon.4bpp");
-const u8 gMonFootprint_Vigoroth[] = INCBIN_U8("graphics/pokemon/footprints/vigoroth_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/front_pics/slaking_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Slaking[] = INCBIN_U32("graphics/pokemon/palettes/slaking_palette.gbapal.lz");
-const u32 gMonBackPic_Slaking[] = INCBIN_U32("graphics/pokemon/back_pics/slaking_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Slaking[] = INCBIN_U32("graphics/pokemon/palettes/slaking_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Slaking[] = INCBIN_U8("graphics/pokemon/icons/slaking_icon.4bpp");
-const u8 gMonFootprint_Slaking[] = INCBIN_U8("graphics/pokemon/footprints/slaking_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/front_pics/gulpin_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/palettes/gulpin_palette.gbapal.lz");
-const u32 gMonBackPic_Gulpin[] = INCBIN_U32("graphics/pokemon/back_pics/gulpin_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/palettes/gulpin_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Gulpin[] = INCBIN_U8("graphics/pokemon/icons/gulpin_icon.4bpp");
-const u8 gMonFootprint_Gulpin[] = INCBIN_U8("graphics/pokemon/footprints/gulpin_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/front_pics/swalot_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Swalot[] = INCBIN_U32("graphics/pokemon/palettes/swalot_palette.gbapal.lz");
-const u32 gMonBackPic_Swalot[] = INCBIN_U32("graphics/pokemon/back_pics/swalot_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Swalot[] = INCBIN_U32("graphics/pokemon/palettes/swalot_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Swalot[] = INCBIN_U8("graphics/pokemon/icons/swalot_icon.4bpp");
-const u8 gMonFootprint_Swalot[] = INCBIN_U8("graphics/pokemon/footprints/swalot_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/front_pics/tropius_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Tropius[] = INCBIN_U32("graphics/pokemon/palettes/tropius_palette.gbapal.lz");
-const u32 gMonBackPic_Tropius[] = INCBIN_U32("graphics/pokemon/back_pics/tropius_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Tropius[] = INCBIN_U32("graphics/pokemon/palettes/tropius_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Tropius[] = INCBIN_U8("graphics/pokemon/icons/tropius_icon.4bpp");
-const u8 gMonFootprint_Tropius[] = INCBIN_U8("graphics/pokemon/footprints/tropius_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/front_pics/whismur_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Whismur[] = INCBIN_U32("graphics/pokemon/palettes/whismur_palette.gbapal.lz");
-const u32 gMonBackPic_Whismur[] = INCBIN_U32("graphics/pokemon/back_pics/whismur_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Whismur[] = INCBIN_U32("graphics/pokemon/palettes/whismur_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Whismur[] = INCBIN_U8("graphics/pokemon/icons/whismur_icon.4bpp");
-const u8 gMonFootprint_Whismur[] = INCBIN_U8("graphics/pokemon/footprints/whismur_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/front_pics/loudred_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Loudred[] = INCBIN_U32("graphics/pokemon/palettes/loudred_palette.gbapal.lz");
-const u32 gMonBackPic_Loudred[] = INCBIN_U32("graphics/pokemon/back_pics/loudred_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Loudred[] = INCBIN_U32("graphics/pokemon/palettes/loudred_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Loudred[] = INCBIN_U8("graphics/pokemon/icons/loudred_icon.4bpp");
-const u8 gMonFootprint_Loudred[] = INCBIN_U8("graphics/pokemon/footprints/loudred_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/front_pics/exploud_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Exploud[] = INCBIN_U32("graphics/pokemon/palettes/exploud_palette.gbapal.lz");
-const u32 gMonBackPic_Exploud[] = INCBIN_U32("graphics/pokemon/back_pics/exploud_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Exploud[] = INCBIN_U32("graphics/pokemon/palettes/exploud_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Exploud[] = INCBIN_U8("graphics/pokemon/icons/exploud_icon.4bpp");
-const u8 gMonFootprint_Exploud[] = INCBIN_U8("graphics/pokemon/footprints/exploud_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/front_pics/clamperl_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/palettes/clamperl_palette.gbapal.lz");
-const u32 gMonBackPic_Clamperl[] = INCBIN_U32("graphics/pokemon/back_pics/clamperl_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/palettes/clamperl_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Clamperl[] = INCBIN_U8("graphics/pokemon/icons/clamperl_icon.4bpp");
-const u8 gMonFootprint_Clamperl[] = INCBIN_U8("graphics/pokemon/footprints/clamperl_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/front_pics/huntail_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Huntail[] = INCBIN_U32("graphics/pokemon/palettes/huntail_palette.gbapal.lz");
-const u32 gMonBackPic_Huntail[] = INCBIN_U32("graphics/pokemon/back_pics/huntail_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Huntail[] = INCBIN_U32("graphics/pokemon/palettes/huntail_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Huntail[] = INCBIN_U8("graphics/pokemon/icons/huntail_icon.4bpp");
-const u8 gMonFootprint_Huntail[] = INCBIN_U8("graphics/pokemon/footprints/huntail_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/front_pics/gorebyss_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/palettes/gorebyss_palette.gbapal.lz");
-const u32 gMonBackPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/back_pics/gorebyss_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/palettes/gorebyss_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Gorebyss[] = INCBIN_U8("graphics/pokemon/icons/gorebyss_icon.4bpp");
-const u8 gMonFootprint_Gorebyss[] = INCBIN_U8("graphics/pokemon/footprints/gorebyss_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/front_pics/absol_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Absol[] = INCBIN_U32("graphics/pokemon/palettes/absol_palette.gbapal.lz");
-const u32 gMonBackPic_Absol[] = INCBIN_U32("graphics/pokemon/back_pics/absol_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Absol[] = INCBIN_U32("graphics/pokemon/palettes/absol_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Absol[] = INCBIN_U8("graphics/pokemon/icons/absol_icon.4bpp");
-const u8 gMonFootprint_Absol[] = INCBIN_U8("graphics/pokemon/footprints/absol_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/front_pics/shuppet_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/palettes/shuppet_palette.gbapal.lz");
-const u32 gMonBackPic_Shuppet[] = INCBIN_U32("graphics/pokemon/back_pics/shuppet_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/palettes/shuppet_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Shuppet[] = INCBIN_U8("graphics/pokemon/icons/shuppet_icon.4bpp");
-const u8 gMonFootprint_Shuppet[] = INCBIN_U8("graphics/pokemon/footprints/shuppet_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/front_pics/banette_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Banette[] = INCBIN_U32("graphics/pokemon/palettes/banette_palette.gbapal.lz");
-const u32 gMonBackPic_Banette[] = INCBIN_U32("graphics/pokemon/back_pics/banette_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Banette[] = INCBIN_U32("graphics/pokemon/palettes/banette_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Banette[] = INCBIN_U8("graphics/pokemon/icons/banette_icon.4bpp");
-const u8 gMonFootprint_Banette[] = INCBIN_U8("graphics/pokemon/footprints/banette_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/front_pics/seviper_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Seviper[] = INCBIN_U32("graphics/pokemon/palettes/seviper_palette.gbapal.lz");
-const u32 gMonBackPic_Seviper[] = INCBIN_U32("graphics/pokemon/back_pics/seviper_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Seviper[] = INCBIN_U32("graphics/pokemon/palettes/seviper_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Seviper[] = INCBIN_U8("graphics/pokemon/icons/seviper_icon.4bpp");
-const u8 gMonFootprint_Seviper[] = INCBIN_U8("graphics/pokemon/footprints/seviper_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/front_pics/zangoose_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/palettes/zangoose_palette.gbapal.lz");
-const u32 gMonBackPic_Zangoose[] = INCBIN_U32("graphics/pokemon/back_pics/zangoose_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/palettes/zangoose_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Zangoose[] = INCBIN_U8("graphics/pokemon/icons/zangoose_icon.4bpp");
-const u8 gMonFootprint_Zangoose[] = INCBIN_U8("graphics/pokemon/footprints/zangoose_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/front_pics/relicanth_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/palettes/relicanth_palette.gbapal.lz");
-const u32 gMonBackPic_Relicanth[] = INCBIN_U32("graphics/pokemon/back_pics/relicanth_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/palettes/relicanth_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Relicanth[] = INCBIN_U8("graphics/pokemon/icons/relicanth_icon.4bpp");
-const u8 gMonFootprint_Relicanth[] = INCBIN_U8("graphics/pokemon/footprints/relicanth_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/front_pics/aron_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Aron[] = INCBIN_U32("graphics/pokemon/palettes/aron_palette.gbapal.lz");
-const u32 gMonBackPic_Aron[] = INCBIN_U32("graphics/pokemon/back_pics/aron_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Aron[] = INCBIN_U32("graphics/pokemon/palettes/aron_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Aron[] = INCBIN_U8("graphics/pokemon/icons/aron_icon.4bpp");
-const u8 gMonFootprint_Aron[] = INCBIN_U8("graphics/pokemon/footprints/aron_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/front_pics/lairon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Lairon[] = INCBIN_U32("graphics/pokemon/palettes/lairon_palette.gbapal.lz");
-const u32 gMonBackPic_Lairon[] = INCBIN_U32("graphics/pokemon/back_pics/lairon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Lairon[] = INCBIN_U32("graphics/pokemon/palettes/lairon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Lairon[] = INCBIN_U8("graphics/pokemon/icons/lairon_icon.4bpp");
-const u8 gMonFootprint_Lairon[] = INCBIN_U8("graphics/pokemon/footprints/lairon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/front_pics/aggron_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Aggron[] = INCBIN_U32("graphics/pokemon/palettes/aggron_palette.gbapal.lz");
-const u32 gMonBackPic_Aggron[] = INCBIN_U32("graphics/pokemon/back_pics/aggron_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Aggron[] = INCBIN_U32("graphics/pokemon/palettes/aggron_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Aggron[] = INCBIN_U8("graphics/pokemon/icons/aggron_icon.4bpp");
-const u8 gMonFootprint_Aggron[] = INCBIN_U8("graphics/pokemon/footprints/aggron_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/front_pics/castform_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Castform[] = INCBIN_U32("graphics/pokemon/palettes/castform_palette.gbapal.lz");
-const u32 gMonBackPic_Castform[] = INCBIN_U32("graphics/pokemon/back_pics/castform_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Castform[] = INCBIN_U32("graphics/pokemon/palettes/castform_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Castform[] = INCBIN_U8("graphics/pokemon/icons/castform_icon.4bpp");
-const u8 gMonFootprint_Castform[] = INCBIN_U8("graphics/pokemon/footprints/castform_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/front_pics/volbeat_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/palettes/volbeat_palette.gbapal.lz");
-const u32 gMonBackPic_Volbeat[] = INCBIN_U32("graphics/pokemon/back_pics/volbeat_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/palettes/volbeat_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Volbeat[] = INCBIN_U8("graphics/pokemon/icons/volbeat_icon.4bpp");
-const u8 gMonFootprint_Volbeat[] = INCBIN_U8("graphics/pokemon/footprints/volbeat_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/front_pics/illumise_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Illumise[] = INCBIN_U32("graphics/pokemon/palettes/illumise_palette.gbapal.lz");
-const u32 gMonBackPic_Illumise[] = INCBIN_U32("graphics/pokemon/back_pics/illumise_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Illumise[] = INCBIN_U32("graphics/pokemon/palettes/illumise_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Illumise[] = INCBIN_U8("graphics/pokemon/icons/illumise_icon.4bpp");
-const u8 gMonFootprint_Illumise[] = INCBIN_U8("graphics/pokemon/footprints/illumise_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/front_pics/lileep_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Lileep[] = INCBIN_U32("graphics/pokemon/palettes/lileep_palette.gbapal.lz");
-const u32 gMonBackPic_Lileep[] = INCBIN_U32("graphics/pokemon/back_pics/lileep_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Lileep[] = INCBIN_U32("graphics/pokemon/palettes/lileep_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Lileep[] = INCBIN_U8("graphics/pokemon/icons/lileep_icon.4bpp");
-const u8 gMonFootprint_Lileep[] = INCBIN_U8("graphics/pokemon/footprints/lileep_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/front_pics/cradily_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Cradily[] = INCBIN_U32("graphics/pokemon/palettes/cradily_palette.gbapal.lz");
-const u32 gMonBackPic_Cradily[] = INCBIN_U32("graphics/pokemon/back_pics/cradily_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Cradily[] = INCBIN_U32("graphics/pokemon/palettes/cradily_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Cradily[] = INCBIN_U8("graphics/pokemon/icons/cradily_icon.4bpp");
-const u8 gMonFootprint_Cradily[] = INCBIN_U8("graphics/pokemon/footprints/cradily_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/front_pics/anorith_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Anorith[] = INCBIN_U32("graphics/pokemon/palettes/anorith_palette.gbapal.lz");
-const u32 gMonBackPic_Anorith[] = INCBIN_U32("graphics/pokemon/back_pics/anorith_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Anorith[] = INCBIN_U32("graphics/pokemon/palettes/anorith_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Anorith[] = INCBIN_U8("graphics/pokemon/icons/anorith_icon.4bpp");
-const u8 gMonFootprint_Anorith[] = INCBIN_U8("graphics/pokemon/footprints/anorith_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/front_pics/armaldo_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/palettes/armaldo_palette.gbapal.lz");
-const u32 gMonBackPic_Armaldo[] = INCBIN_U32("graphics/pokemon/back_pics/armaldo_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/palettes/armaldo_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Armaldo[] = INCBIN_U8("graphics/pokemon/icons/armaldo_icon.4bpp");
-const u8 gMonFootprint_Armaldo[] = INCBIN_U8("graphics/pokemon/footprints/armaldo_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/front_pics/ralts_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Ralts[] = INCBIN_U32("graphics/pokemon/palettes/ralts_palette.gbapal.lz");
-const u32 gMonBackPic_Ralts[] = INCBIN_U32("graphics/pokemon/back_pics/ralts_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Ralts[] = INCBIN_U32("graphics/pokemon/palettes/ralts_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Ralts[] = INCBIN_U8("graphics/pokemon/icons/ralts_icon.4bpp");
-const u8 gMonFootprint_Ralts[] = INCBIN_U8("graphics/pokemon/footprints/ralts_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/front_pics/kirlia_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/palettes/kirlia_palette.gbapal.lz");
-const u32 gMonBackPic_Kirlia[] = INCBIN_U32("graphics/pokemon/back_pics/kirlia_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/palettes/kirlia_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Kirlia[] = INCBIN_U8("graphics/pokemon/icons/kirlia_icon.4bpp");
-const u8 gMonFootprint_Kirlia[] = INCBIN_U8("graphics/pokemon/footprints/kirlia_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/front_pics/gardevoir_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/palettes/gardevoir_palette.gbapal.lz");
-const u32 gMonBackPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/back_pics/gardevoir_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/palettes/gardevoir_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Gardevoir[] = INCBIN_U8("graphics/pokemon/icons/gardevoir_icon.4bpp");
-const u8 gMonFootprint_Gardevoir[] = INCBIN_U8("graphics/pokemon/footprints/gardevoir_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/front_pics/bagon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Bagon[] = INCBIN_U32("graphics/pokemon/palettes/bagon_palette.gbapal.lz");
-const u32 gMonBackPic_Bagon[] = INCBIN_U32("graphics/pokemon/back_pics/bagon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Bagon[] = INCBIN_U32("graphics/pokemon/palettes/bagon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Bagon[] = INCBIN_U8("graphics/pokemon/icons/bagon_icon.4bpp");
-const u8 gMonFootprint_Bagon[] = INCBIN_U8("graphics/pokemon/footprints/bagon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/front_pics/shelgon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/palettes/shelgon_palette.gbapal.lz");
-const u32 gMonBackPic_Shelgon[] = INCBIN_U32("graphics/pokemon/back_pics/shelgon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/palettes/shelgon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Shelgon[] = INCBIN_U8("graphics/pokemon/icons/shelgon_icon.4bpp");
-const u8 gMonFootprint_Shelgon[] = INCBIN_U8("graphics/pokemon/footprints/shelgon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/front_pics/salamence_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Salamence[] = INCBIN_U32("graphics/pokemon/palettes/salamence_palette.gbapal.lz");
-const u32 gMonBackPic_Salamence[] = INCBIN_U32("graphics/pokemon/back_pics/salamence_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Salamence[] = INCBIN_U32("graphics/pokemon/palettes/salamence_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Salamence[] = INCBIN_U8("graphics/pokemon/icons/salamence_icon.4bpp");
-const u8 gMonFootprint_Salamence[] = INCBIN_U8("graphics/pokemon/footprints/salamence_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/front_pics/beldum_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Beldum[] = INCBIN_U32("graphics/pokemon/palettes/beldum_palette.gbapal.lz");
-const u32 gMonBackPic_Beldum[] = INCBIN_U32("graphics/pokemon/back_pics/beldum_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Beldum[] = INCBIN_U32("graphics/pokemon/palettes/beldum_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Beldum[] = INCBIN_U8("graphics/pokemon/icons/beldum_icon.4bpp");
-const u8 gMonFootprint_Beldum[] = INCBIN_U8("graphics/pokemon/footprints/beldum_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/front_pics/metang_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Metang[] = INCBIN_U32("graphics/pokemon/palettes/metang_palette.gbapal.lz");
-const u32 gMonBackPic_Metang[] = INCBIN_U32("graphics/pokemon/back_pics/metang_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Metang[] = INCBIN_U32("graphics/pokemon/palettes/metang_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Metang[] = INCBIN_U8("graphics/pokemon/icons/metang_icon.4bpp");
-const u8 gMonFootprint_Metang[] = INCBIN_U8("graphics/pokemon/footprints/metang_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/front_pics/metagross_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Metagross[] = INCBIN_U32("graphics/pokemon/palettes/metagross_palette.gbapal.lz");
-const u32 gMonBackPic_Metagross[] = INCBIN_U32("graphics/pokemon/back_pics/metagross_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Metagross[] = INCBIN_U32("graphics/pokemon/palettes/metagross_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Metagross[] = INCBIN_U8("graphics/pokemon/icons/metagross_icon.4bpp");
-const u8 gMonFootprint_Metagross[] = INCBIN_U8("graphics/pokemon/footprints/metagross_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/front_pics/regirock_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Regirock[] = INCBIN_U32("graphics/pokemon/palettes/regirock_palette.gbapal.lz");
-const u32 gMonBackPic_Regirock[] = INCBIN_U32("graphics/pokemon/back_pics/regirock_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Regirock[] = INCBIN_U32("graphics/pokemon/palettes/regirock_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Regirock[] = INCBIN_U8("graphics/pokemon/icons/regirock_icon.4bpp");
-const u8 gMonFootprint_Regirock[] = INCBIN_U8("graphics/pokemon/footprints/regirock_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/front_pics/regice_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Regice[] = INCBIN_U32("graphics/pokemon/palettes/regice_palette.gbapal.lz");
-const u32 gMonBackPic_Regice[] = INCBIN_U32("graphics/pokemon/back_pics/regice_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Regice[] = INCBIN_U32("graphics/pokemon/palettes/regice_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Regice[] = INCBIN_U8("graphics/pokemon/icons/regice_icon.4bpp");
-const u8 gMonFootprint_Regice[] = INCBIN_U8("graphics/pokemon/footprints/regice_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/front_pics/registeel_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Registeel[] = INCBIN_U32("graphics/pokemon/palettes/registeel_palette.gbapal.lz");
-const u32 gMonBackPic_Registeel[] = INCBIN_U32("graphics/pokemon/back_pics/registeel_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Registeel[] = INCBIN_U32("graphics/pokemon/palettes/registeel_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Registeel[] = INCBIN_U8("graphics/pokemon/icons/registeel_icon.4bpp");
-const u8 gMonFootprint_Registeel[] = INCBIN_U8("graphics/pokemon/footprints/registeel_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/front_pics/kyogre_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/palettes/kyogre_palette.gbapal.lz");
-const u32 gMonBackPic_Kyogre[] = INCBIN_U32("graphics/pokemon/back_pics/kyogre_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/palettes/kyogre_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Kyogre[] = INCBIN_U8("graphics/pokemon/icons/kyogre_icon.4bpp");
-const u8 gMonFootprint_Kyogre[] = INCBIN_U8("graphics/pokemon/footprints/kyogre_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/front_pics/groudon_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Groudon[] = INCBIN_U32("graphics/pokemon/palettes/groudon_palette.gbapal.lz");
-const u32 gMonBackPic_Groudon[] = INCBIN_U32("graphics/pokemon/back_pics/groudon_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Groudon[] = INCBIN_U32("graphics/pokemon/palettes/groudon_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Groudon[] = INCBIN_U8("graphics/pokemon/icons/groudon_icon.4bpp");
-const u8 gMonFootprint_Groudon[] = INCBIN_U8("graphics/pokemon/footprints/groudon_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/front_pics/rayquaza_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/palettes/rayquaza_palette.gbapal.lz");
-const u32 gMonBackPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/back_pics/rayquaza_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/palettes/rayquaza_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Rayquaza[] = INCBIN_U8("graphics/pokemon/icons/rayquaza_icon.4bpp");
-const u8 gMonFootprint_Rayquaza[] = INCBIN_U8("graphics/pokemon/footprints/rayquaza_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/front_pics/latias_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Latias[] = INCBIN_U32("graphics/pokemon/palettes/latias_palette.gbapal.lz");
-const u32 gMonBackPic_Latias[] = INCBIN_U32("graphics/pokemon/back_pics/latias_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Latias[] = INCBIN_U32("graphics/pokemon/palettes/latias_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Latias[] = INCBIN_U8("graphics/pokemon/icons/latias_icon.4bpp");
-const u8 gMonFootprint_Latias[] = INCBIN_U8("graphics/pokemon/footprints/latias_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/front_pics/latios_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Latios[] = INCBIN_U32("graphics/pokemon/palettes/latios_palette.gbapal.lz");
-const u32 gMonBackPic_Latios[] = INCBIN_U32("graphics/pokemon/back_pics/latios_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Latios[] = INCBIN_U32("graphics/pokemon/palettes/latios_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Latios[] = INCBIN_U8("graphics/pokemon/icons/latios_icon.4bpp");
-const u8 gMonFootprint_Latios[] = INCBIN_U8("graphics/pokemon/footprints/latios_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/front_pics/jirachi_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/palettes/jirachi_palette.gbapal.lz");
-const u32 gMonBackPic_Jirachi[] = INCBIN_U32("graphics/pokemon/back_pics/jirachi_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/palettes/jirachi_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Jirachi[] = INCBIN_U8("graphics/pokemon/icons/jirachi_icon.4bpp");
-const u8 gMonFootprint_Jirachi[] = INCBIN_U8("graphics/pokemon/footprints/jirachi_footprint.1bpp");
-
-const u32 gMonStillFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/front_pics/deoxys_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/palettes/deoxys_palette.gbapal.lz");
-const u32 gMonBackPic_Deoxys[] = INCBIN_U32("graphics/pokemon/back_pics/deoxys_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/palettes/deoxys_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/icons/deoxys_icon.4bpp");
-const u8 gMonIcon_DeoxysSpeed[] = INCBIN_U8("graphics/pokemon/icons/deoxys_speed_icon.4bpp");
+const u32 gMonStillFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/front.4bpp.lz");
+const u32 gMonPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/normal.gbapal.lz");
+const u32 gMonBackPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/back.4bpp.lz");
+const u32 gMonShinyPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/shiny.gbapal.lz");
+const u8 gMonIcon_Bulbasaur[] = INCBIN_U8("graphics/pokemon/bulbasaur/icon.4bpp");
+const u8 gMonFootprint_Bulbasaur[] = INCBIN_U8("graphics/pokemon/bulbasaur/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/front.4bpp.lz");
+const u32 gMonPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/normal.gbapal.lz");
+const u32 gMonBackPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/back.4bpp.lz");
+const u32 gMonShinyPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/shiny.gbapal.lz");
+const u8 gMonIcon_Ivysaur[] = INCBIN_U8("graphics/pokemon/ivysaur/icon.4bpp");
+const u8 gMonFootprint_Ivysaur[] = INCBIN_U8("graphics/pokemon/ivysaur/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/front.4bpp.lz");
+const u32 gMonPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/normal.gbapal.lz");
+const u32 gMonBackPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/back.4bpp.lz");
+const u32 gMonShinyPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/shiny.gbapal.lz");
+const u8 gMonIcon_Venusaur[] = INCBIN_U8("graphics/pokemon/venusaur/icon.4bpp");
+const u8 gMonFootprint_Venusaur[] = INCBIN_U8("graphics/pokemon/venusaur/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/front.4bpp.lz");
+const u32 gMonPalette_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/normal.gbapal.lz");
+const u32 gMonBackPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/back.4bpp.lz");
+const u32 gMonShinyPalette_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/shiny.gbapal.lz");
+const u8 gMonIcon_Charmander[] = INCBIN_U8("graphics/pokemon/charmander/icon.4bpp");
+const u8 gMonFootprint_Charmander[] = INCBIN_U8("graphics/pokemon/charmander/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/front.4bpp.lz");
+const u32 gMonPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/normal.gbapal.lz");
+const u32 gMonBackPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/back.4bpp.lz");
+const u32 gMonShinyPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/shiny.gbapal.lz");
+const u8 gMonIcon_Charmeleon[] = INCBIN_U8("graphics/pokemon/charmeleon/icon.4bpp");
+const u8 gMonFootprint_Charmeleon[] = INCBIN_U8("graphics/pokemon/charmeleon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/front.4bpp.lz");
+const u32 gMonPalette_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/normal.gbapal.lz");
+const u32 gMonBackPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/back.4bpp.lz");
+const u32 gMonShinyPalette_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/shiny.gbapal.lz");
+const u8 gMonIcon_Charizard[] = INCBIN_U8("graphics/pokemon/charizard/icon.4bpp");
+const u8 gMonFootprint_Charizard[] = INCBIN_U8("graphics/pokemon/charizard/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/front.4bpp.lz");
+const u32 gMonPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/normal.gbapal.lz");
+const u32 gMonBackPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/back.4bpp.lz");
+const u32 gMonShinyPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/shiny.gbapal.lz");
+const u8 gMonIcon_Squirtle[] = INCBIN_U8("graphics/pokemon/squirtle/icon.4bpp");
+const u8 gMonFootprint_Squirtle[] = INCBIN_U8("graphics/pokemon/squirtle/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/front.4bpp.lz");
+const u32 gMonPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/normal.gbapal.lz");
+const u32 gMonBackPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/back.4bpp.lz");
+const u32 gMonShinyPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/shiny.gbapal.lz");
+const u8 gMonIcon_Wartortle[] = INCBIN_U8("graphics/pokemon/wartortle/icon.4bpp");
+const u8 gMonFootprint_Wartortle[] = INCBIN_U8("graphics/pokemon/wartortle/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/front.4bpp.lz");
+const u32 gMonPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/normal.gbapal.lz");
+const u32 gMonBackPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/back.4bpp.lz");
+const u32 gMonShinyPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/shiny.gbapal.lz");
+const u8 gMonIcon_Blastoise[] = INCBIN_U8("graphics/pokemon/blastoise/icon.4bpp");
+const u8 gMonFootprint_Blastoise[] = INCBIN_U8("graphics/pokemon/blastoise/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/front.4bpp.lz");
+const u32 gMonPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/normal.gbapal.lz");
+const u32 gMonBackPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/back.4bpp.lz");
+const u32 gMonShinyPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/shiny.gbapal.lz");
+const u8 gMonIcon_Caterpie[] = INCBIN_U8("graphics/pokemon/caterpie/icon.4bpp");
+const u8 gMonFootprint_Caterpie[] = INCBIN_U8("graphics/pokemon/caterpie/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/front.4bpp.lz");
+const u32 gMonPalette_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/normal.gbapal.lz");
+const u32 gMonBackPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/back.4bpp.lz");
+const u32 gMonShinyPalette_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/shiny.gbapal.lz");
+const u8 gMonIcon_Metapod[] = INCBIN_U8( "graphics/pokemon/metapod/icon.4bpp");
+const u8 gMonFootprint_Metapod[] = INCBIN_U8("graphics/pokemon/metapod/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/front.4bpp.lz");
+const u32 gMonPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/normal.gbapal.lz");
+const u32 gMonBackPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/back.4bpp.lz");
+const u32 gMonShinyPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/shiny.gbapal.lz");
+const u8 gMonIcon_Butterfree[] = INCBIN_U8("graphics/pokemon/butterfree/icon.4bpp");
+const u8 gMonFootprint_Butterfree[] = INCBIN_U8("graphics/pokemon/butterfree/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/front.4bpp.lz");
+const u32 gMonPalette_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/normal.gbapal.lz");
+const u32 gMonBackPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/back.4bpp.lz");
+const u32 gMonShinyPalette_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/shiny.gbapal.lz");
+const u8 gMonIcon_Weedle[] = INCBIN_U8("graphics/pokemon/weedle/icon.4bpp");
+const u8 gMonFootprint_Weedle[] = INCBIN_U8("graphics/pokemon/weedle/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/front.4bpp.lz");
+const u32 gMonPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/normal.gbapal.lz");
+const u32 gMonBackPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/back.4bpp.lz");
+const u32 gMonShinyPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/shiny.gbapal.lz");
+const u8 gMonIcon_Kakuna[] = INCBIN_U8("graphics/pokemon/kakuna/icon.4bpp");
+const u8 gMonFootprint_Kakuna[] = INCBIN_U8("graphics/pokemon/kakuna/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/front.4bpp.lz");
+const u32 gMonPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/normal.gbapal.lz");
+const u32 gMonBackPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/back.4bpp.lz");
+const u32 gMonShinyPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/shiny.gbapal.lz");
+const u8 gMonIcon_Beedrill[] = INCBIN_U8("graphics/pokemon/beedrill/icon.4bpp");
+const u8 gMonFootprint_Beedrill[] = INCBIN_U8("graphics/pokemon/beedrill/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/front.4bpp.lz");
+const u32 gMonPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/normal.gbapal.lz");
+const u32 gMonBackPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/back.4bpp.lz");
+const u32 gMonShinyPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/shiny.gbapal.lz");
+const u8 gMonIcon_Pidgey[] = INCBIN_U8("graphics/pokemon/pidgey/icon.4bpp");
+const u8 gMonFootprint_Pidgey[] = INCBIN_U8("graphics/pokemon/pidgey/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/front.4bpp.lz");
+const u32 gMonPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/normal.gbapal.lz");
+const u32 gMonBackPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/back.4bpp.lz");
+const u32 gMonShinyPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/shiny.gbapal.lz");
+const u8 gMonIcon_Pidgeotto[] = INCBIN_U8("graphics/pokemon/pidgeotto/icon.4bpp");
+const u8 gMonFootprint_Pidgeotto[] = INCBIN_U8("graphics/pokemon/pidgeotto/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/front.4bpp.lz");
+const u32 gMonPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/normal.gbapal.lz");
+const u32 gMonBackPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/back.4bpp.lz");
+const u32 gMonShinyPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/shiny.gbapal.lz");
+const u8 gMonIcon_Pidgeot[] = INCBIN_U8("graphics/pokemon/pidgeot/icon.4bpp");
+const u8 gMonFootprint_Pidgeot[] = INCBIN_U8("graphics/pokemon/pidgeot/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/front.4bpp.lz");
+const u32 gMonPalette_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/normal.gbapal.lz");
+const u32 gMonBackPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/back.4bpp.lz");
+const u32 gMonShinyPalette_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/shiny.gbapal.lz");
+const u8 gMonIcon_Rattata[] = INCBIN_U8("graphics/pokemon/rattata/icon.4bpp");
+const u8 gMonFootprint_Rattata[] = INCBIN_U8("graphics/pokemon/rattata/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/front.4bpp.lz");
+const u32 gMonPalette_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/normal.gbapal.lz");
+const u32 gMonBackPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/back.4bpp.lz");
+const u32 gMonShinyPalette_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/shiny.gbapal.lz");
+const u8 gMonIcon_Raticate[] = INCBIN_U8("graphics/pokemon/raticate/icon.4bpp");
+const u8 gMonFootprint_Raticate[] = INCBIN_U8("graphics/pokemon/raticate/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/front.4bpp.lz");
+const u32 gMonPalette_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/normal.gbapal.lz");
+const u32 gMonBackPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/back.4bpp.lz");
+const u32 gMonShinyPalette_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/shiny.gbapal.lz");
+const u8 gMonIcon_Spearow[] = INCBIN_U8("graphics/pokemon/spearow/icon.4bpp");
+const u8 gMonFootprint_Spearow[] = INCBIN_U8("graphics/pokemon/spearow/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/front.4bpp.lz");
+const u32 gMonPalette_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/normal.gbapal.lz");
+const u32 gMonBackPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/back.4bpp.lz");
+const u32 gMonShinyPalette_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/shiny.gbapal.lz");
+const u8 gMonIcon_Fearow[] = INCBIN_U8("graphics/pokemon/fearow/icon.4bpp");
+const u8 gMonFootprint_Fearow[] = INCBIN_U8("graphics/pokemon/fearow/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/front.4bpp.lz");
+const u32 gMonPalette_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/normal.gbapal.lz");
+const u32 gMonBackPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/back.4bpp.lz");
+const u32 gMonShinyPalette_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/shiny.gbapal.lz");
+const u8 gMonIcon_Ekans[] = INCBIN_U8("graphics/pokemon/ekans/icon.4bpp");
+const u8 gMonFootprint_Ekans[] = INCBIN_U8("graphics/pokemon/ekans/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/front.4bpp.lz");
+const u32 gMonPalette_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/normal.gbapal.lz");
+const u32 gMonBackPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/back.4bpp.lz");
+const u32 gMonShinyPalette_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/shiny.gbapal.lz");
+const u8 gMonIcon_Arbok[] = INCBIN_U8("graphics/pokemon/arbok/icon.4bpp");
+const u8 gMonFootprint_Arbok[] = INCBIN_U8("graphics/pokemon/arbok/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/front.4bpp.lz");
+const u32 gMonPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/normal.gbapal.lz");
+const u32 gMonBackPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/back.4bpp.lz");
+const u32 gMonShinyPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/shiny.gbapal.lz");
+const u8 gMonIcon_Pikachu[] = INCBIN_U8("graphics/pokemon/pikachu/icon.4bpp");
+const u8 gMonFootprint_Pikachu[] = INCBIN_U8("graphics/pokemon/pikachu/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/front.4bpp.lz");
+const u32 gMonPalette_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/normal.gbapal.lz");
+const u32 gMonBackPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/back.4bpp.lz");
+const u32 gMonShinyPalette_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/shiny.gbapal.lz");
+const u8 gMonIcon_Raichu[] = INCBIN_U8("graphics/pokemon/raichu/icon.4bpp");
+const u8 gMonFootprint_Raichu[] = INCBIN_U8("graphics/pokemon/raichu/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/front.4bpp.lz");
+const u32 gMonPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/normal.gbapal.lz");
+const u32 gMonBackPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/back.4bpp.lz");
+const u32 gMonShinyPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/shiny.gbapal.lz");
+const u8 gMonIcon_Sandshrew[] = INCBIN_U8("graphics/pokemon/sandshrew/icon.4bpp");
+const u8 gMonFootprint_Sandshrew[] = INCBIN_U8("graphics/pokemon/sandshrew/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/front.4bpp.lz");
+const u32 gMonPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/normal.gbapal.lz");
+const u32 gMonBackPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/back.4bpp.lz");
+const u32 gMonShinyPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/shiny.gbapal.lz");
+const u8 gMonIcon_Sandslash[] = INCBIN_U8("graphics/pokemon/sandslash/icon.4bpp");
+const u8 gMonFootprint_Sandslash[] = INCBIN_U8("graphics/pokemon/sandslash/footprint.1bpp");
+
+const u32 gMonStillFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/front.4bpp.lz");
+const u32 gMonPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/normal.gbapal.lz");
+const u32 gMonBackPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/back.4bpp.lz");
+const u32 gMonShinyPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/shiny.gbapal.lz");
+const u8 gMonIcon_NidoranF[] = INCBIN_U8("graphics/pokemon/nidoran_f/icon.4bpp");
+const u8 gMonFootprint_NidoranF[] = INCBIN_U8("graphics/pokemon/nidoran_f/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/front.4bpp.lz");
+const u32 gMonPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/normal.gbapal.lz");
+const u32 gMonBackPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/back.4bpp.lz");
+const u32 gMonShinyPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/shiny.gbapal.lz");
+const u8 gMonIcon_Nidorina[] = INCBIN_U8("graphics/pokemon/nidorina/icon.4bpp");
+const u8 gMonFootprint_Nidorina[] = INCBIN_U8("graphics/pokemon/nidorina/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/front.4bpp.lz");
+const u32 gMonPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/normal.gbapal.lz");
+const u32 gMonBackPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/back.4bpp.lz");
+const u32 gMonShinyPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/shiny.gbapal.lz");
+const u8 gMonIcon_Nidoqueen[] = INCBIN_U8("graphics/pokemon/nidoqueen/icon.4bpp");
+const u8 gMonFootprint_Nidoqueen[] = INCBIN_U8("graphics/pokemon/nidoqueen/footprint.1bpp");
+
+const u32 gMonStillFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/front.4bpp.lz");
+const u32 gMonPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/normal.gbapal.lz");
+const u32 gMonBackPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/back.4bpp.lz");
+const u32 gMonShinyPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/shiny.gbapal.lz");
+const u8 gMonIcon_NidoranM[] = INCBIN_U8("graphics/pokemon/nidoran_m/icon.4bpp");
+const u8 gMonFootprint_NidoranM[] = INCBIN_U8("graphics/pokemon/nidoran_m/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/front.4bpp.lz");
+const u32 gMonPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/normal.gbapal.lz");
+const u32 gMonBackPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/back.4bpp.lz");
+const u32 gMonShinyPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/shiny.gbapal.lz");
+const u8 gMonIcon_Nidorino[] = INCBIN_U8("graphics/pokemon/nidorino/icon.4bpp");
+const u8 gMonFootprint_Nidorino[] = INCBIN_U8("graphics/pokemon/nidorino/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/front.4bpp.lz");
+const u32 gMonPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/normal.gbapal.lz");
+const u32 gMonBackPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/back.4bpp.lz");
+const u32 gMonShinyPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/shiny.gbapal.lz");
+const u8 gMonIcon_Nidoking[] = INCBIN_U8("graphics/pokemon/nidoking/icon.4bpp");
+const u8 gMonFootprint_Nidoking[] = INCBIN_U8("graphics/pokemon/nidoking/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/front.4bpp.lz");
+const u32 gMonPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/normal.gbapal.lz");
+const u32 gMonBackPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/back.4bpp.lz");
+const u32 gMonShinyPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/shiny.gbapal.lz");
+const u8 gMonIcon_Clefairy[] = INCBIN_U8("graphics/pokemon/clefairy/icon.4bpp");
+const u8 gMonFootprint_Clefairy[] = INCBIN_U8("graphics/pokemon/clefairy/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/front.4bpp.lz");
+const u32 gMonPalette_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/normal.gbapal.lz");
+const u32 gMonBackPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/back.4bpp.lz");
+const u32 gMonShinyPalette_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/shiny.gbapal.lz");
+const u8 gMonIcon_Clefable[] = INCBIN_U8("graphics/pokemon/clefable/icon.4bpp");
+const u8 gMonFootprint_Clefable[] = INCBIN_U8("graphics/pokemon/clefable/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/front.4bpp.lz");
+const u32 gMonPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/normal.gbapal.lz");
+const u32 gMonBackPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/back.4bpp.lz");
+const u32 gMonShinyPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/shiny.gbapal.lz");
+const u8 gMonIcon_Vulpix[] = INCBIN_U8("graphics/pokemon/vulpix/icon.4bpp");
+const u8 gMonFootprint_Vulpix[] = INCBIN_U8("graphics/pokemon/vulpix/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/front.4bpp.lz");
+const u32 gMonPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/normal.gbapal.lz");
+const u32 gMonBackPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/back.4bpp.lz");
+const u32 gMonShinyPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/shiny.gbapal.lz");
+const u8 gMonIcon_Ninetales[] = INCBIN_U8("graphics/pokemon/ninetales/icon.4bpp");
+const u8 gMonFootprint_Ninetales[] = INCBIN_U8("graphics/pokemon/ninetales/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/front.4bpp.lz");
+const u32 gMonPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/normal.gbapal.lz");
+const u32 gMonBackPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/back.4bpp.lz");
+const u32 gMonShinyPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/shiny.gbapal.lz");
+const u8 gMonIcon_Jigglypuff[] = INCBIN_U8("graphics/pokemon/jigglypuff/icon.4bpp");
+const u8 gMonFootprint_Jigglypuff[] = INCBIN_U8("graphics/pokemon/jigglypuff/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/front.4bpp.lz");
+const u32 gMonPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/normal.gbapal.lz");
+const u32 gMonBackPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/back.4bpp.lz");
+const u32 gMonShinyPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/shiny.gbapal.lz");
+const u8 gMonIcon_Wigglytuff[] = INCBIN_U8("graphics/pokemon/wigglytuff/icon.4bpp");
+const u8 gMonFootprint_Wigglytuff[] = INCBIN_U8("graphics/pokemon/wigglytuff/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/front.4bpp.lz");
+const u32 gMonPalette_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/normal.gbapal.lz");
+const u32 gMonBackPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/back.4bpp.lz");
+const u32 gMonShinyPalette_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/shiny.gbapal.lz");
+const u8 gMonIcon_Zubat[] = INCBIN_U8("graphics/pokemon/zubat/icon.4bpp");
+const u8 gMonFootprint_Zubat[] = INCBIN_U8("graphics/pokemon/zubat/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/front.4bpp.lz");
+const u32 gMonPalette_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/normal.gbapal.lz");
+const u32 gMonBackPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/back.4bpp.lz");
+const u32 gMonShinyPalette_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/shiny.gbapal.lz");
+const u8 gMonIcon_Golbat[] = INCBIN_U8("graphics/pokemon/golbat/icon.4bpp");
+const u8 gMonFootprint_Golbat[] = INCBIN_U8("graphics/pokemon/golbat/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/front.4bpp.lz");
+const u32 gMonPalette_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/normal.gbapal.lz");
+const u32 gMonBackPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/back.4bpp.lz");
+const u32 gMonShinyPalette_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/shiny.gbapal.lz");
+const u8 gMonIcon_Oddish[] = INCBIN_U8("graphics/pokemon/oddish/icon.4bpp");
+const u8 gMonFootprint_Oddish[] = INCBIN_U8("graphics/pokemon/oddish/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/front.4bpp.lz");
+const u32 gMonPalette_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/normal.gbapal.lz");
+const u32 gMonBackPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/back.4bpp.lz");
+const u32 gMonShinyPalette_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/shiny.gbapal.lz");
+const u8 gMonIcon_Gloom[] = INCBIN_U8("graphics/pokemon/gloom/icon.4bpp");
+const u8 gMonFootprint_Gloom[] = INCBIN_U8("graphics/pokemon/gloom/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/front.4bpp.lz");
+const u32 gMonPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/normal.gbapal.lz");
+const u32 gMonBackPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/back.4bpp.lz");
+const u32 gMonShinyPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/shiny.gbapal.lz");
+const u8 gMonIcon_Vileplume[] = INCBIN_U8("graphics/pokemon/vileplume/icon.4bpp");
+const u8 gMonFootprint_Vileplume[] = INCBIN_U8("graphics/pokemon/vileplume/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/front.4bpp.lz");
+const u32 gMonPalette_Paras[] = INCBIN_U32("graphics/pokemon/paras/normal.gbapal.lz");
+const u32 gMonBackPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/back.4bpp.lz");
+const u32 gMonShinyPalette_Paras[] = INCBIN_U32("graphics/pokemon/paras/shiny.gbapal.lz");
+const u8 gMonIcon_Paras[] = INCBIN_U8("graphics/pokemon/paras/icon.4bpp");
+const u8 gMonFootprint_Paras[] = INCBIN_U8("graphics/pokemon/paras/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/front.4bpp.lz");
+const u32 gMonPalette_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/normal.gbapal.lz");
+const u32 gMonBackPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/back.4bpp.lz");
+const u32 gMonShinyPalette_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/shiny.gbapal.lz");
+const u8 gMonIcon_Parasect[] = INCBIN_U8("graphics/pokemon/parasect/icon.4bpp");
+const u8 gMonFootprint_Parasect[] = INCBIN_U8("graphics/pokemon/parasect/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/front.4bpp.lz");
+const u32 gMonPalette_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/normal.gbapal.lz");
+const u32 gMonBackPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/back.4bpp.lz");
+const u32 gMonShinyPalette_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/shiny.gbapal.lz");
+const u8 gMonIcon_Venonat[] = INCBIN_U8("graphics/pokemon/venonat/icon.4bpp");
+const u8 gMonFootprint_Venonat[] = INCBIN_U8("graphics/pokemon/venonat/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/front.4bpp.lz");
+const u32 gMonPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/normal.gbapal.lz");
+const u32 gMonBackPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/back.4bpp.lz");
+const u32 gMonShinyPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/shiny.gbapal.lz");
+const u8 gMonIcon_Venomoth[] = INCBIN_U8("graphics/pokemon/venomoth/icon.4bpp");
+const u8 gMonFootprint_Venomoth[] = INCBIN_U8("graphics/pokemon/venomoth/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/front.4bpp.lz");
+const u32 gMonPalette_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/normal.gbapal.lz");
+const u32 gMonBackPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/back.4bpp.lz");
+const u32 gMonShinyPalette_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/shiny.gbapal.lz");
+const u8 gMonIcon_Diglett[] = INCBIN_U8("graphics/pokemon/diglett/icon.4bpp");
+const u8 gMonFootprint_Diglett[] = INCBIN_U8("graphics/pokemon/diglett/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/front.4bpp.lz");
+const u32 gMonPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/normal.gbapal.lz");
+const u32 gMonBackPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/back.4bpp.lz");
+const u32 gMonShinyPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/shiny.gbapal.lz");
+const u8 gMonIcon_Dugtrio[] = INCBIN_U8("graphics/pokemon/dugtrio/icon.4bpp");
+const u8 gMonFootprint_Dugtrio[] = INCBIN_U8("graphics/pokemon/dugtrio/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/front.4bpp.lz");
+const u32 gMonPalette_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/normal.gbapal.lz");
+const u32 gMonBackPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/back.4bpp.lz");
+const u32 gMonShinyPalette_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/shiny.gbapal.lz");
+const u8 gMonIcon_Meowth[] = INCBIN_U8("graphics/pokemon/meowth/icon.4bpp");
+const u8 gMonFootprint_Meowth[] = INCBIN_U8("graphics/pokemon/meowth/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/front.4bpp.lz");
+const u32 gMonPalette_Persian[] = INCBIN_U32("graphics/pokemon/persian/normal.gbapal.lz");
+const u32 gMonBackPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/back.4bpp.lz");
+const u32 gMonShinyPalette_Persian[] = INCBIN_U32("graphics/pokemon/persian/shiny.gbapal.lz");
+const u8 gMonIcon_Persian[] = INCBIN_U8("graphics/pokemon/persian/icon.4bpp");
+const u8 gMonFootprint_Persian[] = INCBIN_U8("graphics/pokemon/persian/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/front.4bpp.lz");
+const u32 gMonPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/normal.gbapal.lz");
+const u32 gMonBackPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/back.4bpp.lz");
+const u32 gMonShinyPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/shiny.gbapal.lz");
+const u8 gMonIcon_Psyduck[] = INCBIN_U8("graphics/pokemon/psyduck/icon.4bpp");
+const u8 gMonFootprint_Psyduck[] = INCBIN_U8("graphics/pokemon/psyduck/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/front.4bpp.lz");
+const u32 gMonPalette_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/normal.gbapal.lz");
+const u32 gMonBackPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/back.4bpp.lz");
+const u32 gMonShinyPalette_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/shiny.gbapal.lz");
+const u8 gMonIcon_Golduck[] = INCBIN_U8("graphics/pokemon/golduck/icon.4bpp");
+const u8 gMonFootprint_Golduck[] = INCBIN_U8("graphics/pokemon/golduck/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/front.4bpp.lz");
+const u32 gMonPalette_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/normal.gbapal.lz");
+const u32 gMonBackPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/back.4bpp.lz");
+const u32 gMonShinyPalette_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/shiny.gbapal.lz");
+const u8 gMonIcon_Mankey[] = INCBIN_U8("graphics/pokemon/mankey/icon.4bpp");
+const u8 gMonFootprint_Mankey[] = INCBIN_U8("graphics/pokemon/mankey/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/front.4bpp.lz");
+const u32 gMonPalette_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/normal.gbapal.lz");
+const u32 gMonBackPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/back.4bpp.lz");
+const u32 gMonShinyPalette_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/shiny.gbapal.lz");
+const u8 gMonIcon_Primeape[] = INCBIN_U8("graphics/pokemon/primeape/icon.4bpp");
+const u8 gMonFootprint_Primeape[] = INCBIN_U8("graphics/pokemon/primeape/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/front.4bpp.lz");
+const u32 gMonPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/normal.gbapal.lz");
+const u32 gMonBackPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/back.4bpp.lz");
+const u32 gMonShinyPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/shiny.gbapal.lz");
+const u8 gMonIcon_Growlithe[] = INCBIN_U8("graphics/pokemon/growlithe/icon.4bpp");
+const u8 gMonFootprint_Growlithe[] = INCBIN_U8("graphics/pokemon/growlithe/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/front.4bpp.lz");
+const u32 gMonPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/normal.gbapal.lz");
+const u32 gMonBackPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/back.4bpp.lz");
+const u32 gMonShinyPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/shiny.gbapal.lz");
+const u8 gMonIcon_Arcanine[] = INCBIN_U8("graphics/pokemon/arcanine/icon.4bpp");
+const u8 gMonFootprint_Arcanine[] = INCBIN_U8("graphics/pokemon/arcanine/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/front.4bpp.lz");
+const u32 gMonPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/normal.gbapal.lz");
+const u32 gMonBackPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/back.4bpp.lz");
+const u32 gMonShinyPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/shiny.gbapal.lz");
+const u8 gMonIcon_Poliwag[] = INCBIN_U8("graphics/pokemon/poliwag/icon.4bpp");
+const u8 gMonFootprint_Poliwag[] = INCBIN_U8("graphics/pokemon/poliwag/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/front.4bpp.lz");
+const u32 gMonPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/normal.gbapal.lz");
+const u32 gMonBackPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/back.4bpp.lz");
+const u32 gMonShinyPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/shiny.gbapal.lz");
+const u8 gMonIcon_Poliwhirl[] = INCBIN_U8("graphics/pokemon/poliwhirl/icon.4bpp");
+const u8 gMonFootprint_Poliwhirl[] = INCBIN_U8("graphics/pokemon/poliwhirl/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/front.4bpp.lz");
+const u32 gMonPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/normal.gbapal.lz");
+const u32 gMonBackPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/back.4bpp.lz");
+const u32 gMonShinyPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/shiny.gbapal.lz");
+const u8 gMonIcon_Poliwrath[] = INCBIN_U8("graphics/pokemon/poliwrath/icon.4bpp");
+const u8 gMonFootprint_Poliwrath[] = INCBIN_U8("graphics/pokemon/poliwrath/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/front.4bpp.lz");
+const u32 gMonPalette_Abra[] = INCBIN_U32("graphics/pokemon/abra/normal.gbapal.lz");
+const u32 gMonBackPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/back.4bpp.lz");
+const u32 gMonShinyPalette_Abra[] = INCBIN_U32("graphics/pokemon/abra/shiny.gbapal.lz");
+const u8 gMonIcon_Abra[] = INCBIN_U8("graphics/pokemon/abra/icon.4bpp");
+const u8 gMonFootprint_Abra[] = INCBIN_U8("graphics/pokemon/abra/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/front.4bpp.lz");
+const u32 gMonPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/normal.gbapal.lz");
+const u32 gMonBackPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/back.4bpp.lz");
+const u32 gMonShinyPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/shiny.gbapal.lz");
+const u8 gMonIcon_Kadabra[] = INCBIN_U8("graphics/pokemon/kadabra/icon.4bpp");
+const u8 gMonFootprint_Kadabra[] = INCBIN_U8("graphics/pokemon/kadabra/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/front.4bpp.lz");
+const u32 gMonPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/normal.gbapal.lz");
+const u32 gMonBackPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/back.4bpp.lz");
+const u32 gMonShinyPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/shiny.gbapal.lz");
+const u8 gMonIcon_Alakazam[] = INCBIN_U8("graphics/pokemon/alakazam/icon.4bpp");
+const u8 gMonFootprint_Alakazam[] = INCBIN_U8("graphics/pokemon/alakazam/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/front.4bpp.lz");
+const u32 gMonPalette_Machop[] = INCBIN_U32("graphics/pokemon/machop/normal.gbapal.lz");
+const u32 gMonBackPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/back.4bpp.lz");
+const u32 gMonShinyPalette_Machop[] = INCBIN_U32("graphics/pokemon/machop/shiny.gbapal.lz");
+const u8 gMonIcon_Machop[] = INCBIN_U8("graphics/pokemon/machop/icon.4bpp");
+const u8 gMonFootprint_Machop[] = INCBIN_U8("graphics/pokemon/machop/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/front.4bpp.lz");
+const u32 gMonPalette_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/normal.gbapal.lz");
+const u32 gMonBackPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/back.4bpp.lz");
+const u32 gMonShinyPalette_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/shiny.gbapal.lz");
+const u8 gMonIcon_Machoke[] = INCBIN_U8("graphics/pokemon/machoke/icon.4bpp");
+const u8 gMonFootprint_Machoke[] = INCBIN_U8("graphics/pokemon/machoke/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/front.4bpp.lz");
+const u32 gMonPalette_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/normal.gbapal.lz");
+const u32 gMonBackPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/back.4bpp.lz");
+const u32 gMonShinyPalette_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/shiny.gbapal.lz");
+const u8 gMonIcon_Machamp[] = INCBIN_U8("graphics/pokemon/machamp/icon.4bpp");
+const u8 gMonFootprint_Machamp[] = INCBIN_U8("graphics/pokemon/machamp/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/front.4bpp.lz");
+const u32 gMonPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/normal.gbapal.lz");
+const u32 gMonBackPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/back.4bpp.lz");
+const u32 gMonShinyPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/shiny.gbapal.lz");
+const u8 gMonIcon_Bellsprout[] = INCBIN_U8("graphics/pokemon/bellsprout/icon.4bpp");
+const u8 gMonFootprint_Bellsprout[] = INCBIN_U8("graphics/pokemon/bellsprout/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/front.4bpp.lz");
+const u32 gMonPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/normal.gbapal.lz");
+const u32 gMonBackPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/back.4bpp.lz");
+const u32 gMonShinyPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/shiny.gbapal.lz");
+const u8 gMonIcon_Weepinbell[] = INCBIN_U8("graphics/pokemon/weepinbell/icon.4bpp");
+const u8 gMonFootprint_Weepinbell[] = INCBIN_U8("graphics/pokemon/weepinbell/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/front.4bpp.lz");
+const u32 gMonPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/normal.gbapal.lz");
+const u32 gMonBackPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/back.4bpp.lz");
+const u32 gMonShinyPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/shiny.gbapal.lz");
+const u8 gMonIcon_Victreebel[] = INCBIN_U8("graphics/pokemon/victreebel/icon.4bpp");
+const u8 gMonFootprint_Victreebel[] = INCBIN_U8("graphics/pokemon/victreebel/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/front.4bpp.lz");
+const u32 gMonPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/normal.gbapal.lz");
+const u32 gMonBackPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/back.4bpp.lz");
+const u32 gMonShinyPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/shiny.gbapal.lz");
+const u8 gMonIcon_Tentacool[] = INCBIN_U8("graphics/pokemon/tentacool/icon.4bpp");
+const u8 gMonFootprint_Tentacool[] = INCBIN_U8("graphics/pokemon/tentacool/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/front.4bpp.lz");
+const u32 gMonPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/normal.gbapal.lz");
+const u32 gMonBackPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/back.4bpp.lz");
+const u32 gMonShinyPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/shiny.gbapal.lz");
+const u8 gMonIcon_Tentacruel[] = INCBIN_U8("graphics/pokemon/tentacruel/icon.4bpp");
+const u8 gMonFootprint_Tentacruel[] = INCBIN_U8("graphics/pokemon/tentacruel/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/front.4bpp.lz");
+const u32 gMonPalette_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/normal.gbapal.lz");
+const u32 gMonBackPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/back.4bpp.lz");
+const u32 gMonShinyPalette_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/shiny.gbapal.lz");
+const u8 gMonIcon_Geodude[] = INCBIN_U8("graphics/pokemon/geodude/icon.4bpp");
+const u8 gMonFootprint_Geodude[] = INCBIN_U8("graphics/pokemon/geodude/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/front.4bpp.lz");
+const u32 gMonPalette_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/normal.gbapal.lz");
+const u32 gMonBackPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/back.4bpp.lz");
+const u32 gMonShinyPalette_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/shiny.gbapal.lz");
+const u8 gMonIcon_Graveler[] = INCBIN_U8("graphics/pokemon/graveler/icon.4bpp");
+const u8 gMonFootprint_Graveler[] = INCBIN_U8("graphics/pokemon/graveler/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/front.4bpp.lz");
+const u32 gMonPalette_Golem[] = INCBIN_U32("graphics/pokemon/golem/normal.gbapal.lz");
+const u32 gMonBackPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/back.4bpp.lz");
+const u32 gMonShinyPalette_Golem[] = INCBIN_U32("graphics/pokemon/golem/shiny.gbapal.lz");
+const u8 gMonIcon_Golem[] = INCBIN_U8("graphics/pokemon/golem/icon.4bpp");
+const u8 gMonFootprint_Golem[] = INCBIN_U8("graphics/pokemon/golem/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/front.4bpp.lz");
+const u32 gMonPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/normal.gbapal.lz");
+const u32 gMonBackPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/back.4bpp.lz");
+const u32 gMonShinyPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/shiny.gbapal.lz");
+const u8 gMonIcon_Ponyta[] = INCBIN_U8("graphics/pokemon/ponyta/icon.4bpp");
+const u8 gMonFootprint_Ponyta[] = INCBIN_U8("graphics/pokemon/ponyta/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/front.4bpp.lz");
+const u32 gMonPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/normal.gbapal.lz");
+const u32 gMonBackPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/back.4bpp.lz");
+const u32 gMonShinyPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/shiny.gbapal.lz");
+const u8 gMonIcon_Rapidash[] = INCBIN_U8("graphics/pokemon/rapidash/icon.4bpp");
+const u8 gMonFootprint_Rapidash[] = INCBIN_U8("graphics/pokemon/rapidash/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/front.4bpp.lz");
+const u32 gMonPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/normal.gbapal.lz");
+const u32 gMonBackPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/back.4bpp.lz");
+const u32 gMonShinyPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/shiny.gbapal.lz");
+const u8 gMonIcon_Slowpoke[] = INCBIN_U8("graphics/pokemon/slowpoke/icon.4bpp");
+const u8 gMonFootprint_Slowpoke[] = INCBIN_U8("graphics/pokemon/slowpoke/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/front.4bpp.lz");
+const u32 gMonPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/normal.gbapal.lz");
+const u32 gMonBackPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/back.4bpp.lz");
+const u32 gMonShinyPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/shiny.gbapal.lz");
+const u8 gMonIcon_Slowbro[] = INCBIN_U8("graphics/pokemon/slowbro/icon.4bpp");
+const u8 gMonFootprint_Slowbro[] = INCBIN_U8("graphics/pokemon/slowbro/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/front.4bpp.lz");
+const u32 gMonPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/normal.gbapal.lz");
+const u32 gMonBackPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/back.4bpp.lz");
+const u32 gMonShinyPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/shiny.gbapal.lz");
+const u8 gMonIcon_Magnemite[] = INCBIN_U8("graphics/pokemon/magnemite/icon.4bpp");
+const u8 gMonFootprint_Magnemite[] = INCBIN_U8("graphics/pokemon/magnemite/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/front.4bpp.lz");
+const u32 gMonPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/normal.gbapal.lz");
+const u32 gMonBackPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/back.4bpp.lz");
+const u32 gMonShinyPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/shiny.gbapal.lz");
+const u8 gMonIcon_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/icon.4bpp");
+const u8 gMonFootprint_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/front.4bpp.lz");
+const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/normal.gbapal.lz");
+const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/back.4bpp.lz");
+const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/shiny.gbapal.lz");
+const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/icon.4bpp");
+const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/front.4bpp.lz");
+const u32 gMonPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/normal.gbapal.lz");
+const u32 gMonBackPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/back.4bpp.lz");
+const u32 gMonShinyPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/shiny.gbapal.lz");
+const u8 gMonIcon_Doduo[] = INCBIN_U8("graphics/pokemon/doduo/icon.4bpp");
+const u8 gMonFootprint_Doduo[] = INCBIN_U8("graphics/pokemon/doduo/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/front.4bpp.lz");
+const u32 gMonPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/normal.gbapal.lz");
+const u32 gMonBackPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/back.4bpp.lz");
+const u32 gMonShinyPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/shiny.gbapal.lz");
+const u8 gMonIcon_Dodrio[] = INCBIN_U8("graphics/pokemon/dodrio/icon.4bpp");
+const u8 gMonFootprint_Dodrio[] = INCBIN_U8("graphics/pokemon/dodrio/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/front.4bpp.lz");
+const u32 gMonPalette_Seel[] = INCBIN_U32("graphics/pokemon/seel/normal.gbapal.lz");
+const u32 gMonBackPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/back.4bpp.lz");
+const u32 gMonShinyPalette_Seel[] = INCBIN_U32("graphics/pokemon/seel/shiny.gbapal.lz");
+const u8 gMonIcon_Seel[] = INCBIN_U8("graphics/pokemon/seel/icon.4bpp");
+const u8 gMonFootprint_Seel[] = INCBIN_U8("graphics/pokemon/seel/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/front.4bpp.lz");
+const u32 gMonPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/normal.gbapal.lz");
+const u32 gMonBackPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/back.4bpp.lz");
+const u32 gMonShinyPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/shiny.gbapal.lz");
+const u8 gMonIcon_Dewgong[] = INCBIN_U8("graphics/pokemon/dewgong/icon.4bpp");
+const u8 gMonFootprint_Dewgong[] = INCBIN_U8("graphics/pokemon/dewgong/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/front.4bpp.lz");
+const u32 gMonPalette_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/normal.gbapal.lz");
+const u32 gMonBackPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/back.4bpp.lz");
+const u32 gMonShinyPalette_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/shiny.gbapal.lz");
+const u8 gMonIcon_Grimer[] = INCBIN_U8("graphics/pokemon/grimer/icon.4bpp");
+const u8 gMonFootprint_Grimer[] = INCBIN_U8("graphics/pokemon/grimer/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/front.4bpp.lz");
+const u32 gMonPalette_Muk[] = INCBIN_U32("graphics/pokemon/muk/normal.gbapal.lz");
+const u32 gMonBackPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/back.4bpp.lz");
+const u32 gMonShinyPalette_Muk[] = INCBIN_U32("graphics/pokemon/muk/shiny.gbapal.lz");
+const u8 gMonIcon_Muk[] = INCBIN_U8("graphics/pokemon/muk/icon.4bpp");
+const u8 gMonFootprint_Muk[] = INCBIN_U8("graphics/pokemon/muk/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/front.4bpp.lz");
+const u32 gMonPalette_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/normal.gbapal.lz");
+const u32 gMonBackPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/back.4bpp.lz");
+const u32 gMonShinyPalette_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/shiny.gbapal.lz");
+const u8 gMonIcon_Shellder[] = INCBIN_U8("graphics/pokemon/shellder/icon.4bpp");
+const u8 gMonFootprint_Shellder[] = INCBIN_U8("graphics/pokemon/shellder/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/front.4bpp.lz");
+const u32 gMonPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/normal.gbapal.lz");
+const u32 gMonBackPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/back.4bpp.lz");
+const u32 gMonShinyPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/shiny.gbapal.lz");
+const u8 gMonIcon_Cloyster[] = INCBIN_U8("graphics/pokemon/cloyster/icon.4bpp");
+const u8 gMonFootprint_Cloyster[] = INCBIN_U8("graphics/pokemon/cloyster/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/front.4bpp.lz");
+const u32 gMonPalette_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/normal.gbapal.lz");
+const u32 gMonBackPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/back.4bpp.lz");
+const u32 gMonShinyPalette_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/shiny.gbapal.lz");
+const u8 gMonIcon_Gastly[] = INCBIN_U8("graphics/pokemon/gastly/icon.4bpp");
+const u8 gMonFootprint_Gastly[] = INCBIN_U8("graphics/pokemon/gastly/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/front.4bpp.lz");
+const u32 gMonPalette_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/normal.gbapal.lz");
+const u32 gMonBackPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/back.4bpp.lz");
+const u32 gMonShinyPalette_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/shiny.gbapal.lz");
+const u8 gMonIcon_Haunter[] = INCBIN_U8("graphics/pokemon/haunter/icon.4bpp");
+const u8 gMonFootprint_Haunter[] = INCBIN_U8("graphics/pokemon/haunter/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/front.4bpp.lz");
+const u32 gMonPalette_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/normal.gbapal.lz");
+const u32 gMonBackPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/back.4bpp.lz");
+const u32 gMonShinyPalette_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/shiny.gbapal.lz");
+const u8 gMonIcon_Gengar[] = INCBIN_U8("graphics/pokemon/gengar/icon.4bpp");
+const u8 gMonFootprint_Gengar[] = INCBIN_U8("graphics/pokemon/gengar/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/front.4bpp.lz");
+const u32 gMonPalette_Onix[] = INCBIN_U32("graphics/pokemon/onix/normal.gbapal.lz");
+const u32 gMonBackPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/back.4bpp.lz");
+const u32 gMonShinyPalette_Onix[] = INCBIN_U32("graphics/pokemon/onix/shiny.gbapal.lz");
+const u8 gMonIcon_Onix[] = INCBIN_U8("graphics/pokemon/onix/icon.4bpp");
+const u8 gMonFootprint_Onix[] = INCBIN_U8("graphics/pokemon/onix/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/front.4bpp.lz");
+const u32 gMonPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/normal.gbapal.lz");
+const u32 gMonBackPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/back.4bpp.lz");
+const u32 gMonShinyPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/shiny.gbapal.lz");
+const u8 gMonIcon_Drowzee[] = INCBIN_U8("graphics/pokemon/drowzee/icon.4bpp");
+const u8 gMonFootprint_Drowzee[] = INCBIN_U8("graphics/pokemon/drowzee/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/front.4bpp.lz");
+const u32 gMonPalette_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/normal.gbapal.lz");
+const u32 gMonBackPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/back.4bpp.lz");
+const u32 gMonShinyPalette_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/shiny.gbapal.lz");
+const u8 gMonIcon_Hypno[] = INCBIN_U8("graphics/pokemon/hypno/icon.4bpp");
+const u8 gMonFootprint_Hypno[] = INCBIN_U8("graphics/pokemon/hypno/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/front.4bpp.lz");
+const u32 gMonPalette_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/normal.gbapal.lz");
+const u32 gMonBackPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/back.4bpp.lz");
+const u32 gMonShinyPalette_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/shiny.gbapal.lz");
+const u8 gMonIcon_Krabby[] = INCBIN_U8("graphics/pokemon/krabby/icon.4bpp");
+const u8 gMonFootprint_Krabby[] = INCBIN_U8("graphics/pokemon/krabby/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/front.4bpp.lz");
+const u32 gMonPalette_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/normal.gbapal.lz");
+const u32 gMonBackPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/back.4bpp.lz");
+const u32 gMonShinyPalette_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/shiny.gbapal.lz");
+const u8 gMonIcon_Kingler[] = INCBIN_U8("graphics/pokemon/kingler/icon.4bpp");
+const u8 gMonFootprint_Kingler[] = INCBIN_U8("graphics/pokemon/kingler/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/front.4bpp.lz");
+const u32 gMonPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/normal.gbapal.lz");
+const u32 gMonBackPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/back.4bpp.lz");
+const u32 gMonShinyPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/shiny.gbapal.lz");
+const u8 gMonIcon_Voltorb[] = INCBIN_U8("graphics/pokemon/voltorb/icon.4bpp");
+const u8 gMonFootprint_Voltorb[] = INCBIN_U8("graphics/pokemon/voltorb/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/front.4bpp.lz");
+const u32 gMonPalette_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/normal.gbapal.lz");
+const u32 gMonBackPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/back.4bpp.lz");
+const u32 gMonShinyPalette_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/shiny.gbapal.lz");
+const u8 gMonIcon_Electrode[] = INCBIN_U8("graphics/pokemon/electrode/icon.4bpp");
+const u8 gMonFootprint_Electrode[] = INCBIN_U8("graphics/pokemon/electrode/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/front.4bpp.lz");
+const u32 gMonPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/normal.gbapal.lz");
+const u32 gMonBackPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/back.4bpp.lz");
+const u32 gMonShinyPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/shiny.gbapal.lz");
+const u8 gMonIcon_Exeggcute[] = INCBIN_U8("graphics/pokemon/exeggcute/icon.4bpp");
+const u8 gMonFootprint_Exeggcute[] = INCBIN_U8("graphics/pokemon/exeggcute/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/front.4bpp.lz");
+const u32 gMonPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/normal.gbapal.lz");
+const u32 gMonBackPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/back.4bpp.lz");
+const u32 gMonShinyPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/shiny.gbapal.lz");
+const u8 gMonIcon_Exeggutor[] = INCBIN_U8("graphics/pokemon/exeggutor/icon.4bpp");
+const u8 gMonFootprint_Exeggutor[] = INCBIN_U8("graphics/pokemon/exeggutor/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/front.4bpp.lz");
+const u32 gMonPalette_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/normal.gbapal.lz");
+const u32 gMonBackPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/back.4bpp.lz");
+const u32 gMonShinyPalette_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/shiny.gbapal.lz");
+const u8 gMonIcon_Cubone[] = INCBIN_U8("graphics/pokemon/cubone/icon.4bpp");
+const u8 gMonFootprint_Cubone[] = INCBIN_U8("graphics/pokemon/cubone/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/front.4bpp.lz");
+const u32 gMonPalette_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/normal.gbapal.lz");
+const u32 gMonBackPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/back.4bpp.lz");
+const u32 gMonShinyPalette_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/shiny.gbapal.lz");
+const u8 gMonIcon_Marowak[] = INCBIN_U8("graphics/pokemon/marowak/icon.4bpp");
+const u8 gMonFootprint_Marowak[] = INCBIN_U8("graphics/pokemon/marowak/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/front.4bpp.lz");
+const u32 gMonPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/normal.gbapal.lz");
+const u32 gMonBackPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/back.4bpp.lz");
+const u32 gMonShinyPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/shiny.gbapal.lz");
+const u8 gMonIcon_Hitmonlee[] = INCBIN_U8("graphics/pokemon/hitmonlee/icon.4bpp");
+const u8 gMonFootprint_Hitmonlee[] = INCBIN_U8("graphics/pokemon/hitmonlee/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/front.4bpp.lz");
+const u32 gMonPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/normal.gbapal.lz");
+const u32 gMonBackPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/back.4bpp.lz");
+const u32 gMonShinyPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/shiny.gbapal.lz");
+const u8 gMonIcon_Hitmonchan[] = INCBIN_U8("graphics/pokemon/hitmonchan/icon.4bpp");
+const u8 gMonFootprint_Hitmonchan[] = INCBIN_U8("graphics/pokemon/hitmonchan/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/front.4bpp.lz");
+const u32 gMonPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/normal.gbapal.lz");
+const u32 gMonBackPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/back.4bpp.lz");
+const u32 gMonShinyPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/shiny.gbapal.lz");
+const u8 gMonIcon_Lickitung[] = INCBIN_U8("graphics/pokemon/lickitung/icon.4bpp");
+const u8 gMonFootprint_Lickitung[] = INCBIN_U8("graphics/pokemon/lickitung/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/front.4bpp.lz");
+const u32 gMonPalette_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/normal.gbapal.lz");
+const u32 gMonBackPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/back.4bpp.lz");
+const u32 gMonShinyPalette_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/shiny.gbapal.lz");
+const u8 gMonIcon_Koffing[] = INCBIN_U8("graphics/pokemon/koffing/icon.4bpp");
+const u8 gMonFootprint_Koffing[] = INCBIN_U8("graphics/pokemon/koffing/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/front.4bpp.lz");
+const u32 gMonPalette_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/normal.gbapal.lz");
+const u32 gMonBackPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/back.4bpp.lz");
+const u32 gMonShinyPalette_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/shiny.gbapal.lz");
+const u8 gMonIcon_Weezing[] = INCBIN_U8("graphics/pokemon/weezing/icon.4bpp");
+const u8 gMonFootprint_Weezing[] = INCBIN_U8("graphics/pokemon/weezing/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/front.4bpp.lz");
+const u32 gMonPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/normal.gbapal.lz");
+const u32 gMonBackPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/back.4bpp.lz");
+const u32 gMonShinyPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/shiny.gbapal.lz");
+const u8 gMonIcon_Rhyhorn[] = INCBIN_U8("graphics/pokemon/rhyhorn/icon.4bpp");
+const u8 gMonFootprint_Rhyhorn[] = INCBIN_U8("graphics/pokemon/rhyhorn/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/front.4bpp.lz");
+const u32 gMonPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/normal.gbapal.lz");
+const u32 gMonBackPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/back.4bpp.lz");
+const u32 gMonShinyPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/shiny.gbapal.lz");
+const u8 gMonIcon_Rhydon[] = INCBIN_U8("graphics/pokemon/rhydon/icon.4bpp");
+const u8 gMonFootprint_Rhydon[] = INCBIN_U8("graphics/pokemon/rhydon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/front.4bpp.lz");
+const u32 gMonPalette_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/normal.gbapal.lz");
+const u32 gMonBackPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/back.4bpp.lz");
+const u32 gMonShinyPalette_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/shiny.gbapal.lz");
+const u8 gMonIcon_Chansey[] = INCBIN_U8("graphics/pokemon/chansey/icon.4bpp");
+const u8 gMonFootprint_Chansey[] = INCBIN_U8("graphics/pokemon/chansey/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/front.4bpp.lz");
+const u32 gMonPalette_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/normal.gbapal.lz");
+const u32 gMonBackPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/back.4bpp.lz");
+const u32 gMonShinyPalette_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/shiny.gbapal.lz");
+const u8 gMonIcon_Tangela[] = INCBIN_U8("graphics/pokemon/tangela/icon.4bpp");
+const u8 gMonFootprint_Tangela[] = INCBIN_U8("graphics/pokemon/tangela/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/front.4bpp.lz");
+const u32 gMonPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/normal.gbapal.lz");
+const u32 gMonBackPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/back.4bpp.lz");
+const u32 gMonShinyPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/shiny.gbapal.lz");
+const u8 gMonIcon_Kangaskhan[] = INCBIN_U8("graphics/pokemon/kangaskhan/icon.4bpp");
+const u8 gMonFootprint_Kangaskhan[] = INCBIN_U8("graphics/pokemon/kangaskhan/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/front.4bpp.lz");
+const u32 gMonPalette_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/normal.gbapal.lz");
+const u32 gMonBackPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/back.4bpp.lz");
+const u32 gMonShinyPalette_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/shiny.gbapal.lz");
+const u8 gMonIcon_Horsea[] = INCBIN_U8("graphics/pokemon/horsea/icon.4bpp");
+const u8 gMonFootprint_Horsea[] = INCBIN_U8("graphics/pokemon/horsea/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/front.4bpp.lz");
+const u32 gMonPalette_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/normal.gbapal.lz");
+const u32 gMonBackPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/back.4bpp.lz");
+const u32 gMonShinyPalette_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/shiny.gbapal.lz");
+const u8 gMonIcon_Seadra[] = INCBIN_U8("graphics/pokemon/seadra/icon.4bpp");
+const u8 gMonFootprint_Seadra[] = INCBIN_U8("graphics/pokemon/seadra/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/front.4bpp.lz");
+const u32 gMonPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/normal.gbapal.lz");
+const u32 gMonBackPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/back.4bpp.lz");
+const u32 gMonShinyPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/shiny.gbapal.lz");
+const u8 gMonIcon_Goldeen[] = INCBIN_U8("graphics/pokemon/goldeen/icon.4bpp");
+const u8 gMonFootprint_Goldeen[] = INCBIN_U8("graphics/pokemon/goldeen/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/front.4bpp.lz");
+const u32 gMonPalette_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/normal.gbapal.lz");
+const u32 gMonBackPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/back.4bpp.lz");
+const u32 gMonShinyPalette_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/shiny.gbapal.lz");
+const u8 gMonIcon_Seaking[] = INCBIN_U8("graphics/pokemon/seaking/icon.4bpp");
+const u8 gMonFootprint_Seaking[] = INCBIN_U8("graphics/pokemon/seaking/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/front.4bpp.lz");
+const u32 gMonPalette_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/normal.gbapal.lz");
+const u32 gMonBackPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/back.4bpp.lz");
+const u32 gMonShinyPalette_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/shiny.gbapal.lz");
+const u8 gMonIcon_Staryu[] = INCBIN_U8("graphics/pokemon/staryu/icon.4bpp");
+const u8 gMonFootprint_Staryu[] = INCBIN_U8("graphics/pokemon/staryu/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/front.4bpp.lz");
+const u32 gMonPalette_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/normal.gbapal.lz");
+const u32 gMonBackPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/back.4bpp.lz");
+const u32 gMonShinyPalette_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/shiny.gbapal.lz");
+const u8 gMonIcon_Starmie[] = INCBIN_U8("graphics/pokemon/starmie/icon.4bpp");
+const u8 gMonFootprint_Starmie[] = INCBIN_U8("graphics/pokemon/starmie/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/front.4bpp.lz");
+const u32 gMonPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/normal.gbapal.lz");
+const u32 gMonBackPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/back.4bpp.lz");
+const u32 gMonShinyPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/shiny.gbapal.lz");
+const u8 gMonIcon_Mrmime[] = INCBIN_U8("graphics/pokemon/mr_mime/icon.4bpp");
+const u8 gMonFootprint_Mrmime[] = INCBIN_U8("graphics/pokemon/mr_mime/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/front.4bpp.lz");
+const u32 gMonPalette_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/normal.gbapal.lz");
+const u32 gMonBackPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/back.4bpp.lz");
+const u32 gMonShinyPalette_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/shiny.gbapal.lz");
+const u8 gMonIcon_Scyther[] = INCBIN_U8("graphics/pokemon/scyther/icon.4bpp");
+const u8 gMonFootprint_Scyther[] = INCBIN_U8("graphics/pokemon/scyther/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/front.4bpp.lz");
+const u32 gMonPalette_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/normal.gbapal.lz");
+const u32 gMonBackPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/back.4bpp.lz");
+const u32 gMonShinyPalette_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/shiny.gbapal.lz");
+const u8 gMonIcon_Jynx[] = INCBIN_U8("graphics/pokemon/jynx/icon.4bpp");
+const u8 gMonFootprint_Jynx[] = INCBIN_U8("graphics/pokemon/jynx/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/front.4bpp.lz");
+const u32 gMonPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/normal.gbapal.lz");
+const u32 gMonBackPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/back.4bpp.lz");
+const u32 gMonShinyPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/shiny.gbapal.lz");
+const u8 gMonIcon_Electabuzz[] = INCBIN_U8("graphics/pokemon/electabuzz/icon.4bpp");
+const u8 gMonFootprint_Electabuzz[] = INCBIN_U8("graphics/pokemon/electabuzz/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/front.4bpp.lz");
+const u32 gMonPalette_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/normal.gbapal.lz");
+const u32 gMonBackPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/back.4bpp.lz");
+const u32 gMonShinyPalette_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/shiny.gbapal.lz");
+const u8 gMonIcon_Magmar[] = INCBIN_U8("graphics/pokemon/magmar/icon.4bpp");
+const u8 gMonFootprint_Magmar[] = INCBIN_U8("graphics/pokemon/magmar/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/front.4bpp.lz");
+const u32 gMonPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/normal.gbapal.lz");
+const u32 gMonBackPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/back.4bpp.lz");
+const u32 gMonShinyPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/shiny.gbapal.lz");
+const u8 gMonIcon_Pinsir[] = INCBIN_U8("graphics/pokemon/pinsir/icon.4bpp");
+const u8 gMonFootprint_Pinsir[] = INCBIN_U8("graphics/pokemon/pinsir/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/front.4bpp.lz");
+const u32 gMonPalette_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/normal.gbapal.lz");
+const u32 gMonBackPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/back.4bpp.lz");
+const u32 gMonShinyPalette_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/shiny.gbapal.lz");
+const u8 gMonIcon_Tauros[] = INCBIN_U8("graphics/pokemon/tauros/icon.4bpp");
+const u8 gMonFootprint_Tauros[] = INCBIN_U8("graphics/pokemon/tauros/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/front.4bpp.lz");
+const u32 gMonPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/normal.gbapal.lz");
+const u32 gMonBackPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/back.4bpp.lz");
+const u32 gMonShinyPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/shiny.gbapal.lz");
+const u8 gMonIcon_Magikarp[] = INCBIN_U8("graphics/pokemon/magikarp/icon.4bpp");
+const u8 gMonFootprint_Magikarp[] = INCBIN_U8("graphics/pokemon/magikarp/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/front.4bpp.lz");
+const u32 gMonPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/normal.gbapal.lz");
+const u32 gMonBackPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/back.4bpp.lz");
+const u32 gMonShinyPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/shiny.gbapal.lz");
+const u8 gMonIcon_Gyarados[] = INCBIN_U8("graphics/pokemon/gyarados/icon.4bpp");
+const u8 gMonFootprint_Gyarados[] = INCBIN_U8("graphics/pokemon/gyarados/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/front.4bpp.lz");
+const u32 gMonPalette_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/normal.gbapal.lz");
+const u32 gMonBackPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/back.4bpp.lz");
+const u32 gMonShinyPalette_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/shiny.gbapal.lz");
+const u8 gMonIcon_Lapras[] = INCBIN_U8("graphics/pokemon/lapras/icon.4bpp");
+const u8 gMonFootprint_Lapras[] = INCBIN_U8("graphics/pokemon/lapras/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/front.4bpp.lz");
+const u32 gMonPalette_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/normal.gbapal.lz");
+const u32 gMonBackPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/back.4bpp.lz");
+const u32 gMonShinyPalette_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/shiny.gbapal.lz");
+const u8 gMonIcon_Ditto[] = INCBIN_U8("graphics/pokemon/ditto/icon.4bpp");
+const u8 gMonFootprint_Ditto[] = INCBIN_U8("graphics/pokemon/ditto/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/front.4bpp.lz");
+const u32 gMonPalette_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/normal.gbapal.lz");
+const u32 gMonBackPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/back.4bpp.lz");
+const u32 gMonShinyPalette_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/shiny.gbapal.lz");
+const u8 gMonIcon_Eevee[] = INCBIN_U8("graphics/pokemon/eevee/icon.4bpp");
+const u8 gMonFootprint_Eevee[] = INCBIN_U8("graphics/pokemon/eevee/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/front.4bpp.lz");
+const u32 gMonPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/normal.gbapal.lz");
+const u32 gMonBackPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/back.4bpp.lz");
+const u32 gMonShinyPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/shiny.gbapal.lz");
+const u8 gMonIcon_Vaporeon[] = INCBIN_U8("graphics/pokemon/vaporeon/icon.4bpp");
+const u8 gMonFootprint_Vaporeon[] = INCBIN_U8("graphics/pokemon/vaporeon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/front.4bpp.lz");
+const u32 gMonPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/normal.gbapal.lz");
+const u32 gMonBackPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/back.4bpp.lz");
+const u32 gMonShinyPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/shiny.gbapal.lz");
+const u8 gMonIcon_Jolteon[] = INCBIN_U8("graphics/pokemon/jolteon/icon.4bpp");
+const u8 gMonFootprint_Jolteon[] = INCBIN_U8("graphics/pokemon/jolteon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/front.4bpp.lz");
+const u32 gMonPalette_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/normal.gbapal.lz");
+const u32 gMonBackPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/back.4bpp.lz");
+const u32 gMonShinyPalette_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/shiny.gbapal.lz");
+const u8 gMonIcon_Flareon[] = INCBIN_U8("graphics/pokemon/flareon/icon.4bpp");
+const u8 gMonFootprint_Flareon[] = INCBIN_U8("graphics/pokemon/flareon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/front.4bpp.lz");
+const u32 gMonPalette_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/normal.gbapal.lz");
+const u32 gMonBackPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/back.4bpp.lz");
+const u32 gMonShinyPalette_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/shiny.gbapal.lz");
+const u8 gMonIcon_Porygon[] = INCBIN_U8("graphics/pokemon/porygon/icon.4bpp");
+const u8 gMonFootprint_Porygon[] = INCBIN_U8("graphics/pokemon/porygon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/front.4bpp.lz");
+const u32 gMonPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/normal.gbapal.lz");
+const u32 gMonBackPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/back.4bpp.lz");
+const u32 gMonShinyPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/shiny.gbapal.lz");
+const u8 gMonIcon_Omanyte[] = INCBIN_U8("graphics/pokemon/omanyte/icon.4bpp");
+const u8 gMonFootprint_Omanyte[] = INCBIN_U8("graphics/pokemon/omanyte/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/front.4bpp.lz");
+const u32 gMonPalette_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/normal.gbapal.lz");
+const u32 gMonBackPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/back.4bpp.lz");
+const u32 gMonShinyPalette_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/shiny.gbapal.lz");
+const u8 gMonIcon_Omastar[] = INCBIN_U8("graphics/pokemon/omastar/icon.4bpp");
+const u8 gMonFootprint_Omastar[] = INCBIN_U8("graphics/pokemon/omastar/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/front.4bpp.lz");
+const u32 gMonPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/normal.gbapal.lz");
+const u32 gMonBackPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/back.4bpp.lz");
+const u32 gMonShinyPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/shiny.gbapal.lz");
+const u8 gMonIcon_Kabuto[] = INCBIN_U8("graphics/pokemon/kabuto/icon.4bpp");
+const u8 gMonFootprint_Kabuto[] = INCBIN_U8("graphics/pokemon/kabuto/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/front.4bpp.lz");
+const u32 gMonPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/normal.gbapal.lz");
+const u32 gMonBackPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/back.4bpp.lz");
+const u32 gMonShinyPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/shiny.gbapal.lz");
+const u8 gMonIcon_Kabutops[] = INCBIN_U8("graphics/pokemon/kabutops/icon.4bpp");
+const u8 gMonFootprint_Kabutops[] = INCBIN_U8("graphics/pokemon/kabutops/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/front.4bpp.lz");
+const u32 gMonPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/normal.gbapal.lz");
+const u32 gMonBackPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/back.4bpp.lz");
+const u32 gMonShinyPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/shiny.gbapal.lz");
+const u8 gMonIcon_Aerodactyl[] = INCBIN_U8("graphics/pokemon/aerodactyl/icon.4bpp");
+const u8 gMonFootprint_Aerodactyl[] = INCBIN_U8("graphics/pokemon/aerodactyl/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/front.4bpp.lz");
+const u32 gMonPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/normal.gbapal.lz");
+const u32 gMonBackPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/back.4bpp.lz");
+const u32 gMonShinyPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/shiny.gbapal.lz");
+const u8 gMonIcon_Snorlax[] = INCBIN_U8("graphics/pokemon/snorlax/icon.4bpp");
+const u8 gMonFootprint_Snorlax[] = INCBIN_U8("graphics/pokemon/snorlax/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/front.4bpp.lz");
+const u32 gMonPalette_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/normal.gbapal.lz");
+const u32 gMonBackPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/back.4bpp.lz");
+const u32 gMonShinyPalette_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/shiny.gbapal.lz");
+const u8 gMonIcon_Articuno[] = INCBIN_U8("graphics/pokemon/articuno/icon.4bpp");
+const u8 gMonFootprint_Articuno[] = INCBIN_U8("graphics/pokemon/articuno/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/front.4bpp.lz");
+const u32 gMonPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/normal.gbapal.lz");
+const u32 gMonBackPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/back.4bpp.lz");
+const u32 gMonShinyPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/shiny.gbapal.lz");
+const u8 gMonIcon_Zapdos[] = INCBIN_U8("graphics/pokemon/zapdos/icon.4bpp");
+const u8 gMonFootprint_Zapdos[] = INCBIN_U8("graphics/pokemon/zapdos/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/front.4bpp.lz");
+const u32 gMonPalette_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/normal.gbapal.lz");
+const u32 gMonBackPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/back.4bpp.lz");
+const u32 gMonShinyPalette_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/shiny.gbapal.lz");
+const u8 gMonIcon_Moltres[] = INCBIN_U8("graphics/pokemon/moltres/icon.4bpp");
+const u8 gMonFootprint_Moltres[] = INCBIN_U8("graphics/pokemon/moltres/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/front.4bpp.lz");
+const u32 gMonPalette_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/normal.gbapal.lz");
+const u32 gMonBackPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/back.4bpp.lz");
+const u32 gMonShinyPalette_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/shiny.gbapal.lz");
+const u8 gMonIcon_Dratini[] = INCBIN_U8("graphics/pokemon/dratini/icon.4bpp");
+const u8 gMonFootprint_Dratini[] = INCBIN_U8("graphics/pokemon/dratini/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/front.4bpp.lz");
+const u32 gMonPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/normal.gbapal.lz");
+const u32 gMonBackPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/back.4bpp.lz");
+const u32 gMonShinyPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/shiny.gbapal.lz");
+const u8 gMonIcon_Dragonair[] = INCBIN_U8("graphics/pokemon/dragonair/icon.4bpp");
+const u8 gMonFootprint_Dragonair[] = INCBIN_U8("graphics/pokemon/dragonair/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/front.4bpp.lz");
+const u32 gMonPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/normal.gbapal.lz");
+const u32 gMonBackPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/back.4bpp.lz");
+const u32 gMonShinyPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/shiny.gbapal.lz");
+const u8 gMonIcon_Dragonite[] = INCBIN_U8("graphics/pokemon/dragonite/icon.4bpp");
+const u8 gMonFootprint_Dragonite[] = INCBIN_U8("graphics/pokemon/dragonite/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/front.4bpp.lz");
+const u32 gMonPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/normal.gbapal.lz");
+const u32 gMonBackPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/back.4bpp.lz");
+const u32 gMonShinyPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/shiny.gbapal.lz");
+const u8 gMonIcon_Mewtwo[] = INCBIN_U8("graphics/pokemon/mewtwo/icon.4bpp");
+const u8 gMonFootprint_Mewtwo[] = INCBIN_U8("graphics/pokemon/mewtwo/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/front.4bpp.lz");
+const u32 gMonPalette_Mew[] = INCBIN_U32("graphics/pokemon/mew/normal.gbapal.lz");
+const u32 gMonBackPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/back.4bpp.lz");
+const u32 gMonShinyPalette_Mew[] = INCBIN_U32("graphics/pokemon/mew/shiny.gbapal.lz");
+const u8 gMonIcon_Mew[] = INCBIN_U8("graphics/pokemon/mew/icon.4bpp");
+const u8 gMonFootprint_Mew[] = INCBIN_U8("graphics/pokemon/mew/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/front.4bpp.lz");
+const u32 gMonPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/normal.gbapal.lz");
+const u32 gMonBackPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/back.4bpp.lz");
+const u32 gMonShinyPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/shiny.gbapal.lz");
+const u8 gMonIcon_Chikorita[] = INCBIN_U8("graphics/pokemon/chikorita/icon.4bpp");
+const u8 gMonFootprint_Chikorita[] = INCBIN_U8("graphics/pokemon/chikorita/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/front.4bpp.lz");
+const u32 gMonPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/normal.gbapal.lz");
+const u32 gMonBackPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/back.4bpp.lz");
+const u32 gMonShinyPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/shiny.gbapal.lz");
+const u8 gMonIcon_Bayleef[] = INCBIN_U8("graphics/pokemon/bayleef/icon.4bpp");
+const u8 gMonFootprint_Bayleef[] = INCBIN_U8("graphics/pokemon/bayleef/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/front.4bpp.lz");
+const u32 gMonPalette_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/normal.gbapal.lz");
+const u32 gMonBackPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/back.4bpp.lz");
+const u32 gMonShinyPalette_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/shiny.gbapal.lz");
+const u8 gMonIcon_Meganium[] = INCBIN_U8("graphics/pokemon/meganium/icon.4bpp");
+const u8 gMonFootprint_Meganium[] = INCBIN_U8("graphics/pokemon/meganium/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/front.4bpp.lz");
+const u32 gMonPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/normal.gbapal.lz");
+const u32 gMonBackPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/back.4bpp.lz");
+const u32 gMonShinyPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/shiny.gbapal.lz");
+const u8 gMonIcon_Cyndaquil[] = INCBIN_U8("graphics/pokemon/cyndaquil/icon.4bpp");
+const u8 gMonFootprint_Cyndaquil[] = INCBIN_U8("graphics/pokemon/cyndaquil/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/front.4bpp.lz");
+const u32 gMonPalette_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/normal.gbapal.lz");
+const u32 gMonBackPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/back.4bpp.lz");
+const u32 gMonShinyPalette_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/shiny.gbapal.lz");
+const u8 gMonIcon_Quilava[] = INCBIN_U8("graphics/pokemon/quilava/icon.4bpp");
+const u8 gMonFootprint_Quilava[] = INCBIN_U8("graphics/pokemon/quilava/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/front.4bpp.lz");
+const u32 gMonPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/normal.gbapal.lz");
+const u32 gMonBackPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/back.4bpp.lz");
+const u32 gMonShinyPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/shiny.gbapal.lz");
+const u8 gMonIcon_Typhlosion[] = INCBIN_U8("graphics/pokemon/typhlosion/icon.4bpp");
+const u8 gMonFootprint_Typhlosion[] = INCBIN_U8("graphics/pokemon/typhlosion/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/front.4bpp.lz");
+const u32 gMonPalette_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/normal.gbapal.lz");
+const u32 gMonBackPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/back.4bpp.lz");
+const u32 gMonShinyPalette_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/shiny.gbapal.lz");
+const u8 gMonIcon_Totodile[] = INCBIN_U8("graphics/pokemon/totodile/icon.4bpp");
+const u8 gMonFootprint_Totodile[] = INCBIN_U8("graphics/pokemon/totodile/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/front.4bpp.lz");
+const u32 gMonPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/normal.gbapal.lz");
+const u32 gMonBackPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/back.4bpp.lz");
+const u32 gMonShinyPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/shiny.gbapal.lz");
+const u8 gMonIcon_Croconaw[] = INCBIN_U8("graphics/pokemon/croconaw/icon.4bpp");
+const u8 gMonFootprint_Croconaw[] = INCBIN_U8("graphics/pokemon/croconaw/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/front.4bpp.lz");
+const u32 gMonPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/normal.gbapal.lz");
+const u32 gMonBackPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/back.4bpp.lz");
+const u32 gMonShinyPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/shiny.gbapal.lz");
+const u8 gMonIcon_Feraligatr[] = INCBIN_U8("graphics/pokemon/feraligatr/icon.4bpp");
+const u8 gMonFootprint_Feraligatr[] = INCBIN_U8("graphics/pokemon/feraligatr/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/front.4bpp.lz");
+const u32 gMonPalette_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/normal.gbapal.lz");
+const u32 gMonBackPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/back.4bpp.lz");
+const u32 gMonShinyPalette_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/shiny.gbapal.lz");
+const u8 gMonIcon_Sentret[] = INCBIN_U8("graphics/pokemon/sentret/icon.4bpp");
+const u8 gMonFootprint_Sentret[] = INCBIN_U8("graphics/pokemon/sentret/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/front.4bpp.lz");
+const u32 gMonPalette_Furret[] = INCBIN_U32("graphics/pokemon/furret/normal.gbapal.lz");
+const u32 gMonBackPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/back.4bpp.lz");
+const u32 gMonShinyPalette_Furret[] = INCBIN_U32("graphics/pokemon/furret/shiny.gbapal.lz");
+const u8 gMonIcon_Furret[] = INCBIN_U8("graphics/pokemon/furret/icon.4bpp");
+const u8 gMonFootprint_Furret[] = INCBIN_U8("graphics/pokemon/furret/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/front.4bpp.lz");
+const u32 gMonPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/normal.gbapal.lz");
+const u32 gMonBackPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/back.4bpp.lz");
+const u32 gMonShinyPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/shiny.gbapal.lz");
+const u8 gMonIcon_Hoothoot[] = INCBIN_U8("graphics/pokemon/hoothoot/icon.4bpp");
+const u8 gMonFootprint_Hoothoot[] = INCBIN_U8("graphics/pokemon/hoothoot/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/front.4bpp.lz");
+const u32 gMonPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/normal.gbapal.lz");
+const u32 gMonBackPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/back.4bpp.lz");
+const u32 gMonShinyPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/shiny.gbapal.lz");
+const u8 gMonIcon_Noctowl[] = INCBIN_U8("graphics/pokemon/noctowl/icon.4bpp");
+const u8 gMonFootprint_Noctowl[] = INCBIN_U8("graphics/pokemon/noctowl/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/front.4bpp.lz");
+const u32 gMonPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/normal.gbapal.lz");
+const u32 gMonBackPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/back.4bpp.lz");
+const u32 gMonShinyPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/shiny.gbapal.lz");
+const u8 gMonIcon_Ledyba[] = INCBIN_U8("graphics/pokemon/ledyba/icon.4bpp");
+const u8 gMonFootprint_Ledyba[] = INCBIN_U8("graphics/pokemon/ledyba/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/front.4bpp.lz");
+const u32 gMonPalette_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/normal.gbapal.lz");
+const u32 gMonBackPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/back.4bpp.lz");
+const u32 gMonShinyPalette_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/shiny.gbapal.lz");
+const u8 gMonIcon_Ledian[] = INCBIN_U8("graphics/pokemon/ledian/icon.4bpp");
+const u8 gMonFootprint_Ledian[] = INCBIN_U8("graphics/pokemon/ledian/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/front.4bpp.lz");
+const u32 gMonPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/normal.gbapal.lz");
+const u32 gMonBackPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/back.4bpp.lz");
+const u32 gMonShinyPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/shiny.gbapal.lz");
+const u8 gMonIcon_Spinarak[] = INCBIN_U8("graphics/pokemon/spinarak/icon.4bpp");
+const u8 gMonFootprint_Spinarak[] = INCBIN_U8("graphics/pokemon/spinarak/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/front.4bpp.lz");
+const u32 gMonPalette_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/normal.gbapal.lz");
+const u32 gMonBackPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/back.4bpp.lz");
+const u32 gMonShinyPalette_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/shiny.gbapal.lz");
+const u8 gMonIcon_Ariados[] = INCBIN_U8("graphics/pokemon/ariados/icon.4bpp");
+const u8 gMonFootprint_Ariados[] = INCBIN_U8("graphics/pokemon/ariados/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/front.4bpp.lz");
+const u32 gMonPalette_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/normal.gbapal.lz");
+const u32 gMonBackPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/back.4bpp.lz");
+const u32 gMonShinyPalette_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/shiny.gbapal.lz");
+const u8 gMonIcon_Crobat[] = INCBIN_U8("graphics/pokemon/crobat/icon.4bpp");
+const u8 gMonFootprint_Crobat[] = INCBIN_U8("graphics/pokemon/crobat/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/front.4bpp.lz");
+const u32 gMonPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/normal.gbapal.lz");
+const u32 gMonBackPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/back.4bpp.lz");
+const u32 gMonShinyPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/shiny.gbapal.lz");
+const u8 gMonIcon_Chinchou[] = INCBIN_U8("graphics/pokemon/chinchou/icon.4bpp");
+const u8 gMonFootprint_Chinchou[] = INCBIN_U8("graphics/pokemon/chinchou/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/front.4bpp.lz");
+const u32 gMonPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/normal.gbapal.lz");
+const u32 gMonBackPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/back.4bpp.lz");
+const u32 gMonShinyPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/shiny.gbapal.lz");
+const u8 gMonIcon_Lanturn[] = INCBIN_U8("graphics/pokemon/lanturn/icon.4bpp");
+const u8 gMonFootprint_Lanturn[] = INCBIN_U8("graphics/pokemon/lanturn/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/front.4bpp.lz");
+const u32 gMonPalette_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/normal.gbapal.lz");
+const u32 gMonBackPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/back.4bpp.lz");
+const u32 gMonShinyPalette_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/shiny.gbapal.lz");
+const u8 gMonIcon_Pichu[] = INCBIN_U8("graphics/pokemon/pichu/icon.4bpp");
+const u8 gMonFootprint_Pichu[] = INCBIN_U8("graphics/pokemon/pichu/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/front.4bpp.lz");
+const u32 gMonPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/normal.gbapal.lz");
+const u32 gMonBackPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/back.4bpp.lz");
+const u32 gMonShinyPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/shiny.gbapal.lz");
+const u8 gMonIcon_Cleffa[] = INCBIN_U8("graphics/pokemon/cleffa/icon.4bpp");
+const u8 gMonFootprint_Cleffa[] = INCBIN_U8("graphics/pokemon/cleffa/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/front.4bpp.lz");
+const u32 gMonPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/normal.gbapal.lz");
+const u32 gMonBackPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/back.4bpp.lz");
+const u32 gMonShinyPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/shiny.gbapal.lz");
+const u8 gMonIcon_Igglybuff[] = INCBIN_U8("graphics/pokemon/igglybuff/icon.4bpp");
+const u8 gMonFootprint_Igglybuff[] = INCBIN_U8("graphics/pokemon/igglybuff/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/front.4bpp.lz");
+const u32 gMonPalette_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/normal.gbapal.lz");
+const u32 gMonBackPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/back.4bpp.lz");
+const u32 gMonShinyPalette_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/shiny.gbapal.lz");
+const u8 gMonIcon_Togepi[] = INCBIN_U8("graphics/pokemon/togepi/icon.4bpp");
+const u8 gMonFootprint_Togepi[] = INCBIN_U8("graphics/pokemon/togepi/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/front.4bpp.lz");
+const u32 gMonPalette_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/normal.gbapal.lz");
+const u32 gMonBackPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/back.4bpp.lz");
+const u32 gMonShinyPalette_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/shiny.gbapal.lz");
+const u8 gMonIcon_Togetic[] = INCBIN_U8("graphics/pokemon/togetic/icon.4bpp");
+const u8 gMonFootprint_Togetic[] = INCBIN_U8("graphics/pokemon/togetic/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/front.4bpp.lz");
+const u32 gMonPalette_Natu[] = INCBIN_U32("graphics/pokemon/natu/normal.gbapal.lz");
+const u32 gMonBackPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/back.4bpp.lz");
+const u32 gMonShinyPalette_Natu[] = INCBIN_U32("graphics/pokemon/natu/shiny.gbapal.lz");
+const u8 gMonIcon_Natu[] = INCBIN_U8("graphics/pokemon/natu/icon.4bpp");
+const u8 gMonFootprint_Natu[] = INCBIN_U8("graphics/pokemon/natu/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/front.4bpp.lz");
+const u32 gMonPalette_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/normal.gbapal.lz");
+const u32 gMonBackPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/back.4bpp.lz");
+const u32 gMonShinyPalette_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/shiny.gbapal.lz");
+const u8 gMonIcon_Xatu[] = INCBIN_U8("graphics/pokemon/xatu/icon.4bpp");
+const u8 gMonFootprint_Xatu[] = INCBIN_U8("graphics/pokemon/xatu/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/front.4bpp.lz");
+const u32 gMonPalette_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/normal.gbapal.lz");
+const u32 gMonBackPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/back.4bpp.lz");
+const u32 gMonShinyPalette_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/shiny.gbapal.lz");
+const u8 gMonIcon_Mareep[] = INCBIN_U8("graphics/pokemon/mareep/icon.4bpp");
+const u8 gMonFootprint_Mareep[] = INCBIN_U8("graphics/pokemon/mareep/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/front.4bpp.lz");
+const u32 gMonPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/normal.gbapal.lz");
+const u32 gMonBackPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/back.4bpp.lz");
+const u32 gMonShinyPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/shiny.gbapal.lz");
+const u8 gMonIcon_Flaaffy[] = INCBIN_U8("graphics/pokemon/flaaffy/icon.4bpp");
+const u8 gMonFootprint_Flaaffy[] = INCBIN_U8("graphics/pokemon/flaaffy/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/front.4bpp.lz");
+const u32 gMonPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/normal.gbapal.lz");
+const u32 gMonBackPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/back.4bpp.lz");
+const u32 gMonShinyPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/shiny.gbapal.lz");
+const u8 gMonIcon_Ampharos[] = INCBIN_U8("graphics/pokemon/ampharos/icon.4bpp");
+const u8 gMonFootprint_Ampharos[] = INCBIN_U8("graphics/pokemon/ampharos/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/front.4bpp.lz");
+const u32 gMonPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/normal.gbapal.lz");
+const u32 gMonBackPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/back.4bpp.lz");
+const u32 gMonShinyPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/shiny.gbapal.lz");
+const u8 gMonIcon_Bellossom[] = INCBIN_U8("graphics/pokemon/bellossom/icon.4bpp");
+const u8 gMonFootprint_Bellossom[] = INCBIN_U8("graphics/pokemon/bellossom/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/front.4bpp.lz");
+const u32 gMonPalette_Marill[] = INCBIN_U32("graphics/pokemon/marill/normal.gbapal.lz");
+const u32 gMonBackPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/back.4bpp.lz");
+const u32 gMonShinyPalette_Marill[] = INCBIN_U32("graphics/pokemon/marill/shiny.gbapal.lz");
+const u8 gMonIcon_Marill[] = INCBIN_U8("graphics/pokemon/marill/icon.4bpp");
+const u8 gMonFootprint_Marill[] = INCBIN_U8("graphics/pokemon/marill/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/front.4bpp.lz");
+const u32 gMonPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/normal.gbapal.lz");
+const u32 gMonBackPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/back.4bpp.lz");
+const u32 gMonShinyPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/shiny.gbapal.lz");
+const u8 gMonIcon_Azumarill[] = INCBIN_U8("graphics/pokemon/azumarill/icon.4bpp");
+const u8 gMonFootprint_Azumarill[] = INCBIN_U8("graphics/pokemon/azumarill/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/front.4bpp.lz");
+const u32 gMonPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/normal.gbapal.lz");
+const u32 gMonBackPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/back.4bpp.lz");
+const u32 gMonShinyPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/shiny.gbapal.lz");
+const u8 gMonIcon_Sudowoodo[] = INCBIN_U8("graphics/pokemon/sudowoodo/icon.4bpp");
+const u8 gMonFootprint_Sudowoodo[] = INCBIN_U8("graphics/pokemon/sudowoodo/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/front.4bpp.lz");
+const u32 gMonPalette_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/normal.gbapal.lz");
+const u32 gMonBackPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/back.4bpp.lz");
+const u32 gMonShinyPalette_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/shiny.gbapal.lz");
+const u8 gMonIcon_Politoed[] = INCBIN_U8("graphics/pokemon/politoed/icon.4bpp");
+const u8 gMonFootprint_Politoed[] = INCBIN_U8("graphics/pokemon/politoed/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/front.4bpp.lz");
+const u32 gMonPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/normal.gbapal.lz");
+const u32 gMonBackPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/back.4bpp.lz");
+const u32 gMonShinyPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/shiny.gbapal.lz");
+const u8 gMonIcon_Hoppip[] = INCBIN_U8("graphics/pokemon/hoppip/icon.4bpp");
+const u8 gMonFootprint_Hoppip[] = INCBIN_U8("graphics/pokemon/hoppip/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/front.4bpp.lz");
+const u32 gMonPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/normal.gbapal.lz");
+const u32 gMonBackPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/back.4bpp.lz");
+const u32 gMonShinyPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/shiny.gbapal.lz");
+const u8 gMonIcon_Skiploom[] = INCBIN_U8("graphics/pokemon/skiploom/icon.4bpp");
+const u8 gMonFootprint_Skiploom[] = INCBIN_U8("graphics/pokemon/skiploom/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/front.4bpp.lz");
+const u32 gMonPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/normal.gbapal.lz");
+const u32 gMonBackPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/back.4bpp.lz");
+const u32 gMonShinyPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/shiny.gbapal.lz");
+const u8 gMonIcon_Jumpluff[] = INCBIN_U8("graphics/pokemon/jumpluff/icon.4bpp");
+const u8 gMonFootprint_Jumpluff[] = INCBIN_U8("graphics/pokemon/jumpluff/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/front.4bpp.lz");
+const u32 gMonPalette_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/normal.gbapal.lz");
+const u32 gMonBackPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/back.4bpp.lz");
+const u32 gMonShinyPalette_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/shiny.gbapal.lz");
+const u8 gMonIcon_Aipom[] = INCBIN_U8("graphics/pokemon/aipom/icon.4bpp");
+const u8 gMonFootprint_Aipom[] = INCBIN_U8("graphics/pokemon/aipom/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/front.4bpp.lz");
+const u32 gMonPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/normal.gbapal.lz");
+const u32 gMonBackPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/back.4bpp.lz");
+const u32 gMonShinyPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/shiny.gbapal.lz");
+const u8 gMonIcon_Sunkern[] = INCBIN_U8("graphics/pokemon/sunkern/icon.4bpp");
+const u8 gMonFootprint_Sunkern[] = INCBIN_U8("graphics/pokemon/sunkern/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/front.4bpp.lz");
+const u32 gMonPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/normal.gbapal.lz");
+const u32 gMonBackPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/back.4bpp.lz");
+const u32 gMonShinyPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/shiny.gbapal.lz");
+const u8 gMonIcon_Sunflora[] = INCBIN_U8("graphics/pokemon/sunflora/icon.4bpp");
+const u8 gMonFootprint_Sunflora[] = INCBIN_U8("graphics/pokemon/sunflora/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/front.4bpp.lz");
+const u32 gMonPalette_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/normal.gbapal.lz");
+const u32 gMonBackPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/back.4bpp.lz");
+const u32 gMonShinyPalette_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/shiny.gbapal.lz");
+const u8 gMonIcon_Yanma[] = INCBIN_U8("graphics/pokemon/yanma/icon.4bpp");
+const u8 gMonFootprint_Yanma[] = INCBIN_U8("graphics/pokemon/yanma/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/front.4bpp.lz");
+const u32 gMonPalette_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/normal.gbapal.lz");
+const u32 gMonBackPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/back.4bpp.lz");
+const u32 gMonShinyPalette_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/shiny.gbapal.lz");
+const u8 gMonIcon_Wooper[] = INCBIN_U8("graphics/pokemon/wooper/icon.4bpp");
+const u8 gMonFootprint_Wooper[] = INCBIN_U8("graphics/pokemon/wooper/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/front.4bpp.lz");
+const u32 gMonPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/normal.gbapal.lz");
+const u32 gMonBackPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/back.4bpp.lz");
+const u32 gMonShinyPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/shiny.gbapal.lz");
+const u8 gMonIcon_Quagsire[] = INCBIN_U8("graphics/pokemon/quagsire/icon.4bpp");
+const u8 gMonFootprint_Quagsire[] = INCBIN_U8("graphics/pokemon/quagsire/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/front.4bpp.lz");
+const u32 gMonPalette_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/normal.gbapal.lz");
+const u32 gMonBackPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/back.4bpp.lz");
+const u32 gMonShinyPalette_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/shiny.gbapal.lz");
+const u8 gMonIcon_Espeon[] = INCBIN_U8("graphics/pokemon/espeon/icon.4bpp");
+const u8 gMonFootprint_Espeon[] = INCBIN_U8("graphics/pokemon/espeon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/front.4bpp.lz");
+const u32 gMonPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/normal.gbapal.lz");
+const u32 gMonBackPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/back.4bpp.lz");
+const u32 gMonShinyPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/shiny.gbapal.lz");
+const u8 gMonIcon_Umbreon[] = INCBIN_U8("graphics/pokemon/umbreon/icon.4bpp");
+const u8 gMonFootprint_Umbreon[] = INCBIN_U8("graphics/pokemon/umbreon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/front.4bpp.lz");
+const u32 gMonPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/normal.gbapal.lz");
+const u32 gMonBackPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/back.4bpp.lz");
+const u32 gMonShinyPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/shiny.gbapal.lz");
+const u8 gMonIcon_Murkrow[] = INCBIN_U8("graphics/pokemon/murkrow/icon.4bpp");
+const u8 gMonFootprint_Murkrow[] = INCBIN_U8("graphics/pokemon/murkrow/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/front.4bpp.lz");
+const u32 gMonPalette_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/normal.gbapal.lz");
+const u32 gMonBackPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/back.4bpp.lz");
+const u32 gMonShinyPalette_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/shiny.gbapal.lz");
+const u8 gMonIcon_Slowking[] = INCBIN_U8("graphics/pokemon/slowking/icon.4bpp");
+const u8 gMonFootprint_Slowking[] = INCBIN_U8("graphics/pokemon/slowking/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/front.4bpp.lz");
+const u32 gMonPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/normal.gbapal.lz");
+const u32 gMonBackPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/back.4bpp.lz");
+const u32 gMonShinyPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/shiny.gbapal.lz");
+const u8 gMonIcon_Misdreavus[] = INCBIN_U8("graphics/pokemon/misdreavus/icon.4bpp");
+const u8 gMonFootprint_Misdreavus[] = INCBIN_U8("graphics/pokemon/misdreavus/footprint.1bpp");
+
+const u32 gMonStillFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/front_a.4bpp.lz");
+const u32 gMonPalette_Unown[] = INCBIN_U32("graphics/pokemon/unown/normal.gbapal.lz");
+const u32 gMonBackPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/back_a.4bpp.lz");
+const u32 gMonShinyPalette_Unown[] = INCBIN_U32("graphics/pokemon/unown/shiny.gbapal.lz");
+const u8 gMonIcon_UnownA[] = INCBIN_U8("graphics/pokemon/unown/icon_a.4bpp");
+const u8 gMonFootprint_Unown[] = INCBIN_U8("graphics/pokemon/unown/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/front.4bpp.lz");
+const u32 gMonPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/normal.gbapal.lz");
+const u32 gMonBackPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/back.4bpp.lz");
+const u32 gMonShinyPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/shiny.gbapal.lz");
+const u8 gMonIcon_Wobbuffet[] = INCBIN_U8("graphics/pokemon/wobbuffet/icon.4bpp");
+const u8 gMonFootprint_Wobbuffet[] = INCBIN_U8("graphics/pokemon/wobbuffet/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/front.4bpp.lz");
+const u32 gMonPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/normal.gbapal.lz");
+const u32 gMonBackPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/back.4bpp.lz");
+const u32 gMonShinyPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/shiny.gbapal.lz");
+const u8 gMonIcon_Girafarig[] = INCBIN_U8("graphics/pokemon/girafarig/icon.4bpp");
+const u8 gMonFootprint_Girafarig[] = INCBIN_U8("graphics/pokemon/girafarig/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/front.4bpp.lz");
+const u32 gMonPalette_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/normal.gbapal.lz");
+const u32 gMonBackPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/back.4bpp.lz");
+const u32 gMonShinyPalette_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/shiny.gbapal.lz");
+const u8 gMonIcon_Pineco[] = INCBIN_U8("graphics/pokemon/pineco/icon.4bpp");
+const u8 gMonFootprint_Pineco[] = INCBIN_U8("graphics/pokemon/pineco/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/front.4bpp.lz");
+const u32 gMonPalette_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/normal.gbapal.lz");
+const u32 gMonBackPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/back.4bpp.lz");
+const u32 gMonShinyPalette_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/shiny.gbapal.lz");
+const u8 gMonIcon_Forretress[] = INCBIN_U8("graphics/pokemon/forretress/icon.4bpp");
+const u8 gMonFootprint_Forretress[] = INCBIN_U8("graphics/pokemon/forretress/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/front.4bpp.lz");
+const u32 gMonPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/normal.gbapal.lz");
+const u32 gMonBackPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/back.4bpp.lz");
+const u32 gMonShinyPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/shiny.gbapal.lz");
+const u8 gMonIcon_Dunsparce[] = INCBIN_U8("graphics/pokemon/dunsparce/icon.4bpp");
+const u8 gMonFootprint_Dunsparce[] = INCBIN_U8("graphics/pokemon/dunsparce/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/front.4bpp.lz");
+const u32 gMonPalette_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/normal.gbapal.lz");
+const u32 gMonBackPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/back.4bpp.lz");
+const u32 gMonShinyPalette_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/shiny.gbapal.lz");
+const u8 gMonIcon_Gligar[] = INCBIN_U8("graphics/pokemon/gligar/icon.4bpp");
+const u8 gMonFootprint_Gligar[] = INCBIN_U8("graphics/pokemon/gligar/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/front.4bpp.lz");
+const u32 gMonPalette_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/normal.gbapal.lz");
+const u32 gMonBackPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/back.4bpp.lz");
+const u32 gMonShinyPalette_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/shiny.gbapal.lz");
+const u8 gMonIcon_Steelix[] = INCBIN_U8("graphics/pokemon/steelix/icon.4bpp");
+const u8 gMonFootprint_Steelix[] = INCBIN_U8("graphics/pokemon/steelix/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/front.4bpp.lz");
+const u32 gMonPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/normal.gbapal.lz");
+const u32 gMonBackPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/back.4bpp.lz");
+const u32 gMonShinyPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/shiny.gbapal.lz");
+const u8 gMonIcon_Snubbull[] = INCBIN_U8("graphics/pokemon/snubbull/icon.4bpp");
+const u8 gMonFootprint_Snubbull[] = INCBIN_U8("graphics/pokemon/snubbull/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/front.4bpp.lz");
+const u32 gMonPalette_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/normal.gbapal.lz");
+const u32 gMonBackPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/back.4bpp.lz");
+const u32 gMonShinyPalette_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/shiny.gbapal.lz");
+const u8 gMonIcon_Granbull[] = INCBIN_U8("graphics/pokemon/granbull/icon.4bpp");
+const u8 gMonFootprint_Granbull[] = INCBIN_U8("graphics/pokemon/granbull/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/front.4bpp.lz");
+const u32 gMonPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/normal.gbapal.lz");
+const u32 gMonBackPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/back.4bpp.lz");
+const u32 gMonShinyPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/shiny.gbapal.lz");
+const u8 gMonIcon_Qwilfish[] = INCBIN_U8("graphics/pokemon/qwilfish/icon.4bpp");
+const u8 gMonFootprint_Qwilfish[] = INCBIN_U8("graphics/pokemon/qwilfish/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/front.4bpp.lz");
+const u32 gMonPalette_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/normal.gbapal.lz");
+const u32 gMonBackPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/back.4bpp.lz");
+const u32 gMonShinyPalette_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/shiny.gbapal.lz");
+const u8 gMonIcon_Scizor[] = INCBIN_U8("graphics/pokemon/scizor/icon.4bpp");
+const u8 gMonFootprint_Scizor[] = INCBIN_U8("graphics/pokemon/scizor/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/front.4bpp.lz");
+const u32 gMonPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/normal.gbapal.lz");
+const u32 gMonBackPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/back.4bpp.lz");
+const u32 gMonShinyPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/shiny.gbapal.lz");
+const u8 gMonIcon_Shuckle[] = INCBIN_U8("graphics/pokemon/shuckle/icon.4bpp");
+const u8 gMonFootprint_Shuckle[] = INCBIN_U8("graphics/pokemon/shuckle/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/front.4bpp.lz");
+const u32 gMonPalette_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/normal.gbapal.lz");
+const u32 gMonBackPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/back.4bpp.lz");
+const u32 gMonShinyPalette_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/shiny.gbapal.lz");
+const u8 gMonIcon_Heracross[] = INCBIN_U8("graphics/pokemon/heracross/icon.4bpp");
+const u8 gMonFootprint_Heracross[] = INCBIN_U8("graphics/pokemon/heracross/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/front.4bpp.lz");
+const u32 gMonPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/normal.gbapal.lz");
+const u32 gMonBackPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/back.4bpp.lz");
+const u32 gMonShinyPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/shiny.gbapal.lz");
+const u8 gMonIcon_Sneasel[] = INCBIN_U8("graphics/pokemon/sneasel/icon.4bpp");
+const u8 gMonFootprint_Sneasel[] = INCBIN_U8("graphics/pokemon/sneasel/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/front.4bpp.lz");
+const u32 gMonPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/normal.gbapal.lz");
+const u32 gMonBackPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/back.4bpp.lz");
+const u32 gMonShinyPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/shiny.gbapal.lz");
+const u8 gMonIcon_Teddiursa[] = INCBIN_U8("graphics/pokemon/teddiursa/icon.4bpp");
+const u8 gMonFootprint_Teddiursa[] = INCBIN_U8("graphics/pokemon/teddiursa/footprint.1bpp");
+const u32 gMonStillFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/front.4bpp.lz");
+const u32 gMonPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/normal.gbapal.lz");
+const u32 gMonBackPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/back.4bpp.lz");
+const u32 gMonShinyPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/shiny.gbapal.lz");
+const u8 gMonIcon_Ursaring[] = INCBIN_U8("graphics/pokemon/ursaring/icon.4bpp");
+const u8 gMonFootprint_Ursaring[] = INCBIN_U8("graphics/pokemon/ursaring/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/front.4bpp.lz");
+const u32 gMonPalette_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/normal.gbapal.lz");
+const u32 gMonBackPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/back.4bpp.lz");
+const u32 gMonShinyPalette_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/shiny.gbapal.lz");
+const u8 gMonIcon_Slugma[] = INCBIN_U8("graphics/pokemon/slugma/icon.4bpp");
+const u8 gMonFootprint_Slugma[] = INCBIN_U8("graphics/pokemon/slugma/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/front.4bpp.lz");
+const u32 gMonPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/normal.gbapal.lz");
+const u32 gMonBackPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/back.4bpp.lz");
+const u32 gMonShinyPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/shiny.gbapal.lz");
+const u8 gMonIcon_Magcargo[] = INCBIN_U8("graphics/pokemon/magcargo/icon.4bpp");
+const u8 gMonFootprint_Magcargo[] = INCBIN_U8("graphics/pokemon/magcargo/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/front.4bpp.lz");
+const u32 gMonPalette_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/normal.gbapal.lz");
+const u32 gMonBackPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/back.4bpp.lz");
+const u32 gMonShinyPalette_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/shiny.gbapal.lz");
+const u8 gMonIcon_Swinub[] = INCBIN_U8("graphics/pokemon/swinub/icon.4bpp");
+const u8 gMonFootprint_Swinub[] = INCBIN_U8("graphics/pokemon/swinub/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/front.4bpp.lz");
+const u32 gMonPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/normal.gbapal.lz");
+const u32 gMonBackPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/back.4bpp.lz");
+const u32 gMonShinyPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/shiny.gbapal.lz");
+const u8 gMonIcon_Piloswine[] = INCBIN_U8("graphics/pokemon/piloswine/icon.4bpp");
+const u8 gMonFootprint_Piloswine[] = INCBIN_U8("graphics/pokemon/piloswine/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/front.4bpp.lz");
+const u32 gMonPalette_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/normal.gbapal.lz");
+const u32 gMonBackPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/back.4bpp.lz");
+const u32 gMonShinyPalette_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/shiny.gbapal.lz");
+const u8 gMonIcon_Corsola[] = INCBIN_U8("graphics/pokemon/corsola/icon.4bpp");
+const u8 gMonFootprint_Corsola[] = INCBIN_U8("graphics/pokemon/corsola/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/front.4bpp.lz");
+const u32 gMonPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/normal.gbapal.lz");
+const u32 gMonBackPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/back.4bpp.lz");
+const u32 gMonShinyPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/shiny.gbapal.lz");
+const u8 gMonIcon_Remoraid[] = INCBIN_U8("graphics/pokemon/remoraid/icon.4bpp");
+const u8 gMonFootprint_Remoraid[] = INCBIN_U8("graphics/pokemon/remoraid/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/front.4bpp.lz");
+const u32 gMonPalette_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/normal.gbapal.lz");
+const u32 gMonBackPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/back.4bpp.lz");
+const u32 gMonShinyPalette_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/shiny.gbapal.lz");
+const u8 gMonIcon_Octillery[] = INCBIN_U8("graphics/pokemon/octillery/icon.4bpp");
+const u8 gMonFootprint_Octillery[] = INCBIN_U8("graphics/pokemon/octillery/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/front.4bpp.lz");
+const u32 gMonPalette_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/normal.gbapal.lz");
+const u32 gMonBackPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/back.4bpp.lz");
+const u32 gMonShinyPalette_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/shiny.gbapal.lz");
+const u8 gMonIcon_Delibird[] = INCBIN_U8("graphics/pokemon/delibird/icon.4bpp");
+const u8 gMonFootprint_Delibird[] = INCBIN_U8("graphics/pokemon/delibird/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/front.4bpp.lz");
+const u32 gMonPalette_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/normal.gbapal.lz");
+const u32 gMonBackPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/back.4bpp.lz");
+const u32 gMonShinyPalette_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/shiny.gbapal.lz");
+const u8 gMonIcon_Mantine[] = INCBIN_U8("graphics/pokemon/mantine/icon.4bpp");
+const u8 gMonFootprint_Mantine[] = INCBIN_U8("graphics/pokemon/mantine/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/front.4bpp.lz");
+const u32 gMonPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/normal.gbapal.lz");
+const u32 gMonBackPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/back.4bpp.lz");
+const u32 gMonShinyPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/shiny.gbapal.lz");
+const u8 gMonIcon_Skarmory[] = INCBIN_U8("graphics/pokemon/skarmory/icon.4bpp");
+const u8 gMonFootprint_Skarmory[] = INCBIN_U8("graphics/pokemon/skarmory/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/front.4bpp.lz");
+const u32 gMonPalette_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/normal.gbapal.lz");
+const u32 gMonBackPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/back.4bpp.lz");
+const u32 gMonShinyPalette_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/shiny.gbapal.lz");
+const u8 gMonIcon_Houndour[] = INCBIN_U8("graphics/pokemon/houndour/icon.4bpp");
+const u8 gMonFootprint_Houndour[] = INCBIN_U8("graphics/pokemon/houndour/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/front.4bpp.lz");
+const u32 gMonPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/normal.gbapal.lz");
+const u32 gMonBackPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/back.4bpp.lz");
+const u32 gMonShinyPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/shiny.gbapal.lz");
+const u8 gMonIcon_Houndoom[] = INCBIN_U8("graphics/pokemon/houndoom/icon.4bpp");
+const u8 gMonFootprint_Houndoom[] = INCBIN_U8("graphics/pokemon/houndoom/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/front.4bpp.lz");
+const u32 gMonPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/normal.gbapal.lz");
+const u32 gMonBackPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/back.4bpp.lz");
+const u32 gMonShinyPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/shiny.gbapal.lz");
+const u8 gMonIcon_Kingdra[] = INCBIN_U8("graphics/pokemon/kingdra/icon.4bpp");
+const u8 gMonFootprint_Kingdra[] = INCBIN_U8("graphics/pokemon/kingdra/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/front.4bpp.lz");
+const u32 gMonPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/normal.gbapal.lz");
+const u32 gMonBackPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/back.4bpp.lz");
+const u32 gMonShinyPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/shiny.gbapal.lz");
+const u8 gMonIcon_Phanpy[] = INCBIN_U8("graphics/pokemon/phanpy/icon.4bpp");
+const u8 gMonFootprint_Phanpy[] = INCBIN_U8("graphics/pokemon/phanpy/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/front.4bpp.lz");
+const u32 gMonPalette_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/normal.gbapal.lz");
+const u32 gMonBackPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/back.4bpp.lz");
+const u32 gMonShinyPalette_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/shiny.gbapal.lz");
+const u8 gMonIcon_Donphan[] = INCBIN_U8("graphics/pokemon/donphan/icon.4bpp");
+const u8 gMonFootprint_Donphan[] = INCBIN_U8("graphics/pokemon/donphan/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/front.4bpp.lz");
+const u32 gMonPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/normal.gbapal.lz");
+const u32 gMonBackPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/back.4bpp.lz");
+const u32 gMonShinyPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/shiny.gbapal.lz");
+const u8 gMonIcon_Porygon2[] = INCBIN_U8("graphics/pokemon/porygon2/icon.4bpp");
+const u8 gMonFootprint_Porygon2[] = INCBIN_U8("graphics/pokemon/porygon2/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/front.4bpp.lz");
+const u32 gMonPalette_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/normal.gbapal.lz");
+const u32 gMonBackPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/back.4bpp.lz");
+const u32 gMonShinyPalette_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/shiny.gbapal.lz");
+const u8 gMonIcon_Stantler[] = INCBIN_U8("graphics/pokemon/stantler/icon.4bpp");
+const u8 gMonFootprint_Stantler[] = INCBIN_U8("graphics/pokemon/stantler/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/front.4bpp.lz");
+const u32 gMonPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/normal.gbapal.lz");
+const u32 gMonBackPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/back.4bpp.lz");
+const u32 gMonShinyPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/shiny.gbapal.lz");
+const u8 gMonIcon_Smeargle[] = INCBIN_U8("graphics/pokemon/smeargle/icon.4bpp");
+const u8 gMonFootprint_Smeargle[] = INCBIN_U8("graphics/pokemon/smeargle/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/front.4bpp.lz");
+const u32 gMonPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/normal.gbapal.lz");
+const u32 gMonBackPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/back.4bpp.lz");
+const u32 gMonShinyPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/shiny.gbapal.lz");
+const u8 gMonIcon_Tyrogue[] = INCBIN_U8("graphics/pokemon/tyrogue/icon.4bpp");
+const u8 gMonFootprint_Tyrogue[] = INCBIN_U8("graphics/pokemon/tyrogue/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/front.4bpp.lz");
+const u32 gMonPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/normal.gbapal.lz");
+const u32 gMonBackPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/back.4bpp.lz");
+const u32 gMonShinyPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/shiny.gbapal.lz");
+const u8 gMonIcon_Hitmontop[] = INCBIN_U8("graphics/pokemon/hitmontop/icon.4bpp");
+const u8 gMonFootprint_Hitmontop[] = INCBIN_U8("graphics/pokemon/hitmontop/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/front.4bpp.lz");
+const u32 gMonPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/normal.gbapal.lz");
+const u32 gMonBackPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/back.4bpp.lz");
+const u32 gMonShinyPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/shiny.gbapal.lz");
+const u8 gMonIcon_Smoochum[] = INCBIN_U8("graphics/pokemon/smoochum/icon.4bpp");
+const u8 gMonFootprint_Smoochum[] = INCBIN_U8("graphics/pokemon/smoochum/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/front.4bpp.lz");
+const u32 gMonPalette_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/normal.gbapal.lz");
+const u32 gMonBackPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/back.4bpp.lz");
+const u32 gMonShinyPalette_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/shiny.gbapal.lz");
+const u8 gMonIcon_Elekid[] = INCBIN_U8("graphics/pokemon/elekid/icon.4bpp");
+const u8 gMonFootprint_Elekid[] = INCBIN_U8("graphics/pokemon/elekid/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/front.4bpp.lz");
+const u32 gMonPalette_Magby[] = INCBIN_U32("graphics/pokemon/magby/normal.gbapal.lz");
+const u32 gMonBackPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/back.4bpp.lz");
+const u32 gMonShinyPalette_Magby[] = INCBIN_U32("graphics/pokemon/magby/shiny.gbapal.lz");
+const u8 gMonIcon_Magby[] = INCBIN_U8("graphics/pokemon/magby/icon.4bpp");
+const u8 gMonFootprint_Magby[] = INCBIN_U8("graphics/pokemon/magby/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/front.4bpp.lz");
+const u32 gMonPalette_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/normal.gbapal.lz");
+const u32 gMonBackPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/back.4bpp.lz");
+const u32 gMonShinyPalette_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/shiny.gbapal.lz");
+const u8 gMonIcon_Miltank[] = INCBIN_U8("graphics/pokemon/miltank/icon.4bpp");
+const u8 gMonFootprint_Miltank[] = INCBIN_U8("graphics/pokemon/miltank/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/front.4bpp.lz");
+const u32 gMonPalette_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/normal.gbapal.lz");
+const u32 gMonBackPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/back.4bpp.lz");
+const u32 gMonShinyPalette_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/shiny.gbapal.lz");
+const u8 gMonIcon_Blissey[] = INCBIN_U8("graphics/pokemon/blissey/icon.4bpp");
+const u8 gMonFootprint_Blissey[] = INCBIN_U8("graphics/pokemon/blissey/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/front.4bpp.lz");
+const u32 gMonPalette_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/normal.gbapal.lz");
+const u32 gMonBackPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/back.4bpp.lz");
+const u32 gMonShinyPalette_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/shiny.gbapal.lz");
+const u8 gMonIcon_Raikou[] = INCBIN_U8("graphics/pokemon/raikou/icon.4bpp");
+const u8 gMonFootprint_Raikou[] = INCBIN_U8("graphics/pokemon/raikou/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/front.4bpp.lz");
+const u32 gMonPalette_Entei[] = INCBIN_U32("graphics/pokemon/entei/normal.gbapal.lz");
+const u32 gMonBackPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/back.4bpp.lz");
+const u32 gMonShinyPalette_Entei[] = INCBIN_U32("graphics/pokemon/entei/shiny.gbapal.lz");
+const u8 gMonIcon_Entei[] = INCBIN_U8("graphics/pokemon/entei/icon.4bpp");
+const u8 gMonFootprint_Entei[] = INCBIN_U8("graphics/pokemon/entei/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/front.4bpp.lz");
+const u32 gMonPalette_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/normal.gbapal.lz");
+const u32 gMonBackPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/back.4bpp.lz");
+const u32 gMonShinyPalette_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/shiny.gbapal.lz");
+const u8 gMonIcon_Suicune[] = INCBIN_U8("graphics/pokemon/suicune/icon.4bpp");
+const u8 gMonFootprint_Suicune[] = INCBIN_U8("graphics/pokemon/suicune/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/front.4bpp.lz");
+const u32 gMonPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/normal.gbapal.lz");
+const u32 gMonBackPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/back.4bpp.lz");
+const u32 gMonShinyPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/shiny.gbapal.lz");
+const u8 gMonIcon_Larvitar[] = INCBIN_U8("graphics/pokemon/larvitar/icon.4bpp");
+const u8 gMonFootprint_Larvitar[] = INCBIN_U8("graphics/pokemon/larvitar/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/front.4bpp.lz");
+const u32 gMonPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/normal.gbapal.lz");
+const u32 gMonBackPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/back.4bpp.lz");
+const u32 gMonShinyPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/shiny.gbapal.lz");
+const u8 gMonIcon_Pupitar[] = INCBIN_U8("graphics/pokemon/pupitar/icon.4bpp");
+const u8 gMonFootprint_Pupitar[] = INCBIN_U8("graphics/pokemon/pupitar/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/front.4bpp.lz");
+const u32 gMonPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/normal.gbapal.lz");
+const u32 gMonBackPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/back.4bpp.lz");
+const u32 gMonShinyPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/shiny.gbapal.lz");
+const u8 gMonIcon_Tyranitar[] = INCBIN_U8("graphics/pokemon/tyranitar/icon.4bpp");
+const u8 gMonFootprint_Tyranitar[] = INCBIN_U8("graphics/pokemon/tyranitar/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/front.4bpp.lz");
+const u32 gMonPalette_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/normal.gbapal.lz");
+const u32 gMonBackPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/back.4bpp.lz");
+const u32 gMonShinyPalette_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/shiny.gbapal.lz");
+const u8 gMonIcon_Lugia[] = INCBIN_U8("graphics/pokemon/lugia/icon.4bpp");
+const u8 gMonFootprint_Lugia[] = INCBIN_U8("graphics/pokemon/lugia/footprint.1bpp");
+
+const u32 gMonStillFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/front.4bpp.lz");
+const u32 gMonPalette_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/normal.gbapal.lz");
+const u32 gMonBackPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/back.4bpp.lz");
+const u32 gMonShinyPalette_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/shiny.gbapal.lz");
+const u8 gMonIcon_HoOh[] = INCBIN_U8("graphics/pokemon/ho_oh/icon.4bpp");
+const u8 gMonFootprint_HoOh[] = INCBIN_U8("graphics/pokemon/ho_oh/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/front.4bpp.lz");
+const u32 gMonPalette_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/normal.gbapal.lz");
+const u32 gMonBackPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/back.4bpp.lz");
+const u32 gMonShinyPalette_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/shiny.gbapal.lz");
+const u8 gMonIcon_Celebi[] = INCBIN_U8("graphics/pokemon/celebi/icon.4bpp");
+const u8 gMonFootprint_Celebi[] = INCBIN_U8("graphics/pokemon/celebi/footprint.1bpp");
+
+const u32 gMonStillFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/front.4bpp.lz");
+const u32 gMonPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/normal.gbapal.lz");
+const u32 gMonBackPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/back.4bpp.lz");
+const u32 gMonShinyPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/shiny.gbapal.lz");
+
+const u32 gMonStillFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/front.4bpp.lz");
+const u32 gMonPalette_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/normal.gbapal.lz");
+const u32 gMonBackPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/back.4bpp.lz");
+const u32 gMonShinyPalette_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/shiny.gbapal.lz");
+const u8 gMonIcon_Treecko[] = INCBIN_U8("graphics/pokemon/treecko/icon.4bpp");
+const u8 gMonFootprint_Treecko[] = INCBIN_U8("graphics/pokemon/treecko/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/front.4bpp.lz");
+const u32 gMonPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/normal.gbapal.lz");
+const u32 gMonBackPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/back.4bpp.lz");
+const u32 gMonShinyPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/shiny.gbapal.lz");
+const u8 gMonIcon_Grovyle[] = INCBIN_U8("graphics/pokemon/grovyle/icon.4bpp");
+const u8 gMonFootprint_Grovyle[] = INCBIN_U8("graphics/pokemon/grovyle/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/front.4bpp.lz");
+const u32 gMonPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/normal.gbapal.lz");
+const u32 gMonBackPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/back.4bpp.lz");
+const u32 gMonShinyPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/shiny.gbapal.lz");
+const u8 gMonIcon_Sceptile[] = INCBIN_U8("graphics/pokemon/sceptile/icon.4bpp");
+const u8 gMonFootprint_Sceptile[] = INCBIN_U8("graphics/pokemon/sceptile/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/front.4bpp.lz");
+const u32 gMonPalette_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/normal.gbapal.lz");
+const u32 gMonBackPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/back.4bpp.lz");
+const u32 gMonShinyPalette_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/shiny.gbapal.lz");
+const u8 gMonIcon_Torchic[] = INCBIN_U8("graphics/pokemon/torchic/icon.4bpp");
+const u8 gMonFootprint_Torchic[] = INCBIN_U8("graphics/pokemon/torchic/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/front.4bpp.lz");
+const u32 gMonPalette_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/normal.gbapal.lz");
+const u32 gMonBackPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/back.4bpp.lz");
+const u32 gMonShinyPalette_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/shiny.gbapal.lz");
+const u8 gMonIcon_Combusken[] = INCBIN_U8("graphics/pokemon/combusken/icon.4bpp");
+const u8 gMonFootprint_Combusken[] = INCBIN_U8("graphics/pokemon/combusken/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/front.4bpp.lz");
+const u32 gMonPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/normal.gbapal.lz");
+const u32 gMonBackPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/back.4bpp.lz");
+const u32 gMonShinyPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/shiny.gbapal.lz");
+const u8 gMonIcon_Blaziken[] = INCBIN_U8("graphics/pokemon/blaziken/icon.4bpp");
+const u8 gMonFootprint_Blaziken[] = INCBIN_U8("graphics/pokemon/blaziken/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/front.4bpp.lz");
+const u32 gMonPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/normal.gbapal.lz");
+const u32 gMonBackPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/back.4bpp.lz");
+const u32 gMonShinyPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/shiny.gbapal.lz");
+const u8 gMonIcon_Mudkip[] = INCBIN_U8("graphics/pokemon/mudkip/icon.4bpp");
+const u8 gMonFootprint_Mudkip[] = INCBIN_U8("graphics/pokemon/mudkip/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/front.4bpp.lz");
+const u32 gMonPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/normal.gbapal.lz");
+const u32 gMonBackPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/back.4bpp.lz");
+const u32 gMonShinyPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/shiny.gbapal.lz");
+const u8 gMonIcon_Marshtomp[] = INCBIN_U8("graphics/pokemon/marshtomp/icon.4bpp");
+const u8 gMonFootprint_Marshtomp[] = INCBIN_U8("graphics/pokemon/marshtomp/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/front.4bpp.lz");
+const u32 gMonPalette_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/normal.gbapal.lz");
+const u32 gMonBackPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/back.4bpp.lz");
+const u32 gMonShinyPalette_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/shiny.gbapal.lz");
+const u8 gMonIcon_Swampert[] = INCBIN_U8("graphics/pokemon/swampert/icon.4bpp");
+const u8 gMonFootprint_Swampert[] = INCBIN_U8("graphics/pokemon/swampert/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/front.4bpp.lz");
+const u32 gMonPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/normal.gbapal.lz");
+const u32 gMonBackPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/back.4bpp.lz");
+const u32 gMonShinyPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/shiny.gbapal.lz");
+const u8 gMonIcon_Poochyena[] = INCBIN_U8("graphics/pokemon/poochyena/icon.4bpp");
+const u8 gMonFootprint_Poochyena[] = INCBIN_U8("graphics/pokemon/poochyena/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/front.4bpp.lz");
+const u32 gMonPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/normal.gbapal.lz");
+const u32 gMonBackPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/back.4bpp.lz");
+const u32 gMonShinyPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/shiny.gbapal.lz");
+const u8 gMonIcon_Mightyena[] = INCBIN_U8("graphics/pokemon/mightyena/icon.4bpp");
+const u8 gMonFootprint_Mightyena[] = INCBIN_U8("graphics/pokemon/mightyena/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/front.4bpp.lz");
+const u32 gMonPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/normal.gbapal.lz");
+const u32 gMonBackPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/back.4bpp.lz");
+const u32 gMonShinyPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/shiny.gbapal.lz");
+const u8 gMonIcon_Zigzagoon[] = INCBIN_U8("graphics/pokemon/zigzagoon/icon.4bpp");
+const u8 gMonFootprint_Zigzagoon[] = INCBIN_U8("graphics/pokemon/zigzagoon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/front.4bpp.lz");
+const u32 gMonPalette_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/normal.gbapal.lz");
+const u32 gMonBackPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/back.4bpp.lz");
+const u32 gMonShinyPalette_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/shiny.gbapal.lz");
+const u8 gMonIcon_Linoone[] = INCBIN_U8("graphics/pokemon/linoone/icon.4bpp");
+const u8 gMonFootprint_Linoone[] = INCBIN_U8("graphics/pokemon/linoone/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/front.4bpp.lz");
+const u32 gMonPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/normal.gbapal.lz");
+const u32 gMonBackPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/back.4bpp.lz");
+const u32 gMonShinyPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/shiny.gbapal.lz");
+const u8 gMonIcon_Wurmple[] = INCBIN_U8("graphics/pokemon/wurmple/icon.4bpp");
+const u8 gMonFootprint_Wurmple[] = INCBIN_U8("graphics/pokemon/wurmple/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/front.4bpp.lz");
+const u32 gMonPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/normal.gbapal.lz");
+const u32 gMonBackPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/back.4bpp.lz");
+const u32 gMonShinyPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/shiny.gbapal.lz");
+const u8 gMonIcon_Silcoon[] = INCBIN_U8("graphics/pokemon/silcoon/icon.4bpp");
+const u8 gMonFootprint_Silcoon[] = INCBIN_U8("graphics/pokemon/silcoon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/front.4bpp.lz");
+const u32 gMonPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/normal.gbapal.lz");
+const u32 gMonBackPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/back.4bpp.lz");
+const u32 gMonShinyPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/shiny.gbapal.lz");
+const u8 gMonIcon_Beautifly[] = INCBIN_U8("graphics/pokemon/beautifly/icon.4bpp");
+const u8 gMonFootprint_Beautifly[] = INCBIN_U8("graphics/pokemon/beautifly/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/front.4bpp.lz");
+const u32 gMonPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/normal.gbapal.lz");
+const u32 gMonBackPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/back.4bpp.lz");
+const u32 gMonShinyPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/shiny.gbapal.lz");
+const u8 gMonIcon_Cascoon[] = INCBIN_U8("graphics/pokemon/cascoon/icon.4bpp");
+const u8 gMonFootprint_Cascoon[] = INCBIN_U8("graphics/pokemon/cascoon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/front.4bpp.lz");
+const u32 gMonPalette_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/normal.gbapal.lz");
+const u32 gMonBackPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/back.4bpp.lz");
+const u32 gMonShinyPalette_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/shiny.gbapal.lz");
+const u8 gMonIcon_Dustox[] = INCBIN_U8("graphics/pokemon/dustox/icon.4bpp");
+const u8 gMonFootprint_Dustox[] = INCBIN_U8("graphics/pokemon/dustox/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/front.4bpp.lz");
+const u32 gMonPalette_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/normal.gbapal.lz");
+const u32 gMonBackPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/back.4bpp.lz");
+const u32 gMonShinyPalette_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/shiny.gbapal.lz");
+const u8 gMonIcon_Lotad[] = INCBIN_U8("graphics/pokemon/lotad/icon.4bpp");
+const u8 gMonFootprint_Lotad[] = INCBIN_U8("graphics/pokemon/lotad/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/front.4bpp.lz");
+const u32 gMonPalette_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/normal.gbapal.lz");
+const u32 gMonBackPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/back.4bpp.lz");
+const u32 gMonShinyPalette_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/shiny.gbapal.lz");
+const u8 gMonIcon_Lombre[] = INCBIN_U8("graphics/pokemon/lombre/icon.4bpp");
+const u8 gMonFootprint_Lombre[] = INCBIN_U8("graphics/pokemon/lombre/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/front.4bpp.lz");
+const u32 gMonPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/normal.gbapal.lz");
+const u32 gMonBackPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/back.4bpp.lz");
+const u32 gMonShinyPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/shiny.gbapal.lz");
+const u8 gMonIcon_Ludicolo[] = INCBIN_U8("graphics/pokemon/ludicolo/icon.4bpp");
+const u8 gMonFootprint_Ludicolo[] = INCBIN_U8("graphics/pokemon/ludicolo/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/front.4bpp.lz");
+const u32 gMonPalette_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/normal.gbapal.lz");
+const u32 gMonBackPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/back.4bpp.lz");
+const u32 gMonShinyPalette_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/shiny.gbapal.lz");
+const u8 gMonIcon_Seedot[] = INCBIN_U8("graphics/pokemon/seedot/icon.4bpp");
+const u8 gMonFootprint_Seedot[] = INCBIN_U8("graphics/pokemon/seedot/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/front.4bpp.lz");
+const u32 gMonPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/normal.gbapal.lz");
+const u32 gMonBackPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/back.4bpp.lz");
+const u32 gMonShinyPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/shiny.gbapal.lz");
+const u8 gMonIcon_Nuzleaf[] = INCBIN_U8("graphics/pokemon/nuzleaf/icon.4bpp");
+const u8 gMonFootprint_Nuzleaf[] = INCBIN_U8("graphics/pokemon/nuzleaf/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/front.4bpp.lz");
+const u32 gMonPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/normal.gbapal.lz");
+const u32 gMonBackPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/back.4bpp.lz");
+const u32 gMonShinyPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/shiny.gbapal.lz");
+const u8 gMonIcon_Shiftry[] = INCBIN_U8("graphics/pokemon/shiftry/icon.4bpp");
+const u8 gMonFootprint_Shiftry[] = INCBIN_U8("graphics/pokemon/shiftry/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/front.4bpp.lz");
+const u32 gMonPalette_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/normal.gbapal.lz");
+const u32 gMonBackPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/back.4bpp.lz");
+const u32 gMonShinyPalette_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/shiny.gbapal.lz");
+const u8 gMonIcon_Nincada[] = INCBIN_U8("graphics/pokemon/nincada/icon.4bpp");
+const u8 gMonFootprint_Nincada[] = INCBIN_U8("graphics/pokemon/nincada/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/front.4bpp.lz");
+const u32 gMonPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/normal.gbapal.lz");
+const u32 gMonBackPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/back.4bpp.lz");
+const u32 gMonShinyPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/shiny.gbapal.lz");
+const u8 gMonIcon_Ninjask[] = INCBIN_U8("graphics/pokemon/ninjask/icon.4bpp");
+const u8 gMonFootprint_Ninjask[] = INCBIN_U8("graphics/pokemon/ninjask/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/front.4bpp.lz");
+const u32 gMonPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/normal.gbapal.lz");
+const u32 gMonBackPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/back.4bpp.lz");
+const u32 gMonShinyPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/shiny.gbapal.lz");
+const u8 gMonIcon_Shedinja[] = INCBIN_U8("graphics/pokemon/shedinja/icon.4bpp");
+const u8 gMonFootprint_Shedinja[] = INCBIN_U8("graphics/pokemon/shedinja/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/front.4bpp.lz");
+const u32 gMonPalette_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/normal.gbapal.lz");
+const u32 gMonBackPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/back.4bpp.lz");
+const u32 gMonShinyPalette_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/shiny.gbapal.lz");
+const u8 gMonIcon_Taillow[] = INCBIN_U8("graphics/pokemon/taillow/icon.4bpp");
+const u8 gMonFootprint_Taillow[] = INCBIN_U8("graphics/pokemon/taillow/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/front.4bpp.lz");
+const u32 gMonPalette_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/normal.gbapal.lz");
+const u32 gMonBackPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/back.4bpp.lz");
+const u32 gMonShinyPalette_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/shiny.gbapal.lz");
+const u8 gMonIcon_Swellow[] = INCBIN_U8("graphics/pokemon/swellow/icon.4bpp");
+const u8 gMonFootprint_Swellow[] = INCBIN_U8("graphics/pokemon/swellow/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/front.4bpp.lz");
+const u32 gMonPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/normal.gbapal.lz");
+const u32 gMonBackPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/back.4bpp.lz");
+const u32 gMonShinyPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/shiny.gbapal.lz");
+const u8 gMonIcon_Shroomish[] = INCBIN_U8("graphics/pokemon/shroomish/icon.4bpp");
+const u8 gMonFootprint_Shroomish[] = INCBIN_U8("graphics/pokemon/shroomish/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/front.4bpp.lz");
+const u32 gMonPalette_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/normal.gbapal.lz");
+const u32 gMonBackPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/back.4bpp.lz");
+const u32 gMonShinyPalette_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/shiny.gbapal.lz");
+const u8 gMonIcon_Breloom[] = INCBIN_U8("graphics/pokemon/breloom/icon.4bpp");
+const u8 gMonFootprint_Breloom[] = INCBIN_U8("graphics/pokemon/breloom/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/front.4bpp.lz");
+const u32 gMonPalette_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/normal.gbapal.lz");
+const u32 gMonBackPic_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/back.4bpp.lz");
+const u32 gMonShinyPalette_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/shiny.gbapal.lz");
+const u8 gMonIcon_Spinda[] = INCBIN_U8("graphics/pokemon/spinda/icon.4bpp");
+const u8 gMonFootprint_Spinda[] = INCBIN_U8("graphics/pokemon/spinda/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/front.4bpp.lz");
+const u32 gMonPalette_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/normal.gbapal.lz");
+const u32 gMonBackPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/back.4bpp.lz");
+const u32 gMonShinyPalette_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/shiny.gbapal.lz");
+const u8 gMonIcon_Wingull[] = INCBIN_U8("graphics/pokemon/wingull/icon.4bpp");
+const u8 gMonFootprint_Wingull[] = INCBIN_U8("graphics/pokemon/wingull/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/front.4bpp.lz");
+const u32 gMonPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/normal.gbapal.lz");
+const u32 gMonBackPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/back.4bpp.lz");
+const u32 gMonShinyPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/shiny.gbapal.lz");
+const u8 gMonIcon_Pelipper[] = INCBIN_U8("graphics/pokemon/pelipper/icon.4bpp");
+const u8 gMonFootprint_Pelipper[] = INCBIN_U8("graphics/pokemon/pelipper/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/front.4bpp.lz");
+const u32 gMonPalette_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/normal.gbapal.lz");
+const u32 gMonBackPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/back.4bpp.lz");
+const u32 gMonShinyPalette_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/shiny.gbapal.lz");
+const u8 gMonIcon_Surskit[] = INCBIN_U8("graphics/pokemon/surskit/icon.4bpp");
+const u8 gMonFootprint_Surskit[] = INCBIN_U8("graphics/pokemon/surskit/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/front.4bpp.lz");
+const u32 gMonPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/normal.gbapal.lz");
+const u32 gMonBackPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/back.4bpp.lz");
+const u32 gMonShinyPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/shiny.gbapal.lz");
+const u8 gMonIcon_Masquerain[] = INCBIN_U8("graphics/pokemon/masquerain/icon.4bpp");
+const u8 gMonFootprint_Masquerain[] = INCBIN_U8("graphics/pokemon/masquerain/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/front.4bpp.lz");
+const u32 gMonPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/normal.gbapal.lz");
+const u32 gMonBackPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/back.4bpp.lz");
+const u32 gMonShinyPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/shiny.gbapal.lz");
+const u8 gMonIcon_Wailmer[] = INCBIN_U8("graphics/pokemon/wailmer/icon.4bpp");
+const u8 gMonFootprint_Wailmer[] = INCBIN_U8("graphics/pokemon/wailmer/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/front.4bpp.lz");
+const u32 gMonPalette_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/normal.gbapal.lz");
+const u32 gMonBackPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/back.4bpp.lz");
+const u32 gMonShinyPalette_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/shiny.gbapal.lz");
+const u8 gMonIcon_Wailord[] = INCBIN_U8("graphics/pokemon/wailord/icon.4bpp");
+const u8 gMonFootprint_Wailord[] = INCBIN_U8("graphics/pokemon/wailord/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/front.4bpp.lz");
+const u32 gMonPalette_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/normal.gbapal.lz");
+const u32 gMonBackPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/back.4bpp.lz");
+const u32 gMonShinyPalette_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/shiny.gbapal.lz");
+const u8 gMonIcon_Skitty[] = INCBIN_U8("graphics/pokemon/skitty/icon.4bpp");
+const u8 gMonFootprint_Skitty[] = INCBIN_U8("graphics/pokemon/skitty/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/front.4bpp.lz");
+const u32 gMonPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/normal.gbapal.lz");
+const u32 gMonBackPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/back.4bpp.lz");
+const u32 gMonShinyPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/shiny.gbapal.lz");
+const u8 gMonIcon_Delcatty[] = INCBIN_U8("graphics/pokemon/delcatty/icon.4bpp");
+const u8 gMonFootprint_Delcatty[] = INCBIN_U8("graphics/pokemon/delcatty/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/front.4bpp.lz");
+const u32 gMonPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/normal.gbapal.lz");
+const u32 gMonBackPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/back.4bpp.lz");
+const u32 gMonShinyPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/shiny.gbapal.lz");
+const u8 gMonIcon_Kecleon[] = INCBIN_U8("graphics/pokemon/kecleon/icon.4bpp");
+const u8 gMonFootprint_Kecleon[] = INCBIN_U8("graphics/pokemon/kecleon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/front.4bpp.lz");
+const u32 gMonPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/normal.gbapal.lz");
+const u32 gMonBackPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/back.4bpp.lz");
+const u32 gMonShinyPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/shiny.gbapal.lz");
+const u8 gMonIcon_Baltoy[] = INCBIN_U8("graphics/pokemon/baltoy/icon.4bpp");
+const u8 gMonFootprint_Baltoy[] = INCBIN_U8("graphics/pokemon/baltoy/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/front.4bpp.lz");
+const u32 gMonPalette_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/normal.gbapal.lz");
+const u32 gMonBackPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/back.4bpp.lz");
+const u32 gMonShinyPalette_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/shiny.gbapal.lz");
+const u8 gMonIcon_Claydol[] = INCBIN_U8("graphics/pokemon/claydol/icon.4bpp");
+const u8 gMonFootprint_Claydol[] = INCBIN_U8("graphics/pokemon/claydol/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/front.4bpp.lz");
+const u32 gMonPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/normal.gbapal.lz");
+const u32 gMonBackPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/back.4bpp.lz");
+const u32 gMonShinyPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/shiny.gbapal.lz");
+const u8 gMonIcon_Nosepass[] = INCBIN_U8("graphics/pokemon/nosepass/icon.4bpp");
+const u8 gMonFootprint_Nosepass[] = INCBIN_U8("graphics/pokemon/nosepass/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/front.4bpp.lz");
+const u32 gMonPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/normal.gbapal.lz");
+const u32 gMonBackPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/back.4bpp.lz");
+const u32 gMonShinyPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/shiny.gbapal.lz");
+const u8 gMonIcon_Torkoal[] = INCBIN_U8("graphics/pokemon/torkoal/icon.4bpp");
+const u8 gMonFootprint_Torkoal[] = INCBIN_U8("graphics/pokemon/torkoal/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/front.4bpp.lz");
+const u32 gMonPalette_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/normal.gbapal.lz");
+const u32 gMonBackPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/back.4bpp.lz");
+const u32 gMonShinyPalette_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/shiny.gbapal.lz");
+const u8 gMonIcon_Sableye[] = INCBIN_U8("graphics/pokemon/sableye/icon.4bpp");
+const u8 gMonFootprint_Sableye[] = INCBIN_U8("graphics/pokemon/sableye/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/front.4bpp.lz");
+const u32 gMonPalette_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/normal.gbapal.lz");
+const u32 gMonBackPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/back.4bpp.lz");
+const u32 gMonShinyPalette_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/shiny.gbapal.lz");
+const u8 gMonIcon_Barboach[] = INCBIN_U8("graphics/pokemon/barboach/icon.4bpp");
+const u8 gMonFootprint_Barboach[] = INCBIN_U8("graphics/pokemon/barboach/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/front.4bpp.lz");
+const u32 gMonPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/normal.gbapal.lz");
+const u32 gMonBackPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/back.4bpp.lz");
+const u32 gMonShinyPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/shiny.gbapal.lz");
+const u8 gMonIcon_Whiscash[] = INCBIN_U8("graphics/pokemon/whiscash/icon.4bpp");
+const u8 gMonFootprint_Whiscash[] = INCBIN_U8("graphics/pokemon/whiscash/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/front.4bpp.lz");
+const u32 gMonPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/normal.gbapal.lz");
+const u32 gMonBackPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/back.4bpp.lz");
+const u32 gMonShinyPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/shiny.gbapal.lz");
+const u8 gMonIcon_Luvdisc[] = INCBIN_U8("graphics/pokemon/luvdisc/icon.4bpp");
+const u8 gMonFootprint_Luvdisc[] = INCBIN_U8("graphics/pokemon/luvdisc/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/front.4bpp.lz");
+const u32 gMonPalette_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/normal.gbapal.lz");
+const u32 gMonBackPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/back.4bpp.lz");
+const u32 gMonShinyPalette_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/shiny.gbapal.lz");
+const u8 gMonIcon_Corphish[] = INCBIN_U8("graphics/pokemon/corphish/icon.4bpp");
+const u8 gMonFootprint_Corphish[] = INCBIN_U8("graphics/pokemon/corphish/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/front.4bpp.lz");
+const u32 gMonPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/normal.gbapal.lz");
+const u32 gMonBackPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/back.4bpp.lz");
+const u32 gMonShinyPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/shiny.gbapal.lz");
+const u8 gMonIcon_Crawdaunt[] = INCBIN_U8("graphics/pokemon/crawdaunt/icon.4bpp");
+const u8 gMonFootprint_Crawdaunt[] = INCBIN_U8("graphics/pokemon/crawdaunt/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/front.4bpp.lz");
+const u32 gMonPalette_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/normal.gbapal.lz");
+const u32 gMonBackPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/back.4bpp.lz");
+const u32 gMonShinyPalette_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/shiny.gbapal.lz");
+const u8 gMonIcon_Feebas[] = INCBIN_U8("graphics/pokemon/feebas/icon.4bpp");
+const u8 gMonFootprint_Feebas[] = INCBIN_U8("graphics/pokemon/feebas/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/front.4bpp.lz");
+const u32 gMonPalette_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/normal.gbapal.lz");
+const u32 gMonBackPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/back.4bpp.lz");
+const u32 gMonShinyPalette_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/shiny.gbapal.lz");
+const u8 gMonIcon_Milotic[] = INCBIN_U8("graphics/pokemon/milotic/icon.4bpp");
+const u8 gMonFootprint_Milotic[] = INCBIN_U8("graphics/pokemon/milotic/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/front.4bpp.lz");
+const u32 gMonPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/normal.gbapal.lz");
+const u32 gMonBackPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/back.4bpp.lz");
+const u32 gMonShinyPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/shiny.gbapal.lz");
+const u8 gMonIcon_Carvanha[] = INCBIN_U8("graphics/pokemon/carvanha/icon.4bpp");
+const u8 gMonFootprint_Carvanha[] = INCBIN_U8("graphics/pokemon/carvanha/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/front.4bpp.lz");
+const u32 gMonPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/normal.gbapal.lz");
+const u32 gMonBackPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/back.4bpp.lz");
+const u32 gMonShinyPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/shiny.gbapal.lz");
+const u8 gMonIcon_Sharpedo[] = INCBIN_U8("graphics/pokemon/sharpedo/icon.4bpp");
+const u8 gMonFootprint_Sharpedo[] = INCBIN_U8("graphics/pokemon/sharpedo/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/front.4bpp.lz");
+const u32 gMonPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/normal.gbapal.lz");
+const u32 gMonBackPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/back.4bpp.lz");
+const u32 gMonShinyPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/shiny.gbapal.lz");
+const u8 gMonIcon_Trapinch[] = INCBIN_U8("graphics/pokemon/trapinch/icon.4bpp");
+const u8 gMonFootprint_Trapinch[] = INCBIN_U8("graphics/pokemon/trapinch/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/front.4bpp.lz");
+const u32 gMonPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/normal.gbapal.lz");
+const u32 gMonBackPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/back.4bpp.lz");
+const u32 gMonShinyPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/shiny.gbapal.lz");
+const u8 gMonIcon_Vibrava[] = INCBIN_U8("graphics/pokemon/vibrava/icon.4bpp");
+const u8 gMonFootprint_Vibrava[] = INCBIN_U8("graphics/pokemon/vibrava/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/front.4bpp.lz");
+const u32 gMonPalette_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/normal.gbapal.lz");
+const u32 gMonBackPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/back.4bpp.lz");
+const u32 gMonShinyPalette_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/shiny.gbapal.lz");
+const u8 gMonIcon_Flygon[] = INCBIN_U8("graphics/pokemon/flygon/icon.4bpp");
+const u8 gMonFootprint_Flygon[] = INCBIN_U8("graphics/pokemon/flygon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/front.4bpp.lz");
+const u32 gMonPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/normal.gbapal.lz");
+const u32 gMonBackPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/back.4bpp.lz");
+const u32 gMonShinyPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/shiny.gbapal.lz");
+const u8 gMonIcon_Makuhita[] = INCBIN_U8("graphics/pokemon/makuhita/icon.4bpp");
+const u8 gMonFootprint_Makuhita[] = INCBIN_U8("graphics/pokemon/makuhita/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/front.4bpp.lz");
+const u32 gMonPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/normal.gbapal.lz");
+const u32 gMonBackPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/back.4bpp.lz");
+const u32 gMonShinyPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/shiny.gbapal.lz");
+const u8 gMonIcon_Hariyama[] = INCBIN_U8("graphics/pokemon/hariyama/icon.4bpp");
+const u8 gMonFootprint_Hariyama[] = INCBIN_U8("graphics/pokemon/hariyama/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/front.4bpp.lz");
+const u32 gMonPalette_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/normal.gbapal.lz");
+const u32 gMonBackPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/back.4bpp.lz");
+const u32 gMonShinyPalette_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/shiny.gbapal.lz");
+const u8 gMonIcon_Electrike[] = INCBIN_U8("graphics/pokemon/electrike/icon.4bpp");
+const u8 gMonFootprint_Electrike[] = INCBIN_U8("graphics/pokemon/electrike/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/front.4bpp.lz");
+const u32 gMonPalette_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/normal.gbapal.lz");
+const u32 gMonBackPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/back.4bpp.lz");
+const u32 gMonShinyPalette_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/shiny.gbapal.lz");
+const u8 gMonIcon_Manectric[] = INCBIN_U8("graphics/pokemon/manectric/icon.4bpp");
+const u8 gMonFootprint_Manectric[] = INCBIN_U8("graphics/pokemon/manectric/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/front.4bpp.lz");
+const u32 gMonPalette_Numel[] = INCBIN_U32("graphics/pokemon/numel/normal.gbapal.lz");
+const u32 gMonBackPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/back.4bpp.lz");
+const u32 gMonShinyPalette_Numel[] = INCBIN_U32("graphics/pokemon/numel/shiny.gbapal.lz");
+const u8 gMonIcon_Numel[] = INCBIN_U8("graphics/pokemon/numel/icon.4bpp");
+const u8 gMonFootprint_Numel[] = INCBIN_U8("graphics/pokemon/numel/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/front.4bpp.lz");
+const u32 gMonPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/normal.gbapal.lz");
+const u32 gMonBackPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/back.4bpp.lz");
+const u32 gMonShinyPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/shiny.gbapal.lz");
+const u8 gMonIcon_Camerupt[] = INCBIN_U8("graphics/pokemon/camerupt/icon.4bpp");
+const u8 gMonFootprint_Camerupt[] = INCBIN_U8("graphics/pokemon/camerupt/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/front.4bpp.lz");
+const u32 gMonPalette_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/normal.gbapal.lz");
+const u32 gMonBackPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/back.4bpp.lz");
+const u32 gMonShinyPalette_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/shiny.gbapal.lz");
+const u8 gMonIcon_Spheal[] = INCBIN_U8("graphics/pokemon/spheal/icon.4bpp");
+const u8 gMonFootprint_Spheal[] = INCBIN_U8("graphics/pokemon/spheal/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/front.4bpp.lz");
+const u32 gMonPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/normal.gbapal.lz");
+const u32 gMonBackPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/back.4bpp.lz");
+const u32 gMonShinyPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/shiny.gbapal.lz");
+const u8 gMonIcon_Sealeo[] = INCBIN_U8("graphics/pokemon/sealeo/icon.4bpp");
+const u8 gMonFootprint_Sealeo[] = INCBIN_U8("graphics/pokemon/sealeo/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/front.4bpp.lz");
+const u32 gMonPalette_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/normal.gbapal.lz");
+const u32 gMonBackPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/back.4bpp.lz");
+const u32 gMonShinyPalette_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/shiny.gbapal.lz");
+const u8 gMonIcon_Walrein[] = INCBIN_U8("graphics/pokemon/walrein/icon.4bpp");
+const u8 gMonFootprint_Walrein[] = INCBIN_U8("graphics/pokemon/walrein/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/front.4bpp.lz");
+const u32 gMonPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/normal.gbapal.lz");
+const u32 gMonBackPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/back.4bpp.lz");
+const u32 gMonShinyPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/shiny.gbapal.lz");
+const u8 gMonIcon_Cacnea[] = INCBIN_U8("graphics/pokemon/cacnea/icon.4bpp");
+const u8 gMonFootprint_Cacnea[] = INCBIN_U8("graphics/pokemon/cacnea/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/front.4bpp.lz");
+const u32 gMonPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/normal.gbapal.lz");
+const u32 gMonBackPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/back.4bpp.lz");
+const u32 gMonShinyPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/shiny.gbapal.lz");
+const u8 gMonIcon_Cacturne[] = INCBIN_U8("graphics/pokemon/cacturne/icon.4bpp");
+const u8 gMonFootprint_Cacturne[] = INCBIN_U8("graphics/pokemon/cacturne/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/front.4bpp.lz");
+const u32 gMonPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/normal.gbapal.lz");
+const u32 gMonBackPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/back.4bpp.lz");
+const u32 gMonShinyPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/shiny.gbapal.lz");
+const u8 gMonIcon_Snorunt[] = INCBIN_U8("graphics/pokemon/snorunt/icon.4bpp");
+const u8 gMonFootprint_Snorunt[] = INCBIN_U8("graphics/pokemon/snorunt/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/front.4bpp.lz");
+const u32 gMonPalette_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/normal.gbapal.lz");
+const u32 gMonBackPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/back.4bpp.lz");
+const u32 gMonShinyPalette_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/shiny.gbapal.lz");
+const u8 gMonIcon_Glalie[] = INCBIN_U8("graphics/pokemon/glalie/icon.4bpp");
+const u8 gMonFootprint_Glalie[] = INCBIN_U8("graphics/pokemon/glalie/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/front.4bpp.lz");
+const u32 gMonPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/normal.gbapal.lz");
+const u32 gMonBackPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/back.4bpp.lz");
+const u32 gMonShinyPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/shiny.gbapal.lz");
+const u8 gMonIcon_Lunatone[] = INCBIN_U8("graphics/pokemon/lunatone/icon.4bpp");
+const u8 gMonFootprint_Lunatone[] = INCBIN_U8("graphics/pokemon/lunatone/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/front.4bpp.lz");
+const u32 gMonPalette_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/normal.gbapal.lz");
+const u32 gMonBackPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/back.4bpp.lz");
+const u32 gMonShinyPalette_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/shiny.gbapal.lz");
+const u8 gMonIcon_Solrock[] = INCBIN_U8("graphics/pokemon/solrock/icon.4bpp");
+const u8 gMonFootprint_Solrock[] = INCBIN_U8("graphics/pokemon/solrock/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/front.4bpp.lz");
+const u32 gMonPalette_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/normal.gbapal.lz");
+const u32 gMonBackPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/back.4bpp.lz");
+const u32 gMonShinyPalette_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/shiny.gbapal.lz");
+const u8 gMonIcon_Azurill[] = INCBIN_U8("graphics/pokemon/azurill/icon.4bpp");
+const u8 gMonFootprint_Azurill[] = INCBIN_U8("graphics/pokemon/azurill/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/front.4bpp.lz");
+const u32 gMonPalette_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/normal.gbapal.lz");
+const u32 gMonBackPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/back.4bpp.lz");
+const u32 gMonShinyPalette_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/shiny.gbapal.lz");
+const u8 gMonIcon_Spoink[] = INCBIN_U8("graphics/pokemon/spoink/icon.4bpp");
+const u8 gMonFootprint_Spoink[] = INCBIN_U8("graphics/pokemon/spoink/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/front.4bpp.lz");
+const u32 gMonPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/normal.gbapal.lz");
+const u32 gMonBackPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/back.4bpp.lz");
+const u32 gMonShinyPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/shiny.gbapal.lz");
+const u8 gMonIcon_Grumpig[] = INCBIN_U8("graphics/pokemon/grumpig/icon.4bpp");
+const u8 gMonFootprint_Grumpig[] = INCBIN_U8("graphics/pokemon/grumpig/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/front.4bpp.lz");
+const u32 gMonPalette_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/normal.gbapal.lz");
+const u32 gMonBackPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/back.4bpp.lz");
+const u32 gMonShinyPalette_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/shiny.gbapal.lz");
+const u8 gMonIcon_Plusle[] = INCBIN_U8("graphics/pokemon/plusle/icon.4bpp");
+const u8 gMonFootprint_Plusle[] = INCBIN_U8("graphics/pokemon/plusle/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/front.4bpp.lz");
+const u32 gMonPalette_Minun[] = INCBIN_U32("graphics/pokemon/minun/normal.gbapal.lz");
+const u32 gMonBackPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/back.4bpp.lz");
+const u32 gMonShinyPalette_Minun[] = INCBIN_U32("graphics/pokemon/minun/shiny.gbapal.lz");
+const u8 gMonIcon_Minun[] = INCBIN_U8("graphics/pokemon/minun/icon.4bpp");
+const u8 gMonFootprint_Minun[] = INCBIN_U8("graphics/pokemon/minun/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/front.4bpp.lz");
+const u32 gMonPalette_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/normal.gbapal.lz");
+const u32 gMonBackPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/back.4bpp.lz");
+const u32 gMonShinyPalette_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/shiny.gbapal.lz");
+const u8 gMonIcon_Mawile[] = INCBIN_U8("graphics/pokemon/mawile/icon.4bpp");
+const u8 gMonFootprint_Mawile[] = INCBIN_U8("graphics/pokemon/mawile/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/front.4bpp.lz");
+const u32 gMonPalette_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/normal.gbapal.lz");
+const u32 gMonBackPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/back.4bpp.lz");
+const u32 gMonShinyPalette_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/shiny.gbapal.lz");
+const u8 gMonIcon_Meditite[] = INCBIN_U8("graphics/pokemon/meditite/icon.4bpp");
+const u8 gMonFootprint_Meditite[] = INCBIN_U8("graphics/pokemon/meditite/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/front.4bpp.lz");
+const u32 gMonPalette_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/normal.gbapal.lz");
+const u32 gMonBackPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/back.4bpp.lz");
+const u32 gMonShinyPalette_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/shiny.gbapal.lz");
+const u8 gMonIcon_Medicham[] = INCBIN_U8("graphics/pokemon/medicham/icon.4bpp");
+const u8 gMonFootprint_Medicham[] = INCBIN_U8("graphics/pokemon/medicham/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/front.4bpp.lz");
+const u32 gMonPalette_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/normal.gbapal.lz");
+const u32 gMonBackPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/back.4bpp.lz");
+const u32 gMonShinyPalette_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/shiny.gbapal.lz");
+const u8 gMonIcon_Swablu[] = INCBIN_U8("graphics/pokemon/swablu/icon.4bpp");
+const u8 gMonFootprint_Swablu[] = INCBIN_U8("graphics/pokemon/swablu/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/front.4bpp.lz");
+const u32 gMonPalette_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/normal.gbapal.lz");
+const u32 gMonBackPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/back.4bpp.lz");
+const u32 gMonShinyPalette_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/shiny.gbapal.lz");
+const u8 gMonIcon_Altaria[] = INCBIN_U8("graphics/pokemon/altaria/icon.4bpp");
+const u8 gMonFootprint_Altaria[] = INCBIN_U8("graphics/pokemon/altaria/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/front.4bpp.lz");
+const u32 gMonPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/normal.gbapal.lz");
+const u32 gMonBackPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/back.4bpp.lz");
+const u32 gMonShinyPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/shiny.gbapal.lz");
+const u8 gMonIcon_Wynaut[] = INCBIN_U8("graphics/pokemon/wynaut/icon.4bpp");
+const u8 gMonFootprint_Wynaut[] = INCBIN_U8("graphics/pokemon/wynaut/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/front.4bpp.lz");
+const u32 gMonPalette_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/normal.gbapal.lz");
+const u32 gMonBackPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/back.4bpp.lz");
+const u32 gMonShinyPalette_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/shiny.gbapal.lz");
+const u8 gMonIcon_Duskull[] = INCBIN_U8("graphics/pokemon/duskull/icon.4bpp");
+const u8 gMonFootprint_Duskull[] = INCBIN_U8("graphics/pokemon/duskull/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/front.4bpp.lz");
+const u32 gMonPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/normal.gbapal.lz");
+const u32 gMonBackPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/back.4bpp.lz");
+const u32 gMonShinyPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/shiny.gbapal.lz");
+const u8 gMonIcon_Dusclops[] = INCBIN_U8("graphics/pokemon/dusclops/icon.4bpp");
+const u8 gMonFootprint_Dusclops[] = INCBIN_U8("graphics/pokemon/dusclops/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/front.4bpp.lz");
+const u32 gMonPalette_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/normal.gbapal.lz");
+const u32 gMonBackPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/back.4bpp.lz");
+const u32 gMonShinyPalette_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/shiny.gbapal.lz");
+const u8 gMonIcon_Roselia[] = INCBIN_U8("graphics/pokemon/roselia/icon.4bpp");
+const u8 gMonFootprint_Roselia[] = INCBIN_U8("graphics/pokemon/roselia/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/front.4bpp.lz");
+const u32 gMonPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/normal.gbapal.lz");
+const u32 gMonBackPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/back.4bpp.lz");
+const u32 gMonShinyPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/shiny.gbapal.lz");
+const u8 gMonIcon_Slakoth[] = INCBIN_U8("graphics/pokemon/slakoth/icon.4bpp");
+const u8 gMonFootprint_Slakoth[] = INCBIN_U8("graphics/pokemon/slakoth/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/front.4bpp.lz");
+const u32 gMonPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/normal.gbapal.lz");
+const u32 gMonBackPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/back.4bpp.lz");
+const u32 gMonShinyPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/shiny.gbapal.lz");
+const u8 gMonIcon_Vigoroth[] = INCBIN_U8("graphics/pokemon/vigoroth/icon.4bpp");
+const u8 gMonFootprint_Vigoroth[] = INCBIN_U8("graphics/pokemon/vigoroth/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/front.4bpp.lz");
+const u32 gMonPalette_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/normal.gbapal.lz");
+const u32 gMonBackPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/back.4bpp.lz");
+const u32 gMonShinyPalette_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/shiny.gbapal.lz");
+const u8 gMonIcon_Slaking[] = INCBIN_U8("graphics/pokemon/slaking/icon.4bpp");
+const u8 gMonFootprint_Slaking[] = INCBIN_U8("graphics/pokemon/slaking/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/front.4bpp.lz");
+const u32 gMonPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/normal.gbapal.lz");
+const u32 gMonBackPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/back.4bpp.lz");
+const u32 gMonShinyPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/shiny.gbapal.lz");
+const u8 gMonIcon_Gulpin[] = INCBIN_U8("graphics/pokemon/gulpin/icon.4bpp");
+const u8 gMonFootprint_Gulpin[] = INCBIN_U8("graphics/pokemon/gulpin/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/front.4bpp.lz");
+const u32 gMonPalette_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/normal.gbapal.lz");
+const u32 gMonBackPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/back.4bpp.lz");
+const u32 gMonShinyPalette_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/shiny.gbapal.lz");
+const u8 gMonIcon_Swalot[] = INCBIN_U8("graphics/pokemon/swalot/icon.4bpp");
+const u8 gMonFootprint_Swalot[] = INCBIN_U8("graphics/pokemon/swalot/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/front.4bpp.lz");
+const u32 gMonPalette_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/normal.gbapal.lz");
+const u32 gMonBackPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/back.4bpp.lz");
+const u32 gMonShinyPalette_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/shiny.gbapal.lz");
+const u8 gMonIcon_Tropius[] = INCBIN_U8("graphics/pokemon/tropius/icon.4bpp");
+const u8 gMonFootprint_Tropius[] = INCBIN_U8("graphics/pokemon/tropius/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/front.4bpp.lz");
+const u32 gMonPalette_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/normal.gbapal.lz");
+const u32 gMonBackPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/back.4bpp.lz");
+const u32 gMonShinyPalette_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/shiny.gbapal.lz");
+const u8 gMonIcon_Whismur[] = INCBIN_U8("graphics/pokemon/whismur/icon.4bpp");
+const u8 gMonFootprint_Whismur[] = INCBIN_U8("graphics/pokemon/whismur/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/front.4bpp.lz");
+const u32 gMonPalette_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/normal.gbapal.lz");
+const u32 gMonBackPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/back.4bpp.lz");
+const u32 gMonShinyPalette_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/shiny.gbapal.lz");
+const u8 gMonIcon_Loudred[] = INCBIN_U8("graphics/pokemon/loudred/icon.4bpp");
+const u8 gMonFootprint_Loudred[] = INCBIN_U8("graphics/pokemon/loudred/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/front.4bpp.lz");
+const u32 gMonPalette_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/normal.gbapal.lz");
+const u32 gMonBackPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/back.4bpp.lz");
+const u32 gMonShinyPalette_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/shiny.gbapal.lz");
+const u8 gMonIcon_Exploud[] = INCBIN_U8("graphics/pokemon/exploud/icon.4bpp");
+const u8 gMonFootprint_Exploud[] = INCBIN_U8("graphics/pokemon/exploud/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/front.4bpp.lz");
+const u32 gMonPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/normal.gbapal.lz");
+const u32 gMonBackPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/back.4bpp.lz");
+const u32 gMonShinyPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/shiny.gbapal.lz");
+const u8 gMonIcon_Clamperl[] = INCBIN_U8("graphics/pokemon/clamperl/icon.4bpp");
+const u8 gMonFootprint_Clamperl[] = INCBIN_U8("graphics/pokemon/clamperl/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/front.4bpp.lz");
+const u32 gMonPalette_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/normal.gbapal.lz");
+const u32 gMonBackPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/back.4bpp.lz");
+const u32 gMonShinyPalette_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/shiny.gbapal.lz");
+const u8 gMonIcon_Huntail[] = INCBIN_U8("graphics/pokemon/huntail/icon.4bpp");
+const u8 gMonFootprint_Huntail[] = INCBIN_U8("graphics/pokemon/huntail/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/front.4bpp.lz");
+const u32 gMonPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/normal.gbapal.lz");
+const u32 gMonBackPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/back.4bpp.lz");
+const u32 gMonShinyPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/shiny.gbapal.lz");
+const u8 gMonIcon_Gorebyss[] = INCBIN_U8("graphics/pokemon/gorebyss/icon.4bpp");
+const u8 gMonFootprint_Gorebyss[] = INCBIN_U8("graphics/pokemon/gorebyss/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/front.4bpp.lz");
+const u32 gMonPalette_Absol[] = INCBIN_U32("graphics/pokemon/absol/normal.gbapal.lz");
+const u32 gMonBackPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/back.4bpp.lz");
+const u32 gMonShinyPalette_Absol[] = INCBIN_U32("graphics/pokemon/absol/shiny.gbapal.lz");
+const u8 gMonIcon_Absol[] = INCBIN_U8("graphics/pokemon/absol/icon.4bpp");
+const u8 gMonFootprint_Absol[] = INCBIN_U8("graphics/pokemon/absol/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/front.4bpp.lz");
+const u32 gMonPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/normal.gbapal.lz");
+const u32 gMonBackPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/back.4bpp.lz");
+const u32 gMonShinyPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/shiny.gbapal.lz");
+const u8 gMonIcon_Shuppet[] = INCBIN_U8("graphics/pokemon/shuppet/icon.4bpp");
+const u8 gMonFootprint_Shuppet[] = INCBIN_U8("graphics/pokemon/shuppet/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/front.4bpp.lz");
+const u32 gMonPalette_Banette[] = INCBIN_U32("graphics/pokemon/banette/normal.gbapal.lz");
+const u32 gMonBackPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/back.4bpp.lz");
+const u32 gMonShinyPalette_Banette[] = INCBIN_U32("graphics/pokemon/banette/shiny.gbapal.lz");
+const u8 gMonIcon_Banette[] = INCBIN_U8("graphics/pokemon/banette/icon.4bpp");
+const u8 gMonFootprint_Banette[] = INCBIN_U8("graphics/pokemon/banette/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/front.4bpp.lz");
+const u32 gMonPalette_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/normal.gbapal.lz");
+const u32 gMonBackPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/back.4bpp.lz");
+const u32 gMonShinyPalette_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/shiny.gbapal.lz");
+const u8 gMonIcon_Seviper[] = INCBIN_U8("graphics/pokemon/seviper/icon.4bpp");
+const u8 gMonFootprint_Seviper[] = INCBIN_U8("graphics/pokemon/seviper/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/front.4bpp.lz");
+const u32 gMonPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/normal.gbapal.lz");
+const u32 gMonBackPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/back.4bpp.lz");
+const u32 gMonShinyPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/shiny.gbapal.lz");
+const u8 gMonIcon_Zangoose[] = INCBIN_U8("graphics/pokemon/zangoose/icon.4bpp");
+const u8 gMonFootprint_Zangoose[] = INCBIN_U8("graphics/pokemon/zangoose/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/front.4bpp.lz");
+const u32 gMonPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/normal.gbapal.lz");
+const u32 gMonBackPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/back.4bpp.lz");
+const u32 gMonShinyPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/shiny.gbapal.lz");
+const u8 gMonIcon_Relicanth[] = INCBIN_U8("graphics/pokemon/relicanth/icon.4bpp");
+const u8 gMonFootprint_Relicanth[] = INCBIN_U8("graphics/pokemon/relicanth/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/front.4bpp.lz");
+const u32 gMonPalette_Aron[] = INCBIN_U32("graphics/pokemon/aron/normal.gbapal.lz");
+const u32 gMonBackPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/back.4bpp.lz");
+const u32 gMonShinyPalette_Aron[] = INCBIN_U32("graphics/pokemon/aron/shiny.gbapal.lz");
+const u8 gMonIcon_Aron[] = INCBIN_U8("graphics/pokemon/aron/icon.4bpp");
+const u8 gMonFootprint_Aron[] = INCBIN_U8("graphics/pokemon/aron/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/front.4bpp.lz");
+const u32 gMonPalette_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/normal.gbapal.lz");
+const u32 gMonBackPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/back.4bpp.lz");
+const u32 gMonShinyPalette_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/shiny.gbapal.lz");
+const u8 gMonIcon_Lairon[] = INCBIN_U8("graphics/pokemon/lairon/icon.4bpp");
+const u8 gMonFootprint_Lairon[] = INCBIN_U8("graphics/pokemon/lairon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/front.4bpp.lz");
+const u32 gMonPalette_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/normal.gbapal.lz");
+const u32 gMonBackPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/back.4bpp.lz");
+const u32 gMonShinyPalette_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/shiny.gbapal.lz");
+const u8 gMonIcon_Aggron[] = INCBIN_U8("graphics/pokemon/aggron/icon.4bpp");
+const u8 gMonFootprint_Aggron[] = INCBIN_U8("graphics/pokemon/aggron/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/front.4bpp.lz");
+const u32 gMonPalette_Castform[] = INCBIN_U32("graphics/pokemon/castform/normal.gbapal.lz");
+const u32 gMonBackPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/back.4bpp.lz");
+const u32 gMonShinyPalette_Castform[] = INCBIN_U32("graphics/pokemon/castform/shiny.gbapal.lz");
+const u8 gMonIcon_Castform[] = INCBIN_U8("graphics/pokemon/castform/icon.4bpp");
+const u8 gMonFootprint_Castform[] = INCBIN_U8("graphics/pokemon/castform/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/front.4bpp.lz");
+const u32 gMonPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/normal.gbapal.lz");
+const u32 gMonBackPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/back.4bpp.lz");
+const u32 gMonShinyPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/shiny.gbapal.lz");
+const u8 gMonIcon_Volbeat[] = INCBIN_U8("graphics/pokemon/volbeat/icon.4bpp");
+const u8 gMonFootprint_Volbeat[] = INCBIN_U8("graphics/pokemon/volbeat/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/front.4bpp.lz");
+const u32 gMonPalette_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/normal.gbapal.lz");
+const u32 gMonBackPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/back.4bpp.lz");
+const u32 gMonShinyPalette_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/shiny.gbapal.lz");
+const u8 gMonIcon_Illumise[] = INCBIN_U8("graphics/pokemon/illumise/icon.4bpp");
+const u8 gMonFootprint_Illumise[] = INCBIN_U8("graphics/pokemon/illumise/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/front.4bpp.lz");
+const u32 gMonPalette_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/normal.gbapal.lz");
+const u32 gMonBackPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/back.4bpp.lz");
+const u32 gMonShinyPalette_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/shiny.gbapal.lz");
+const u8 gMonIcon_Lileep[] = INCBIN_U8("graphics/pokemon/lileep/icon.4bpp");
+const u8 gMonFootprint_Lileep[] = INCBIN_U8("graphics/pokemon/lileep/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/front.4bpp.lz");
+const u32 gMonPalette_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/normal.gbapal.lz");
+const u32 gMonBackPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/back.4bpp.lz");
+const u32 gMonShinyPalette_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/shiny.gbapal.lz");
+const u8 gMonIcon_Cradily[] = INCBIN_U8("graphics/pokemon/cradily/icon.4bpp");
+const u8 gMonFootprint_Cradily[] = INCBIN_U8("graphics/pokemon/cradily/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/front.4bpp.lz");
+const u32 gMonPalette_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/normal.gbapal.lz");
+const u32 gMonBackPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/back.4bpp.lz");
+const u32 gMonShinyPalette_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/shiny.gbapal.lz");
+const u8 gMonIcon_Anorith[] = INCBIN_U8("graphics/pokemon/anorith/icon.4bpp");
+const u8 gMonFootprint_Anorith[] = INCBIN_U8("graphics/pokemon/anorith/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/front.4bpp.lz");
+const u32 gMonPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/normal.gbapal.lz");
+const u32 gMonBackPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/back.4bpp.lz");
+const u32 gMonShinyPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/shiny.gbapal.lz");
+const u8 gMonIcon_Armaldo[] = INCBIN_U8("graphics/pokemon/armaldo/icon.4bpp");
+const u8 gMonFootprint_Armaldo[] = INCBIN_U8("graphics/pokemon/armaldo/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/front.4bpp.lz");
+const u32 gMonPalette_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/normal.gbapal.lz");
+const u32 gMonBackPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/back.4bpp.lz");
+const u32 gMonShinyPalette_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/shiny.gbapal.lz");
+const u8 gMonIcon_Ralts[] = INCBIN_U8("graphics/pokemon/ralts/icon.4bpp");
+const u8 gMonFootprint_Ralts[] = INCBIN_U8("graphics/pokemon/ralts/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/front.4bpp.lz");
+const u32 gMonPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/normal.gbapal.lz");
+const u32 gMonBackPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/back.4bpp.lz");
+const u32 gMonShinyPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/shiny.gbapal.lz");
+const u8 gMonIcon_Kirlia[] = INCBIN_U8("graphics/pokemon/kirlia/icon.4bpp");
+const u8 gMonFootprint_Kirlia[] = INCBIN_U8("graphics/pokemon/kirlia/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/front.4bpp.lz");
+const u32 gMonPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/normal.gbapal.lz");
+const u32 gMonBackPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/back.4bpp.lz");
+const u32 gMonShinyPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/shiny.gbapal.lz");
+const u8 gMonIcon_Gardevoir[] = INCBIN_U8("graphics/pokemon/gardevoir/icon.4bpp");
+const u8 gMonFootprint_Gardevoir[] = INCBIN_U8("graphics/pokemon/gardevoir/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/front.4bpp.lz");
+const u32 gMonPalette_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/normal.gbapal.lz");
+const u32 gMonBackPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/back.4bpp.lz");
+const u32 gMonShinyPalette_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/shiny.gbapal.lz");
+const u8 gMonIcon_Bagon[] = INCBIN_U8("graphics/pokemon/bagon/icon.4bpp");
+const u8 gMonFootprint_Bagon[] = INCBIN_U8("graphics/pokemon/bagon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/front.4bpp.lz");
+const u32 gMonPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/normal.gbapal.lz");
+const u32 gMonBackPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/back.4bpp.lz");
+const u32 gMonShinyPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/shiny.gbapal.lz");
+const u8 gMonIcon_Shelgon[] = INCBIN_U8("graphics/pokemon/shelgon/icon.4bpp");
+const u8 gMonFootprint_Shelgon[] = INCBIN_U8("graphics/pokemon/shelgon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/front.4bpp.lz");
+const u32 gMonPalette_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/normal.gbapal.lz");
+const u32 gMonBackPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/back.4bpp.lz");
+const u32 gMonShinyPalette_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/shiny.gbapal.lz");
+const u8 gMonIcon_Salamence[] = INCBIN_U8("graphics/pokemon/salamence/icon.4bpp");
+const u8 gMonFootprint_Salamence[] = INCBIN_U8("graphics/pokemon/salamence/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/front.4bpp.lz");
+const u32 gMonPalette_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/normal.gbapal.lz");
+const u32 gMonBackPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/back.4bpp.lz");
+const u32 gMonShinyPalette_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/shiny.gbapal.lz");
+const u8 gMonIcon_Beldum[] = INCBIN_U8("graphics/pokemon/beldum/icon.4bpp");
+const u8 gMonFootprint_Beldum[] = INCBIN_U8("graphics/pokemon/beldum/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/front.4bpp.lz");
+const u32 gMonPalette_Metang[] = INCBIN_U32("graphics/pokemon/metang/normal.gbapal.lz");
+const u32 gMonBackPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/back.4bpp.lz");
+const u32 gMonShinyPalette_Metang[] = INCBIN_U32("graphics/pokemon/metang/shiny.gbapal.lz");
+const u8 gMonIcon_Metang[] = INCBIN_U8("graphics/pokemon/metang/icon.4bpp");
+const u8 gMonFootprint_Metang[] = INCBIN_U8("graphics/pokemon/metang/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/front.4bpp.lz");
+const u32 gMonPalette_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/normal.gbapal.lz");
+const u32 gMonBackPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/back.4bpp.lz");
+const u32 gMonShinyPalette_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/shiny.gbapal.lz");
+const u8 gMonIcon_Metagross[] = INCBIN_U8("graphics/pokemon/metagross/icon.4bpp");
+const u8 gMonFootprint_Metagross[] = INCBIN_U8("graphics/pokemon/metagross/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/front.4bpp.lz");
+const u32 gMonPalette_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/normal.gbapal.lz");
+const u32 gMonBackPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/back.4bpp.lz");
+const u32 gMonShinyPalette_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/shiny.gbapal.lz");
+const u8 gMonIcon_Regirock[] = INCBIN_U8("graphics/pokemon/regirock/icon.4bpp");
+const u8 gMonFootprint_Regirock[] = INCBIN_U8("graphics/pokemon/regirock/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/front.4bpp.lz");
+const u32 gMonPalette_Regice[] = INCBIN_U32("graphics/pokemon/regice/normal.gbapal.lz");
+const u32 gMonBackPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/back.4bpp.lz");
+const u32 gMonShinyPalette_Regice[] = INCBIN_U32("graphics/pokemon/regice/shiny.gbapal.lz");
+const u8 gMonIcon_Regice[] = INCBIN_U8("graphics/pokemon/regice/icon.4bpp");
+const u8 gMonFootprint_Regice[] = INCBIN_U8("graphics/pokemon/regice/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/front.4bpp.lz");
+const u32 gMonPalette_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/normal.gbapal.lz");
+const u32 gMonBackPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/back.4bpp.lz");
+const u32 gMonShinyPalette_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/shiny.gbapal.lz");
+const u8 gMonIcon_Registeel[] = INCBIN_U8("graphics/pokemon/registeel/icon.4bpp");
+const u8 gMonFootprint_Registeel[] = INCBIN_U8("graphics/pokemon/registeel/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/front.4bpp.lz");
+const u32 gMonPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/normal.gbapal.lz");
+const u32 gMonBackPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/back.4bpp.lz");
+const u32 gMonShinyPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/shiny.gbapal.lz");
+const u8 gMonIcon_Kyogre[] = INCBIN_U8("graphics/pokemon/kyogre/icon.4bpp");
+const u8 gMonFootprint_Kyogre[] = INCBIN_U8("graphics/pokemon/kyogre/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/front.4bpp.lz");
+const u32 gMonPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/normal.gbapal.lz");
+const u32 gMonBackPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/back.4bpp.lz");
+const u32 gMonShinyPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/shiny.gbapal.lz");
+const u8 gMonIcon_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/icon.4bpp");
+const u8 gMonFootprint_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/front.4bpp.lz");
+const u32 gMonPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/normal.gbapal.lz");
+const u32 gMonBackPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/back.4bpp.lz");
+const u32 gMonShinyPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/shiny.gbapal.lz");
+const u8 gMonIcon_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/icon.4bpp");
+const u8 gMonFootprint_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/front.4bpp.lz");
+const u32 gMonPalette_Latias[] = INCBIN_U32("graphics/pokemon/latias/normal.gbapal.lz");
+const u32 gMonBackPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/back.4bpp.lz");
+const u32 gMonShinyPalette_Latias[] = INCBIN_U32("graphics/pokemon/latias/shiny.gbapal.lz");
+const u8 gMonIcon_Latias[] = INCBIN_U8("graphics/pokemon/latias/icon.4bpp");
+const u8 gMonFootprint_Latias[] = INCBIN_U8("graphics/pokemon/latias/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/front.4bpp.lz");
+const u32 gMonPalette_Latios[] = INCBIN_U32("graphics/pokemon/latios/normal.gbapal.lz");
+const u32 gMonBackPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/back.4bpp.lz");
+const u32 gMonShinyPalette_Latios[] = INCBIN_U32("graphics/pokemon/latios/shiny.gbapal.lz");
+const u8 gMonIcon_Latios[] = INCBIN_U8("graphics/pokemon/latios/icon.4bpp");
+const u8 gMonFootprint_Latios[] = INCBIN_U8("graphics/pokemon/latios/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/front.4bpp.lz");
+const u32 gMonPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/normal.gbapal.lz");
+const u32 gMonBackPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/back.4bpp.lz");
+const u32 gMonShinyPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/shiny.gbapal.lz");
+const u8 gMonIcon_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/icon.4bpp");
+const u8 gMonFootprint_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/footprint.1bpp");
+
+const u32 gMonStillFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/front.4bpp.lz");
+const u32 gMonPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/normal.gbapal.lz");
+const u32 gMonBackPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/back.4bpp.lz");
+const u32 gMonShinyPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/shiny.gbapal.lz");
+const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/icon.4bpp");
+const u8 gMonIcon_DeoxysSpeed[] = INCBIN_U8("graphics/pokemon/deoxys/icon_speed.4bpp");
const u8 gMonIcon_DeoxysSpeedWide[] = INCBIN_U8("graphics/unused/deoxys_speed_icon_wide.4bpp");
asm(".space 0x6800");
const u16 gUnknown_D437F8[] = INCBIN_U16("graphics/unknown/unknown_D437F8.bin");
-const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/footprints/deoxys_footprint.1bpp");
+const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/footprint.1bpp");
-const u32 gMonStillFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/front_pics/chimecho_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/palettes/chimecho_palette.gbapal.lz");
-const u32 gMonBackPic_Chimecho[] = INCBIN_U32("graphics/pokemon/back_pics/chimecho_back_pic.4bpp.lz");
-const u32 gMonShinyPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/palettes/chimecho_shiny_palette.gbapal.lz");
-const u8 gMonIcon_Chimecho[] = INCBIN_U8("graphics/pokemon/icons/chimecho_icon.4bpp");
-const u8 gMonFootprint_Chimecho[] = INCBIN_U8("graphics/pokemon/footprints/chimecho_footprint.1bpp");
+const u32 gMonStillFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/front.4bpp.lz");
+const u32 gMonPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/normal.gbapal.lz");
+const u32 gMonBackPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/back.4bpp.lz");
+const u32 gMonShinyPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/shiny.gbapal.lz");
+const u8 gMonIcon_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/icon.4bpp");
+const u8 gMonFootprint_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/footprint.1bpp");
-const u32 gMonStillFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/front_pics/egg_still_front_pic.4bpp.lz");
-const u32 gMonPalette_Egg[] = INCBIN_U32("graphics/pokemon/palettes/egg_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/egg/front.4bpp.lz");
+const u32 gMonPalette_Egg[] = INCBIN_U32("graphics/pokemon/egg/normal.gbapal.lz");
-const u32 gMonStillFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/front_pics/unown_b_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownB[] = INCBIN_U32("graphics/pokemon/back_pics/unown_b_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownB[] = INCBIN_U8("graphics/pokemon/icons/unown_B_icon.4bpp");
+const u32 gMonStillFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/front_b.4bpp.lz");
+const u32 gMonBackPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/back_b.4bpp.lz");
+const u8 gMonIcon_UnownB[] = INCBIN_U8("graphics/pokemon/unown/icon_b.4bpp");
-const u32 gMonStillFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/front_pics/unown_c_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownC[] = INCBIN_U32("graphics/pokemon/back_pics/unown_c_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownC[] = INCBIN_U8("graphics/pokemon/icons/unown_C_icon.4bpp");
+const u32 gMonStillFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/front_c.4bpp.lz");
+const u32 gMonBackPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/back_c.4bpp.lz");
+const u8 gMonIcon_UnownC[] = INCBIN_U8("graphics/pokemon/unown/icon_c.4bpp");
-const u32 gMonStillFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/front_pics/unown_d_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownD[] = INCBIN_U32("graphics/pokemon/back_pics/unown_d_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownD[] = INCBIN_U8("graphics/pokemon/icons/unown_D_icon.4bpp");
+const u32 gMonStillFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/front_d.4bpp.lz");
+const u32 gMonBackPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/back_d.4bpp.lz");
+const u8 gMonIcon_UnownD[] = INCBIN_U8("graphics/pokemon/unown/icon_d.4bpp");
-const u32 gMonStillFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/front_pics/unown_e_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownE[] = INCBIN_U32("graphics/pokemon/back_pics/unown_e_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownE[] = INCBIN_U8("graphics/pokemon/icons/unown_E_icon.4bpp");
+const u32 gMonStillFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/front_e.4bpp.lz");
+const u32 gMonBackPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/back_e.4bpp.lz");
+const u8 gMonIcon_UnownE[] = INCBIN_U8("graphics/pokemon/unown/icon_e.4bpp");
-const u32 gMonStillFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/front_pics/unown_f_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownF[] = INCBIN_U32("graphics/pokemon/back_pics/unown_f_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownF[] = INCBIN_U8("graphics/pokemon/icons/unown_F_icon.4bpp");
+const u32 gMonStillFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/front_f.4bpp.lz");
+const u32 gMonBackPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/back_f.4bpp.lz");
+const u8 gMonIcon_UnownF[] = INCBIN_U8("graphics/pokemon/unown/icon_f.4bpp");
-const u32 gMonStillFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/front_pics/unown_g_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownG[] = INCBIN_U32("graphics/pokemon/back_pics/unown_g_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownG[] = INCBIN_U8("graphics/pokemon/icons/unown_G_icon.4bpp");
+const u32 gMonStillFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/front_g.4bpp.lz");
+const u32 gMonBackPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/back_g.4bpp.lz");
+const u8 gMonIcon_UnownG[] = INCBIN_U8("graphics/pokemon/unown/icon_g.4bpp");
-const u32 gMonStillFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/front_pics/unown_h_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownH[] = INCBIN_U32("graphics/pokemon/back_pics/unown_h_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownH[] = INCBIN_U8("graphics/pokemon/icons/unown_H_icon.4bpp");
+const u32 gMonStillFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/front_h.4bpp.lz");
+const u32 gMonBackPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/back_h.4bpp.lz");
+const u8 gMonIcon_UnownH[] = INCBIN_U8("graphics/pokemon/unown/icon_h.4bpp");
-const u32 gMonStillFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/front_pics/unown_i_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownI[] = INCBIN_U32("graphics/pokemon/back_pics/unown_i_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownI[] = INCBIN_U8("graphics/pokemon/icons/unown_I_icon.4bpp");
+const u32 gMonStillFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/front_i.4bpp.lz");
+const u32 gMonBackPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/back_i.4bpp.lz");
+const u8 gMonIcon_UnownI[] = INCBIN_U8("graphics/pokemon/unown/icon_i.4bpp");
-const u32 gMonStillFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/front_pics/unown_j_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownJ[] = INCBIN_U32("graphics/pokemon/back_pics/unown_j_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownJ[] = INCBIN_U8("graphics/pokemon/icons/unown_J_icon.4bpp");
+const u32 gMonStillFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/front_j.4bpp.lz");
+const u32 gMonBackPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/back_j.4bpp.lz");
+const u8 gMonIcon_UnownJ[] = INCBIN_U8("graphics/pokemon/unown/icon_j.4bpp");
-const u32 gMonStillFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/front_pics/unown_k_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownK[] = INCBIN_U32("graphics/pokemon/back_pics/unown_k_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownK[] = INCBIN_U8("graphics/pokemon/icons/unown_K_icon.4bpp");
+const u32 gMonStillFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/front_k.4bpp.lz");
+const u32 gMonBackPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/back_k.4bpp.lz");
+const u8 gMonIcon_UnownK[] = INCBIN_U8("graphics/pokemon/unown/icon_k.4bpp");
-const u32 gMonStillFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/front_pics/unown_l_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownL[] = INCBIN_U32("graphics/pokemon/back_pics/unown_l_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownL[] = INCBIN_U8("graphics/pokemon/icons/unown_L_icon.4bpp");
+const u32 gMonStillFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/front_l.4bpp.lz");
+const u32 gMonBackPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/back_l.4bpp.lz");
+const u8 gMonIcon_UnownL[] = INCBIN_U8("graphics/pokemon/unown/icon_l.4bpp");
-const u32 gMonStillFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/front_pics/unown_m_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownM[] = INCBIN_U32("graphics/pokemon/back_pics/unown_m_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownM[] = INCBIN_U8("graphics/pokemon/icons/unown_M_icon.4bpp");
+const u32 gMonStillFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/front_m.4bpp.lz");
+const u32 gMonBackPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/back_m.4bpp.lz");
+const u8 gMonIcon_UnownM[] = INCBIN_U8("graphics/pokemon/unown/icon_m.4bpp");
-const u32 gMonStillFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/front_pics/unown_n_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownN[] = INCBIN_U32("graphics/pokemon/back_pics/unown_n_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownN[] = INCBIN_U8("graphics/pokemon/icons/unown_N_icon.4bpp");
+const u32 gMonStillFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/front_n.4bpp.lz");
+const u32 gMonBackPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/back_n.4bpp.lz");
+const u8 gMonIcon_UnownN[] = INCBIN_U8("graphics/pokemon/unown/icon_n.4bpp");
-const u32 gMonStillFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/front_pics/unown_o_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownO[] = INCBIN_U32("graphics/pokemon/back_pics/unown_o_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownO[] = INCBIN_U8("graphics/pokemon/icons/unown_O_icon.4bpp");
+const u32 gMonStillFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/front_o.4bpp.lz");
+const u32 gMonBackPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/back_o.4bpp.lz");
+const u8 gMonIcon_UnownO[] = INCBIN_U8("graphics/pokemon/unown/icon_o.4bpp");
-const u32 gMonStillFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/front_pics/unown_p_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownP[] = INCBIN_U32("graphics/pokemon/back_pics/unown_p_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownP[] = INCBIN_U8("graphics/pokemon/icons/unown_P_icon.4bpp");
+const u32 gMonStillFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/front_p.4bpp.lz");
+const u32 gMonBackPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/back_p.4bpp.lz");
+const u8 gMonIcon_UnownP[] = INCBIN_U8("graphics/pokemon/unown/icon_p.4bpp");
-const u32 gMonStillFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/front_pics/unown_q_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownQ[] = INCBIN_U32("graphics/pokemon/back_pics/unown_q_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownQ[] = INCBIN_U8("graphics/pokemon/icons/unown_Q_icon.4bpp");
+const u32 gMonStillFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/front_q.4bpp.lz");
+const u32 gMonBackPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/back_q.4bpp.lz");
+const u8 gMonIcon_UnownQ[] = INCBIN_U8("graphics/pokemon/unown/icon_q.4bpp");
-const u32 gMonStillFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/front_pics/unown_r_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownR[] = INCBIN_U32("graphics/pokemon/back_pics/unown_r_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownR[] = INCBIN_U8("graphics/pokemon/icons/unown_R_icon.4bpp");
+const u32 gMonStillFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/front_r.4bpp.lz");
+const u32 gMonBackPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/back_r.4bpp.lz");
+const u8 gMonIcon_UnownR[] = INCBIN_U8("graphics/pokemon/unown/icon_r.4bpp");
-const u32 gMonStillFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/front_pics/unown_s_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownS[] = INCBIN_U32("graphics/pokemon/back_pics/unown_s_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownS[] = INCBIN_U8("graphics/pokemon/icons/unown_S_icon.4bpp");
+const u32 gMonStillFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/front_s.4bpp.lz");
+const u32 gMonBackPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/back_s.4bpp.lz");
+const u8 gMonIcon_UnownS[] = INCBIN_U8("graphics/pokemon/unown/icon_s.4bpp");
-const u32 gMonStillFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/front_pics/unown_t_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownT[] = INCBIN_U32("graphics/pokemon/back_pics/unown_t_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownT[] = INCBIN_U8("graphics/pokemon/icons/unown_T_icon.4bpp");
+const u32 gMonStillFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/front_t.4bpp.lz");
+const u32 gMonBackPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/back_t.4bpp.lz");
+const u8 gMonIcon_UnownT[] = INCBIN_U8("graphics/pokemon/unown/icon_t.4bpp");
-const u32 gMonStillFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/front_pics/unown_u_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownU[] = INCBIN_U32("graphics/pokemon/back_pics/unown_u_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownU[] = INCBIN_U8("graphics/pokemon/icons/unown_U_icon.4bpp");
+const u32 gMonStillFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/front_u.4bpp.lz");
+const u32 gMonBackPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/back_u.4bpp.lz");
+const u8 gMonIcon_UnownU[] = INCBIN_U8("graphics/pokemon/unown/icon_u.4bpp");
-const u32 gMonStillFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/front_pics/unown_v_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownV[] = INCBIN_U32("graphics/pokemon/back_pics/unown_v_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownV[] = INCBIN_U8("graphics/pokemon/icons/unown_V_icon.4bpp");
+const u32 gMonStillFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/front_v.4bpp.lz");
+const u32 gMonBackPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/back_v.4bpp.lz");
+const u8 gMonIcon_UnownV[] = INCBIN_U8("graphics/pokemon/unown/icon_v.4bpp");
-const u32 gMonStillFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/front_pics/unown_w_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownW[] = INCBIN_U32("graphics/pokemon/back_pics/unown_w_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownW[] = INCBIN_U8("graphics/pokemon/icons/unown_W_icon.4bpp");
+const u32 gMonStillFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/front_w.4bpp.lz");
+const u32 gMonBackPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/back_w.4bpp.lz");
+const u8 gMonIcon_UnownW[] = INCBIN_U8("graphics/pokemon/unown/icon_w.4bpp");
-const u32 gMonStillFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/front_pics/unown_x_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownX[] = INCBIN_U32("graphics/pokemon/back_pics/unown_x_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownX[] = INCBIN_U8("graphics/pokemon/icons/unown_X_icon.4bpp");
-
-const u32 gMonStillFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/front_pics/unown_y_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownY[] = INCBIN_U32("graphics/pokemon/back_pics/unown_y_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownY[] = INCBIN_U8("graphics/pokemon/icons/unown_Y_icon.4bpp");
+const u32 gMonStillFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/front_x.4bpp.lz");
+const u32 gMonBackPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/back_x.4bpp.lz");
+const u8 gMonIcon_UnownX[] = INCBIN_U8("graphics/pokemon/unown/icon_x.4bpp");
+
+const u32 gMonStillFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/front_y.4bpp.lz");
+const u32 gMonBackPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/back_y.4bpp.lz");
+const u8 gMonIcon_UnownY[] = INCBIN_U8("graphics/pokemon/unown/icon_y.4bpp");
-const u32 gMonStillFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/front_pics/unown_z_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownZ[] = INCBIN_U32("graphics/pokemon/back_pics/unown_z_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownZ[] = INCBIN_U8("graphics/pokemon/icons/unown_Z_icon.4bpp");
+const u32 gMonStillFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/front_z.4bpp.lz");
+const u32 gMonBackPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/back_z.4bpp.lz");
+const u8 gMonIcon_UnownZ[] = INCBIN_U8("graphics/pokemon/unown/icon_z.4bpp");
-const u32 gMonStillFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/icons/unown_exclamation_mark_icon.4bpp");
+const u32 gMonStillFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/front_exclamation_mark.4bpp.lz");
+const u32 gMonBackPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/back_exclamation_mark.4bpp.lz");
+const u8 gMonIcon_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/unown/icon_exclamation_mark.4bpp");
-const u32 gMonStillFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/front_pics/unown_question_mark_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/back_pics/unown_question_mark_back_pic.4bpp.lz");
-const u8 gMonIcon_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/icons/unown_question_mark_icon.4bpp");
+const u32 gMonStillFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/front_question_mark.4bpp.lz");
+const u32 gMonBackPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/back_question_mark.4bpp.lz");
+const u8 gMonIcon_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/unown/icon_question_mark.4bpp");
diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h
index 0de0bfb52..0a89f20c8 100644
--- a/src/data/pokemon_graphics/back_pic_coordinates.h
+++ b/src/data/pokemon_graphics/back_pic_coordinates.h
@@ -1,5 +1,3 @@
-#include "constants/species.h"
-
const struct MonCoords gMonBackPicCoords[] =
{
[SPECIES_NONE] =
diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h
index c6fd1300b..9a98927aa 100644
--- a/src/data/pokemon_graphics/back_pic_table.h
+++ b/src/data/pokemon_graphics/back_pic_table.h
@@ -1,444 +1,443 @@
const struct CompressedSpriteSheet gMonBackPicTable[] =
{
- [SPECIES_NONE] = {gMonBackPic_CircledQuestionMark, 0x800, SPECIES_NONE},
- [SPECIES_BULBASAUR] = {gMonBackPic_Bulbasaur, 0x800, SPECIES_BULBASAUR},
- [SPECIES_IVYSAUR] = {gMonBackPic_Ivysaur, 0x800, SPECIES_IVYSAUR},
- [SPECIES_VENUSAUR] = {gMonBackPic_Venusaur, 0x800, SPECIES_VENUSAUR},
- [SPECIES_CHARMANDER] = {gMonBackPic_Charmander, 0x800, SPECIES_CHARMANDER},
- [SPECIES_CHARMELEON] = {gMonBackPic_Charmeleon, 0x800, SPECIES_CHARMELEON},
- [SPECIES_CHARIZARD] = {gMonBackPic_Charizard, 0x800, SPECIES_CHARIZARD},
- [SPECIES_SQUIRTLE] = {gMonBackPic_Squirtle, 0x800, SPECIES_SQUIRTLE},
- [SPECIES_WARTORTLE] = {gMonBackPic_Wartortle, 0x800, SPECIES_WARTORTLE},
- [SPECIES_BLASTOISE] = {gMonBackPic_Blastoise, 0x800, SPECIES_BLASTOISE},
- [SPECIES_CATERPIE] = {gMonBackPic_Caterpie, 0x800, SPECIES_CATERPIE},
- [SPECIES_METAPOD] = {gMonBackPic_Metapod, 0x800, SPECIES_METAPOD},
- [SPECIES_BUTTERFREE] = {gMonBackPic_Butterfree, 0x800, SPECIES_BUTTERFREE},
- [SPECIES_WEEDLE] = {gMonBackPic_Weedle, 0x800, SPECIES_WEEDLE},
- [SPECIES_KAKUNA] = {gMonBackPic_Kakuna, 0x800, SPECIES_KAKUNA},
- [SPECIES_BEEDRILL] = {gMonBackPic_Beedrill, 0x800, SPECIES_BEEDRILL},
- [SPECIES_PIDGEY] = {gMonBackPic_Pidgey, 0x800, SPECIES_PIDGEY},
- [SPECIES_PIDGEOTTO] = {gMonBackPic_Pidgeotto, 0x800, SPECIES_PIDGEOTTO},
- [SPECIES_PIDGEOT] = {gMonBackPic_Pidgeot, 0x800, SPECIES_PIDGEOT},
- [SPECIES_RATTATA] = {gMonBackPic_Rattata, 0x800, SPECIES_RATTATA},
- [SPECIES_RATICATE] = {gMonBackPic_Raticate, 0x800, SPECIES_RATICATE},
- [SPECIES_SPEAROW] = {gMonBackPic_Spearow, 0x800, SPECIES_SPEAROW},
- [SPECIES_FEAROW] = {gMonBackPic_Fearow, 0x800, SPECIES_FEAROW},
- [SPECIES_EKANS] = {gMonBackPic_Ekans, 0x800, SPECIES_EKANS},
- [SPECIES_ARBOK] = {gMonBackPic_Arbok, 0x800, SPECIES_ARBOK},
- [SPECIES_PIKACHU] = {gMonBackPic_Pikachu, 0x800, SPECIES_PIKACHU},
- [SPECIES_RAICHU] = {gMonBackPic_Raichu, 0x800, SPECIES_RAICHU},
- [SPECIES_SANDSHREW] = {gMonBackPic_Sandshrew, 0x800, SPECIES_SANDSHREW},
- [SPECIES_SANDSLASH] = {gMonBackPic_Sandslash, 0x800, SPECIES_SANDSLASH},
- [SPECIES_NIDORAN_F] = {gMonBackPic_NidoranF, 0x800, SPECIES_NIDORAN_F},
- [SPECIES_NIDORINA] = {gMonBackPic_Nidorina, 0x800, SPECIES_NIDORINA},
- [SPECIES_NIDOQUEEN] = {gMonBackPic_Nidoqueen, 0x800, SPECIES_NIDOQUEEN},
- [SPECIES_NIDORAN_M] = {gMonBackPic_NidoranM, 0x800, SPECIES_NIDORAN_M},
- [SPECIES_NIDORINO] = {gMonBackPic_Nidorino, 0x800, SPECIES_NIDORINO},
- [SPECIES_NIDOKING] = {gMonBackPic_Nidoking, 0x800, SPECIES_NIDOKING},
- [SPECIES_CLEFAIRY] = {gMonBackPic_Clefairy, 0x800, SPECIES_CLEFAIRY},
- [SPECIES_CLEFABLE] = {gMonBackPic_Clefable, 0x800, SPECIES_CLEFABLE},
- [SPECIES_VULPIX] = {gMonBackPic_Vulpix, 0x800, SPECIES_VULPIX},
- [SPECIES_NINETALES] = {gMonBackPic_Ninetales, 0x800, SPECIES_NINETALES},
- [SPECIES_JIGGLYPUFF] = {gMonBackPic_Jigglypuff, 0x800, SPECIES_JIGGLYPUFF},
- [SPECIES_WIGGLYTUFF] = {gMonBackPic_Wigglytuff, 0x800, SPECIES_WIGGLYTUFF},
- [SPECIES_ZUBAT] = {gMonBackPic_Zubat, 0x800, SPECIES_ZUBAT},
- [SPECIES_GOLBAT] = {gMonBackPic_Golbat, 0x800, SPECIES_GOLBAT},
- [SPECIES_ODDISH] = {gMonBackPic_Oddish, 0x800, SPECIES_ODDISH},
- [SPECIES_GLOOM] = {gMonBackPic_Gloom, 0x800, SPECIES_GLOOM},
- [SPECIES_VILEPLUME] = {gMonBackPic_Vileplume, 0x800, SPECIES_VILEPLUME},
- [SPECIES_PARAS] = {gMonBackPic_Paras, 0x800, SPECIES_PARAS},
- [SPECIES_PARASECT] = {gMonBackPic_Parasect, 0x800, SPECIES_PARASECT},
- [SPECIES_VENONAT] = {gMonBackPic_Venonat, 0x800, SPECIES_VENONAT},
- [SPECIES_VENOMOTH] = {gMonBackPic_Venomoth, 0x800, SPECIES_VENOMOTH},
- [SPECIES_DIGLETT] = {gMonBackPic_Diglett, 0x800, SPECIES_DIGLETT},
- [SPECIES_DUGTRIO] = {gMonBackPic_Dugtrio, 0x800, SPECIES_DUGTRIO},
- [SPECIES_MEOWTH] = {gMonBackPic_Meowth, 0x800, SPECIES_MEOWTH},
- [SPECIES_PERSIAN] = {gMonBackPic_Persian, 0x800, SPECIES_PERSIAN},
- [SPECIES_PSYDUCK] = {gMonBackPic_Psyduck, 0x800, SPECIES_PSYDUCK},
- [SPECIES_GOLDUCK] = {gMonBackPic_Golduck, 0x800, SPECIES_GOLDUCK},
- [SPECIES_MANKEY] = {gMonBackPic_Mankey, 0x800, SPECIES_MANKEY},
- [SPECIES_PRIMEAPE] = {gMonBackPic_Primeape, 0x800, SPECIES_PRIMEAPE},
- [SPECIES_GROWLITHE] = {gMonBackPic_Growlithe, 0x800, SPECIES_GROWLITHE},
- [SPECIES_ARCANINE] = {gMonBackPic_Arcanine, 0x800, SPECIES_ARCANINE},
- [SPECIES_POLIWAG] = {gMonBackPic_Poliwag, 0x800, SPECIES_POLIWAG},
- [SPECIES_POLIWHIRL] = {gMonBackPic_Poliwhirl, 0x800, SPECIES_POLIWHIRL},
- [SPECIES_POLIWRATH] = {gMonBackPic_Poliwrath, 0x800, SPECIES_POLIWRATH},
- [SPECIES_ABRA] = {gMonBackPic_Abra, 0x800, SPECIES_ABRA},
- [SPECIES_KADABRA] = {gMonBackPic_Kadabra, 0x800, SPECIES_KADABRA},
- [SPECIES_ALAKAZAM] = {gMonBackPic_Alakazam, 0x800, SPECIES_ALAKAZAM},
- [SPECIES_MACHOP] = {gMonBackPic_Machop, 0x800, SPECIES_MACHOP},
- [SPECIES_MACHOKE] = {gMonBackPic_Machoke, 0x800, SPECIES_MACHOKE},
- [SPECIES_MACHAMP] = {gMonBackPic_Machamp, 0x800, SPECIES_MACHAMP},
- [SPECIES_BELLSPROUT] = {gMonBackPic_Bellsprout, 0x800, SPECIES_BELLSPROUT},
- [SPECIES_WEEPINBELL] = {gMonBackPic_Weepinbell, 0x800, SPECIES_WEEPINBELL},
- [SPECIES_VICTREEBEL] = {gMonBackPic_Victreebel, 0x800, SPECIES_VICTREEBEL},
- [SPECIES_TENTACOOL] = {gMonBackPic_Tentacool, 0x800, SPECIES_TENTACOOL},
- [SPECIES_TENTACRUEL] = {gMonBackPic_Tentacruel, 0x800, SPECIES_TENTACRUEL},
- [SPECIES_GEODUDE] = {gMonBackPic_Geodude, 0x800, SPECIES_GEODUDE},
- [SPECIES_GRAVELER] = {gMonBackPic_Graveler, 0x800, SPECIES_GRAVELER},
- [SPECIES_GOLEM] = {gMonBackPic_Golem, 0x800, SPECIES_GOLEM},
- [SPECIES_PONYTA] = {gMonBackPic_Ponyta, 0x800, SPECIES_PONYTA},
- [SPECIES_RAPIDASH] = {gMonBackPic_Rapidash, 0x800, SPECIES_RAPIDASH},
- [SPECIES_SLOWPOKE] = {gMonBackPic_Slowpoke, 0x800, SPECIES_SLOWPOKE},
- [SPECIES_SLOWBRO] = {gMonBackPic_Slowbro, 0x800, SPECIES_SLOWBRO},
- [SPECIES_MAGNEMITE] = {gMonBackPic_Magnemite, 0x800, SPECIES_MAGNEMITE},
- [SPECIES_MAGNETON] = {gMonBackPic_Magneton, 0x800, SPECIES_MAGNETON},
- [SPECIES_FARFETCHD] = {gMonBackPic_Farfetchd, 0x800, SPECIES_FARFETCHD},
- [SPECIES_DODUO] = {gMonBackPic_Doduo, 0x800, SPECIES_DODUO},
- [SPECIES_DODRIO] = {gMonBackPic_Dodrio, 0x800, SPECIES_DODRIO},
- [SPECIES_SEEL] = {gMonBackPic_Seel, 0x800, SPECIES_SEEL},
- [SPECIES_DEWGONG] = {gMonBackPic_Dewgong, 0x800, SPECIES_DEWGONG},
- [SPECIES_GRIMER] = {gMonBackPic_Grimer, 0x800, SPECIES_GRIMER},
- [SPECIES_MUK] = {gMonBackPic_Muk, 0x800, SPECIES_MUK},
- [SPECIES_SHELLDER] = {gMonBackPic_Shellder, 0x800, SPECIES_SHELLDER},
- [SPECIES_CLOYSTER] = {gMonBackPic_Cloyster, 0x800, SPECIES_CLOYSTER},
- [SPECIES_GASTLY] = {gMonBackPic_Gastly, 0x800, SPECIES_GASTLY},
- [SPECIES_HAUNTER] = {gMonBackPic_Haunter, 0x800, SPECIES_HAUNTER},
- [SPECIES_GENGAR] = {gMonBackPic_Gengar, 0x800, SPECIES_GENGAR},
- [SPECIES_ONIX] = {gMonBackPic_Onix, 0x800, SPECIES_ONIX},
- [SPECIES_DROWZEE] = {gMonBackPic_Drowzee, 0x800, SPECIES_DROWZEE},
- [SPECIES_HYPNO] = {gMonBackPic_Hypno, 0x800, SPECIES_HYPNO},
- [SPECIES_KRABBY] = {gMonBackPic_Krabby, 0x800, SPECIES_KRABBY},
- [SPECIES_KINGLER] = {gMonBackPic_Kingler, 0x800, SPECIES_KINGLER},
- [SPECIES_VOLTORB] = {gMonBackPic_Voltorb, 0x800, SPECIES_VOLTORB},
- [SPECIES_ELECTRODE] = {gMonBackPic_Electrode, 0x800, SPECIES_ELECTRODE},
- [SPECIES_EXEGGCUTE] = {gMonBackPic_Exeggcute, 0x800, SPECIES_EXEGGCUTE},
- [SPECIES_EXEGGUTOR] = {gMonBackPic_Exeggutor, 0x800, SPECIES_EXEGGUTOR},
- [SPECIES_CUBONE] = {gMonBackPic_Cubone, 0x800, SPECIES_CUBONE},
- [SPECIES_MAROWAK] = {gMonBackPic_Marowak, 0x800, SPECIES_MAROWAK},
- [SPECIES_HITMONLEE] = {gMonBackPic_Hitmonlee, 0x800, SPECIES_HITMONLEE},
- [SPECIES_HITMONCHAN] = {gMonBackPic_Hitmonchan, 0x800, SPECIES_HITMONCHAN},
- [SPECIES_LICKITUNG] = {gMonBackPic_Lickitung, 0x800, SPECIES_LICKITUNG},
- [SPECIES_KOFFING] = {gMonBackPic_Koffing, 0x800, SPECIES_KOFFING},
- [SPECIES_WEEZING] = {gMonBackPic_Weezing, 0x800, SPECIES_WEEZING},
- [SPECIES_RHYHORN] = {gMonBackPic_Rhyhorn, 0x800, SPECIES_RHYHORN},
- [SPECIES_RHYDON] = {gMonBackPic_Rhydon, 0x800, SPECIES_RHYDON},
- [SPECIES_CHANSEY] = {gMonBackPic_Chansey, 0x800, SPECIES_CHANSEY},
- [SPECIES_TANGELA] = {gMonBackPic_Tangela, 0x800, SPECIES_TANGELA},
- [SPECIES_KANGASKHAN] = {gMonBackPic_Kangaskhan, 0x800, SPECIES_KANGASKHAN},
- [SPECIES_HORSEA] = {gMonBackPic_Horsea, 0x800, SPECIES_HORSEA},
- [SPECIES_SEADRA] = {gMonBackPic_Seadra, 0x800, SPECIES_SEADRA},
- [SPECIES_GOLDEEN] = {gMonBackPic_Goldeen, 0x800, SPECIES_GOLDEEN},
- [SPECIES_SEAKING] = {gMonBackPic_Seaking, 0x800, SPECIES_SEAKING},
- [SPECIES_STARYU] = {gMonBackPic_Staryu, 0x800, SPECIES_STARYU},
- [SPECIES_STARMIE] = {gMonBackPic_Starmie, 0x800, SPECIES_STARMIE},
- [SPECIES_MR_MIME] = {gMonBackPic_Mrmime, 0x800, SPECIES_MR_MIME},
- [SPECIES_SCYTHER] = {gMonBackPic_Scyther, 0x800, SPECIES_SCYTHER},
- [SPECIES_JYNX] = {gMonBackPic_Jynx, 0x800, SPECIES_JYNX},
- [SPECIES_ELECTABUZZ] = {gMonBackPic_Electabuzz, 0x800, SPECIES_ELECTABUZZ},
- [SPECIES_MAGMAR] = {gMonBackPic_Magmar, 0x800, SPECIES_MAGMAR},
- [SPECIES_PINSIR] = {gMonBackPic_Pinsir, 0x800, SPECIES_PINSIR},
- [SPECIES_TAUROS] = {gMonBackPic_Tauros, 0x800, SPECIES_TAUROS},
- [SPECIES_MAGIKARP] = {gMonBackPic_Magikarp, 0x800, SPECIES_MAGIKARP},
- [SPECIES_GYARADOS] = {gMonBackPic_Gyarados, 0x800, SPECIES_GYARADOS},
- [SPECIES_LAPRAS] = {gMonBackPic_Lapras, 0x800, SPECIES_LAPRAS},
- [SPECIES_DITTO] = {gMonBackPic_Ditto, 0x800, SPECIES_DITTO},
- [SPECIES_EEVEE] = {gMonBackPic_Eevee, 0x800, SPECIES_EEVEE},
- [SPECIES_VAPOREON] = {gMonBackPic_Vaporeon, 0x800, SPECIES_VAPOREON},
- [SPECIES_JOLTEON] = {gMonBackPic_Jolteon, 0x800, SPECIES_JOLTEON},
- [SPECIES_FLAREON] = {gMonBackPic_Flareon, 0x800, SPECIES_FLAREON},
- [SPECIES_PORYGON] = {gMonBackPic_Porygon, 0x800, SPECIES_PORYGON},
- [SPECIES_OMANYTE] = {gMonBackPic_Omanyte, 0x800, SPECIES_OMANYTE},
- [SPECIES_OMASTAR] = {gMonBackPic_Omastar, 0x800, SPECIES_OMASTAR},
- [SPECIES_KABUTO] = {gMonBackPic_Kabuto, 0x800, SPECIES_KABUTO},
- [SPECIES_KABUTOPS] = {gMonBackPic_Kabutops, 0x800, SPECIES_KABUTOPS},
- [SPECIES_AERODACTYL] = {gMonBackPic_Aerodactyl, 0x800, SPECIES_AERODACTYL},
- [SPECIES_SNORLAX] = {gMonBackPic_Snorlax, 0x800, SPECIES_SNORLAX},
- [SPECIES_ARTICUNO] = {gMonBackPic_Articuno, 0x800, SPECIES_ARTICUNO},
- [SPECIES_ZAPDOS] = {gMonBackPic_Zapdos, 0x800, SPECIES_ZAPDOS},
- [SPECIES_MOLTRES] = {gMonBackPic_Moltres, 0x800, SPECIES_MOLTRES},
- [SPECIES_DRATINI] = {gMonBackPic_Dratini, 0x800, SPECIES_DRATINI},
- [SPECIES_DRAGONAIR] = {gMonBackPic_Dragonair, 0x800, SPECIES_DRAGONAIR},
- [SPECIES_DRAGONITE] = {gMonBackPic_Dragonite, 0x800, SPECIES_DRAGONITE},
- [SPECIES_MEWTWO] = {gMonBackPic_Mewtwo, 0x800, SPECIES_MEWTWO},
- [SPECIES_MEW] = {gMonBackPic_Mew, 0x800, SPECIES_MEW},
- [SPECIES_CHIKORITA] = {gMonBackPic_Chikorita, 0x800, SPECIES_CHIKORITA},
- [SPECIES_BAYLEEF] = {gMonBackPic_Bayleef, 0x800, SPECIES_BAYLEEF},
- [SPECIES_MEGANIUM] = {gMonBackPic_Meganium, 0x800, SPECIES_MEGANIUM},
- [SPECIES_CYNDAQUIL] = {gMonBackPic_Cyndaquil, 0x800, SPECIES_CYNDAQUIL},
- [SPECIES_QUILAVA] = {gMonBackPic_Quilava, 0x800, SPECIES_QUILAVA},
- [SPECIES_TYPHLOSION] = {gMonBackPic_Typhlosion, 0x800, SPECIES_TYPHLOSION},
- [SPECIES_TOTODILE] = {gMonBackPic_Totodile, 0x800, SPECIES_TOTODILE},
- [SPECIES_CROCONAW] = {gMonBackPic_Croconaw, 0x800, SPECIES_CROCONAW},
- [SPECIES_FERALIGATR] = {gMonBackPic_Feraligatr, 0x800, SPECIES_FERALIGATR},
- [SPECIES_SENTRET] = {gMonBackPic_Sentret, 0x800, SPECIES_SENTRET},
- [SPECIES_FURRET] = {gMonBackPic_Furret, 0x800, SPECIES_FURRET},
- [SPECIES_HOOTHOOT] = {gMonBackPic_Hoothoot, 0x800, SPECIES_HOOTHOOT},
- [SPECIES_NOCTOWL] = {gMonBackPic_Noctowl, 0x800, SPECIES_NOCTOWL},
- [SPECIES_LEDYBA] = {gMonBackPic_Ledyba, 0x800, SPECIES_LEDYBA},
- [SPECIES_LEDIAN] = {gMonBackPic_Ledian, 0x800, SPECIES_LEDIAN},
- [SPECIES_SPINARAK] = {gMonBackPic_Spinarak, 0x800, SPECIES_SPINARAK},
- [SPECIES_ARIADOS] = {gMonBackPic_Ariados, 0x800, SPECIES_ARIADOS},
- [SPECIES_CROBAT] = {gMonBackPic_Crobat, 0x800, SPECIES_CROBAT},
- [SPECIES_CHINCHOU] = {gMonBackPic_Chinchou, 0x800, SPECIES_CHINCHOU},
- [SPECIES_LANTURN] = {gMonBackPic_Lanturn, 0x800, SPECIES_LANTURN},
- [SPECIES_PICHU] = {gMonBackPic_Pichu, 0x800, SPECIES_PICHU},
- [SPECIES_CLEFFA] = {gMonBackPic_Cleffa, 0x800, SPECIES_CLEFFA},
- [SPECIES_IGGLYBUFF] = {gMonBackPic_Igglybuff, 0x800, SPECIES_IGGLYBUFF},
- [SPECIES_TOGEPI] = {gMonBackPic_Togepi, 0x800, SPECIES_TOGEPI},
- [SPECIES_TOGETIC] = {gMonBackPic_Togetic, 0x800, SPECIES_TOGETIC},
- [SPECIES_NATU] = {gMonBackPic_Natu, 0x800, SPECIES_NATU},
- [SPECIES_XATU] = {gMonBackPic_Xatu, 0x800, SPECIES_XATU},
- [SPECIES_MAREEP] = {gMonBackPic_Mareep, 0x800, SPECIES_MAREEP},
- [SPECIES_FLAAFFY] = {gMonBackPic_Flaaffy, 0x800, SPECIES_FLAAFFY},
- [SPECIES_AMPHAROS] = {gMonBackPic_Ampharos, 0x800, SPECIES_AMPHAROS},
- [SPECIES_BELLOSSOM] = {gMonBackPic_Bellossom, 0x800, SPECIES_BELLOSSOM},
- [SPECIES_MARILL] = {gMonBackPic_Marill, 0x800, SPECIES_MARILL},
- [SPECIES_AZUMARILL] = {gMonBackPic_Azumarill, 0x800, SPECIES_AZUMARILL},
- [SPECIES_SUDOWOODO] = {gMonBackPic_Sudowoodo, 0x800, SPECIES_SUDOWOODO},
- [SPECIES_POLITOED] = {gMonBackPic_Politoed, 0x800, SPECIES_POLITOED},
- [SPECIES_HOPPIP] = {gMonBackPic_Hoppip, 0x800, SPECIES_HOPPIP},
- [SPECIES_SKIPLOOM] = {gMonBackPic_Skiploom, 0x800, SPECIES_SKIPLOOM},
- [SPECIES_JUMPLUFF] = {gMonBackPic_Jumpluff, 0x800, SPECIES_JUMPLUFF},
- [SPECIES_AIPOM] = {gMonBackPic_Aipom, 0x800, SPECIES_AIPOM},
- [SPECIES_SUNKERN] = {gMonBackPic_Sunkern, 0x800, SPECIES_SUNKERN},
- [SPECIES_SUNFLORA] = {gMonBackPic_Sunflora, 0x800, SPECIES_SUNFLORA},
- [SPECIES_YANMA] = {gMonBackPic_Yanma, 0x800, SPECIES_YANMA},
- [SPECIES_WOOPER] = {gMonBackPic_Wooper, 0x800, SPECIES_WOOPER},
- [SPECIES_QUAGSIRE] = {gMonBackPic_Quagsire, 0x800, SPECIES_QUAGSIRE},
- [SPECIES_ESPEON] = {gMonBackPic_Espeon, 0x800, SPECIES_ESPEON},
- [SPECIES_UMBREON] = {gMonBackPic_Umbreon, 0x800, SPECIES_UMBREON},
- [SPECIES_MURKROW] = {gMonBackPic_Murkrow, 0x800, SPECIES_MURKROW},
- [SPECIES_SLOWKING] = {gMonBackPic_Slowking, 0x800, SPECIES_SLOWKING},
- [SPECIES_MISDREAVUS] = {gMonBackPic_Misdreavus, 0x800, SPECIES_MISDREAVUS},
- [SPECIES_UNOWN] = {gMonBackPic_UnownA, 0x800, SPECIES_UNOWN},
- [SPECIES_WOBBUFFET] = {gMonBackPic_Wobbuffet, 0x800, SPECIES_WOBBUFFET},
- [SPECIES_GIRAFARIG] = {gMonBackPic_Girafarig, 0x800, SPECIES_GIRAFARIG},
- [SPECIES_PINECO] = {gMonBackPic_Pineco, 0x800, SPECIES_PINECO},
- [SPECIES_FORRETRESS] = {gMonBackPic_Forretress, 0x800, SPECIES_FORRETRESS},
- [SPECIES_DUNSPARCE] = {gMonBackPic_Dunsparce, 0x800, SPECIES_DUNSPARCE},
- [SPECIES_GLIGAR] = {gMonBackPic_Gligar, 0x800, SPECIES_GLIGAR},
- [SPECIES_STEELIX] = {gMonBackPic_Steelix, 0x800, SPECIES_STEELIX},
- [SPECIES_SNUBBULL] = {gMonBackPic_Snubbull, 0x800, SPECIES_SNUBBULL},
- [SPECIES_GRANBULL] = {gMonBackPic_Granbull, 0x800, SPECIES_GRANBULL},
- [SPECIES_QWILFISH] = {gMonBackPic_Qwilfish, 0x800, SPECIES_QWILFISH},
- [SPECIES_SCIZOR] = {gMonBackPic_Scizor, 0x800, SPECIES_SCIZOR},
- [SPECIES_SHUCKLE] = {gMonBackPic_Shuckle, 0x800, SPECIES_SHUCKLE},
- [SPECIES_HERACROSS] = {gMonBackPic_Heracross, 0x800, SPECIES_HERACROSS},
- [SPECIES_SNEASEL] = {gMonBackPic_Sneasel, 0x800, SPECIES_SNEASEL},
- [SPECIES_TEDDIURSA] = {gMonBackPic_Teddiursa, 0x800, SPECIES_TEDDIURSA},
- [SPECIES_URSARING] = {gMonBackPic_Ursaring, 0x800, SPECIES_URSARING},
- [SPECIES_SLUGMA] = {gMonBackPic_Slugma, 0x800, SPECIES_SLUGMA},
- [SPECIES_MAGCARGO] = {gMonBackPic_Magcargo, 0x800, SPECIES_MAGCARGO},
- [SPECIES_SWINUB] = {gMonBackPic_Swinub, 0x800, SPECIES_SWINUB},
- [SPECIES_PILOSWINE] = {gMonBackPic_Piloswine, 0x800, SPECIES_PILOSWINE},
- [SPECIES_CORSOLA] = {gMonBackPic_Corsola, 0x800, SPECIES_CORSOLA},
- [SPECIES_REMORAID] = {gMonBackPic_Remoraid, 0x800, SPECIES_REMORAID},
- [SPECIES_OCTILLERY] = {gMonBackPic_Octillery, 0x800, SPECIES_OCTILLERY},
- [SPECIES_DELIBIRD] = {gMonBackPic_Delibird, 0x800, SPECIES_DELIBIRD},
- [SPECIES_MANTINE] = {gMonBackPic_Mantine, 0x800, SPECIES_MANTINE},
- [SPECIES_SKARMORY] = {gMonBackPic_Skarmory, 0x800, SPECIES_SKARMORY},
- [SPECIES_HOUNDOUR] = {gMonBackPic_Houndour, 0x800, SPECIES_HOUNDOUR},
- [SPECIES_HOUNDOOM] = {gMonBackPic_Houndoom, 0x800, SPECIES_HOUNDOOM},
- [SPECIES_KINGDRA] = {gMonBackPic_Kingdra, 0x800, SPECIES_KINGDRA},
- [SPECIES_PHANPY] = {gMonBackPic_Phanpy, 0x800, SPECIES_PHANPY},
- [SPECIES_DONPHAN] = {gMonBackPic_Donphan, 0x800, SPECIES_DONPHAN},
- [SPECIES_PORYGON2] = {gMonBackPic_Porygon2, 0x800, SPECIES_PORYGON2},
- [SPECIES_STANTLER] = {gMonBackPic_Stantler, 0x800, SPECIES_STANTLER},
- [SPECIES_SMEARGLE] = {gMonBackPic_Smeargle, 0x800, SPECIES_SMEARGLE},
- [SPECIES_TYROGUE] = {gMonBackPic_Tyrogue, 0x800, SPECIES_TYROGUE},
- [SPECIES_HITMONTOP] = {gMonBackPic_Hitmontop, 0x800, SPECIES_HITMONTOP},
- [SPECIES_SMOOCHUM] = {gMonBackPic_Smoochum, 0x800, SPECIES_SMOOCHUM},
- [SPECIES_ELEKID] = {gMonBackPic_Elekid, 0x800, SPECIES_ELEKID},
- [SPECIES_MAGBY] = {gMonBackPic_Magby, 0x800, SPECIES_MAGBY},
- [SPECIES_MILTANK] = {gMonBackPic_Miltank, 0x800, SPECIES_MILTANK},
- [SPECIES_BLISSEY] = {gMonBackPic_Blissey, 0x800, SPECIES_BLISSEY},
- [SPECIES_RAIKOU] = {gMonBackPic_Raikou, 0x800, SPECIES_RAIKOU},
- [SPECIES_ENTEI] = {gMonBackPic_Entei, 0x800, SPECIES_ENTEI},
- [SPECIES_SUICUNE] = {gMonBackPic_Suicune, 0x800, SPECIES_SUICUNE},
- [SPECIES_LARVITAR] = {gMonBackPic_Larvitar, 0x800, SPECIES_LARVITAR},
- [SPECIES_PUPITAR] = {gMonBackPic_Pupitar, 0x800, SPECIES_PUPITAR},
- [SPECIES_TYRANITAR] = {gMonBackPic_Tyranitar, 0x800, SPECIES_TYRANITAR},
- [SPECIES_LUGIA] = {gMonBackPic_Lugia, 0x800, SPECIES_LUGIA},
- [SPECIES_HO_OH] = {gMonBackPic_HoOh, 0x800, SPECIES_HO_OH},
- [SPECIES_CELEBI] = {gMonBackPic_Celebi, 0x800, SPECIES_CELEBI},
- [SPECIES_OLD_UNOWN_B] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_B},
- [SPECIES_OLD_UNOWN_C] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_C},
- [SPECIES_OLD_UNOWN_D] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_D},
- [SPECIES_OLD_UNOWN_E] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_E},
- [SPECIES_OLD_UNOWN_F] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_F},
- [SPECIES_OLD_UNOWN_G] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_G},
- [SPECIES_OLD_UNOWN_H] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_H},
- [SPECIES_OLD_UNOWN_I] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_I},
- [SPECIES_OLD_UNOWN_J] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_J},
- [SPECIES_OLD_UNOWN_K] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_K},
- [SPECIES_OLD_UNOWN_L] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_L},
- [SPECIES_OLD_UNOWN_M] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_M},
- [SPECIES_OLD_UNOWN_N] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_N},
- [SPECIES_OLD_UNOWN_O] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_O},
- [SPECIES_OLD_UNOWN_P] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_P},
- [SPECIES_OLD_UNOWN_Q] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Q},
- [SPECIES_OLD_UNOWN_R] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_R},
- [SPECIES_OLD_UNOWN_S] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_S},
- [SPECIES_OLD_UNOWN_T] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_T},
- [SPECIES_OLD_UNOWN_U] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_U},
- [SPECIES_OLD_UNOWN_V] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_V},
- [SPECIES_OLD_UNOWN_W] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_W},
- [SPECIES_OLD_UNOWN_X] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_X},
- [SPECIES_OLD_UNOWN_Y] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Y},
- [SPECIES_OLD_UNOWN_Z] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Z},
- [SPECIES_TREECKO] = {gMonBackPic_Treecko, 0x800, SPECIES_TREECKO},
- [SPECIES_GROVYLE] = {gMonBackPic_Grovyle, 0x800, SPECIES_GROVYLE},
- [SPECIES_SCEPTILE] = {gMonBackPic_Sceptile, 0x800, SPECIES_SCEPTILE},
- [SPECIES_TORCHIC] = {gMonBackPic_Torchic, 0x800, SPECIES_TORCHIC},
- [SPECIES_COMBUSKEN] = {gMonBackPic_Combusken, 0x800, SPECIES_COMBUSKEN},
- [SPECIES_BLAZIKEN] = {gMonBackPic_Blaziken, 0x800, SPECIES_BLAZIKEN},
- [SPECIES_MUDKIP] = {gMonBackPic_Mudkip, 0x800, SPECIES_MUDKIP},
- [SPECIES_MARSHTOMP] = {gMonBackPic_Marshtomp, 0x800, SPECIES_MARSHTOMP},
- [SPECIES_SWAMPERT] = {gMonBackPic_Swampert, 0x800, SPECIES_SWAMPERT},
- [SPECIES_POOCHYENA] = {gMonBackPic_Poochyena, 0x800, SPECIES_POOCHYENA},
- [SPECIES_MIGHTYENA] = {gMonBackPic_Mightyena, 0x800, SPECIES_MIGHTYENA},
- [SPECIES_ZIGZAGOON] = {gMonBackPic_Zigzagoon, 0x800, SPECIES_ZIGZAGOON},
- [SPECIES_LINOONE] = {gMonBackPic_Linoone, 0x800, SPECIES_LINOONE},
- [SPECIES_WURMPLE] = {gMonBackPic_Wurmple, 0x800, SPECIES_WURMPLE},
- [SPECIES_SILCOON] = {gMonBackPic_Silcoon, 0x800, SPECIES_SILCOON},
- [SPECIES_BEAUTIFLY] = {gMonBackPic_Beautifly, 0x800, SPECIES_BEAUTIFLY},
- [SPECIES_CASCOON] = {gMonBackPic_Cascoon, 0x800, SPECIES_CASCOON},
- [SPECIES_DUSTOX] = {gMonBackPic_Dustox, 0x800, SPECIES_DUSTOX},
- [SPECIES_LOTAD] = {gMonBackPic_Lotad, 0x800, SPECIES_LOTAD},
- [SPECIES_LOMBRE] = {gMonBackPic_Lombre, 0x800, SPECIES_LOMBRE},
- [SPECIES_LUDICOLO] = {gMonBackPic_Ludicolo, 0x800, SPECIES_LUDICOLO},
- [SPECIES_SEEDOT] = {gMonBackPic_Seedot, 0x800, SPECIES_SEEDOT},
- [SPECIES_NUZLEAF] = {gMonBackPic_Nuzleaf, 0x800, SPECIES_NUZLEAF},
- [SPECIES_SHIFTRY] = {gMonBackPic_Shiftry, 0x800, SPECIES_SHIFTRY},
- [SPECIES_NINCADA] = {gMonBackPic_Nincada, 0x800, SPECIES_NINCADA},
- [SPECIES_NINJASK] = {gMonBackPic_Ninjask, 0x800, SPECIES_NINJASK},
- [SPECIES_SHEDINJA] = {gMonBackPic_Shedinja, 0x800, SPECIES_SHEDINJA},
- [SPECIES_TAILLOW] = {gMonBackPic_Taillow, 0x800, SPECIES_TAILLOW},
- [SPECIES_SWELLOW] = {gMonBackPic_Swellow, 0x800, SPECIES_SWELLOW},
- [SPECIES_SHROOMISH] = {gMonBackPic_Shroomish, 0x800, SPECIES_SHROOMISH},
- [SPECIES_BRELOOM] = {gMonBackPic_Breloom, 0x800, SPECIES_BRELOOM},
- [SPECIES_SPINDA] = {gMonBackPic_Spinda, 0x800, SPECIES_SPINDA},
- [SPECIES_WINGULL] = {gMonBackPic_Wingull, 0x800, SPECIES_WINGULL},
- [SPECIES_PELIPPER] = {gMonBackPic_Pelipper, 0x800, SPECIES_PELIPPER},
- [SPECIES_SURSKIT] = {gMonBackPic_Surskit, 0x800, SPECIES_SURSKIT},
- [SPECIES_MASQUERAIN] = {gMonBackPic_Masquerain, 0x800, SPECIES_MASQUERAIN},
- [SPECIES_WAILMER] = {gMonBackPic_Wailmer, 0x800, SPECIES_WAILMER},
- [SPECIES_WAILORD] = {gMonBackPic_Wailord, 0x800, SPECIES_WAILORD},
- [SPECIES_SKITTY] = {gMonBackPic_Skitty, 0x800, SPECIES_SKITTY},
- [SPECIES_DELCATTY] = {gMonBackPic_Delcatty, 0x800, SPECIES_DELCATTY},
- [SPECIES_KECLEON] = {gMonBackPic_Kecleon, 0x800, SPECIES_KECLEON},
- [SPECIES_BALTOY] = {gMonBackPic_Baltoy, 0x800, SPECIES_BALTOY},
- [SPECIES_CLAYDOL] = {gMonBackPic_Claydol, 0x800, SPECIES_CLAYDOL},
- [SPECIES_NOSEPASS] = {gMonBackPic_Nosepass, 0x800, SPECIES_NOSEPASS},
- [SPECIES_TORKOAL] = {gMonBackPic_Torkoal, 0x800, SPECIES_TORKOAL},
- [SPECIES_SABLEYE] = {gMonBackPic_Sableye, 0x800, SPECIES_SABLEYE},
- [SPECIES_BARBOACH] = {gMonBackPic_Barboach, 0x800, SPECIES_BARBOACH},
- [SPECIES_WHISCASH] = {gMonBackPic_Whiscash, 0x800, SPECIES_WHISCASH},
- [SPECIES_LUVDISC] = {gMonBackPic_Luvdisc, 0x800, SPECIES_LUVDISC},
- [SPECIES_CORPHISH] = {gMonBackPic_Corphish, 0x800, SPECIES_CORPHISH},
- [SPECIES_CRAWDAUNT] = {gMonBackPic_Crawdaunt, 0x800, SPECIES_CRAWDAUNT},
- [SPECIES_FEEBAS] = {gMonBackPic_Feebas, 0x800, SPECIES_FEEBAS},
- [SPECIES_MILOTIC] = {gMonBackPic_Milotic, 0x800, SPECIES_MILOTIC},
- [SPECIES_CARVANHA] = {gMonBackPic_Carvanha, 0x800, SPECIES_CARVANHA},
- [SPECIES_SHARPEDO] = {gMonBackPic_Sharpedo, 0x800, SPECIES_SHARPEDO},
- [SPECIES_TRAPINCH] = {gMonBackPic_Trapinch, 0x800, SPECIES_TRAPINCH},
- [SPECIES_VIBRAVA] = {gMonBackPic_Vibrava, 0x800, SPECIES_VIBRAVA},
- [SPECIES_FLYGON] = {gMonBackPic_Flygon, 0x800, SPECIES_FLYGON},
- [SPECIES_MAKUHITA] = {gMonBackPic_Makuhita, 0x800, SPECIES_MAKUHITA},
- [SPECIES_HARIYAMA] = {gMonBackPic_Hariyama, 0x800, SPECIES_HARIYAMA},
- [SPECIES_ELECTRIKE] = {gMonBackPic_Electrike, 0x800, SPECIES_ELECTRIKE},
- [SPECIES_MANECTRIC] = {gMonBackPic_Manectric, 0x800, SPECIES_MANECTRIC},
- [SPECIES_NUMEL] = {gMonBackPic_Numel, 0x800, SPECIES_NUMEL},
- [SPECIES_CAMERUPT] = {gMonBackPic_Camerupt, 0x800, SPECIES_CAMERUPT},
- [SPECIES_SPHEAL] = {gMonBackPic_Spheal, 0x800, SPECIES_SPHEAL},
- [SPECIES_SEALEO] = {gMonBackPic_Sealeo, 0x800, SPECIES_SEALEO},
- [SPECIES_WALREIN] = {gMonBackPic_Walrein, 0x800, SPECIES_WALREIN},
- [SPECIES_CACNEA] = {gMonBackPic_Cacnea, 0x800, SPECIES_CACNEA},
- [SPECIES_CACTURNE] = {gMonBackPic_Cacturne, 0x800, SPECIES_CACTURNE},
- [SPECIES_SNORUNT] = {gMonBackPic_Snorunt, 0x800, SPECIES_SNORUNT},
- [SPECIES_GLALIE] = {gMonBackPic_Glalie, 0x800, SPECIES_GLALIE},
- [SPECIES_LUNATONE] = {gMonBackPic_Lunatone, 0x800, SPECIES_LUNATONE},
- [SPECIES_SOLROCK] = {gMonBackPic_Solrock, 0x800, SPECIES_SOLROCK},
- [SPECIES_AZURILL] = {gMonBackPic_Azurill, 0x800, SPECIES_AZURILL},
- [SPECIES_SPOINK] = {gMonBackPic_Spoink, 0x800, SPECIES_SPOINK},
- [SPECIES_GRUMPIG] = {gMonBackPic_Grumpig, 0x800, SPECIES_GRUMPIG},
- [SPECIES_PLUSLE] = {gMonBackPic_Plusle, 0x800, SPECIES_PLUSLE},
- [SPECIES_MINUN] = {gMonBackPic_Minun, 0x800, SPECIES_MINUN},
- [SPECIES_MAWILE] = {gMonBackPic_Mawile, 0x800, SPECIES_MAWILE},
- [SPECIES_MEDITITE] = {gMonBackPic_Meditite, 0x800, SPECIES_MEDITITE},
- [SPECIES_MEDICHAM] = {gMonBackPic_Medicham, 0x800, SPECIES_MEDICHAM},
- [SPECIES_SWABLU] = {gMonBackPic_Swablu, 0x800, SPECIES_SWABLU},
- [SPECIES_ALTARIA] = {gMonBackPic_Altaria, 0x800, SPECIES_ALTARIA},
- [SPECIES_WYNAUT] = {gMonBackPic_Wynaut, 0x800, SPECIES_WYNAUT},
- [SPECIES_DUSKULL] = {gMonBackPic_Duskull, 0x800, SPECIES_DUSKULL},
- [SPECIES_DUSCLOPS] = {gMonBackPic_Dusclops, 0x800, SPECIES_DUSCLOPS},
- [SPECIES_ROSELIA] = {gMonBackPic_Roselia, 0x800, SPECIES_ROSELIA},
- [SPECIES_SLAKOTH] = {gMonBackPic_Slakoth, 0x800, SPECIES_SLAKOTH},
- [SPECIES_VIGOROTH] = {gMonBackPic_Vigoroth, 0x800, SPECIES_VIGOROTH},
- [SPECIES_SLAKING] = {gMonBackPic_Slaking, 0x800, SPECIES_SLAKING},
- [SPECIES_GULPIN] = {gMonBackPic_Gulpin, 0x800, SPECIES_GULPIN},
- [SPECIES_SWALOT] = {gMonBackPic_Swalot, 0x800, SPECIES_SWALOT},
- [SPECIES_TROPIUS] = {gMonBackPic_Tropius, 0x800, SPECIES_TROPIUS},
- [SPECIES_WHISMUR] = {gMonBackPic_Whismur, 0x800, SPECIES_WHISMUR},
- [SPECIES_LOUDRED] = {gMonBackPic_Loudred, 0x800, SPECIES_LOUDRED},
- [SPECIES_EXPLOUD] = {gMonBackPic_Exploud, 0x800, SPECIES_EXPLOUD},
- [SPECIES_CLAMPERL] = {gMonBackPic_Clamperl, 0x800, SPECIES_CLAMPERL},
- [SPECIES_HUNTAIL] = {gMonBackPic_Huntail, 0x800, SPECIES_HUNTAIL},
- [SPECIES_GOREBYSS] = {gMonBackPic_Gorebyss, 0x800, SPECIES_GOREBYSS},
- [SPECIES_ABSOL] = {gMonBackPic_Absol, 0x800, SPECIES_ABSOL},
- [SPECIES_SHUPPET] = {gMonBackPic_Shuppet, 0x800, SPECIES_SHUPPET},
- [SPECIES_BANETTE] = {gMonBackPic_Banette, 0x800, SPECIES_BANETTE},
- [SPECIES_SEVIPER] = {gMonBackPic_Seviper, 0x800, SPECIES_SEVIPER},
- [SPECIES_ZANGOOSE] = {gMonBackPic_Zangoose, 0x800, SPECIES_ZANGOOSE},
- [SPECIES_RELICANTH] = {gMonBackPic_Relicanth, 0x800, SPECIES_RELICANTH},
- [SPECIES_ARON] = {gMonBackPic_Aron, 0x800, SPECIES_ARON},
- [SPECIES_LAIRON] = {gMonBackPic_Lairon, 0x800, SPECIES_LAIRON},
- [SPECIES_AGGRON] = {gMonBackPic_Aggron, 0x800, SPECIES_AGGRON},
- [SPECIES_CASTFORM] = {gMonBackPic_Castform, 0x800, SPECIES_CASTFORM},
- [SPECIES_VOLBEAT] = {gMonBackPic_Volbeat, 0x800, SPECIES_VOLBEAT},
- [SPECIES_ILLUMISE] = {gMonBackPic_Illumise, 0x800, SPECIES_ILLUMISE},
- [SPECIES_LILEEP] = {gMonBackPic_Lileep, 0x800, SPECIES_LILEEP},
- [SPECIES_CRADILY] = {gMonBackPic_Cradily, 0x800, SPECIES_CRADILY},
- [SPECIES_ANORITH] = {gMonBackPic_Anorith, 0x800, SPECIES_ANORITH},
- [SPECIES_ARMALDO] = {gMonBackPic_Armaldo, 0x800, SPECIES_ARMALDO},
- [SPECIES_RALTS] = {gMonBackPic_Ralts, 0x800, SPECIES_RALTS},
- [SPECIES_KIRLIA] = {gMonBackPic_Kirlia, 0x800, SPECIES_KIRLIA},
- [SPECIES_GARDEVOIR] = {gMonBackPic_Gardevoir, 0x800, SPECIES_GARDEVOIR},
- [SPECIES_BAGON] = {gMonBackPic_Bagon, 0x800, SPECIES_BAGON},
- [SPECIES_SHELGON] = {gMonBackPic_Shelgon, 0x800, SPECIES_SHELGON},
- [SPECIES_SALAMENCE] = {gMonBackPic_Salamence, 0x800, SPECIES_SALAMENCE},
- [SPECIES_BELDUM] = {gMonBackPic_Beldum, 0x800, SPECIES_BELDUM},
- [SPECIES_METANG] = {gMonBackPic_Metang, 0x800, SPECIES_METANG},
- [SPECIES_METAGROSS] = {gMonBackPic_Metagross, 0x800, SPECIES_METAGROSS},
- [SPECIES_REGIROCK] = {gMonBackPic_Regirock, 0x800, SPECIES_REGIROCK},
- [SPECIES_REGICE] = {gMonBackPic_Regice, 0x800, SPECIES_REGICE},
- [SPECIES_REGISTEEL] = {gMonBackPic_Registeel, 0x800, SPECIES_REGISTEEL},
- [SPECIES_KYOGRE] = {gMonBackPic_Kyogre, 0x800, SPECIES_KYOGRE},
- [SPECIES_GROUDON] = {gMonBackPic_Groudon, 0x800, SPECIES_GROUDON},
- [SPECIES_RAYQUAZA] = {gMonBackPic_Rayquaza, 0x800, SPECIES_RAYQUAZA},
- [SPECIES_LATIAS] = {gMonBackPic_Latias, 0x800, SPECIES_LATIAS},
- [SPECIES_LATIOS] = {gMonBackPic_Latios, 0x800, SPECIES_LATIOS},
- [SPECIES_JIRACHI] = {gMonBackPic_Jirachi, 0x800, SPECIES_JIRACHI},
- [SPECIES_DEOXYS] = {gMonBackPic_Deoxys, 0x800, SPECIES_DEOXYS},
- [SPECIES_CHIMECHO] = {gMonBackPic_Chimecho, 0x800, SPECIES_CHIMECHO},
- [SPECIES_EGG] = {gMonStillFrontPic_Egg, 0x800, SPECIES_EGG},
- [SPECIES_UNOWN_B] = {gMonBackPic_UnownB, 0x800, SPECIES_UNOWN_B},
- [SPECIES_UNOWN_C] = {gMonBackPic_UnownC, 0x800, SPECIES_UNOWN_C},
- [SPECIES_UNOWN_D] = {gMonBackPic_UnownD, 0x800, SPECIES_UNOWN_D},
- [SPECIES_UNOWN_E] = {gMonBackPic_UnownE, 0x800, SPECIES_UNOWN_E},
- [SPECIES_UNOWN_F] = {gMonBackPic_UnownF, 0x800, SPECIES_UNOWN_F},
- [SPECIES_UNOWN_G] = {gMonBackPic_UnownG, 0x800, SPECIES_UNOWN_G},
- [SPECIES_UNOWN_H] = {gMonBackPic_UnownH, 0x800, SPECIES_UNOWN_H},
- [SPECIES_UNOWN_I] = {gMonBackPic_UnownI, 0x800, SPECIES_UNOWN_I},
- [SPECIES_UNOWN_J] = {gMonBackPic_UnownJ, 0x800, SPECIES_UNOWN_J},
- [SPECIES_UNOWN_K] = {gMonBackPic_UnownK, 0x800, SPECIES_UNOWN_K},
- [SPECIES_UNOWN_L] = {gMonBackPic_UnownL, 0x800, SPECIES_UNOWN_L},
- [SPECIES_UNOWN_M] = {gMonBackPic_UnownM, 0x800, SPECIES_UNOWN_M},
- [SPECIES_UNOWN_N] = {gMonBackPic_UnownN, 0x800, SPECIES_UNOWN_N},
- [SPECIES_UNOWN_O] = {gMonBackPic_UnownO, 0x800, SPECIES_UNOWN_O},
- [SPECIES_UNOWN_P] = {gMonBackPic_UnownP, 0x800, SPECIES_UNOWN_P},
- [SPECIES_UNOWN_Q] = {gMonBackPic_UnownQ, 0x800, SPECIES_UNOWN_Q},
- [SPECIES_UNOWN_R] = {gMonBackPic_UnownR, 0x800, SPECIES_UNOWN_R},
- [SPECIES_UNOWN_S] = {gMonBackPic_UnownS, 0x800, SPECIES_UNOWN_S},
- [SPECIES_UNOWN_T] = {gMonBackPic_UnownT, 0x800, SPECIES_UNOWN_T},
- [SPECIES_UNOWN_U] = {gMonBackPic_UnownU, 0x800, SPECIES_UNOWN_U},
- [SPECIES_UNOWN_V] = {gMonBackPic_UnownV, 0x800, SPECIES_UNOWN_V},
- [SPECIES_UNOWN_W] = {gMonBackPic_UnownW, 0x800, SPECIES_UNOWN_W},
- [SPECIES_UNOWN_X] = {gMonBackPic_UnownX, 0x800, SPECIES_UNOWN_X},
- [SPECIES_UNOWN_Y] = {gMonBackPic_UnownY, 0x800, SPECIES_UNOWN_Y},
- [SPECIES_UNOWN_Z] = {gMonBackPic_UnownZ, 0x800, SPECIES_UNOWN_Z},
- [SPECIES_UNOWN_EMARK] = {gMonBackPic_UnownExclamationMark, 0x800, SPECIES_UNOWN_EMARK},
- [SPECIES_UNOWN_QMARK] = {gMonBackPic_UnownQuestionMark, 0x800, SPECIES_UNOWN_QMARK},
+ SPECIES_SPRITE(NONE, gMonBackPic_CircledQuestionMark),
+ SPECIES_SPRITE(BULBASAUR, gMonBackPic_Bulbasaur),
+ SPECIES_SPRITE(IVYSAUR, gMonBackPic_Ivysaur),
+ SPECIES_SPRITE(VENUSAUR, gMonBackPic_Venusaur),
+ SPECIES_SPRITE(CHARMANDER, gMonBackPic_Charmander),
+ SPECIES_SPRITE(CHARMELEON, gMonBackPic_Charmeleon),
+ SPECIES_SPRITE(CHARIZARD, gMonBackPic_Charizard),
+ SPECIES_SPRITE(SQUIRTLE, gMonBackPic_Squirtle),
+ SPECIES_SPRITE(WARTORTLE, gMonBackPic_Wartortle),
+ SPECIES_SPRITE(BLASTOISE, gMonBackPic_Blastoise),
+ SPECIES_SPRITE(CATERPIE, gMonBackPic_Caterpie),
+ SPECIES_SPRITE(METAPOD, gMonBackPic_Metapod),
+ SPECIES_SPRITE(BUTTERFREE, gMonBackPic_Butterfree),
+ SPECIES_SPRITE(WEEDLE, gMonBackPic_Weedle),
+ SPECIES_SPRITE(KAKUNA, gMonBackPic_Kakuna),
+ SPECIES_SPRITE(BEEDRILL, gMonBackPic_Beedrill),
+ SPECIES_SPRITE(PIDGEY, gMonBackPic_Pidgey),
+ SPECIES_SPRITE(PIDGEOTTO, gMonBackPic_Pidgeotto),
+ SPECIES_SPRITE(PIDGEOT, gMonBackPic_Pidgeot),
+ SPECIES_SPRITE(RATTATA, gMonBackPic_Rattata),
+ SPECIES_SPRITE(RATICATE, gMonBackPic_Raticate),
+ SPECIES_SPRITE(SPEAROW, gMonBackPic_Spearow),
+ SPECIES_SPRITE(FEAROW, gMonBackPic_Fearow),
+ SPECIES_SPRITE(EKANS, gMonBackPic_Ekans),
+ SPECIES_SPRITE(ARBOK, gMonBackPic_Arbok),
+ SPECIES_SPRITE(PIKACHU, gMonBackPic_Pikachu),
+ SPECIES_SPRITE(RAICHU, gMonBackPic_Raichu),
+ SPECIES_SPRITE(SANDSHREW, gMonBackPic_Sandshrew),
+ SPECIES_SPRITE(SANDSLASH, gMonBackPic_Sandslash),
+ SPECIES_SPRITE(NIDORAN_F, gMonBackPic_NidoranF),
+ SPECIES_SPRITE(NIDORINA, gMonBackPic_Nidorina),
+ SPECIES_SPRITE(NIDOQUEEN, gMonBackPic_Nidoqueen),
+ SPECIES_SPRITE(NIDORAN_M, gMonBackPic_NidoranM),
+ SPECIES_SPRITE(NIDORINO, gMonBackPic_Nidorino),
+ SPECIES_SPRITE(NIDOKING, gMonBackPic_Nidoking),
+ SPECIES_SPRITE(CLEFAIRY, gMonBackPic_Clefairy),
+ SPECIES_SPRITE(CLEFABLE, gMonBackPic_Clefable),
+ SPECIES_SPRITE(VULPIX, gMonBackPic_Vulpix),
+ SPECIES_SPRITE(NINETALES, gMonBackPic_Ninetales),
+ SPECIES_SPRITE(JIGGLYPUFF, gMonBackPic_Jigglypuff),
+ SPECIES_SPRITE(WIGGLYTUFF, gMonBackPic_Wigglytuff),
+ SPECIES_SPRITE(ZUBAT, gMonBackPic_Zubat),
+ SPECIES_SPRITE(GOLBAT, gMonBackPic_Golbat),
+ SPECIES_SPRITE(ODDISH, gMonBackPic_Oddish),
+ SPECIES_SPRITE(GLOOM, gMonBackPic_Gloom),
+ SPECIES_SPRITE(VILEPLUME, gMonBackPic_Vileplume),
+ SPECIES_SPRITE(PARAS, gMonBackPic_Paras),
+ SPECIES_SPRITE(PARASECT, gMonBackPic_Parasect),
+ SPECIES_SPRITE(VENONAT, gMonBackPic_Venonat),
+ SPECIES_SPRITE(VENOMOTH, gMonBackPic_Venomoth),
+ SPECIES_SPRITE(DIGLETT, gMonBackPic_Diglett),
+ SPECIES_SPRITE(DUGTRIO, gMonBackPic_Dugtrio),
+ SPECIES_SPRITE(MEOWTH, gMonBackPic_Meowth),
+ SPECIES_SPRITE(PERSIAN, gMonBackPic_Persian),
+ SPECIES_SPRITE(PSYDUCK, gMonBackPic_Psyduck),
+ SPECIES_SPRITE(GOLDUCK, gMonBackPic_Golduck),
+ SPECIES_SPRITE(MANKEY, gMonBackPic_Mankey),
+ SPECIES_SPRITE(PRIMEAPE, gMonBackPic_Primeape),
+ SPECIES_SPRITE(GROWLITHE, gMonBackPic_Growlithe),
+ SPECIES_SPRITE(ARCANINE, gMonBackPic_Arcanine),
+ SPECIES_SPRITE(POLIWAG, gMonBackPic_Poliwag),
+ SPECIES_SPRITE(POLIWHIRL, gMonBackPic_Poliwhirl),
+ SPECIES_SPRITE(POLIWRATH, gMonBackPic_Poliwrath),
+ SPECIES_SPRITE(ABRA, gMonBackPic_Abra),
+ SPECIES_SPRITE(KADABRA, gMonBackPic_Kadabra),
+ SPECIES_SPRITE(ALAKAZAM, gMonBackPic_Alakazam),
+ SPECIES_SPRITE(MACHOP, gMonBackPic_Machop),
+ SPECIES_SPRITE(MACHOKE, gMonBackPic_Machoke),
+ SPECIES_SPRITE(MACHAMP, gMonBackPic_Machamp),
+ SPECIES_SPRITE(BELLSPROUT, gMonBackPic_Bellsprout),
+ SPECIES_SPRITE(WEEPINBELL, gMonBackPic_Weepinbell),
+ SPECIES_SPRITE(VICTREEBEL, gMonBackPic_Victreebel),
+ SPECIES_SPRITE(TENTACOOL, gMonBackPic_Tentacool),
+ SPECIES_SPRITE(TENTACRUEL, gMonBackPic_Tentacruel),
+ SPECIES_SPRITE(GEODUDE, gMonBackPic_Geodude),
+ SPECIES_SPRITE(GRAVELER, gMonBackPic_Graveler),
+ SPECIES_SPRITE(GOLEM, gMonBackPic_Golem),
+ SPECIES_SPRITE(PONYTA, gMonBackPic_Ponyta),
+ SPECIES_SPRITE(RAPIDASH, gMonBackPic_Rapidash),
+ SPECIES_SPRITE(SLOWPOKE, gMonBackPic_Slowpoke),
+ SPECIES_SPRITE(SLOWBRO, gMonBackPic_Slowbro),
+ SPECIES_SPRITE(MAGNEMITE, gMonBackPic_Magnemite),
+ SPECIES_SPRITE(MAGNETON, gMonBackPic_Magneton),
+ SPECIES_SPRITE(FARFETCHD, gMonBackPic_Farfetchd),
+ SPECIES_SPRITE(DODUO, gMonBackPic_Doduo),
+ SPECIES_SPRITE(DODRIO, gMonBackPic_Dodrio),
+ SPECIES_SPRITE(SEEL, gMonBackPic_Seel),
+ SPECIES_SPRITE(DEWGONG, gMonBackPic_Dewgong),
+ SPECIES_SPRITE(GRIMER, gMonBackPic_Grimer),
+ SPECIES_SPRITE(MUK, gMonBackPic_Muk),
+ SPECIES_SPRITE(SHELLDER, gMonBackPic_Shellder),
+ SPECIES_SPRITE(CLOYSTER, gMonBackPic_Cloyster),
+ SPECIES_SPRITE(GASTLY, gMonBackPic_Gastly),
+ SPECIES_SPRITE(HAUNTER, gMonBackPic_Haunter),
+ SPECIES_SPRITE(GENGAR, gMonBackPic_Gengar),
+ SPECIES_SPRITE(ONIX, gMonBackPic_Onix),
+ SPECIES_SPRITE(DROWZEE, gMonBackPic_Drowzee),
+ SPECIES_SPRITE(HYPNO, gMonBackPic_Hypno),
+ SPECIES_SPRITE(KRABBY, gMonBackPic_Krabby),
+ SPECIES_SPRITE(KINGLER, gMonBackPic_Kingler),
+ SPECIES_SPRITE(VOLTORB, gMonBackPic_Voltorb),
+ SPECIES_SPRITE(ELECTRODE, gMonBackPic_Electrode),
+ SPECIES_SPRITE(EXEGGCUTE, gMonBackPic_Exeggcute),
+ SPECIES_SPRITE(EXEGGUTOR, gMonBackPic_Exeggutor),
+ SPECIES_SPRITE(CUBONE, gMonBackPic_Cubone),
+ SPECIES_SPRITE(MAROWAK, gMonBackPic_Marowak),
+ SPECIES_SPRITE(HITMONLEE, gMonBackPic_Hitmonlee),
+ SPECIES_SPRITE(HITMONCHAN, gMonBackPic_Hitmonchan),
+ SPECIES_SPRITE(LICKITUNG, gMonBackPic_Lickitung),
+ SPECIES_SPRITE(KOFFING, gMonBackPic_Koffing),
+ SPECIES_SPRITE(WEEZING, gMonBackPic_Weezing),
+ SPECIES_SPRITE(RHYHORN, gMonBackPic_Rhyhorn),
+ SPECIES_SPRITE(RHYDON, gMonBackPic_Rhydon),
+ SPECIES_SPRITE(CHANSEY, gMonBackPic_Chansey),
+ SPECIES_SPRITE(TANGELA, gMonBackPic_Tangela),
+ SPECIES_SPRITE(KANGASKHAN, gMonBackPic_Kangaskhan),
+ SPECIES_SPRITE(HORSEA, gMonBackPic_Horsea),
+ SPECIES_SPRITE(SEADRA, gMonBackPic_Seadra),
+ SPECIES_SPRITE(GOLDEEN, gMonBackPic_Goldeen),
+ SPECIES_SPRITE(SEAKING, gMonBackPic_Seaking),
+ SPECIES_SPRITE(STARYU, gMonBackPic_Staryu),
+ SPECIES_SPRITE(STARMIE, gMonBackPic_Starmie),
+ SPECIES_SPRITE(MR_MIME, gMonBackPic_Mrmime),
+ SPECIES_SPRITE(SCYTHER, gMonBackPic_Scyther),
+ SPECIES_SPRITE(JYNX, gMonBackPic_Jynx),
+ SPECIES_SPRITE(ELECTABUZZ, gMonBackPic_Electabuzz),
+ SPECIES_SPRITE(MAGMAR, gMonBackPic_Magmar),
+ SPECIES_SPRITE(PINSIR, gMonBackPic_Pinsir),
+ SPECIES_SPRITE(TAUROS, gMonBackPic_Tauros),
+ SPECIES_SPRITE(MAGIKARP, gMonBackPic_Magikarp),
+ SPECIES_SPRITE(GYARADOS, gMonBackPic_Gyarados),
+ SPECIES_SPRITE(LAPRAS, gMonBackPic_Lapras),
+ SPECIES_SPRITE(DITTO, gMonBackPic_Ditto),
+ SPECIES_SPRITE(EEVEE, gMonBackPic_Eevee),
+ SPECIES_SPRITE(VAPOREON, gMonBackPic_Vaporeon),
+ SPECIES_SPRITE(JOLTEON, gMonBackPic_Jolteon),
+ SPECIES_SPRITE(FLAREON, gMonBackPic_Flareon),
+ SPECIES_SPRITE(PORYGON, gMonBackPic_Porygon),
+ SPECIES_SPRITE(OMANYTE, gMonBackPic_Omanyte),
+ SPECIES_SPRITE(OMASTAR, gMonBackPic_Omastar),
+ SPECIES_SPRITE(KABUTO, gMonBackPic_Kabuto),
+ SPECIES_SPRITE(KABUTOPS, gMonBackPic_Kabutops),
+ SPECIES_SPRITE(AERODACTYL, gMonBackPic_Aerodactyl),
+ SPECIES_SPRITE(SNORLAX, gMonBackPic_Snorlax),
+ SPECIES_SPRITE(ARTICUNO, gMonBackPic_Articuno),
+ SPECIES_SPRITE(ZAPDOS, gMonBackPic_Zapdos),
+ SPECIES_SPRITE(MOLTRES, gMonBackPic_Moltres),
+ SPECIES_SPRITE(DRATINI, gMonBackPic_Dratini),
+ SPECIES_SPRITE(DRAGONAIR, gMonBackPic_Dragonair),
+ SPECIES_SPRITE(DRAGONITE, gMonBackPic_Dragonite),
+ SPECIES_SPRITE(MEWTWO, gMonBackPic_Mewtwo),
+ SPECIES_SPRITE(MEW, gMonBackPic_Mew),
+ SPECIES_SPRITE(CHIKORITA, gMonBackPic_Chikorita),
+ SPECIES_SPRITE(BAYLEEF, gMonBackPic_Bayleef),
+ SPECIES_SPRITE(MEGANIUM, gMonBackPic_Meganium),
+ SPECIES_SPRITE(CYNDAQUIL, gMonBackPic_Cyndaquil),
+ SPECIES_SPRITE(QUILAVA, gMonBackPic_Quilava),
+ SPECIES_SPRITE(TYPHLOSION, gMonBackPic_Typhlosion),
+ SPECIES_SPRITE(TOTODILE, gMonBackPic_Totodile),
+ SPECIES_SPRITE(CROCONAW, gMonBackPic_Croconaw),
+ SPECIES_SPRITE(FERALIGATR, gMonBackPic_Feraligatr),
+ SPECIES_SPRITE(SENTRET, gMonBackPic_Sentret),
+ SPECIES_SPRITE(FURRET, gMonBackPic_Furret),
+ SPECIES_SPRITE(HOOTHOOT, gMonBackPic_Hoothoot),
+ SPECIES_SPRITE(NOCTOWL, gMonBackPic_Noctowl),
+ SPECIES_SPRITE(LEDYBA, gMonBackPic_Ledyba),
+ SPECIES_SPRITE(LEDIAN, gMonBackPic_Ledian),
+ SPECIES_SPRITE(SPINARAK, gMonBackPic_Spinarak),
+ SPECIES_SPRITE(ARIADOS, gMonBackPic_Ariados),
+ SPECIES_SPRITE(CROBAT, gMonBackPic_Crobat),
+ SPECIES_SPRITE(CHINCHOU, gMonBackPic_Chinchou),
+ SPECIES_SPRITE(LANTURN, gMonBackPic_Lanturn),
+ SPECIES_SPRITE(PICHU, gMonBackPic_Pichu),
+ SPECIES_SPRITE(CLEFFA, gMonBackPic_Cleffa),
+ SPECIES_SPRITE(IGGLYBUFF, gMonBackPic_Igglybuff),
+ SPECIES_SPRITE(TOGEPI, gMonBackPic_Togepi),
+ SPECIES_SPRITE(TOGETIC, gMonBackPic_Togetic),
+ SPECIES_SPRITE(NATU, gMonBackPic_Natu),
+ SPECIES_SPRITE(XATU, gMonBackPic_Xatu),
+ SPECIES_SPRITE(MAREEP, gMonBackPic_Mareep),
+ SPECIES_SPRITE(FLAAFFY, gMonBackPic_Flaaffy),
+ SPECIES_SPRITE(AMPHAROS, gMonBackPic_Ampharos),
+ SPECIES_SPRITE(BELLOSSOM, gMonBackPic_Bellossom),
+ SPECIES_SPRITE(MARILL, gMonBackPic_Marill),
+ SPECIES_SPRITE(AZUMARILL, gMonBackPic_Azumarill),
+ SPECIES_SPRITE(SUDOWOODO, gMonBackPic_Sudowoodo),
+ SPECIES_SPRITE(POLITOED, gMonBackPic_Politoed),
+ SPECIES_SPRITE(HOPPIP, gMonBackPic_Hoppip),
+ SPECIES_SPRITE(SKIPLOOM, gMonBackPic_Skiploom),
+ SPECIES_SPRITE(JUMPLUFF, gMonBackPic_Jumpluff),
+ SPECIES_SPRITE(AIPOM, gMonBackPic_Aipom),
+ SPECIES_SPRITE(SUNKERN, gMonBackPic_Sunkern),
+ SPECIES_SPRITE(SUNFLORA, gMonBackPic_Sunflora),
+ SPECIES_SPRITE(YANMA, gMonBackPic_Yanma),
+ SPECIES_SPRITE(WOOPER, gMonBackPic_Wooper),
+ SPECIES_SPRITE(QUAGSIRE, gMonBackPic_Quagsire),
+ SPECIES_SPRITE(ESPEON, gMonBackPic_Espeon),
+ SPECIES_SPRITE(UMBREON, gMonBackPic_Umbreon),
+ SPECIES_SPRITE(MURKROW, gMonBackPic_Murkrow),
+ SPECIES_SPRITE(SLOWKING, gMonBackPic_Slowking),
+ SPECIES_SPRITE(MISDREAVUS, gMonBackPic_Misdreavus),
+ SPECIES_SPRITE(UNOWN, gMonBackPic_UnownA),
+ SPECIES_SPRITE(WOBBUFFET, gMonBackPic_Wobbuffet),
+ SPECIES_SPRITE(GIRAFARIG, gMonBackPic_Girafarig),
+ SPECIES_SPRITE(PINECO, gMonBackPic_Pineco),
+ SPECIES_SPRITE(FORRETRESS, gMonBackPic_Forretress),
+ SPECIES_SPRITE(DUNSPARCE, gMonBackPic_Dunsparce),
+ SPECIES_SPRITE(GLIGAR, gMonBackPic_Gligar),
+ SPECIES_SPRITE(STEELIX, gMonBackPic_Steelix),
+ SPECIES_SPRITE(SNUBBULL, gMonBackPic_Snubbull),
+ SPECIES_SPRITE(GRANBULL, gMonBackPic_Granbull),
+ SPECIES_SPRITE(QWILFISH, gMonBackPic_Qwilfish),
+ SPECIES_SPRITE(SCIZOR, gMonBackPic_Scizor),
+ SPECIES_SPRITE(SHUCKLE, gMonBackPic_Shuckle),
+ SPECIES_SPRITE(HERACROSS, gMonBackPic_Heracross),
+ SPECIES_SPRITE(SNEASEL, gMonBackPic_Sneasel),
+ SPECIES_SPRITE(TEDDIURSA, gMonBackPic_Teddiursa),
+ SPECIES_SPRITE(URSARING, gMonBackPic_Ursaring),
+ SPECIES_SPRITE(SLUGMA, gMonBackPic_Slugma),
+ SPECIES_SPRITE(MAGCARGO, gMonBackPic_Magcargo),
+ SPECIES_SPRITE(SWINUB, gMonBackPic_Swinub),
+ SPECIES_SPRITE(PILOSWINE, gMonBackPic_Piloswine),
+ SPECIES_SPRITE(CORSOLA, gMonBackPic_Corsola),
+ SPECIES_SPRITE(REMORAID, gMonBackPic_Remoraid),
+ SPECIES_SPRITE(OCTILLERY, gMonBackPic_Octillery),
+ SPECIES_SPRITE(DELIBIRD, gMonBackPic_Delibird),
+ SPECIES_SPRITE(MANTINE, gMonBackPic_Mantine),
+ SPECIES_SPRITE(SKARMORY, gMonBackPic_Skarmory),
+ SPECIES_SPRITE(HOUNDOUR, gMonBackPic_Houndour),
+ SPECIES_SPRITE(HOUNDOOM, gMonBackPic_Houndoom),
+ SPECIES_SPRITE(KINGDRA, gMonBackPic_Kingdra),
+ SPECIES_SPRITE(PHANPY, gMonBackPic_Phanpy),
+ SPECIES_SPRITE(DONPHAN, gMonBackPic_Donphan),
+ SPECIES_SPRITE(PORYGON2, gMonBackPic_Porygon2),
+ SPECIES_SPRITE(STANTLER, gMonBackPic_Stantler),
+ SPECIES_SPRITE(SMEARGLE, gMonBackPic_Smeargle),
+ SPECIES_SPRITE(TYROGUE, gMonBackPic_Tyrogue),
+ SPECIES_SPRITE(HITMONTOP, gMonBackPic_Hitmontop),
+ SPECIES_SPRITE(SMOOCHUM, gMonBackPic_Smoochum),
+ SPECIES_SPRITE(ELEKID, gMonBackPic_Elekid),
+ SPECIES_SPRITE(MAGBY, gMonBackPic_Magby),
+ SPECIES_SPRITE(MILTANK, gMonBackPic_Miltank),
+ SPECIES_SPRITE(BLISSEY, gMonBackPic_Blissey),
+ SPECIES_SPRITE(RAIKOU, gMonBackPic_Raikou),
+ SPECIES_SPRITE(ENTEI, gMonBackPic_Entei),
+ SPECIES_SPRITE(SUICUNE, gMonBackPic_Suicune),
+ SPECIES_SPRITE(LARVITAR, gMonBackPic_Larvitar),
+ SPECIES_SPRITE(PUPITAR, gMonBackPic_Pupitar),
+ SPECIES_SPRITE(TYRANITAR, gMonBackPic_Tyranitar),
+ SPECIES_SPRITE(LUGIA, gMonBackPic_Lugia),
+ SPECIES_SPRITE(HO_OH, gMonBackPic_HoOh),
+ SPECIES_SPRITE(CELEBI, gMonBackPic_Celebi),
+ SPECIES_SPRITE(OLD_UNOWN_B, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_C, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_D, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_E, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_F, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_G, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_H, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_I, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_J, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_K, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_L, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_M, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_N, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_O, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_P, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Q, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_R, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_S, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_T, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_U, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_V, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_W, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_X, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Y, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Z, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(TREECKO, gMonBackPic_Treecko),
+ SPECIES_SPRITE(GROVYLE, gMonBackPic_Grovyle),
+ SPECIES_SPRITE(SCEPTILE, gMonBackPic_Sceptile),
+ SPECIES_SPRITE(TORCHIC, gMonBackPic_Torchic),
+ SPECIES_SPRITE(COMBUSKEN, gMonBackPic_Combusken),
+ SPECIES_SPRITE(BLAZIKEN, gMonBackPic_Blaziken),
+ SPECIES_SPRITE(MUDKIP, gMonBackPic_Mudkip),
+ SPECIES_SPRITE(MARSHTOMP, gMonBackPic_Marshtomp),
+ SPECIES_SPRITE(SWAMPERT, gMonBackPic_Swampert),
+ SPECIES_SPRITE(POOCHYENA, gMonBackPic_Poochyena),
+ SPECIES_SPRITE(MIGHTYENA, gMonBackPic_Mightyena),
+ SPECIES_SPRITE(ZIGZAGOON, gMonBackPic_Zigzagoon),
+ SPECIES_SPRITE(LINOONE, gMonBackPic_Linoone),
+ SPECIES_SPRITE(WURMPLE, gMonBackPic_Wurmple),
+ SPECIES_SPRITE(SILCOON, gMonBackPic_Silcoon),
+ SPECIES_SPRITE(BEAUTIFLY, gMonBackPic_Beautifly),
+ SPECIES_SPRITE(CASCOON, gMonBackPic_Cascoon),
+ SPECIES_SPRITE(DUSTOX, gMonBackPic_Dustox),
+ SPECIES_SPRITE(LOTAD, gMonBackPic_Lotad),
+ SPECIES_SPRITE(LOMBRE, gMonBackPic_Lombre),
+ SPECIES_SPRITE(LUDICOLO, gMonBackPic_Ludicolo),
+ SPECIES_SPRITE(SEEDOT, gMonBackPic_Seedot),
+ SPECIES_SPRITE(NUZLEAF, gMonBackPic_Nuzleaf),
+ SPECIES_SPRITE(SHIFTRY, gMonBackPic_Shiftry),
+ SPECIES_SPRITE(NINCADA, gMonBackPic_Nincada),
+ SPECIES_SPRITE(NINJASK, gMonBackPic_Ninjask),
+ SPECIES_SPRITE(SHEDINJA, gMonBackPic_Shedinja),
+ SPECIES_SPRITE(TAILLOW, gMonBackPic_Taillow),
+ SPECIES_SPRITE(SWELLOW, gMonBackPic_Swellow),
+ SPECIES_SPRITE(SHROOMISH, gMonBackPic_Shroomish),
+ SPECIES_SPRITE(BRELOOM, gMonBackPic_Breloom),
+ SPECIES_SPRITE(SPINDA, gMonBackPic_Spinda),
+ SPECIES_SPRITE(WINGULL, gMonBackPic_Wingull),
+ SPECIES_SPRITE(PELIPPER, gMonBackPic_Pelipper),
+ SPECIES_SPRITE(SURSKIT, gMonBackPic_Surskit),
+ SPECIES_SPRITE(MASQUERAIN, gMonBackPic_Masquerain),
+ SPECIES_SPRITE(WAILMER, gMonBackPic_Wailmer),
+ SPECIES_SPRITE(WAILORD, gMonBackPic_Wailord),
+ SPECIES_SPRITE(SKITTY, gMonBackPic_Skitty),
+ SPECIES_SPRITE(DELCATTY, gMonBackPic_Delcatty),
+ SPECIES_SPRITE(KECLEON, gMonBackPic_Kecleon),
+ SPECIES_SPRITE(BALTOY, gMonBackPic_Baltoy),
+ SPECIES_SPRITE(CLAYDOL, gMonBackPic_Claydol),
+ SPECIES_SPRITE(NOSEPASS, gMonBackPic_Nosepass),
+ SPECIES_SPRITE(TORKOAL, gMonBackPic_Torkoal),
+ SPECIES_SPRITE(SABLEYE, gMonBackPic_Sableye),
+ SPECIES_SPRITE(BARBOACH, gMonBackPic_Barboach),
+ SPECIES_SPRITE(WHISCASH, gMonBackPic_Whiscash),
+ SPECIES_SPRITE(LUVDISC, gMonBackPic_Luvdisc),
+ SPECIES_SPRITE(CORPHISH, gMonBackPic_Corphish),
+ SPECIES_SPRITE(CRAWDAUNT, gMonBackPic_Crawdaunt),
+ SPECIES_SPRITE(FEEBAS, gMonBackPic_Feebas),
+ SPECIES_SPRITE(MILOTIC, gMonBackPic_Milotic),
+ SPECIES_SPRITE(CARVANHA, gMonBackPic_Carvanha),
+ SPECIES_SPRITE(SHARPEDO, gMonBackPic_Sharpedo),
+ SPECIES_SPRITE(TRAPINCH, gMonBackPic_Trapinch),
+ SPECIES_SPRITE(VIBRAVA, gMonBackPic_Vibrava),
+ SPECIES_SPRITE(FLYGON, gMonBackPic_Flygon),
+ SPECIES_SPRITE(MAKUHITA, gMonBackPic_Makuhita),
+ SPECIES_SPRITE(HARIYAMA, gMonBackPic_Hariyama),
+ SPECIES_SPRITE(ELECTRIKE, gMonBackPic_Electrike),
+ SPECIES_SPRITE(MANECTRIC, gMonBackPic_Manectric),
+ SPECIES_SPRITE(NUMEL, gMonBackPic_Numel),
+ SPECIES_SPRITE(CAMERUPT, gMonBackPic_Camerupt),
+ SPECIES_SPRITE(SPHEAL, gMonBackPic_Spheal),
+ SPECIES_SPRITE(SEALEO, gMonBackPic_Sealeo),
+ SPECIES_SPRITE(WALREIN, gMonBackPic_Walrein),
+ SPECIES_SPRITE(CACNEA, gMonBackPic_Cacnea),
+ SPECIES_SPRITE(CACTURNE, gMonBackPic_Cacturne),
+ SPECIES_SPRITE(SNORUNT, gMonBackPic_Snorunt),
+ SPECIES_SPRITE(GLALIE, gMonBackPic_Glalie),
+ SPECIES_SPRITE(LUNATONE, gMonBackPic_Lunatone),
+ SPECIES_SPRITE(SOLROCK, gMonBackPic_Solrock),
+ SPECIES_SPRITE(AZURILL, gMonBackPic_Azurill),
+ SPECIES_SPRITE(SPOINK, gMonBackPic_Spoink),
+ SPECIES_SPRITE(GRUMPIG, gMonBackPic_Grumpig),
+ SPECIES_SPRITE(PLUSLE, gMonBackPic_Plusle),
+ SPECIES_SPRITE(MINUN, gMonBackPic_Minun),
+ SPECIES_SPRITE(MAWILE, gMonBackPic_Mawile),
+ SPECIES_SPRITE(MEDITITE, gMonBackPic_Meditite),
+ SPECIES_SPRITE(MEDICHAM, gMonBackPic_Medicham),
+ SPECIES_SPRITE(SWABLU, gMonBackPic_Swablu),
+ SPECIES_SPRITE(ALTARIA, gMonBackPic_Altaria),
+ SPECIES_SPRITE(WYNAUT, gMonBackPic_Wynaut),
+ SPECIES_SPRITE(DUSKULL, gMonBackPic_Duskull),
+ SPECIES_SPRITE(DUSCLOPS, gMonBackPic_Dusclops),
+ SPECIES_SPRITE(ROSELIA, gMonBackPic_Roselia),
+ SPECIES_SPRITE(SLAKOTH, gMonBackPic_Slakoth),
+ SPECIES_SPRITE(VIGOROTH, gMonBackPic_Vigoroth),
+ SPECIES_SPRITE(SLAKING, gMonBackPic_Slaking),
+ SPECIES_SPRITE(GULPIN, gMonBackPic_Gulpin),
+ SPECIES_SPRITE(SWALOT, gMonBackPic_Swalot),
+ SPECIES_SPRITE(TROPIUS, gMonBackPic_Tropius),
+ SPECIES_SPRITE(WHISMUR, gMonBackPic_Whismur),
+ SPECIES_SPRITE(LOUDRED, gMonBackPic_Loudred),
+ SPECIES_SPRITE(EXPLOUD, gMonBackPic_Exploud),
+ SPECIES_SPRITE(CLAMPERL, gMonBackPic_Clamperl),
+ SPECIES_SPRITE(HUNTAIL, gMonBackPic_Huntail),
+ SPECIES_SPRITE(GOREBYSS, gMonBackPic_Gorebyss),
+ SPECIES_SPRITE(ABSOL, gMonBackPic_Absol),
+ SPECIES_SPRITE(SHUPPET, gMonBackPic_Shuppet),
+ SPECIES_SPRITE(BANETTE, gMonBackPic_Banette),
+ SPECIES_SPRITE(SEVIPER, gMonBackPic_Seviper),
+ SPECIES_SPRITE(ZANGOOSE, gMonBackPic_Zangoose),
+ SPECIES_SPRITE(RELICANTH, gMonBackPic_Relicanth),
+ SPECIES_SPRITE(ARON, gMonBackPic_Aron),
+ SPECIES_SPRITE(LAIRON, gMonBackPic_Lairon),
+ SPECIES_SPRITE(AGGRON, gMonBackPic_Aggron),
+ SPECIES_SPRITE(CASTFORM, gMonBackPic_Castform),
+ SPECIES_SPRITE(VOLBEAT, gMonBackPic_Volbeat),
+ SPECIES_SPRITE(ILLUMISE, gMonBackPic_Illumise),
+ SPECIES_SPRITE(LILEEP, gMonBackPic_Lileep),
+ SPECIES_SPRITE(CRADILY, gMonBackPic_Cradily),
+ SPECIES_SPRITE(ANORITH, gMonBackPic_Anorith),
+ SPECIES_SPRITE(ARMALDO, gMonBackPic_Armaldo),
+ SPECIES_SPRITE(RALTS, gMonBackPic_Ralts),
+ SPECIES_SPRITE(KIRLIA, gMonBackPic_Kirlia),
+ SPECIES_SPRITE(GARDEVOIR, gMonBackPic_Gardevoir),
+ SPECIES_SPRITE(BAGON, gMonBackPic_Bagon),
+ SPECIES_SPRITE(SHELGON, gMonBackPic_Shelgon),
+ SPECIES_SPRITE(SALAMENCE, gMonBackPic_Salamence),
+ SPECIES_SPRITE(BELDUM, gMonBackPic_Beldum),
+ SPECIES_SPRITE(METANG, gMonBackPic_Metang),
+ SPECIES_SPRITE(METAGROSS, gMonBackPic_Metagross),
+ SPECIES_SPRITE(REGIROCK, gMonBackPic_Regirock),
+ SPECIES_SPRITE(REGICE, gMonBackPic_Regice),
+ SPECIES_SPRITE(REGISTEEL, gMonBackPic_Registeel),
+ SPECIES_SPRITE(KYOGRE, gMonBackPic_Kyogre),
+ SPECIES_SPRITE(GROUDON, gMonBackPic_Groudon),
+ SPECIES_SPRITE(RAYQUAZA, gMonBackPic_Rayquaza),
+ SPECIES_SPRITE(LATIAS, gMonBackPic_Latias),
+ SPECIES_SPRITE(LATIOS, gMonBackPic_Latios),
+ SPECIES_SPRITE(JIRACHI, gMonBackPic_Jirachi),
+ SPECIES_SPRITE(DEOXYS, gMonBackPic_Deoxys),
+ SPECIES_SPRITE(CHIMECHO, gMonBackPic_Chimecho),
+ SPECIES_SPRITE(EGG, gMonStillFrontPic_Egg),
+ SPECIES_SPRITE(UNOWN_B, gMonBackPic_UnownB),
+ SPECIES_SPRITE(UNOWN_C, gMonBackPic_UnownC),
+ SPECIES_SPRITE(UNOWN_D, gMonBackPic_UnownD),
+ SPECIES_SPRITE(UNOWN_E, gMonBackPic_UnownE),
+ SPECIES_SPRITE(UNOWN_F, gMonBackPic_UnownF),
+ SPECIES_SPRITE(UNOWN_G, gMonBackPic_UnownG),
+ SPECIES_SPRITE(UNOWN_H, gMonBackPic_UnownH),
+ SPECIES_SPRITE(UNOWN_I, gMonBackPic_UnownI),
+ SPECIES_SPRITE(UNOWN_J, gMonBackPic_UnownJ),
+ SPECIES_SPRITE(UNOWN_K, gMonBackPic_UnownK),
+ SPECIES_SPRITE(UNOWN_L, gMonBackPic_UnownL),
+ SPECIES_SPRITE(UNOWN_M, gMonBackPic_UnownM),
+ SPECIES_SPRITE(UNOWN_N, gMonBackPic_UnownN),
+ SPECIES_SPRITE(UNOWN_O, gMonBackPic_UnownO),
+ SPECIES_SPRITE(UNOWN_P, gMonBackPic_UnownP),
+ SPECIES_SPRITE(UNOWN_Q, gMonBackPic_UnownQ),
+ SPECIES_SPRITE(UNOWN_R, gMonBackPic_UnownR),
+ SPECIES_SPRITE(UNOWN_S, gMonBackPic_UnownS),
+ SPECIES_SPRITE(UNOWN_T, gMonBackPic_UnownT),
+ SPECIES_SPRITE(UNOWN_U, gMonBackPic_UnownU),
+ SPECIES_SPRITE(UNOWN_V, gMonBackPic_UnownV),
+ SPECIES_SPRITE(UNOWN_W, gMonBackPic_UnownW),
+ SPECIES_SPRITE(UNOWN_X, gMonBackPic_UnownX),
+ SPECIES_SPRITE(UNOWN_Y, gMonBackPic_UnownY),
+ SPECIES_SPRITE(UNOWN_Z, gMonBackPic_UnownZ),
+ SPECIES_SPRITE(UNOWN_EMARK, gMonBackPic_UnownExclamationMark),
+ SPECIES_SPRITE(UNOWN_QMARK, gMonBackPic_UnownQuestionMark),
};
-
diff --git a/src/data/pokemon_graphics/enemy_mon_elevation.h b/src/data/pokemon_graphics/enemy_mon_elevation.h
index c8f079a5c..f3d81d27e 100644
--- a/src/data/pokemon_graphics/enemy_mon_elevation.h
+++ b/src/data/pokemon_graphics/enemy_mon_elevation.h
@@ -1,415 +1,62 @@
-#include "constants/species.h"
-
// This determines how much higher above the usual position the enemy Pokémon
// is during battle. Species that float or fly have nonzero values.
-const u8 gEnemyMonElevation[] =
+const u8 gEnemyMonElevation[NUM_SPECIES] =
{
- [SPECIES_NONE] = 0,
- [SPECIES_BULBASAUR] = 0,
- [SPECIES_IVYSAUR] = 0,
- [SPECIES_VENUSAUR] = 0,
- [SPECIES_CHARMANDER] = 0,
- [SPECIES_CHARMELEON] = 0,
- [SPECIES_CHARIZARD] = 0,
- [SPECIES_SQUIRTLE] = 0,
- [SPECIES_WARTORTLE] = 0,
- [SPECIES_BLASTOISE] = 0,
- [SPECIES_CATERPIE] = 0,
- [SPECIES_METAPOD] = 0,
[SPECIES_BUTTERFREE] = 8,
- [SPECIES_WEEDLE] = 0,
- [SPECIES_KAKUNA] = 0,
[SPECIES_BEEDRILL] = 8,
[SPECIES_PIDGEY] = 16,
- [SPECIES_PIDGEOTTO] = 0,
[SPECIES_PIDGEOT] = 4,
- [SPECIES_RATTATA] = 0,
- [SPECIES_RATICATE] = 0,
- [SPECIES_SPEAROW] = 0,
[SPECIES_FEAROW] = 6,
- [SPECIES_EKANS] = 0,
- [SPECIES_ARBOK] = 0,
- [SPECIES_PIKACHU] = 0,
- [SPECIES_RAICHU] = 0,
- [SPECIES_SANDSHREW] = 0,
- [SPECIES_SANDSLASH] = 0,
- [SPECIES_NIDORAN_F] = 0,
- [SPECIES_NIDORINA] = 0,
- [SPECIES_NIDOQUEEN] = 0,
- [SPECIES_NIDORAN_M] = 0,
- [SPECIES_NIDORINO] = 0,
- [SPECIES_NIDOKING] = 0,
- [SPECIES_CLEFAIRY] = 0,
- [SPECIES_CLEFABLE] = 0,
- [SPECIES_VULPIX] = 0,
- [SPECIES_NINETALES] = 0,
- [SPECIES_JIGGLYPUFF] = 0,
- [SPECIES_WIGGLYTUFF] = 0,
[SPECIES_ZUBAT] = 8,
[SPECIES_GOLBAT] = 8,
- [SPECIES_ODDISH] = 0,
- [SPECIES_GLOOM] = 0,
- [SPECIES_VILEPLUME] = 0,
- [SPECIES_PARAS] = 0,
- [SPECIES_PARASECT] = 0,
- [SPECIES_VENONAT] = 0,
[SPECIES_VENOMOTH] = 8,
- [SPECIES_DIGLETT] = 0,
- [SPECIES_DUGTRIO] = 0,
- [SPECIES_MEOWTH] = 0,
- [SPECIES_PERSIAN] = 0,
- [SPECIES_PSYDUCK] = 0,
- [SPECIES_GOLDUCK] = 0,
- [SPECIES_MANKEY] = 0,
- [SPECIES_PRIMEAPE] = 0,
- [SPECIES_GROWLITHE] = 0,
- [SPECIES_ARCANINE] = 0,
- [SPECIES_POLIWAG] = 0,
- [SPECIES_POLIWHIRL] = 0,
- [SPECIES_POLIWRATH] = 0,
- [SPECIES_ABRA] = 0,
- [SPECIES_KADABRA] = 0,
- [SPECIES_ALAKAZAM] = 0,
- [SPECIES_MACHOP] = 0,
- [SPECIES_MACHOKE] = 0,
- [SPECIES_MACHAMP] = 0,
- [SPECIES_BELLSPROUT] = 0,
- [SPECIES_WEEPINBELL] = 0,
- [SPECIES_VICTREEBEL] = 0,
- [SPECIES_TENTACOOL] = 0,
- [SPECIES_TENTACRUEL] = 0,
[SPECIES_GEODUDE] = 16,
- [SPECIES_GRAVELER] = 0,
- [SPECIES_GOLEM] = 0,
- [SPECIES_PONYTA] = 0,
- [SPECIES_RAPIDASH] = 0,
- [SPECIES_SLOWPOKE] = 0,
- [SPECIES_SLOWBRO] = 0,
[SPECIES_MAGNEMITE] = 16,
[SPECIES_MAGNETON] = 8,
- [SPECIES_FARFETCHD] = 0,
- [SPECIES_DODUO] = 0,
- [SPECIES_DODRIO] = 0,
- [SPECIES_SEEL] = 0,
- [SPECIES_DEWGONG] = 0,
- [SPECIES_GRIMER] = 0,
- [SPECIES_MUK] = 0,
- [SPECIES_SHELLDER] = 0,
- [SPECIES_CLOYSTER] = 0,
[SPECIES_GASTLY] = 4,
[SPECIES_HAUNTER] = 4,
- [SPECIES_GENGAR] = 0,
- [SPECIES_ONIX] = 0,
- [SPECIES_DROWZEE] = 0,
- [SPECIES_HYPNO] = 0,
- [SPECIES_KRABBY] = 0,
- [SPECIES_KINGLER] = 0,
[SPECIES_VOLTORB] = 10,
[SPECIES_ELECTRODE] = 12,
- [SPECIES_EXEGGCUTE] = 0,
- [SPECIES_EXEGGUTOR] = 0,
- [SPECIES_CUBONE] = 0,
- [SPECIES_MAROWAK] = 0,
- [SPECIES_HITMONLEE] = 0,
- [SPECIES_HITMONCHAN] = 0,
- [SPECIES_LICKITUNG] = 0,
[SPECIES_KOFFING] = 8,
[SPECIES_WEEZING] = 6,
- [SPECIES_RHYHORN] = 0,
- [SPECIES_RHYDON] = 0,
- [SPECIES_CHANSEY] = 0,
- [SPECIES_TANGELA] = 0,
- [SPECIES_KANGASKHAN] = 0,
- [SPECIES_HORSEA] = 0,
- [SPECIES_SEADRA] = 0,
- [SPECIES_GOLDEEN] = 0,
- [SPECIES_SEAKING] = 0,
- [SPECIES_STARYU] = 0,
- [SPECIES_STARMIE] = 0,
- [SPECIES_MR_MIME] = 0,
- [SPECIES_SCYTHER] = 0,
- [SPECIES_JYNX] = 0,
- [SPECIES_ELECTABUZZ] = 0,
- [SPECIES_MAGMAR] = 0,
- [SPECIES_PINSIR] = 0,
- [SPECIES_TAUROS] = 0,
- [SPECIES_MAGIKARP] = 0,
- [SPECIES_GYARADOS] = 0,
- [SPECIES_LAPRAS] = 0,
- [SPECIES_DITTO] = 0,
- [SPECIES_EEVEE] = 0,
- [SPECIES_VAPOREON] = 0,
- [SPECIES_JOLTEON] = 0,
- [SPECIES_FLAREON] = 0,
- [SPECIES_PORYGON] = 0,
- [SPECIES_OMANYTE] = 0,
- [SPECIES_OMASTAR] = 0,
- [SPECIES_KABUTO] = 0,
- [SPECIES_KABUTOPS] = 0,
[SPECIES_AERODACTYL] = 7,
- [SPECIES_SNORLAX] = 0,
[SPECIES_ARTICUNO] = 6,
[SPECIES_ZAPDOS] = 8,
[SPECIES_MOLTRES] = 5,
- [SPECIES_DRATINI] = 0,
- [SPECIES_DRAGONAIR] = 0,
[SPECIES_DRAGONITE] = 6,
- [SPECIES_MEWTWO] = 0,
[SPECIES_MEW] = 8,
- [SPECIES_CHIKORITA] = 0,
- [SPECIES_BAYLEEF] = 0,
- [SPECIES_MEGANIUM] = 0,
- [SPECIES_CYNDAQUIL] = 0,
- [SPECIES_QUILAVA] = 0,
- [SPECIES_TYPHLOSION] = 0,
- [SPECIES_TOTODILE] = 0,
- [SPECIES_CROCONAW] = 0,
- [SPECIES_FERALIGATR] = 0,
- [SPECIES_SENTRET] = 0,
- [SPECIES_FURRET] = 0,
- [SPECIES_HOOTHOOT] = 0,
- [SPECIES_NOCTOWL] = 0,
- [SPECIES_LEDYBA] = 0,
[SPECIES_LEDIAN] = 8,
- [SPECIES_SPINARAK] = 0,
- [SPECIES_ARIADOS] = 0,
[SPECIES_CROBAT] = 6,
- [SPECIES_CHINCHOU] = 0,
- [SPECIES_LANTURN] = 0,
- [SPECIES_PICHU] = 0,
- [SPECIES_CLEFFA] = 0,
- [SPECIES_IGGLYBUFF] = 0,
- [SPECIES_TOGEPI] = 0,
- [SPECIES_TOGETIC] = 0,
- [SPECIES_NATU] = 0,
- [SPECIES_XATU] = 0,
- [SPECIES_MAREEP] = 0,
- [SPECIES_FLAAFFY] = 0,
- [SPECIES_AMPHAROS] = 0,
- [SPECIES_BELLOSSOM] = 0,
- [SPECIES_MARILL] = 0,
- [SPECIES_AZUMARILL] = 0,
- [SPECIES_SUDOWOODO] = 0,
- [SPECIES_POLITOED] = 0,
[SPECIES_HOPPIP] = 11,
[SPECIES_SKIPLOOM] = 12,
[SPECIES_JUMPLUFF] = 9,
- [SPECIES_AIPOM] = 0,
- [SPECIES_SUNKERN] = 0,
- [SPECIES_SUNFLORA] = 0,
[SPECIES_YANMA] = 8,
- [SPECIES_WOOPER] = 0,
- [SPECIES_QUAGSIRE] = 0,
- [SPECIES_ESPEON] = 0,
- [SPECIES_UMBREON] = 0,
- [SPECIES_MURKROW] = 0,
- [SPECIES_SLOWKING] = 0,
[SPECIES_MISDREAVUS] = 8,
[SPECIES_UNOWN] = 8,
- [SPECIES_WOBBUFFET] = 0,
- [SPECIES_GIRAFARIG] = 0,
- [SPECIES_PINECO] = 0,
- [SPECIES_FORRETRESS] = 0,
- [SPECIES_DUNSPARCE] = 0,
[SPECIES_GLIGAR] = 6,
- [SPECIES_STEELIX] = 0,
- [SPECIES_SNUBBULL] = 0,
- [SPECIES_GRANBULL] = 0,
- [SPECIES_QWILFISH] = 0,
- [SPECIES_SCIZOR] = 0,
- [SPECIES_SHUCKLE] = 0,
- [SPECIES_HERACROSS] = 0,
- [SPECIES_SNEASEL] = 0,
- [SPECIES_TEDDIURSA] = 0,
- [SPECIES_URSARING] = 0,
- [SPECIES_SLUGMA] = 0,
- [SPECIES_MAGCARGO] = 0,
- [SPECIES_SWINUB] = 0,
- [SPECIES_PILOSWINE] = 0,
- [SPECIES_CORSOLA] = 0,
- [SPECIES_REMORAID] = 0,
- [SPECIES_OCTILLERY] = 0,
- [SPECIES_DELIBIRD] = 0,
- [SPECIES_MANTINE] = 0,
- [SPECIES_SKARMORY] = 0,
- [SPECIES_HOUNDOUR] = 0,
- [SPECIES_HOUNDOOM] = 0,
- [SPECIES_KINGDRA] = 0,
- [SPECIES_PHANPY] = 0,
- [SPECIES_DONPHAN] = 0,
- [SPECIES_PORYGON2] = 0,
- [SPECIES_STANTLER] = 0,
- [SPECIES_SMEARGLE] = 0,
- [SPECIES_TYROGUE] = 0,
- [SPECIES_HITMONTOP] = 0,
- [SPECIES_SMOOCHUM] = 0,
- [SPECIES_ELEKID] = 0,
- [SPECIES_MAGBY] = 0,
- [SPECIES_MILTANK] = 0,
- [SPECIES_BLISSEY] = 0,
- [SPECIES_RAIKOU] = 0,
- [SPECIES_ENTEI] = 0,
- [SPECIES_SUICUNE] = 0,
- [SPECIES_LARVITAR] = 0,
- [SPECIES_PUPITAR] = 0,
- [SPECIES_TYRANITAR] = 0,
[SPECIES_LUGIA] = 6,
[SPECIES_HO_OH] = 6,
[SPECIES_CELEBI] = 15,
- [SPECIES_OLD_UNOWN_B] = 0,
- [SPECIES_OLD_UNOWN_C] = 0,
- [SPECIES_OLD_UNOWN_D] = 0,
- [SPECIES_OLD_UNOWN_E] = 0,
- [SPECIES_OLD_UNOWN_F] = 0,
- [SPECIES_OLD_UNOWN_G] = 0,
- [SPECIES_OLD_UNOWN_H] = 0,
- [SPECIES_OLD_UNOWN_I] = 0,
- [SPECIES_OLD_UNOWN_J] = 0,
- [SPECIES_OLD_UNOWN_K] = 0,
- [SPECIES_OLD_UNOWN_L] = 0,
- [SPECIES_OLD_UNOWN_M] = 0,
- [SPECIES_OLD_UNOWN_N] = 0,
- [SPECIES_OLD_UNOWN_O] = 0,
- [SPECIES_OLD_UNOWN_P] = 0,
- [SPECIES_OLD_UNOWN_Q] = 0,
- [SPECIES_OLD_UNOWN_R] = 0,
- [SPECIES_OLD_UNOWN_S] = 0,
- [SPECIES_OLD_UNOWN_T] = 0,
- [SPECIES_OLD_UNOWN_U] = 0,
- [SPECIES_OLD_UNOWN_V] = 0,
- [SPECIES_OLD_UNOWN_W] = 0,
- [SPECIES_OLD_UNOWN_X] = 0,
- [SPECIES_OLD_UNOWN_Y] = 0,
- [SPECIES_OLD_UNOWN_Z] = 0,
- [SPECIES_TREECKO] = 0,
- [SPECIES_GROVYLE] = 0,
- [SPECIES_SCEPTILE] = 0,
- [SPECIES_TORCHIC] = 0,
- [SPECIES_COMBUSKEN] = 0,
- [SPECIES_BLAZIKEN] = 0,
- [SPECIES_MUDKIP] = 0,
- [SPECIES_MARSHTOMP] = 0,
- [SPECIES_SWAMPERT] = 0,
- [SPECIES_POOCHYENA] = 0,
- [SPECIES_MIGHTYENA] = 0,
- [SPECIES_ZIGZAGOON] = 0,
- [SPECIES_LINOONE] = 0,
- [SPECIES_WURMPLE] = 0,
- [SPECIES_SILCOON] = 0,
[SPECIES_BEAUTIFLY] = 8,
- [SPECIES_CASCOON] = 0,
[SPECIES_DUSTOX] = 10,
- [SPECIES_LOTAD] = 0,
- [SPECIES_LOMBRE] = 0,
- [SPECIES_LUDICOLO] = 0,
- [SPECIES_SEEDOT] = 0,
- [SPECIES_NUZLEAF] = 0,
- [SPECIES_SHIFTRY] = 0,
- [SPECIES_NINCADA] = 0,
[SPECIES_NINJASK] = 10,
[SPECIES_SHEDINJA] = 8,
- [SPECIES_TAILLOW] = 0,
- [SPECIES_SWELLOW] = 0,
- [SPECIES_SHROOMISH] = 0,
- [SPECIES_BRELOOM] = 0,
- [SPECIES_SPINDA] = 0,
[SPECIES_WINGULL] = 16,
[SPECIES_PELIPPER] = 8,
- [SPECIES_SURSKIT] = 0,
[SPECIES_MASQUERAIN] = 10,
- [SPECIES_WAILMER] = 0,
- [SPECIES_WAILORD] = 0,
- [SPECIES_SKITTY] = 0,
- [SPECIES_DELCATTY] = 0,
- [SPECIES_KECLEON] = 0,
[SPECIES_BALTOY] = 4,
[SPECIES_CLAYDOL] = 10,
- [SPECIES_NOSEPASS] = 0,
- [SPECIES_TORKOAL] = 0,
- [SPECIES_SABLEYE] = 0,
- [SPECIES_BARBOACH] = 0,
- [SPECIES_WHISCASH] = 0,
- [SPECIES_LUVDISC] = 0,
- [SPECIES_CORPHISH] = 0,
- [SPECIES_CRAWDAUNT] = 0,
- [SPECIES_FEEBAS] = 0,
- [SPECIES_MILOTIC] = 0,
- [SPECIES_CARVANHA] = 0,
- [SPECIES_SHARPEDO] = 0,
- [SPECIES_TRAPINCH] = 0,
- [SPECIES_VIBRAVA] = 0,
[SPECIES_FLYGON] = 7,
- [SPECIES_MAKUHITA] = 0,
- [SPECIES_HARIYAMA] = 0,
- [SPECIES_ELECTRIKE] = 0,
- [SPECIES_MANECTRIC] = 0,
- [SPECIES_NUMEL] = 0,
- [SPECIES_CAMERUPT] = 0,
- [SPECIES_SPHEAL] = 0,
- [SPECIES_SEALEO] = 0,
- [SPECIES_WALREIN] = 0,
- [SPECIES_CACNEA] = 0,
- [SPECIES_CACTURNE] = 0,
- [SPECIES_SNORUNT] = 0,
[SPECIES_GLALIE] = 12,
[SPECIES_LUNATONE] = 13,
[SPECIES_SOLROCK] = 4,
- [SPECIES_AZURILL] = 0,
- [SPECIES_SPOINK] = 0,
- [SPECIES_GRUMPIG] = 0,
- [SPECIES_PLUSLE] = 0,
- [SPECIES_MINUN] = 0,
- [SPECIES_MAWILE] = 0,
- [SPECIES_MEDITITE] = 0,
- [SPECIES_MEDICHAM] = 0,
[SPECIES_SWABLU] = 12,
[SPECIES_ALTARIA] = 8,
- [SPECIES_WYNAUT] = 0,
[SPECIES_DUSKULL] = 9,
- [SPECIES_DUSCLOPS] = 0,
- [SPECIES_ROSELIA] = 0,
- [SPECIES_SLAKOTH] = 0,
- [SPECIES_VIGOROTH] = 0,
- [SPECIES_SLAKING] = 0,
- [SPECIES_GULPIN] = 0,
- [SPECIES_SWALOT] = 0,
- [SPECIES_TROPIUS] = 0,
- [SPECIES_WHISMUR] = 0,
- [SPECIES_LOUDRED] = 0,
- [SPECIES_EXPLOUD] = 0,
- [SPECIES_CLAMPERL] = 0,
- [SPECIES_HUNTAIL] = 0,
- [SPECIES_GOREBYSS] = 0,
- [SPECIES_ABSOL] = 0,
[SPECIES_SHUPPET] = 12,
[SPECIES_BANETTE] = 8,
- [SPECIES_SEVIPER] = 0,
- [SPECIES_ZANGOOSE] = 0,
- [SPECIES_RELICANTH] = 0,
- [SPECIES_ARON] = 0,
- [SPECIES_LAIRON] = 0,
- [SPECIES_AGGRON] = 0,
[SPECIES_CASTFORM] = 16,
- [SPECIES_VOLBEAT] = 0,
- [SPECIES_ILLUMISE] = 0,
- [SPECIES_LILEEP] = 0,
- [SPECIES_CRADILY] = 0,
- [SPECIES_ANORITH] = 0,
- [SPECIES_ARMALDO] = 0,
- [SPECIES_RALTS] = 0,
- [SPECIES_KIRLIA] = 0,
- [SPECIES_GARDEVOIR] = 0,
- [SPECIES_BAGON] = 0,
- [SPECIES_SHELGON] = 0,
- [SPECIES_SALAMENCE] = 0,
[SPECIES_BELDUM] = 8,
- [SPECIES_METANG] = 0,
- [SPECIES_METAGROSS] = 0,
- [SPECIES_REGIROCK] = 0,
- [SPECIES_REGICE] = 0,
- [SPECIES_REGISTEEL] = 0,
- [SPECIES_KYOGRE] = 0,
- [SPECIES_GROUDON] = 0,
[SPECIES_RAYQUAZA] = 6,
[SPECIES_LATIAS] = 6,
[SPECIES_LATIOS] = 6,
diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h
index 779ce3dcd..86ca06790 100644
--- a/src/data/pokemon_graphics/footprint_table.h
+++ b/src/data/pokemon_graphics/footprint_table.h
@@ -1,416 +1,416 @@
const u8 *const gMonFootprintTable[] =
{
- gMonFootprint_Bulbasaur,
- gMonFootprint_Bulbasaur,
- gMonFootprint_Ivysaur,
- gMonFootprint_Venusaur,
- gMonFootprint_Charmander,
- gMonFootprint_Charmeleon,
- gMonFootprint_Charizard,
- gMonFootprint_Squirtle,
- gMonFootprint_Wartortle,
- gMonFootprint_Blastoise,
- gMonFootprint_Caterpie,
- gMonFootprint_Metapod,
- gMonFootprint_Butterfree,
- gMonFootprint_Weedle,
- gMonFootprint_Kakuna,
- gMonFootprint_Beedrill,
- gMonFootprint_Pidgey,
- gMonFootprint_Pidgeotto,
- gMonFootprint_Pidgeot,
- gMonFootprint_Rattata,
- gMonFootprint_Raticate,
- gMonFootprint_Spearow,
- gMonFootprint_Fearow,
- gMonFootprint_Ekans,
- gMonFootprint_Arbok,
- gMonFootprint_Pikachu,
- gMonFootprint_Raichu,
- gMonFootprint_Sandshrew,
- gMonFootprint_Sandslash,
- gMonFootprint_NidoranF,
- gMonFootprint_Nidorina,
- gMonFootprint_Nidoqueen,
- gMonFootprint_NidoranM,
- gMonFootprint_Nidorino,
- gMonFootprint_Nidoking,
- gMonFootprint_Clefairy,
- gMonFootprint_Clefable,
- gMonFootprint_Vulpix,
- gMonFootprint_Ninetales,
- gMonFootprint_Jigglypuff,
- gMonFootprint_Wigglytuff,
- gMonFootprint_Zubat,
- gMonFootprint_Golbat,
- gMonFootprint_Oddish,
- gMonFootprint_Gloom,
- gMonFootprint_Vileplume,
- gMonFootprint_Paras,
- gMonFootprint_Parasect,
- gMonFootprint_Venonat,
- gMonFootprint_Venomoth,
- gMonFootprint_Diglett,
- gMonFootprint_Dugtrio,
- gMonFootprint_Meowth,
- gMonFootprint_Persian,
- gMonFootprint_Psyduck,
- gMonFootprint_Golduck,
- gMonFootprint_Mankey,
- gMonFootprint_Primeape,
- gMonFootprint_Growlithe,
- gMonFootprint_Arcanine,
- gMonFootprint_Poliwag,
- gMonFootprint_Poliwhirl,
- gMonFootprint_Poliwrath,
- gMonFootprint_Abra,
- gMonFootprint_Kadabra,
- gMonFootprint_Alakazam,
- gMonFootprint_Machop,
- gMonFootprint_Machoke,
- gMonFootprint_Machamp,
- gMonFootprint_Bellsprout,
- gMonFootprint_Weepinbell,
- gMonFootprint_Victreebel,
- gMonFootprint_Tentacool,
- gMonFootprint_Tentacruel,
- gMonFootprint_Geodude,
- gMonFootprint_Graveler,
- gMonFootprint_Golem,
- gMonFootprint_Ponyta,
- gMonFootprint_Rapidash,
- gMonFootprint_Slowpoke,
- gMonFootprint_Slowbro,
- gMonFootprint_Magnemite,
- gMonFootprint_Magneton,
- gMonFootprint_Farfetchd,
- gMonFootprint_Doduo,
- gMonFootprint_Dodrio,
- gMonFootprint_Seel,
- gMonFootprint_Dewgong,
- gMonFootprint_Grimer,
- gMonFootprint_Muk,
- gMonFootprint_Shellder,
- gMonFootprint_Cloyster,
- gMonFootprint_Gastly,
- gMonFootprint_Haunter,
- gMonFootprint_Gengar,
- gMonFootprint_Onix,
- gMonFootprint_Drowzee,
- gMonFootprint_Hypno,
- gMonFootprint_Krabby,
- gMonFootprint_Kingler,
- gMonFootprint_Voltorb,
- gMonFootprint_Electrode,
- gMonFootprint_Exeggcute,
- gMonFootprint_Exeggutor,
- gMonFootprint_Cubone,
- gMonFootprint_Marowak,
- gMonFootprint_Hitmonlee,
- gMonFootprint_Hitmonchan,
- gMonFootprint_Lickitung,
- gMonFootprint_Koffing,
- gMonFootprint_Weezing,
- gMonFootprint_Rhyhorn,
- gMonFootprint_Rhydon,
- gMonFootprint_Chansey,
- gMonFootprint_Tangela,
- gMonFootprint_Kangaskhan,
- gMonFootprint_Horsea,
- gMonFootprint_Seadra,
- gMonFootprint_Goldeen,
- gMonFootprint_Seaking,
- gMonFootprint_Staryu,
- gMonFootprint_Starmie,
- gMonFootprint_Mrmime,
- gMonFootprint_Scyther,
- gMonFootprint_Jynx,
- gMonFootprint_Electabuzz,
- gMonFootprint_Magmar,
- gMonFootprint_Pinsir,
- gMonFootprint_Tauros,
- gMonFootprint_Magikarp,
- gMonFootprint_Gyarados,
- gMonFootprint_Lapras,
- gMonFootprint_Ditto,
- gMonFootprint_Eevee,
- gMonFootprint_Vaporeon,
- gMonFootprint_Jolteon,
- gMonFootprint_Flareon,
- gMonFootprint_Porygon,
- gMonFootprint_Omanyte,
- gMonFootprint_Omastar,
- gMonFootprint_Kabuto,
- gMonFootprint_Kabutops,
- gMonFootprint_Aerodactyl,
- gMonFootprint_Snorlax,
- gMonFootprint_Articuno,
- gMonFootprint_Zapdos,
- gMonFootprint_Moltres,
- gMonFootprint_Dratini,
- gMonFootprint_Dragonair,
- gMonFootprint_Dragonite,
- gMonFootprint_Mewtwo,
- gMonFootprint_Mew,
- gMonFootprint_Chikorita,
- gMonFootprint_Bayleef,
- gMonFootprint_Meganium,
- gMonFootprint_Cyndaquil,
- gMonFootprint_Quilava,
- gMonFootprint_Typhlosion,
- gMonFootprint_Totodile,
- gMonFootprint_Croconaw,
- gMonFootprint_Feraligatr,
- gMonFootprint_Sentret,
- gMonFootprint_Furret,
- gMonFootprint_Hoothoot,
- gMonFootprint_Noctowl,
- gMonFootprint_Ledyba,
- gMonFootprint_Ledian,
- gMonFootprint_Spinarak,
- gMonFootprint_Ariados,
- gMonFootprint_Crobat,
- gMonFootprint_Chinchou,
- gMonFootprint_Lanturn,
- gMonFootprint_Pichu,
- gMonFootprint_Cleffa,
- gMonFootprint_Igglybuff,
- gMonFootprint_Togepi,
- gMonFootprint_Togetic,
- gMonFootprint_Natu,
- gMonFootprint_Xatu,
- gMonFootprint_Mareep,
- gMonFootprint_Flaaffy,
- gMonFootprint_Ampharos,
- gMonFootprint_Bellossom,
- gMonFootprint_Marill,
- gMonFootprint_Azumarill,
- gMonFootprint_Sudowoodo,
- gMonFootprint_Politoed,
- gMonFootprint_Hoppip,
- gMonFootprint_Skiploom,
- gMonFootprint_Jumpluff,
- gMonFootprint_Aipom,
- gMonFootprint_Sunkern,
- gMonFootprint_Sunflora,
- gMonFootprint_Yanma,
- gMonFootprint_Wooper,
- gMonFootprint_Quagsire,
- gMonFootprint_Espeon,
- gMonFootprint_Umbreon,
- gMonFootprint_Murkrow,
- gMonFootprint_Slowking,
- gMonFootprint_Misdreavus,
- gMonFootprint_Unown,
- gMonFootprint_Wobbuffet,
- gMonFootprint_Girafarig,
- gMonFootprint_Pineco,
- gMonFootprint_Forretress,
- gMonFootprint_Dunsparce,
- gMonFootprint_Gligar,
- gMonFootprint_Steelix,
- gMonFootprint_Snubbull,
- gMonFootprint_Granbull,
- gMonFootprint_Qwilfish,
- gMonFootprint_Scizor,
- gMonFootprint_Shuckle,
- gMonFootprint_Heracross,
- gMonFootprint_Sneasel,
- gMonFootprint_Teddiursa,
- gMonFootprint_Ursaring,
- gMonFootprint_Slugma,
- gMonFootprint_Magcargo,
- gMonFootprint_Swinub,
- gMonFootprint_Piloswine,
- gMonFootprint_Corsola,
- gMonFootprint_Remoraid,
- gMonFootprint_Octillery,
- gMonFootprint_Delibird,
- gMonFootprint_Mantine,
- gMonFootprint_Skarmory,
- gMonFootprint_Houndour,
- gMonFootprint_Houndoom,
- gMonFootprint_Kingdra,
- gMonFootprint_Phanpy,
- gMonFootprint_Donphan,
- gMonFootprint_Porygon2,
- gMonFootprint_Stantler,
- gMonFootprint_Smeargle,
- gMonFootprint_Tyrogue,
- gMonFootprint_Hitmontop,
- gMonFootprint_Smoochum,
- gMonFootprint_Elekid,
- gMonFootprint_Magby,
- gMonFootprint_Miltank,
- gMonFootprint_Blissey,
- gMonFootprint_Raikou,
- gMonFootprint_Entei,
- gMonFootprint_Suicune,
- gMonFootprint_Larvitar,
- gMonFootprint_Pupitar,
- gMonFootprint_Tyranitar,
- gMonFootprint_Lugia,
- gMonFootprint_HoOh,
- gMonFootprint_Celebi,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_QuestionMark,
- gMonFootprint_Treecko,
- gMonFootprint_Grovyle,
- gMonFootprint_Sceptile,
- gMonFootprint_Torchic,
- gMonFootprint_Combusken,
- gMonFootprint_Blaziken,
- gMonFootprint_Mudkip,
- gMonFootprint_Marshtomp,
- gMonFootprint_Swampert,
- gMonFootprint_Poochyena,
- gMonFootprint_Mightyena,
- gMonFootprint_Zigzagoon,
- gMonFootprint_Linoone,
- gMonFootprint_Wurmple,
- gMonFootprint_Silcoon,
- gMonFootprint_Beautifly,
- gMonFootprint_Cascoon,
- gMonFootprint_Dustox,
- gMonFootprint_Lotad,
- gMonFootprint_Lombre,
- gMonFootprint_Ludicolo,
- gMonFootprint_Seedot,
- gMonFootprint_Nuzleaf,
- gMonFootprint_Shiftry,
- gMonFootprint_Nincada,
- gMonFootprint_Ninjask,
- gMonFootprint_Shedinja,
- gMonFootprint_Taillow,
- gMonFootprint_Swellow,
- gMonFootprint_Shroomish,
- gMonFootprint_Breloom,
- gMonFootprint_Spinda,
- gMonFootprint_Wingull,
- gMonFootprint_Pelipper,
- gMonFootprint_Surskit,
- gMonFootprint_Masquerain,
- gMonFootprint_Wailmer,
- gMonFootprint_Wailord,
- gMonFootprint_Skitty,
- gMonFootprint_Delcatty,
- gMonFootprint_Kecleon,
- gMonFootprint_Baltoy,
- gMonFootprint_Claydol,
- gMonFootprint_Nosepass,
- gMonFootprint_Torkoal,
- gMonFootprint_Sableye,
- gMonFootprint_Barboach,
- gMonFootprint_Whiscash,
- gMonFootprint_Luvdisc,
- gMonFootprint_Corphish,
- gMonFootprint_Crawdaunt,
- gMonFootprint_Feebas,
- gMonFootprint_Milotic,
- gMonFootprint_Carvanha,
- gMonFootprint_Sharpedo,
- gMonFootprint_Trapinch,
- gMonFootprint_Vibrava,
- gMonFootprint_Flygon,
- gMonFootprint_Makuhita,
- gMonFootprint_Hariyama,
- gMonFootprint_Electrike,
- gMonFootprint_Manectric,
- gMonFootprint_Numel,
- gMonFootprint_Camerupt,
- gMonFootprint_Spheal,
- gMonFootprint_Sealeo,
- gMonFootprint_Walrein,
- gMonFootprint_Cacnea,
- gMonFootprint_Cacturne,
- gMonFootprint_Snorunt,
- gMonFootprint_Glalie,
- gMonFootprint_Lunatone,
- gMonFootprint_Solrock,
- gMonFootprint_Azurill,
- gMonFootprint_Spoink,
- gMonFootprint_Grumpig,
- gMonFootprint_Plusle,
- gMonFootprint_Minun,
- gMonFootprint_Mawile,
- gMonFootprint_Meditite,
- gMonFootprint_Medicham,
- gMonFootprint_Swablu,
- gMonFootprint_Altaria,
- gMonFootprint_Wynaut,
- gMonFootprint_Duskull,
- gMonFootprint_Dusclops,
- gMonFootprint_Roselia,
- gMonFootprint_Slakoth,
- gMonFootprint_Vigoroth,
- gMonFootprint_Slaking,
- gMonFootprint_Gulpin,
- gMonFootprint_Swalot,
- gMonFootprint_Tropius,
- gMonFootprint_Whismur,
- gMonFootprint_Loudred,
- gMonFootprint_Exploud,
- gMonFootprint_Clamperl,
- gMonFootprint_Huntail,
- gMonFootprint_Gorebyss,
- gMonFootprint_Absol,
- gMonFootprint_Shuppet,
- gMonFootprint_Banette,
- gMonFootprint_Seviper,
- gMonFootprint_Zangoose,
- gMonFootprint_Relicanth,
- gMonFootprint_Aron,
- gMonFootprint_Lairon,
- gMonFootprint_Aggron,
- gMonFootprint_Castform,
- gMonFootprint_Volbeat,
- gMonFootprint_Illumise,
- gMonFootprint_Lileep,
- gMonFootprint_Cradily,
- gMonFootprint_Anorith,
- gMonFootprint_Armaldo,
- gMonFootprint_Ralts,
- gMonFootprint_Kirlia,
- gMonFootprint_Gardevoir,
- gMonFootprint_Bagon,
- gMonFootprint_Shelgon,
- gMonFootprint_Salamence,
- gMonFootprint_Beldum,
- gMonFootprint_Metang,
- gMonFootprint_Metagross,
- gMonFootprint_Regirock,
- gMonFootprint_Regice,
- gMonFootprint_Registeel,
- gMonFootprint_Kyogre,
- gMonFootprint_Groudon,
- gMonFootprint_Rayquaza,
- gMonFootprint_Latias,
- gMonFootprint_Latios,
- gMonFootprint_Jirachi,
- gMonFootprint_Deoxys,
- gMonFootprint_Chimecho,
- gMonFootprint_Bulbasaur,
+ [SPECIES_NONE] = gMonFootprint_Bulbasaur,
+ [SPECIES_BULBASAUR] = gMonFootprint_Bulbasaur,
+ [SPECIES_IVYSAUR] = gMonFootprint_Ivysaur,
+ [SPECIES_VENUSAUR] = gMonFootprint_Venusaur,
+ [SPECIES_CHARMANDER] = gMonFootprint_Charmander,
+ [SPECIES_CHARMELEON] = gMonFootprint_Charmeleon,
+ [SPECIES_CHARIZARD] = gMonFootprint_Charizard,
+ [SPECIES_SQUIRTLE] = gMonFootprint_Squirtle,
+ [SPECIES_WARTORTLE] = gMonFootprint_Wartortle,
+ [SPECIES_BLASTOISE] = gMonFootprint_Blastoise,
+ [SPECIES_CATERPIE] = gMonFootprint_Caterpie,
+ [SPECIES_METAPOD] = gMonFootprint_Metapod,
+ [SPECIES_BUTTERFREE] = gMonFootprint_Butterfree,
+ [SPECIES_WEEDLE] = gMonFootprint_Weedle,
+ [SPECIES_KAKUNA] = gMonFootprint_Kakuna,
+ [SPECIES_BEEDRILL] = gMonFootprint_Beedrill,
+ [SPECIES_PIDGEY] = gMonFootprint_Pidgey,
+ [SPECIES_PIDGEOTTO] = gMonFootprint_Pidgeotto,
+ [SPECIES_PIDGEOT] = gMonFootprint_Pidgeot,
+ [SPECIES_RATTATA] = gMonFootprint_Rattata,
+ [SPECIES_RATICATE] = gMonFootprint_Raticate,
+ [SPECIES_SPEAROW] = gMonFootprint_Spearow,
+ [SPECIES_FEAROW] = gMonFootprint_Fearow,
+ [SPECIES_EKANS] = gMonFootprint_Ekans,
+ [SPECIES_ARBOK] = gMonFootprint_Arbok,
+ [SPECIES_PIKACHU] = gMonFootprint_Pikachu,
+ [SPECIES_RAICHU] = gMonFootprint_Raichu,
+ [SPECIES_SANDSHREW] = gMonFootprint_Sandshrew,
+ [SPECIES_SANDSLASH] = gMonFootprint_Sandslash,
+ [SPECIES_NIDORAN_F] = gMonFootprint_NidoranF,
+ [SPECIES_NIDORINA] = gMonFootprint_Nidorina,
+ [SPECIES_NIDOQUEEN] = gMonFootprint_Nidoqueen,
+ [SPECIES_NIDORAN_M] = gMonFootprint_NidoranM,
+ [SPECIES_NIDORINO] = gMonFootprint_Nidorino,
+ [SPECIES_NIDOKING] = gMonFootprint_Nidoking,
+ [SPECIES_CLEFAIRY] = gMonFootprint_Clefairy,
+ [SPECIES_CLEFABLE] = gMonFootprint_Clefable,
+ [SPECIES_VULPIX] = gMonFootprint_Vulpix,
+ [SPECIES_NINETALES] = gMonFootprint_Ninetales,
+ [SPECIES_JIGGLYPUFF] = gMonFootprint_Jigglypuff,
+ [SPECIES_WIGGLYTUFF] = gMonFootprint_Wigglytuff,
+ [SPECIES_ZUBAT] = gMonFootprint_Zubat,
+ [SPECIES_GOLBAT] = gMonFootprint_Golbat,
+ [SPECIES_ODDISH] = gMonFootprint_Oddish,
+ [SPECIES_GLOOM] = gMonFootprint_Gloom,
+ [SPECIES_VILEPLUME] = gMonFootprint_Vileplume,
+ [SPECIES_PARAS] = gMonFootprint_Paras,
+ [SPECIES_PARASECT] = gMonFootprint_Parasect,
+ [SPECIES_VENONAT] = gMonFootprint_Venonat,
+ [SPECIES_VENOMOTH] = gMonFootprint_Venomoth,
+ [SPECIES_DIGLETT] = gMonFootprint_Diglett,
+ [SPECIES_DUGTRIO] = gMonFootprint_Dugtrio,
+ [SPECIES_MEOWTH] = gMonFootprint_Meowth,
+ [SPECIES_PERSIAN] = gMonFootprint_Persian,
+ [SPECIES_PSYDUCK] = gMonFootprint_Psyduck,
+ [SPECIES_GOLDUCK] = gMonFootprint_Golduck,
+ [SPECIES_MANKEY] = gMonFootprint_Mankey,
+ [SPECIES_PRIMEAPE] = gMonFootprint_Primeape,
+ [SPECIES_GROWLITHE] = gMonFootprint_Growlithe,
+ [SPECIES_ARCANINE] = gMonFootprint_Arcanine,
+ [SPECIES_POLIWAG] = gMonFootprint_Poliwag,
+ [SPECIES_POLIWHIRL] = gMonFootprint_Poliwhirl,
+ [SPECIES_POLIWRATH] = gMonFootprint_Poliwrath,
+ [SPECIES_ABRA] = gMonFootprint_Abra,
+ [SPECIES_KADABRA] = gMonFootprint_Kadabra,
+ [SPECIES_ALAKAZAM] = gMonFootprint_Alakazam,
+ [SPECIES_MACHOP] = gMonFootprint_Machop,
+ [SPECIES_MACHOKE] = gMonFootprint_Machoke,
+ [SPECIES_MACHAMP] = gMonFootprint_Machamp,
+ [SPECIES_BELLSPROUT] = gMonFootprint_Bellsprout,
+ [SPECIES_WEEPINBELL] = gMonFootprint_Weepinbell,
+ [SPECIES_VICTREEBEL] = gMonFootprint_Victreebel,
+ [SPECIES_TENTACOOL] = gMonFootprint_Tentacool,
+ [SPECIES_TENTACRUEL] = gMonFootprint_Tentacruel,
+ [SPECIES_GEODUDE] = gMonFootprint_Geodude,
+ [SPECIES_GRAVELER] = gMonFootprint_Graveler,
+ [SPECIES_GOLEM] = gMonFootprint_Golem,
+ [SPECIES_PONYTA] = gMonFootprint_Ponyta,
+ [SPECIES_RAPIDASH] = gMonFootprint_Rapidash,
+ [SPECIES_SLOWPOKE] = gMonFootprint_Slowpoke,
+ [SPECIES_SLOWBRO] = gMonFootprint_Slowbro,
+ [SPECIES_MAGNEMITE] = gMonFootprint_Magnemite,
+ [SPECIES_MAGNETON] = gMonFootprint_Magneton,
+ [SPECIES_FARFETCHD] = gMonFootprint_Farfetchd,
+ [SPECIES_DODUO] = gMonFootprint_Doduo,
+ [SPECIES_DODRIO] = gMonFootprint_Dodrio,
+ [SPECIES_SEEL] = gMonFootprint_Seel,
+ [SPECIES_DEWGONG] = gMonFootprint_Dewgong,
+ [SPECIES_GRIMER] = gMonFootprint_Grimer,
+ [SPECIES_MUK] = gMonFootprint_Muk,
+ [SPECIES_SHELLDER] = gMonFootprint_Shellder,
+ [SPECIES_CLOYSTER] = gMonFootprint_Cloyster,
+ [SPECIES_GASTLY] = gMonFootprint_Gastly,
+ [SPECIES_HAUNTER] = gMonFootprint_Haunter,
+ [SPECIES_GENGAR] = gMonFootprint_Gengar,
+ [SPECIES_ONIX] = gMonFootprint_Onix,
+ [SPECIES_DROWZEE] = gMonFootprint_Drowzee,
+ [SPECIES_HYPNO] = gMonFootprint_Hypno,
+ [SPECIES_KRABBY] = gMonFootprint_Krabby,
+ [SPECIES_KINGLER] = gMonFootprint_Kingler,
+ [SPECIES_VOLTORB] = gMonFootprint_Voltorb,
+ [SPECIES_ELECTRODE] = gMonFootprint_Electrode,
+ [SPECIES_EXEGGCUTE] = gMonFootprint_Exeggcute,
+ [SPECIES_EXEGGUTOR] = gMonFootprint_Exeggutor,
+ [SPECIES_CUBONE] = gMonFootprint_Cubone,
+ [SPECIES_MAROWAK] = gMonFootprint_Marowak,
+ [SPECIES_HITMONLEE] = gMonFootprint_Hitmonlee,
+ [SPECIES_HITMONCHAN] = gMonFootprint_Hitmonchan,
+ [SPECIES_LICKITUNG] = gMonFootprint_Lickitung,
+ [SPECIES_KOFFING] = gMonFootprint_Koffing,
+ [SPECIES_WEEZING] = gMonFootprint_Weezing,
+ [SPECIES_RHYHORN] = gMonFootprint_Rhyhorn,
+ [SPECIES_RHYDON] = gMonFootprint_Rhydon,
+ [SPECIES_CHANSEY] = gMonFootprint_Chansey,
+ [SPECIES_TANGELA] = gMonFootprint_Tangela,
+ [SPECIES_KANGASKHAN] = gMonFootprint_Kangaskhan,
+ [SPECIES_HORSEA] = gMonFootprint_Horsea,
+ [SPECIES_SEADRA] = gMonFootprint_Seadra,
+ [SPECIES_GOLDEEN] = gMonFootprint_Goldeen,
+ [SPECIES_SEAKING] = gMonFootprint_Seaking,
+ [SPECIES_STARYU] = gMonFootprint_Staryu,
+ [SPECIES_STARMIE] = gMonFootprint_Starmie,
+ [SPECIES_MR_MIME] = gMonFootprint_Mrmime,
+ [SPECIES_SCYTHER] = gMonFootprint_Scyther,
+ [SPECIES_JYNX] = gMonFootprint_Jynx,
+ [SPECIES_ELECTABUZZ] = gMonFootprint_Electabuzz,
+ [SPECIES_MAGMAR] = gMonFootprint_Magmar,
+ [SPECIES_PINSIR] = gMonFootprint_Pinsir,
+ [SPECIES_TAUROS] = gMonFootprint_Tauros,
+ [SPECIES_MAGIKARP] = gMonFootprint_Magikarp,
+ [SPECIES_GYARADOS] = gMonFootprint_Gyarados,
+ [SPECIES_LAPRAS] = gMonFootprint_Lapras,
+ [SPECIES_DITTO] = gMonFootprint_Ditto,
+ [SPECIES_EEVEE] = gMonFootprint_Eevee,
+ [SPECIES_VAPOREON] = gMonFootprint_Vaporeon,
+ [SPECIES_JOLTEON] = gMonFootprint_Jolteon,
+ [SPECIES_FLAREON] = gMonFootprint_Flareon,
+ [SPECIES_PORYGON] = gMonFootprint_Porygon,
+ [SPECIES_OMANYTE] = gMonFootprint_Omanyte,
+ [SPECIES_OMASTAR] = gMonFootprint_Omastar,
+ [SPECIES_KABUTO] = gMonFootprint_Kabuto,
+ [SPECIES_KABUTOPS] = gMonFootprint_Kabutops,
+ [SPECIES_AERODACTYL] = gMonFootprint_Aerodactyl,
+ [SPECIES_SNORLAX] = gMonFootprint_Snorlax,
+ [SPECIES_ARTICUNO] = gMonFootprint_Articuno,
+ [SPECIES_ZAPDOS] = gMonFootprint_Zapdos,
+ [SPECIES_MOLTRES] = gMonFootprint_Moltres,
+ [SPECIES_DRATINI] = gMonFootprint_Dratini,
+ [SPECIES_DRAGONAIR] = gMonFootprint_Dragonair,
+ [SPECIES_DRAGONITE] = gMonFootprint_Dragonite,
+ [SPECIES_MEWTWO] = gMonFootprint_Mewtwo,
+ [SPECIES_MEW] = gMonFootprint_Mew,
+ [SPECIES_CHIKORITA] = gMonFootprint_Chikorita,
+ [SPECIES_BAYLEEF] = gMonFootprint_Bayleef,
+ [SPECIES_MEGANIUM] = gMonFootprint_Meganium,
+ [SPECIES_CYNDAQUIL] = gMonFootprint_Cyndaquil,
+ [SPECIES_QUILAVA] = gMonFootprint_Quilava,
+ [SPECIES_TYPHLOSION] = gMonFootprint_Typhlosion,
+ [SPECIES_TOTODILE] = gMonFootprint_Totodile,
+ [SPECIES_CROCONAW] = gMonFootprint_Croconaw,
+ [SPECIES_FERALIGATR] = gMonFootprint_Feraligatr,
+ [SPECIES_SENTRET] = gMonFootprint_Sentret,
+ [SPECIES_FURRET] = gMonFootprint_Furret,
+ [SPECIES_HOOTHOOT] = gMonFootprint_Hoothoot,
+ [SPECIES_NOCTOWL] = gMonFootprint_Noctowl,
+ [SPECIES_LEDYBA] = gMonFootprint_Ledyba,
+ [SPECIES_LEDIAN] = gMonFootprint_Ledian,
+ [SPECIES_SPINARAK] = gMonFootprint_Spinarak,
+ [SPECIES_ARIADOS] = gMonFootprint_Ariados,
+ [SPECIES_CROBAT] = gMonFootprint_Crobat,
+ [SPECIES_CHINCHOU] = gMonFootprint_Chinchou,
+ [SPECIES_LANTURN] = gMonFootprint_Lanturn,
+ [SPECIES_PICHU] = gMonFootprint_Pichu,
+ [SPECIES_CLEFFA] = gMonFootprint_Cleffa,
+ [SPECIES_IGGLYBUFF] = gMonFootprint_Igglybuff,
+ [SPECIES_TOGEPI] = gMonFootprint_Togepi,
+ [SPECIES_TOGETIC] = gMonFootprint_Togetic,
+ [SPECIES_NATU] = gMonFootprint_Natu,
+ [SPECIES_XATU] = gMonFootprint_Xatu,
+ [SPECIES_MAREEP] = gMonFootprint_Mareep,
+ [SPECIES_FLAAFFY] = gMonFootprint_Flaaffy,
+ [SPECIES_AMPHAROS] = gMonFootprint_Ampharos,
+ [SPECIES_BELLOSSOM] = gMonFootprint_Bellossom,
+ [SPECIES_MARILL] = gMonFootprint_Marill,
+ [SPECIES_AZUMARILL] = gMonFootprint_Azumarill,
+ [SPECIES_SUDOWOODO] = gMonFootprint_Sudowoodo,
+ [SPECIES_POLITOED] = gMonFootprint_Politoed,
+ [SPECIES_HOPPIP] = gMonFootprint_Hoppip,
+ [SPECIES_SKIPLOOM] = gMonFootprint_Skiploom,
+ [SPECIES_JUMPLUFF] = gMonFootprint_Jumpluff,
+ [SPECIES_AIPOM] = gMonFootprint_Aipom,
+ [SPECIES_SUNKERN] = gMonFootprint_Sunkern,
+ [SPECIES_SUNFLORA] = gMonFootprint_Sunflora,
+ [SPECIES_YANMA] = gMonFootprint_Yanma,
+ [SPECIES_WOOPER] = gMonFootprint_Wooper,
+ [SPECIES_QUAGSIRE] = gMonFootprint_Quagsire,
+ [SPECIES_ESPEON] = gMonFootprint_Espeon,
+ [SPECIES_UMBREON] = gMonFootprint_Umbreon,
+ [SPECIES_MURKROW] = gMonFootprint_Murkrow,
+ [SPECIES_SLOWKING] = gMonFootprint_Slowking,
+ [SPECIES_MISDREAVUS] = gMonFootprint_Misdreavus,
+ [SPECIES_UNOWN] = gMonFootprint_Unown,
+ [SPECIES_WOBBUFFET] = gMonFootprint_Wobbuffet,
+ [SPECIES_GIRAFARIG] = gMonFootprint_Girafarig,
+ [SPECIES_PINECO] = gMonFootprint_Pineco,
+ [SPECIES_FORRETRESS] = gMonFootprint_Forretress,
+ [SPECIES_DUNSPARCE] = gMonFootprint_Dunsparce,
+ [SPECIES_GLIGAR] = gMonFootprint_Gligar,
+ [SPECIES_STEELIX] = gMonFootprint_Steelix,
+ [SPECIES_SNUBBULL] = gMonFootprint_Snubbull,
+ [SPECIES_GRANBULL] = gMonFootprint_Granbull,
+ [SPECIES_QWILFISH] = gMonFootprint_Qwilfish,
+ [SPECIES_SCIZOR] = gMonFootprint_Scizor,
+ [SPECIES_SHUCKLE] = gMonFootprint_Shuckle,
+ [SPECIES_HERACROSS] = gMonFootprint_Heracross,
+ [SPECIES_SNEASEL] = gMonFootprint_Sneasel,
+ [SPECIES_TEDDIURSA] = gMonFootprint_Teddiursa,
+ [SPECIES_URSARING] = gMonFootprint_Ursaring,
+ [SPECIES_SLUGMA] = gMonFootprint_Slugma,
+ [SPECIES_MAGCARGO] = gMonFootprint_Magcargo,
+ [SPECIES_SWINUB] = gMonFootprint_Swinub,
+ [SPECIES_PILOSWINE] = gMonFootprint_Piloswine,
+ [SPECIES_CORSOLA] = gMonFootprint_Corsola,
+ [SPECIES_REMORAID] = gMonFootprint_Remoraid,
+ [SPECIES_OCTILLERY] = gMonFootprint_Octillery,
+ [SPECIES_DELIBIRD] = gMonFootprint_Delibird,
+ [SPECIES_MANTINE] = gMonFootprint_Mantine,
+ [SPECIES_SKARMORY] = gMonFootprint_Skarmory,
+ [SPECIES_HOUNDOUR] = gMonFootprint_Houndour,
+ [SPECIES_HOUNDOOM] = gMonFootprint_Houndoom,
+ [SPECIES_KINGDRA] = gMonFootprint_Kingdra,
+ [SPECIES_PHANPY] = gMonFootprint_Phanpy,
+ [SPECIES_DONPHAN] = gMonFootprint_Donphan,
+ [SPECIES_PORYGON2] = gMonFootprint_Porygon2,
+ [SPECIES_STANTLER] = gMonFootprint_Stantler,
+ [SPECIES_SMEARGLE] = gMonFootprint_Smeargle,
+ [SPECIES_TYROGUE] = gMonFootprint_Tyrogue,
+ [SPECIES_HITMONTOP] = gMonFootprint_Hitmontop,
+ [SPECIES_SMOOCHUM] = gMonFootprint_Smoochum,
+ [SPECIES_ELEKID] = gMonFootprint_Elekid,
+ [SPECIES_MAGBY] = gMonFootprint_Magby,
+ [SPECIES_MILTANK] = gMonFootprint_Miltank,
+ [SPECIES_BLISSEY] = gMonFootprint_Blissey,
+ [SPECIES_RAIKOU] = gMonFootprint_Raikou,
+ [SPECIES_ENTEI] = gMonFootprint_Entei,
+ [SPECIES_SUICUNE] = gMonFootprint_Suicune,
+ [SPECIES_LARVITAR] = gMonFootprint_Larvitar,
+ [SPECIES_PUPITAR] = gMonFootprint_Pupitar,
+ [SPECIES_TYRANITAR] = gMonFootprint_Tyranitar,
+ [SPECIES_LUGIA] = gMonFootprint_Lugia,
+ [SPECIES_HO_OH] = gMonFootprint_HoOh,
+ [SPECIES_CELEBI] = gMonFootprint_Celebi,
+ [SPECIES_OLD_UNOWN_B] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_C] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_D] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_E] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_F] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_G] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_H] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_I] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_J] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_K] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_L] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_M] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_N] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_O] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_P] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_Q] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_R] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_S] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_T] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_U] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_V] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_W] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_X] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_Y] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_Z] = gMonFootprint_QuestionMark,
+ [SPECIES_TREECKO] = gMonFootprint_Treecko,
+ [SPECIES_GROVYLE] = gMonFootprint_Grovyle,
+ [SPECIES_SCEPTILE] = gMonFootprint_Sceptile,
+ [SPECIES_TORCHIC] = gMonFootprint_Torchic,
+ [SPECIES_COMBUSKEN] = gMonFootprint_Combusken,
+ [SPECIES_BLAZIKEN] = gMonFootprint_Blaziken,
+ [SPECIES_MUDKIP] = gMonFootprint_Mudkip,
+ [SPECIES_MARSHTOMP] = gMonFootprint_Marshtomp,
+ [SPECIES_SWAMPERT] = gMonFootprint_Swampert,
+ [SPECIES_POOCHYENA] = gMonFootprint_Poochyena,
+ [SPECIES_MIGHTYENA] = gMonFootprint_Mightyena,
+ [SPECIES_ZIGZAGOON] = gMonFootprint_Zigzagoon,
+ [SPECIES_LINOONE] = gMonFootprint_Linoone,
+ [SPECIES_WURMPLE] = gMonFootprint_Wurmple,
+ [SPECIES_SILCOON] = gMonFootprint_Silcoon,
+ [SPECIES_BEAUTIFLY] = gMonFootprint_Beautifly,
+ [SPECIES_CASCOON] = gMonFootprint_Cascoon,
+ [SPECIES_DUSTOX] = gMonFootprint_Dustox,
+ [SPECIES_LOTAD] = gMonFootprint_Lotad,
+ [SPECIES_LOMBRE] = gMonFootprint_Lombre,
+ [SPECIES_LUDICOLO] = gMonFootprint_Ludicolo,
+ [SPECIES_SEEDOT] = gMonFootprint_Seedot,
+ [SPECIES_NUZLEAF] = gMonFootprint_Nuzleaf,
+ [SPECIES_SHIFTRY] = gMonFootprint_Shiftry,
+ [SPECIES_NINCADA] = gMonFootprint_Nincada,
+ [SPECIES_NINJASK] = gMonFootprint_Ninjask,
+ [SPECIES_SHEDINJA] = gMonFootprint_Shedinja,
+ [SPECIES_TAILLOW] = gMonFootprint_Taillow,
+ [SPECIES_SWELLOW] = gMonFootprint_Swellow,
+ [SPECIES_SHROOMISH] = gMonFootprint_Shroomish,
+ [SPECIES_BRELOOM] = gMonFootprint_Breloom,
+ [SPECIES_SPINDA] = gMonFootprint_Spinda,
+ [SPECIES_WINGULL] = gMonFootprint_Wingull,
+ [SPECIES_PELIPPER] = gMonFootprint_Pelipper,
+ [SPECIES_SURSKIT] = gMonFootprint_Surskit,
+ [SPECIES_MASQUERAIN] = gMonFootprint_Masquerain,
+ [SPECIES_WAILMER] = gMonFootprint_Wailmer,
+ [SPECIES_WAILORD] = gMonFootprint_Wailord,
+ [SPECIES_SKITTY] = gMonFootprint_Skitty,
+ [SPECIES_DELCATTY] = gMonFootprint_Delcatty,
+ [SPECIES_KECLEON] = gMonFootprint_Kecleon,
+ [SPECIES_BALTOY] = gMonFootprint_Baltoy,
+ [SPECIES_CLAYDOL] = gMonFootprint_Claydol,
+ [SPECIES_NOSEPASS] = gMonFootprint_Nosepass,
+ [SPECIES_TORKOAL] = gMonFootprint_Torkoal,
+ [SPECIES_SABLEYE] = gMonFootprint_Sableye,
+ [SPECIES_BARBOACH] = gMonFootprint_Barboach,
+ [SPECIES_WHISCASH] = gMonFootprint_Whiscash,
+ [SPECIES_LUVDISC] = gMonFootprint_Luvdisc,
+ [SPECIES_CORPHISH] = gMonFootprint_Corphish,
+ [SPECIES_CRAWDAUNT] = gMonFootprint_Crawdaunt,
+ [SPECIES_FEEBAS] = gMonFootprint_Feebas,
+ [SPECIES_MILOTIC] = gMonFootprint_Milotic,
+ [SPECIES_CARVANHA] = gMonFootprint_Carvanha,
+ [SPECIES_SHARPEDO] = gMonFootprint_Sharpedo,
+ [SPECIES_TRAPINCH] = gMonFootprint_Trapinch,
+ [SPECIES_VIBRAVA] = gMonFootprint_Vibrava,
+ [SPECIES_FLYGON] = gMonFootprint_Flygon,
+ [SPECIES_MAKUHITA] = gMonFootprint_Makuhita,
+ [SPECIES_HARIYAMA] = gMonFootprint_Hariyama,
+ [SPECIES_ELECTRIKE] = gMonFootprint_Electrike,
+ [SPECIES_MANECTRIC] = gMonFootprint_Manectric,
+ [SPECIES_NUMEL] = gMonFootprint_Numel,
+ [SPECIES_CAMERUPT] = gMonFootprint_Camerupt,
+ [SPECIES_SPHEAL] = gMonFootprint_Spheal,
+ [SPECIES_SEALEO] = gMonFootprint_Sealeo,
+ [SPECIES_WALREIN] = gMonFootprint_Walrein,
+ [SPECIES_CACNEA] = gMonFootprint_Cacnea,
+ [SPECIES_CACTURNE] = gMonFootprint_Cacturne,
+ [SPECIES_SNORUNT] = gMonFootprint_Snorunt,
+ [SPECIES_GLALIE] = gMonFootprint_Glalie,
+ [SPECIES_LUNATONE] = gMonFootprint_Lunatone,
+ [SPECIES_SOLROCK] = gMonFootprint_Solrock,
+ [SPECIES_AZURILL] = gMonFootprint_Azurill,
+ [SPECIES_SPOINK] = gMonFootprint_Spoink,
+ [SPECIES_GRUMPIG] = gMonFootprint_Grumpig,
+ [SPECIES_PLUSLE] = gMonFootprint_Plusle,
+ [SPECIES_MINUN] = gMonFootprint_Minun,
+ [SPECIES_MAWILE] = gMonFootprint_Mawile,
+ [SPECIES_MEDITITE] = gMonFootprint_Meditite,
+ [SPECIES_MEDICHAM] = gMonFootprint_Medicham,
+ [SPECIES_SWABLU] = gMonFootprint_Swablu,
+ [SPECIES_ALTARIA] = gMonFootprint_Altaria,
+ [SPECIES_WYNAUT] = gMonFootprint_Wynaut,
+ [SPECIES_DUSKULL] = gMonFootprint_Duskull,
+ [SPECIES_DUSCLOPS] = gMonFootprint_Dusclops,
+ [SPECIES_ROSELIA] = gMonFootprint_Roselia,
+ [SPECIES_SLAKOTH] = gMonFootprint_Slakoth,
+ [SPECIES_VIGOROTH] = gMonFootprint_Vigoroth,
+ [SPECIES_SLAKING] = gMonFootprint_Slaking,
+ [SPECIES_GULPIN] = gMonFootprint_Gulpin,
+ [SPECIES_SWALOT] = gMonFootprint_Swalot,
+ [SPECIES_TROPIUS] = gMonFootprint_Tropius,
+ [SPECIES_WHISMUR] = gMonFootprint_Whismur,
+ [SPECIES_LOUDRED] = gMonFootprint_Loudred,
+ [SPECIES_EXPLOUD] = gMonFootprint_Exploud,
+ [SPECIES_CLAMPERL] = gMonFootprint_Clamperl,
+ [SPECIES_HUNTAIL] = gMonFootprint_Huntail,
+ [SPECIES_GOREBYSS] = gMonFootprint_Gorebyss,
+ [SPECIES_ABSOL] = gMonFootprint_Absol,
+ [SPECIES_SHUPPET] = gMonFootprint_Shuppet,
+ [SPECIES_BANETTE] = gMonFootprint_Banette,
+ [SPECIES_SEVIPER] = gMonFootprint_Seviper,
+ [SPECIES_ZANGOOSE] = gMonFootprint_Zangoose,
+ [SPECIES_RELICANTH] = gMonFootprint_Relicanth,
+ [SPECIES_ARON] = gMonFootprint_Aron,
+ [SPECIES_LAIRON] = gMonFootprint_Lairon,
+ [SPECIES_AGGRON] = gMonFootprint_Aggron,
+ [SPECIES_CASTFORM] = gMonFootprint_Castform,
+ [SPECIES_VOLBEAT] = gMonFootprint_Volbeat,
+ [SPECIES_ILLUMISE] = gMonFootprint_Illumise,
+ [SPECIES_LILEEP] = gMonFootprint_Lileep,
+ [SPECIES_CRADILY] = gMonFootprint_Cradily,
+ [SPECIES_ANORITH] = gMonFootprint_Anorith,
+ [SPECIES_ARMALDO] = gMonFootprint_Armaldo,
+ [SPECIES_RALTS] = gMonFootprint_Ralts,
+ [SPECIES_KIRLIA] = gMonFootprint_Kirlia,
+ [SPECIES_GARDEVOIR] = gMonFootprint_Gardevoir,
+ [SPECIES_BAGON] = gMonFootprint_Bagon,
+ [SPECIES_SHELGON] = gMonFootprint_Shelgon,
+ [SPECIES_SALAMENCE] = gMonFootprint_Salamence,
+ [SPECIES_BELDUM] = gMonFootprint_Beldum,
+ [SPECIES_METANG] = gMonFootprint_Metang,
+ [SPECIES_METAGROSS] = gMonFootprint_Metagross,
+ [SPECIES_REGIROCK] = gMonFootprint_Regirock,
+ [SPECIES_REGICE] = gMonFootprint_Regice,
+ [SPECIES_REGISTEEL] = gMonFootprint_Registeel,
+ [SPECIES_KYOGRE] = gMonFootprint_Kyogre,
+ [SPECIES_GROUDON] = gMonFootprint_Groudon,
+ [SPECIES_RAYQUAZA] = gMonFootprint_Rayquaza,
+ [SPECIES_LATIAS] = gMonFootprint_Latias,
+ [SPECIES_LATIOS] = gMonFootprint_Latios,
+ [SPECIES_JIRACHI] = gMonFootprint_Jirachi,
+ [SPECIES_DEOXYS] = gMonFootprint_Deoxys,
+ [SPECIES_CHIMECHO] = gMonFootprint_Chimecho,
+ [SPECIES_EGG] = gMonFootprint_Bulbasaur,
};
diff --git a/src/data/pokemon_graphics/front_anims.h b/src/data/pokemon_graphics/front_anims.h
deleted file mode 100644
index 8a42eb5c9..000000000
--- a/src/data/pokemon_graphics/front_anims.h
+++ /dev/null
@@ -1,7394 +0,0 @@
-
-const union AnimCmd gAnimCmd_NONE_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BULBASAUR_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_IVYSAUR_1[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 36),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_VENUSAUR_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CHARMANDER_1[] =
-{
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 46),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CHARMELEON_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CHARIZARD_1[] =
-{
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SQUIRTLE_1[] =
-{
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WARTORTLE_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BLASTOISE_1[] =
-{
- ANIMCMD_FRAME(0, 50),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CATERPIE_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_METAPOD_1[] =
-{
- ANIMCMD_FRAME(1, 45),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BUTTERFREE_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 25),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WEEDLE_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KAKUNA_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BEEDRILL_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 28),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PIDGEY_1[] =
-{
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PIDGEOTTO_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PIDGEOT_1[] =
-{
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-
-const union AnimCmd gAnimCmd_RATTATA_1[] =
-{
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 28),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_RATICATE_1[] =
-{
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SPEAROW_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_FEAROW_1[] =
-{
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_EKANS_1[] =
-{
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ARBOK_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PIKACHU_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PIKACHU_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_RAICHU_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_RAICHU_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SANDSHREW_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SANDSHREW_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SANDSLASH_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SANDSLASH_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NIDORAN_F_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 50),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NIDORINA_1[] =
-{
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NIDOQUEEN_1[] =
-{
- ANIMCMD_FRAME(1, 45),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NIDORAN_M_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NIDORINO_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NIDOKING_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CLEFAIRY_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CLEFABLE_1[] =
-{
- ANIMCMD_FRAME(1, 27),
- ANIMCMD_FRAME(0, 27),
- ANIMCMD_FRAME(1, 24),
- ANIMCMD_FRAME(0, 25),
- ANIMCMD_FRAME(1, 27),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_VULPIX_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_VULPIX_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NINETALES_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NINETALES_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_JIGGLYPUFF_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_JIGGLYPUFF_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WIGGLYTUFF_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WIGGLYTUFF_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ZUBAT_1[] =
-{
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GOLBAT_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ODDISH_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 11),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 11),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 11),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GLOOM_1[] =
-{
- ANIMCMD_FRAME(0, 21),
- ANIMCMD_FRAME(1, 45),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_VILEPLUME_1[] =
-{
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 21),
- ANIMCMD_FRAME(0, 13),
- ANIMCMD_FRAME(1, 21),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PARAS_1[] =
-{
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PARASECT_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_VENONAT_1[] =
-{
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 35),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_VENOMOTH_1[] =
-{
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DIGLETT_1[] =
-{
- ANIMCMD_FRAME(0, 25),
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DUGTRIO_1[] =
-{
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MEOWTH_1[] =
-{
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 17),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PERSIAN_1[] =
-{
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PSYDUCK_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PSYDUCK_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GOLDUCK_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GOLDUCK_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MANKEY_1[] =
-{
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 28),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PRIMEAPE_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GROWLITHE_1[] =
-{
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ARCANINE_1[] =
-{
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,};
-
-const union AnimCmd gAnimCmd_POLIWAG_1[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_POLIWHIRL_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_POLIWRATH_1[] =
-{
- ANIMCMD_FRAME(1, 45),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ABRA_1[] =
-{
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 21),
- ANIMCMD_FRAME(0, 13),
- ANIMCMD_FRAME(1, 21),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KADABRA_1[] =
-{
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 45),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ALAKAZAM_1[] =
-{
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_FRAME(1, 54),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MACHOP_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MACHOKE_1[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 44),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MACHAMP_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 11),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 11),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 11),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BELLSPROUT_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WEEPINBELL_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_VICTREEBEL_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TENTACOOL_1[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 11),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TENTACRUEL_1[] =
-{
- ANIMCMD_FRAME(0, 19),
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 19),
- ANIMCMD_FRAME(1, 19),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GEODUDE_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 36),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GRAVELER_1[] =
-{
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_FRAME(1, 16),
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_FRAME(1, 16),
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GOLEM_1[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 31),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PONYTA_1[] =
-{
- ANIMCMD_FRAME(1, 45),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_RAPIDASH_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SLOWPOKE_1[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SLOWBRO_1[] =
-{
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 45),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MAGNEMITE_1[] =
-{
- ANIMCMD_FRAME(0, 28),
- ANIMCMD_FRAME(1, 28),
- ANIMCMD_FRAME(0, 28),
- ANIMCMD_FRAME(1, 28),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MAGNETON_1[] =
-{
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_FARFETCHD_1[] =
-{
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DODUO_1[] =
-{
- ANIMCMD_FRAME(0, 18),
- ANIMCMD_FRAME(1, 18),
- ANIMCMD_FRAME(0, 18),
- ANIMCMD_FRAME(1, 18),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DODRIO_1[] =
-{
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SEEL_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DEWGONG_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GRIMER_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GRIMER_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MUK_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MUK_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SHELLDER_1[] =
-{
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 45),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CLOYSTER_1[] =
-{
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 25),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GASTLY_1[] =
-{
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HAUNTER_1[] =
-{
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GENGAR_1[] =
-{
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ONIX_1[] =
-{
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DROWZEE_1[] =
-{
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 45),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HYPNO_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KRABBY_1[] =
-{
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KINGLER_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 25),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_VOLTORB_1[] =
-{
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ELECTRODE_1[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_EXEGGCUTE_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_EXEGGUTOR_1[] =
-{
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,};
-
-
-const union AnimCmd gAnimCmd_CUBONE_1[] =
-{
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MAROWAK_1[] =
-{
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HITMONLEE_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HITMONCHAN_1[] =
-{
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LICKITUNG_1[] =
-{
- ANIMCMD_FRAME(0, 28),
- ANIMCMD_FRAME(1, 32),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KOFFING_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KOFFING_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WEEZING_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WEEZING_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_RHYHORN_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_RHYHORN_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_RHYDON_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 48),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_RHYDON_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CHANSEY_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TANGELA_1[] =
-{
- ANIMCMD_FRAME(1, 9),
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_FRAME(1, 9),
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_FRAME(1, 9),
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_FRAME(1, 9),
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_FRAME(1, 9),
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KANGASKHAN_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HORSEA_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HORSEA_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SEADRA_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SEADRA_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GOLDEEN_1[] =
-{
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_FRAME(1, 16),
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_FRAME(1, 16),
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_FRAME(1, 16),
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_FRAME(1, 16),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SEAKING_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_STARYU_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_STARYU_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_STARMIE_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_STARMIE_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MR_MIME_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SCYTHER_1[] =
-{
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_JYNX_1[] =
-{
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ELECTABUZZ_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MAGMAR_1[] =
-{
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PINSIR_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PINSIR_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TAUROS_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MAGIKARP_1[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GYARADOS_1[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 32),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LAPRAS_1[] =
-{
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DITTO_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_EEVEE_1[] =
-{
- ANIMCMD_FRAME(1, 33),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_VAPOREON_1[] =
-{
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_JOLTEON_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_FLAREON_1[] =
-{
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PORYGON_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_OMANYTE_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_OMASTAR_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KABUTO_1[] =
-{
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KABUTOPS_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_AERODACTYL_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 25),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 25),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SNORLAX_1[] =
-{
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ARTICUNO_1[] =
-{
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ZAPDOS_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MOLTRES_1[] =
-{
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DRATINI_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DRAGONAIR_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DRAGONITE_1[] =
-{
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MEWTWO_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MEW_1[] =
-{
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CHIKORITA_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,};
-
-
-const union AnimCmd gAnimCmd_BAYLEEF_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MEGANIUM_1[] =
-{
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CYNDAQUIL_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_QUILAVA_1[] =
-{
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TYPHLOSION_1[] =
-{
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TOTODILE_1[] =
-{
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CROCONAW_1[] =
-{
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_FERALIGATR_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 40),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SENTRET_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_FURRET_1[] =
-{
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HOOTHOOT_1[] =
-{
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NOCTOWL_1[] =
-{
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LEDYBA_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LEDIAN_1[] =
-{
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SPINARAK_1[] =
-{
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ARIADOS_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CROBAT_1[] =
-{
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CHINCHOU_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CHINCHOU_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LANTURN_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LANTURN_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PICHU_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PICHU_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CLEFFA_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_IGGLYBUFF_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_IGGLYBUFF_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TOGEPI_1[] =
-{
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TOGETIC_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NATU_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NATU_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_XATU_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 45),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_XATU_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MAREEP_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_FLAAFFY_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_AMPHAROS_1[] =
-{
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BELLOSSOM_1[] =
-{
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MARILL_1[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 44),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 44),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_AZUMARILL_1[] =
-{
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SUDOWOODO_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_POLITOED_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HOPPIP_1[] =
-{
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 25),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 25),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SKIPLOOM_1[] =
-{
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_JUMPLUFF_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 25),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 25),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_AIPOM_1[] =
-{
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SUNKERN_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SUNFLORA_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_YANMA_1[] =
-{
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WOOPER_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_QUAGSIRE_1[] =
-{
- ANIMCMD_FRAME(1, 32),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ESPEON_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UMBREON_1[] =
-{
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MURKROW_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SLOWKING_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MISDREAVUS_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WOBBUFFET_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WOBBUFFET_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GIRAFARIG_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GIRAFARIG_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PINECO_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_FORRETRESS_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DUNSPARCE_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GLIGAR_1[] =
-{
- ANIMCMD_FRAME(1, 17),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_STEELIX_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SNUBBULL_1[] =
-{
- ANIMCMD_FRAME(1, 32),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GRANBULL_1[] =
-{
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_QWILFISH_1[] =
-{
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SCIZOR_1[] =
-{
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SHUCKLE_1[] =
-{
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HERACROSS_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HERACROSS_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SNEASEL_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TEDDIURSA_1[] =
-{
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_URSARING_1[] =
-{
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SLUGMA_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SLUGMA_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MAGCARGO_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MAGCARGO_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SWINUB_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PILOSWINE_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CORSOLA_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CORSOLA_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_REMORAID_1[] =
-{
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_OCTILLERY_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DELIBIRD_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MANTINE_1[] =
-{
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 40),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SKARMORY_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SKARMORY_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HOUNDOUR_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HOUNDOOM_1[] =
-{
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KINGDRA_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KINGDRA_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PHANPY_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PHANPY_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DONPHAN_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DONPHAN_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PORYGON2_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_STANTLER_1[] =
-{
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SMEARGLE_1[] =
-{
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TYROGUE_1[] =
-{
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HITMONTOP_1[] =
-{
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SMOOCHUM_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ELEKID_1[] =
-{
- ANIMCMD_FRAME(1, 50),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MAGBY_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MILTANK_1[] =
-{
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BLISSEY_1[] =
-{
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_RAIKOU_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ENTEI_1[] =
-{
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SUICUNE_1[] =
-{
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LARVITAR_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PUPITAR_1[] =
-{
- ANIMCMD_FRAME(1, 40),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TYRANITAR_1[] =
-{
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LUGIA_1[] =
-{
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HO_OH_1[] =
-{
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CELEBI_1[] =
-{
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_OLD_UNOWN_B_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TREECKO_1[] =
-{
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_END,};
-
-const union AnimCmd gAnimCmd_GROVYLE_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 18),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SCEPTILE_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 26),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TORCHIC_1[] =
-{
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_COMBUSKEN_1[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_END,};
-
-const union AnimCmd gAnimCmd_BLAZIKEN_1[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BLAZIKEN_2[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(2, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BLAZIKEN_3[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(2, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BLAZIKEN_4[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MUDKIP_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 13),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MARSHTOMP_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SWAMPERT_1[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 44),
- ANIMCMD_FRAME(0, 18),
- ANIMCMD_FRAME(1, 18),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_POOCHYENA_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 44),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MIGHTYENA_1[] =
-{
- ANIMCMD_FRAME(0, 27),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ZIGZAGOON_1[] =
-{
- ANIMCMD_FRAME(0, 27),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LINOONE_1[] =
-{
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WURMPLE_1[] =
-{
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SILCOON_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SILCOON_2[] =
-{
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BEAUTIFLY_1[] =
-{
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BEAUTIFLY_2[] =
-{
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CASCOON_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CASCOON_2[] =
-{
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DUSTOX_1[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(1, 4),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DUSTOX_2[] =
-{
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LOTAD_1[] =
-{
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 55),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LOMBRE_1[] =
-{
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LUDICOLO_1[] =
-{
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SEEDOT_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NUZLEAF_1[] =
-{
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SHIFTRY_1[] =
-{
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NINCADA_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 33),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NINJASK_1[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_FRAME(0, 33),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SHEDINJA_1[] =
-{
- ANIMCMD_FRAME(0, 33),
- ANIMCMD_FRAME(1, 33),
- ANIMCMD_FRAME(0, 33),
- ANIMCMD_FRAME(1, 33),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TAILLOW_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SWELLOW_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 18),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SHROOMISH_1[] =
-{
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BRELOOM_1[] =
-{
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WINGULL_1[] =
-{
- ANIMCMD_FRAME(0, 17),
- ANIMCMD_FRAME(1, 23),
- ANIMCMD_FRAME(0, 13),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PELIPPER_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SURSKIT_1[] =
-{
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 18),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 18),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SURSKIT_2[] =
-{
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MASQUERAIN_1[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MASQUERAIN_2[] =
-{
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WAILMER_1[] =
-{
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WAILORD_1[] =
-{
- ANIMCMD_FRAME(0, 26),
- ANIMCMD_FRAME(1, 48),
- ANIMCMD_FRAME(0, 33),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SKITTY_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 35),
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DELCATTY_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 46),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KECLEON_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 18),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BALTOY_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 50),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CLAYDOL_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NOSEPASS_1[] =
-{
- ANIMCMD_FRAME(0, 27),
- ANIMCMD_FRAME(1, 27),
- ANIMCMD_FRAME(0, 27),
- ANIMCMD_FRAME(1, 27),
- ANIMCMD_FRAME(0, 27),
- ANIMCMD_FRAME(1, 27),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TORKOAL_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SABLEYE_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BARBOACH_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 50),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WHISCASH_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LUVDISC_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CORPHISH_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 50),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CRAWDAUNT_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_FEEBAS_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MILOTIC_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CARVANHA_1[] =
-{
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SHARPEDO_1[] =
-{
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TRAPINCH_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_VIBRAVA_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 50),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_FLYGON_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 50),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MAKUHITA_1[] =
-{
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HARIYAMA_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(1, 16),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ELECTRIKE_1[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 17),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MANECTRIC_1[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 33),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_NUMEL_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 40),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CAMERUPT_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SPHEAL_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 43),
- ANIMCMD_FRAME(1, 60),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SEALEO_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WALREIN_1[] =
-{
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CACNEA_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CACTURNE_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SNORUNT_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GLALIE_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LUNATONE_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LUNATONE_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SOLROCK_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SOLROCK_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_AZURILL_1[] =
-{
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 12),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SPOINK_1[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GRUMPIG_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_PLUSLE_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MINUN_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MAWILE_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MEDITITE_1[] =
-{
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 2),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_MEDICHAM_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 11),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 11),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 11),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SWABLU_1[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SWABLU_2[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(2, 8),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(2, 8),
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(2, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ALTARIA_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ALTARIA_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WYNAUT_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DUSKULL_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DUSCLOPS_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ROSELIA_1[] =
-{
- ANIMCMD_FRAME(0, 18),
- ANIMCMD_FRAME(1, 44),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SLAKOTH_1[] =
-{
- ANIMCMD_FRAME(0, 13),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_VIGOROTH_1[] =
-{
- ANIMCMD_FRAME(0, 13),
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 13),
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 13),
- ANIMCMD_FRAME(1, 7),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SLAKING_1[] =
-{
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GULPIN_1[] =
-{
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SWALOT_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_TROPIUS_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_WHISMUR_1[] =
-{
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_FRAME(1, 9),
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_FRAME(1, 9),
- ANIMCMD_FRAME(0, 33),
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_FRAME(1, 9),
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_FRAME(1, 9),
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LOUDRED_1[] =
-{
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_FRAME(1, 9),
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_FRAME(1, 9),
- ANIMCMD_FRAME(0, 33),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_EXPLOUD_1[] =
-{
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_FRAME(1, 44),
- ANIMCMD_FRAME(0, 9),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CLAMPERL_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_HUNTAIL_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GOREBYSS_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ABSOL_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SHUPPET_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BANETTE_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SEVIPER_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 50),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ZANGOOSE_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 50),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_RELICANTH_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ARON_1[] =
-{
- ANIMCMD_FRAME(0, 33),
- ANIMCMD_FRAME(1, 44),
- ANIMCMD_FRAME(0, 33),
- ANIMCMD_FRAME(1, 33),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LAIRON_1[] =
-{
- ANIMCMD_FRAME(0, 12),
- ANIMCMD_FRAME(1, 29),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 29),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_AGGRON_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 44),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CASTFORM_0[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CASTFORM_1[] =
-{
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CASTFORM_2[] =
-{
- ANIMCMD_FRAME(2, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CASTFORM_3[] =
-{
- ANIMCMD_FRAME(3, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_VOLBEAT_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 11),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 11),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 11),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ILLUMISE_1[] =
-{
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LILEEP_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CRADILY_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ANORITH_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_ARMALDO_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_RALTS_1[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 25),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KIRLIA_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 39),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GARDEVOIR_1[] =
-{
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(1, 3),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BAGON_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SHELGON_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_SALAMENCE_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_BELDUM_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_METANG_1[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_METAGROSS_1[] =
-{
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_FRAME(1, 16),
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_FRAME(1, 16),
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_REGIROCK_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_REGIROCK_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_REGICE_1[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 18),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_REGISTEEL_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_REGISTEEL_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KYOGRE_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_KYOGRE_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GROUDON_1[] =
-{
- ANIMCMD_FRAME(0, 11),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 20),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_GROUDON_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_RAYQUAZA_1[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_RAYQUAZA_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LATIAS_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LATIAS_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LATIOS_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_LATIOS_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_JIRACHI_1[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(1, 10),
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_JIRACHI_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DEOXYS_1[] =
-{
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_FRAME(1, 16),
- ANIMCMD_FRAME(0, 26),
- ANIMCMD_FRAME(1, 16),
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_DEOXYS_2[] =
-{
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_FRAME(0, 20),
- ANIMCMD_FRAME(2, 20),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_CHIMECHO_1[] =
-{
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_FRAME(1, 15),
- ANIMCMD_FRAME(0, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_EGG_1[] =
-{
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_FRAME(2, 6),
- ANIMCMD_FRAME(3, 6),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_B_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_C_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_D_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_E_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_F_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_G_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_H_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_I_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_J_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_K_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_L_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_M_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_N_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_O_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_P_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_Q_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_R_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_S_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_T_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_U_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_V_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_W_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_X_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_Y_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_Z_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_EMARK_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_UNOWN_QMARK_1[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_FRAME(1, 30),
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gAnims_NONE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NONE_1,
-};
-
-const union AnimCmd *const gAnims_BULBASAUR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BULBASAUR_1,
-};
-
-const union AnimCmd *const gAnims_IVYSAUR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_IVYSAUR_1,
-};
-
-const union AnimCmd *const gAnims_VENUSAUR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_VENUSAUR_1,
-};
-
-const union AnimCmd *const gAnims_CHARMANDER[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CHARMANDER_1,
-};
-
-const union AnimCmd *const gAnims_CHARMELEON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CHARMELEON_1,
-};
-
-const union AnimCmd *const gAnims_CHARIZARD[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CHARIZARD_1,
-};
-
-const union AnimCmd *const gAnims_SQUIRTLE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SQUIRTLE_1,
-};
-
-const union AnimCmd *const gAnims_WARTORTLE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WARTORTLE_1,
-};
-
-const union AnimCmd *const gAnims_BLASTOISE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BLASTOISE_1,
-};
-
-const union AnimCmd *const gAnims_CATERPIE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CATERPIE_1,
-};
-
-const union AnimCmd *const gAnims_METAPOD[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_METAPOD_1,
-};
-
-const union AnimCmd *const gAnims_BUTTERFREE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BUTTERFREE_1,
-};
-
-const union AnimCmd *const gAnims_WEEDLE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WEEDLE_1,
-};
-
-const union AnimCmd *const gAnims_KAKUNA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_KAKUNA_1,
-};
-
-const union AnimCmd *const gAnims_BEEDRILL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BEEDRILL_1,
-};
-
-const union AnimCmd *const gAnims_PIDGEY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PIDGEY_1,
-};
-
-const union AnimCmd *const gAnims_PIDGEOTTO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PIDGEOTTO_1,
-};
-
-const union AnimCmd *const gAnims_PIDGEOT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PIDGEOT_1,
-};
-
-const union AnimCmd *const gAnims_RATTATA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_RATTATA_1,
-};
-
-const union AnimCmd *const gAnims_RATICATE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_RATICATE_1,
-};
-
-const union AnimCmd *const gAnims_SPEAROW[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SPEAROW_1,
-};
-
-const union AnimCmd *const gAnims_FEAROW[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_FEAROW_1,
-};
-
-const union AnimCmd *const gAnims_EKANS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_EKANS_1,
-};
-
-const union AnimCmd *const gAnims_ARBOK[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ARBOK_1,
-};
-
-const union AnimCmd *const gAnims_PIKACHU[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PIKACHU_1,
- gAnimCmd_PIKACHU_2,
-};
-
-const union AnimCmd *const gAnims_RAICHU[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_RAICHU_1,
- gAnimCmd_RAICHU_2,
-};
-
-const union AnimCmd *const gAnims_SANDSHREW[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SANDSHREW_1,
- gAnimCmd_SANDSHREW_2,
-};
-
-const union AnimCmd *const gAnims_SANDSLASH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SANDSLASH_1,
- gAnimCmd_SANDSLASH_2,
-};
-
-const union AnimCmd *const gAnims_NIDORAN_F[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NIDORAN_F_1,
-};
-
-const union AnimCmd *const gAnims_NIDORINA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NIDORINA_1,
-};
-
-const union AnimCmd *const gAnims_NIDOQUEEN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NIDOQUEEN_1,
-};
-
-const union AnimCmd *const gAnims_NIDORAN_M[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NIDORAN_M_1,
-};
-
-const union AnimCmd *const gAnims_NIDORINO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NIDORINO_1,
-};
-
-const union AnimCmd *const gAnims_NIDOKING[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NIDOKING_1,
-};
-
-const union AnimCmd *const gAnims_CLEFAIRY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CLEFAIRY_1,
-};
-
-const union AnimCmd *const gAnims_CLEFABLE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CLEFABLE_1,
-};
-
-const union AnimCmd *const gAnims_VULPIX[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_VULPIX_1,
- gAnimCmd_VULPIX_2,
-};
-
-const union AnimCmd *const gAnims_NINETALES[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NINETALES_1,
- gAnimCmd_NINETALES_2,
-};
-
-const union AnimCmd *const gAnims_JIGGLYPUFF[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_JIGGLYPUFF_1,
- gAnimCmd_JIGGLYPUFF_2,
-};
-
-const union AnimCmd *const gAnims_WIGGLYTUFF[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WIGGLYTUFF_1,
- gAnimCmd_WIGGLYTUFF_2,
-};
-
-const union AnimCmd *const gAnims_ZUBAT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ZUBAT_1,
-};
-
-const union AnimCmd *const gAnims_GOLBAT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GOLBAT_1,
-};
-
-const union AnimCmd *const gAnims_ODDISH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ODDISH_1,
-};
-
-const union AnimCmd *const gAnims_GLOOM[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GLOOM_1,
-};
-
-const union AnimCmd *const gAnims_VILEPLUME[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_VILEPLUME_1,
-};
-
-const union AnimCmd *const gAnims_PARAS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PARAS_1,
-};
-
-const union AnimCmd *const gAnims_PARASECT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PARASECT_1,
-};
-
-const union AnimCmd *const gAnims_VENONAT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_VENONAT_1,
-};
-
-const union AnimCmd *const gAnims_VENOMOTH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_VENOMOTH_1,
-};
-
-const union AnimCmd *const gAnims_DIGLETT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DIGLETT_1,
-};
-
-const union AnimCmd *const gAnims_DUGTRIO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DUGTRIO_1,
-};
-
-const union AnimCmd *const gAnims_MEOWTH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MEOWTH_1,
-};
-
-const union AnimCmd *const gAnims_PERSIAN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PERSIAN_1,
-};
-
-const union AnimCmd *const gAnims_PSYDUCK[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PSYDUCK_1,
- gAnimCmd_PSYDUCK_2,
-};
-
-const union AnimCmd *const gAnims_GOLDUCK[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GOLDUCK_1,
- gAnimCmd_GOLDUCK_2,
-};
-
-const union AnimCmd *const gAnims_MANKEY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MANKEY_1,
-};
-
-const union AnimCmd *const gAnims_PRIMEAPE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PRIMEAPE_1,
-};
-
-const union AnimCmd *const gAnims_GROWLITHE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GROWLITHE_1,
-};
-
-const union AnimCmd *const gAnims_ARCANINE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ARCANINE_1,
-};
-
-const union AnimCmd *const gAnims_POLIWAG[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_POLIWAG_1,
-};
-
-const union AnimCmd *const gAnims_POLIWHIRL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_POLIWHIRL_1,
-};
-
-const union AnimCmd *const gAnims_POLIWRATH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_POLIWRATH_1,
-};
-
-const union AnimCmd *const gAnims_ABRA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ABRA_1,
-};
-
-const union AnimCmd *const gAnims_KADABRA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_KADABRA_1,
-};
-
-const union AnimCmd *const gAnims_ALAKAZAM[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ALAKAZAM_1,
-};
-
-const union AnimCmd *const gAnims_MACHOP[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MACHOP_1,
-};
-
-const union AnimCmd *const gAnims_MACHOKE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MACHOKE_1,
-};
-
-const union AnimCmd *const gAnims_MACHAMP[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MACHAMP_1,
-};
-
-const union AnimCmd *const gAnims_BELLSPROUT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BELLSPROUT_1,
-};
-
-const union AnimCmd *const gAnims_WEEPINBELL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WEEPINBELL_1,
-};
-
-const union AnimCmd *const gAnims_VICTREEBEL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_VICTREEBEL_1,
-};
-
-const union AnimCmd *const gAnims_TENTACOOL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TENTACOOL_1,
-};
-
-const union AnimCmd *const gAnims_TENTACRUEL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TENTACRUEL_1,
-};
-
-const union AnimCmd *const gAnims_GEODUDE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GEODUDE_1,
-};
-
-const union AnimCmd *const gAnims_GRAVELER[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GRAVELER_1,
-};
-
-const union AnimCmd *const gAnims_GOLEM[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GOLEM_1,
-};
-
-const union AnimCmd *const gAnims_PONYTA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PONYTA_1,
-};
-
-const union AnimCmd *const gAnims_RAPIDASH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_RAPIDASH_1,
-};
-
-const union AnimCmd *const gAnims_SLOWPOKE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SLOWPOKE_1,
-};
-
-const union AnimCmd *const gAnims_SLOWBRO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SLOWBRO_1,
-};
-
-const union AnimCmd *const gAnims_MAGNEMITE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MAGNEMITE_1,
-};
-
-const union AnimCmd *const gAnims_MAGNETON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MAGNETON_1,
-};
-
-const union AnimCmd *const gAnims_FARFETCHD[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_FARFETCHD_1,
-};
-
-const union AnimCmd *const gAnims_DODUO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DODUO_1,
-};
-
-const union AnimCmd *const gAnims_DODRIO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DODRIO_1,
-};
-
-const union AnimCmd *const gAnims_SEEL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SEEL_1,
-};
-
-const union AnimCmd *const gAnims_DEWGONG[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DEWGONG_1,
-};
-
-const union AnimCmd *const gAnims_GRIMER[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GRIMER_1,
- gAnimCmd_GRIMER_2,
-};
-
-const union AnimCmd *const gAnims_MUK[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MUK_1,
- gAnimCmd_MUK_2,
-};
-
-const union AnimCmd *const gAnims_SHELLDER[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SHELLDER_1,
-};
-
-const union AnimCmd *const gAnims_CLOYSTER[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CLOYSTER_1,
-};
-
-const union AnimCmd *const gAnims_GASTLY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GASTLY_1,
-};
-
-const union AnimCmd *const gAnims_HAUNTER[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HAUNTER_1,
-};
-
-const union AnimCmd *const gAnims_GENGAR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GENGAR_1,
-};
-
-const union AnimCmd *const gAnims_ONIX[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ONIX_1,
-};
-
-const union AnimCmd *const gAnims_DROWZEE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DROWZEE_1,
-};
-
-const union AnimCmd *const gAnims_HYPNO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HYPNO_1,
-};
-
-const union AnimCmd *const gAnims_KRABBY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_KRABBY_1,
-};
-
-const union AnimCmd *const gAnims_KINGLER[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_KINGLER_1,
-};
-
-const union AnimCmd *const gAnims_VOLTORB[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_VOLTORB_1,
-};
-
-const union AnimCmd *const gAnims_ELECTRODE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ELECTRODE_1,
-};
-
-const union AnimCmd *const gAnims_EXEGGCUTE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_EXEGGCUTE_1,
-};
-
-const union AnimCmd *const gAnims_EXEGGUTOR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_EXEGGUTOR_1,
-};
-
-const union AnimCmd *const gAnims_CUBONE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CUBONE_1,
-};
-
-const union AnimCmd *const gAnims_MAROWAK[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MAROWAK_1,
-};
-
-const union AnimCmd *const gAnims_HITMONLEE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HITMONLEE_1,
-};
-
-const union AnimCmd *const gAnims_HITMONCHAN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HITMONCHAN_1,
-};
-
-const union AnimCmd *const gAnims_LICKITUNG[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LICKITUNG_1,
-};
-
-const union AnimCmd *const gAnims_KOFFING[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_KOFFING_1,
- gAnimCmd_KOFFING_2,
-};
-
-const union AnimCmd *const gAnims_WEEZING[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WEEZING_1,
- gAnimCmd_WEEZING_2,
-};
-
-const union AnimCmd *const gAnims_RHYHORN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_RHYHORN_1,
- gAnimCmd_RHYHORN_2,
-};
-
-const union AnimCmd *const gAnims_RHYDON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_RHYDON_1,
- gAnimCmd_RHYDON_2,
-};
-
-const union AnimCmd *const gAnims_CHANSEY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CHANSEY_1,
-};
-
-const union AnimCmd *const gAnims_TANGELA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TANGELA_1,
-};
-
-const union AnimCmd *const gAnims_KANGASKHAN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_KANGASKHAN_1,
-};
-
-const union AnimCmd *const gAnims_HORSEA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HORSEA_1,
- gAnimCmd_HORSEA_2,
-};
-
-const union AnimCmd *const gAnims_SEADRA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SEADRA_1,
- gAnimCmd_SEADRA_2,
-};
-
-const union AnimCmd *const gAnims_GOLDEEN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GOLDEEN_1,
-};
-
-const union AnimCmd *const gAnims_SEAKING[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SEAKING_1,
-};
-
-const union AnimCmd *const gAnims_STARYU[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_STARYU_1,
- gAnimCmd_STARYU_2,
-};
-
-const union AnimCmd *const gAnims_STARMIE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_STARMIE_1,
- gAnimCmd_STARMIE_2,
-};
-
-const union AnimCmd *const gAnims_MR_MIME[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MR_MIME_1,
-};
-
-const union AnimCmd *const gAnims_SCYTHER[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SCYTHER_1,
-};
-
-const union AnimCmd *const gAnims_JYNX[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_JYNX_1,
-};
-
-const union AnimCmd *const gAnims_ELECTABUZZ[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ELECTABUZZ_1,
-};
-
-const union AnimCmd *const gAnims_MAGMAR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MAGMAR_1,
-};
-
-const union AnimCmd *const gAnims_PINSIR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PINSIR_1,
- gAnimCmd_PINSIR_2,
-};
-
-const union AnimCmd *const gAnims_TAUROS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TAUROS_1,
-};
-
-const union AnimCmd *const gAnims_MAGIKARP[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MAGIKARP_1,
-};
-
-const union AnimCmd *const gAnims_GYARADOS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GYARADOS_1,
-};
-
-const union AnimCmd *const gAnims_LAPRAS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LAPRAS_1,
-};
-
-const union AnimCmd *const gAnims_DITTO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DITTO_1,
-};
-
-const union AnimCmd *const gAnims_EEVEE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_EEVEE_1,
-};
-
-const union AnimCmd *const gAnims_VAPOREON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_VAPOREON_1,
-};
-
-const union AnimCmd *const gAnims_JOLTEON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_JOLTEON_1,
-};
-
-const union AnimCmd *const gAnims_FLAREON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_FLAREON_1,
-};
-
-const union AnimCmd *const gAnims_PORYGON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PORYGON_1,
-};
-
-const union AnimCmd *const gAnims_OMANYTE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_OMANYTE_1,
-};
-
-const union AnimCmd *const gAnims_OMASTAR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_OMASTAR_1,
-};
-
-const union AnimCmd *const gAnims_KABUTO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_KABUTO_1,
-};
-
-const union AnimCmd *const gAnims_KABUTOPS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_KABUTOPS_1,
-};
-
-const union AnimCmd *const gAnims_AERODACTYL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_AERODACTYL_1,
-};
-
-const union AnimCmd *const gAnims_SNORLAX[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SNORLAX_1,
-};
-
-const union AnimCmd *const gAnims_ARTICUNO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ARTICUNO_1,
-};
-
-const union AnimCmd *const gAnims_ZAPDOS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ZAPDOS_1,
-};
-
-const union AnimCmd *const gAnims_MOLTRES[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MOLTRES_1,
-};
-
-const union AnimCmd *const gAnims_DRATINI[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DRATINI_1,
-};
-
-const union AnimCmd *const gAnims_DRAGONAIR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DRAGONAIR_1,
-};
-
-const union AnimCmd *const gAnims_DRAGONITE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DRAGONITE_1,
-};
-
-const union AnimCmd *const gAnims_MEWTWO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MEWTWO_1,
-};
-
-const union AnimCmd *const gAnims_MEW[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MEW_1,
-};
-
-const union AnimCmd *const gAnims_CHIKORITA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CHIKORITA_1,
-};
-
-const union AnimCmd *const gAnims_BAYLEEF[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BAYLEEF_1,
-};
-
-const union AnimCmd *const gAnims_MEGANIUM[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MEGANIUM_1,
-};
-
-const union AnimCmd *const gAnims_CYNDAQUIL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CYNDAQUIL_1,
-};
-
-const union AnimCmd *const gAnims_QUILAVA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_QUILAVA_1,
-};
-
-const union AnimCmd *const gAnims_TYPHLOSION[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TYPHLOSION_1,
-};
-
-const union AnimCmd *const gAnims_TOTODILE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TOTODILE_1,
-};
-
-const union AnimCmd *const gAnims_CROCONAW[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CROCONAW_1,
-};
-
-const union AnimCmd *const gAnims_FERALIGATR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_FERALIGATR_1,
-};
-
-const union AnimCmd *const gAnims_SENTRET[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SENTRET_1,
-};
-
-const union AnimCmd *const gAnims_FURRET[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_FURRET_1,
-};
-
-const union AnimCmd *const gAnims_HOOTHOOT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HOOTHOOT_1,
-};
-
-const union AnimCmd *const gAnims_NOCTOWL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NOCTOWL_1,
-};
-
-const union AnimCmd *const gAnims_LEDYBA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LEDYBA_1,
-};
-
-const union AnimCmd *const gAnims_LEDIAN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LEDIAN_1,
-};
-
-const union AnimCmd *const gAnims_SPINARAK[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SPINARAK_1,
-};
-
-const union AnimCmd *const gAnims_ARIADOS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ARIADOS_1,
-};
-
-const union AnimCmd *const gAnims_CROBAT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CROBAT_1,
-};
-
-const union AnimCmd *const gAnims_CHINCHOU[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CHINCHOU_1,
- gAnimCmd_CHINCHOU_2,
-};
-
-const union AnimCmd *const gAnims_LANTURN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LANTURN_1,
- gAnimCmd_LANTURN_2,
-};
-
-const union AnimCmd *const gAnims_PICHU[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PICHU_1,
- gAnimCmd_PICHU_2,
-};
-
-const union AnimCmd *const gAnims_CLEFFA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CLEFFA_1,
-};
-
-const union AnimCmd *const gAnims_IGGLYBUFF[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_IGGLYBUFF_1,
- gAnimCmd_IGGLYBUFF_2,
-};
-
-const union AnimCmd *const gAnims_TOGEPI[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TOGEPI_1,
-};
-
-const union AnimCmd *const gAnims_TOGETIC[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TOGETIC_1,
-};
-
-const union AnimCmd *const gAnims_NATU[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NATU_1,
- gAnimCmd_NATU_2,
-};
-
-const union AnimCmd *const gAnims_XATU[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_XATU_1,
- gAnimCmd_XATU_2,
-};
-
-const union AnimCmd *const gAnims_MAREEP[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MAREEP_1,
-};
-
-const union AnimCmd *const gAnims_FLAAFFY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_FLAAFFY_1,
-};
-
-const union AnimCmd *const gAnims_AMPHAROS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_AMPHAROS_1,
-};
-
-const union AnimCmd *const gAnims_BELLOSSOM[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BELLOSSOM_1,
-};
-
-const union AnimCmd *const gAnims_MARILL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MARILL_1,
-};
-
-const union AnimCmd *const gAnims_AZUMARILL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_AZUMARILL_1,
-};
-
-const union AnimCmd *const gAnims_SUDOWOODO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SUDOWOODO_1,
-};
-
-const union AnimCmd *const gAnims_POLITOED[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_POLITOED_1,
-};
-
-const union AnimCmd *const gAnims_HOPPIP[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HOPPIP_1,
-};
-
-const union AnimCmd *const gAnims_SKIPLOOM[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SKIPLOOM_1,
-};
-
-const union AnimCmd *const gAnims_JUMPLUFF[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_JUMPLUFF_1,
-};
-
-const union AnimCmd *const gAnims_AIPOM[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_AIPOM_1,
-};
-
-const union AnimCmd *const gAnims_SUNKERN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SUNKERN_1,
-};
-
-const union AnimCmd *const gAnims_SUNFLORA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SUNFLORA_1,
-};
-
-const union AnimCmd *const gAnims_YANMA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_YANMA_1,
-};
-
-const union AnimCmd *const gAnims_WOOPER[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WOOPER_1,
-};
-
-const union AnimCmd *const gAnims_QUAGSIRE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_QUAGSIRE_1,
-};
-
-const union AnimCmd *const gAnims_ESPEON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ESPEON_1,
-};
-
-const union AnimCmd *const gAnims_UMBREON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UMBREON_1,
-};
-
-const union AnimCmd *const gAnims_MURKROW[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MURKROW_1,
-};
-
-const union AnimCmd *const gAnims_SLOWKING[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SLOWKING_1,
-};
-
-const union AnimCmd *const gAnims_MISDREAVUS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MISDREAVUS_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_1,
-};
-
-const union AnimCmd *const gAnims_WOBBUFFET[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WOBBUFFET_1,
- gAnimCmd_WOBBUFFET_2,
-};
-
-const union AnimCmd *const gAnims_GIRAFARIG[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GIRAFARIG_1,
- gAnimCmd_GIRAFARIG_2,
-};
-
-const union AnimCmd *const gAnims_PINECO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PINECO_1,
-};
-
-const union AnimCmd *const gAnims_FORRETRESS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_FORRETRESS_1,
-};
-
-const union AnimCmd *const gAnims_DUNSPARCE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DUNSPARCE_1,
-};
-
-const union AnimCmd *const gAnims_GLIGAR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GLIGAR_1,
-};
-
-const union AnimCmd *const gAnims_STEELIX[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_STEELIX_1,
-};
-
-const union AnimCmd *const gAnims_SNUBBULL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SNUBBULL_1,
-};
-
-const union AnimCmd *const gAnims_GRANBULL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GRANBULL_1,
-};
-
-const union AnimCmd *const gAnims_QWILFISH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_QWILFISH_1,
-};
-
-const union AnimCmd *const gAnims_SCIZOR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SCIZOR_1,
-};
-
-const union AnimCmd *const gAnims_SHUCKLE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SHUCKLE_1,
-};
-
-const union AnimCmd *const gAnims_HERACROSS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HERACROSS_1,
- gAnimCmd_HERACROSS_2,
-};
-
-const union AnimCmd *const gAnims_SNEASEL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SNEASEL_1,
-};
-
-const union AnimCmd *const gAnims_TEDDIURSA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TEDDIURSA_1,
-};
-
-const union AnimCmd *const gAnims_URSARING[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_URSARING_1,
-};
-
-const union AnimCmd *const gAnims_SLUGMA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SLUGMA_1,
- gAnimCmd_SLUGMA_2,
-};
-
-const union AnimCmd *const gAnims_MAGCARGO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MAGCARGO_1,
- gAnimCmd_MAGCARGO_2,
-};
-
-const union AnimCmd *const gAnims_SWINUB[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SWINUB_1,
-};
-
-const union AnimCmd *const gAnims_PILOSWINE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PILOSWINE_1,
-};
-
-const union AnimCmd *const gAnims_CORSOLA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CORSOLA_1,
- gAnimCmd_CORSOLA_2,
-};
-
-const union AnimCmd *const gAnims_REMORAID[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_REMORAID_1,
-};
-
-const union AnimCmd *const gAnims_OCTILLERY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_OCTILLERY_1,
-};
-
-const union AnimCmd *const gAnims_DELIBIRD[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DELIBIRD_1,
-};
-
-const union AnimCmd *const gAnims_MANTINE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MANTINE_1,
-};
-
-const union AnimCmd *const gAnims_SKARMORY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SKARMORY_1,
- gAnimCmd_SKARMORY_2,
-};
-
-const union AnimCmd *const gAnims_HOUNDOUR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HOUNDOUR_1,
-};
-
-const union AnimCmd *const gAnims_HOUNDOOM[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HOUNDOOM_1,
-};
-
-const union AnimCmd *const gAnims_KINGDRA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_KINGDRA_1,
- gAnimCmd_KINGDRA_2,
-};
-
-const union AnimCmd *const gAnims_PHANPY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PHANPY_1,
- gAnimCmd_PHANPY_2,
-};
-
-const union AnimCmd *const gAnims_DONPHAN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DONPHAN_1,
- gAnimCmd_DONPHAN_2,
-};
-
-const union AnimCmd *const gAnims_PORYGON2[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PORYGON2_1,
-};
-
-const union AnimCmd *const gAnims_STANTLER[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_STANTLER_1,
-};
-
-const union AnimCmd *const gAnims_SMEARGLE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SMEARGLE_1,
-};
-
-const union AnimCmd *const gAnims_TYROGUE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TYROGUE_1,
-};
-
-const union AnimCmd *const gAnims_HITMONTOP[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HITMONTOP_1,
-};
-
-const union AnimCmd *const gAnims_SMOOCHUM[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SMOOCHUM_1,
-};
-
-const union AnimCmd *const gAnims_ELEKID[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ELEKID_1,
-};
-
-const union AnimCmd *const gAnims_MAGBY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MAGBY_1,
-};
-
-const union AnimCmd *const gAnims_MILTANK[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MILTANK_1,
-};
-
-const union AnimCmd *const gAnims_BLISSEY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BLISSEY_1,
-};
-
-const union AnimCmd *const gAnims_RAIKOU[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_RAIKOU_1,
-};
-
-const union AnimCmd *const gAnims_ENTEI[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ENTEI_1,
-};
-
-const union AnimCmd *const gAnims_SUICUNE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SUICUNE_1,
-};
-
-const union AnimCmd *const gAnims_LARVITAR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LARVITAR_1,
-};
-
-const union AnimCmd *const gAnims_PUPITAR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PUPITAR_1,
-};
-
-const union AnimCmd *const gAnims_TYRANITAR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TYRANITAR_1,
-};
-
-const union AnimCmd *const gAnims_LUGIA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LUGIA_1,
-};
-
-const union AnimCmd *const gAnims_HO_OH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HO_OH_1,
-};
-
-const union AnimCmd *const gAnims_CELEBI[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CELEBI_1,
-};
-
-const union AnimCmd *const gAnims_OLD_UNOWN_B[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_OLD_UNOWN_B_1,
-};
-
-const union AnimCmd *const gAnims_TREECKO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TREECKO_1,
-};
-
-const union AnimCmd *const gAnims_GROVYLE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GROVYLE_1,
-};
-
-const union AnimCmd *const gAnims_SCEPTILE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SCEPTILE_1,
-};
-
-const union AnimCmd *const gAnims_TORCHIC[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TORCHIC_1,
-};
-
-const union AnimCmd *const gAnims_COMBUSKEN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_COMBUSKEN_1,
-};
-
-const union AnimCmd *const gAnims_BLAZIKEN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BLAZIKEN_1,
- gAnimCmd_BLAZIKEN_2,
- gAnimCmd_BLAZIKEN_3,
- gAnimCmd_BLAZIKEN_4,
-};
-
-const union AnimCmd *const gAnims_MUDKIP[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MUDKIP_1,
-};
-
-const union AnimCmd *const gAnims_MARSHTOMP[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MARSHTOMP_1,
-};
-
-const union AnimCmd *const gAnims_SWAMPERT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SWAMPERT_1,
-};
-
-const union AnimCmd *const gAnims_POOCHYENA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_POOCHYENA_1,
-};
-
-const union AnimCmd *const gAnims_MIGHTYENA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MIGHTYENA_1,
-};
-
-const union AnimCmd *const gAnims_ZIGZAGOON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ZIGZAGOON_1,
-};
-
-const union AnimCmd *const gAnims_LINOONE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LINOONE_1,
-};
-
-const union AnimCmd *const gAnims_WURMPLE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WURMPLE_1,
-};
-
-const union AnimCmd *const gAnims_SILCOON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SILCOON_1,
- gAnimCmd_SILCOON_2,
-};
-
-const union AnimCmd *const gAnims_BEAUTIFLY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BEAUTIFLY_1,
- gAnimCmd_BEAUTIFLY_2,
-};
-
-const union AnimCmd *const gAnims_CASCOON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CASCOON_1,
- gAnimCmd_CASCOON_2,
-};
-
-const union AnimCmd *const gAnims_DUSTOX[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DUSTOX_1,
- gAnimCmd_DUSTOX_2,
-};
-
-const union AnimCmd *const gAnims_LOTAD[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LOTAD_1,
-};
-
-const union AnimCmd *const gAnims_LOMBRE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LOMBRE_1,
-};
-
-const union AnimCmd *const gAnims_LUDICOLO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LUDICOLO_1,
-};
-
-const union AnimCmd *const gAnims_SEEDOT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SEEDOT_1,
-};
-
-const union AnimCmd *const gAnims_NUZLEAF[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NUZLEAF_1,
-};
-
-const union AnimCmd *const gAnims_SHIFTRY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SHIFTRY_1,
-};
-
-const union AnimCmd *const gAnims_NINCADA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NINCADA_1,
-};
-
-const union AnimCmd *const gAnims_NINJASK[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NINJASK_1,
-};
-
-const union AnimCmd *const gAnims_SHEDINJA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SHEDINJA_1,
-};
-
-const union AnimCmd *const gAnims_TAILLOW[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TAILLOW_1,
-};
-
-const union AnimCmd *const gAnims_SWELLOW[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SWELLOW_1,
-};
-
-const union AnimCmd *const gAnims_SHROOMISH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SHROOMISH_1,
-};
-
-const union AnimCmd *const gAnims_BRELOOM[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BRELOOM_1,
-};
-
-const union AnimCmd *const gAnims_SPINDA[] ={
- gAnimCmd_General_Frame0,
-};
-
-const union AnimCmd *const gAnims_WINGULL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WINGULL_1,
-};
-
-const union AnimCmd *const gAnims_PELIPPER[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PELIPPER_1,
-};
-
-const union AnimCmd *const gAnims_SURSKIT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SURSKIT_1,
- gAnimCmd_SURSKIT_2,
-};
-
-const union AnimCmd *const gAnims_MASQUERAIN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MASQUERAIN_1,
- gAnimCmd_MASQUERAIN_2,
-};
-
-const union AnimCmd *const gAnims_WAILMER[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WAILMER_1,
-};
-
-const union AnimCmd *const gAnims_WAILORD[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WAILORD_1,
-};
-
-const union AnimCmd *const gAnims_SKITTY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SKITTY_1,
-};
-
-const union AnimCmd *const gAnims_DELCATTY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DELCATTY_1,
-};
-
-const union AnimCmd *const gAnims_KECLEON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_KECLEON_1,
-};
-
-const union AnimCmd *const gAnims_BALTOY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BALTOY_1,
-};
-
-const union AnimCmd *const gAnims_CLAYDOL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CLAYDOL_1,
-};
-
-const union AnimCmd *const gAnims_NOSEPASS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NOSEPASS_1,
-};
-
-const union AnimCmd *const gAnims_TORKOAL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TORKOAL_1,
-};
-
-const union AnimCmd *const gAnims_SABLEYE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SABLEYE_1,
-};
-
-const union AnimCmd *const gAnims_BARBOACH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BARBOACH_1,
-};
-
-const union AnimCmd *const gAnims_WHISCASH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WHISCASH_1,
-};
-
-const union AnimCmd *const gAnims_LUVDISC[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LUVDISC_1,
-};
-
-const union AnimCmd *const gAnims_CORPHISH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CORPHISH_1,
-};
-
-const union AnimCmd *const gAnims_CRAWDAUNT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CRAWDAUNT_1,
-};
-
-const union AnimCmd *const gAnims_FEEBAS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_FEEBAS_1,
-};
-
-const union AnimCmd *const gAnims_MILOTIC[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MILOTIC_1,
-};
-
-const union AnimCmd *const gAnims_CARVANHA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CARVANHA_1,
-};
-
-const union AnimCmd *const gAnims_SHARPEDO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SHARPEDO_1,
-};
-
-const union AnimCmd *const gAnims_TRAPINCH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TRAPINCH_1,
-};
-
-const union AnimCmd *const gAnims_VIBRAVA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_VIBRAVA_1,
-};
-
-const union AnimCmd *const gAnims_FLYGON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_FLYGON_1,
-};
-
-const union AnimCmd *const gAnims_MAKUHITA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MAKUHITA_1,
-};
-
-const union AnimCmd *const gAnims_HARIYAMA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HARIYAMA_1,
-};
-
-const union AnimCmd *const gAnims_ELECTRIKE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ELECTRIKE_1,
-};
-
-const union AnimCmd *const gAnims_MANECTRIC[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MANECTRIC_1,
-};
-
-const union AnimCmd *const gAnims_NUMEL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_NUMEL_1,
-};
-
-const union AnimCmd *const gAnims_CAMERUPT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CAMERUPT_1,
-};
-
-const union AnimCmd *const gAnims_SPHEAL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SPHEAL_1,
-};
-
-const union AnimCmd *const gAnims_SEALEO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SEALEO_1,
-};
-
-const union AnimCmd *const gAnims_WALREIN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WALREIN_1,
-};
-
-const union AnimCmd *const gAnims_CACNEA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CACNEA_1,
-};
-
-const union AnimCmd *const gAnims_CACTURNE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CACTURNE_1,
-};
-
-const union AnimCmd *const gAnims_SNORUNT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SNORUNT_1,
-};
-
-const union AnimCmd *const gAnims_GLALIE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GLALIE_1,
-};
-
-const union AnimCmd *const gAnims_LUNATONE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LUNATONE_1,
- gAnimCmd_LUNATONE_2,
-};
-
-const union AnimCmd *const gAnims_SOLROCK[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SOLROCK_1,
- gAnimCmd_SOLROCK_2,
-};
-
-const union AnimCmd *const gAnims_AZURILL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_AZURILL_1,
-};
-
-const union AnimCmd *const gAnims_SPOINK[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SPOINK_1,
-};
-
-const union AnimCmd *const gAnims_GRUMPIG[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GRUMPIG_1,
-};
-
-const union AnimCmd *const gAnims_PLUSLE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_PLUSLE_1,
-};
-
-const union AnimCmd *const gAnims_MINUN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MINUN_1,
-};
-
-const union AnimCmd *const gAnims_MAWILE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MAWILE_1,
-};
-
-const union AnimCmd *const gAnims_MEDITITE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MEDITITE_1,
-};
-
-const union AnimCmd *const gAnims_MEDICHAM[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_MEDICHAM_1,
-};
-
-const union AnimCmd *const gAnims_SWABLU[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SWABLU_1,
- gAnimCmd_SWABLU_2,
-};
-
-const union AnimCmd *const gAnims_ALTARIA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ALTARIA_1,
- gAnimCmd_ALTARIA_2,
-};
-
-const union AnimCmd *const gAnims_WYNAUT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WYNAUT_1,
-};
-
-const union AnimCmd *const gAnims_DUSKULL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DUSKULL_1,
-};
-
-const union AnimCmd *const gAnims_DUSCLOPS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DUSCLOPS_1,
-};
-
-const union AnimCmd *const gAnims_ROSELIA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ROSELIA_1,
-};
-
-const union AnimCmd *const gAnims_SLAKOTH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SLAKOTH_1,
-};
-
-const union AnimCmd *const gAnims_VIGOROTH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_VIGOROTH_1,
-};
-
-const union AnimCmd *const gAnims_SLAKING[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SLAKING_1,
-};
-
-const union AnimCmd *const gAnims_GULPIN[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GULPIN_1,
-};
-
-const union AnimCmd *const gAnims_SWALOT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SWALOT_1,
-};
-
-const union AnimCmd *const gAnims_TROPIUS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_TROPIUS_1,
-};
-
-const union AnimCmd *const gAnims_WHISMUR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_WHISMUR_1,
-};
-
-const union AnimCmd *const gAnims_LOUDRED[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LOUDRED_1,
-};
-
-const union AnimCmd *const gAnims_EXPLOUD[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_EXPLOUD_1,
-};
-
-const union AnimCmd *const gAnims_CLAMPERL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CLAMPERL_1,
-};
-
-const union AnimCmd *const gAnims_HUNTAIL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_HUNTAIL_1,
-};
-
-const union AnimCmd *const gAnims_GOREBYSS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GOREBYSS_1,
-};
-
-const union AnimCmd *const gAnims_ABSOL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ABSOL_1,
-};
-
-const union AnimCmd *const gAnims_SHUPPET[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SHUPPET_1,
-};
-
-const union AnimCmd *const gAnims_BANETTE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BANETTE_1,
-};
-
-const union AnimCmd *const gAnims_SEVIPER[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SEVIPER_1,
-};
-
-const union AnimCmd *const gAnims_ZANGOOSE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ZANGOOSE_1,
-};
-
-const union AnimCmd *const gAnims_RELICANTH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_RELICANTH_1,
-};
-
-const union AnimCmd *const gAnims_ARON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ARON_1,
-};
-
-const union AnimCmd *const gAnims_LAIRON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LAIRON_1,
-};
-
-const union AnimCmd *const gAnims_AGGRON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_AGGRON_1,
-};
-
-const union AnimCmd *const gAnims_CASTFORM[] ={
- gAnimCmd_CASTFORM_0,
- gAnimCmd_CASTFORM_1,
- gAnimCmd_CASTFORM_2,
- gAnimCmd_CASTFORM_3,
-};
-
-const union AnimCmd *const gAnims_VOLBEAT[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_VOLBEAT_1,
-};
-
-const union AnimCmd *const gAnims_ILLUMISE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ILLUMISE_1,
-};
-
-const union AnimCmd *const gAnims_LILEEP[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LILEEP_1,
-};
-
-const union AnimCmd *const gAnims_CRADILY[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CRADILY_1,
-};
-
-const union AnimCmd *const gAnims_ANORITH[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ANORITH_1,
-};
-
-const union AnimCmd *const gAnims_ARMALDO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_ARMALDO_1,
-};
-
-const union AnimCmd *const gAnims_RALTS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_RALTS_1,
-};
-
-const union AnimCmd *const gAnims_KIRLIA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_KIRLIA_1,
-};
-
-const union AnimCmd *const gAnims_GARDEVOIR[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GARDEVOIR_1,
-};
-
-const union AnimCmd *const gAnims_BAGON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BAGON_1,
-};
-
-const union AnimCmd *const gAnims_SHELGON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SHELGON_1,
-};
-
-const union AnimCmd *const gAnims_SALAMENCE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_SALAMENCE_1,
-};
-
-const union AnimCmd *const gAnims_BELDUM[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_BELDUM_1,
-};
-
-const union AnimCmd *const gAnims_METANG[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_METANG_1,
-};
-
-const union AnimCmd *const gAnims_METAGROSS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_METAGROSS_1,
-};
-
-const union AnimCmd *const gAnims_REGIROCK[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_REGIROCK_1,
- gAnimCmd_REGIROCK_2,
-};
-
-const union AnimCmd *const gAnims_REGICE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_REGICE_1,
-};
-
-const union AnimCmd *const gAnims_REGISTEEL[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_REGISTEEL_1,
- gAnimCmd_REGISTEEL_2,
-};
-
-const union AnimCmd *const gAnims_KYOGRE[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_KYOGRE_1,
- gAnimCmd_KYOGRE_2,
-};
-
-const union AnimCmd *const gAnims_GROUDON[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_GROUDON_1,
- gAnimCmd_GROUDON_2,
-};
-
-const union AnimCmd *const gAnims_RAYQUAZA[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_RAYQUAZA_1,
- gAnimCmd_RAYQUAZA_2,
-};
-
-const union AnimCmd *const gAnims_LATIAS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LATIAS_1,
- gAnimCmd_LATIAS_2,
-};
-
-const union AnimCmd *const gAnims_LATIOS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_LATIOS_1,
- gAnimCmd_LATIOS_2,
-};
-
-const union AnimCmd *const gAnims_JIRACHI[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_JIRACHI_1,
- gAnimCmd_JIRACHI_2,
-};
-
-const union AnimCmd *const gAnims_DEOXYS[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_DEOXYS_1,
- gAnimCmd_DEOXYS_2,
-};
-
-const union AnimCmd *const gAnims_CHIMECHO[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_CHIMECHO_1,
-};
-
-const union AnimCmd *const gAnims_EGG[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_EGG_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_B[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_B_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_C[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_C_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_D[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_D_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_E[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_E_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_F[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_F_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_G[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_G_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_H[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_H_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_I[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_I_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_J[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_J_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_K[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_K_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_L[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_L_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_M[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_M_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_N[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_N_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_O[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_O_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_P[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_P_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_Q[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_Q_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_R[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_R_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_S[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_S_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_T[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_T_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_U[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_U_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_V[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_V_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_W[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_W_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_X[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_X_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_Y[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_Y_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_Z[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_Z_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_EMARK[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_EMARK_1,
-};
-
-const union AnimCmd *const gAnims_UNOWN_QMARK[] ={
- gAnimCmd_General_Frame0,
- gAnimCmd_UNOWN_QMARK_1,
-};
-
-#define ANIM_CMD(name) [SPECIES_##name] = gAnims_##name
-#define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims
-
-const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[] =
-{
- ANIM_CMD(NONE),
- ANIM_CMD(BULBASAUR),
- ANIM_CMD(IVYSAUR),
- ANIM_CMD(VENUSAUR),
- ANIM_CMD(CHARMANDER),
- ANIM_CMD(CHARMELEON),
- ANIM_CMD(CHARIZARD),
- ANIM_CMD(SQUIRTLE),
- ANIM_CMD(WARTORTLE),
- ANIM_CMD(BLASTOISE),
- ANIM_CMD(CATERPIE),
- ANIM_CMD(METAPOD),
- ANIM_CMD(BUTTERFREE),
- ANIM_CMD(WEEDLE),
- ANIM_CMD(KAKUNA),
- ANIM_CMD(BEEDRILL),
- ANIM_CMD(PIDGEY),
- ANIM_CMD(PIDGEOTTO),
- ANIM_CMD(PIDGEOT),
- ANIM_CMD(RATTATA),
- ANIM_CMD(RATICATE),
- ANIM_CMD(SPEAROW),
- ANIM_CMD(FEAROW),
- ANIM_CMD(EKANS),
- ANIM_CMD(ARBOK),
- ANIM_CMD(PIKACHU),
- ANIM_CMD(RAICHU),
- ANIM_CMD(SANDSHREW),
- ANIM_CMD(SANDSLASH),
- ANIM_CMD(NIDORAN_F),
- ANIM_CMD(NIDORINA),
- ANIM_CMD(NIDOQUEEN),
- ANIM_CMD(NIDORAN_M),
- ANIM_CMD(NIDORINO),
- ANIM_CMD(NIDOKING),
- ANIM_CMD(CLEFAIRY),
- ANIM_CMD(CLEFABLE),
- ANIM_CMD(VULPIX),
- ANIM_CMD(NINETALES),
- ANIM_CMD(JIGGLYPUFF),
- ANIM_CMD(WIGGLYTUFF),
- ANIM_CMD(ZUBAT),
- ANIM_CMD(GOLBAT),
- ANIM_CMD(ODDISH),
- ANIM_CMD(GLOOM),
- ANIM_CMD(VILEPLUME),
- ANIM_CMD(PARAS),
- ANIM_CMD(PARASECT),
- ANIM_CMD(VENONAT),
- ANIM_CMD(VENOMOTH),
- ANIM_CMD(DIGLETT),
- ANIM_CMD(DUGTRIO),
- ANIM_CMD(MEOWTH),
- ANIM_CMD(PERSIAN),
- ANIM_CMD(PSYDUCK),
- ANIM_CMD(GOLDUCK),
- ANIM_CMD(MANKEY),
- ANIM_CMD(PRIMEAPE),
- ANIM_CMD(GROWLITHE),
- ANIM_CMD(ARCANINE),
- ANIM_CMD(POLIWAG),
- ANIM_CMD(POLIWHIRL),
- ANIM_CMD(POLIWRATH),
- ANIM_CMD(ABRA),
- ANIM_CMD(KADABRA),
- ANIM_CMD(ALAKAZAM),
- ANIM_CMD(MACHOP),
- ANIM_CMD(MACHOKE),
- ANIM_CMD(MACHAMP),
- ANIM_CMD(BELLSPROUT),
- ANIM_CMD(WEEPINBELL),
- ANIM_CMD(VICTREEBEL),
- ANIM_CMD(TENTACOOL),
- ANIM_CMD(TENTACRUEL),
- ANIM_CMD(GEODUDE),
- ANIM_CMD(GRAVELER),
- ANIM_CMD(GOLEM),
- ANIM_CMD(PONYTA),
- ANIM_CMD(RAPIDASH),
- ANIM_CMD(SLOWPOKE),
- ANIM_CMD(SLOWBRO),
- ANIM_CMD(MAGNEMITE),
- ANIM_CMD(MAGNETON),
- ANIM_CMD(FARFETCHD),
- ANIM_CMD(DODUO),
- ANIM_CMD(DODRIO),
- ANIM_CMD(SEEL),
- ANIM_CMD(DEWGONG),
- ANIM_CMD(GRIMER),
- ANIM_CMD(MUK),
- ANIM_CMD(SHELLDER),
- ANIM_CMD(CLOYSTER),
- ANIM_CMD(GASTLY),
- ANIM_CMD(HAUNTER),
- ANIM_CMD(GENGAR),
- ANIM_CMD(ONIX),
- ANIM_CMD(DROWZEE),
- ANIM_CMD(HYPNO),
- ANIM_CMD(KRABBY),
- ANIM_CMD(KINGLER),
- ANIM_CMD(VOLTORB),
- ANIM_CMD(ELECTRODE),
- ANIM_CMD(EXEGGCUTE),
- ANIM_CMD(EXEGGUTOR),
- ANIM_CMD(CUBONE),
- ANIM_CMD(MAROWAK),
- ANIM_CMD(HITMONLEE),
- ANIM_CMD(HITMONCHAN),
- ANIM_CMD(LICKITUNG),
- ANIM_CMD(KOFFING),
- ANIM_CMD(WEEZING),
- ANIM_CMD(RHYHORN),
- ANIM_CMD(RHYDON),
- ANIM_CMD(CHANSEY),
- ANIM_CMD(TANGELA),
- ANIM_CMD(KANGASKHAN),
- ANIM_CMD(HORSEA),
- ANIM_CMD(SEADRA),
- ANIM_CMD(GOLDEEN),
- ANIM_CMD(SEAKING),
- ANIM_CMD(STARYU),
- ANIM_CMD(STARMIE),
- ANIM_CMD(MR_MIME),
- ANIM_CMD(SCYTHER),
- ANIM_CMD(JYNX),
- ANIM_CMD(ELECTABUZZ),
- ANIM_CMD(MAGMAR),
- ANIM_CMD(PINSIR),
- ANIM_CMD(TAUROS),
- ANIM_CMD(MAGIKARP),
- ANIM_CMD(GYARADOS),
- ANIM_CMD(LAPRAS),
- ANIM_CMD(DITTO),
- ANIM_CMD(EEVEE),
- ANIM_CMD(VAPOREON),
- ANIM_CMD(JOLTEON),
- ANIM_CMD(FLAREON),
- ANIM_CMD(PORYGON),
- ANIM_CMD(OMANYTE),
- ANIM_CMD(OMASTAR),
- ANIM_CMD(KABUTO),
- ANIM_CMD(KABUTOPS),
- ANIM_CMD(AERODACTYL),
- ANIM_CMD(SNORLAX),
- ANIM_CMD(ARTICUNO),
- ANIM_CMD(ZAPDOS),
- ANIM_CMD(MOLTRES),
- ANIM_CMD(DRATINI),
- ANIM_CMD(DRAGONAIR),
- ANIM_CMD(DRAGONITE),
- ANIM_CMD(MEWTWO),
- ANIM_CMD(MEW),
- ANIM_CMD(CHIKORITA),
- ANIM_CMD(BAYLEEF),
- ANIM_CMD(MEGANIUM),
- ANIM_CMD(CYNDAQUIL),
- ANIM_CMD(QUILAVA),
- ANIM_CMD(TYPHLOSION),
- ANIM_CMD(TOTODILE),
- ANIM_CMD(CROCONAW),
- ANIM_CMD(FERALIGATR),
- ANIM_CMD(SENTRET),
- ANIM_CMD(FURRET),
- ANIM_CMD(HOOTHOOT),
- ANIM_CMD(NOCTOWL),
- ANIM_CMD(LEDYBA),
- ANIM_CMD(LEDIAN),
- ANIM_CMD(SPINARAK),
- ANIM_CMD(ARIADOS),
- ANIM_CMD(CROBAT),
- ANIM_CMD(CHINCHOU),
- ANIM_CMD(LANTURN),
- ANIM_CMD(PICHU),
- ANIM_CMD(CLEFFA),
- ANIM_CMD(IGGLYBUFF),
- ANIM_CMD(TOGEPI),
- ANIM_CMD(TOGETIC),
- ANIM_CMD(NATU),
- ANIM_CMD(XATU),
- ANIM_CMD(MAREEP),
- ANIM_CMD(FLAAFFY),
- ANIM_CMD(AMPHAROS),
- ANIM_CMD(BELLOSSOM),
- ANIM_CMD(MARILL),
- ANIM_CMD(AZUMARILL),
- ANIM_CMD(SUDOWOODO),
- ANIM_CMD(POLITOED),
- ANIM_CMD(HOPPIP),
- ANIM_CMD(SKIPLOOM),
- ANIM_CMD(JUMPLUFF),
- ANIM_CMD(AIPOM),
- ANIM_CMD(SUNKERN),
- ANIM_CMD(SUNFLORA),
- ANIM_CMD(YANMA),
- ANIM_CMD(WOOPER),
- ANIM_CMD(QUAGSIRE),
- ANIM_CMD(ESPEON),
- ANIM_CMD(UMBREON),
- ANIM_CMD(MURKROW),
- ANIM_CMD(SLOWKING),
- ANIM_CMD(MISDREAVUS),
- ANIM_CMD(UNOWN),
- ANIM_CMD(WOBBUFFET),
- ANIM_CMD(GIRAFARIG),
- ANIM_CMD(PINECO),
- ANIM_CMD(FORRETRESS),
- ANIM_CMD(DUNSPARCE),
- ANIM_CMD(GLIGAR),
- ANIM_CMD(STEELIX),
- ANIM_CMD(SNUBBULL),
- ANIM_CMD(GRANBULL),
- ANIM_CMD(QWILFISH),
- ANIM_CMD(SCIZOR),
- ANIM_CMD(SHUCKLE),
- ANIM_CMD(HERACROSS),
- ANIM_CMD(SNEASEL),
- ANIM_CMD(TEDDIURSA),
- ANIM_CMD(URSARING),
- ANIM_CMD(SLUGMA),
- ANIM_CMD(MAGCARGO),
- ANIM_CMD(SWINUB),
- ANIM_CMD(PILOSWINE),
- ANIM_CMD(CORSOLA),
- ANIM_CMD(REMORAID),
- ANIM_CMD(OCTILLERY),
- ANIM_CMD(DELIBIRD),
- ANIM_CMD(MANTINE),
- ANIM_CMD(SKARMORY),
- ANIM_CMD(HOUNDOUR),
- ANIM_CMD(HOUNDOOM),
- ANIM_CMD(KINGDRA),
- ANIM_CMD(PHANPY),
- ANIM_CMD(DONPHAN),
- ANIM_CMD(PORYGON2),
- ANIM_CMD(STANTLER),
- ANIM_CMD(SMEARGLE),
- ANIM_CMD(TYROGUE),
- ANIM_CMD(HITMONTOP),
- ANIM_CMD(SMOOCHUM),
- ANIM_CMD(ELEKID),
- ANIM_CMD(MAGBY),
- ANIM_CMD(MILTANK),
- ANIM_CMD(BLISSEY),
- ANIM_CMD(RAIKOU),
- ANIM_CMD(ENTEI),
- ANIM_CMD(SUICUNE),
- ANIM_CMD(LARVITAR),
- ANIM_CMD(PUPITAR),
- ANIM_CMD(TYRANITAR),
- ANIM_CMD(LUGIA),
- ANIM_CMD(HO_OH),
- ANIM_CMD(CELEBI),
- ANIM_CMD(OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_C, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_D, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_E, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_F, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_G, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_H, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_I, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_J, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_K, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_L, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_M, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_N, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_O, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_P, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_Q, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_R, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_S, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_T, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_U, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_V, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_W, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_X, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_Y, gAnims_OLD_UNOWN_B),
- ANIM_CMD_FULL(OLD_UNOWN_Z, gAnims_OLD_UNOWN_B),
- ANIM_CMD(TREECKO),
- ANIM_CMD(GROVYLE),
- ANIM_CMD(SCEPTILE),
- ANIM_CMD(TORCHIC),
- ANIM_CMD(COMBUSKEN),
- ANIM_CMD(BLAZIKEN),
- ANIM_CMD(MUDKIP),
- ANIM_CMD(MARSHTOMP),
- ANIM_CMD(SWAMPERT),
- ANIM_CMD(POOCHYENA),
- ANIM_CMD(MIGHTYENA),
- ANIM_CMD(ZIGZAGOON),
- ANIM_CMD(LINOONE),
- ANIM_CMD(WURMPLE),
- ANIM_CMD(SILCOON),
- ANIM_CMD(BEAUTIFLY),
- ANIM_CMD(CASCOON),
- ANIM_CMD(DUSTOX),
- ANIM_CMD(LOTAD),
- ANIM_CMD(LOMBRE),
- ANIM_CMD(LUDICOLO),
- ANIM_CMD(SEEDOT),
- ANIM_CMD(NUZLEAF),
- ANIM_CMD(SHIFTRY),
- ANIM_CMD(NINCADA),
- ANIM_CMD(NINJASK),
- ANIM_CMD(SHEDINJA),
- ANIM_CMD(TAILLOW),
- ANIM_CMD(SWELLOW),
- ANIM_CMD(SHROOMISH),
- ANIM_CMD(BRELOOM),
- ANIM_CMD(SPINDA),
- ANIM_CMD(WINGULL),
- ANIM_CMD(PELIPPER),
- ANIM_CMD(SURSKIT),
- ANIM_CMD(MASQUERAIN),
- ANIM_CMD(WAILMER),
- ANIM_CMD(WAILORD),
- ANIM_CMD(SKITTY),
- ANIM_CMD(DELCATTY),
- ANIM_CMD(KECLEON),
- ANIM_CMD(BALTOY),
- ANIM_CMD(CLAYDOL),
- ANIM_CMD(NOSEPASS),
- ANIM_CMD(TORKOAL),
- ANIM_CMD(SABLEYE),
- ANIM_CMD(BARBOACH),
- ANIM_CMD(WHISCASH),
- ANIM_CMD(LUVDISC),
- ANIM_CMD(CORPHISH),
- ANIM_CMD(CRAWDAUNT),
- ANIM_CMD(FEEBAS),
- ANIM_CMD(MILOTIC),
- ANIM_CMD(CARVANHA),
- ANIM_CMD(SHARPEDO),
- ANIM_CMD(TRAPINCH),
- ANIM_CMD(VIBRAVA),
- ANIM_CMD(FLYGON),
- ANIM_CMD(MAKUHITA),
- ANIM_CMD(HARIYAMA),
- ANIM_CMD(ELECTRIKE),
- ANIM_CMD(MANECTRIC),
- ANIM_CMD(NUMEL),
- ANIM_CMD(CAMERUPT),
- ANIM_CMD(SPHEAL),
- ANIM_CMD(SEALEO),
- ANIM_CMD(WALREIN),
- ANIM_CMD(CACNEA),
- ANIM_CMD(CACTURNE),
- ANIM_CMD(SNORUNT),
- ANIM_CMD(GLALIE),
- ANIM_CMD(LUNATONE),
- ANIM_CMD(SOLROCK),
- ANIM_CMD(AZURILL),
- ANIM_CMD(SPOINK),
- ANIM_CMD(GRUMPIG),
- ANIM_CMD(PLUSLE),
- ANIM_CMD(MINUN),
- ANIM_CMD(MAWILE),
- ANIM_CMD(MEDITITE),
- ANIM_CMD(MEDICHAM),
- ANIM_CMD(SWABLU),
- ANIM_CMD(ALTARIA),
- ANIM_CMD(WYNAUT),
- ANIM_CMD(DUSKULL),
- ANIM_CMD(DUSCLOPS),
- ANIM_CMD(ROSELIA),
- ANIM_CMD(SLAKOTH),
- ANIM_CMD(VIGOROTH),
- ANIM_CMD(SLAKING),
- ANIM_CMD(GULPIN),
- ANIM_CMD(SWALOT),
- ANIM_CMD(TROPIUS),
- ANIM_CMD(WHISMUR),
- ANIM_CMD(LOUDRED),
- ANIM_CMD(EXPLOUD),
- ANIM_CMD(CLAMPERL),
- ANIM_CMD(HUNTAIL),
- ANIM_CMD(GOREBYSS),
- ANIM_CMD(ABSOL),
- ANIM_CMD(SHUPPET),
- ANIM_CMD(BANETTE),
- ANIM_CMD(SEVIPER),
- ANIM_CMD(ZANGOOSE),
- ANIM_CMD(RELICANTH),
- ANIM_CMD(ARON),
- ANIM_CMD(LAIRON),
- ANIM_CMD(AGGRON),
- ANIM_CMD(CASTFORM),
- ANIM_CMD(VOLBEAT),
- ANIM_CMD(ILLUMISE),
- ANIM_CMD(LILEEP),
- ANIM_CMD(CRADILY),
- ANIM_CMD(ANORITH),
- ANIM_CMD(ARMALDO),
- ANIM_CMD(RALTS),
- ANIM_CMD(KIRLIA),
- ANIM_CMD(GARDEVOIR),
- ANIM_CMD(BAGON),
- ANIM_CMD(SHELGON),
- ANIM_CMD(SALAMENCE),
- ANIM_CMD(BELDUM),
- ANIM_CMD(METANG),
- ANIM_CMD(METAGROSS),
- ANIM_CMD(REGIROCK),
- ANIM_CMD(REGICE),
- ANIM_CMD(REGISTEEL),
- ANIM_CMD(KYOGRE),
- ANIM_CMD(GROUDON),
- ANIM_CMD(RAYQUAZA),
- ANIM_CMD(LATIAS),
- ANIM_CMD(LATIOS),
- ANIM_CMD(JIRACHI),
- ANIM_CMD(DEOXYS),
- ANIM_CMD(CHIMECHO),
- ANIM_CMD(EGG),
- ANIM_CMD(UNOWN_B),
- ANIM_CMD(UNOWN_C),
- ANIM_CMD(UNOWN_D),
- ANIM_CMD(UNOWN_E),
- ANIM_CMD(UNOWN_F),
- ANIM_CMD(UNOWN_G),
- ANIM_CMD(UNOWN_H),
- ANIM_CMD(UNOWN_I),
- ANIM_CMD(UNOWN_J),
- ANIM_CMD(UNOWN_K),
- ANIM_CMD(UNOWN_L),
- ANIM_CMD(UNOWN_M),
- ANIM_CMD(UNOWN_N),
- ANIM_CMD(UNOWN_O),
- ANIM_CMD(UNOWN_P),
- ANIM_CMD(UNOWN_Q),
- ANIM_CMD(UNOWN_R),
- ANIM_CMD(UNOWN_S),
- ANIM_CMD(UNOWN_T),
- ANIM_CMD(UNOWN_U),
- ANIM_CMD(UNOWN_V),
- ANIM_CMD(UNOWN_W),
- ANIM_CMD(UNOWN_X),
- ANIM_CMD(UNOWN_Y),
- ANIM_CMD(UNOWN_Z),
- ANIM_CMD(UNOWN_EMARK),
- ANIM_CMD(UNOWN_QMARK),
-};
diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h
new file mode 100644
index 000000000..4c97af1a7
--- /dev/null
+++ b/src/data/pokemon_graphics/front_pic_anims.h
@@ -0,0 +1,7393 @@
+static const union AnimCmd sAnim_NONE_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BULBASAUR_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_IVYSAUR_1[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 36),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_VENUSAUR_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CHARMANDER_1[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 46),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CHARMELEON_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CHARIZARD_1[] =
+{
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SQUIRTLE_1[] =
+{
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WARTORTLE_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BLASTOISE_1[] =
+{
+ ANIMCMD_FRAME(0, 50),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CATERPIE_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_METAPOD_1[] =
+{
+ ANIMCMD_FRAME(1, 45),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BUTTERFREE_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 25),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WEEDLE_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KAKUNA_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BEEDRILL_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 28),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PIDGEY_1[] =
+{
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PIDGEOTTO_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PIDGEOT_1[] =
+{
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+
+static const union AnimCmd sAnim_RATTATA_1[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 28),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_RATICATE_1[] =
+{
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SPEAROW_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_FEAROW_1[] =
+{
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_EKANS_1[] =
+{
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ARBOK_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PIKACHU_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PIKACHU_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_RAICHU_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_RAICHU_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SANDSHREW_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SANDSHREW_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SANDSLASH_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SANDSLASH_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NIDORAN_F_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 50),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NIDORINA_1[] =
+{
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NIDOQUEEN_1[] =
+{
+ ANIMCMD_FRAME(1, 45),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NIDORAN_M_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NIDORINO_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NIDOKING_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CLEFAIRY_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CLEFABLE_1[] =
+{
+ ANIMCMD_FRAME(1, 27),
+ ANIMCMD_FRAME(0, 27),
+ ANIMCMD_FRAME(1, 24),
+ ANIMCMD_FRAME(0, 25),
+ ANIMCMD_FRAME(1, 27),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_VULPIX_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_VULPIX_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NINETALES_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NINETALES_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_JIGGLYPUFF_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_JIGGLYPUFF_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WIGGLYTUFF_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WIGGLYTUFF_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ZUBAT_1[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GOLBAT_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ODDISH_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 11),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 11),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 11),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GLOOM_1[] =
+{
+ ANIMCMD_FRAME(0, 21),
+ ANIMCMD_FRAME(1, 45),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_VILEPLUME_1[] =
+{
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 21),
+ ANIMCMD_FRAME(0, 13),
+ ANIMCMD_FRAME(1, 21),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PARAS_1[] =
+{
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PARASECT_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_VENONAT_1[] =
+{
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 35),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_VENOMOTH_1[] =
+{
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DIGLETT_1[] =
+{
+ ANIMCMD_FRAME(0, 25),
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DUGTRIO_1[] =
+{
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MEOWTH_1[] =
+{
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 17),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PERSIAN_1[] =
+{
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PSYDUCK_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PSYDUCK_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GOLDUCK_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GOLDUCK_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MANKEY_1[] =
+{
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 28),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PRIMEAPE_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GROWLITHE_1[] =
+{
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ARCANINE_1[] =
+{
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,};
+
+static const union AnimCmd sAnim_POLIWAG_1[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_POLIWHIRL_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_POLIWRATH_1[] =
+{
+ ANIMCMD_FRAME(1, 45),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ABRA_1[] =
+{
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 21),
+ ANIMCMD_FRAME(0, 13),
+ ANIMCMD_FRAME(1, 21),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KADABRA_1[] =
+{
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 45),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ALAKAZAM_1[] =
+{
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(1, 54),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MACHOP_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MACHOKE_1[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 44),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MACHAMP_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 11),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 11),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 11),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BELLSPROUT_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WEEPINBELL_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_VICTREEBEL_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TENTACOOL_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 11),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TENTACRUEL_1[] =
+{
+ ANIMCMD_FRAME(0, 19),
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 19),
+ ANIMCMD_FRAME(1, 19),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GEODUDE_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 36),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GRAVELER_1[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GOLEM_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 31),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PONYTA_1[] =
+{
+ ANIMCMD_FRAME(1, 45),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_RAPIDASH_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SLOWPOKE_1[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SLOWBRO_1[] =
+{
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 45),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MAGNEMITE_1[] =
+{
+ ANIMCMD_FRAME(0, 28),
+ ANIMCMD_FRAME(1, 28),
+ ANIMCMD_FRAME(0, 28),
+ ANIMCMD_FRAME(1, 28),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MAGNETON_1[] =
+{
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_FARFETCHD_1[] =
+{
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DODUO_1[] =
+{
+ ANIMCMD_FRAME(0, 18),
+ ANIMCMD_FRAME(1, 18),
+ ANIMCMD_FRAME(0, 18),
+ ANIMCMD_FRAME(1, 18),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DODRIO_1[] =
+{
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SEEL_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DEWGONG_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GRIMER_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GRIMER_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MUK_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MUK_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SHELLDER_1[] =
+{
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 45),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CLOYSTER_1[] =
+{
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 25),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GASTLY_1[] =
+{
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HAUNTER_1[] =
+{
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GENGAR_1[] =
+{
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ONIX_1[] =
+{
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DROWZEE_1[] =
+{
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 45),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HYPNO_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KRABBY_1[] =
+{
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KINGLER_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 25),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_VOLTORB_1[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ELECTRODE_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_EXEGGCUTE_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_EXEGGUTOR_1[] =
+{
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,};
+
+
+static const union AnimCmd sAnim_CUBONE_1[] =
+{
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MAROWAK_1[] =
+{
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HITMONLEE_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HITMONCHAN_1[] =
+{
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LICKITUNG_1[] =
+{
+ ANIMCMD_FRAME(0, 28),
+ ANIMCMD_FRAME(1, 32),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KOFFING_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KOFFING_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WEEZING_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WEEZING_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_RHYHORN_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_RHYHORN_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_RHYDON_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 48),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_RHYDON_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CHANSEY_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TANGELA_1[] =
+{
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KANGASKHAN_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HORSEA_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HORSEA_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SEADRA_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SEADRA_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GOLDEEN_1[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SEAKING_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_STARYU_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_STARYU_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_STARMIE_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_STARMIE_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MR_MIME_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SCYTHER_1[] =
+{
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_JYNX_1[] =
+{
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ELECTABUZZ_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MAGMAR_1[] =
+{
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PINSIR_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PINSIR_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TAUROS_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MAGIKARP_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GYARADOS_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 32),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LAPRAS_1[] =
+{
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DITTO_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_EEVEE_1[] =
+{
+ ANIMCMD_FRAME(1, 33),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_VAPOREON_1[] =
+{
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_JOLTEON_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_FLAREON_1[] =
+{
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PORYGON_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_OMANYTE_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_OMASTAR_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KABUTO_1[] =
+{
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KABUTOPS_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_AERODACTYL_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 25),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 25),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SNORLAX_1[] =
+{
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ARTICUNO_1[] =
+{
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ZAPDOS_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MOLTRES_1[] =
+{
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DRATINI_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DRAGONAIR_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DRAGONITE_1[] =
+{
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MEWTWO_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MEW_1[] =
+{
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CHIKORITA_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,};
+
+
+static const union AnimCmd sAnim_BAYLEEF_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MEGANIUM_1[] =
+{
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CYNDAQUIL_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_QUILAVA_1[] =
+{
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TYPHLOSION_1[] =
+{
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TOTODILE_1[] =
+{
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CROCONAW_1[] =
+{
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_FERALIGATR_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 40),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SENTRET_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_FURRET_1[] =
+{
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HOOTHOOT_1[] =
+{
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NOCTOWL_1[] =
+{
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LEDYBA_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LEDIAN_1[] =
+{
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SPINARAK_1[] =
+{
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ARIADOS_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CROBAT_1[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CHINCHOU_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CHINCHOU_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LANTURN_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LANTURN_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PICHU_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PICHU_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CLEFFA_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_IGGLYBUFF_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_IGGLYBUFF_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TOGEPI_1[] =
+{
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TOGETIC_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NATU_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NATU_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_XATU_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 45),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_XATU_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MAREEP_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_FLAAFFY_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_AMPHAROS_1[] =
+{
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BELLOSSOM_1[] =
+{
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MARILL_1[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 44),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 44),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_AZUMARILL_1[] =
+{
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SUDOWOODO_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_POLITOED_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HOPPIP_1[] =
+{
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 25),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 25),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SKIPLOOM_1[] =
+{
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_JUMPLUFF_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 25),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 25),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_AIPOM_1[] =
+{
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SUNKERN_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SUNFLORA_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_YANMA_1[] =
+{
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WOOPER_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_QUAGSIRE_1[] =
+{
+ ANIMCMD_FRAME(1, 32),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ESPEON_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UMBREON_1[] =
+{
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MURKROW_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SLOWKING_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MISDREAVUS_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WOBBUFFET_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WOBBUFFET_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GIRAFARIG_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GIRAFARIG_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PINECO_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_FORRETRESS_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DUNSPARCE_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GLIGAR_1[] =
+{
+ ANIMCMD_FRAME(1, 17),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_STEELIX_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SNUBBULL_1[] =
+{
+ ANIMCMD_FRAME(1, 32),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GRANBULL_1[] =
+{
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_QWILFISH_1[] =
+{
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SCIZOR_1[] =
+{
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SHUCKLE_1[] =
+{
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HERACROSS_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HERACROSS_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SNEASEL_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TEDDIURSA_1[] =
+{
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_URSARING_1[] =
+{
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SLUGMA_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SLUGMA_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MAGCARGO_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MAGCARGO_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SWINUB_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PILOSWINE_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CORSOLA_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CORSOLA_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_REMORAID_1[] =
+{
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_OCTILLERY_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DELIBIRD_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MANTINE_1[] =
+{
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 40),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SKARMORY_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SKARMORY_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HOUNDOUR_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HOUNDOOM_1[] =
+{
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KINGDRA_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KINGDRA_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PHANPY_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PHANPY_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DONPHAN_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DONPHAN_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PORYGON2_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_STANTLER_1[] =
+{
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SMEARGLE_1[] =
+{
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TYROGUE_1[] =
+{
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HITMONTOP_1[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SMOOCHUM_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ELEKID_1[] =
+{
+ ANIMCMD_FRAME(1, 50),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MAGBY_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MILTANK_1[] =
+{
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BLISSEY_1[] =
+{
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_RAIKOU_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ENTEI_1[] =
+{
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SUICUNE_1[] =
+{
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LARVITAR_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PUPITAR_1[] =
+{
+ ANIMCMD_FRAME(1, 40),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TYRANITAR_1[] =
+{
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LUGIA_1[] =
+{
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HO_OH_1[] =
+{
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CELEBI_1[] =
+{
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_OLD_UNOWN_B_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TREECKO_1[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_END,};
+
+static const union AnimCmd sAnim_GROVYLE_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 18),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SCEPTILE_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 26),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TORCHIC_1[] =
+{
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_COMBUSKEN_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_END,};
+
+static const union AnimCmd sAnim_BLAZIKEN_1[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BLAZIKEN_2[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BLAZIKEN_3[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(2, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BLAZIKEN_4[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MUDKIP_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 13),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MARSHTOMP_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SWAMPERT_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 44),
+ ANIMCMD_FRAME(0, 18),
+ ANIMCMD_FRAME(1, 18),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_POOCHYENA_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 44),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MIGHTYENA_1[] =
+{
+ ANIMCMD_FRAME(0, 27),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ZIGZAGOON_1[] =
+{
+ ANIMCMD_FRAME(0, 27),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LINOONE_1[] =
+{
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WURMPLE_1[] =
+{
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SILCOON_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SILCOON_2[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BEAUTIFLY_1[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BEAUTIFLY_2[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CASCOON_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CASCOON_2[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DUSTOX_1[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DUSTOX_2[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LOTAD_1[] =
+{
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 55),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LOMBRE_1[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LUDICOLO_1[] =
+{
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SEEDOT_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NUZLEAF_1[] =
+{
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SHIFTRY_1[] =
+{
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NINCADA_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 33),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NINJASK_1[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(0, 33),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SHEDINJA_1[] =
+{
+ ANIMCMD_FRAME(0, 33),
+ ANIMCMD_FRAME(1, 33),
+ ANIMCMD_FRAME(0, 33),
+ ANIMCMD_FRAME(1, 33),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TAILLOW_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SWELLOW_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 18),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SHROOMISH_1[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BRELOOM_1[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WINGULL_1[] =
+{
+ ANIMCMD_FRAME(0, 17),
+ ANIMCMD_FRAME(1, 23),
+ ANIMCMD_FRAME(0, 13),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PELIPPER_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SURSKIT_1[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 18),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 18),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SURSKIT_2[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MASQUERAIN_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MASQUERAIN_2[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WAILMER_1[] =
+{
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WAILORD_1[] =
+{
+ ANIMCMD_FRAME(0, 26),
+ ANIMCMD_FRAME(1, 48),
+ ANIMCMD_FRAME(0, 33),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SKITTY_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 35),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DELCATTY_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 46),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KECLEON_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 18),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BALTOY_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 50),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CLAYDOL_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NOSEPASS_1[] =
+{
+ ANIMCMD_FRAME(0, 27),
+ ANIMCMD_FRAME(1, 27),
+ ANIMCMD_FRAME(0, 27),
+ ANIMCMD_FRAME(1, 27),
+ ANIMCMD_FRAME(0, 27),
+ ANIMCMD_FRAME(1, 27),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TORKOAL_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SABLEYE_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BARBOACH_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 50),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WHISCASH_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LUVDISC_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CORPHISH_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 50),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CRAWDAUNT_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_FEEBAS_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MILOTIC_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CARVANHA_1[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SHARPEDO_1[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TRAPINCH_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_VIBRAVA_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 50),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_FLYGON_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 50),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MAKUHITA_1[] =
+{
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HARIYAMA_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ELECTRIKE_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 17),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MANECTRIC_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 33),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_NUMEL_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 40),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CAMERUPT_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SPHEAL_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 43),
+ ANIMCMD_FRAME(1, 60),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SEALEO_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WALREIN_1[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CACNEA_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CACTURNE_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SNORUNT_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GLALIE_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LUNATONE_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LUNATONE_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SOLROCK_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SOLROCK_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_AZURILL_1[] =
+{
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SPOINK_1[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GRUMPIG_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_PLUSLE_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MINUN_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MAWILE_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MEDITITE_1[] =
+{
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_MEDICHAM_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 11),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 11),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 11),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SWABLU_1[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SWABLU_2[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ALTARIA_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ALTARIA_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WYNAUT_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DUSKULL_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DUSCLOPS_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ROSELIA_1[] =
+{
+ ANIMCMD_FRAME(0, 18),
+ ANIMCMD_FRAME(1, 44),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SLAKOTH_1[] =
+{
+ ANIMCMD_FRAME(0, 13),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_VIGOROTH_1[] =
+{
+ ANIMCMD_FRAME(0, 13),
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 13),
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 13),
+ ANIMCMD_FRAME(1, 7),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SLAKING_1[] =
+{
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GULPIN_1[] =
+{
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SWALOT_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_TROPIUS_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WHISMUR_1[] =
+{
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(0, 33),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LOUDRED_1[] =
+{
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(0, 33),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_EXPLOUD_1[] =
+{
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(1, 44),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CLAMPERL_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_HUNTAIL_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GOREBYSS_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ABSOL_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SHUPPET_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BANETTE_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SEVIPER_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 50),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ZANGOOSE_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 50),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_RELICANTH_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ARON_1[] =
+{
+ ANIMCMD_FRAME(0, 33),
+ ANIMCMD_FRAME(1, 44),
+ ANIMCMD_FRAME(0, 33),
+ ANIMCMD_FRAME(1, 33),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LAIRON_1[] =
+{
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 29),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 29),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_AGGRON_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 44),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CASTFORM_0[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CASTFORM_1[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CASTFORM_2[] =
+{
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CASTFORM_3[] =
+{
+ ANIMCMD_FRAME(3, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_VOLBEAT_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 11),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 11),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 11),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ILLUMISE_1[] =
+{
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LILEEP_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CRADILY_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ANORITH_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_ARMALDO_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_RALTS_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 25),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KIRLIA_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 39),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GARDEVOIR_1[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BAGON_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SHELGON_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_SALAMENCE_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_BELDUM_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_METANG_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_METAGROSS_1[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_REGIROCK_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_REGIROCK_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_REGICE_1[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 18),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_REGISTEEL_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_REGISTEEL_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KYOGRE_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_KYOGRE_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GROUDON_1[] =
+{
+ ANIMCMD_FRAME(0, 11),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GROUDON_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_RAYQUAZA_1[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_RAYQUAZA_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LATIAS_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LATIAS_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LATIOS_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_LATIOS_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_JIRACHI_1[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_JIRACHI_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DEOXYS_1[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_FRAME(0, 26),
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_DEOXYS_2[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(2, 20),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_CHIMECHO_1[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_FRAME(1, 15),
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_EGG_1[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(2, 6),
+ ANIMCMD_FRAME(3, 6),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_B_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_C_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_D_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_E_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_F_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_G_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_H_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_I_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_J_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_K_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_L_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_M_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_N_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_O_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_P_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_Q_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_R_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_S_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_T_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_U_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_V_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_W_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_X_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_Y_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_Z_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_EMARK_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_UNOWN_QMARK_1[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const sAnims_NONE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NONE_1,
+};
+
+static const union AnimCmd *const sAnims_BULBASAUR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BULBASAUR_1,
+};
+
+static const union AnimCmd *const sAnims_IVYSAUR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_IVYSAUR_1,
+};
+
+static const union AnimCmd *const sAnims_VENUSAUR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_VENUSAUR_1,
+};
+
+static const union AnimCmd *const sAnims_CHARMANDER[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CHARMANDER_1,
+};
+
+static const union AnimCmd *const sAnims_CHARMELEON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CHARMELEON_1,
+};
+
+static const union AnimCmd *const sAnims_CHARIZARD[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CHARIZARD_1,
+};
+
+static const union AnimCmd *const sAnims_SQUIRTLE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SQUIRTLE_1,
+};
+
+static const union AnimCmd *const sAnims_WARTORTLE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WARTORTLE_1,
+};
+
+static const union AnimCmd *const sAnims_BLASTOISE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BLASTOISE_1,
+};
+
+static const union AnimCmd *const sAnims_CATERPIE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CATERPIE_1,
+};
+
+static const union AnimCmd *const sAnims_METAPOD[] ={
+ sAnim_GeneralFrame0,
+ sAnim_METAPOD_1,
+};
+
+static const union AnimCmd *const sAnims_BUTTERFREE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BUTTERFREE_1,
+};
+
+static const union AnimCmd *const sAnims_WEEDLE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WEEDLE_1,
+};
+
+static const union AnimCmd *const sAnims_KAKUNA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_KAKUNA_1,
+};
+
+static const union AnimCmd *const sAnims_BEEDRILL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BEEDRILL_1,
+};
+
+static const union AnimCmd *const sAnims_PIDGEY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PIDGEY_1,
+};
+
+static const union AnimCmd *const sAnims_PIDGEOTTO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PIDGEOTTO_1,
+};
+
+static const union AnimCmd *const sAnims_PIDGEOT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PIDGEOT_1,
+};
+
+static const union AnimCmd *const sAnims_RATTATA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_RATTATA_1,
+};
+
+static const union AnimCmd *const sAnims_RATICATE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_RATICATE_1,
+};
+
+static const union AnimCmd *const sAnims_SPEAROW[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SPEAROW_1,
+};
+
+static const union AnimCmd *const sAnims_FEAROW[] ={
+ sAnim_GeneralFrame0,
+ sAnim_FEAROW_1,
+};
+
+static const union AnimCmd *const sAnims_EKANS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_EKANS_1,
+};
+
+static const union AnimCmd *const sAnims_ARBOK[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ARBOK_1,
+};
+
+static const union AnimCmd *const sAnims_PIKACHU[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PIKACHU_1,
+ sAnim_PIKACHU_2,
+};
+
+static const union AnimCmd *const sAnims_RAICHU[] ={
+ sAnim_GeneralFrame0,
+ sAnim_RAICHU_1,
+ sAnim_RAICHU_2,
+};
+
+static const union AnimCmd *const sAnims_SANDSHREW[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SANDSHREW_1,
+ sAnim_SANDSHREW_2,
+};
+
+static const union AnimCmd *const sAnims_SANDSLASH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SANDSLASH_1,
+ sAnim_SANDSLASH_2,
+};
+
+static const union AnimCmd *const sAnims_NIDORAN_F[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NIDORAN_F_1,
+};
+
+static const union AnimCmd *const sAnims_NIDORINA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NIDORINA_1,
+};
+
+static const union AnimCmd *const sAnims_NIDOQUEEN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NIDOQUEEN_1,
+};
+
+static const union AnimCmd *const sAnims_NIDORAN_M[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NIDORAN_M_1,
+};
+
+static const union AnimCmd *const sAnims_NIDORINO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NIDORINO_1,
+};
+
+static const union AnimCmd *const sAnims_NIDOKING[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NIDOKING_1,
+};
+
+static const union AnimCmd *const sAnims_CLEFAIRY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CLEFAIRY_1,
+};
+
+static const union AnimCmd *const sAnims_CLEFABLE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CLEFABLE_1,
+};
+
+static const union AnimCmd *const sAnims_VULPIX[] ={
+ sAnim_GeneralFrame0,
+ sAnim_VULPIX_1,
+ sAnim_VULPIX_2,
+};
+
+static const union AnimCmd *const sAnims_NINETALES[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NINETALES_1,
+ sAnim_NINETALES_2,
+};
+
+static const union AnimCmd *const sAnims_JIGGLYPUFF[] ={
+ sAnim_GeneralFrame0,
+ sAnim_JIGGLYPUFF_1,
+ sAnim_JIGGLYPUFF_2,
+};
+
+static const union AnimCmd *const sAnims_WIGGLYTUFF[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WIGGLYTUFF_1,
+ sAnim_WIGGLYTUFF_2,
+};
+
+static const union AnimCmd *const sAnims_ZUBAT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ZUBAT_1,
+};
+
+static const union AnimCmd *const sAnims_GOLBAT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GOLBAT_1,
+};
+
+static const union AnimCmd *const sAnims_ODDISH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ODDISH_1,
+};
+
+static const union AnimCmd *const sAnims_GLOOM[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GLOOM_1,
+};
+
+static const union AnimCmd *const sAnims_VILEPLUME[] ={
+ sAnim_GeneralFrame0,
+ sAnim_VILEPLUME_1,
+};
+
+static const union AnimCmd *const sAnims_PARAS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PARAS_1,
+};
+
+static const union AnimCmd *const sAnims_PARASECT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PARASECT_1,
+};
+
+static const union AnimCmd *const sAnims_VENONAT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_VENONAT_1,
+};
+
+static const union AnimCmd *const sAnims_VENOMOTH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_VENOMOTH_1,
+};
+
+static const union AnimCmd *const sAnims_DIGLETT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DIGLETT_1,
+};
+
+static const union AnimCmd *const sAnims_DUGTRIO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DUGTRIO_1,
+};
+
+static const union AnimCmd *const sAnims_MEOWTH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MEOWTH_1,
+};
+
+static const union AnimCmd *const sAnims_PERSIAN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PERSIAN_1,
+};
+
+static const union AnimCmd *const sAnims_PSYDUCK[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PSYDUCK_1,
+ sAnim_PSYDUCK_2,
+};
+
+static const union AnimCmd *const sAnims_GOLDUCK[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GOLDUCK_1,
+ sAnim_GOLDUCK_2,
+};
+
+static const union AnimCmd *const sAnims_MANKEY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MANKEY_1,
+};
+
+static const union AnimCmd *const sAnims_PRIMEAPE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PRIMEAPE_1,
+};
+
+static const union AnimCmd *const sAnims_GROWLITHE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GROWLITHE_1,
+};
+
+static const union AnimCmd *const sAnims_ARCANINE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ARCANINE_1,
+};
+
+static const union AnimCmd *const sAnims_POLIWAG[] ={
+ sAnim_GeneralFrame0,
+ sAnim_POLIWAG_1,
+};
+
+static const union AnimCmd *const sAnims_POLIWHIRL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_POLIWHIRL_1,
+};
+
+static const union AnimCmd *const sAnims_POLIWRATH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_POLIWRATH_1,
+};
+
+static const union AnimCmd *const sAnims_ABRA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ABRA_1,
+};
+
+static const union AnimCmd *const sAnims_KADABRA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_KADABRA_1,
+};
+
+static const union AnimCmd *const sAnims_ALAKAZAM[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ALAKAZAM_1,
+};
+
+static const union AnimCmd *const sAnims_MACHOP[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MACHOP_1,
+};
+
+static const union AnimCmd *const sAnims_MACHOKE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MACHOKE_1,
+};
+
+static const union AnimCmd *const sAnims_MACHAMP[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MACHAMP_1,
+};
+
+static const union AnimCmd *const sAnims_BELLSPROUT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BELLSPROUT_1,
+};
+
+static const union AnimCmd *const sAnims_WEEPINBELL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WEEPINBELL_1,
+};
+
+static const union AnimCmd *const sAnims_VICTREEBEL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_VICTREEBEL_1,
+};
+
+static const union AnimCmd *const sAnims_TENTACOOL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TENTACOOL_1,
+};
+
+static const union AnimCmd *const sAnims_TENTACRUEL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TENTACRUEL_1,
+};
+
+static const union AnimCmd *const sAnims_GEODUDE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GEODUDE_1,
+};
+
+static const union AnimCmd *const sAnims_GRAVELER[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GRAVELER_1,
+};
+
+static const union AnimCmd *const sAnims_GOLEM[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GOLEM_1,
+};
+
+static const union AnimCmd *const sAnims_PONYTA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PONYTA_1,
+};
+
+static const union AnimCmd *const sAnims_RAPIDASH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_RAPIDASH_1,
+};
+
+static const union AnimCmd *const sAnims_SLOWPOKE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SLOWPOKE_1,
+};
+
+static const union AnimCmd *const sAnims_SLOWBRO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SLOWBRO_1,
+};
+
+static const union AnimCmd *const sAnims_MAGNEMITE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MAGNEMITE_1,
+};
+
+static const union AnimCmd *const sAnims_MAGNETON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MAGNETON_1,
+};
+
+static const union AnimCmd *const sAnims_FARFETCHD[] ={
+ sAnim_GeneralFrame0,
+ sAnim_FARFETCHD_1,
+};
+
+static const union AnimCmd *const sAnims_DODUO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DODUO_1,
+};
+
+static const union AnimCmd *const sAnims_DODRIO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DODRIO_1,
+};
+
+static const union AnimCmd *const sAnims_SEEL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SEEL_1,
+};
+
+static const union AnimCmd *const sAnims_DEWGONG[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DEWGONG_1,
+};
+
+static const union AnimCmd *const sAnims_GRIMER[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GRIMER_1,
+ sAnim_GRIMER_2,
+};
+
+static const union AnimCmd *const sAnims_MUK[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MUK_1,
+ sAnim_MUK_2,
+};
+
+static const union AnimCmd *const sAnims_SHELLDER[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SHELLDER_1,
+};
+
+static const union AnimCmd *const sAnims_CLOYSTER[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CLOYSTER_1,
+};
+
+static const union AnimCmd *const sAnims_GASTLY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GASTLY_1,
+};
+
+static const union AnimCmd *const sAnims_HAUNTER[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HAUNTER_1,
+};
+
+static const union AnimCmd *const sAnims_GENGAR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GENGAR_1,
+};
+
+static const union AnimCmd *const sAnims_ONIX[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ONIX_1,
+};
+
+static const union AnimCmd *const sAnims_DROWZEE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DROWZEE_1,
+};
+
+static const union AnimCmd *const sAnims_HYPNO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HYPNO_1,
+};
+
+static const union AnimCmd *const sAnims_KRABBY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_KRABBY_1,
+};
+
+static const union AnimCmd *const sAnims_KINGLER[] ={
+ sAnim_GeneralFrame0,
+ sAnim_KINGLER_1,
+};
+
+static const union AnimCmd *const sAnims_VOLTORB[] ={
+ sAnim_GeneralFrame0,
+ sAnim_VOLTORB_1,
+};
+
+static const union AnimCmd *const sAnims_ELECTRODE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ELECTRODE_1,
+};
+
+static const union AnimCmd *const sAnims_EXEGGCUTE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_EXEGGCUTE_1,
+};
+
+static const union AnimCmd *const sAnims_EXEGGUTOR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_EXEGGUTOR_1,
+};
+
+static const union AnimCmd *const sAnims_CUBONE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CUBONE_1,
+};
+
+static const union AnimCmd *const sAnims_MAROWAK[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MAROWAK_1,
+};
+
+static const union AnimCmd *const sAnims_HITMONLEE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HITMONLEE_1,
+};
+
+static const union AnimCmd *const sAnims_HITMONCHAN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HITMONCHAN_1,
+};
+
+static const union AnimCmd *const sAnims_LICKITUNG[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LICKITUNG_1,
+};
+
+static const union AnimCmd *const sAnims_KOFFING[] ={
+ sAnim_GeneralFrame0,
+ sAnim_KOFFING_1,
+ sAnim_KOFFING_2,
+};
+
+static const union AnimCmd *const sAnims_WEEZING[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WEEZING_1,
+ sAnim_WEEZING_2,
+};
+
+static const union AnimCmd *const sAnims_RHYHORN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_RHYHORN_1,
+ sAnim_RHYHORN_2,
+};
+
+static const union AnimCmd *const sAnims_RHYDON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_RHYDON_1,
+ sAnim_RHYDON_2,
+};
+
+static const union AnimCmd *const sAnims_CHANSEY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CHANSEY_1,
+};
+
+static const union AnimCmd *const sAnims_TANGELA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TANGELA_1,
+};
+
+static const union AnimCmd *const sAnims_KANGASKHAN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_KANGASKHAN_1,
+};
+
+static const union AnimCmd *const sAnims_HORSEA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HORSEA_1,
+ sAnim_HORSEA_2,
+};
+
+static const union AnimCmd *const sAnims_SEADRA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SEADRA_1,
+ sAnim_SEADRA_2,
+};
+
+static const union AnimCmd *const sAnims_GOLDEEN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GOLDEEN_1,
+};
+
+static const union AnimCmd *const sAnims_SEAKING[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SEAKING_1,
+};
+
+static const union AnimCmd *const sAnims_STARYU[] ={
+ sAnim_GeneralFrame0,
+ sAnim_STARYU_1,
+ sAnim_STARYU_2,
+};
+
+static const union AnimCmd *const sAnims_STARMIE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_STARMIE_1,
+ sAnim_STARMIE_2,
+};
+
+static const union AnimCmd *const sAnims_MR_MIME[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MR_MIME_1,
+};
+
+static const union AnimCmd *const sAnims_SCYTHER[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SCYTHER_1,
+};
+
+static const union AnimCmd *const sAnims_JYNX[] ={
+ sAnim_GeneralFrame0,
+ sAnim_JYNX_1,
+};
+
+static const union AnimCmd *const sAnims_ELECTABUZZ[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ELECTABUZZ_1,
+};
+
+static const union AnimCmd *const sAnims_MAGMAR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MAGMAR_1,
+};
+
+static const union AnimCmd *const sAnims_PINSIR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PINSIR_1,
+ sAnim_PINSIR_2,
+};
+
+static const union AnimCmd *const sAnims_TAUROS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TAUROS_1,
+};
+
+static const union AnimCmd *const sAnims_MAGIKARP[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MAGIKARP_1,
+};
+
+static const union AnimCmd *const sAnims_GYARADOS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GYARADOS_1,
+};
+
+static const union AnimCmd *const sAnims_LAPRAS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LAPRAS_1,
+};
+
+static const union AnimCmd *const sAnims_DITTO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DITTO_1,
+};
+
+static const union AnimCmd *const sAnims_EEVEE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_EEVEE_1,
+};
+
+static const union AnimCmd *const sAnims_VAPOREON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_VAPOREON_1,
+};
+
+static const union AnimCmd *const sAnims_JOLTEON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_JOLTEON_1,
+};
+
+static const union AnimCmd *const sAnims_FLAREON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_FLAREON_1,
+};
+
+static const union AnimCmd *const sAnims_PORYGON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PORYGON_1,
+};
+
+static const union AnimCmd *const sAnims_OMANYTE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_OMANYTE_1,
+};
+
+static const union AnimCmd *const sAnims_OMASTAR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_OMASTAR_1,
+};
+
+static const union AnimCmd *const sAnims_KABUTO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_KABUTO_1,
+};
+
+static const union AnimCmd *const sAnims_KABUTOPS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_KABUTOPS_1,
+};
+
+static const union AnimCmd *const sAnims_AERODACTYL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_AERODACTYL_1,
+};
+
+static const union AnimCmd *const sAnims_SNORLAX[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SNORLAX_1,
+};
+
+static const union AnimCmd *const sAnims_ARTICUNO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ARTICUNO_1,
+};
+
+static const union AnimCmd *const sAnims_ZAPDOS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ZAPDOS_1,
+};
+
+static const union AnimCmd *const sAnims_MOLTRES[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MOLTRES_1,
+};
+
+static const union AnimCmd *const sAnims_DRATINI[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DRATINI_1,
+};
+
+static const union AnimCmd *const sAnims_DRAGONAIR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DRAGONAIR_1,
+};
+
+static const union AnimCmd *const sAnims_DRAGONITE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DRAGONITE_1,
+};
+
+static const union AnimCmd *const sAnims_MEWTWO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MEWTWO_1,
+};
+
+static const union AnimCmd *const sAnims_MEW[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MEW_1,
+};
+
+static const union AnimCmd *const sAnims_CHIKORITA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CHIKORITA_1,
+};
+
+static const union AnimCmd *const sAnims_BAYLEEF[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BAYLEEF_1,
+};
+
+static const union AnimCmd *const sAnims_MEGANIUM[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MEGANIUM_1,
+};
+
+static const union AnimCmd *const sAnims_CYNDAQUIL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CYNDAQUIL_1,
+};
+
+static const union AnimCmd *const sAnims_QUILAVA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_QUILAVA_1,
+};
+
+static const union AnimCmd *const sAnims_TYPHLOSION[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TYPHLOSION_1,
+};
+
+static const union AnimCmd *const sAnims_TOTODILE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TOTODILE_1,
+};
+
+static const union AnimCmd *const sAnims_CROCONAW[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CROCONAW_1,
+};
+
+static const union AnimCmd *const sAnims_FERALIGATR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_FERALIGATR_1,
+};
+
+static const union AnimCmd *const sAnims_SENTRET[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SENTRET_1,
+};
+
+static const union AnimCmd *const sAnims_FURRET[] ={
+ sAnim_GeneralFrame0,
+ sAnim_FURRET_1,
+};
+
+static const union AnimCmd *const sAnims_HOOTHOOT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HOOTHOOT_1,
+};
+
+static const union AnimCmd *const sAnims_NOCTOWL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NOCTOWL_1,
+};
+
+static const union AnimCmd *const sAnims_LEDYBA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LEDYBA_1,
+};
+
+static const union AnimCmd *const sAnims_LEDIAN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LEDIAN_1,
+};
+
+static const union AnimCmd *const sAnims_SPINARAK[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SPINARAK_1,
+};
+
+static const union AnimCmd *const sAnims_ARIADOS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ARIADOS_1,
+};
+
+static const union AnimCmd *const sAnims_CROBAT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CROBAT_1,
+};
+
+static const union AnimCmd *const sAnims_CHINCHOU[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CHINCHOU_1,
+ sAnim_CHINCHOU_2,
+};
+
+static const union AnimCmd *const sAnims_LANTURN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LANTURN_1,
+ sAnim_LANTURN_2,
+};
+
+static const union AnimCmd *const sAnims_PICHU[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PICHU_1,
+ sAnim_PICHU_2,
+};
+
+static const union AnimCmd *const sAnims_CLEFFA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CLEFFA_1,
+};
+
+static const union AnimCmd *const sAnims_IGGLYBUFF[] ={
+ sAnim_GeneralFrame0,
+ sAnim_IGGLYBUFF_1,
+ sAnim_IGGLYBUFF_2,
+};
+
+static const union AnimCmd *const sAnims_TOGEPI[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TOGEPI_1,
+};
+
+static const union AnimCmd *const sAnims_TOGETIC[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TOGETIC_1,
+};
+
+static const union AnimCmd *const sAnims_NATU[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NATU_1,
+ sAnim_NATU_2,
+};
+
+static const union AnimCmd *const sAnims_XATU[] ={
+ sAnim_GeneralFrame0,
+ sAnim_XATU_1,
+ sAnim_XATU_2,
+};
+
+static const union AnimCmd *const sAnims_MAREEP[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MAREEP_1,
+};
+
+static const union AnimCmd *const sAnims_FLAAFFY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_FLAAFFY_1,
+};
+
+static const union AnimCmd *const sAnims_AMPHAROS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_AMPHAROS_1,
+};
+
+static const union AnimCmd *const sAnims_BELLOSSOM[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BELLOSSOM_1,
+};
+
+static const union AnimCmd *const sAnims_MARILL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MARILL_1,
+};
+
+static const union AnimCmd *const sAnims_AZUMARILL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_AZUMARILL_1,
+};
+
+static const union AnimCmd *const sAnims_SUDOWOODO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SUDOWOODO_1,
+};
+
+static const union AnimCmd *const sAnims_POLITOED[] ={
+ sAnim_GeneralFrame0,
+ sAnim_POLITOED_1,
+};
+
+static const union AnimCmd *const sAnims_HOPPIP[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HOPPIP_1,
+};
+
+static const union AnimCmd *const sAnims_SKIPLOOM[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SKIPLOOM_1,
+};
+
+static const union AnimCmd *const sAnims_JUMPLUFF[] ={
+ sAnim_GeneralFrame0,
+ sAnim_JUMPLUFF_1,
+};
+
+static const union AnimCmd *const sAnims_AIPOM[] ={
+ sAnim_GeneralFrame0,
+ sAnim_AIPOM_1,
+};
+
+static const union AnimCmd *const sAnims_SUNKERN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SUNKERN_1,
+};
+
+static const union AnimCmd *const sAnims_SUNFLORA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SUNFLORA_1,
+};
+
+static const union AnimCmd *const sAnims_YANMA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_YANMA_1,
+};
+
+static const union AnimCmd *const sAnims_WOOPER[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WOOPER_1,
+};
+
+static const union AnimCmd *const sAnims_QUAGSIRE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_QUAGSIRE_1,
+};
+
+static const union AnimCmd *const sAnims_ESPEON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ESPEON_1,
+};
+
+static const union AnimCmd *const sAnims_UMBREON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UMBREON_1,
+};
+
+static const union AnimCmd *const sAnims_MURKROW[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MURKROW_1,
+};
+
+static const union AnimCmd *const sAnims_SLOWKING[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SLOWKING_1,
+};
+
+static const union AnimCmd *const sAnims_MISDREAVUS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MISDREAVUS_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_1,
+};
+
+static const union AnimCmd *const sAnims_WOBBUFFET[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WOBBUFFET_1,
+ sAnim_WOBBUFFET_2,
+};
+
+static const union AnimCmd *const sAnims_GIRAFARIG[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GIRAFARIG_1,
+ sAnim_GIRAFARIG_2,
+};
+
+static const union AnimCmd *const sAnims_PINECO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PINECO_1,
+};
+
+static const union AnimCmd *const sAnims_FORRETRESS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_FORRETRESS_1,
+};
+
+static const union AnimCmd *const sAnims_DUNSPARCE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DUNSPARCE_1,
+};
+
+static const union AnimCmd *const sAnims_GLIGAR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GLIGAR_1,
+};
+
+static const union AnimCmd *const sAnims_STEELIX[] ={
+ sAnim_GeneralFrame0,
+ sAnim_STEELIX_1,
+};
+
+static const union AnimCmd *const sAnims_SNUBBULL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SNUBBULL_1,
+};
+
+static const union AnimCmd *const sAnims_GRANBULL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GRANBULL_1,
+};
+
+static const union AnimCmd *const sAnims_QWILFISH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_QWILFISH_1,
+};
+
+static const union AnimCmd *const sAnims_SCIZOR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SCIZOR_1,
+};
+
+static const union AnimCmd *const sAnims_SHUCKLE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SHUCKLE_1,
+};
+
+static const union AnimCmd *const sAnims_HERACROSS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HERACROSS_1,
+ sAnim_HERACROSS_2,
+};
+
+static const union AnimCmd *const sAnims_SNEASEL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SNEASEL_1,
+};
+
+static const union AnimCmd *const sAnims_TEDDIURSA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TEDDIURSA_1,
+};
+
+static const union AnimCmd *const sAnims_URSARING[] ={
+ sAnim_GeneralFrame0,
+ sAnim_URSARING_1,
+};
+
+static const union AnimCmd *const sAnims_SLUGMA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SLUGMA_1,
+ sAnim_SLUGMA_2,
+};
+
+static const union AnimCmd *const sAnims_MAGCARGO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MAGCARGO_1,
+ sAnim_MAGCARGO_2,
+};
+
+static const union AnimCmd *const sAnims_SWINUB[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SWINUB_1,
+};
+
+static const union AnimCmd *const sAnims_PILOSWINE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PILOSWINE_1,
+};
+
+static const union AnimCmd *const sAnims_CORSOLA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CORSOLA_1,
+ sAnim_CORSOLA_2,
+};
+
+static const union AnimCmd *const sAnims_REMORAID[] ={
+ sAnim_GeneralFrame0,
+ sAnim_REMORAID_1,
+};
+
+static const union AnimCmd *const sAnims_OCTILLERY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_OCTILLERY_1,
+};
+
+static const union AnimCmd *const sAnims_DELIBIRD[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DELIBIRD_1,
+};
+
+static const union AnimCmd *const sAnims_MANTINE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MANTINE_1,
+};
+
+static const union AnimCmd *const sAnims_SKARMORY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SKARMORY_1,
+ sAnim_SKARMORY_2,
+};
+
+static const union AnimCmd *const sAnims_HOUNDOUR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HOUNDOUR_1,
+};
+
+static const union AnimCmd *const sAnims_HOUNDOOM[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HOUNDOOM_1,
+};
+
+static const union AnimCmd *const sAnims_KINGDRA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_KINGDRA_1,
+ sAnim_KINGDRA_2,
+};
+
+static const union AnimCmd *const sAnims_PHANPY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PHANPY_1,
+ sAnim_PHANPY_2,
+};
+
+static const union AnimCmd *const sAnims_DONPHAN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DONPHAN_1,
+ sAnim_DONPHAN_2,
+};
+
+static const union AnimCmd *const sAnims_PORYGON2[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PORYGON2_1,
+};
+
+static const union AnimCmd *const sAnims_STANTLER[] ={
+ sAnim_GeneralFrame0,
+ sAnim_STANTLER_1,
+};
+
+static const union AnimCmd *const sAnims_SMEARGLE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SMEARGLE_1,
+};
+
+static const union AnimCmd *const sAnims_TYROGUE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TYROGUE_1,
+};
+
+static const union AnimCmd *const sAnims_HITMONTOP[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HITMONTOP_1,
+};
+
+static const union AnimCmd *const sAnims_SMOOCHUM[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SMOOCHUM_1,
+};
+
+static const union AnimCmd *const sAnims_ELEKID[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ELEKID_1,
+};
+
+static const union AnimCmd *const sAnims_MAGBY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MAGBY_1,
+};
+
+static const union AnimCmd *const sAnims_MILTANK[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MILTANK_1,
+};
+
+static const union AnimCmd *const sAnims_BLISSEY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BLISSEY_1,
+};
+
+static const union AnimCmd *const sAnims_RAIKOU[] ={
+ sAnim_GeneralFrame0,
+ sAnim_RAIKOU_1,
+};
+
+static const union AnimCmd *const sAnims_ENTEI[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ENTEI_1,
+};
+
+static const union AnimCmd *const sAnims_SUICUNE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SUICUNE_1,
+};
+
+static const union AnimCmd *const sAnims_LARVITAR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LARVITAR_1,
+};
+
+static const union AnimCmd *const sAnims_PUPITAR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PUPITAR_1,
+};
+
+static const union AnimCmd *const sAnims_TYRANITAR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TYRANITAR_1,
+};
+
+static const union AnimCmd *const sAnims_LUGIA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LUGIA_1,
+};
+
+static const union AnimCmd *const sAnims_HO_OH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HO_OH_1,
+};
+
+static const union AnimCmd *const sAnims_CELEBI[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CELEBI_1,
+};
+
+static const union AnimCmd *const sAnims_OLD_UNOWN_B[] ={
+ sAnim_GeneralFrame0,
+ sAnim_OLD_UNOWN_B_1,
+};
+
+static const union AnimCmd *const sAnims_TREECKO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TREECKO_1,
+};
+
+static const union AnimCmd *const sAnims_GROVYLE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GROVYLE_1,
+};
+
+static const union AnimCmd *const sAnims_SCEPTILE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SCEPTILE_1,
+};
+
+static const union AnimCmd *const sAnims_TORCHIC[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TORCHIC_1,
+};
+
+static const union AnimCmd *const sAnims_COMBUSKEN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_COMBUSKEN_1,
+};
+
+static const union AnimCmd *const sAnims_BLAZIKEN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BLAZIKEN_1,
+ sAnim_BLAZIKEN_2,
+ sAnim_BLAZIKEN_3,
+ sAnim_BLAZIKEN_4,
+};
+
+static const union AnimCmd *const sAnims_MUDKIP[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MUDKIP_1,
+};
+
+static const union AnimCmd *const sAnims_MARSHTOMP[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MARSHTOMP_1,
+};
+
+static const union AnimCmd *const sAnims_SWAMPERT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SWAMPERT_1,
+};
+
+static const union AnimCmd *const sAnims_POOCHYENA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_POOCHYENA_1,
+};
+
+static const union AnimCmd *const sAnims_MIGHTYENA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MIGHTYENA_1,
+};
+
+static const union AnimCmd *const sAnims_ZIGZAGOON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ZIGZAGOON_1,
+};
+
+static const union AnimCmd *const sAnims_LINOONE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LINOONE_1,
+};
+
+static const union AnimCmd *const sAnims_WURMPLE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WURMPLE_1,
+};
+
+static const union AnimCmd *const sAnims_SILCOON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SILCOON_1,
+ sAnim_SILCOON_2,
+};
+
+static const union AnimCmd *const sAnims_BEAUTIFLY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BEAUTIFLY_1,
+ sAnim_BEAUTIFLY_2,
+};
+
+static const union AnimCmd *const sAnims_CASCOON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CASCOON_1,
+ sAnim_CASCOON_2,
+};
+
+static const union AnimCmd *const sAnims_DUSTOX[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DUSTOX_1,
+ sAnim_DUSTOX_2,
+};
+
+static const union AnimCmd *const sAnims_LOTAD[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LOTAD_1,
+};
+
+static const union AnimCmd *const sAnims_LOMBRE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LOMBRE_1,
+};
+
+static const union AnimCmd *const sAnims_LUDICOLO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LUDICOLO_1,
+};
+
+static const union AnimCmd *const sAnims_SEEDOT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SEEDOT_1,
+};
+
+static const union AnimCmd *const sAnims_NUZLEAF[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NUZLEAF_1,
+};
+
+static const union AnimCmd *const sAnims_SHIFTRY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SHIFTRY_1,
+};
+
+static const union AnimCmd *const sAnims_NINCADA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NINCADA_1,
+};
+
+static const union AnimCmd *const sAnims_NINJASK[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NINJASK_1,
+};
+
+static const union AnimCmd *const sAnims_SHEDINJA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SHEDINJA_1,
+};
+
+static const union AnimCmd *const sAnims_TAILLOW[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TAILLOW_1,
+};
+
+static const union AnimCmd *const sAnims_SWELLOW[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SWELLOW_1,
+};
+
+static const union AnimCmd *const sAnims_SHROOMISH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SHROOMISH_1,
+};
+
+static const union AnimCmd *const sAnims_BRELOOM[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BRELOOM_1,
+};
+
+static const union AnimCmd *const sAnims_SPINDA[] ={
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_WINGULL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WINGULL_1,
+};
+
+static const union AnimCmd *const sAnims_PELIPPER[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PELIPPER_1,
+};
+
+static const union AnimCmd *const sAnims_SURSKIT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SURSKIT_1,
+ sAnim_SURSKIT_2,
+};
+
+static const union AnimCmd *const sAnims_MASQUERAIN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MASQUERAIN_1,
+ sAnim_MASQUERAIN_2,
+};
+
+static const union AnimCmd *const sAnims_WAILMER[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WAILMER_1,
+};
+
+static const union AnimCmd *const sAnims_WAILORD[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WAILORD_1,
+};
+
+static const union AnimCmd *const sAnims_SKITTY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SKITTY_1,
+};
+
+static const union AnimCmd *const sAnims_DELCATTY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DELCATTY_1,
+};
+
+static const union AnimCmd *const sAnims_KECLEON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_KECLEON_1,
+};
+
+static const union AnimCmd *const sAnims_BALTOY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BALTOY_1,
+};
+
+static const union AnimCmd *const sAnims_CLAYDOL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CLAYDOL_1,
+};
+
+static const union AnimCmd *const sAnims_NOSEPASS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NOSEPASS_1,
+};
+
+static const union AnimCmd *const sAnims_TORKOAL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TORKOAL_1,
+};
+
+static const union AnimCmd *const sAnims_SABLEYE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SABLEYE_1,
+};
+
+static const union AnimCmd *const sAnims_BARBOACH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BARBOACH_1,
+};
+
+static const union AnimCmd *const sAnims_WHISCASH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WHISCASH_1,
+};
+
+static const union AnimCmd *const sAnims_LUVDISC[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LUVDISC_1,
+};
+
+static const union AnimCmd *const sAnims_CORPHISH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CORPHISH_1,
+};
+
+static const union AnimCmd *const sAnims_CRAWDAUNT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CRAWDAUNT_1,
+};
+
+static const union AnimCmd *const sAnims_FEEBAS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_FEEBAS_1,
+};
+
+static const union AnimCmd *const sAnims_MILOTIC[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MILOTIC_1,
+};
+
+static const union AnimCmd *const sAnims_CARVANHA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CARVANHA_1,
+};
+
+static const union AnimCmd *const sAnims_SHARPEDO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SHARPEDO_1,
+};
+
+static const union AnimCmd *const sAnims_TRAPINCH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TRAPINCH_1,
+};
+
+static const union AnimCmd *const sAnims_VIBRAVA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_VIBRAVA_1,
+};
+
+static const union AnimCmd *const sAnims_FLYGON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_FLYGON_1,
+};
+
+static const union AnimCmd *const sAnims_MAKUHITA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MAKUHITA_1,
+};
+
+static const union AnimCmd *const sAnims_HARIYAMA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HARIYAMA_1,
+};
+
+static const union AnimCmd *const sAnims_ELECTRIKE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ELECTRIKE_1,
+};
+
+static const union AnimCmd *const sAnims_MANECTRIC[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MANECTRIC_1,
+};
+
+static const union AnimCmd *const sAnims_NUMEL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_NUMEL_1,
+};
+
+static const union AnimCmd *const sAnims_CAMERUPT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CAMERUPT_1,
+};
+
+static const union AnimCmd *const sAnims_SPHEAL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SPHEAL_1,
+};
+
+static const union AnimCmd *const sAnims_SEALEO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SEALEO_1,
+};
+
+static const union AnimCmd *const sAnims_WALREIN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WALREIN_1,
+};
+
+static const union AnimCmd *const sAnims_CACNEA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CACNEA_1,
+};
+
+static const union AnimCmd *const sAnims_CACTURNE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CACTURNE_1,
+};
+
+static const union AnimCmd *const sAnims_SNORUNT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SNORUNT_1,
+};
+
+static const union AnimCmd *const sAnims_GLALIE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GLALIE_1,
+};
+
+static const union AnimCmd *const sAnims_LUNATONE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LUNATONE_1,
+ sAnim_LUNATONE_2,
+};
+
+static const union AnimCmd *const sAnims_SOLROCK[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SOLROCK_1,
+ sAnim_SOLROCK_2,
+};
+
+static const union AnimCmd *const sAnims_AZURILL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_AZURILL_1,
+};
+
+static const union AnimCmd *const sAnims_SPOINK[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SPOINK_1,
+};
+
+static const union AnimCmd *const sAnims_GRUMPIG[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GRUMPIG_1,
+};
+
+static const union AnimCmd *const sAnims_PLUSLE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_PLUSLE_1,
+};
+
+static const union AnimCmd *const sAnims_MINUN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MINUN_1,
+};
+
+static const union AnimCmd *const sAnims_MAWILE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MAWILE_1,
+};
+
+static const union AnimCmd *const sAnims_MEDITITE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MEDITITE_1,
+};
+
+static const union AnimCmd *const sAnims_MEDICHAM[] ={
+ sAnim_GeneralFrame0,
+ sAnim_MEDICHAM_1,
+};
+
+static const union AnimCmd *const sAnims_SWABLU[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SWABLU_1,
+ sAnim_SWABLU_2,
+};
+
+static const union AnimCmd *const sAnims_ALTARIA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ALTARIA_1,
+ sAnim_ALTARIA_2,
+};
+
+static const union AnimCmd *const sAnims_WYNAUT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WYNAUT_1,
+};
+
+static const union AnimCmd *const sAnims_DUSKULL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DUSKULL_1,
+};
+
+static const union AnimCmd *const sAnims_DUSCLOPS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DUSCLOPS_1,
+};
+
+static const union AnimCmd *const sAnims_ROSELIA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ROSELIA_1,
+};
+
+static const union AnimCmd *const sAnims_SLAKOTH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SLAKOTH_1,
+};
+
+static const union AnimCmd *const sAnims_VIGOROTH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_VIGOROTH_1,
+};
+
+static const union AnimCmd *const sAnims_SLAKING[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SLAKING_1,
+};
+
+static const union AnimCmd *const sAnims_GULPIN[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GULPIN_1,
+};
+
+static const union AnimCmd *const sAnims_SWALOT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SWALOT_1,
+};
+
+static const union AnimCmd *const sAnims_TROPIUS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_TROPIUS_1,
+};
+
+static const union AnimCmd *const sAnims_WHISMUR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_WHISMUR_1,
+};
+
+static const union AnimCmd *const sAnims_LOUDRED[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LOUDRED_1,
+};
+
+static const union AnimCmd *const sAnims_EXPLOUD[] ={
+ sAnim_GeneralFrame0,
+ sAnim_EXPLOUD_1,
+};
+
+static const union AnimCmd *const sAnims_CLAMPERL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CLAMPERL_1,
+};
+
+static const union AnimCmd *const sAnims_HUNTAIL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_HUNTAIL_1,
+};
+
+static const union AnimCmd *const sAnims_GOREBYSS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GOREBYSS_1,
+};
+
+static const union AnimCmd *const sAnims_ABSOL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ABSOL_1,
+};
+
+static const union AnimCmd *const sAnims_SHUPPET[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SHUPPET_1,
+};
+
+static const union AnimCmd *const sAnims_BANETTE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BANETTE_1,
+};
+
+static const union AnimCmd *const sAnims_SEVIPER[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SEVIPER_1,
+};
+
+static const union AnimCmd *const sAnims_ZANGOOSE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ZANGOOSE_1,
+};
+
+static const union AnimCmd *const sAnims_RELICANTH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_RELICANTH_1,
+};
+
+static const union AnimCmd *const sAnims_ARON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ARON_1,
+};
+
+static const union AnimCmd *const sAnims_LAIRON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LAIRON_1,
+};
+
+static const union AnimCmd *const sAnims_AGGRON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_AGGRON_1,
+};
+
+static const union AnimCmd *const sAnims_CASTFORM[] ={
+ sAnim_CASTFORM_0,
+ sAnim_CASTFORM_1,
+ sAnim_CASTFORM_2,
+ sAnim_CASTFORM_3,
+};
+
+static const union AnimCmd *const sAnims_VOLBEAT[] ={
+ sAnim_GeneralFrame0,
+ sAnim_VOLBEAT_1,
+};
+
+static const union AnimCmd *const sAnims_ILLUMISE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ILLUMISE_1,
+};
+
+static const union AnimCmd *const sAnims_LILEEP[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LILEEP_1,
+};
+
+static const union AnimCmd *const sAnims_CRADILY[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CRADILY_1,
+};
+
+static const union AnimCmd *const sAnims_ANORITH[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ANORITH_1,
+};
+
+static const union AnimCmd *const sAnims_ARMALDO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_ARMALDO_1,
+};
+
+static const union AnimCmd *const sAnims_RALTS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_RALTS_1,
+};
+
+static const union AnimCmd *const sAnims_KIRLIA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_KIRLIA_1,
+};
+
+static const union AnimCmd *const sAnims_GARDEVOIR[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GARDEVOIR_1,
+};
+
+static const union AnimCmd *const sAnims_BAGON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BAGON_1,
+};
+
+static const union AnimCmd *const sAnims_SHELGON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SHELGON_1,
+};
+
+static const union AnimCmd *const sAnims_SALAMENCE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_SALAMENCE_1,
+};
+
+static const union AnimCmd *const sAnims_BELDUM[] ={
+ sAnim_GeneralFrame0,
+ sAnim_BELDUM_1,
+};
+
+static const union AnimCmd *const sAnims_METANG[] ={
+ sAnim_GeneralFrame0,
+ sAnim_METANG_1,
+};
+
+static const union AnimCmd *const sAnims_METAGROSS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_METAGROSS_1,
+};
+
+static const union AnimCmd *const sAnims_REGIROCK[] ={
+ sAnim_GeneralFrame0,
+ sAnim_REGIROCK_1,
+ sAnim_REGIROCK_2,
+};
+
+static const union AnimCmd *const sAnims_REGICE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_REGICE_1,
+};
+
+static const union AnimCmd *const sAnims_REGISTEEL[] ={
+ sAnim_GeneralFrame0,
+ sAnim_REGISTEEL_1,
+ sAnim_REGISTEEL_2,
+};
+
+static const union AnimCmd *const sAnims_KYOGRE[] ={
+ sAnim_GeneralFrame0,
+ sAnim_KYOGRE_1,
+ sAnim_KYOGRE_2,
+};
+
+static const union AnimCmd *const sAnims_GROUDON[] ={
+ sAnim_GeneralFrame0,
+ sAnim_GROUDON_1,
+ sAnim_GROUDON_2,
+};
+
+static const union AnimCmd *const sAnims_RAYQUAZA[] ={
+ sAnim_GeneralFrame0,
+ sAnim_RAYQUAZA_1,
+ sAnim_RAYQUAZA_2,
+};
+
+static const union AnimCmd *const sAnims_LATIAS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LATIAS_1,
+ sAnim_LATIAS_2,
+};
+
+static const union AnimCmd *const sAnims_LATIOS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_LATIOS_1,
+ sAnim_LATIOS_2,
+};
+
+static const union AnimCmd *const sAnims_JIRACHI[] ={
+ sAnim_GeneralFrame0,
+ sAnim_JIRACHI_1,
+ sAnim_JIRACHI_2,
+};
+
+static const union AnimCmd *const sAnims_DEOXYS[] ={
+ sAnim_GeneralFrame0,
+ sAnim_DEOXYS_1,
+ sAnim_DEOXYS_2,
+};
+
+static const union AnimCmd *const sAnims_CHIMECHO[] ={
+ sAnim_GeneralFrame0,
+ sAnim_CHIMECHO_1,
+};
+
+static const union AnimCmd *const sAnims_EGG[] ={
+ sAnim_GeneralFrame0,
+ sAnim_EGG_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_B[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_B_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_C[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_C_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_D[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_D_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_E[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_E_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_F[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_F_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_G[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_G_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_H[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_H_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_I[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_I_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_J[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_J_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_K[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_K_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_L[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_L_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_M[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_M_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_N[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_N_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_O[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_O_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_P[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_P_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_Q[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_Q_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_R[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_R_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_S[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_S_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_T[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_T_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_U[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_U_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_V[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_V_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_W[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_W_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_X[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_X_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_Y[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_Y_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_Z[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_Z_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_EMARK[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_EMARK_1,
+};
+
+static const union AnimCmd *const sAnims_UNOWN_QMARK[] ={
+ sAnim_GeneralFrame0,
+ sAnim_UNOWN_QMARK_1,
+};
+
+#define ANIM_CMD(name) [SPECIES_##name] = sAnims_##name
+#define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims
+
+const union AnimCmd *const *const gMonFrontAnimsPtrTable[] =
+{
+ ANIM_CMD(NONE),
+ ANIM_CMD(BULBASAUR),
+ ANIM_CMD(IVYSAUR),
+ ANIM_CMD(VENUSAUR),
+ ANIM_CMD(CHARMANDER),
+ ANIM_CMD(CHARMELEON),
+ ANIM_CMD(CHARIZARD),
+ ANIM_CMD(SQUIRTLE),
+ ANIM_CMD(WARTORTLE),
+ ANIM_CMD(BLASTOISE),
+ ANIM_CMD(CATERPIE),
+ ANIM_CMD(METAPOD),
+ ANIM_CMD(BUTTERFREE),
+ ANIM_CMD(WEEDLE),
+ ANIM_CMD(KAKUNA),
+ ANIM_CMD(BEEDRILL),
+ ANIM_CMD(PIDGEY),
+ ANIM_CMD(PIDGEOTTO),
+ ANIM_CMD(PIDGEOT),
+ ANIM_CMD(RATTATA),
+ ANIM_CMD(RATICATE),
+ ANIM_CMD(SPEAROW),
+ ANIM_CMD(FEAROW),
+ ANIM_CMD(EKANS),
+ ANIM_CMD(ARBOK),
+ ANIM_CMD(PIKACHU),
+ ANIM_CMD(RAICHU),
+ ANIM_CMD(SANDSHREW),
+ ANIM_CMD(SANDSLASH),
+ ANIM_CMD(NIDORAN_F),
+ ANIM_CMD(NIDORINA),
+ ANIM_CMD(NIDOQUEEN),
+ ANIM_CMD(NIDORAN_M),
+ ANIM_CMD(NIDORINO),
+ ANIM_CMD(NIDOKING),
+ ANIM_CMD(CLEFAIRY),
+ ANIM_CMD(CLEFABLE),
+ ANIM_CMD(VULPIX),
+ ANIM_CMD(NINETALES),
+ ANIM_CMD(JIGGLYPUFF),
+ ANIM_CMD(WIGGLYTUFF),
+ ANIM_CMD(ZUBAT),
+ ANIM_CMD(GOLBAT),
+ ANIM_CMD(ODDISH),
+ ANIM_CMD(GLOOM),
+ ANIM_CMD(VILEPLUME),
+ ANIM_CMD(PARAS),
+ ANIM_CMD(PARASECT),
+ ANIM_CMD(VENONAT),
+ ANIM_CMD(VENOMOTH),
+ ANIM_CMD(DIGLETT),
+ ANIM_CMD(DUGTRIO),
+ ANIM_CMD(MEOWTH),
+ ANIM_CMD(PERSIAN),
+ ANIM_CMD(PSYDUCK),
+ ANIM_CMD(GOLDUCK),
+ ANIM_CMD(MANKEY),
+ ANIM_CMD(PRIMEAPE),
+ ANIM_CMD(GROWLITHE),
+ ANIM_CMD(ARCANINE),
+ ANIM_CMD(POLIWAG),
+ ANIM_CMD(POLIWHIRL),
+ ANIM_CMD(POLIWRATH),
+ ANIM_CMD(ABRA),
+ ANIM_CMD(KADABRA),
+ ANIM_CMD(ALAKAZAM),
+ ANIM_CMD(MACHOP),
+ ANIM_CMD(MACHOKE),
+ ANIM_CMD(MACHAMP),
+ ANIM_CMD(BELLSPROUT),
+ ANIM_CMD(WEEPINBELL),
+ ANIM_CMD(VICTREEBEL),
+ ANIM_CMD(TENTACOOL),
+ ANIM_CMD(TENTACRUEL),
+ ANIM_CMD(GEODUDE),
+ ANIM_CMD(GRAVELER),
+ ANIM_CMD(GOLEM),
+ ANIM_CMD(PONYTA),
+ ANIM_CMD(RAPIDASH),
+ ANIM_CMD(SLOWPOKE),
+ ANIM_CMD(SLOWBRO),
+ ANIM_CMD(MAGNEMITE),
+ ANIM_CMD(MAGNETON),
+ ANIM_CMD(FARFETCHD),
+ ANIM_CMD(DODUO),
+ ANIM_CMD(DODRIO),
+ ANIM_CMD(SEEL),
+ ANIM_CMD(DEWGONG),
+ ANIM_CMD(GRIMER),
+ ANIM_CMD(MUK),
+ ANIM_CMD(SHELLDER),
+ ANIM_CMD(CLOYSTER),
+ ANIM_CMD(GASTLY),
+ ANIM_CMD(HAUNTER),
+ ANIM_CMD(GENGAR),
+ ANIM_CMD(ONIX),
+ ANIM_CMD(DROWZEE),
+ ANIM_CMD(HYPNO),
+ ANIM_CMD(KRABBY),
+ ANIM_CMD(KINGLER),
+ ANIM_CMD(VOLTORB),
+ ANIM_CMD(ELECTRODE),
+ ANIM_CMD(EXEGGCUTE),
+ ANIM_CMD(EXEGGUTOR),
+ ANIM_CMD(CUBONE),
+ ANIM_CMD(MAROWAK),
+ ANIM_CMD(HITMONLEE),
+ ANIM_CMD(HITMONCHAN),
+ ANIM_CMD(LICKITUNG),
+ ANIM_CMD(KOFFING),
+ ANIM_CMD(WEEZING),
+ ANIM_CMD(RHYHORN),
+ ANIM_CMD(RHYDON),
+ ANIM_CMD(CHANSEY),
+ ANIM_CMD(TANGELA),
+ ANIM_CMD(KANGASKHAN),
+ ANIM_CMD(HORSEA),
+ ANIM_CMD(SEADRA),
+ ANIM_CMD(GOLDEEN),
+ ANIM_CMD(SEAKING),
+ ANIM_CMD(STARYU),
+ ANIM_CMD(STARMIE),
+ ANIM_CMD(MR_MIME),
+ ANIM_CMD(SCYTHER),
+ ANIM_CMD(JYNX),
+ ANIM_CMD(ELECTABUZZ),
+ ANIM_CMD(MAGMAR),
+ ANIM_CMD(PINSIR),
+ ANIM_CMD(TAUROS),
+ ANIM_CMD(MAGIKARP),
+ ANIM_CMD(GYARADOS),
+ ANIM_CMD(LAPRAS),
+ ANIM_CMD(DITTO),
+ ANIM_CMD(EEVEE),
+ ANIM_CMD(VAPOREON),
+ ANIM_CMD(JOLTEON),
+ ANIM_CMD(FLAREON),
+ ANIM_CMD(PORYGON),
+ ANIM_CMD(OMANYTE),
+ ANIM_CMD(OMASTAR),
+ ANIM_CMD(KABUTO),
+ ANIM_CMD(KABUTOPS),
+ ANIM_CMD(AERODACTYL),
+ ANIM_CMD(SNORLAX),
+ ANIM_CMD(ARTICUNO),
+ ANIM_CMD(ZAPDOS),
+ ANIM_CMD(MOLTRES),
+ ANIM_CMD(DRATINI),
+ ANIM_CMD(DRAGONAIR),
+ ANIM_CMD(DRAGONITE),
+ ANIM_CMD(MEWTWO),
+ ANIM_CMD(MEW),
+ ANIM_CMD(CHIKORITA),
+ ANIM_CMD(BAYLEEF),
+ ANIM_CMD(MEGANIUM),
+ ANIM_CMD(CYNDAQUIL),
+ ANIM_CMD(QUILAVA),
+ ANIM_CMD(TYPHLOSION),
+ ANIM_CMD(TOTODILE),
+ ANIM_CMD(CROCONAW),
+ ANIM_CMD(FERALIGATR),
+ ANIM_CMD(SENTRET),
+ ANIM_CMD(FURRET),
+ ANIM_CMD(HOOTHOOT),
+ ANIM_CMD(NOCTOWL),
+ ANIM_CMD(LEDYBA),
+ ANIM_CMD(LEDIAN),
+ ANIM_CMD(SPINARAK),
+ ANIM_CMD(ARIADOS),
+ ANIM_CMD(CROBAT),
+ ANIM_CMD(CHINCHOU),
+ ANIM_CMD(LANTURN),
+ ANIM_CMD(PICHU),
+ ANIM_CMD(CLEFFA),
+ ANIM_CMD(IGGLYBUFF),
+ ANIM_CMD(TOGEPI),
+ ANIM_CMD(TOGETIC),
+ ANIM_CMD(NATU),
+ ANIM_CMD(XATU),
+ ANIM_CMD(MAREEP),
+ ANIM_CMD(FLAAFFY),
+ ANIM_CMD(AMPHAROS),
+ ANIM_CMD(BELLOSSOM),
+ ANIM_CMD(MARILL),
+ ANIM_CMD(AZUMARILL),
+ ANIM_CMD(SUDOWOODO),
+ ANIM_CMD(POLITOED),
+ ANIM_CMD(HOPPIP),
+ ANIM_CMD(SKIPLOOM),
+ ANIM_CMD(JUMPLUFF),
+ ANIM_CMD(AIPOM),
+ ANIM_CMD(SUNKERN),
+ ANIM_CMD(SUNFLORA),
+ ANIM_CMD(YANMA),
+ ANIM_CMD(WOOPER),
+ ANIM_CMD(QUAGSIRE),
+ ANIM_CMD(ESPEON),
+ ANIM_CMD(UMBREON),
+ ANIM_CMD(MURKROW),
+ ANIM_CMD(SLOWKING),
+ ANIM_CMD(MISDREAVUS),
+ ANIM_CMD(UNOWN),
+ ANIM_CMD(WOBBUFFET),
+ ANIM_CMD(GIRAFARIG),
+ ANIM_CMD(PINECO),
+ ANIM_CMD(FORRETRESS),
+ ANIM_CMD(DUNSPARCE),
+ ANIM_CMD(GLIGAR),
+ ANIM_CMD(STEELIX),
+ ANIM_CMD(SNUBBULL),
+ ANIM_CMD(GRANBULL),
+ ANIM_CMD(QWILFISH),
+ ANIM_CMD(SCIZOR),
+ ANIM_CMD(SHUCKLE),
+ ANIM_CMD(HERACROSS),
+ ANIM_CMD(SNEASEL),
+ ANIM_CMD(TEDDIURSA),
+ ANIM_CMD(URSARING),
+ ANIM_CMD(SLUGMA),
+ ANIM_CMD(MAGCARGO),
+ ANIM_CMD(SWINUB),
+ ANIM_CMD(PILOSWINE),
+ ANIM_CMD(CORSOLA),
+ ANIM_CMD(REMORAID),
+ ANIM_CMD(OCTILLERY),
+ ANIM_CMD(DELIBIRD),
+ ANIM_CMD(MANTINE),
+ ANIM_CMD(SKARMORY),
+ ANIM_CMD(HOUNDOUR),
+ ANIM_CMD(HOUNDOOM),
+ ANIM_CMD(KINGDRA),
+ ANIM_CMD(PHANPY),
+ ANIM_CMD(DONPHAN),
+ ANIM_CMD(PORYGON2),
+ ANIM_CMD(STANTLER),
+ ANIM_CMD(SMEARGLE),
+ ANIM_CMD(TYROGUE),
+ ANIM_CMD(HITMONTOP),
+ ANIM_CMD(SMOOCHUM),
+ ANIM_CMD(ELEKID),
+ ANIM_CMD(MAGBY),
+ ANIM_CMD(MILTANK),
+ ANIM_CMD(BLISSEY),
+ ANIM_CMD(RAIKOU),
+ ANIM_CMD(ENTEI),
+ ANIM_CMD(SUICUNE),
+ ANIM_CMD(LARVITAR),
+ ANIM_CMD(PUPITAR),
+ ANIM_CMD(TYRANITAR),
+ ANIM_CMD(LUGIA),
+ ANIM_CMD(HO_OH),
+ ANIM_CMD(CELEBI),
+ ANIM_CMD(OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_C, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_D, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_E, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_F, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_G, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_H, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_I, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_J, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_K, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_L, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_M, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_N, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_O, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_P, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_Q, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_R, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_S, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_T, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_U, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_V, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_W, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_X, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_Y, sAnims_OLD_UNOWN_B),
+ ANIM_CMD_FULL(OLD_UNOWN_Z, sAnims_OLD_UNOWN_B),
+ ANIM_CMD(TREECKO),
+ ANIM_CMD(GROVYLE),
+ ANIM_CMD(SCEPTILE),
+ ANIM_CMD(TORCHIC),
+ ANIM_CMD(COMBUSKEN),
+ ANIM_CMD(BLAZIKEN),
+ ANIM_CMD(MUDKIP),
+ ANIM_CMD(MARSHTOMP),
+ ANIM_CMD(SWAMPERT),
+ ANIM_CMD(POOCHYENA),
+ ANIM_CMD(MIGHTYENA),
+ ANIM_CMD(ZIGZAGOON),
+ ANIM_CMD(LINOONE),
+ ANIM_CMD(WURMPLE),
+ ANIM_CMD(SILCOON),
+ ANIM_CMD(BEAUTIFLY),
+ ANIM_CMD(CASCOON),
+ ANIM_CMD(DUSTOX),
+ ANIM_CMD(LOTAD),
+ ANIM_CMD(LOMBRE),
+ ANIM_CMD(LUDICOLO),
+ ANIM_CMD(SEEDOT),
+ ANIM_CMD(NUZLEAF),
+ ANIM_CMD(SHIFTRY),
+ ANIM_CMD(NINCADA),
+ ANIM_CMD(NINJASK),
+ ANIM_CMD(SHEDINJA),
+ ANIM_CMD(TAILLOW),
+ ANIM_CMD(SWELLOW),
+ ANIM_CMD(SHROOMISH),
+ ANIM_CMD(BRELOOM),
+ ANIM_CMD(SPINDA),
+ ANIM_CMD(WINGULL),
+ ANIM_CMD(PELIPPER),
+ ANIM_CMD(SURSKIT),
+ ANIM_CMD(MASQUERAIN),
+ ANIM_CMD(WAILMER),
+ ANIM_CMD(WAILORD),
+ ANIM_CMD(SKITTY),
+ ANIM_CMD(DELCATTY),
+ ANIM_CMD(KECLEON),
+ ANIM_CMD(BALTOY),
+ ANIM_CMD(CLAYDOL),
+ ANIM_CMD(NOSEPASS),
+ ANIM_CMD(TORKOAL),
+ ANIM_CMD(SABLEYE),
+ ANIM_CMD(BARBOACH),
+ ANIM_CMD(WHISCASH),
+ ANIM_CMD(LUVDISC),
+ ANIM_CMD(CORPHISH),
+ ANIM_CMD(CRAWDAUNT),
+ ANIM_CMD(FEEBAS),
+ ANIM_CMD(MILOTIC),
+ ANIM_CMD(CARVANHA),
+ ANIM_CMD(SHARPEDO),
+ ANIM_CMD(TRAPINCH),
+ ANIM_CMD(VIBRAVA),
+ ANIM_CMD(FLYGON),
+ ANIM_CMD(MAKUHITA),
+ ANIM_CMD(HARIYAMA),
+ ANIM_CMD(ELECTRIKE),
+ ANIM_CMD(MANECTRIC),
+ ANIM_CMD(NUMEL),
+ ANIM_CMD(CAMERUPT),
+ ANIM_CMD(SPHEAL),
+ ANIM_CMD(SEALEO),
+ ANIM_CMD(WALREIN),
+ ANIM_CMD(CACNEA),
+ ANIM_CMD(CACTURNE),
+ ANIM_CMD(SNORUNT),
+ ANIM_CMD(GLALIE),
+ ANIM_CMD(LUNATONE),
+ ANIM_CMD(SOLROCK),
+ ANIM_CMD(AZURILL),
+ ANIM_CMD(SPOINK),
+ ANIM_CMD(GRUMPIG),
+ ANIM_CMD(PLUSLE),
+ ANIM_CMD(MINUN),
+ ANIM_CMD(MAWILE),
+ ANIM_CMD(MEDITITE),
+ ANIM_CMD(MEDICHAM),
+ ANIM_CMD(SWABLU),
+ ANIM_CMD(ALTARIA),
+ ANIM_CMD(WYNAUT),
+ ANIM_CMD(DUSKULL),
+ ANIM_CMD(DUSCLOPS),
+ ANIM_CMD(ROSELIA),
+ ANIM_CMD(SLAKOTH),
+ ANIM_CMD(VIGOROTH),
+ ANIM_CMD(SLAKING),
+ ANIM_CMD(GULPIN),
+ ANIM_CMD(SWALOT),
+ ANIM_CMD(TROPIUS),
+ ANIM_CMD(WHISMUR),
+ ANIM_CMD(LOUDRED),
+ ANIM_CMD(EXPLOUD),
+ ANIM_CMD(CLAMPERL),
+ ANIM_CMD(HUNTAIL),
+ ANIM_CMD(GOREBYSS),
+ ANIM_CMD(ABSOL),
+ ANIM_CMD(SHUPPET),
+ ANIM_CMD(BANETTE),
+ ANIM_CMD(SEVIPER),
+ ANIM_CMD(ZANGOOSE),
+ ANIM_CMD(RELICANTH),
+ ANIM_CMD(ARON),
+ ANIM_CMD(LAIRON),
+ ANIM_CMD(AGGRON),
+ ANIM_CMD(CASTFORM),
+ ANIM_CMD(VOLBEAT),
+ ANIM_CMD(ILLUMISE),
+ ANIM_CMD(LILEEP),
+ ANIM_CMD(CRADILY),
+ ANIM_CMD(ANORITH),
+ ANIM_CMD(ARMALDO),
+ ANIM_CMD(RALTS),
+ ANIM_CMD(KIRLIA),
+ ANIM_CMD(GARDEVOIR),
+ ANIM_CMD(BAGON),
+ ANIM_CMD(SHELGON),
+ ANIM_CMD(SALAMENCE),
+ ANIM_CMD(BELDUM),
+ ANIM_CMD(METANG),
+ ANIM_CMD(METAGROSS),
+ ANIM_CMD(REGIROCK),
+ ANIM_CMD(REGICE),
+ ANIM_CMD(REGISTEEL),
+ ANIM_CMD(KYOGRE),
+ ANIM_CMD(GROUDON),
+ ANIM_CMD(RAYQUAZA),
+ ANIM_CMD(LATIAS),
+ ANIM_CMD(LATIOS),
+ ANIM_CMD(JIRACHI),
+ ANIM_CMD(DEOXYS),
+ ANIM_CMD(CHIMECHO),
+ ANIM_CMD(EGG),
+ ANIM_CMD(UNOWN_B),
+ ANIM_CMD(UNOWN_C),
+ ANIM_CMD(UNOWN_D),
+ ANIM_CMD(UNOWN_E),
+ ANIM_CMD(UNOWN_F),
+ ANIM_CMD(UNOWN_G),
+ ANIM_CMD(UNOWN_H),
+ ANIM_CMD(UNOWN_I),
+ ANIM_CMD(UNOWN_J),
+ ANIM_CMD(UNOWN_K),
+ ANIM_CMD(UNOWN_L),
+ ANIM_CMD(UNOWN_M),
+ ANIM_CMD(UNOWN_N),
+ ANIM_CMD(UNOWN_O),
+ ANIM_CMD(UNOWN_P),
+ ANIM_CMD(UNOWN_Q),
+ ANIM_CMD(UNOWN_R),
+ ANIM_CMD(UNOWN_S),
+ ANIM_CMD(UNOWN_T),
+ ANIM_CMD(UNOWN_U),
+ ANIM_CMD(UNOWN_V),
+ ANIM_CMD(UNOWN_W),
+ ANIM_CMD(UNOWN_X),
+ ANIM_CMD(UNOWN_Y),
+ ANIM_CMD(UNOWN_Z),
+ ANIM_CMD(UNOWN_EMARK),
+ ANIM_CMD(UNOWN_QMARK),
+};
diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h
index 95ec7a132..19de9a7dd 100644
--- a/src/data/pokemon_graphics/front_pic_coordinates.h
+++ b/src/data/pokemon_graphics/front_pic_coordinates.h
@@ -1,5 +1,3 @@
-#include "constants/species.h"
-
const struct MonCoords gMonFrontPicCoords[] =
{
[SPECIES_NONE] =
diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h
index 92e6bab2e..82af860d3 100644
--- a/src/data/pokemon_graphics/front_pic_table.h
+++ b/src/data/pokemon_graphics/front_pic_table.h
@@ -1,443 +1,443 @@
const struct CompressedSpriteSheet gMonFrontPicTable[] =
{
- [SPECIES_NONE] = {gMonFrontPic_CircledQuestionMark, 0x800, SPECIES_NONE},
- [SPECIES_BULBASAUR] = {gMonFrontPic_Bulbasaur, 0x800, SPECIES_BULBASAUR},
- [SPECIES_IVYSAUR] = {gMonFrontPic_Ivysaur, 0x800, SPECIES_IVYSAUR},
- [SPECIES_VENUSAUR] = {gMonFrontPic_Venusaur, 0x800, SPECIES_VENUSAUR},
- [SPECIES_CHARMANDER] = {gMonFrontPic_Charmander, 0x800, SPECIES_CHARMANDER},
- [SPECIES_CHARMELEON] = {gMonFrontPic_Charmeleon, 0x800, SPECIES_CHARMELEON},
- [SPECIES_CHARIZARD] = {gMonFrontPic_Charizard, 0x800, SPECIES_CHARIZARD},
- [SPECIES_SQUIRTLE] = {gMonFrontPic_Squirtle, 0x800, SPECIES_SQUIRTLE},
- [SPECIES_WARTORTLE] = {gMonFrontPic_Wartortle, 0x800, SPECIES_WARTORTLE},
- [SPECIES_BLASTOISE] = {gMonFrontPic_Blastoise, 0x800, SPECIES_BLASTOISE},
- [SPECIES_CATERPIE] = {gMonFrontPic_Caterpie, 0x800, SPECIES_CATERPIE},
- [SPECIES_METAPOD] = {gMonFrontPic_Metapod, 0x800, SPECIES_METAPOD},
- [SPECIES_BUTTERFREE] = {gMonFrontPic_Butterfree, 0x800, SPECIES_BUTTERFREE},
- [SPECIES_WEEDLE] = {gMonFrontPic_Weedle, 0x800, SPECIES_WEEDLE},
- [SPECIES_KAKUNA] = {gMonFrontPic_Kakuna, 0x800, SPECIES_KAKUNA},
- [SPECIES_BEEDRILL] = {gMonFrontPic_Beedrill, 0x800, SPECIES_BEEDRILL},
- [SPECIES_PIDGEY] = {gMonFrontPic_Pidgey, 0x800, SPECIES_PIDGEY},
- [SPECIES_PIDGEOTTO] = {gMonFrontPic_Pidgeotto, 0x800, SPECIES_PIDGEOTTO},
- [SPECIES_PIDGEOT] = {gMonFrontPic_Pidgeot, 0x800, SPECIES_PIDGEOT},
- [SPECIES_RATTATA] = {gMonFrontPic_Rattata, 0x800, SPECIES_RATTATA},
- [SPECIES_RATICATE] = {gMonFrontPic_Raticate, 0x800, SPECIES_RATICATE},
- [SPECIES_SPEAROW] = {gMonFrontPic_Spearow, 0x800, SPECIES_SPEAROW},
- [SPECIES_FEAROW] = {gMonFrontPic_Fearow, 0x800, SPECIES_FEAROW},
- [SPECIES_EKANS] = {gMonFrontPic_Ekans, 0x800, SPECIES_EKANS},
- [SPECIES_ARBOK] = {gMonFrontPic_Arbok, 0x800, SPECIES_ARBOK},
- [SPECIES_PIKACHU] = {gMonFrontPic_Pikachu, 0x800, SPECIES_PIKACHU},
- [SPECIES_RAICHU] = {gMonFrontPic_Raichu, 0x800, SPECIES_RAICHU},
- [SPECIES_SANDSHREW] = {gMonFrontPic_Sandshrew, 0x800, SPECIES_SANDSHREW},
- [SPECIES_SANDSLASH] = {gMonFrontPic_Sandslash, 0x800, SPECIES_SANDSLASH},
- [SPECIES_NIDORAN_F] = {gMonFrontPic_NidoranF, 0x800, SPECIES_NIDORAN_F},
- [SPECIES_NIDORINA] = {gMonFrontPic_Nidorina, 0x800, SPECIES_NIDORINA},
- [SPECIES_NIDOQUEEN] = {gMonFrontPic_Nidoqueen, 0x800, SPECIES_NIDOQUEEN},
- [SPECIES_NIDORAN_M] = {gMonFrontPic_NidoranM, 0x800, SPECIES_NIDORAN_M},
- [SPECIES_NIDORINO] = {gMonFrontPic_Nidorino, 0x800, SPECIES_NIDORINO},
- [SPECIES_NIDOKING] = {gMonFrontPic_Nidoking, 0x800, SPECIES_NIDOKING},
- [SPECIES_CLEFAIRY] = {gMonFrontPic_Clefairy, 0x800, SPECIES_CLEFAIRY},
- [SPECIES_CLEFABLE] = {gMonFrontPic_Clefable, 0x800, SPECIES_CLEFABLE},
- [SPECIES_VULPIX] = {gMonFrontPic_Vulpix, 0x800, SPECIES_VULPIX},
- [SPECIES_NINETALES] = {gMonFrontPic_Ninetales, 0x800, SPECIES_NINETALES},
- [SPECIES_JIGGLYPUFF] = {gMonFrontPic_Jigglypuff, 0x800, SPECIES_JIGGLYPUFF},
- [SPECIES_WIGGLYTUFF] = {gMonFrontPic_Wigglytuff, 0x800, SPECIES_WIGGLYTUFF},
- [SPECIES_ZUBAT] = {gMonFrontPic_Zubat, 0x800, SPECIES_ZUBAT},
- [SPECIES_GOLBAT] = {gMonFrontPic_Golbat, 0x800, SPECIES_GOLBAT},
- [SPECIES_ODDISH] = {gMonFrontPic_Oddish, 0x800, SPECIES_ODDISH},
- [SPECIES_GLOOM] = {gMonFrontPic_Gloom, 0x800, SPECIES_GLOOM},
- [SPECIES_VILEPLUME] = {gMonFrontPic_Vileplume, 0x800, SPECIES_VILEPLUME},
- [SPECIES_PARAS] = {gMonFrontPic_Paras, 0x800, SPECIES_PARAS},
- [SPECIES_PARASECT] = {gMonFrontPic_Parasect, 0x800, SPECIES_PARASECT},
- [SPECIES_VENONAT] = {gMonFrontPic_Venonat, 0x800, SPECIES_VENONAT},
- [SPECIES_VENOMOTH] = {gMonFrontPic_Venomoth, 0x800, SPECIES_VENOMOTH},
- [SPECIES_DIGLETT] = {gMonFrontPic_Diglett, 0x800, SPECIES_DIGLETT},
- [SPECIES_DUGTRIO] = {gMonFrontPic_Dugtrio, 0x800, SPECIES_DUGTRIO},
- [SPECIES_MEOWTH] = {gMonFrontPic_Meowth, 0x800, SPECIES_MEOWTH},
- [SPECIES_PERSIAN] = {gMonFrontPic_Persian, 0x800, SPECIES_PERSIAN},
- [SPECIES_PSYDUCK] = {gMonFrontPic_Psyduck, 0x800, SPECIES_PSYDUCK},
- [SPECIES_GOLDUCK] = {gMonFrontPic_Golduck, 0x800, SPECIES_GOLDUCK},
- [SPECIES_MANKEY] = {gMonFrontPic_Mankey, 0x800, SPECIES_MANKEY},
- [SPECIES_PRIMEAPE] = {gMonFrontPic_Primeape, 0x800, SPECIES_PRIMEAPE},
- [SPECIES_GROWLITHE] = {gMonFrontPic_Growlithe, 0x800, SPECIES_GROWLITHE},
- [SPECIES_ARCANINE] = {gMonFrontPic_Arcanine, 0x800, SPECIES_ARCANINE},
- [SPECIES_POLIWAG] = {gMonFrontPic_Poliwag, 0x800, SPECIES_POLIWAG},
- [SPECIES_POLIWHIRL] = {gMonFrontPic_Poliwhirl, 0x800, SPECIES_POLIWHIRL},
- [SPECIES_POLIWRATH] = {gMonFrontPic_Poliwrath, 0x800, SPECIES_POLIWRATH},
- [SPECIES_ABRA] = {gMonFrontPic_Abra, 0x800, SPECIES_ABRA},
- [SPECIES_KADABRA] = {gMonFrontPic_Kadabra, 0x800, SPECIES_KADABRA},
- [SPECIES_ALAKAZAM] = {gMonFrontPic_Alakazam, 0x800, SPECIES_ALAKAZAM},
- [SPECIES_MACHOP] = {gMonFrontPic_Machop, 0x800, SPECIES_MACHOP},
- [SPECIES_MACHOKE] = {gMonFrontPic_Machoke, 0x800, SPECIES_MACHOKE},
- [SPECIES_MACHAMP] = {gMonFrontPic_Machamp, 0x800, SPECIES_MACHAMP},
- [SPECIES_BELLSPROUT] = {gMonFrontPic_Bellsprout, 0x800, SPECIES_BELLSPROUT},
- [SPECIES_WEEPINBELL] = {gMonFrontPic_Weepinbell, 0x800, SPECIES_WEEPINBELL},
- [SPECIES_VICTREEBEL] = {gMonFrontPic_Victreebel, 0x800, SPECIES_VICTREEBEL},
- [SPECIES_TENTACOOL] = {gMonFrontPic_Tentacool, 0x800, SPECIES_TENTACOOL},
- [SPECIES_TENTACRUEL] = {gMonFrontPic_Tentacruel, 0x800, SPECIES_TENTACRUEL},
- [SPECIES_GEODUDE] = {gMonFrontPic_Geodude, 0x800, SPECIES_GEODUDE},
- [SPECIES_GRAVELER] = {gMonFrontPic_Graveler, 0x800, SPECIES_GRAVELER},
- [SPECIES_GOLEM] = {gMonFrontPic_Golem, 0x800, SPECIES_GOLEM},
- [SPECIES_PONYTA] = {gMonFrontPic_Ponyta, 0x800, SPECIES_PONYTA},
- [SPECIES_RAPIDASH] = {gMonFrontPic_Rapidash, 0x800, SPECIES_RAPIDASH},
- [SPECIES_SLOWPOKE] = {gMonFrontPic_Slowpoke, 0x800, SPECIES_SLOWPOKE},
- [SPECIES_SLOWBRO] = {gMonFrontPic_Slowbro, 0x800, SPECIES_SLOWBRO},
- [SPECIES_MAGNEMITE] = {gMonFrontPic_Magnemite, 0x800, SPECIES_MAGNEMITE},
- [SPECIES_MAGNETON] = {gMonFrontPic_Magneton, 0x800, SPECIES_MAGNETON},
- [SPECIES_FARFETCHD] = {gMonFrontPic_Farfetchd, 0x800, SPECIES_FARFETCHD},
- [SPECIES_DODUO] = {gMonFrontPic_Doduo, 0x800, SPECIES_DODUO},
- [SPECIES_DODRIO] = {gMonFrontPic_Dodrio, 0x800, SPECIES_DODRIO},
- [SPECIES_SEEL] = {gMonFrontPic_Seel, 0x800, SPECIES_SEEL},
- [SPECIES_DEWGONG] = {gMonFrontPic_Dewgong, 0x800, SPECIES_DEWGONG},
- [SPECIES_GRIMER] = {gMonFrontPic_Grimer, 0x800, SPECIES_GRIMER},
- [SPECIES_MUK] = {gMonFrontPic_Muk, 0x800, SPECIES_MUK},
- [SPECIES_SHELLDER] = {gMonFrontPic_Shellder, 0x800, SPECIES_SHELLDER},
- [SPECIES_CLOYSTER] = {gMonFrontPic_Cloyster, 0x800, SPECIES_CLOYSTER},
- [SPECIES_GASTLY] = {gMonFrontPic_Gastly, 0x800, SPECIES_GASTLY},
- [SPECIES_HAUNTER] = {gMonFrontPic_Haunter, 0x800, SPECIES_HAUNTER},
- [SPECIES_GENGAR] = {gMonFrontPic_Gengar, 0x800, SPECIES_GENGAR},
- [SPECIES_ONIX] = {gMonFrontPic_Onix, 0x800, SPECIES_ONIX},
- [SPECIES_DROWZEE] = {gMonFrontPic_Drowzee, 0x800, SPECIES_DROWZEE},
- [SPECIES_HYPNO] = {gMonFrontPic_Hypno, 0x800, SPECIES_HYPNO},
- [SPECIES_KRABBY] = {gMonFrontPic_Krabby, 0x800, SPECIES_KRABBY},
- [SPECIES_KINGLER] = {gMonFrontPic_Kingler, 0x800, SPECIES_KINGLER},
- [SPECIES_VOLTORB] = {gMonFrontPic_Voltorb, 0x800, SPECIES_VOLTORB},
- [SPECIES_ELECTRODE] = {gMonFrontPic_Electrode, 0x800, SPECIES_ELECTRODE},
- [SPECIES_EXEGGCUTE] = {gMonFrontPic_Exeggcute, 0x800, SPECIES_EXEGGCUTE},
- [SPECIES_EXEGGUTOR] = {gMonFrontPic_Exeggutor, 0x800, SPECIES_EXEGGUTOR},
- [SPECIES_CUBONE] = {gMonFrontPic_Cubone, 0x800, SPECIES_CUBONE},
- [SPECIES_MAROWAK] = {gMonFrontPic_Marowak, 0x800, SPECIES_MAROWAK},
- [SPECIES_HITMONLEE] = {gMonFrontPic_Hitmonlee, 0x800, SPECIES_HITMONLEE},
- [SPECIES_HITMONCHAN] = {gMonFrontPic_Hitmonchan, 0x800, SPECIES_HITMONCHAN},
- [SPECIES_LICKITUNG] = {gMonFrontPic_Lickitung, 0x800, SPECIES_LICKITUNG},
- [SPECIES_KOFFING] = {gMonFrontPic_Koffing, 0x800, SPECIES_KOFFING},
- [SPECIES_WEEZING] = {gMonFrontPic_Weezing, 0x800, SPECIES_WEEZING},
- [SPECIES_RHYHORN] = {gMonFrontPic_Rhyhorn, 0x800, SPECIES_RHYHORN},
- [SPECIES_RHYDON] = {gMonFrontPic_Rhydon, 0x800, SPECIES_RHYDON},
- [SPECIES_CHANSEY] = {gMonFrontPic_Chansey, 0x800, SPECIES_CHANSEY},
- [SPECIES_TANGELA] = {gMonFrontPic_Tangela, 0x800, SPECIES_TANGELA},
- [SPECIES_KANGASKHAN] = {gMonFrontPic_Kangaskhan, 0x800, SPECIES_KANGASKHAN},
- [SPECIES_HORSEA] = {gMonFrontPic_Horsea, 0x800, SPECIES_HORSEA},
- [SPECIES_SEADRA] = {gMonFrontPic_Seadra, 0x800, SPECIES_SEADRA},
- [SPECIES_GOLDEEN] = {gMonFrontPic_Goldeen, 0x800, SPECIES_GOLDEEN},
- [SPECIES_SEAKING] = {gMonFrontPic_Seaking, 0x800, SPECIES_SEAKING},
- [SPECIES_STARYU] = {gMonFrontPic_Staryu, 0x800, SPECIES_STARYU},
- [SPECIES_STARMIE] = {gMonFrontPic_Starmie, 0x800, SPECIES_STARMIE},
- [SPECIES_MR_MIME] = {gMonFrontPic_Mrmime, 0x800, SPECIES_MR_MIME},
- [SPECIES_SCYTHER] = {gMonFrontPic_Scyther, 0x800, SPECIES_SCYTHER},
- [SPECIES_JYNX] = {gMonFrontPic_Jynx, 0x800, SPECIES_JYNX},
- [SPECIES_ELECTABUZZ] = {gMonFrontPic_Electabuzz, 0x800, SPECIES_ELECTABUZZ},
- [SPECIES_MAGMAR] = {gMonFrontPic_Magmar, 0x800, SPECIES_MAGMAR},
- [SPECIES_PINSIR] = {gMonFrontPic_Pinsir, 0x800, SPECIES_PINSIR},
- [SPECIES_TAUROS] = {gMonFrontPic_Tauros, 0x800, SPECIES_TAUROS},
- [SPECIES_MAGIKARP] = {gMonFrontPic_Magikarp, 0x800, SPECIES_MAGIKARP},
- [SPECIES_GYARADOS] = {gMonFrontPic_Gyarados, 0x800, SPECIES_GYARADOS},
- [SPECIES_LAPRAS] = {gMonFrontPic_Lapras, 0x800, SPECIES_LAPRAS},
- [SPECIES_DITTO] = {gMonFrontPic_Ditto, 0x800, SPECIES_DITTO},
- [SPECIES_EEVEE] = {gMonFrontPic_Eevee, 0x800, SPECIES_EEVEE},
- [SPECIES_VAPOREON] = {gMonFrontPic_Vaporeon, 0x800, SPECIES_VAPOREON},
- [SPECIES_JOLTEON] = {gMonFrontPic_Jolteon, 0x800, SPECIES_JOLTEON},
- [SPECIES_FLAREON] = {gMonFrontPic_Flareon, 0x800, SPECIES_FLAREON},
- [SPECIES_PORYGON] = {gMonFrontPic_Porygon, 0x800, SPECIES_PORYGON},
- [SPECIES_OMANYTE] = {gMonFrontPic_Omanyte, 0x800, SPECIES_OMANYTE},
- [SPECIES_OMASTAR] = {gMonFrontPic_Omastar, 0x800, SPECIES_OMASTAR},
- [SPECIES_KABUTO] = {gMonFrontPic_Kabuto, 0x800, SPECIES_KABUTO},
- [SPECIES_KABUTOPS] = {gMonFrontPic_Kabutops, 0x800, SPECIES_KABUTOPS},
- [SPECIES_AERODACTYL] = {gMonFrontPic_Aerodactyl, 0x800, SPECIES_AERODACTYL},
- [SPECIES_SNORLAX] = {gMonFrontPic_Snorlax, 0x800, SPECIES_SNORLAX},
- [SPECIES_ARTICUNO] = {gMonFrontPic_Articuno, 0x800, SPECIES_ARTICUNO},
- [SPECIES_ZAPDOS] = {gMonFrontPic_Zapdos, 0x800, SPECIES_ZAPDOS},
- [SPECIES_MOLTRES] = {gMonFrontPic_Moltres, 0x800, SPECIES_MOLTRES},
- [SPECIES_DRATINI] = {gMonFrontPic_Dratini, 0x800, SPECIES_DRATINI},
- [SPECIES_DRAGONAIR] = {gMonFrontPic_Dragonair, 0x800, SPECIES_DRAGONAIR},
- [SPECIES_DRAGONITE] = {gMonFrontPic_Dragonite, 0x800, SPECIES_DRAGONITE},
- [SPECIES_MEWTWO] = {gMonFrontPic_Mewtwo, 0x800, SPECIES_MEWTWO},
- [SPECIES_MEW] = {gMonFrontPic_Mew, 0x800, SPECIES_MEW},
- [SPECIES_CHIKORITA] = {gMonFrontPic_Chikorita, 0x800, SPECIES_CHIKORITA},
- [SPECIES_BAYLEEF] = {gMonFrontPic_Bayleef, 0x800, SPECIES_BAYLEEF},
- [SPECIES_MEGANIUM] = {gMonFrontPic_Meganium, 0x800, SPECIES_MEGANIUM},
- [SPECIES_CYNDAQUIL] = {gMonFrontPic_Cyndaquil, 0x800, SPECIES_CYNDAQUIL},
- [SPECIES_QUILAVA] = {gMonFrontPic_Quilava, 0x800, SPECIES_QUILAVA},
- [SPECIES_TYPHLOSION] = {gMonFrontPic_Typhlosion, 0x800, SPECIES_TYPHLOSION},
- [SPECIES_TOTODILE] = {gMonFrontPic_Totodile, 0x800, SPECIES_TOTODILE},
- [SPECIES_CROCONAW] = {gMonFrontPic_Croconaw, 0x800, SPECIES_CROCONAW},
- [SPECIES_FERALIGATR] = {gMonFrontPic_Feraligatr, 0x800, SPECIES_FERALIGATR},
- [SPECIES_SENTRET] = {gMonFrontPic_Sentret, 0x800, SPECIES_SENTRET},
- [SPECIES_FURRET] = {gMonFrontPic_Furret, 0x800, SPECIES_FURRET},
- [SPECIES_HOOTHOOT] = {gMonFrontPic_Hoothoot, 0x800, SPECIES_HOOTHOOT},
- [SPECIES_NOCTOWL] = {gMonFrontPic_Noctowl, 0x800, SPECIES_NOCTOWL},
- [SPECIES_LEDYBA] = {gMonFrontPic_Ledyba, 0x800, SPECIES_LEDYBA},
- [SPECIES_LEDIAN] = {gMonFrontPic_Ledian, 0x800, SPECIES_LEDIAN},
- [SPECIES_SPINARAK] = {gMonFrontPic_Spinarak, 0x800, SPECIES_SPINARAK},
- [SPECIES_ARIADOS] = {gMonFrontPic_Ariados, 0x800, SPECIES_ARIADOS},
- [SPECIES_CROBAT] = {gMonFrontPic_Crobat, 0x800, SPECIES_CROBAT},
- [SPECIES_CHINCHOU] = {gMonFrontPic_Chinchou, 0x800, SPECIES_CHINCHOU},
- [SPECIES_LANTURN] = {gMonFrontPic_Lanturn, 0x800, SPECIES_LANTURN},
- [SPECIES_PICHU] = {gMonFrontPic_Pichu, 0x800, SPECIES_PICHU},
- [SPECIES_CLEFFA] = {gMonFrontPic_Cleffa, 0x800, SPECIES_CLEFFA},
- [SPECIES_IGGLYBUFF] = {gMonFrontPic_Igglybuff, 0x800, SPECIES_IGGLYBUFF},
- [SPECIES_TOGEPI] = {gMonFrontPic_Togepi, 0x800, SPECIES_TOGEPI},
- [SPECIES_TOGETIC] = {gMonFrontPic_Togetic, 0x800, SPECIES_TOGETIC},
- [SPECIES_NATU] = {gMonFrontPic_Natu, 0x800, SPECIES_NATU},
- [SPECIES_XATU] = {gMonFrontPic_Xatu, 0x800, SPECIES_XATU},
- [SPECIES_MAREEP] = {gMonFrontPic_Mareep, 0x800, SPECIES_MAREEP},
- [SPECIES_FLAAFFY] = {gMonFrontPic_Flaaffy, 0x800, SPECIES_FLAAFFY},
- [SPECIES_AMPHAROS] = {gMonFrontPic_Ampharos, 0x800, SPECIES_AMPHAROS},
- [SPECIES_BELLOSSOM] = {gMonFrontPic_Bellossom, 0x800, SPECIES_BELLOSSOM},
- [SPECIES_MARILL] = {gMonFrontPic_Marill, 0x800, SPECIES_MARILL},
- [SPECIES_AZUMARILL] = {gMonFrontPic_Azumarill, 0x800, SPECIES_AZUMARILL},
- [SPECIES_SUDOWOODO] = {gMonFrontPic_Sudowoodo, 0x800, SPECIES_SUDOWOODO},
- [SPECIES_POLITOED] = {gMonFrontPic_Politoed, 0x800, SPECIES_POLITOED},
- [SPECIES_HOPPIP] = {gMonFrontPic_Hoppip, 0x800, SPECIES_HOPPIP},
- [SPECIES_SKIPLOOM] = {gMonFrontPic_Skiploom, 0x800, SPECIES_SKIPLOOM},
- [SPECIES_JUMPLUFF] = {gMonFrontPic_Jumpluff, 0x800, SPECIES_JUMPLUFF},
- [SPECIES_AIPOM] = {gMonFrontPic_Aipom, 0x800, SPECIES_AIPOM},
- [SPECIES_SUNKERN] = {gMonFrontPic_Sunkern, 0x800, SPECIES_SUNKERN},
- [SPECIES_SUNFLORA] = {gMonFrontPic_Sunflora, 0x800, SPECIES_SUNFLORA},
- [SPECIES_YANMA] = {gMonFrontPic_Yanma, 0x800, SPECIES_YANMA},
- [SPECIES_WOOPER] = {gMonFrontPic_Wooper, 0x800, SPECIES_WOOPER},
- [SPECIES_QUAGSIRE] = {gMonFrontPic_Quagsire, 0x800, SPECIES_QUAGSIRE},
- [SPECIES_ESPEON] = {gMonFrontPic_Espeon, 0x800, SPECIES_ESPEON},
- [SPECIES_UMBREON] = {gMonFrontPic_Umbreon, 0x800, SPECIES_UMBREON},
- [SPECIES_MURKROW] = {gMonFrontPic_Murkrow, 0x800, SPECIES_MURKROW},
- [SPECIES_SLOWKING] = {gMonFrontPic_Slowking, 0x800, SPECIES_SLOWKING},
- [SPECIES_MISDREAVUS] = {gMonFrontPic_Misdreavus, 0x800, SPECIES_MISDREAVUS},
- [SPECIES_UNOWN] = {gMonFrontPic_UnownA, 0x800, SPECIES_UNOWN},
- [SPECIES_WOBBUFFET] = {gMonFrontPic_Wobbuffet, 0x800, SPECIES_WOBBUFFET},
- [SPECIES_GIRAFARIG] = {gMonFrontPic_Girafarig, 0x800, SPECIES_GIRAFARIG},
- [SPECIES_PINECO] = {gMonFrontPic_Pineco, 0x800, SPECIES_PINECO},
- [SPECIES_FORRETRESS] = {gMonFrontPic_Forretress, 0x800, SPECIES_FORRETRESS},
- [SPECIES_DUNSPARCE] = {gMonFrontPic_Dunsparce, 0x800, SPECIES_DUNSPARCE},
- [SPECIES_GLIGAR] = {gMonFrontPic_Gligar, 0x800, SPECIES_GLIGAR},
- [SPECIES_STEELIX] = {gMonFrontPic_Steelix, 0x800, SPECIES_STEELIX},
- [SPECIES_SNUBBULL] = {gMonFrontPic_Snubbull, 0x800, SPECIES_SNUBBULL},
- [SPECIES_GRANBULL] = {gMonFrontPic_Granbull, 0x800, SPECIES_GRANBULL},
- [SPECIES_QWILFISH] = {gMonFrontPic_Qwilfish, 0x800, SPECIES_QWILFISH},
- [SPECIES_SCIZOR] = {gMonFrontPic_Scizor, 0x800, SPECIES_SCIZOR},
- [SPECIES_SHUCKLE] = {gMonFrontPic_Shuckle, 0x800, SPECIES_SHUCKLE},
- [SPECIES_HERACROSS] = {gMonFrontPic_Heracross, 0x800, SPECIES_HERACROSS},
- [SPECIES_SNEASEL] = {gMonFrontPic_Sneasel, 0x800, SPECIES_SNEASEL},
- [SPECIES_TEDDIURSA] = {gMonFrontPic_Teddiursa, 0x800, SPECIES_TEDDIURSA},
- [SPECIES_URSARING] = {gMonFrontPic_Ursaring, 0x800, SPECIES_URSARING},
- [SPECIES_SLUGMA] = {gMonFrontPic_Slugma, 0x800, SPECIES_SLUGMA},
- [SPECIES_MAGCARGO] = {gMonFrontPic_Magcargo, 0x800, SPECIES_MAGCARGO},
- [SPECIES_SWINUB] = {gMonFrontPic_Swinub, 0x800, SPECIES_SWINUB},
- [SPECIES_PILOSWINE] = {gMonFrontPic_Piloswine, 0x800, SPECIES_PILOSWINE},
- [SPECIES_CORSOLA] = {gMonFrontPic_Corsola, 0x800, SPECIES_CORSOLA},
- [SPECIES_REMORAID] = {gMonFrontPic_Remoraid, 0x800, SPECIES_REMORAID},
- [SPECIES_OCTILLERY] = {gMonFrontPic_Octillery, 0x800, SPECIES_OCTILLERY},
- [SPECIES_DELIBIRD] = {gMonFrontPic_Delibird, 0x800, SPECIES_DELIBIRD},
- [SPECIES_MANTINE] = {gMonFrontPic_Mantine, 0x800, SPECIES_MANTINE},
- [SPECIES_SKARMORY] = {gMonFrontPic_Skarmory, 0x800, SPECIES_SKARMORY},
- [SPECIES_HOUNDOUR] = {gMonFrontPic_Houndour, 0x800, SPECIES_HOUNDOUR},
- [SPECIES_HOUNDOOM] = {gMonFrontPic_Houndoom, 0x800, SPECIES_HOUNDOOM},
- [SPECIES_KINGDRA] = {gMonFrontPic_Kingdra, 0x800, SPECIES_KINGDRA},
- [SPECIES_PHANPY] = {gMonFrontPic_Phanpy, 0x800, SPECIES_PHANPY},
- [SPECIES_DONPHAN] = {gMonFrontPic_Donphan, 0x800, SPECIES_DONPHAN},
- [SPECIES_PORYGON2] = {gMonFrontPic_Porygon2, 0x800, SPECIES_PORYGON2},
- [SPECIES_STANTLER] = {gMonFrontPic_Stantler, 0x800, SPECIES_STANTLER},
- [SPECIES_SMEARGLE] = {gMonFrontPic_Smeargle, 0x800, SPECIES_SMEARGLE},
- [SPECIES_TYROGUE] = {gMonFrontPic_Tyrogue, 0x800, SPECIES_TYROGUE},
- [SPECIES_HITMONTOP] = {gMonFrontPic_Hitmontop, 0x800, SPECIES_HITMONTOP},
- [SPECIES_SMOOCHUM] = {gMonFrontPic_Smoochum, 0x800, SPECIES_SMOOCHUM},
- [SPECIES_ELEKID] = {gMonFrontPic_Elekid, 0x800, SPECIES_ELEKID},
- [SPECIES_MAGBY] = {gMonFrontPic_Magby, 0x800, SPECIES_MAGBY},
- [SPECIES_MILTANK] = {gMonFrontPic_Miltank, 0x800, SPECIES_MILTANK},
- [SPECIES_BLISSEY] = {gMonFrontPic_Blissey, 0x800, SPECIES_BLISSEY},
- [SPECIES_RAIKOU] = {gMonFrontPic_Raikou, 0x800, SPECIES_RAIKOU},
- [SPECIES_ENTEI] = {gMonFrontPic_Entei, 0x800, SPECIES_ENTEI},
- [SPECIES_SUICUNE] = {gMonFrontPic_Suicune, 0x800, SPECIES_SUICUNE},
- [SPECIES_LARVITAR] = {gMonFrontPic_Larvitar, 0x800, SPECIES_LARVITAR},
- [SPECIES_PUPITAR] = {gMonFrontPic_Pupitar, 0x800, SPECIES_PUPITAR},
- [SPECIES_TYRANITAR] = {gMonFrontPic_Tyranitar, 0x800, SPECIES_TYRANITAR},
- [SPECIES_LUGIA] = {gMonFrontPic_Lugia, 0x800, SPECIES_LUGIA},
- [SPECIES_HO_OH] = {gMonFrontPic_HoOh, 0x800, SPECIES_HO_OH},
- [SPECIES_CELEBI] = {gMonFrontPic_Celebi, 0x800, SPECIES_CELEBI},
- [SPECIES_OLD_UNOWN_B] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_B},
- [SPECIES_OLD_UNOWN_C] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_C},
- [SPECIES_OLD_UNOWN_D] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_D},
- [SPECIES_OLD_UNOWN_E] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_E},
- [SPECIES_OLD_UNOWN_F] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_F},
- [SPECIES_OLD_UNOWN_G] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_G},
- [SPECIES_OLD_UNOWN_H] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_H},
- [SPECIES_OLD_UNOWN_I] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_I},
- [SPECIES_OLD_UNOWN_J] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_J},
- [SPECIES_OLD_UNOWN_K] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_K},
- [SPECIES_OLD_UNOWN_L] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_L},
- [SPECIES_OLD_UNOWN_M] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_M},
- [SPECIES_OLD_UNOWN_N] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_N},
- [SPECIES_OLD_UNOWN_O] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_O},
- [SPECIES_OLD_UNOWN_P] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_P},
- [SPECIES_OLD_UNOWN_Q] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Q},
- [SPECIES_OLD_UNOWN_R] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_R},
- [SPECIES_OLD_UNOWN_S] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_S},
- [SPECIES_OLD_UNOWN_T] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_T},
- [SPECIES_OLD_UNOWN_U] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_U},
- [SPECIES_OLD_UNOWN_V] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_V},
- [SPECIES_OLD_UNOWN_W] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_W},
- [SPECIES_OLD_UNOWN_X] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_X},
- [SPECIES_OLD_UNOWN_Y] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Y},
- [SPECIES_OLD_UNOWN_Z] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Z},
- [SPECIES_TREECKO] = {gMonFrontPic_Treecko, 0x800, SPECIES_TREECKO},
- [SPECIES_GROVYLE] = {gMonFrontPic_Grovyle, 0x800, SPECIES_GROVYLE},
- [SPECIES_SCEPTILE] = {gMonFrontPic_Sceptile, 0x800, SPECIES_SCEPTILE},
- [SPECIES_TORCHIC] = {gMonFrontPic_Torchic, 0x800, SPECIES_TORCHIC},
- [SPECIES_COMBUSKEN] = {gMonFrontPic_Combusken, 0x800, SPECIES_COMBUSKEN},
- [SPECIES_BLAZIKEN] = {gMonFrontPic_Blaziken, 0x800, SPECIES_BLAZIKEN},
- [SPECIES_MUDKIP] = {gMonFrontPic_Mudkip, 0x800, SPECIES_MUDKIP},
- [SPECIES_MARSHTOMP] = {gMonFrontPic_Marshtomp, 0x800, SPECIES_MARSHTOMP},
- [SPECIES_SWAMPERT] = {gMonFrontPic_Swampert, 0x800, SPECIES_SWAMPERT},
- [SPECIES_POOCHYENA] = {gMonFrontPic_Poochyena, 0x800, SPECIES_POOCHYENA},
- [SPECIES_MIGHTYENA] = {gMonFrontPic_Mightyena, 0x800, SPECIES_MIGHTYENA},
- [SPECIES_ZIGZAGOON] = {gMonFrontPic_Zigzagoon, 0x800, SPECIES_ZIGZAGOON},
- [SPECIES_LINOONE] = {gMonFrontPic_Linoone, 0x800, SPECIES_LINOONE},
- [SPECIES_WURMPLE] = {gMonFrontPic_Wurmple, 0x800, SPECIES_WURMPLE},
- [SPECIES_SILCOON] = {gMonFrontPic_Silcoon, 0x800, SPECIES_SILCOON},
- [SPECIES_BEAUTIFLY] = {gMonFrontPic_Beautifly, 0x800, SPECIES_BEAUTIFLY},
- [SPECIES_CASCOON] = {gMonFrontPic_Cascoon, 0x800, SPECIES_CASCOON},
- [SPECIES_DUSTOX] = {gMonFrontPic_Dustox, 0x800, SPECIES_DUSTOX},
- [SPECIES_LOTAD] = {gMonFrontPic_Lotad, 0x800, SPECIES_LOTAD},
- [SPECIES_LOMBRE] = {gMonFrontPic_Lombre, 0x800, SPECIES_LOMBRE},
- [SPECIES_LUDICOLO] = {gMonFrontPic_Ludicolo, 0x800, SPECIES_LUDICOLO},
- [SPECIES_SEEDOT] = {gMonFrontPic_Seedot, 0x800, SPECIES_SEEDOT},
- [SPECIES_NUZLEAF] = {gMonFrontPic_Nuzleaf, 0x800, SPECIES_NUZLEAF},
- [SPECIES_SHIFTRY] = {gMonFrontPic_Shiftry, 0x800, SPECIES_SHIFTRY},
- [SPECIES_NINCADA] = {gMonFrontPic_Nincada, 0x800, SPECIES_NINCADA},
- [SPECIES_NINJASK] = {gMonFrontPic_Ninjask, 0x800, SPECIES_NINJASK},
- [SPECIES_SHEDINJA] = {gMonFrontPic_Shedinja, 0x800, SPECIES_SHEDINJA},
- [SPECIES_TAILLOW] = {gMonFrontPic_Taillow, 0x800, SPECIES_TAILLOW},
- [SPECIES_SWELLOW] = {gMonFrontPic_Swellow, 0x800, SPECIES_SWELLOW},
- [SPECIES_SHROOMISH] = {gMonFrontPic_Shroomish, 0x800, SPECIES_SHROOMISH},
- [SPECIES_BRELOOM] = {gMonFrontPic_Breloom, 0x800, SPECIES_BRELOOM},
- [SPECIES_SPINDA] = {gMonFrontPic_Spinda, 0x800, SPECIES_SPINDA},
- [SPECIES_WINGULL] = {gMonFrontPic_Wingull, 0x800, SPECIES_WINGULL},
- [SPECIES_PELIPPER] = {gMonFrontPic_Pelipper, 0x800, SPECIES_PELIPPER},
- [SPECIES_SURSKIT] = {gMonFrontPic_Surskit, 0x800, SPECIES_SURSKIT},
- [SPECIES_MASQUERAIN] = {gMonFrontPic_Masquerain, 0x800, SPECIES_MASQUERAIN},
- [SPECIES_WAILMER] = {gMonFrontPic_Wailmer, 0x800, SPECIES_WAILMER},
- [SPECIES_WAILORD] = {gMonFrontPic_Wailord, 0x800, SPECIES_WAILORD},
- [SPECIES_SKITTY] = {gMonFrontPic_Skitty, 0x800, SPECIES_SKITTY},
- [SPECIES_DELCATTY] = {gMonFrontPic_Delcatty, 0x800, SPECIES_DELCATTY},
- [SPECIES_KECLEON] = {gMonFrontPic_Kecleon, 0x800, SPECIES_KECLEON},
- [SPECIES_BALTOY] = {gMonFrontPic_Baltoy, 0x800, SPECIES_BALTOY},
- [SPECIES_CLAYDOL] = {gMonFrontPic_Claydol, 0x800, SPECIES_CLAYDOL},
- [SPECIES_NOSEPASS] = {gMonFrontPic_Nosepass, 0x800, SPECIES_NOSEPASS},
- [SPECIES_TORKOAL] = {gMonFrontPic_Torkoal, 0x800, SPECIES_TORKOAL},
- [SPECIES_SABLEYE] = {gMonFrontPic_Sableye, 0x800, SPECIES_SABLEYE},
- [SPECIES_BARBOACH] = {gMonFrontPic_Barboach, 0x800, SPECIES_BARBOACH},
- [SPECIES_WHISCASH] = {gMonFrontPic_Whiscash, 0x800, SPECIES_WHISCASH},
- [SPECIES_LUVDISC] = {gMonFrontPic_Luvdisc, 0x800, SPECIES_LUVDISC},
- [SPECIES_CORPHISH] = {gMonFrontPic_Corphish, 0x800, SPECIES_CORPHISH},
- [SPECIES_CRAWDAUNT] = {gMonFrontPic_Crawdaunt, 0x800, SPECIES_CRAWDAUNT},
- [SPECIES_FEEBAS] = {gMonFrontPic_Feebas, 0x800, SPECIES_FEEBAS},
- [SPECIES_MILOTIC] = {gMonFrontPic_Milotic, 0x800, SPECIES_MILOTIC},
- [SPECIES_CARVANHA] = {gMonFrontPic_Carvanha, 0x800, SPECIES_CARVANHA},
- [SPECIES_SHARPEDO] = {gMonFrontPic_Sharpedo, 0x800, SPECIES_SHARPEDO},
- [SPECIES_TRAPINCH] = {gMonFrontPic_Trapinch, 0x800, SPECIES_TRAPINCH},
- [SPECIES_VIBRAVA] = {gMonFrontPic_Vibrava, 0x800, SPECIES_VIBRAVA},
- [SPECIES_FLYGON] = {gMonFrontPic_Flygon, 0x800, SPECIES_FLYGON},
- [SPECIES_MAKUHITA] = {gMonFrontPic_Makuhita, 0x800, SPECIES_MAKUHITA},
- [SPECIES_HARIYAMA] = {gMonFrontPic_Hariyama, 0x800, SPECIES_HARIYAMA},
- [SPECIES_ELECTRIKE] = {gMonFrontPic_Electrike, 0x800, SPECIES_ELECTRIKE},
- [SPECIES_MANECTRIC] = {gMonFrontPic_Manectric, 0x800, SPECIES_MANECTRIC},
- [SPECIES_NUMEL] = {gMonFrontPic_Numel, 0x800, SPECIES_NUMEL},
- [SPECIES_CAMERUPT] = {gMonFrontPic_Camerupt, 0x800, SPECIES_CAMERUPT},
- [SPECIES_SPHEAL] = {gMonFrontPic_Spheal, 0x800, SPECIES_SPHEAL},
- [SPECIES_SEALEO] = {gMonFrontPic_Sealeo, 0x800, SPECIES_SEALEO},
- [SPECIES_WALREIN] = {gMonFrontPic_Walrein, 0x800, SPECIES_WALREIN},
- [SPECIES_CACNEA] = {gMonFrontPic_Cacnea, 0x800, SPECIES_CACNEA},
- [SPECIES_CACTURNE] = {gMonFrontPic_Cacturne, 0x800, SPECIES_CACTURNE},
- [SPECIES_SNORUNT] = {gMonFrontPic_Snorunt, 0x800, SPECIES_SNORUNT},
- [SPECIES_GLALIE] = {gMonFrontPic_Glalie, 0x800, SPECIES_GLALIE},
- [SPECIES_LUNATONE] = {gMonFrontPic_Lunatone, 0x800, SPECIES_LUNATONE},
- [SPECIES_SOLROCK] = {gMonFrontPic_Solrock, 0x800, SPECIES_SOLROCK},
- [SPECIES_AZURILL] = {gMonFrontPic_Azurill, 0x800, SPECIES_AZURILL},
- [SPECIES_SPOINK] = {gMonFrontPic_Spoink, 0x800, SPECIES_SPOINK},
- [SPECIES_GRUMPIG] = {gMonFrontPic_Grumpig, 0x800, SPECIES_GRUMPIG},
- [SPECIES_PLUSLE] = {gMonFrontPic_Plusle, 0x800, SPECIES_PLUSLE},
- [SPECIES_MINUN] = {gMonFrontPic_Minun, 0x800, SPECIES_MINUN},
- [SPECIES_MAWILE] = {gMonFrontPic_Mawile, 0x800, SPECIES_MAWILE},
- [SPECIES_MEDITITE] = {gMonFrontPic_Meditite, 0x800, SPECIES_MEDITITE},
- [SPECIES_MEDICHAM] = {gMonFrontPic_Medicham, 0x800, SPECIES_MEDICHAM},
- [SPECIES_SWABLU] = {gMonFrontPic_Swablu, 0x800, SPECIES_SWABLU},
- [SPECIES_ALTARIA] = {gMonFrontPic_Altaria, 0x800, SPECIES_ALTARIA},
- [SPECIES_WYNAUT] = {gMonFrontPic_Wynaut, 0x800, SPECIES_WYNAUT},
- [SPECIES_DUSKULL] = {gMonFrontPic_Duskull, 0x800, SPECIES_DUSKULL},
- [SPECIES_DUSCLOPS] = {gMonFrontPic_Dusclops, 0x800, SPECIES_DUSCLOPS},
- [SPECIES_ROSELIA] = {gMonFrontPic_Roselia, 0x800, SPECIES_ROSELIA},
- [SPECIES_SLAKOTH] = {gMonFrontPic_Slakoth, 0x800, SPECIES_SLAKOTH},
- [SPECIES_VIGOROTH] = {gMonFrontPic_Vigoroth, 0x800, SPECIES_VIGOROTH},
- [SPECIES_SLAKING] = {gMonFrontPic_Slaking, 0x800, SPECIES_SLAKING},
- [SPECIES_GULPIN] = {gMonFrontPic_Gulpin, 0x800, SPECIES_GULPIN},
- [SPECIES_SWALOT] = {gMonFrontPic_Swalot, 0x800, SPECIES_SWALOT},
- [SPECIES_TROPIUS] = {gMonFrontPic_Tropius, 0x800, SPECIES_TROPIUS},
- [SPECIES_WHISMUR] = {gMonFrontPic_Whismur, 0x800, SPECIES_WHISMUR},
- [SPECIES_LOUDRED] = {gMonFrontPic_Loudred, 0x800, SPECIES_LOUDRED},
- [SPECIES_EXPLOUD] = {gMonFrontPic_Exploud, 0x800, SPECIES_EXPLOUD},
- [SPECIES_CLAMPERL] = {gMonFrontPic_Clamperl, 0x800, SPECIES_CLAMPERL},
- [SPECIES_HUNTAIL] = {gMonFrontPic_Huntail, 0x800, SPECIES_HUNTAIL},
- [SPECIES_GOREBYSS] = {gMonFrontPic_Gorebyss, 0x800, SPECIES_GOREBYSS},
- [SPECIES_ABSOL] = {gMonFrontPic_Absol, 0x800, SPECIES_ABSOL},
- [SPECIES_SHUPPET] = {gMonFrontPic_Shuppet, 0x800, SPECIES_SHUPPET},
- [SPECIES_BANETTE] = {gMonFrontPic_Banette, 0x800, SPECIES_BANETTE},
- [SPECIES_SEVIPER] = {gMonFrontPic_Seviper, 0x800, SPECIES_SEVIPER},
- [SPECIES_ZANGOOSE] = {gMonFrontPic_Zangoose, 0x800, SPECIES_ZANGOOSE},
- [SPECIES_RELICANTH] = {gMonFrontPic_Relicanth, 0x800, SPECIES_RELICANTH},
- [SPECIES_ARON] = {gMonFrontPic_Aron, 0x800, SPECIES_ARON},
- [SPECIES_LAIRON] = {gMonFrontPic_Lairon, 0x800, SPECIES_LAIRON},
- [SPECIES_AGGRON] = {gMonFrontPic_Aggron, 0x800, SPECIES_AGGRON},
- [SPECIES_CASTFORM] = {gMonFrontPic_Castform, 0x800, SPECIES_CASTFORM},
- [SPECIES_VOLBEAT] = {gMonFrontPic_Volbeat, 0x800, SPECIES_VOLBEAT},
- [SPECIES_ILLUMISE] = {gMonFrontPic_Illumise, 0x800, SPECIES_ILLUMISE},
- [SPECIES_LILEEP] = {gMonFrontPic_Lileep, 0x800, SPECIES_LILEEP},
- [SPECIES_CRADILY] = {gMonFrontPic_Cradily, 0x800, SPECIES_CRADILY},
- [SPECIES_ANORITH] = {gMonFrontPic_Anorith, 0x800, SPECIES_ANORITH},
- [SPECIES_ARMALDO] = {gMonFrontPic_Armaldo, 0x800, SPECIES_ARMALDO},
- [SPECIES_RALTS] = {gMonFrontPic_Ralts, 0x800, SPECIES_RALTS},
- [SPECIES_KIRLIA] = {gMonFrontPic_Kirlia, 0x800, SPECIES_KIRLIA},
- [SPECIES_GARDEVOIR] = {gMonFrontPic_Gardevoir, 0x800, SPECIES_GARDEVOIR},
- [SPECIES_BAGON] = {gMonFrontPic_Bagon, 0x800, SPECIES_BAGON},
- [SPECIES_SHELGON] = {gMonFrontPic_Shelgon, 0x800, SPECIES_SHELGON},
- [SPECIES_SALAMENCE] = {gMonFrontPic_Salamence, 0x800, SPECIES_SALAMENCE},
- [SPECIES_BELDUM] = {gMonFrontPic_Beldum, 0x800, SPECIES_BELDUM},
- [SPECIES_METANG] = {gMonFrontPic_Metang, 0x800, SPECIES_METANG},
- [SPECIES_METAGROSS] = {gMonFrontPic_Metagross, 0x800, SPECIES_METAGROSS},
- [SPECIES_REGIROCK] = {gMonFrontPic_Regirock, 0x800, SPECIES_REGIROCK},
- [SPECIES_REGICE] = {gMonFrontPic_Regice, 0x800, SPECIES_REGICE},
- [SPECIES_REGISTEEL] = {gMonFrontPic_Registeel, 0x800, SPECIES_REGISTEEL},
- [SPECIES_KYOGRE] = {gMonFrontPic_Kyogre, 0x800, SPECIES_KYOGRE},
- [SPECIES_GROUDON] = {gMonFrontPic_Groudon, 0x800, SPECIES_GROUDON},
- [SPECIES_RAYQUAZA] = {gMonFrontPic_Rayquaza, 0x800, SPECIES_RAYQUAZA},
- [SPECIES_LATIAS] = {gMonFrontPic_Latias, 0x800, SPECIES_LATIAS},
- [SPECIES_LATIOS] = {gMonFrontPic_Latios, 0x800, SPECIES_LATIOS},
- [SPECIES_JIRACHI] = {gMonFrontPic_Jirachi, 0x800, SPECIES_JIRACHI},
- [SPECIES_DEOXYS] = {gMonFrontPic_Deoxys, 0x800, SPECIES_DEOXYS},
- [SPECIES_CHIMECHO] = {gMonFrontPic_Chimecho, 0x800, SPECIES_CHIMECHO},
- [SPECIES_EGG] = {gMonFrontPic_Egg, 0x800, SPECIES_EGG},
- [SPECIES_UNOWN_B] = {gMonFrontPic_UnownB, 0x800, SPECIES_UNOWN_B},
- [SPECIES_UNOWN_C] = {gMonFrontPic_UnownC, 0x800, SPECIES_UNOWN_C},
- [SPECIES_UNOWN_D] = {gMonFrontPic_UnownD, 0x800, SPECIES_UNOWN_D},
- [SPECIES_UNOWN_E] = {gMonFrontPic_UnownE, 0x800, SPECIES_UNOWN_E},
- [SPECIES_UNOWN_F] = {gMonFrontPic_UnownF, 0x800, SPECIES_UNOWN_F},
- [SPECIES_UNOWN_G] = {gMonFrontPic_UnownG, 0x800, SPECIES_UNOWN_G},
- [SPECIES_UNOWN_H] = {gMonFrontPic_UnownH, 0x800, SPECIES_UNOWN_H},
- [SPECIES_UNOWN_I] = {gMonFrontPic_UnownI, 0x800, SPECIES_UNOWN_I},
- [SPECIES_UNOWN_J] = {gMonFrontPic_UnownJ, 0x800, SPECIES_UNOWN_J},
- [SPECIES_UNOWN_K] = {gMonFrontPic_UnownK, 0x800, SPECIES_UNOWN_K},
- [SPECIES_UNOWN_L] = {gMonFrontPic_UnownL, 0x800, SPECIES_UNOWN_L},
- [SPECIES_UNOWN_M] = {gMonFrontPic_UnownM, 0x800, SPECIES_UNOWN_M},
- [SPECIES_UNOWN_N] = {gMonFrontPic_UnownN, 0x800, SPECIES_UNOWN_N},
- [SPECIES_UNOWN_O] = {gMonFrontPic_UnownO, 0x800, SPECIES_UNOWN_O},
- [SPECIES_UNOWN_P] = {gMonFrontPic_UnownP, 0x800, SPECIES_UNOWN_P},
- [SPECIES_UNOWN_Q] = {gMonFrontPic_UnownQ, 0x800, SPECIES_UNOWN_Q},
- [SPECIES_UNOWN_R] = {gMonFrontPic_UnownR, 0x800, SPECIES_UNOWN_R},
- [SPECIES_UNOWN_S] = {gMonFrontPic_UnownS, 0x800, SPECIES_UNOWN_S},
- [SPECIES_UNOWN_T] = {gMonFrontPic_UnownT, 0x800, SPECIES_UNOWN_T},
- [SPECIES_UNOWN_U] = {gMonFrontPic_UnownU, 0x800, SPECIES_UNOWN_U},
- [SPECIES_UNOWN_V] = {gMonFrontPic_UnownV, 0x800, SPECIES_UNOWN_V},
- [SPECIES_UNOWN_W] = {gMonFrontPic_UnownW, 0x800, SPECIES_UNOWN_W},
- [SPECIES_UNOWN_X] = {gMonFrontPic_UnownX, 0x800, SPECIES_UNOWN_X},
- [SPECIES_UNOWN_Y] = {gMonFrontPic_UnownY, 0x800, SPECIES_UNOWN_Y},
- [SPECIES_UNOWN_Z] = {gMonFrontPic_UnownZ, 0x800, SPECIES_UNOWN_Z},
- [SPECIES_UNOWN_EMARK] = {gMonFrontPic_UnownExclamationMark, 0x800, SPECIES_UNOWN_EMARK},
- [SPECIES_UNOWN_QMARK] = {gMonFrontPic_UnownQuestionMark, 0x800, SPECIES_UNOWN_QMARK},
+ SPECIES_SPRITE(NONE, gMonFrontPic_CircledQuestionMark),
+ SPECIES_SPRITE(BULBASAUR, gMonFrontPic_Bulbasaur),
+ SPECIES_SPRITE(IVYSAUR, gMonFrontPic_Ivysaur),
+ SPECIES_SPRITE(VENUSAUR, gMonFrontPic_Venusaur),
+ SPECIES_SPRITE(CHARMANDER, gMonFrontPic_Charmander),
+ SPECIES_SPRITE(CHARMELEON, gMonFrontPic_Charmeleon),
+ SPECIES_SPRITE(CHARIZARD, gMonFrontPic_Charizard),
+ SPECIES_SPRITE(SQUIRTLE, gMonFrontPic_Squirtle),
+ SPECIES_SPRITE(WARTORTLE, gMonFrontPic_Wartortle),
+ SPECIES_SPRITE(BLASTOISE, gMonFrontPic_Blastoise),
+ SPECIES_SPRITE(CATERPIE, gMonFrontPic_Caterpie),
+ SPECIES_SPRITE(METAPOD, gMonFrontPic_Metapod),
+ SPECIES_SPRITE(BUTTERFREE, gMonFrontPic_Butterfree),
+ SPECIES_SPRITE(WEEDLE, gMonFrontPic_Weedle),
+ SPECIES_SPRITE(KAKUNA, gMonFrontPic_Kakuna),
+ SPECIES_SPRITE(BEEDRILL, gMonFrontPic_Beedrill),
+ SPECIES_SPRITE(PIDGEY, gMonFrontPic_Pidgey),
+ SPECIES_SPRITE(PIDGEOTTO, gMonFrontPic_Pidgeotto),
+ SPECIES_SPRITE(PIDGEOT, gMonFrontPic_Pidgeot),
+ SPECIES_SPRITE(RATTATA, gMonFrontPic_Rattata),
+ SPECIES_SPRITE(RATICATE, gMonFrontPic_Raticate),
+ SPECIES_SPRITE(SPEAROW, gMonFrontPic_Spearow),
+ SPECIES_SPRITE(FEAROW, gMonFrontPic_Fearow),
+ SPECIES_SPRITE(EKANS, gMonFrontPic_Ekans),
+ SPECIES_SPRITE(ARBOK, gMonFrontPic_Arbok),
+ SPECIES_SPRITE(PIKACHU, gMonFrontPic_Pikachu),
+ SPECIES_SPRITE(RAICHU, gMonFrontPic_Raichu),
+ SPECIES_SPRITE(SANDSHREW, gMonFrontPic_Sandshrew),
+ SPECIES_SPRITE(SANDSLASH, gMonFrontPic_Sandslash),
+ SPECIES_SPRITE(NIDORAN_F, gMonFrontPic_NidoranF),
+ SPECIES_SPRITE(NIDORINA, gMonFrontPic_Nidorina),
+ SPECIES_SPRITE(NIDOQUEEN, gMonFrontPic_Nidoqueen),
+ SPECIES_SPRITE(NIDORAN_M, gMonFrontPic_NidoranM),
+ SPECIES_SPRITE(NIDORINO, gMonFrontPic_Nidorino),
+ SPECIES_SPRITE(NIDOKING, gMonFrontPic_Nidoking),
+ SPECIES_SPRITE(CLEFAIRY, gMonFrontPic_Clefairy),
+ SPECIES_SPRITE(CLEFABLE, gMonFrontPic_Clefable),
+ SPECIES_SPRITE(VULPIX, gMonFrontPic_Vulpix),
+ SPECIES_SPRITE(NINETALES, gMonFrontPic_Ninetales),
+ SPECIES_SPRITE(JIGGLYPUFF, gMonFrontPic_Jigglypuff),
+ SPECIES_SPRITE(WIGGLYTUFF, gMonFrontPic_Wigglytuff),
+ SPECIES_SPRITE(ZUBAT, gMonFrontPic_Zubat),
+ SPECIES_SPRITE(GOLBAT, gMonFrontPic_Golbat),
+ SPECIES_SPRITE(ODDISH, gMonFrontPic_Oddish),
+ SPECIES_SPRITE(GLOOM, gMonFrontPic_Gloom),
+ SPECIES_SPRITE(VILEPLUME, gMonFrontPic_Vileplume),
+ SPECIES_SPRITE(PARAS, gMonFrontPic_Paras),
+ SPECIES_SPRITE(PARASECT, gMonFrontPic_Parasect),
+ SPECIES_SPRITE(VENONAT, gMonFrontPic_Venonat),
+ SPECIES_SPRITE(VENOMOTH, gMonFrontPic_Venomoth),
+ SPECIES_SPRITE(DIGLETT, gMonFrontPic_Diglett),
+ SPECIES_SPRITE(DUGTRIO, gMonFrontPic_Dugtrio),
+ SPECIES_SPRITE(MEOWTH, gMonFrontPic_Meowth),
+ SPECIES_SPRITE(PERSIAN, gMonFrontPic_Persian),
+ SPECIES_SPRITE(PSYDUCK, gMonFrontPic_Psyduck),
+ SPECIES_SPRITE(GOLDUCK, gMonFrontPic_Golduck),
+ SPECIES_SPRITE(MANKEY, gMonFrontPic_Mankey),
+ SPECIES_SPRITE(PRIMEAPE, gMonFrontPic_Primeape),
+ SPECIES_SPRITE(GROWLITHE, gMonFrontPic_Growlithe),
+ SPECIES_SPRITE(ARCANINE, gMonFrontPic_Arcanine),
+ SPECIES_SPRITE(POLIWAG, gMonFrontPic_Poliwag),
+ SPECIES_SPRITE(POLIWHIRL, gMonFrontPic_Poliwhirl),
+ SPECIES_SPRITE(POLIWRATH, gMonFrontPic_Poliwrath),
+ SPECIES_SPRITE(ABRA, gMonFrontPic_Abra),
+ SPECIES_SPRITE(KADABRA, gMonFrontPic_Kadabra),
+ SPECIES_SPRITE(ALAKAZAM, gMonFrontPic_Alakazam),
+ SPECIES_SPRITE(MACHOP, gMonFrontPic_Machop),
+ SPECIES_SPRITE(MACHOKE, gMonFrontPic_Machoke),
+ SPECIES_SPRITE(MACHAMP, gMonFrontPic_Machamp),
+ SPECIES_SPRITE(BELLSPROUT, gMonFrontPic_Bellsprout),
+ SPECIES_SPRITE(WEEPINBELL, gMonFrontPic_Weepinbell),
+ SPECIES_SPRITE(VICTREEBEL, gMonFrontPic_Victreebel),
+ SPECIES_SPRITE(TENTACOOL, gMonFrontPic_Tentacool),
+ SPECIES_SPRITE(TENTACRUEL, gMonFrontPic_Tentacruel),
+ SPECIES_SPRITE(GEODUDE, gMonFrontPic_Geodude),
+ SPECIES_SPRITE(GRAVELER, gMonFrontPic_Graveler),
+ SPECIES_SPRITE(GOLEM, gMonFrontPic_Golem),
+ SPECIES_SPRITE(PONYTA, gMonFrontPic_Ponyta),
+ SPECIES_SPRITE(RAPIDASH, gMonFrontPic_Rapidash),
+ SPECIES_SPRITE(SLOWPOKE, gMonFrontPic_Slowpoke),
+ SPECIES_SPRITE(SLOWBRO, gMonFrontPic_Slowbro),
+ SPECIES_SPRITE(MAGNEMITE, gMonFrontPic_Magnemite),
+ SPECIES_SPRITE(MAGNETON, gMonFrontPic_Magneton),
+ SPECIES_SPRITE(FARFETCHD, gMonFrontPic_Farfetchd),
+ SPECIES_SPRITE(DODUO, gMonFrontPic_Doduo),
+ SPECIES_SPRITE(DODRIO, gMonFrontPic_Dodrio),
+ SPECIES_SPRITE(SEEL, gMonFrontPic_Seel),
+ SPECIES_SPRITE(DEWGONG, gMonFrontPic_Dewgong),
+ SPECIES_SPRITE(GRIMER, gMonFrontPic_Grimer),
+ SPECIES_SPRITE(MUK, gMonFrontPic_Muk),
+ SPECIES_SPRITE(SHELLDER, gMonFrontPic_Shellder),
+ SPECIES_SPRITE(CLOYSTER, gMonFrontPic_Cloyster),
+ SPECIES_SPRITE(GASTLY, gMonFrontPic_Gastly),
+ SPECIES_SPRITE(HAUNTER, gMonFrontPic_Haunter),
+ SPECIES_SPRITE(GENGAR, gMonFrontPic_Gengar),
+ SPECIES_SPRITE(ONIX, gMonFrontPic_Onix),
+ SPECIES_SPRITE(DROWZEE, gMonFrontPic_Drowzee),
+ SPECIES_SPRITE(HYPNO, gMonFrontPic_Hypno),
+ SPECIES_SPRITE(KRABBY, gMonFrontPic_Krabby),
+ SPECIES_SPRITE(KINGLER, gMonFrontPic_Kingler),
+ SPECIES_SPRITE(VOLTORB, gMonFrontPic_Voltorb),
+ SPECIES_SPRITE(ELECTRODE, gMonFrontPic_Electrode),
+ SPECIES_SPRITE(EXEGGCUTE, gMonFrontPic_Exeggcute),
+ SPECIES_SPRITE(EXEGGUTOR, gMonFrontPic_Exeggutor),
+ SPECIES_SPRITE(CUBONE, gMonFrontPic_Cubone),
+ SPECIES_SPRITE(MAROWAK, gMonFrontPic_Marowak),
+ SPECIES_SPRITE(HITMONLEE, gMonFrontPic_Hitmonlee),
+ SPECIES_SPRITE(HITMONCHAN, gMonFrontPic_Hitmonchan),
+ SPECIES_SPRITE(LICKITUNG, gMonFrontPic_Lickitung),
+ SPECIES_SPRITE(KOFFING, gMonFrontPic_Koffing),
+ SPECIES_SPRITE(WEEZING, gMonFrontPic_Weezing),
+ SPECIES_SPRITE(RHYHORN, gMonFrontPic_Rhyhorn),
+ SPECIES_SPRITE(RHYDON, gMonFrontPic_Rhydon),
+ SPECIES_SPRITE(CHANSEY, gMonFrontPic_Chansey),
+ SPECIES_SPRITE(TANGELA, gMonFrontPic_Tangela),
+ SPECIES_SPRITE(KANGASKHAN, gMonFrontPic_Kangaskhan),
+ SPECIES_SPRITE(HORSEA, gMonFrontPic_Horsea),
+ SPECIES_SPRITE(SEADRA, gMonFrontPic_Seadra),
+ SPECIES_SPRITE(GOLDEEN, gMonFrontPic_Goldeen),
+ SPECIES_SPRITE(SEAKING, gMonFrontPic_Seaking),
+ SPECIES_SPRITE(STARYU, gMonFrontPic_Staryu),
+ SPECIES_SPRITE(STARMIE, gMonFrontPic_Starmie),
+ SPECIES_SPRITE(MR_MIME, gMonFrontPic_Mrmime),
+ SPECIES_SPRITE(SCYTHER, gMonFrontPic_Scyther),
+ SPECIES_SPRITE(JYNX, gMonFrontPic_Jynx),
+ SPECIES_SPRITE(ELECTABUZZ, gMonFrontPic_Electabuzz),
+ SPECIES_SPRITE(MAGMAR, gMonFrontPic_Magmar),
+ SPECIES_SPRITE(PINSIR, gMonFrontPic_Pinsir),
+ SPECIES_SPRITE(TAUROS, gMonFrontPic_Tauros),
+ SPECIES_SPRITE(MAGIKARP, gMonFrontPic_Magikarp),
+ SPECIES_SPRITE(GYARADOS, gMonFrontPic_Gyarados),
+ SPECIES_SPRITE(LAPRAS, gMonFrontPic_Lapras),
+ SPECIES_SPRITE(DITTO, gMonFrontPic_Ditto),
+ SPECIES_SPRITE(EEVEE, gMonFrontPic_Eevee),
+ SPECIES_SPRITE(VAPOREON, gMonFrontPic_Vaporeon),
+ SPECIES_SPRITE(JOLTEON, gMonFrontPic_Jolteon),
+ SPECIES_SPRITE(FLAREON, gMonFrontPic_Flareon),
+ SPECIES_SPRITE(PORYGON, gMonFrontPic_Porygon),
+ SPECIES_SPRITE(OMANYTE, gMonFrontPic_Omanyte),
+ SPECIES_SPRITE(OMASTAR, gMonFrontPic_Omastar),
+ SPECIES_SPRITE(KABUTO, gMonFrontPic_Kabuto),
+ SPECIES_SPRITE(KABUTOPS, gMonFrontPic_Kabutops),
+ SPECIES_SPRITE(AERODACTYL, gMonFrontPic_Aerodactyl),
+ SPECIES_SPRITE(SNORLAX, gMonFrontPic_Snorlax),
+ SPECIES_SPRITE(ARTICUNO, gMonFrontPic_Articuno),
+ SPECIES_SPRITE(ZAPDOS, gMonFrontPic_Zapdos),
+ SPECIES_SPRITE(MOLTRES, gMonFrontPic_Moltres),
+ SPECIES_SPRITE(DRATINI, gMonFrontPic_Dratini),
+ SPECIES_SPRITE(DRAGONAIR, gMonFrontPic_Dragonair),
+ SPECIES_SPRITE(DRAGONITE, gMonFrontPic_Dragonite),
+ SPECIES_SPRITE(MEWTWO, gMonFrontPic_Mewtwo),
+ SPECIES_SPRITE(MEW, gMonFrontPic_Mew),
+ SPECIES_SPRITE(CHIKORITA, gMonFrontPic_Chikorita),
+ SPECIES_SPRITE(BAYLEEF, gMonFrontPic_Bayleef),
+ SPECIES_SPRITE(MEGANIUM, gMonFrontPic_Meganium),
+ SPECIES_SPRITE(CYNDAQUIL, gMonFrontPic_Cyndaquil),
+ SPECIES_SPRITE(QUILAVA, gMonFrontPic_Quilava),
+ SPECIES_SPRITE(TYPHLOSION, gMonFrontPic_Typhlosion),
+ SPECIES_SPRITE(TOTODILE, gMonFrontPic_Totodile),
+ SPECIES_SPRITE(CROCONAW, gMonFrontPic_Croconaw),
+ SPECIES_SPRITE(FERALIGATR, gMonFrontPic_Feraligatr),
+ SPECIES_SPRITE(SENTRET, gMonFrontPic_Sentret),
+ SPECIES_SPRITE(FURRET, gMonFrontPic_Furret),
+ SPECIES_SPRITE(HOOTHOOT, gMonFrontPic_Hoothoot),
+ SPECIES_SPRITE(NOCTOWL, gMonFrontPic_Noctowl),
+ SPECIES_SPRITE(LEDYBA, gMonFrontPic_Ledyba),
+ SPECIES_SPRITE(LEDIAN, gMonFrontPic_Ledian),
+ SPECIES_SPRITE(SPINARAK, gMonFrontPic_Spinarak),
+ SPECIES_SPRITE(ARIADOS, gMonFrontPic_Ariados),
+ SPECIES_SPRITE(CROBAT, gMonFrontPic_Crobat),
+ SPECIES_SPRITE(CHINCHOU, gMonFrontPic_Chinchou),
+ SPECIES_SPRITE(LANTURN, gMonFrontPic_Lanturn),
+ SPECIES_SPRITE(PICHU, gMonFrontPic_Pichu),
+ SPECIES_SPRITE(CLEFFA, gMonFrontPic_Cleffa),
+ SPECIES_SPRITE(IGGLYBUFF, gMonFrontPic_Igglybuff),
+ SPECIES_SPRITE(TOGEPI, gMonFrontPic_Togepi),
+ SPECIES_SPRITE(TOGETIC, gMonFrontPic_Togetic),
+ SPECIES_SPRITE(NATU, gMonFrontPic_Natu),
+ SPECIES_SPRITE(XATU, gMonFrontPic_Xatu),
+ SPECIES_SPRITE(MAREEP, gMonFrontPic_Mareep),
+ SPECIES_SPRITE(FLAAFFY, gMonFrontPic_Flaaffy),
+ SPECIES_SPRITE(AMPHAROS, gMonFrontPic_Ampharos),
+ SPECIES_SPRITE(BELLOSSOM, gMonFrontPic_Bellossom),
+ SPECIES_SPRITE(MARILL, gMonFrontPic_Marill),
+ SPECIES_SPRITE(AZUMARILL, gMonFrontPic_Azumarill),
+ SPECIES_SPRITE(SUDOWOODO, gMonFrontPic_Sudowoodo),
+ SPECIES_SPRITE(POLITOED, gMonFrontPic_Politoed),
+ SPECIES_SPRITE(HOPPIP, gMonFrontPic_Hoppip),
+ SPECIES_SPRITE(SKIPLOOM, gMonFrontPic_Skiploom),
+ SPECIES_SPRITE(JUMPLUFF, gMonFrontPic_Jumpluff),
+ SPECIES_SPRITE(AIPOM, gMonFrontPic_Aipom),
+ SPECIES_SPRITE(SUNKERN, gMonFrontPic_Sunkern),
+ SPECIES_SPRITE(SUNFLORA, gMonFrontPic_Sunflora),
+ SPECIES_SPRITE(YANMA, gMonFrontPic_Yanma),
+ SPECIES_SPRITE(WOOPER, gMonFrontPic_Wooper),
+ SPECIES_SPRITE(QUAGSIRE, gMonFrontPic_Quagsire),
+ SPECIES_SPRITE(ESPEON, gMonFrontPic_Espeon),
+ SPECIES_SPRITE(UMBREON, gMonFrontPic_Umbreon),
+ SPECIES_SPRITE(MURKROW, gMonFrontPic_Murkrow),
+ SPECIES_SPRITE(SLOWKING, gMonFrontPic_Slowking),
+ SPECIES_SPRITE(MISDREAVUS, gMonFrontPic_Misdreavus),
+ SPECIES_SPRITE(UNOWN, gMonFrontPic_UnownA),
+ SPECIES_SPRITE(WOBBUFFET, gMonFrontPic_Wobbuffet),
+ SPECIES_SPRITE(GIRAFARIG, gMonFrontPic_Girafarig),
+ SPECIES_SPRITE(PINECO, gMonFrontPic_Pineco),
+ SPECIES_SPRITE(FORRETRESS, gMonFrontPic_Forretress),
+ SPECIES_SPRITE(DUNSPARCE, gMonFrontPic_Dunsparce),
+ SPECIES_SPRITE(GLIGAR, gMonFrontPic_Gligar),
+ SPECIES_SPRITE(STEELIX, gMonFrontPic_Steelix),
+ SPECIES_SPRITE(SNUBBULL, gMonFrontPic_Snubbull),
+ SPECIES_SPRITE(GRANBULL, gMonFrontPic_Granbull),
+ SPECIES_SPRITE(QWILFISH, gMonFrontPic_Qwilfish),
+ SPECIES_SPRITE(SCIZOR, gMonFrontPic_Scizor),
+ SPECIES_SPRITE(SHUCKLE, gMonFrontPic_Shuckle),
+ SPECIES_SPRITE(HERACROSS, gMonFrontPic_Heracross),
+ SPECIES_SPRITE(SNEASEL, gMonFrontPic_Sneasel),
+ SPECIES_SPRITE(TEDDIURSA, gMonFrontPic_Teddiursa),
+ SPECIES_SPRITE(URSARING, gMonFrontPic_Ursaring),
+ SPECIES_SPRITE(SLUGMA, gMonFrontPic_Slugma),
+ SPECIES_SPRITE(MAGCARGO, gMonFrontPic_Magcargo),
+ SPECIES_SPRITE(SWINUB, gMonFrontPic_Swinub),
+ SPECIES_SPRITE(PILOSWINE, gMonFrontPic_Piloswine),
+ SPECIES_SPRITE(CORSOLA, gMonFrontPic_Corsola),
+ SPECIES_SPRITE(REMORAID, gMonFrontPic_Remoraid),
+ SPECIES_SPRITE(OCTILLERY, gMonFrontPic_Octillery),
+ SPECIES_SPRITE(DELIBIRD, gMonFrontPic_Delibird),
+ SPECIES_SPRITE(MANTINE, gMonFrontPic_Mantine),
+ SPECIES_SPRITE(SKARMORY, gMonFrontPic_Skarmory),
+ SPECIES_SPRITE(HOUNDOUR, gMonFrontPic_Houndour),
+ SPECIES_SPRITE(HOUNDOOM, gMonFrontPic_Houndoom),
+ SPECIES_SPRITE(KINGDRA, gMonFrontPic_Kingdra),
+ SPECIES_SPRITE(PHANPY, gMonFrontPic_Phanpy),
+ SPECIES_SPRITE(DONPHAN, gMonFrontPic_Donphan),
+ SPECIES_SPRITE(PORYGON2, gMonFrontPic_Porygon2),
+ SPECIES_SPRITE(STANTLER, gMonFrontPic_Stantler),
+ SPECIES_SPRITE(SMEARGLE, gMonFrontPic_Smeargle),
+ SPECIES_SPRITE(TYROGUE, gMonFrontPic_Tyrogue),
+ SPECIES_SPRITE(HITMONTOP, gMonFrontPic_Hitmontop),
+ SPECIES_SPRITE(SMOOCHUM, gMonFrontPic_Smoochum),
+ SPECIES_SPRITE(ELEKID, gMonFrontPic_Elekid),
+ SPECIES_SPRITE(MAGBY, gMonFrontPic_Magby),
+ SPECIES_SPRITE(MILTANK, gMonFrontPic_Miltank),
+ SPECIES_SPRITE(BLISSEY, gMonFrontPic_Blissey),
+ SPECIES_SPRITE(RAIKOU, gMonFrontPic_Raikou),
+ SPECIES_SPRITE(ENTEI, gMonFrontPic_Entei),
+ SPECIES_SPRITE(SUICUNE, gMonFrontPic_Suicune),
+ SPECIES_SPRITE(LARVITAR, gMonFrontPic_Larvitar),
+ SPECIES_SPRITE(PUPITAR, gMonFrontPic_Pupitar),
+ SPECIES_SPRITE(TYRANITAR, gMonFrontPic_Tyranitar),
+ SPECIES_SPRITE(LUGIA, gMonFrontPic_Lugia),
+ SPECIES_SPRITE(HO_OH, gMonFrontPic_HoOh),
+ SPECIES_SPRITE(CELEBI, gMonFrontPic_Celebi),
+ SPECIES_SPRITE(OLD_UNOWN_B, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_C, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_D, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_E, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_F, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_G, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_H, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_I, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_J, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_K, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_L, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_M, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_N, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_O, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_P, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Q, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_R, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_S, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_T, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_U, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_V, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_W, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_X, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Y, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Z, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(TREECKO, gMonFrontPic_Treecko),
+ SPECIES_SPRITE(GROVYLE, gMonFrontPic_Grovyle),
+ SPECIES_SPRITE(SCEPTILE, gMonFrontPic_Sceptile),
+ SPECIES_SPRITE(TORCHIC, gMonFrontPic_Torchic),
+ SPECIES_SPRITE(COMBUSKEN, gMonFrontPic_Combusken),
+ SPECIES_SPRITE(BLAZIKEN, gMonFrontPic_Blaziken),
+ SPECIES_SPRITE(MUDKIP, gMonFrontPic_Mudkip),
+ SPECIES_SPRITE(MARSHTOMP, gMonFrontPic_Marshtomp),
+ SPECIES_SPRITE(SWAMPERT, gMonFrontPic_Swampert),
+ SPECIES_SPRITE(POOCHYENA, gMonFrontPic_Poochyena),
+ SPECIES_SPRITE(MIGHTYENA, gMonFrontPic_Mightyena),
+ SPECIES_SPRITE(ZIGZAGOON, gMonFrontPic_Zigzagoon),
+ SPECIES_SPRITE(LINOONE, gMonFrontPic_Linoone),
+ SPECIES_SPRITE(WURMPLE, gMonFrontPic_Wurmple),
+ SPECIES_SPRITE(SILCOON, gMonFrontPic_Silcoon),
+ SPECIES_SPRITE(BEAUTIFLY, gMonFrontPic_Beautifly),
+ SPECIES_SPRITE(CASCOON, gMonFrontPic_Cascoon),
+ SPECIES_SPRITE(DUSTOX, gMonFrontPic_Dustox),
+ SPECIES_SPRITE(LOTAD, gMonFrontPic_Lotad),
+ SPECIES_SPRITE(LOMBRE, gMonFrontPic_Lombre),
+ SPECIES_SPRITE(LUDICOLO, gMonFrontPic_Ludicolo),
+ SPECIES_SPRITE(SEEDOT, gMonFrontPic_Seedot),
+ SPECIES_SPRITE(NUZLEAF, gMonFrontPic_Nuzleaf),
+ SPECIES_SPRITE(SHIFTRY, gMonFrontPic_Shiftry),
+ SPECIES_SPRITE(NINCADA, gMonFrontPic_Nincada),
+ SPECIES_SPRITE(NINJASK, gMonFrontPic_Ninjask),
+ SPECIES_SPRITE(SHEDINJA, gMonFrontPic_Shedinja),
+ SPECIES_SPRITE(TAILLOW, gMonFrontPic_Taillow),
+ SPECIES_SPRITE(SWELLOW, gMonFrontPic_Swellow),
+ SPECIES_SPRITE(SHROOMISH, gMonFrontPic_Shroomish),
+ SPECIES_SPRITE(BRELOOM, gMonFrontPic_Breloom),
+ SPECIES_SPRITE(SPINDA, gMonFrontPic_Spinda),
+ SPECIES_SPRITE(WINGULL, gMonFrontPic_Wingull),
+ SPECIES_SPRITE(PELIPPER, gMonFrontPic_Pelipper),
+ SPECIES_SPRITE(SURSKIT, gMonFrontPic_Surskit),
+ SPECIES_SPRITE(MASQUERAIN, gMonFrontPic_Masquerain),
+ SPECIES_SPRITE(WAILMER, gMonFrontPic_Wailmer),
+ SPECIES_SPRITE(WAILORD, gMonFrontPic_Wailord),
+ SPECIES_SPRITE(SKITTY, gMonFrontPic_Skitty),
+ SPECIES_SPRITE(DELCATTY, gMonFrontPic_Delcatty),
+ SPECIES_SPRITE(KECLEON, gMonFrontPic_Kecleon),
+ SPECIES_SPRITE(BALTOY, gMonFrontPic_Baltoy),
+ SPECIES_SPRITE(CLAYDOL, gMonFrontPic_Claydol),
+ SPECIES_SPRITE(NOSEPASS, gMonFrontPic_Nosepass),
+ SPECIES_SPRITE(TORKOAL, gMonFrontPic_Torkoal),
+ SPECIES_SPRITE(SABLEYE, gMonFrontPic_Sableye),
+ SPECIES_SPRITE(BARBOACH, gMonFrontPic_Barboach),
+ SPECIES_SPRITE(WHISCASH, gMonFrontPic_Whiscash),
+ SPECIES_SPRITE(LUVDISC, gMonFrontPic_Luvdisc),
+ SPECIES_SPRITE(CORPHISH, gMonFrontPic_Corphish),
+ SPECIES_SPRITE(CRAWDAUNT, gMonFrontPic_Crawdaunt),
+ SPECIES_SPRITE(FEEBAS, gMonFrontPic_Feebas),
+ SPECIES_SPRITE(MILOTIC, gMonFrontPic_Milotic),
+ SPECIES_SPRITE(CARVANHA, gMonFrontPic_Carvanha),
+ SPECIES_SPRITE(SHARPEDO, gMonFrontPic_Sharpedo),
+ SPECIES_SPRITE(TRAPINCH, gMonFrontPic_Trapinch),
+ SPECIES_SPRITE(VIBRAVA, gMonFrontPic_Vibrava),
+ SPECIES_SPRITE(FLYGON, gMonFrontPic_Flygon),
+ SPECIES_SPRITE(MAKUHITA, gMonFrontPic_Makuhita),
+ SPECIES_SPRITE(HARIYAMA, gMonFrontPic_Hariyama),
+ SPECIES_SPRITE(ELECTRIKE, gMonFrontPic_Electrike),
+ SPECIES_SPRITE(MANECTRIC, gMonFrontPic_Manectric),
+ SPECIES_SPRITE(NUMEL, gMonFrontPic_Numel),
+ SPECIES_SPRITE(CAMERUPT, gMonFrontPic_Camerupt),
+ SPECIES_SPRITE(SPHEAL, gMonFrontPic_Spheal),
+ SPECIES_SPRITE(SEALEO, gMonFrontPic_Sealeo),
+ SPECIES_SPRITE(WALREIN, gMonFrontPic_Walrein),
+ SPECIES_SPRITE(CACNEA, gMonFrontPic_Cacnea),
+ SPECIES_SPRITE(CACTURNE, gMonFrontPic_Cacturne),
+ SPECIES_SPRITE(SNORUNT, gMonFrontPic_Snorunt),
+ SPECIES_SPRITE(GLALIE, gMonFrontPic_Glalie),
+ SPECIES_SPRITE(LUNATONE, gMonFrontPic_Lunatone),
+ SPECIES_SPRITE(SOLROCK, gMonFrontPic_Solrock),
+ SPECIES_SPRITE(AZURILL, gMonFrontPic_Azurill),
+ SPECIES_SPRITE(SPOINK, gMonFrontPic_Spoink),
+ SPECIES_SPRITE(GRUMPIG, gMonFrontPic_Grumpig),
+ SPECIES_SPRITE(PLUSLE, gMonFrontPic_Plusle),
+ SPECIES_SPRITE(MINUN, gMonFrontPic_Minun),
+ SPECIES_SPRITE(MAWILE, gMonFrontPic_Mawile),
+ SPECIES_SPRITE(MEDITITE, gMonFrontPic_Meditite),
+ SPECIES_SPRITE(MEDICHAM, gMonFrontPic_Medicham),
+ SPECIES_SPRITE(SWABLU, gMonFrontPic_Swablu),
+ SPECIES_SPRITE(ALTARIA, gMonFrontPic_Altaria),
+ SPECIES_SPRITE(WYNAUT, gMonFrontPic_Wynaut),
+ SPECIES_SPRITE(DUSKULL, gMonFrontPic_Duskull),
+ SPECIES_SPRITE(DUSCLOPS, gMonFrontPic_Dusclops),
+ SPECIES_SPRITE(ROSELIA, gMonFrontPic_Roselia),
+ SPECIES_SPRITE(SLAKOTH, gMonFrontPic_Slakoth),
+ SPECIES_SPRITE(VIGOROTH, gMonFrontPic_Vigoroth),
+ SPECIES_SPRITE(SLAKING, gMonFrontPic_Slaking),
+ SPECIES_SPRITE(GULPIN, gMonFrontPic_Gulpin),
+ SPECIES_SPRITE(SWALOT, gMonFrontPic_Swalot),
+ SPECIES_SPRITE(TROPIUS, gMonFrontPic_Tropius),
+ SPECIES_SPRITE(WHISMUR, gMonFrontPic_Whismur),
+ SPECIES_SPRITE(LOUDRED, gMonFrontPic_Loudred),
+ SPECIES_SPRITE(EXPLOUD, gMonFrontPic_Exploud),
+ SPECIES_SPRITE(CLAMPERL, gMonFrontPic_Clamperl),
+ SPECIES_SPRITE(HUNTAIL, gMonFrontPic_Huntail),
+ SPECIES_SPRITE(GOREBYSS, gMonFrontPic_Gorebyss),
+ SPECIES_SPRITE(ABSOL, gMonFrontPic_Absol),
+ SPECIES_SPRITE(SHUPPET, gMonFrontPic_Shuppet),
+ SPECIES_SPRITE(BANETTE, gMonFrontPic_Banette),
+ SPECIES_SPRITE(SEVIPER, gMonFrontPic_Seviper),
+ SPECIES_SPRITE(ZANGOOSE, gMonFrontPic_Zangoose),
+ SPECIES_SPRITE(RELICANTH, gMonFrontPic_Relicanth),
+ SPECIES_SPRITE(ARON, gMonFrontPic_Aron),
+ SPECIES_SPRITE(LAIRON, gMonFrontPic_Lairon),
+ SPECIES_SPRITE(AGGRON, gMonFrontPic_Aggron),
+ SPECIES_SPRITE(CASTFORM, gMonFrontPic_Castform),
+ SPECIES_SPRITE(VOLBEAT, gMonFrontPic_Volbeat),
+ SPECIES_SPRITE(ILLUMISE, gMonFrontPic_Illumise),
+ SPECIES_SPRITE(LILEEP, gMonFrontPic_Lileep),
+ SPECIES_SPRITE(CRADILY, gMonFrontPic_Cradily),
+ SPECIES_SPRITE(ANORITH, gMonFrontPic_Anorith),
+ SPECIES_SPRITE(ARMALDO, gMonFrontPic_Armaldo),
+ SPECIES_SPRITE(RALTS, gMonFrontPic_Ralts),
+ SPECIES_SPRITE(KIRLIA, gMonFrontPic_Kirlia),
+ SPECIES_SPRITE(GARDEVOIR, gMonFrontPic_Gardevoir),
+ SPECIES_SPRITE(BAGON, gMonFrontPic_Bagon),
+ SPECIES_SPRITE(SHELGON, gMonFrontPic_Shelgon),
+ SPECIES_SPRITE(SALAMENCE, gMonFrontPic_Salamence),
+ SPECIES_SPRITE(BELDUM, gMonFrontPic_Beldum),
+ SPECIES_SPRITE(METANG, gMonFrontPic_Metang),
+ SPECIES_SPRITE(METAGROSS, gMonFrontPic_Metagross),
+ SPECIES_SPRITE(REGIROCK, gMonFrontPic_Regirock),
+ SPECIES_SPRITE(REGICE, gMonFrontPic_Regice),
+ SPECIES_SPRITE(REGISTEEL, gMonFrontPic_Registeel),
+ SPECIES_SPRITE(KYOGRE, gMonFrontPic_Kyogre),
+ SPECIES_SPRITE(GROUDON, gMonFrontPic_Groudon),
+ SPECIES_SPRITE(RAYQUAZA, gMonFrontPic_Rayquaza),
+ SPECIES_SPRITE(LATIAS, gMonFrontPic_Latias),
+ SPECIES_SPRITE(LATIOS, gMonFrontPic_Latios),
+ SPECIES_SPRITE(JIRACHI, gMonFrontPic_Jirachi),
+ SPECIES_SPRITE(DEOXYS, gMonFrontPic_Deoxys),
+ SPECIES_SPRITE(CHIMECHO, gMonFrontPic_Chimecho),
+ SPECIES_SPRITE(EGG, gMonFrontPic_Egg),
+ SPECIES_SPRITE(UNOWN_B, gMonFrontPic_UnownB),
+ SPECIES_SPRITE(UNOWN_C, gMonFrontPic_UnownC),
+ SPECIES_SPRITE(UNOWN_D, gMonFrontPic_UnownD),
+ SPECIES_SPRITE(UNOWN_E, gMonFrontPic_UnownE),
+ SPECIES_SPRITE(UNOWN_F, gMonFrontPic_UnownF),
+ SPECIES_SPRITE(UNOWN_G, gMonFrontPic_UnownG),
+ SPECIES_SPRITE(UNOWN_H, gMonFrontPic_UnownH),
+ SPECIES_SPRITE(UNOWN_I, gMonFrontPic_UnownI),
+ SPECIES_SPRITE(UNOWN_J, gMonFrontPic_UnownJ),
+ SPECIES_SPRITE(UNOWN_K, gMonFrontPic_UnownK),
+ SPECIES_SPRITE(UNOWN_L, gMonFrontPic_UnownL),
+ SPECIES_SPRITE(UNOWN_M, gMonFrontPic_UnownM),
+ SPECIES_SPRITE(UNOWN_N, gMonFrontPic_UnownN),
+ SPECIES_SPRITE(UNOWN_O, gMonFrontPic_UnownO),
+ SPECIES_SPRITE(UNOWN_P, gMonFrontPic_UnownP),
+ SPECIES_SPRITE(UNOWN_Q, gMonFrontPic_UnownQ),
+ SPECIES_SPRITE(UNOWN_R, gMonFrontPic_UnownR),
+ SPECIES_SPRITE(UNOWN_S, gMonFrontPic_UnownS),
+ SPECIES_SPRITE(UNOWN_T, gMonFrontPic_UnownT),
+ SPECIES_SPRITE(UNOWN_U, gMonFrontPic_UnownU),
+ SPECIES_SPRITE(UNOWN_V, gMonFrontPic_UnownV),
+ SPECIES_SPRITE(UNOWN_W, gMonFrontPic_UnownW),
+ SPECIES_SPRITE(UNOWN_X, gMonFrontPic_UnownX),
+ SPECIES_SPRITE(UNOWN_Y, gMonFrontPic_UnownY),
+ SPECIES_SPRITE(UNOWN_Z, gMonFrontPic_UnownZ),
+ SPECIES_SPRITE(UNOWN_EMARK, gMonFrontPic_UnownExclamationMark),
+ SPECIES_SPRITE(UNOWN_QMARK, gMonFrontPic_UnownQuestionMark),
};
diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h
index 3b60d8567..35edcc76c 100644
--- a/src/data/pokemon_graphics/palette_table.h
+++ b/src/data/pokemon_graphics/palette_table.h
@@ -1,443 +1,443 @@
const struct CompressedSpritePalette gMonPaletteTable[] =
{
- [SPECIES_NONE] = {gMonPalette_CircledQuestionMark, SPECIES_NONE},
- [SPECIES_BULBASAUR] = {gMonPalette_Bulbasaur, SPECIES_BULBASAUR},
- [SPECIES_IVYSAUR] = {gMonPalette_Ivysaur, SPECIES_IVYSAUR},
- [SPECIES_VENUSAUR] = {gMonPalette_Venusaur, SPECIES_VENUSAUR},
- [SPECIES_CHARMANDER] = {gMonPalette_Charmander, SPECIES_CHARMANDER},
- [SPECIES_CHARMELEON] = {gMonPalette_Charmeleon, SPECIES_CHARMELEON},
- [SPECIES_CHARIZARD] = {gMonPalette_Charizard, SPECIES_CHARIZARD},
- [SPECIES_SQUIRTLE] = {gMonPalette_Squirtle, SPECIES_SQUIRTLE},
- [SPECIES_WARTORTLE] = {gMonPalette_Wartortle, SPECIES_WARTORTLE},
- [SPECIES_BLASTOISE] = {gMonPalette_Blastoise, SPECIES_BLASTOISE},
- [SPECIES_CATERPIE] = {gMonPalette_Caterpie, SPECIES_CATERPIE},
- [SPECIES_METAPOD] = {gMonPalette_Metapod, SPECIES_METAPOD},
- [SPECIES_BUTTERFREE] = {gMonPalette_Butterfree, SPECIES_BUTTERFREE},
- [SPECIES_WEEDLE] = {gMonPalette_Weedle, SPECIES_WEEDLE},
- [SPECIES_KAKUNA] = {gMonPalette_Kakuna, SPECIES_KAKUNA},
- [SPECIES_BEEDRILL] = {gMonPalette_Beedrill, SPECIES_BEEDRILL},
- [SPECIES_PIDGEY] = {gMonPalette_Pidgey, SPECIES_PIDGEY},
- [SPECIES_PIDGEOTTO] = {gMonPalette_Pidgeotto, SPECIES_PIDGEOTTO},
- [SPECIES_PIDGEOT] = {gMonPalette_Pidgeot, SPECIES_PIDGEOT},
- [SPECIES_RATTATA] = {gMonPalette_Rattata, SPECIES_RATTATA},
- [SPECIES_RATICATE] = {gMonPalette_Raticate, SPECIES_RATICATE},
- [SPECIES_SPEAROW] = {gMonPalette_Spearow, SPECIES_SPEAROW},
- [SPECIES_FEAROW] = {gMonPalette_Fearow, SPECIES_FEAROW},
- [SPECIES_EKANS] = {gMonPalette_Ekans, SPECIES_EKANS},
- [SPECIES_ARBOK] = {gMonPalette_Arbok, SPECIES_ARBOK},
- [SPECIES_PIKACHU] = {gMonPalette_Pikachu, SPECIES_PIKACHU},
- [SPECIES_RAICHU] = {gMonPalette_Raichu, SPECIES_RAICHU},
- [SPECIES_SANDSHREW] = {gMonPalette_Sandshrew, SPECIES_SANDSHREW},
- [SPECIES_SANDSLASH] = {gMonPalette_Sandslash, SPECIES_SANDSLASH},
- [SPECIES_NIDORAN_F] = {gMonPalette_NidoranF, SPECIES_NIDORAN_F},
- [SPECIES_NIDORINA] = {gMonPalette_Nidorina, SPECIES_NIDORINA},
- [SPECIES_NIDOQUEEN] = {gMonPalette_Nidoqueen, SPECIES_NIDOQUEEN},
- [SPECIES_NIDORAN_M] = {gMonPalette_NidoranM, SPECIES_NIDORAN_M},
- [SPECIES_NIDORINO] = {gMonPalette_Nidorino, SPECIES_NIDORINO},
- [SPECIES_NIDOKING] = {gMonPalette_Nidoking, SPECIES_NIDOKING},
- [SPECIES_CLEFAIRY] = {gMonPalette_Clefairy, SPECIES_CLEFAIRY},
- [SPECIES_CLEFABLE] = {gMonPalette_Clefable, SPECIES_CLEFABLE},
- [SPECIES_VULPIX] = {gMonPalette_Vulpix, SPECIES_VULPIX},
- [SPECIES_NINETALES] = {gMonPalette_Ninetales, SPECIES_NINETALES},
- [SPECIES_JIGGLYPUFF] = {gMonPalette_Jigglypuff, SPECIES_JIGGLYPUFF},
- [SPECIES_WIGGLYTUFF] = {gMonPalette_Wigglytuff, SPECIES_WIGGLYTUFF},
- [SPECIES_ZUBAT] = {gMonPalette_Zubat, SPECIES_ZUBAT},
- [SPECIES_GOLBAT] = {gMonPalette_Golbat, SPECIES_GOLBAT},
- [SPECIES_ODDISH] = {gMonPalette_Oddish, SPECIES_ODDISH},
- [SPECIES_GLOOM] = {gMonPalette_Gloom, SPECIES_GLOOM},
- [SPECIES_VILEPLUME] = {gMonPalette_Vileplume, SPECIES_VILEPLUME},
- [SPECIES_PARAS] = {gMonPalette_Paras, SPECIES_PARAS},
- [SPECIES_PARASECT] = {gMonPalette_Parasect, SPECIES_PARASECT},
- [SPECIES_VENONAT] = {gMonPalette_Venonat, SPECIES_VENONAT},
- [SPECIES_VENOMOTH] = {gMonPalette_Venomoth, SPECIES_VENOMOTH},
- [SPECIES_DIGLETT] = {gMonPalette_Diglett, SPECIES_DIGLETT},
- [SPECIES_DUGTRIO] = {gMonPalette_Dugtrio, SPECIES_DUGTRIO},
- [SPECIES_MEOWTH] = {gMonPalette_Meowth, SPECIES_MEOWTH},
- [SPECIES_PERSIAN] = {gMonPalette_Persian, SPECIES_PERSIAN},
- [SPECIES_PSYDUCK] = {gMonPalette_Psyduck, SPECIES_PSYDUCK},
- [SPECIES_GOLDUCK] = {gMonPalette_Golduck, SPECIES_GOLDUCK},
- [SPECIES_MANKEY] = {gMonPalette_Mankey, SPECIES_MANKEY},
- [SPECIES_PRIMEAPE] = {gMonPalette_Primeape, SPECIES_PRIMEAPE},
- [SPECIES_GROWLITHE] = {gMonPalette_Growlithe, SPECIES_GROWLITHE},
- [SPECIES_ARCANINE] = {gMonPalette_Arcanine, SPECIES_ARCANINE},
- [SPECIES_POLIWAG] = {gMonPalette_Poliwag, SPECIES_POLIWAG},
- [SPECIES_POLIWHIRL] = {gMonPalette_Poliwhirl, SPECIES_POLIWHIRL},
- [SPECIES_POLIWRATH] = {gMonPalette_Poliwrath, SPECIES_POLIWRATH},
- [SPECIES_ABRA] = {gMonPalette_Abra, SPECIES_ABRA},
- [SPECIES_KADABRA] = {gMonPalette_Kadabra, SPECIES_KADABRA},
- [SPECIES_ALAKAZAM] = {gMonPalette_Alakazam, SPECIES_ALAKAZAM},
- [SPECIES_MACHOP] = {gMonPalette_Machop, SPECIES_MACHOP},
- [SPECIES_MACHOKE] = {gMonPalette_Machoke, SPECIES_MACHOKE},
- [SPECIES_MACHAMP] = {gMonPalette_Machamp, SPECIES_MACHAMP},
- [SPECIES_BELLSPROUT] = {gMonPalette_Bellsprout, SPECIES_BELLSPROUT},
- [SPECIES_WEEPINBELL] = {gMonPalette_Weepinbell, SPECIES_WEEPINBELL},
- [SPECIES_VICTREEBEL] = {gMonPalette_Victreebel, SPECIES_VICTREEBEL},
- [SPECIES_TENTACOOL] = {gMonPalette_Tentacool, SPECIES_TENTACOOL},
- [SPECIES_TENTACRUEL] = {gMonPalette_Tentacruel, SPECIES_TENTACRUEL},
- [SPECIES_GEODUDE] = {gMonPalette_Geodude, SPECIES_GEODUDE},
- [SPECIES_GRAVELER] = {gMonPalette_Graveler, SPECIES_GRAVELER},
- [SPECIES_GOLEM] = {gMonPalette_Golem, SPECIES_GOLEM},
- [SPECIES_PONYTA] = {gMonPalette_Ponyta, SPECIES_PONYTA},
- [SPECIES_RAPIDASH] = {gMonPalette_Rapidash, SPECIES_RAPIDASH},
- [SPECIES_SLOWPOKE] = {gMonPalette_Slowpoke, SPECIES_SLOWPOKE},
- [SPECIES_SLOWBRO] = {gMonPalette_Slowbro, SPECIES_SLOWBRO},
- [SPECIES_MAGNEMITE] = {gMonPalette_Magnemite, SPECIES_MAGNEMITE},
- [SPECIES_MAGNETON] = {gMonPalette_Magneton, SPECIES_MAGNETON},
- [SPECIES_FARFETCHD] = {gMonPalette_Farfetchd, SPECIES_FARFETCHD},
- [SPECIES_DODUO] = {gMonPalette_Doduo, SPECIES_DODUO},
- [SPECIES_DODRIO] = {gMonPalette_Dodrio, SPECIES_DODRIO},
- [SPECIES_SEEL] = {gMonPalette_Seel, SPECIES_SEEL},
- [SPECIES_DEWGONG] = {gMonPalette_Dewgong, SPECIES_DEWGONG},
- [SPECIES_GRIMER] = {gMonPalette_Grimer, SPECIES_GRIMER},
- [SPECIES_MUK] = {gMonPalette_Muk, SPECIES_MUK},
- [SPECIES_SHELLDER] = {gMonPalette_Shellder, SPECIES_SHELLDER},
- [SPECIES_CLOYSTER] = {gMonPalette_Cloyster, SPECIES_CLOYSTER},
- [SPECIES_GASTLY] = {gMonPalette_Gastly, SPECIES_GASTLY},
- [SPECIES_HAUNTER] = {gMonPalette_Haunter, SPECIES_HAUNTER},
- [SPECIES_GENGAR] = {gMonPalette_Gengar, SPECIES_GENGAR},
- [SPECIES_ONIX] = {gMonPalette_Onix, SPECIES_ONIX},
- [SPECIES_DROWZEE] = {gMonPalette_Drowzee, SPECIES_DROWZEE},
- [SPECIES_HYPNO] = {gMonPalette_Hypno, SPECIES_HYPNO},
- [SPECIES_KRABBY] = {gMonPalette_Krabby, SPECIES_KRABBY},
- [SPECIES_KINGLER] = {gMonPalette_Kingler, SPECIES_KINGLER},
- [SPECIES_VOLTORB] = {gMonPalette_Voltorb, SPECIES_VOLTORB},
- [SPECIES_ELECTRODE] = {gMonPalette_Electrode, SPECIES_ELECTRODE},
- [SPECIES_EXEGGCUTE] = {gMonPalette_Exeggcute, SPECIES_EXEGGCUTE},
- [SPECIES_EXEGGUTOR] = {gMonPalette_Exeggutor, SPECIES_EXEGGUTOR},
- [SPECIES_CUBONE] = {gMonPalette_Cubone, SPECIES_CUBONE},
- [SPECIES_MAROWAK] = {gMonPalette_Marowak, SPECIES_MAROWAK},
- [SPECIES_HITMONLEE] = {gMonPalette_Hitmonlee, SPECIES_HITMONLEE},
- [SPECIES_HITMONCHAN] = {gMonPalette_Hitmonchan, SPECIES_HITMONCHAN},
- [SPECIES_LICKITUNG] = {gMonPalette_Lickitung, SPECIES_LICKITUNG},
- [SPECIES_KOFFING] = {gMonPalette_Koffing, SPECIES_KOFFING},
- [SPECIES_WEEZING] = {gMonPalette_Weezing, SPECIES_WEEZING},
- [SPECIES_RHYHORN] = {gMonPalette_Rhyhorn, SPECIES_RHYHORN},
- [SPECIES_RHYDON] = {gMonPalette_Rhydon, SPECIES_RHYDON},
- [SPECIES_CHANSEY] = {gMonPalette_Chansey, SPECIES_CHANSEY},
- [SPECIES_TANGELA] = {gMonPalette_Tangela, SPECIES_TANGELA},
- [SPECIES_KANGASKHAN] = {gMonPalette_Kangaskhan, SPECIES_KANGASKHAN},
- [SPECIES_HORSEA] = {gMonPalette_Horsea, SPECIES_HORSEA},
- [SPECIES_SEADRA] = {gMonPalette_Seadra, SPECIES_SEADRA},
- [SPECIES_GOLDEEN] = {gMonPalette_Goldeen, SPECIES_GOLDEEN},
- [SPECIES_SEAKING] = {gMonPalette_Seaking, SPECIES_SEAKING},
- [SPECIES_STARYU] = {gMonPalette_Staryu, SPECIES_STARYU},
- [SPECIES_STARMIE] = {gMonPalette_Starmie, SPECIES_STARMIE},
- [SPECIES_MR_MIME] = {gMonPalette_Mrmime, SPECIES_MR_MIME},
- [SPECIES_SCYTHER] = {gMonPalette_Scyther, SPECIES_SCYTHER},
- [SPECIES_JYNX] = {gMonPalette_Jynx, SPECIES_JYNX},
- [SPECIES_ELECTABUZZ] = {gMonPalette_Electabuzz, SPECIES_ELECTABUZZ},
- [SPECIES_MAGMAR] = {gMonPalette_Magmar, SPECIES_MAGMAR},
- [SPECIES_PINSIR] = {gMonPalette_Pinsir, SPECIES_PINSIR},
- [SPECIES_TAUROS] = {gMonPalette_Tauros, SPECIES_TAUROS},
- [SPECIES_MAGIKARP] = {gMonPalette_Magikarp, SPECIES_MAGIKARP},
- [SPECIES_GYARADOS] = {gMonPalette_Gyarados, SPECIES_GYARADOS},
- [SPECIES_LAPRAS] = {gMonPalette_Lapras, SPECIES_LAPRAS},
- [SPECIES_DITTO] = {gMonPalette_Ditto, SPECIES_DITTO},
- [SPECIES_EEVEE] = {gMonPalette_Eevee, SPECIES_EEVEE},
- [SPECIES_VAPOREON] = {gMonPalette_Vaporeon, SPECIES_VAPOREON},
- [SPECIES_JOLTEON] = {gMonPalette_Jolteon, SPECIES_JOLTEON},
- [SPECIES_FLAREON] = {gMonPalette_Flareon, SPECIES_FLAREON},
- [SPECIES_PORYGON] = {gMonPalette_Porygon, SPECIES_PORYGON},
- [SPECIES_OMANYTE] = {gMonPalette_Omanyte, SPECIES_OMANYTE},
- [SPECIES_OMASTAR] = {gMonPalette_Omastar, SPECIES_OMASTAR},
- [SPECIES_KABUTO] = {gMonPalette_Kabuto, SPECIES_KABUTO},
- [SPECIES_KABUTOPS] = {gMonPalette_Kabutops, SPECIES_KABUTOPS},
- [SPECIES_AERODACTYL] = {gMonPalette_Aerodactyl, SPECIES_AERODACTYL},
- [SPECIES_SNORLAX] = {gMonPalette_Snorlax, SPECIES_SNORLAX},
- [SPECIES_ARTICUNO] = {gMonPalette_Articuno, SPECIES_ARTICUNO},
- [SPECIES_ZAPDOS] = {gMonPalette_Zapdos, SPECIES_ZAPDOS},
- [SPECIES_MOLTRES] = {gMonPalette_Moltres, SPECIES_MOLTRES},
- [SPECIES_DRATINI] = {gMonPalette_Dratini, SPECIES_DRATINI},
- [SPECIES_DRAGONAIR] = {gMonPalette_Dragonair, SPECIES_DRAGONAIR},
- [SPECIES_DRAGONITE] = {gMonPalette_Dragonite, SPECIES_DRAGONITE},
- [SPECIES_MEWTWO] = {gMonPalette_Mewtwo, SPECIES_MEWTWO},
- [SPECIES_MEW] = {gMonPalette_Mew, SPECIES_MEW},
- [SPECIES_CHIKORITA] = {gMonPalette_Chikorita, SPECIES_CHIKORITA},
- [SPECIES_BAYLEEF] = {gMonPalette_Bayleef, SPECIES_BAYLEEF},
- [SPECIES_MEGANIUM] = {gMonPalette_Meganium, SPECIES_MEGANIUM},
- [SPECIES_CYNDAQUIL] = {gMonPalette_Cyndaquil, SPECIES_CYNDAQUIL},
- [SPECIES_QUILAVA] = {gMonPalette_Quilava, SPECIES_QUILAVA},
- [SPECIES_TYPHLOSION] = {gMonPalette_Typhlosion, SPECIES_TYPHLOSION},
- [SPECIES_TOTODILE] = {gMonPalette_Totodile, SPECIES_TOTODILE},
- [SPECIES_CROCONAW] = {gMonPalette_Croconaw, SPECIES_CROCONAW},
- [SPECIES_FERALIGATR] = {gMonPalette_Feraligatr, SPECIES_FERALIGATR},
- [SPECIES_SENTRET] = {gMonPalette_Sentret, SPECIES_SENTRET},
- [SPECIES_FURRET] = {gMonPalette_Furret, SPECIES_FURRET},
- [SPECIES_HOOTHOOT] = {gMonPalette_Hoothoot, SPECIES_HOOTHOOT},
- [SPECIES_NOCTOWL] = {gMonPalette_Noctowl, SPECIES_NOCTOWL},
- [SPECIES_LEDYBA] = {gMonPalette_Ledyba, SPECIES_LEDYBA},
- [SPECIES_LEDIAN] = {gMonPalette_Ledian, SPECIES_LEDIAN},
- [SPECIES_SPINARAK] = {gMonPalette_Spinarak, SPECIES_SPINARAK},
- [SPECIES_ARIADOS] = {gMonPalette_Ariados, SPECIES_ARIADOS},
- [SPECIES_CROBAT] = {gMonPalette_Crobat, SPECIES_CROBAT},
- [SPECIES_CHINCHOU] = {gMonPalette_Chinchou, SPECIES_CHINCHOU},
- [SPECIES_LANTURN] = {gMonPalette_Lanturn, SPECIES_LANTURN},
- [SPECIES_PICHU] = {gMonPalette_Pichu, SPECIES_PICHU},
- [SPECIES_CLEFFA] = {gMonPalette_Cleffa, SPECIES_CLEFFA},
- [SPECIES_IGGLYBUFF] = {gMonPalette_Igglybuff, SPECIES_IGGLYBUFF},
- [SPECIES_TOGEPI] = {gMonPalette_Togepi, SPECIES_TOGEPI},
- [SPECIES_TOGETIC] = {gMonPalette_Togetic, SPECIES_TOGETIC},
- [SPECIES_NATU] = {gMonPalette_Natu, SPECIES_NATU},
- [SPECIES_XATU] = {gMonPalette_Xatu, SPECIES_XATU},
- [SPECIES_MAREEP] = {gMonPalette_Mareep, SPECIES_MAREEP},
- [SPECIES_FLAAFFY] = {gMonPalette_Flaaffy, SPECIES_FLAAFFY},
- [SPECIES_AMPHAROS] = {gMonPalette_Ampharos, SPECIES_AMPHAROS},
- [SPECIES_BELLOSSOM] = {gMonPalette_Bellossom, SPECIES_BELLOSSOM},
- [SPECIES_MARILL] = {gMonPalette_Marill, SPECIES_MARILL},
- [SPECIES_AZUMARILL] = {gMonPalette_Azumarill, SPECIES_AZUMARILL},
- [SPECIES_SUDOWOODO] = {gMonPalette_Sudowoodo, SPECIES_SUDOWOODO},
- [SPECIES_POLITOED] = {gMonPalette_Politoed, SPECIES_POLITOED},
- [SPECIES_HOPPIP] = {gMonPalette_Hoppip, SPECIES_HOPPIP},
- [SPECIES_SKIPLOOM] = {gMonPalette_Skiploom, SPECIES_SKIPLOOM},
- [SPECIES_JUMPLUFF] = {gMonPalette_Jumpluff, SPECIES_JUMPLUFF},
- [SPECIES_AIPOM] = {gMonPalette_Aipom, SPECIES_AIPOM},
- [SPECIES_SUNKERN] = {gMonPalette_Sunkern, SPECIES_SUNKERN},
- [SPECIES_SUNFLORA] = {gMonPalette_Sunflora, SPECIES_SUNFLORA},
- [SPECIES_YANMA] = {gMonPalette_Yanma, SPECIES_YANMA},
- [SPECIES_WOOPER] = {gMonPalette_Wooper, SPECIES_WOOPER},
- [SPECIES_QUAGSIRE] = {gMonPalette_Quagsire, SPECIES_QUAGSIRE},
- [SPECIES_ESPEON] = {gMonPalette_Espeon, SPECIES_ESPEON},
- [SPECIES_UMBREON] = {gMonPalette_Umbreon, SPECIES_UMBREON},
- [SPECIES_MURKROW] = {gMonPalette_Murkrow, SPECIES_MURKROW},
- [SPECIES_SLOWKING] = {gMonPalette_Slowking, SPECIES_SLOWKING},
- [SPECIES_MISDREAVUS] = {gMonPalette_Misdreavus, SPECIES_MISDREAVUS},
- [SPECIES_UNOWN] = {gMonPalette_Unown, SPECIES_UNOWN},
- [SPECIES_WOBBUFFET] = {gMonPalette_Wobbuffet, SPECIES_WOBBUFFET},
- [SPECIES_GIRAFARIG] = {gMonPalette_Girafarig, SPECIES_GIRAFARIG},
- [SPECIES_PINECO] = {gMonPalette_Pineco, SPECIES_PINECO},
- [SPECIES_FORRETRESS] = {gMonPalette_Forretress, SPECIES_FORRETRESS},
- [SPECIES_DUNSPARCE] = {gMonPalette_Dunsparce, SPECIES_DUNSPARCE},
- [SPECIES_GLIGAR] = {gMonPalette_Gligar, SPECIES_GLIGAR},
- [SPECIES_STEELIX] = {gMonPalette_Steelix, SPECIES_STEELIX},
- [SPECIES_SNUBBULL] = {gMonPalette_Snubbull, SPECIES_SNUBBULL},
- [SPECIES_GRANBULL] = {gMonPalette_Granbull, SPECIES_GRANBULL},
- [SPECIES_QWILFISH] = {gMonPalette_Qwilfish, SPECIES_QWILFISH},
- [SPECIES_SCIZOR] = {gMonPalette_Scizor, SPECIES_SCIZOR},
- [SPECIES_SHUCKLE] = {gMonPalette_Shuckle, SPECIES_SHUCKLE},
- [SPECIES_HERACROSS] = {gMonPalette_Heracross, SPECIES_HERACROSS},
- [SPECIES_SNEASEL] = {gMonPalette_Sneasel, SPECIES_SNEASEL},
- [SPECIES_TEDDIURSA] = {gMonPalette_Teddiursa, SPECIES_TEDDIURSA},
- [SPECIES_URSARING] = {gMonPalette_Ursaring, SPECIES_URSARING},
- [SPECIES_SLUGMA] = {gMonPalette_Slugma, SPECIES_SLUGMA},
- [SPECIES_MAGCARGO] = {gMonPalette_Magcargo, SPECIES_MAGCARGO},
- [SPECIES_SWINUB] = {gMonPalette_Swinub, SPECIES_SWINUB},
- [SPECIES_PILOSWINE] = {gMonPalette_Piloswine, SPECIES_PILOSWINE},
- [SPECIES_CORSOLA] = {gMonPalette_Corsola, SPECIES_CORSOLA},
- [SPECIES_REMORAID] = {gMonPalette_Remoraid, SPECIES_REMORAID},
- [SPECIES_OCTILLERY] = {gMonPalette_Octillery, SPECIES_OCTILLERY},
- [SPECIES_DELIBIRD] = {gMonPalette_Delibird, SPECIES_DELIBIRD},
- [SPECIES_MANTINE] = {gMonPalette_Mantine, SPECIES_MANTINE},
- [SPECIES_SKARMORY] = {gMonPalette_Skarmory, SPECIES_SKARMORY},
- [SPECIES_HOUNDOUR] = {gMonPalette_Houndour, SPECIES_HOUNDOUR},
- [SPECIES_HOUNDOOM] = {gMonPalette_Houndoom, SPECIES_HOUNDOOM},
- [SPECIES_KINGDRA] = {gMonPalette_Kingdra, SPECIES_KINGDRA},
- [SPECIES_PHANPY] = {gMonPalette_Phanpy, SPECIES_PHANPY},
- [SPECIES_DONPHAN] = {gMonPalette_Donphan, SPECIES_DONPHAN},
- [SPECIES_PORYGON2] = {gMonPalette_Porygon2, SPECIES_PORYGON2},
- [SPECIES_STANTLER] = {gMonPalette_Stantler, SPECIES_STANTLER},
- [SPECIES_SMEARGLE] = {gMonPalette_Smeargle, SPECIES_SMEARGLE},
- [SPECIES_TYROGUE] = {gMonPalette_Tyrogue, SPECIES_TYROGUE},
- [SPECIES_HITMONTOP] = {gMonPalette_Hitmontop, SPECIES_HITMONTOP},
- [SPECIES_SMOOCHUM] = {gMonPalette_Smoochum, SPECIES_SMOOCHUM},
- [SPECIES_ELEKID] = {gMonPalette_Elekid, SPECIES_ELEKID},
- [SPECIES_MAGBY] = {gMonPalette_Magby, SPECIES_MAGBY},
- [SPECIES_MILTANK] = {gMonPalette_Miltank, SPECIES_MILTANK},
- [SPECIES_BLISSEY] = {gMonPalette_Blissey, SPECIES_BLISSEY},
- [SPECIES_RAIKOU] = {gMonPalette_Raikou, SPECIES_RAIKOU},
- [SPECIES_ENTEI] = {gMonPalette_Entei, SPECIES_ENTEI},
- [SPECIES_SUICUNE] = {gMonPalette_Suicune, SPECIES_SUICUNE},
- [SPECIES_LARVITAR] = {gMonPalette_Larvitar, SPECIES_LARVITAR},
- [SPECIES_PUPITAR] = {gMonPalette_Pupitar, SPECIES_PUPITAR},
- [SPECIES_TYRANITAR] = {gMonPalette_Tyranitar, SPECIES_TYRANITAR},
- [SPECIES_LUGIA] = {gMonPalette_Lugia, SPECIES_LUGIA},
- [SPECIES_HO_OH] = {gMonPalette_HoOh, SPECIES_HO_OH},
- [SPECIES_CELEBI] = {gMonPalette_Celebi, SPECIES_CELEBI},
- [SPECIES_OLD_UNOWN_B] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_B},
- [SPECIES_OLD_UNOWN_C] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_C},
- [SPECIES_OLD_UNOWN_D] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_D},
- [SPECIES_OLD_UNOWN_E] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_E},
- [SPECIES_OLD_UNOWN_F] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_F},
- [SPECIES_OLD_UNOWN_G] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_G},
- [SPECIES_OLD_UNOWN_H] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_H},
- [SPECIES_OLD_UNOWN_I] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_I},
- [SPECIES_OLD_UNOWN_J] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_J},
- [SPECIES_OLD_UNOWN_K] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_K},
- [SPECIES_OLD_UNOWN_L] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_L},
- [SPECIES_OLD_UNOWN_M] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_M},
- [SPECIES_OLD_UNOWN_N] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_N},
- [SPECIES_OLD_UNOWN_O] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_O},
- [SPECIES_OLD_UNOWN_P] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_P},
- [SPECIES_OLD_UNOWN_Q] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Q},
- [SPECIES_OLD_UNOWN_R] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_R},
- [SPECIES_OLD_UNOWN_S] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_S},
- [SPECIES_OLD_UNOWN_T] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_T},
- [SPECIES_OLD_UNOWN_U] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_U},
- [SPECIES_OLD_UNOWN_V] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_V},
- [SPECIES_OLD_UNOWN_W] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_W},
- [SPECIES_OLD_UNOWN_X] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_X},
- [SPECIES_OLD_UNOWN_Y] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Y},
- [SPECIES_OLD_UNOWN_Z] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Z},
- [SPECIES_TREECKO] = {gMonPalette_Treecko, SPECIES_TREECKO},
- [SPECIES_GROVYLE] = {gMonPalette_Grovyle, SPECIES_GROVYLE},
- [SPECIES_SCEPTILE] = {gMonPalette_Sceptile, SPECIES_SCEPTILE},
- [SPECIES_TORCHIC] = {gMonPalette_Torchic, SPECIES_TORCHIC},
- [SPECIES_COMBUSKEN] = {gMonPalette_Combusken, SPECIES_COMBUSKEN},
- [SPECIES_BLAZIKEN] = {gMonPalette_Blaziken, SPECIES_BLAZIKEN},
- [SPECIES_MUDKIP] = {gMonPalette_Mudkip, SPECIES_MUDKIP},
- [SPECIES_MARSHTOMP] = {gMonPalette_Marshtomp, SPECIES_MARSHTOMP},
- [SPECIES_SWAMPERT] = {gMonPalette_Swampert, SPECIES_SWAMPERT},
- [SPECIES_POOCHYENA] = {gMonPalette_Poochyena, SPECIES_POOCHYENA},
- [SPECIES_MIGHTYENA] = {gMonPalette_Mightyena, SPECIES_MIGHTYENA},
- [SPECIES_ZIGZAGOON] = {gMonPalette_Zigzagoon, SPECIES_ZIGZAGOON},
- [SPECIES_LINOONE] = {gMonPalette_Linoone, SPECIES_LINOONE},
- [SPECIES_WURMPLE] = {gMonPalette_Wurmple, SPECIES_WURMPLE},
- [SPECIES_SILCOON] = {gMonPalette_Silcoon, SPECIES_SILCOON},
- [SPECIES_BEAUTIFLY] = {gMonPalette_Beautifly, SPECIES_BEAUTIFLY},
- [SPECIES_CASCOON] = {gMonPalette_Cascoon, SPECIES_CASCOON},
- [SPECIES_DUSTOX] = {gMonPalette_Dustox, SPECIES_DUSTOX},
- [SPECIES_LOTAD] = {gMonPalette_Lotad, SPECIES_LOTAD},
- [SPECIES_LOMBRE] = {gMonPalette_Lombre, SPECIES_LOMBRE},
- [SPECIES_LUDICOLO] = {gMonPalette_Ludicolo, SPECIES_LUDICOLO},
- [SPECIES_SEEDOT] = {gMonPalette_Seedot, SPECIES_SEEDOT},
- [SPECIES_NUZLEAF] = {gMonPalette_Nuzleaf, SPECIES_NUZLEAF},
- [SPECIES_SHIFTRY] = {gMonPalette_Shiftry, SPECIES_SHIFTRY},
- [SPECIES_NINCADA] = {gMonPalette_Nincada, SPECIES_NINCADA},
- [SPECIES_NINJASK] = {gMonPalette_Ninjask, SPECIES_NINJASK},
- [SPECIES_SHEDINJA] = {gMonPalette_Shedinja, SPECIES_SHEDINJA},
- [SPECIES_TAILLOW] = {gMonPalette_Taillow, SPECIES_TAILLOW},
- [SPECIES_SWELLOW] = {gMonPalette_Swellow, SPECIES_SWELLOW},
- [SPECIES_SHROOMISH] = {gMonPalette_Shroomish, SPECIES_SHROOMISH},
- [SPECIES_BRELOOM] = {gMonPalette_Breloom, SPECIES_BRELOOM},
- [SPECIES_SPINDA] = {gMonPalette_Spinda, SPECIES_SPINDA},
- [SPECIES_WINGULL] = {gMonPalette_Wingull, SPECIES_WINGULL},
- [SPECIES_PELIPPER] = {gMonPalette_Pelipper, SPECIES_PELIPPER},
- [SPECIES_SURSKIT] = {gMonPalette_Surskit, SPECIES_SURSKIT},
- [SPECIES_MASQUERAIN] = {gMonPalette_Masquerain, SPECIES_MASQUERAIN},
- [SPECIES_WAILMER] = {gMonPalette_Wailmer, SPECIES_WAILMER},
- [SPECIES_WAILORD] = {gMonPalette_Wailord, SPECIES_WAILORD},
- [SPECIES_SKITTY] = {gMonPalette_Skitty, SPECIES_SKITTY},
- [SPECIES_DELCATTY] = {gMonPalette_Delcatty, SPECIES_DELCATTY},
- [SPECIES_KECLEON] = {gMonPalette_Kecleon, SPECIES_KECLEON},
- [SPECIES_BALTOY] = {gMonPalette_Baltoy, SPECIES_BALTOY},
- [SPECIES_CLAYDOL] = {gMonPalette_Claydol, SPECIES_CLAYDOL},
- [SPECIES_NOSEPASS] = {gMonPalette_Nosepass, SPECIES_NOSEPASS},
- [SPECIES_TORKOAL] = {gMonPalette_Torkoal, SPECIES_TORKOAL},
- [SPECIES_SABLEYE] = {gMonPalette_Sableye, SPECIES_SABLEYE},
- [SPECIES_BARBOACH] = {gMonPalette_Barboach, SPECIES_BARBOACH},
- [SPECIES_WHISCASH] = {gMonPalette_Whiscash, SPECIES_WHISCASH},
- [SPECIES_LUVDISC] = {gMonPalette_Luvdisc, SPECIES_LUVDISC},
- [SPECIES_CORPHISH] = {gMonPalette_Corphish, SPECIES_CORPHISH},
- [SPECIES_CRAWDAUNT] = {gMonPalette_Crawdaunt, SPECIES_CRAWDAUNT},
- [SPECIES_FEEBAS] = {gMonPalette_Feebas, SPECIES_FEEBAS},
- [SPECIES_MILOTIC] = {gMonPalette_Milotic, SPECIES_MILOTIC},
- [SPECIES_CARVANHA] = {gMonPalette_Carvanha, SPECIES_CARVANHA},
- [SPECIES_SHARPEDO] = {gMonPalette_Sharpedo, SPECIES_SHARPEDO},
- [SPECIES_TRAPINCH] = {gMonPalette_Trapinch, SPECIES_TRAPINCH},
- [SPECIES_VIBRAVA] = {gMonPalette_Vibrava, SPECIES_VIBRAVA},
- [SPECIES_FLYGON] = {gMonPalette_Flygon, SPECIES_FLYGON},
- [SPECIES_MAKUHITA] = {gMonPalette_Makuhita, SPECIES_MAKUHITA},
- [SPECIES_HARIYAMA] = {gMonPalette_Hariyama, SPECIES_HARIYAMA},
- [SPECIES_ELECTRIKE] = {gMonPalette_Electrike, SPECIES_ELECTRIKE},
- [SPECIES_MANECTRIC] = {gMonPalette_Manectric, SPECIES_MANECTRIC},
- [SPECIES_NUMEL] = {gMonPalette_Numel, SPECIES_NUMEL},
- [SPECIES_CAMERUPT] = {gMonPalette_Camerupt, SPECIES_CAMERUPT},
- [SPECIES_SPHEAL] = {gMonPalette_Spheal, SPECIES_SPHEAL},
- [SPECIES_SEALEO] = {gMonPalette_Sealeo, SPECIES_SEALEO},
- [SPECIES_WALREIN] = {gMonPalette_Walrein, SPECIES_WALREIN},
- [SPECIES_CACNEA] = {gMonPalette_Cacnea, SPECIES_CACNEA},
- [SPECIES_CACTURNE] = {gMonPalette_Cacturne, SPECIES_CACTURNE},
- [SPECIES_SNORUNT] = {gMonPalette_Snorunt, SPECIES_SNORUNT},
- [SPECIES_GLALIE] = {gMonPalette_Glalie, SPECIES_GLALIE},
- [SPECIES_LUNATONE] = {gMonPalette_Lunatone, SPECIES_LUNATONE},
- [SPECIES_SOLROCK] = {gMonPalette_Solrock, SPECIES_SOLROCK},
- [SPECIES_AZURILL] = {gMonPalette_Azurill, SPECIES_AZURILL},
- [SPECIES_SPOINK] = {gMonPalette_Spoink, SPECIES_SPOINK},
- [SPECIES_GRUMPIG] = {gMonPalette_Grumpig, SPECIES_GRUMPIG},
- [SPECIES_PLUSLE] = {gMonPalette_Plusle, SPECIES_PLUSLE},
- [SPECIES_MINUN] = {gMonPalette_Minun, SPECIES_MINUN},
- [SPECIES_MAWILE] = {gMonPalette_Mawile, SPECIES_MAWILE},
- [SPECIES_MEDITITE] = {gMonPalette_Meditite, SPECIES_MEDITITE},
- [SPECIES_MEDICHAM] = {gMonPalette_Medicham, SPECIES_MEDICHAM},
- [SPECIES_SWABLU] = {gMonPalette_Swablu, SPECIES_SWABLU},
- [SPECIES_ALTARIA] = {gMonPalette_Altaria, SPECIES_ALTARIA},
- [SPECIES_WYNAUT] = {gMonPalette_Wynaut, SPECIES_WYNAUT},
- [SPECIES_DUSKULL] = {gMonPalette_Duskull, SPECIES_DUSKULL},
- [SPECIES_DUSCLOPS] = {gMonPalette_Dusclops, SPECIES_DUSCLOPS},
- [SPECIES_ROSELIA] = {gMonPalette_Roselia, SPECIES_ROSELIA},
- [SPECIES_SLAKOTH] = {gMonPalette_Slakoth, SPECIES_SLAKOTH},
- [SPECIES_VIGOROTH] = {gMonPalette_Vigoroth, SPECIES_VIGOROTH},
- [SPECIES_SLAKING] = {gMonPalette_Slaking, SPECIES_SLAKING},
- [SPECIES_GULPIN] = {gMonPalette_Gulpin, SPECIES_GULPIN},
- [SPECIES_SWALOT] = {gMonPalette_Swalot, SPECIES_SWALOT},
- [SPECIES_TROPIUS] = {gMonPalette_Tropius, SPECIES_TROPIUS},
- [SPECIES_WHISMUR] = {gMonPalette_Whismur, SPECIES_WHISMUR},
- [SPECIES_LOUDRED] = {gMonPalette_Loudred, SPECIES_LOUDRED},
- [SPECIES_EXPLOUD] = {gMonPalette_Exploud, SPECIES_EXPLOUD},
- [SPECIES_CLAMPERL] = {gMonPalette_Clamperl, SPECIES_CLAMPERL},
- [SPECIES_HUNTAIL] = {gMonPalette_Huntail, SPECIES_HUNTAIL},
- [SPECIES_GOREBYSS] = {gMonPalette_Gorebyss, SPECIES_GOREBYSS},
- [SPECIES_ABSOL] = {gMonPalette_Absol, SPECIES_ABSOL},
- [SPECIES_SHUPPET] = {gMonPalette_Shuppet, SPECIES_SHUPPET},
- [SPECIES_BANETTE] = {gMonPalette_Banette, SPECIES_BANETTE},
- [SPECIES_SEVIPER] = {gMonPalette_Seviper, SPECIES_SEVIPER},
- [SPECIES_ZANGOOSE] = {gMonPalette_Zangoose, SPECIES_ZANGOOSE},
- [SPECIES_RELICANTH] = {gMonPalette_Relicanth, SPECIES_RELICANTH},
- [SPECIES_ARON] = {gMonPalette_Aron, SPECIES_ARON},
- [SPECIES_LAIRON] = {gMonPalette_Lairon, SPECIES_LAIRON},
- [SPECIES_AGGRON] = {gMonPalette_Aggron, SPECIES_AGGRON},
- [SPECIES_CASTFORM] = {gMonPalette_Castform, SPECIES_CASTFORM},
- [SPECIES_VOLBEAT] = {gMonPalette_Volbeat, SPECIES_VOLBEAT},
- [SPECIES_ILLUMISE] = {gMonPalette_Illumise, SPECIES_ILLUMISE},
- [SPECIES_LILEEP] = {gMonPalette_Lileep, SPECIES_LILEEP},
- [SPECIES_CRADILY] = {gMonPalette_Cradily, SPECIES_CRADILY},
- [SPECIES_ANORITH] = {gMonPalette_Anorith, SPECIES_ANORITH},
- [SPECIES_ARMALDO] = {gMonPalette_Armaldo, SPECIES_ARMALDO},
- [SPECIES_RALTS] = {gMonPalette_Ralts, SPECIES_RALTS},
- [SPECIES_KIRLIA] = {gMonPalette_Kirlia, SPECIES_KIRLIA},
- [SPECIES_GARDEVOIR] = {gMonPalette_Gardevoir, SPECIES_GARDEVOIR},
- [SPECIES_BAGON] = {gMonPalette_Bagon, SPECIES_BAGON},
- [SPECIES_SHELGON] = {gMonPalette_Shelgon, SPECIES_SHELGON},
- [SPECIES_SALAMENCE] = {gMonPalette_Salamence, SPECIES_SALAMENCE},
- [SPECIES_BELDUM] = {gMonPalette_Beldum, SPECIES_BELDUM},
- [SPECIES_METANG] = {gMonPalette_Metang, SPECIES_METANG},
- [SPECIES_METAGROSS] = {gMonPalette_Metagross, SPECIES_METAGROSS},
- [SPECIES_REGIROCK] = {gMonPalette_Regirock, SPECIES_REGIROCK},
- [SPECIES_REGICE] = {gMonPalette_Regice, SPECIES_REGICE},
- [SPECIES_REGISTEEL] = {gMonPalette_Registeel, SPECIES_REGISTEEL},
- [SPECIES_KYOGRE] = {gMonPalette_Kyogre, SPECIES_KYOGRE},
- [SPECIES_GROUDON] = {gMonPalette_Groudon, SPECIES_GROUDON},
- [SPECIES_RAYQUAZA] = {gMonPalette_Rayquaza, SPECIES_RAYQUAZA},
- [SPECIES_LATIAS] = {gMonPalette_Latias, SPECIES_LATIAS},
- [SPECIES_LATIOS] = {gMonPalette_Latios, SPECIES_LATIOS},
- [SPECIES_JIRACHI] = {gMonPalette_Jirachi, SPECIES_JIRACHI},
- [SPECIES_DEOXYS] = {gMonPalette_Deoxys, SPECIES_DEOXYS},
- [SPECIES_CHIMECHO] = {gMonPalette_Chimecho, SPECIES_CHIMECHO},
- [SPECIES_EGG] = {gMonPalette_Egg, SPECIES_EGG},
- [SPECIES_UNOWN_B] = {gMonPalette_Unown, SPECIES_UNOWN_B},
- [SPECIES_UNOWN_C] = {gMonPalette_Unown, SPECIES_UNOWN_C},
- [SPECIES_UNOWN_D] = {gMonPalette_Unown, SPECIES_UNOWN_D},
- [SPECIES_UNOWN_E] = {gMonPalette_Unown, SPECIES_UNOWN_E},
- [SPECIES_UNOWN_F] = {gMonPalette_Unown, SPECIES_UNOWN_F},
- [SPECIES_UNOWN_G] = {gMonPalette_Unown, SPECIES_UNOWN_G},
- [SPECIES_UNOWN_H] = {gMonPalette_Unown, SPECIES_UNOWN_H},
- [SPECIES_UNOWN_I] = {gMonPalette_Unown, SPECIES_UNOWN_I},
- [SPECIES_UNOWN_J] = {gMonPalette_Unown, SPECIES_UNOWN_J},
- [SPECIES_UNOWN_K] = {gMonPalette_Unown, SPECIES_UNOWN_K},
- [SPECIES_UNOWN_L] = {gMonPalette_Unown, SPECIES_UNOWN_L},
- [SPECIES_UNOWN_M] = {gMonPalette_Unown, SPECIES_UNOWN_M},
- [SPECIES_UNOWN_N] = {gMonPalette_Unown, SPECIES_UNOWN_N},
- [SPECIES_UNOWN_O] = {gMonPalette_Unown, SPECIES_UNOWN_O},
- [SPECIES_UNOWN_P] = {gMonPalette_Unown, SPECIES_UNOWN_P},
- [SPECIES_UNOWN_Q] = {gMonPalette_Unown, SPECIES_UNOWN_Q},
- [SPECIES_UNOWN_R] = {gMonPalette_Unown, SPECIES_UNOWN_R},
- [SPECIES_UNOWN_S] = {gMonPalette_Unown, SPECIES_UNOWN_S},
- [SPECIES_UNOWN_T] = {gMonPalette_Unown, SPECIES_UNOWN_T},
- [SPECIES_UNOWN_U] = {gMonPalette_Unown, SPECIES_UNOWN_U},
- [SPECIES_UNOWN_V] = {gMonPalette_Unown, SPECIES_UNOWN_V},
- [SPECIES_UNOWN_W] = {gMonPalette_Unown, SPECIES_UNOWN_W},
- [SPECIES_UNOWN_X] = {gMonPalette_Unown, SPECIES_UNOWN_X},
- [SPECIES_UNOWN_Y] = {gMonPalette_Unown, SPECIES_UNOWN_Y},
- [SPECIES_UNOWN_Z] = {gMonPalette_Unown, SPECIES_UNOWN_Z},
- [SPECIES_UNOWN_EMARK] = {gMonPalette_Unown, SPECIES_UNOWN_EMARK},
- [SPECIES_UNOWN_QMARK] = {gMonPalette_Unown, SPECIES_UNOWN_QMARK},
+ SPECIES_PAL(NONE, gMonPalette_CircledQuestionMark),
+ SPECIES_PAL(BULBASAUR, gMonPalette_Bulbasaur),
+ SPECIES_PAL(IVYSAUR, gMonPalette_Ivysaur),
+ SPECIES_PAL(VENUSAUR, gMonPalette_Venusaur),
+ SPECIES_PAL(CHARMANDER, gMonPalette_Charmander),
+ SPECIES_PAL(CHARMELEON, gMonPalette_Charmeleon),
+ SPECIES_PAL(CHARIZARD, gMonPalette_Charizard),
+ SPECIES_PAL(SQUIRTLE, gMonPalette_Squirtle),
+ SPECIES_PAL(WARTORTLE, gMonPalette_Wartortle),
+ SPECIES_PAL(BLASTOISE, gMonPalette_Blastoise),
+ SPECIES_PAL(CATERPIE, gMonPalette_Caterpie),
+ SPECIES_PAL(METAPOD, gMonPalette_Metapod),
+ SPECIES_PAL(BUTTERFREE, gMonPalette_Butterfree),
+ SPECIES_PAL(WEEDLE, gMonPalette_Weedle),
+ SPECIES_PAL(KAKUNA, gMonPalette_Kakuna),
+ SPECIES_PAL(BEEDRILL, gMonPalette_Beedrill),
+ SPECIES_PAL(PIDGEY, gMonPalette_Pidgey),
+ SPECIES_PAL(PIDGEOTTO, gMonPalette_Pidgeotto),
+ SPECIES_PAL(PIDGEOT, gMonPalette_Pidgeot),
+ SPECIES_PAL(RATTATA, gMonPalette_Rattata),
+ SPECIES_PAL(RATICATE, gMonPalette_Raticate),
+ SPECIES_PAL(SPEAROW, gMonPalette_Spearow),
+ SPECIES_PAL(FEAROW, gMonPalette_Fearow),
+ SPECIES_PAL(EKANS, gMonPalette_Ekans),
+ SPECIES_PAL(ARBOK, gMonPalette_Arbok),
+ SPECIES_PAL(PIKACHU, gMonPalette_Pikachu),
+ SPECIES_PAL(RAICHU, gMonPalette_Raichu),
+ SPECIES_PAL(SANDSHREW, gMonPalette_Sandshrew),
+ SPECIES_PAL(SANDSLASH, gMonPalette_Sandslash),
+ SPECIES_PAL(NIDORAN_F, gMonPalette_NidoranF),
+ SPECIES_PAL(NIDORINA, gMonPalette_Nidorina),
+ SPECIES_PAL(NIDOQUEEN, gMonPalette_Nidoqueen),
+ SPECIES_PAL(NIDORAN_M, gMonPalette_NidoranM),
+ SPECIES_PAL(NIDORINO, gMonPalette_Nidorino),
+ SPECIES_PAL(NIDOKING, gMonPalette_Nidoking),
+ SPECIES_PAL(CLEFAIRY, gMonPalette_Clefairy),
+ SPECIES_PAL(CLEFABLE, gMonPalette_Clefable),
+ SPECIES_PAL(VULPIX, gMonPalette_Vulpix),
+ SPECIES_PAL(NINETALES, gMonPalette_Ninetales),
+ SPECIES_PAL(JIGGLYPUFF, gMonPalette_Jigglypuff),
+ SPECIES_PAL(WIGGLYTUFF, gMonPalette_Wigglytuff),
+ SPECIES_PAL(ZUBAT, gMonPalette_Zubat),
+ SPECIES_PAL(GOLBAT, gMonPalette_Golbat),
+ SPECIES_PAL(ODDISH, gMonPalette_Oddish),
+ SPECIES_PAL(GLOOM, gMonPalette_Gloom),
+ SPECIES_PAL(VILEPLUME, gMonPalette_Vileplume),
+ SPECIES_PAL(PARAS, gMonPalette_Paras),
+ SPECIES_PAL(PARASECT, gMonPalette_Parasect),
+ SPECIES_PAL(VENONAT, gMonPalette_Venonat),
+ SPECIES_PAL(VENOMOTH, gMonPalette_Venomoth),
+ SPECIES_PAL(DIGLETT, gMonPalette_Diglett),
+ SPECIES_PAL(DUGTRIO, gMonPalette_Dugtrio),
+ SPECIES_PAL(MEOWTH, gMonPalette_Meowth),
+ SPECIES_PAL(PERSIAN, gMonPalette_Persian),
+ SPECIES_PAL(PSYDUCK, gMonPalette_Psyduck),
+ SPECIES_PAL(GOLDUCK, gMonPalette_Golduck),
+ SPECIES_PAL(MANKEY, gMonPalette_Mankey),
+ SPECIES_PAL(PRIMEAPE, gMonPalette_Primeape),
+ SPECIES_PAL(GROWLITHE, gMonPalette_Growlithe),
+ SPECIES_PAL(ARCANINE, gMonPalette_Arcanine),
+ SPECIES_PAL(POLIWAG, gMonPalette_Poliwag),
+ SPECIES_PAL(POLIWHIRL, gMonPalette_Poliwhirl),
+ SPECIES_PAL(POLIWRATH, gMonPalette_Poliwrath),
+ SPECIES_PAL(ABRA, gMonPalette_Abra),
+ SPECIES_PAL(KADABRA, gMonPalette_Kadabra),
+ SPECIES_PAL(ALAKAZAM, gMonPalette_Alakazam),
+ SPECIES_PAL(MACHOP, gMonPalette_Machop),
+ SPECIES_PAL(MACHOKE, gMonPalette_Machoke),
+ SPECIES_PAL(MACHAMP, gMonPalette_Machamp),
+ SPECIES_PAL(BELLSPROUT, gMonPalette_Bellsprout),
+ SPECIES_PAL(WEEPINBELL, gMonPalette_Weepinbell),
+ SPECIES_PAL(VICTREEBEL, gMonPalette_Victreebel),
+ SPECIES_PAL(TENTACOOL, gMonPalette_Tentacool),
+ SPECIES_PAL(TENTACRUEL, gMonPalette_Tentacruel),
+ SPECIES_PAL(GEODUDE, gMonPalette_Geodude),
+ SPECIES_PAL(GRAVELER, gMonPalette_Graveler),
+ SPECIES_PAL(GOLEM, gMonPalette_Golem),
+ SPECIES_PAL(PONYTA, gMonPalette_Ponyta),
+ SPECIES_PAL(RAPIDASH, gMonPalette_Rapidash),
+ SPECIES_PAL(SLOWPOKE, gMonPalette_Slowpoke),
+ SPECIES_PAL(SLOWBRO, gMonPalette_Slowbro),
+ SPECIES_PAL(MAGNEMITE, gMonPalette_Magnemite),
+ SPECIES_PAL(MAGNETON, gMonPalette_Magneton),
+ SPECIES_PAL(FARFETCHD, gMonPalette_Farfetchd),
+ SPECIES_PAL(DODUO, gMonPalette_Doduo),
+ SPECIES_PAL(DODRIO, gMonPalette_Dodrio),
+ SPECIES_PAL(SEEL, gMonPalette_Seel),
+ SPECIES_PAL(DEWGONG, gMonPalette_Dewgong),
+ SPECIES_PAL(GRIMER, gMonPalette_Grimer),
+ SPECIES_PAL(MUK, gMonPalette_Muk),
+ SPECIES_PAL(SHELLDER, gMonPalette_Shellder),
+ SPECIES_PAL(CLOYSTER, gMonPalette_Cloyster),
+ SPECIES_PAL(GASTLY, gMonPalette_Gastly),
+ SPECIES_PAL(HAUNTER, gMonPalette_Haunter),
+ SPECIES_PAL(GENGAR, gMonPalette_Gengar),
+ SPECIES_PAL(ONIX, gMonPalette_Onix),
+ SPECIES_PAL(DROWZEE, gMonPalette_Drowzee),
+ SPECIES_PAL(HYPNO, gMonPalette_Hypno),
+ SPECIES_PAL(KRABBY, gMonPalette_Krabby),
+ SPECIES_PAL(KINGLER, gMonPalette_Kingler),
+ SPECIES_PAL(VOLTORB, gMonPalette_Voltorb),
+ SPECIES_PAL(ELECTRODE, gMonPalette_Electrode),
+ SPECIES_PAL(EXEGGCUTE, gMonPalette_Exeggcute),
+ SPECIES_PAL(EXEGGUTOR, gMonPalette_Exeggutor),
+ SPECIES_PAL(CUBONE, gMonPalette_Cubone),
+ SPECIES_PAL(MAROWAK, gMonPalette_Marowak),
+ SPECIES_PAL(HITMONLEE, gMonPalette_Hitmonlee),
+ SPECIES_PAL(HITMONCHAN, gMonPalette_Hitmonchan),
+ SPECIES_PAL(LICKITUNG, gMonPalette_Lickitung),
+ SPECIES_PAL(KOFFING, gMonPalette_Koffing),
+ SPECIES_PAL(WEEZING, gMonPalette_Weezing),
+ SPECIES_PAL(RHYHORN, gMonPalette_Rhyhorn),
+ SPECIES_PAL(RHYDON, gMonPalette_Rhydon),
+ SPECIES_PAL(CHANSEY, gMonPalette_Chansey),
+ SPECIES_PAL(TANGELA, gMonPalette_Tangela),
+ SPECIES_PAL(KANGASKHAN, gMonPalette_Kangaskhan),
+ SPECIES_PAL(HORSEA, gMonPalette_Horsea),
+ SPECIES_PAL(SEADRA, gMonPalette_Seadra),
+ SPECIES_PAL(GOLDEEN, gMonPalette_Goldeen),
+ SPECIES_PAL(SEAKING, gMonPalette_Seaking),
+ SPECIES_PAL(STARYU, gMonPalette_Staryu),
+ SPECIES_PAL(STARMIE, gMonPalette_Starmie),
+ SPECIES_PAL(MR_MIME, gMonPalette_Mrmime),
+ SPECIES_PAL(SCYTHER, gMonPalette_Scyther),
+ SPECIES_PAL(JYNX, gMonPalette_Jynx),
+ SPECIES_PAL(ELECTABUZZ, gMonPalette_Electabuzz),
+ SPECIES_PAL(MAGMAR, gMonPalette_Magmar),
+ SPECIES_PAL(PINSIR, gMonPalette_Pinsir),
+ SPECIES_PAL(TAUROS, gMonPalette_Tauros),
+ SPECIES_PAL(MAGIKARP, gMonPalette_Magikarp),
+ SPECIES_PAL(GYARADOS, gMonPalette_Gyarados),
+ SPECIES_PAL(LAPRAS, gMonPalette_Lapras),
+ SPECIES_PAL(DITTO, gMonPalette_Ditto),
+ SPECIES_PAL(EEVEE, gMonPalette_Eevee),
+ SPECIES_PAL(VAPOREON, gMonPalette_Vaporeon),
+ SPECIES_PAL(JOLTEON, gMonPalette_Jolteon),
+ SPECIES_PAL(FLAREON, gMonPalette_Flareon),
+ SPECIES_PAL(PORYGON, gMonPalette_Porygon),
+ SPECIES_PAL(OMANYTE, gMonPalette_Omanyte),
+ SPECIES_PAL(OMASTAR, gMonPalette_Omastar),
+ SPECIES_PAL(KABUTO, gMonPalette_Kabuto),
+ SPECIES_PAL(KABUTOPS, gMonPalette_Kabutops),
+ SPECIES_PAL(AERODACTYL, gMonPalette_Aerodactyl),
+ SPECIES_PAL(SNORLAX, gMonPalette_Snorlax),
+ SPECIES_PAL(ARTICUNO, gMonPalette_Articuno),
+ SPECIES_PAL(ZAPDOS, gMonPalette_Zapdos),
+ SPECIES_PAL(MOLTRES, gMonPalette_Moltres),
+ SPECIES_PAL(DRATINI, gMonPalette_Dratini),
+ SPECIES_PAL(DRAGONAIR, gMonPalette_Dragonair),
+ SPECIES_PAL(DRAGONITE, gMonPalette_Dragonite),
+ SPECIES_PAL(MEWTWO, gMonPalette_Mewtwo),
+ SPECIES_PAL(MEW, gMonPalette_Mew),
+ SPECIES_PAL(CHIKORITA, gMonPalette_Chikorita),
+ SPECIES_PAL(BAYLEEF, gMonPalette_Bayleef),
+ SPECIES_PAL(MEGANIUM, gMonPalette_Meganium),
+ SPECIES_PAL(CYNDAQUIL, gMonPalette_Cyndaquil),
+ SPECIES_PAL(QUILAVA, gMonPalette_Quilava),
+ SPECIES_PAL(TYPHLOSION, gMonPalette_Typhlosion),
+ SPECIES_PAL(TOTODILE, gMonPalette_Totodile),
+ SPECIES_PAL(CROCONAW, gMonPalette_Croconaw),
+ SPECIES_PAL(FERALIGATR, gMonPalette_Feraligatr),
+ SPECIES_PAL(SENTRET, gMonPalette_Sentret),
+ SPECIES_PAL(FURRET, gMonPalette_Furret),
+ SPECIES_PAL(HOOTHOOT, gMonPalette_Hoothoot),
+ SPECIES_PAL(NOCTOWL, gMonPalette_Noctowl),
+ SPECIES_PAL(LEDYBA, gMonPalette_Ledyba),
+ SPECIES_PAL(LEDIAN, gMonPalette_Ledian),
+ SPECIES_PAL(SPINARAK, gMonPalette_Spinarak),
+ SPECIES_PAL(ARIADOS, gMonPalette_Ariados),
+ SPECIES_PAL(CROBAT, gMonPalette_Crobat),
+ SPECIES_PAL(CHINCHOU, gMonPalette_Chinchou),
+ SPECIES_PAL(LANTURN, gMonPalette_Lanturn),
+ SPECIES_PAL(PICHU, gMonPalette_Pichu),
+ SPECIES_PAL(CLEFFA, gMonPalette_Cleffa),
+ SPECIES_PAL(IGGLYBUFF, gMonPalette_Igglybuff),
+ SPECIES_PAL(TOGEPI, gMonPalette_Togepi),
+ SPECIES_PAL(TOGETIC, gMonPalette_Togetic),
+ SPECIES_PAL(NATU, gMonPalette_Natu),
+ SPECIES_PAL(XATU, gMonPalette_Xatu),
+ SPECIES_PAL(MAREEP, gMonPalette_Mareep),
+ SPECIES_PAL(FLAAFFY, gMonPalette_Flaaffy),
+ SPECIES_PAL(AMPHAROS, gMonPalette_Ampharos),
+ SPECIES_PAL(BELLOSSOM, gMonPalette_Bellossom),
+ SPECIES_PAL(MARILL, gMonPalette_Marill),
+ SPECIES_PAL(AZUMARILL, gMonPalette_Azumarill),
+ SPECIES_PAL(SUDOWOODO, gMonPalette_Sudowoodo),
+ SPECIES_PAL(POLITOED, gMonPalette_Politoed),
+ SPECIES_PAL(HOPPIP, gMonPalette_Hoppip),
+ SPECIES_PAL(SKIPLOOM, gMonPalette_Skiploom),
+ SPECIES_PAL(JUMPLUFF, gMonPalette_Jumpluff),
+ SPECIES_PAL(AIPOM, gMonPalette_Aipom),
+ SPECIES_PAL(SUNKERN, gMonPalette_Sunkern),
+ SPECIES_PAL(SUNFLORA, gMonPalette_Sunflora),
+ SPECIES_PAL(YANMA, gMonPalette_Yanma),
+ SPECIES_PAL(WOOPER, gMonPalette_Wooper),
+ SPECIES_PAL(QUAGSIRE, gMonPalette_Quagsire),
+ SPECIES_PAL(ESPEON, gMonPalette_Espeon),
+ SPECIES_PAL(UMBREON, gMonPalette_Umbreon),
+ SPECIES_PAL(MURKROW, gMonPalette_Murkrow),
+ SPECIES_PAL(SLOWKING, gMonPalette_Slowking),
+ SPECIES_PAL(MISDREAVUS, gMonPalette_Misdreavus),
+ SPECIES_PAL(UNOWN, gMonPalette_Unown),
+ SPECIES_PAL(WOBBUFFET, gMonPalette_Wobbuffet),
+ SPECIES_PAL(GIRAFARIG, gMonPalette_Girafarig),
+ SPECIES_PAL(PINECO, gMonPalette_Pineco),
+ SPECIES_PAL(FORRETRESS, gMonPalette_Forretress),
+ SPECIES_PAL(DUNSPARCE, gMonPalette_Dunsparce),
+ SPECIES_PAL(GLIGAR, gMonPalette_Gligar),
+ SPECIES_PAL(STEELIX, gMonPalette_Steelix),
+ SPECIES_PAL(SNUBBULL, gMonPalette_Snubbull),
+ SPECIES_PAL(GRANBULL, gMonPalette_Granbull),
+ SPECIES_PAL(QWILFISH, gMonPalette_Qwilfish),
+ SPECIES_PAL(SCIZOR, gMonPalette_Scizor),
+ SPECIES_PAL(SHUCKLE, gMonPalette_Shuckle),
+ SPECIES_PAL(HERACROSS, gMonPalette_Heracross),
+ SPECIES_PAL(SNEASEL, gMonPalette_Sneasel),
+ SPECIES_PAL(TEDDIURSA, gMonPalette_Teddiursa),
+ SPECIES_PAL(URSARING, gMonPalette_Ursaring),
+ SPECIES_PAL(SLUGMA, gMonPalette_Slugma),
+ SPECIES_PAL(MAGCARGO, gMonPalette_Magcargo),
+ SPECIES_PAL(SWINUB, gMonPalette_Swinub),
+ SPECIES_PAL(PILOSWINE, gMonPalette_Piloswine),
+ SPECIES_PAL(CORSOLA, gMonPalette_Corsola),
+ SPECIES_PAL(REMORAID, gMonPalette_Remoraid),
+ SPECIES_PAL(OCTILLERY, gMonPalette_Octillery),
+ SPECIES_PAL(DELIBIRD, gMonPalette_Delibird),
+ SPECIES_PAL(MANTINE, gMonPalette_Mantine),
+ SPECIES_PAL(SKARMORY, gMonPalette_Skarmory),
+ SPECIES_PAL(HOUNDOUR, gMonPalette_Houndour),
+ SPECIES_PAL(HOUNDOOM, gMonPalette_Houndoom),
+ SPECIES_PAL(KINGDRA, gMonPalette_Kingdra),
+ SPECIES_PAL(PHANPY, gMonPalette_Phanpy),
+ SPECIES_PAL(DONPHAN, gMonPalette_Donphan),
+ SPECIES_PAL(PORYGON2, gMonPalette_Porygon2),
+ SPECIES_PAL(STANTLER, gMonPalette_Stantler),
+ SPECIES_PAL(SMEARGLE, gMonPalette_Smeargle),
+ SPECIES_PAL(TYROGUE, gMonPalette_Tyrogue),
+ SPECIES_PAL(HITMONTOP, gMonPalette_Hitmontop),
+ SPECIES_PAL(SMOOCHUM, gMonPalette_Smoochum),
+ SPECIES_PAL(ELEKID, gMonPalette_Elekid),
+ SPECIES_PAL(MAGBY, gMonPalette_Magby),
+ SPECIES_PAL(MILTANK, gMonPalette_Miltank),
+ SPECIES_PAL(BLISSEY, gMonPalette_Blissey),
+ SPECIES_PAL(RAIKOU, gMonPalette_Raikou),
+ SPECIES_PAL(ENTEI, gMonPalette_Entei),
+ SPECIES_PAL(SUICUNE, gMonPalette_Suicune),
+ SPECIES_PAL(LARVITAR, gMonPalette_Larvitar),
+ SPECIES_PAL(PUPITAR, gMonPalette_Pupitar),
+ SPECIES_PAL(TYRANITAR, gMonPalette_Tyranitar),
+ SPECIES_PAL(LUGIA, gMonPalette_Lugia),
+ SPECIES_PAL(HO_OH, gMonPalette_HoOh),
+ SPECIES_PAL(CELEBI, gMonPalette_Celebi),
+ SPECIES_PAL(OLD_UNOWN_B, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_C, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_D, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_E, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_F, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_G, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_H, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_I, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_J, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_K, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_L, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_M, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_N, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_O, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_P, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_Q, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_R, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_S, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_T, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_U, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_V, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_W, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_X, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_Y, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_Z, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(TREECKO, gMonPalette_Treecko),
+ SPECIES_PAL(GROVYLE, gMonPalette_Grovyle),
+ SPECIES_PAL(SCEPTILE, gMonPalette_Sceptile),
+ SPECIES_PAL(TORCHIC, gMonPalette_Torchic),
+ SPECIES_PAL(COMBUSKEN, gMonPalette_Combusken),
+ SPECIES_PAL(BLAZIKEN, gMonPalette_Blaziken),
+ SPECIES_PAL(MUDKIP, gMonPalette_Mudkip),
+ SPECIES_PAL(MARSHTOMP, gMonPalette_Marshtomp),
+ SPECIES_PAL(SWAMPERT, gMonPalette_Swampert),
+ SPECIES_PAL(POOCHYENA, gMonPalette_Poochyena),
+ SPECIES_PAL(MIGHTYENA, gMonPalette_Mightyena),
+ SPECIES_PAL(ZIGZAGOON, gMonPalette_Zigzagoon),
+ SPECIES_PAL(LINOONE, gMonPalette_Linoone),
+ SPECIES_PAL(WURMPLE, gMonPalette_Wurmple),
+ SPECIES_PAL(SILCOON, gMonPalette_Silcoon),
+ SPECIES_PAL(BEAUTIFLY, gMonPalette_Beautifly),
+ SPECIES_PAL(CASCOON, gMonPalette_Cascoon),
+ SPECIES_PAL(DUSTOX, gMonPalette_Dustox),
+ SPECIES_PAL(LOTAD, gMonPalette_Lotad),
+ SPECIES_PAL(LOMBRE, gMonPalette_Lombre),
+ SPECIES_PAL(LUDICOLO, gMonPalette_Ludicolo),
+ SPECIES_PAL(SEEDOT, gMonPalette_Seedot),
+ SPECIES_PAL(NUZLEAF, gMonPalette_Nuzleaf),
+ SPECIES_PAL(SHIFTRY, gMonPalette_Shiftry),
+ SPECIES_PAL(NINCADA, gMonPalette_Nincada),
+ SPECIES_PAL(NINJASK, gMonPalette_Ninjask),
+ SPECIES_PAL(SHEDINJA, gMonPalette_Shedinja),
+ SPECIES_PAL(TAILLOW, gMonPalette_Taillow),
+ SPECIES_PAL(SWELLOW, gMonPalette_Swellow),
+ SPECIES_PAL(SHROOMISH, gMonPalette_Shroomish),
+ SPECIES_PAL(BRELOOM, gMonPalette_Breloom),
+ SPECIES_PAL(SPINDA, gMonPalette_Spinda),
+ SPECIES_PAL(WINGULL, gMonPalette_Wingull),
+ SPECIES_PAL(PELIPPER, gMonPalette_Pelipper),
+ SPECIES_PAL(SURSKIT, gMonPalette_Surskit),
+ SPECIES_PAL(MASQUERAIN, gMonPalette_Masquerain),
+ SPECIES_PAL(WAILMER, gMonPalette_Wailmer),
+ SPECIES_PAL(WAILORD, gMonPalette_Wailord),
+ SPECIES_PAL(SKITTY, gMonPalette_Skitty),
+ SPECIES_PAL(DELCATTY, gMonPalette_Delcatty),
+ SPECIES_PAL(KECLEON, gMonPalette_Kecleon),
+ SPECIES_PAL(BALTOY, gMonPalette_Baltoy),
+ SPECIES_PAL(CLAYDOL, gMonPalette_Claydol),
+ SPECIES_PAL(NOSEPASS, gMonPalette_Nosepass),
+ SPECIES_PAL(TORKOAL, gMonPalette_Torkoal),
+ SPECIES_PAL(SABLEYE, gMonPalette_Sableye),
+ SPECIES_PAL(BARBOACH, gMonPalette_Barboach),
+ SPECIES_PAL(WHISCASH, gMonPalette_Whiscash),
+ SPECIES_PAL(LUVDISC, gMonPalette_Luvdisc),
+ SPECIES_PAL(CORPHISH, gMonPalette_Corphish),
+ SPECIES_PAL(CRAWDAUNT, gMonPalette_Crawdaunt),
+ SPECIES_PAL(FEEBAS, gMonPalette_Feebas),
+ SPECIES_PAL(MILOTIC, gMonPalette_Milotic),
+ SPECIES_PAL(CARVANHA, gMonPalette_Carvanha),
+ SPECIES_PAL(SHARPEDO, gMonPalette_Sharpedo),
+ SPECIES_PAL(TRAPINCH, gMonPalette_Trapinch),
+ SPECIES_PAL(VIBRAVA, gMonPalette_Vibrava),
+ SPECIES_PAL(FLYGON, gMonPalette_Flygon),
+ SPECIES_PAL(MAKUHITA, gMonPalette_Makuhita),
+ SPECIES_PAL(HARIYAMA, gMonPalette_Hariyama),
+ SPECIES_PAL(ELECTRIKE, gMonPalette_Electrike),
+ SPECIES_PAL(MANECTRIC, gMonPalette_Manectric),
+ SPECIES_PAL(NUMEL, gMonPalette_Numel),
+ SPECIES_PAL(CAMERUPT, gMonPalette_Camerupt),
+ SPECIES_PAL(SPHEAL, gMonPalette_Spheal),
+ SPECIES_PAL(SEALEO, gMonPalette_Sealeo),
+ SPECIES_PAL(WALREIN, gMonPalette_Walrein),
+ SPECIES_PAL(CACNEA, gMonPalette_Cacnea),
+ SPECIES_PAL(CACTURNE, gMonPalette_Cacturne),
+ SPECIES_PAL(SNORUNT, gMonPalette_Snorunt),
+ SPECIES_PAL(GLALIE, gMonPalette_Glalie),
+ SPECIES_PAL(LUNATONE, gMonPalette_Lunatone),
+ SPECIES_PAL(SOLROCK, gMonPalette_Solrock),
+ SPECIES_PAL(AZURILL, gMonPalette_Azurill),
+ SPECIES_PAL(SPOINK, gMonPalette_Spoink),
+ SPECIES_PAL(GRUMPIG, gMonPalette_Grumpig),
+ SPECIES_PAL(PLUSLE, gMonPalette_Plusle),
+ SPECIES_PAL(MINUN, gMonPalette_Minun),
+ SPECIES_PAL(MAWILE, gMonPalette_Mawile),
+ SPECIES_PAL(MEDITITE, gMonPalette_Meditite),
+ SPECIES_PAL(MEDICHAM, gMonPalette_Medicham),
+ SPECIES_PAL(SWABLU, gMonPalette_Swablu),
+ SPECIES_PAL(ALTARIA, gMonPalette_Altaria),
+ SPECIES_PAL(WYNAUT, gMonPalette_Wynaut),
+ SPECIES_PAL(DUSKULL, gMonPalette_Duskull),
+ SPECIES_PAL(DUSCLOPS, gMonPalette_Dusclops),
+ SPECIES_PAL(ROSELIA, gMonPalette_Roselia),
+ SPECIES_PAL(SLAKOTH, gMonPalette_Slakoth),
+ SPECIES_PAL(VIGOROTH, gMonPalette_Vigoroth),
+ SPECIES_PAL(SLAKING, gMonPalette_Slaking),
+ SPECIES_PAL(GULPIN, gMonPalette_Gulpin),
+ SPECIES_PAL(SWALOT, gMonPalette_Swalot),
+ SPECIES_PAL(TROPIUS, gMonPalette_Tropius),
+ SPECIES_PAL(WHISMUR, gMonPalette_Whismur),
+ SPECIES_PAL(LOUDRED, gMonPalette_Loudred),
+ SPECIES_PAL(EXPLOUD, gMonPalette_Exploud),
+ SPECIES_PAL(CLAMPERL, gMonPalette_Clamperl),
+ SPECIES_PAL(HUNTAIL, gMonPalette_Huntail),
+ SPECIES_PAL(GOREBYSS, gMonPalette_Gorebyss),
+ SPECIES_PAL(ABSOL, gMonPalette_Absol),
+ SPECIES_PAL(SHUPPET, gMonPalette_Shuppet),
+ SPECIES_PAL(BANETTE, gMonPalette_Banette),
+ SPECIES_PAL(SEVIPER, gMonPalette_Seviper),
+ SPECIES_PAL(ZANGOOSE, gMonPalette_Zangoose),
+ SPECIES_PAL(RELICANTH, gMonPalette_Relicanth),
+ SPECIES_PAL(ARON, gMonPalette_Aron),
+ SPECIES_PAL(LAIRON, gMonPalette_Lairon),
+ SPECIES_PAL(AGGRON, gMonPalette_Aggron),
+ SPECIES_PAL(CASTFORM, gMonPalette_Castform),
+ SPECIES_PAL(VOLBEAT, gMonPalette_Volbeat),
+ SPECIES_PAL(ILLUMISE, gMonPalette_Illumise),
+ SPECIES_PAL(LILEEP, gMonPalette_Lileep),
+ SPECIES_PAL(CRADILY, gMonPalette_Cradily),
+ SPECIES_PAL(ANORITH, gMonPalette_Anorith),
+ SPECIES_PAL(ARMALDO, gMonPalette_Armaldo),
+ SPECIES_PAL(RALTS, gMonPalette_Ralts),
+ SPECIES_PAL(KIRLIA, gMonPalette_Kirlia),
+ SPECIES_PAL(GARDEVOIR, gMonPalette_Gardevoir),
+ SPECIES_PAL(BAGON, gMonPalette_Bagon),
+ SPECIES_PAL(SHELGON, gMonPalette_Shelgon),
+ SPECIES_PAL(SALAMENCE, gMonPalette_Salamence),
+ SPECIES_PAL(BELDUM, gMonPalette_Beldum),
+ SPECIES_PAL(METANG, gMonPalette_Metang),
+ SPECIES_PAL(METAGROSS, gMonPalette_Metagross),
+ SPECIES_PAL(REGIROCK, gMonPalette_Regirock),
+ SPECIES_PAL(REGICE, gMonPalette_Regice),
+ SPECIES_PAL(REGISTEEL, gMonPalette_Registeel),
+ SPECIES_PAL(KYOGRE, gMonPalette_Kyogre),
+ SPECIES_PAL(GROUDON, gMonPalette_Groudon),
+ SPECIES_PAL(RAYQUAZA, gMonPalette_Rayquaza),
+ SPECIES_PAL(LATIAS, gMonPalette_Latias),
+ SPECIES_PAL(LATIOS, gMonPalette_Latios),
+ SPECIES_PAL(JIRACHI, gMonPalette_Jirachi),
+ SPECIES_PAL(DEOXYS, gMonPalette_Deoxys),
+ SPECIES_PAL(CHIMECHO, gMonPalette_Chimecho),
+ SPECIES_PAL(EGG, gMonPalette_Egg),
+ SPECIES_PAL(UNOWN_B, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_C, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_D, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_E, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_F, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_G, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_H, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_I, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_J, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_K, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_L, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_M, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_N, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_O, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_P, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_Q, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_R, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_S, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_T, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_U, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_V, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_W, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_X, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_Y, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_Z, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_EMARK, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_QMARK, gMonPalette_Unown),
};
diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h
index 0c3f990cf..8b1cfcaac 100644
--- a/src/data/pokemon_graphics/shiny_palette_table.h
+++ b/src/data/pokemon_graphics/shiny_palette_table.h
@@ -1,443 +1,443 @@
const struct CompressedSpritePalette gMonShinyPaletteTable[] =
{
- [SPECIES_NONE] = {gMonShinyPalette_CircledQuestionMark, SPECIES_NONE + 500},
- [SPECIES_BULBASAUR] = {gMonShinyPalette_Bulbasaur, SPECIES_BULBASAUR + 500},
- [SPECIES_IVYSAUR] = {gMonShinyPalette_Ivysaur, SPECIES_IVYSAUR + 500},
- [SPECIES_VENUSAUR] = {gMonShinyPalette_Venusaur, SPECIES_VENUSAUR + 500},
- [SPECIES_CHARMANDER] = {gMonShinyPalette_Charmander, SPECIES_CHARMANDER + 500},
- [SPECIES_CHARMELEON] = {gMonShinyPalette_Charmeleon, SPECIES_CHARMELEON + 500},
- [SPECIES_CHARIZARD] = {gMonShinyPalette_Charizard, SPECIES_CHARIZARD + 500},
- [SPECIES_SQUIRTLE] = {gMonShinyPalette_Squirtle, SPECIES_SQUIRTLE + 500},
- [SPECIES_WARTORTLE] = {gMonShinyPalette_Wartortle, SPECIES_WARTORTLE + 500},
- [SPECIES_BLASTOISE] = {gMonShinyPalette_Blastoise, SPECIES_BLASTOISE + 500},
- [SPECIES_CATERPIE] = {gMonShinyPalette_Caterpie, SPECIES_CATERPIE + 500},
- [SPECIES_METAPOD] = {gMonShinyPalette_Metapod, SPECIES_METAPOD + 500},
- [SPECIES_BUTTERFREE] = {gMonShinyPalette_Butterfree, SPECIES_BUTTERFREE + 500},
- [SPECIES_WEEDLE] = {gMonShinyPalette_Weedle, SPECIES_WEEDLE + 500},
- [SPECIES_KAKUNA] = {gMonShinyPalette_Kakuna, SPECIES_KAKUNA + 500},
- [SPECIES_BEEDRILL] = {gMonShinyPalette_Beedrill, SPECIES_BEEDRILL + 500},
- [SPECIES_PIDGEY] = {gMonShinyPalette_Pidgey, SPECIES_PIDGEY + 500},
- [SPECIES_PIDGEOTTO] = {gMonShinyPalette_Pidgeotto, SPECIES_PIDGEOTTO + 500},
- [SPECIES_PIDGEOT] = {gMonShinyPalette_Pidgeot, SPECIES_PIDGEOT + 500},
- [SPECIES_RATTATA] = {gMonShinyPalette_Rattata, SPECIES_RATTATA + 500},
- [SPECIES_RATICATE] = {gMonShinyPalette_Raticate, SPECIES_RATICATE + 500},
- [SPECIES_SPEAROW] = {gMonShinyPalette_Spearow, SPECIES_SPEAROW + 500},
- [SPECIES_FEAROW] = {gMonShinyPalette_Fearow, SPECIES_FEAROW + 500},
- [SPECIES_EKANS] = {gMonShinyPalette_Ekans, SPECIES_EKANS + 500},
- [SPECIES_ARBOK] = {gMonShinyPalette_Arbok, SPECIES_ARBOK + 500},
- [SPECIES_PIKACHU] = {gMonShinyPalette_Pikachu, SPECIES_PIKACHU + 500},
- [SPECIES_RAICHU] = {gMonShinyPalette_Raichu, SPECIES_RAICHU + 500},
- [SPECIES_SANDSHREW] = {gMonShinyPalette_Sandshrew, SPECIES_SANDSHREW + 500},
- [SPECIES_SANDSLASH] = {gMonShinyPalette_Sandslash, SPECIES_SANDSLASH + 500},
- [SPECIES_NIDORAN_F] = {gMonShinyPalette_NidoranF, SPECIES_NIDORAN_F + 500},
- [SPECIES_NIDORINA] = {gMonShinyPalette_Nidorina, SPECIES_NIDORINA + 500},
- [SPECIES_NIDOQUEEN] = {gMonShinyPalette_Nidoqueen, SPECIES_NIDOQUEEN + 500},
- [SPECIES_NIDORAN_M] = {gMonShinyPalette_NidoranM, SPECIES_NIDORAN_M + 500},
- [SPECIES_NIDORINO] = {gMonShinyPalette_Nidorino, SPECIES_NIDORINO + 500},
- [SPECIES_NIDOKING] = {gMonShinyPalette_Nidoking, SPECIES_NIDOKING + 500},
- [SPECIES_CLEFAIRY] = {gMonShinyPalette_Clefairy, SPECIES_CLEFAIRY + 500},
- [SPECIES_CLEFABLE] = {gMonShinyPalette_Clefable, SPECIES_CLEFABLE + 500},
- [SPECIES_VULPIX] = {gMonShinyPalette_Vulpix, SPECIES_VULPIX + 500},
- [SPECIES_NINETALES] = {gMonShinyPalette_Ninetales, SPECIES_NINETALES + 500},
- [SPECIES_JIGGLYPUFF] = {gMonShinyPalette_Jigglypuff, SPECIES_JIGGLYPUFF + 500},
- [SPECIES_WIGGLYTUFF] = {gMonShinyPalette_Wigglytuff, SPECIES_WIGGLYTUFF + 500},
- [SPECIES_ZUBAT] = {gMonShinyPalette_Zubat, SPECIES_ZUBAT + 500},
- [SPECIES_GOLBAT] = {gMonShinyPalette_Golbat, SPECIES_GOLBAT + 500},
- [SPECIES_ODDISH] = {gMonShinyPalette_Oddish, SPECIES_ODDISH + 500},
- [SPECIES_GLOOM] = {gMonShinyPalette_Gloom, SPECIES_GLOOM + 500},
- [SPECIES_VILEPLUME] = {gMonShinyPalette_Vileplume, SPECIES_VILEPLUME + 500},
- [SPECIES_PARAS] = {gMonShinyPalette_Paras, SPECIES_PARAS + 500},
- [SPECIES_PARASECT] = {gMonShinyPalette_Parasect, SPECIES_PARASECT + 500},
- [SPECIES_VENONAT] = {gMonShinyPalette_Venonat, SPECIES_VENONAT + 500},
- [SPECIES_VENOMOTH] = {gMonShinyPalette_Venomoth, SPECIES_VENOMOTH + 500},
- [SPECIES_DIGLETT] = {gMonShinyPalette_Diglett, SPECIES_DIGLETT + 500},
- [SPECIES_DUGTRIO] = {gMonShinyPalette_Dugtrio, SPECIES_DUGTRIO + 500},
- [SPECIES_MEOWTH] = {gMonShinyPalette_Meowth, SPECIES_MEOWTH + 500},
- [SPECIES_PERSIAN] = {gMonShinyPalette_Persian, SPECIES_PERSIAN + 500},
- [SPECIES_PSYDUCK] = {gMonShinyPalette_Psyduck, SPECIES_PSYDUCK + 500},
- [SPECIES_GOLDUCK] = {gMonShinyPalette_Golduck, SPECIES_GOLDUCK + 500},
- [SPECIES_MANKEY] = {gMonShinyPalette_Mankey, SPECIES_MANKEY + 500},
- [SPECIES_PRIMEAPE] = {gMonShinyPalette_Primeape, SPECIES_PRIMEAPE + 500},
- [SPECIES_GROWLITHE] = {gMonShinyPalette_Growlithe, SPECIES_GROWLITHE + 500},
- [SPECIES_ARCANINE] = {gMonShinyPalette_Arcanine, SPECIES_ARCANINE + 500},
- [SPECIES_POLIWAG] = {gMonShinyPalette_Poliwag, SPECIES_POLIWAG + 500},
- [SPECIES_POLIWHIRL] = {gMonShinyPalette_Poliwhirl, SPECIES_POLIWHIRL + 500},
- [SPECIES_POLIWRATH] = {gMonShinyPalette_Poliwrath, SPECIES_POLIWRATH + 500},
- [SPECIES_ABRA] = {gMonShinyPalette_Abra, SPECIES_ABRA + 500},
- [SPECIES_KADABRA] = {gMonShinyPalette_Kadabra, SPECIES_KADABRA + 500},
- [SPECIES_ALAKAZAM] = {gMonShinyPalette_Alakazam, SPECIES_ALAKAZAM + 500},
- [SPECIES_MACHOP] = {gMonShinyPalette_Machop, SPECIES_MACHOP + 500},
- [SPECIES_MACHOKE] = {gMonShinyPalette_Machoke, SPECIES_MACHOKE + 500},
- [SPECIES_MACHAMP] = {gMonShinyPalette_Machamp, SPECIES_MACHAMP + 500},
- [SPECIES_BELLSPROUT] = {gMonShinyPalette_Bellsprout, SPECIES_BELLSPROUT + 500},
- [SPECIES_WEEPINBELL] = {gMonShinyPalette_Weepinbell, SPECIES_WEEPINBELL + 500},
- [SPECIES_VICTREEBEL] = {gMonShinyPalette_Victreebel, SPECIES_VICTREEBEL + 500},
- [SPECIES_TENTACOOL] = {gMonShinyPalette_Tentacool, SPECIES_TENTACOOL + 500},
- [SPECIES_TENTACRUEL] = {gMonShinyPalette_Tentacruel, SPECIES_TENTACRUEL + 500},
- [SPECIES_GEODUDE] = {gMonShinyPalette_Geodude, SPECIES_GEODUDE + 500},
- [SPECIES_GRAVELER] = {gMonShinyPalette_Graveler, SPECIES_GRAVELER + 500},
- [SPECIES_GOLEM] = {gMonShinyPalette_Golem, SPECIES_GOLEM + 500},
- [SPECIES_PONYTA] = {gMonShinyPalette_Ponyta, SPECIES_PONYTA + 500},
- [SPECIES_RAPIDASH] = {gMonShinyPalette_Rapidash, SPECIES_RAPIDASH + 500},
- [SPECIES_SLOWPOKE] = {gMonShinyPalette_Slowpoke, SPECIES_SLOWPOKE + 500},
- [SPECIES_SLOWBRO] = {gMonShinyPalette_Slowbro, SPECIES_SLOWBRO + 500},
- [SPECIES_MAGNEMITE] = {gMonShinyPalette_Magnemite, SPECIES_MAGNEMITE + 500},
- [SPECIES_MAGNETON] = {gMonShinyPalette_Magneton, SPECIES_MAGNETON + 500},
- [SPECIES_FARFETCHD] = {gMonShinyPalette_Farfetchd, SPECIES_FARFETCHD + 500},
- [SPECIES_DODUO] = {gMonShinyPalette_Doduo, SPECIES_DODUO + 500},
- [SPECIES_DODRIO] = {gMonShinyPalette_Dodrio, SPECIES_DODRIO + 500},
- [SPECIES_SEEL] = {gMonShinyPalette_Seel, SPECIES_SEEL + 500},
- [SPECIES_DEWGONG] = {gMonShinyPalette_Dewgong, SPECIES_DEWGONG + 500},
- [SPECIES_GRIMER] = {gMonShinyPalette_Grimer, SPECIES_GRIMER + 500},
- [SPECIES_MUK] = {gMonShinyPalette_Muk, SPECIES_MUK + 500},
- [SPECIES_SHELLDER] = {gMonShinyPalette_Shellder, SPECIES_SHELLDER + 500},
- [SPECIES_CLOYSTER] = {gMonShinyPalette_Cloyster, SPECIES_CLOYSTER + 500},
- [SPECIES_GASTLY] = {gMonShinyPalette_Gastly, SPECIES_GASTLY + 500},
- [SPECIES_HAUNTER] = {gMonShinyPalette_Haunter, SPECIES_HAUNTER + 500},
- [SPECIES_GENGAR] = {gMonShinyPalette_Gengar, SPECIES_GENGAR + 500},
- [SPECIES_ONIX] = {gMonShinyPalette_Onix, SPECIES_ONIX + 500},
- [SPECIES_DROWZEE] = {gMonShinyPalette_Drowzee, SPECIES_DROWZEE + 500},
- [SPECIES_HYPNO] = {gMonShinyPalette_Hypno, SPECIES_HYPNO + 500},
- [SPECIES_KRABBY] = {gMonShinyPalette_Krabby, SPECIES_KRABBY + 500},
- [SPECIES_KINGLER] = {gMonShinyPalette_Kingler, SPECIES_KINGLER + 500},
- [SPECIES_VOLTORB] = {gMonShinyPalette_Voltorb, SPECIES_VOLTORB + 500},
- [SPECIES_ELECTRODE] = {gMonShinyPalette_Electrode, SPECIES_ELECTRODE + 500},
- [SPECIES_EXEGGCUTE] = {gMonShinyPalette_Exeggcute, SPECIES_EXEGGCUTE + 500},
- [SPECIES_EXEGGUTOR] = {gMonShinyPalette_Exeggutor, SPECIES_EXEGGUTOR + 500},
- [SPECIES_CUBONE] = {gMonShinyPalette_Cubone, SPECIES_CUBONE + 500},
- [SPECIES_MAROWAK] = {gMonShinyPalette_Marowak, SPECIES_MAROWAK + 500},
- [SPECIES_HITMONLEE] = {gMonShinyPalette_Hitmonlee, SPECIES_HITMONLEE + 500},
- [SPECIES_HITMONCHAN] = {gMonShinyPalette_Hitmonchan, SPECIES_HITMONCHAN + 500},
- [SPECIES_LICKITUNG] = {gMonShinyPalette_Lickitung, SPECIES_LICKITUNG + 500},
- [SPECIES_KOFFING] = {gMonShinyPalette_Koffing, SPECIES_KOFFING + 500},
- [SPECIES_WEEZING] = {gMonShinyPalette_Weezing, SPECIES_WEEZING + 500},
- [SPECIES_RHYHORN] = {gMonShinyPalette_Rhyhorn, SPECIES_RHYHORN + 500},
- [SPECIES_RHYDON] = {gMonShinyPalette_Rhydon, SPECIES_RHYDON + 500},
- [SPECIES_CHANSEY] = {gMonShinyPalette_Chansey, SPECIES_CHANSEY + 500},
- [SPECIES_TANGELA] = {gMonShinyPalette_Tangela, SPECIES_TANGELA + 500},
- [SPECIES_KANGASKHAN] = {gMonShinyPalette_Kangaskhan, SPECIES_KANGASKHAN + 500},
- [SPECIES_HORSEA] = {gMonShinyPalette_Horsea, SPECIES_HORSEA + 500},
- [SPECIES_SEADRA] = {gMonShinyPalette_Seadra, SPECIES_SEADRA + 500},
- [SPECIES_GOLDEEN] = {gMonShinyPalette_Goldeen, SPECIES_GOLDEEN + 500},
- [SPECIES_SEAKING] = {gMonShinyPalette_Seaking, SPECIES_SEAKING + 500},
- [SPECIES_STARYU] = {gMonShinyPalette_Staryu, SPECIES_STARYU + 500},
- [SPECIES_STARMIE] = {gMonShinyPalette_Starmie, SPECIES_STARMIE + 500},
- [SPECIES_MR_MIME] = {gMonShinyPalette_Mrmime, SPECIES_MR_MIME + 500},
- [SPECIES_SCYTHER] = {gMonShinyPalette_Scyther, SPECIES_SCYTHER + 500},
- [SPECIES_JYNX] = {gMonShinyPalette_Jynx, SPECIES_JYNX + 500},
- [SPECIES_ELECTABUZZ] = {gMonShinyPalette_Electabuzz, SPECIES_ELECTABUZZ + 500},
- [SPECIES_MAGMAR] = {gMonShinyPalette_Magmar, SPECIES_MAGMAR + 500},
- [SPECIES_PINSIR] = {gMonShinyPalette_Pinsir, SPECIES_PINSIR + 500},
- [SPECIES_TAUROS] = {gMonShinyPalette_Tauros, SPECIES_TAUROS + 500},
- [SPECIES_MAGIKARP] = {gMonShinyPalette_Magikarp, SPECIES_MAGIKARP + 500},
- [SPECIES_GYARADOS] = {gMonShinyPalette_Gyarados, SPECIES_GYARADOS + 500},
- [SPECIES_LAPRAS] = {gMonShinyPalette_Lapras, SPECIES_LAPRAS + 500},
- [SPECIES_DITTO] = {gMonShinyPalette_Ditto, SPECIES_DITTO + 500},
- [SPECIES_EEVEE] = {gMonShinyPalette_Eevee, SPECIES_EEVEE + 500},
- [SPECIES_VAPOREON] = {gMonShinyPalette_Vaporeon, SPECIES_VAPOREON + 500},
- [SPECIES_JOLTEON] = {gMonShinyPalette_Jolteon, SPECIES_JOLTEON + 500},
- [SPECIES_FLAREON] = {gMonShinyPalette_Flareon, SPECIES_FLAREON + 500},
- [SPECIES_PORYGON] = {gMonShinyPalette_Porygon, SPECIES_PORYGON + 500},
- [SPECIES_OMANYTE] = {gMonShinyPalette_Omanyte, SPECIES_OMANYTE + 500},
- [SPECIES_OMASTAR] = {gMonShinyPalette_Omastar, SPECIES_OMASTAR + 500},
- [SPECIES_KABUTO] = {gMonShinyPalette_Kabuto, SPECIES_KABUTO + 500},
- [SPECIES_KABUTOPS] = {gMonShinyPalette_Kabutops, SPECIES_KABUTOPS + 500},
- [SPECIES_AERODACTYL] = {gMonShinyPalette_Aerodactyl, SPECIES_AERODACTYL + 500},
- [SPECIES_SNORLAX] = {gMonShinyPalette_Snorlax, SPECIES_SNORLAX + 500},
- [SPECIES_ARTICUNO] = {gMonShinyPalette_Articuno, SPECIES_ARTICUNO + 500},
- [SPECIES_ZAPDOS] = {gMonShinyPalette_Zapdos, SPECIES_ZAPDOS + 500},
- [SPECIES_MOLTRES] = {gMonShinyPalette_Moltres, SPECIES_MOLTRES + 500},
- [SPECIES_DRATINI] = {gMonShinyPalette_Dratini, SPECIES_DRATINI + 500},
- [SPECIES_DRAGONAIR] = {gMonShinyPalette_Dragonair, SPECIES_DRAGONAIR + 500},
- [SPECIES_DRAGONITE] = {gMonShinyPalette_Dragonite, SPECIES_DRAGONITE + 500},
- [SPECIES_MEWTWO] = {gMonShinyPalette_Mewtwo, SPECIES_MEWTWO + 500},
- [SPECIES_MEW] = {gMonShinyPalette_Mew, SPECIES_MEW + 500},
- [SPECIES_CHIKORITA] = {gMonShinyPalette_Chikorita, SPECIES_CHIKORITA + 500},
- [SPECIES_BAYLEEF] = {gMonShinyPalette_Bayleef, SPECIES_BAYLEEF + 500},
- [SPECIES_MEGANIUM] = {gMonShinyPalette_Meganium, SPECIES_MEGANIUM + 500},
- [SPECIES_CYNDAQUIL] = {gMonShinyPalette_Cyndaquil, SPECIES_CYNDAQUIL + 500},
- [SPECIES_QUILAVA] = {gMonShinyPalette_Quilava, SPECIES_QUILAVA + 500},
- [SPECIES_TYPHLOSION] = {gMonShinyPalette_Typhlosion, SPECIES_TYPHLOSION + 500},
- [SPECIES_TOTODILE] = {gMonShinyPalette_Totodile, SPECIES_TOTODILE + 500},
- [SPECIES_CROCONAW] = {gMonShinyPalette_Croconaw, SPECIES_CROCONAW + 500},
- [SPECIES_FERALIGATR] = {gMonShinyPalette_Feraligatr, SPECIES_FERALIGATR + 500},
- [SPECIES_SENTRET] = {gMonShinyPalette_Sentret, SPECIES_SENTRET + 500},
- [SPECIES_FURRET] = {gMonShinyPalette_Furret, SPECIES_FURRET + 500},
- [SPECIES_HOOTHOOT] = {gMonShinyPalette_Hoothoot, SPECIES_HOOTHOOT + 500},
- [SPECIES_NOCTOWL] = {gMonShinyPalette_Noctowl, SPECIES_NOCTOWL + 500},
- [SPECIES_LEDYBA] = {gMonShinyPalette_Ledyba, SPECIES_LEDYBA + 500},
- [SPECIES_LEDIAN] = {gMonShinyPalette_Ledian, SPECIES_LEDIAN + 500},
- [SPECIES_SPINARAK] = {gMonShinyPalette_Spinarak, SPECIES_SPINARAK + 500},
- [SPECIES_ARIADOS] = {gMonShinyPalette_Ariados, SPECIES_ARIADOS + 500},
- [SPECIES_CROBAT] = {gMonShinyPalette_Crobat, SPECIES_CROBAT + 500},
- [SPECIES_CHINCHOU] = {gMonShinyPalette_Chinchou, SPECIES_CHINCHOU + 500},
- [SPECIES_LANTURN] = {gMonShinyPalette_Lanturn, SPECIES_LANTURN + 500},
- [SPECIES_PICHU] = {gMonShinyPalette_Pichu, SPECIES_PICHU + 500},
- [SPECIES_CLEFFA] = {gMonShinyPalette_Cleffa, SPECIES_CLEFFA + 500},
- [SPECIES_IGGLYBUFF] = {gMonShinyPalette_Igglybuff, SPECIES_IGGLYBUFF + 500},
- [SPECIES_TOGEPI] = {gMonShinyPalette_Togepi, SPECIES_TOGEPI + 500},
- [SPECIES_TOGETIC] = {gMonShinyPalette_Togetic, SPECIES_TOGETIC + 500},
- [SPECIES_NATU] = {gMonShinyPalette_Natu, SPECIES_NATU + 500},
- [SPECIES_XATU] = {gMonShinyPalette_Xatu, SPECIES_XATU + 500},
- [SPECIES_MAREEP] = {gMonShinyPalette_Mareep, SPECIES_MAREEP + 500},
- [SPECIES_FLAAFFY] = {gMonShinyPalette_Flaaffy, SPECIES_FLAAFFY + 500},
- [SPECIES_AMPHAROS] = {gMonShinyPalette_Ampharos, SPECIES_AMPHAROS + 500},
- [SPECIES_BELLOSSOM] = {gMonShinyPalette_Bellossom, SPECIES_BELLOSSOM + 500},
- [SPECIES_MARILL] = {gMonShinyPalette_Marill, SPECIES_MARILL + 500},
- [SPECIES_AZUMARILL] = {gMonShinyPalette_Azumarill, SPECIES_AZUMARILL + 500},
- [SPECIES_SUDOWOODO] = {gMonShinyPalette_Sudowoodo, SPECIES_SUDOWOODO + 500},
- [SPECIES_POLITOED] = {gMonShinyPalette_Politoed, SPECIES_POLITOED + 500},
- [SPECIES_HOPPIP] = {gMonShinyPalette_Hoppip, SPECIES_HOPPIP + 500},
- [SPECIES_SKIPLOOM] = {gMonShinyPalette_Skiploom, SPECIES_SKIPLOOM + 500},
- [SPECIES_JUMPLUFF] = {gMonShinyPalette_Jumpluff, SPECIES_JUMPLUFF + 500},
- [SPECIES_AIPOM] = {gMonShinyPalette_Aipom, SPECIES_AIPOM + 500},
- [SPECIES_SUNKERN] = {gMonShinyPalette_Sunkern, SPECIES_SUNKERN + 500},
- [SPECIES_SUNFLORA] = {gMonShinyPalette_Sunflora, SPECIES_SUNFLORA + 500},
- [SPECIES_YANMA] = {gMonShinyPalette_Yanma, SPECIES_YANMA + 500},
- [SPECIES_WOOPER] = {gMonShinyPalette_Wooper, SPECIES_WOOPER + 500},
- [SPECIES_QUAGSIRE] = {gMonShinyPalette_Quagsire, SPECIES_QUAGSIRE + 500},
- [SPECIES_ESPEON] = {gMonShinyPalette_Espeon, SPECIES_ESPEON + 500},
- [SPECIES_UMBREON] = {gMonShinyPalette_Umbreon, SPECIES_UMBREON + 500},
- [SPECIES_MURKROW] = {gMonShinyPalette_Murkrow, SPECIES_MURKROW + 500},
- [SPECIES_SLOWKING] = {gMonShinyPalette_Slowking, SPECIES_SLOWKING + 500},
- [SPECIES_MISDREAVUS] = {gMonShinyPalette_Misdreavus, SPECIES_MISDREAVUS + 500},
- [SPECIES_UNOWN] = {gMonShinyPalette_Unown, SPECIES_UNOWN + 500},
- [SPECIES_WOBBUFFET] = {gMonShinyPalette_Wobbuffet, SPECIES_WOBBUFFET + 500},
- [SPECIES_GIRAFARIG] = {gMonShinyPalette_Girafarig, SPECIES_GIRAFARIG + 500},
- [SPECIES_PINECO] = {gMonShinyPalette_Pineco, SPECIES_PINECO + 500},
- [SPECIES_FORRETRESS] = {gMonShinyPalette_Forretress, SPECIES_FORRETRESS + 500},
- [SPECIES_DUNSPARCE] = {gMonShinyPalette_Dunsparce, SPECIES_DUNSPARCE + 500},
- [SPECIES_GLIGAR] = {gMonShinyPalette_Gligar, SPECIES_GLIGAR + 500},
- [SPECIES_STEELIX] = {gMonShinyPalette_Steelix, SPECIES_STEELIX + 500},
- [SPECIES_SNUBBULL] = {gMonShinyPalette_Snubbull, SPECIES_SNUBBULL + 500},
- [SPECIES_GRANBULL] = {gMonShinyPalette_Granbull, SPECIES_GRANBULL + 500},
- [SPECIES_QWILFISH] = {gMonShinyPalette_Qwilfish, SPECIES_QWILFISH + 500},
- [SPECIES_SCIZOR] = {gMonShinyPalette_Scizor, SPECIES_SCIZOR + 500},
- [SPECIES_SHUCKLE] = {gMonShinyPalette_Shuckle, SPECIES_SHUCKLE + 500},
- [SPECIES_HERACROSS] = {gMonShinyPalette_Heracross, SPECIES_HERACROSS + 500},
- [SPECIES_SNEASEL] = {gMonShinyPalette_Sneasel, SPECIES_SNEASEL + 500},
- [SPECIES_TEDDIURSA] = {gMonShinyPalette_Teddiursa, SPECIES_TEDDIURSA + 500},
- [SPECIES_URSARING] = {gMonShinyPalette_Ursaring, SPECIES_URSARING + 500},
- [SPECIES_SLUGMA] = {gMonShinyPalette_Slugma, SPECIES_SLUGMA + 500},
- [SPECIES_MAGCARGO] = {gMonShinyPalette_Magcargo, SPECIES_MAGCARGO + 500},
- [SPECIES_SWINUB] = {gMonShinyPalette_Swinub, SPECIES_SWINUB + 500},
- [SPECIES_PILOSWINE] = {gMonShinyPalette_Piloswine, SPECIES_PILOSWINE + 500},
- [SPECIES_CORSOLA] = {gMonShinyPalette_Corsola, SPECIES_CORSOLA + 500},
- [SPECIES_REMORAID] = {gMonShinyPalette_Remoraid, SPECIES_REMORAID + 500},
- [SPECIES_OCTILLERY] = {gMonShinyPalette_Octillery, SPECIES_OCTILLERY + 500},
- [SPECIES_DELIBIRD] = {gMonShinyPalette_Delibird, SPECIES_DELIBIRD + 500},
- [SPECIES_MANTINE] = {gMonShinyPalette_Mantine, SPECIES_MANTINE + 500},
- [SPECIES_SKARMORY] = {gMonShinyPalette_Skarmory, SPECIES_SKARMORY + 500},
- [SPECIES_HOUNDOUR] = {gMonShinyPalette_Houndour, SPECIES_HOUNDOUR + 500},
- [SPECIES_HOUNDOOM] = {gMonShinyPalette_Houndoom, SPECIES_HOUNDOOM + 500},
- [SPECIES_KINGDRA] = {gMonShinyPalette_Kingdra, SPECIES_KINGDRA + 500},
- [SPECIES_PHANPY] = {gMonShinyPalette_Phanpy, SPECIES_PHANPY + 500},
- [SPECIES_DONPHAN] = {gMonShinyPalette_Donphan, SPECIES_DONPHAN + 500},
- [SPECIES_PORYGON2] = {gMonShinyPalette_Porygon2, SPECIES_PORYGON2 + 500},
- [SPECIES_STANTLER] = {gMonShinyPalette_Stantler, SPECIES_STANTLER + 500},
- [SPECIES_SMEARGLE] = {gMonShinyPalette_Smeargle, SPECIES_SMEARGLE + 500},
- [SPECIES_TYROGUE] = {gMonShinyPalette_Tyrogue, SPECIES_TYROGUE + 500},
- [SPECIES_HITMONTOP] = {gMonShinyPalette_Hitmontop, SPECIES_HITMONTOP + 500},
- [SPECIES_SMOOCHUM] = {gMonShinyPalette_Smoochum, SPECIES_SMOOCHUM + 500},
- [SPECIES_ELEKID] = {gMonShinyPalette_Elekid, SPECIES_ELEKID + 500},
- [SPECIES_MAGBY] = {gMonShinyPalette_Magby, SPECIES_MAGBY + 500},
- [SPECIES_MILTANK] = {gMonShinyPalette_Miltank, SPECIES_MILTANK + 500},
- [SPECIES_BLISSEY] = {gMonShinyPalette_Blissey, SPECIES_BLISSEY + 500},
- [SPECIES_RAIKOU] = {gMonShinyPalette_Raikou, SPECIES_RAIKOU + 500},
- [SPECIES_ENTEI] = {gMonShinyPalette_Entei, SPECIES_ENTEI + 500},
- [SPECIES_SUICUNE] = {gMonShinyPalette_Suicune, SPECIES_SUICUNE + 500},
- [SPECIES_LARVITAR] = {gMonShinyPalette_Larvitar, SPECIES_LARVITAR + 500},
- [SPECIES_PUPITAR] = {gMonShinyPalette_Pupitar, SPECIES_PUPITAR + 500},
- [SPECIES_TYRANITAR] = {gMonShinyPalette_Tyranitar, SPECIES_TYRANITAR + 500},
- [SPECIES_LUGIA] = {gMonShinyPalette_Lugia, SPECIES_LUGIA + 500},
- [SPECIES_HO_OH] = {gMonShinyPalette_HoOh, SPECIES_HO_OH + 500},
- [SPECIES_CELEBI] = {gMonShinyPalette_Celebi, SPECIES_CELEBI + 500},
- [SPECIES_OLD_UNOWN_B] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_B + 500},
- [SPECIES_OLD_UNOWN_C] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_C + 500},
- [SPECIES_OLD_UNOWN_D] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_D + 500},
- [SPECIES_OLD_UNOWN_E] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_E + 500},
- [SPECIES_OLD_UNOWN_F] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_F + 500},
- [SPECIES_OLD_UNOWN_G] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_G + 500},
- [SPECIES_OLD_UNOWN_H] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_H + 500},
- [SPECIES_OLD_UNOWN_I] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_I + 500},
- [SPECIES_OLD_UNOWN_J] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_J + 500},
- [SPECIES_OLD_UNOWN_K] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_K + 500},
- [SPECIES_OLD_UNOWN_L] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_L + 500},
- [SPECIES_OLD_UNOWN_M] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_M + 500},
- [SPECIES_OLD_UNOWN_N] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_N + 500},
- [SPECIES_OLD_UNOWN_O] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_O + 500},
- [SPECIES_OLD_UNOWN_P] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_P + 500},
- [SPECIES_OLD_UNOWN_Q] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Q + 500},
- [SPECIES_OLD_UNOWN_R] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_R + 500},
- [SPECIES_OLD_UNOWN_S] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_S + 500},
- [SPECIES_OLD_UNOWN_T] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_T + 500},
- [SPECIES_OLD_UNOWN_U] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_U + 500},
- [SPECIES_OLD_UNOWN_V] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_V + 500},
- [SPECIES_OLD_UNOWN_W] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_W + 500},
- [SPECIES_OLD_UNOWN_X] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_X + 500},
- [SPECIES_OLD_UNOWN_Y] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Y + 500},
- [SPECIES_OLD_UNOWN_Z] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Z + 500},
- [SPECIES_TREECKO] = {gMonShinyPalette_Treecko, SPECIES_TREECKO + 500},
- [SPECIES_GROVYLE] = {gMonShinyPalette_Grovyle, SPECIES_GROVYLE + 500},
- [SPECIES_SCEPTILE] = {gMonShinyPalette_Sceptile, SPECIES_SCEPTILE + 500},
- [SPECIES_TORCHIC] = {gMonShinyPalette_Torchic, SPECIES_TORCHIC + 500},
- [SPECIES_COMBUSKEN] = {gMonShinyPalette_Combusken, SPECIES_COMBUSKEN + 500},
- [SPECIES_BLAZIKEN] = {gMonShinyPalette_Blaziken, SPECIES_BLAZIKEN + 500},
- [SPECIES_MUDKIP] = {gMonShinyPalette_Mudkip, SPECIES_MUDKIP + 500},
- [SPECIES_MARSHTOMP] = {gMonShinyPalette_Marshtomp, SPECIES_MARSHTOMP + 500},
- [SPECIES_SWAMPERT] = {gMonShinyPalette_Swampert, SPECIES_SWAMPERT + 500},
- [SPECIES_POOCHYENA] = {gMonShinyPalette_Poochyena, SPECIES_POOCHYENA + 500},
- [SPECIES_MIGHTYENA] = {gMonShinyPalette_Mightyena, SPECIES_MIGHTYENA + 500},
- [SPECIES_ZIGZAGOON] = {gMonShinyPalette_Zigzagoon, SPECIES_ZIGZAGOON + 500},
- [SPECIES_LINOONE] = {gMonShinyPalette_Linoone, SPECIES_LINOONE + 500},
- [SPECIES_WURMPLE] = {gMonShinyPalette_Wurmple, SPECIES_WURMPLE + 500},
- [SPECIES_SILCOON] = {gMonShinyPalette_Silcoon, SPECIES_SILCOON + 500},
- [SPECIES_BEAUTIFLY] = {gMonShinyPalette_Beautifly, SPECIES_BEAUTIFLY + 500},
- [SPECIES_CASCOON] = {gMonShinyPalette_Cascoon, SPECIES_CASCOON + 500},
- [SPECIES_DUSTOX] = {gMonShinyPalette_Dustox, SPECIES_DUSTOX + 500},
- [SPECIES_LOTAD] = {gMonShinyPalette_Lotad, SPECIES_LOTAD + 500},
- [SPECIES_LOMBRE] = {gMonShinyPalette_Lombre, SPECIES_LOMBRE + 500},
- [SPECIES_LUDICOLO] = {gMonShinyPalette_Ludicolo, SPECIES_LUDICOLO + 500},
- [SPECIES_SEEDOT] = {gMonShinyPalette_Seedot, SPECIES_SEEDOT + 500},
- [SPECIES_NUZLEAF] = {gMonShinyPalette_Nuzleaf, SPECIES_NUZLEAF + 500},
- [SPECIES_SHIFTRY] = {gMonShinyPalette_Shiftry, SPECIES_SHIFTRY + 500},
- [SPECIES_NINCADA] = {gMonShinyPalette_Nincada, SPECIES_NINCADA + 500},
- [SPECIES_NINJASK] = {gMonShinyPalette_Ninjask, SPECIES_NINJASK + 500},
- [SPECIES_SHEDINJA] = {gMonShinyPalette_Shedinja, SPECIES_SHEDINJA + 500},
- [SPECIES_TAILLOW] = {gMonShinyPalette_Taillow, SPECIES_TAILLOW + 500},
- [SPECIES_SWELLOW] = {gMonShinyPalette_Swellow, SPECIES_SWELLOW + 500},
- [SPECIES_SHROOMISH] = {gMonShinyPalette_Shroomish, SPECIES_SHROOMISH + 500},
- [SPECIES_BRELOOM] = {gMonShinyPalette_Breloom, SPECIES_BRELOOM + 500},
- [SPECIES_SPINDA] = {gMonShinyPalette_Spinda, SPECIES_SPINDA + 500},
- [SPECIES_WINGULL] = {gMonShinyPalette_Wingull, SPECIES_WINGULL + 500},
- [SPECIES_PELIPPER] = {gMonShinyPalette_Pelipper, SPECIES_PELIPPER + 500},
- [SPECIES_SURSKIT] = {gMonShinyPalette_Surskit, SPECIES_SURSKIT + 500},
- [SPECIES_MASQUERAIN] = {gMonShinyPalette_Masquerain, SPECIES_MASQUERAIN + 500},
- [SPECIES_WAILMER] = {gMonShinyPalette_Wailmer, SPECIES_WAILMER + 500},
- [SPECIES_WAILORD] = {gMonShinyPalette_Wailord, SPECIES_WAILORD + 500},
- [SPECIES_SKITTY] = {gMonShinyPalette_Skitty, SPECIES_SKITTY + 500},
- [SPECIES_DELCATTY] = {gMonShinyPalette_Delcatty, SPECIES_DELCATTY + 500},
- [SPECIES_KECLEON] = {gMonShinyPalette_Kecleon, SPECIES_KECLEON + 500},
- [SPECIES_BALTOY] = {gMonShinyPalette_Baltoy, SPECIES_BALTOY + 500},
- [SPECIES_CLAYDOL] = {gMonShinyPalette_Claydol, SPECIES_CLAYDOL + 500},
- [SPECIES_NOSEPASS] = {gMonShinyPalette_Nosepass, SPECIES_NOSEPASS + 500},
- [SPECIES_TORKOAL] = {gMonShinyPalette_Torkoal, SPECIES_TORKOAL + 500},
- [SPECIES_SABLEYE] = {gMonShinyPalette_Sableye, SPECIES_SABLEYE + 500},
- [SPECIES_BARBOACH] = {gMonShinyPalette_Barboach, SPECIES_BARBOACH + 500},
- [SPECIES_WHISCASH] = {gMonShinyPalette_Whiscash, SPECIES_WHISCASH + 500},
- [SPECIES_LUVDISC] = {gMonShinyPalette_Luvdisc, SPECIES_LUVDISC + 500},
- [SPECIES_CORPHISH] = {gMonShinyPalette_Corphish, SPECIES_CORPHISH + 500},
- [SPECIES_CRAWDAUNT] = {gMonShinyPalette_Crawdaunt, SPECIES_CRAWDAUNT + 500},
- [SPECIES_FEEBAS] = {gMonShinyPalette_Feebas, SPECIES_FEEBAS + 500},
- [SPECIES_MILOTIC] = {gMonShinyPalette_Milotic, SPECIES_MILOTIC + 500},
- [SPECIES_CARVANHA] = {gMonShinyPalette_Carvanha, SPECIES_CARVANHA + 500},
- [SPECIES_SHARPEDO] = {gMonShinyPalette_Sharpedo, SPECIES_SHARPEDO + 500},
- [SPECIES_TRAPINCH] = {gMonShinyPalette_Trapinch, SPECIES_TRAPINCH + 500},
- [SPECIES_VIBRAVA] = {gMonShinyPalette_Vibrava, SPECIES_VIBRAVA + 500},
- [SPECIES_FLYGON] = {gMonShinyPalette_Flygon, SPECIES_FLYGON + 500},
- [SPECIES_MAKUHITA] = {gMonShinyPalette_Makuhita, SPECIES_MAKUHITA + 500},
- [SPECIES_HARIYAMA] = {gMonShinyPalette_Hariyama, SPECIES_HARIYAMA + 500},
- [SPECIES_ELECTRIKE] = {gMonShinyPalette_Electrike, SPECIES_ELECTRIKE + 500},
- [SPECIES_MANECTRIC] = {gMonShinyPalette_Manectric, SPECIES_MANECTRIC + 500},
- [SPECIES_NUMEL] = {gMonShinyPalette_Numel, SPECIES_NUMEL + 500},
- [SPECIES_CAMERUPT] = {gMonShinyPalette_Camerupt, SPECIES_CAMERUPT + 500},
- [SPECIES_SPHEAL] = {gMonShinyPalette_Spheal, SPECIES_SPHEAL + 500},
- [SPECIES_SEALEO] = {gMonShinyPalette_Sealeo, SPECIES_SEALEO + 500},
- [SPECIES_WALREIN] = {gMonShinyPalette_Walrein, SPECIES_WALREIN + 500},
- [SPECIES_CACNEA] = {gMonShinyPalette_Cacnea, SPECIES_CACNEA + 500},
- [SPECIES_CACTURNE] = {gMonShinyPalette_Cacturne, SPECIES_CACTURNE + 500},
- [SPECIES_SNORUNT] = {gMonShinyPalette_Snorunt, SPECIES_SNORUNT + 500},
- [SPECIES_GLALIE] = {gMonShinyPalette_Glalie, SPECIES_GLALIE + 500},
- [SPECIES_LUNATONE] = {gMonShinyPalette_Lunatone, SPECIES_LUNATONE + 500},
- [SPECIES_SOLROCK] = {gMonShinyPalette_Solrock, SPECIES_SOLROCK + 500},
- [SPECIES_AZURILL] = {gMonShinyPalette_Azurill, SPECIES_AZURILL + 500},
- [SPECIES_SPOINK] = {gMonShinyPalette_Spoink, SPECIES_SPOINK + 500},
- [SPECIES_GRUMPIG] = {gMonShinyPalette_Grumpig, SPECIES_GRUMPIG + 500},
- [SPECIES_PLUSLE] = {gMonShinyPalette_Plusle, SPECIES_PLUSLE + 500},
- [SPECIES_MINUN] = {gMonShinyPalette_Minun, SPECIES_MINUN + 500},
- [SPECIES_MAWILE] = {gMonShinyPalette_Mawile, SPECIES_MAWILE + 500},
- [SPECIES_MEDITITE] = {gMonShinyPalette_Meditite, SPECIES_MEDITITE + 500},
- [SPECIES_MEDICHAM] = {gMonShinyPalette_Medicham, SPECIES_MEDICHAM + 500},
- [SPECIES_SWABLU] = {gMonShinyPalette_Swablu, SPECIES_SWABLU + 500},
- [SPECIES_ALTARIA] = {gMonShinyPalette_Altaria, SPECIES_ALTARIA + 500},
- [SPECIES_WYNAUT] = {gMonShinyPalette_Wynaut, SPECIES_WYNAUT + 500},
- [SPECIES_DUSKULL] = {gMonShinyPalette_Duskull, SPECIES_DUSKULL + 500},
- [SPECIES_DUSCLOPS] = {gMonShinyPalette_Dusclops, SPECIES_DUSCLOPS + 500},
- [SPECIES_ROSELIA] = {gMonShinyPalette_Roselia, SPECIES_ROSELIA + 500},
- [SPECIES_SLAKOTH] = {gMonShinyPalette_Slakoth, SPECIES_SLAKOTH + 500},
- [SPECIES_VIGOROTH] = {gMonShinyPalette_Vigoroth, SPECIES_VIGOROTH + 500},
- [SPECIES_SLAKING] = {gMonShinyPalette_Slaking, SPECIES_SLAKING + 500},
- [SPECIES_GULPIN] = {gMonShinyPalette_Gulpin, SPECIES_GULPIN + 500},
- [SPECIES_SWALOT] = {gMonShinyPalette_Swalot, SPECIES_SWALOT + 500},
- [SPECIES_TROPIUS] = {gMonShinyPalette_Tropius, SPECIES_TROPIUS + 500},
- [SPECIES_WHISMUR] = {gMonShinyPalette_Whismur, SPECIES_WHISMUR + 500},
- [SPECIES_LOUDRED] = {gMonShinyPalette_Loudred, SPECIES_LOUDRED + 500},
- [SPECIES_EXPLOUD] = {gMonShinyPalette_Exploud, SPECIES_EXPLOUD + 500},
- [SPECIES_CLAMPERL] = {gMonShinyPalette_Clamperl, SPECIES_CLAMPERL + 500},
- [SPECIES_HUNTAIL] = {gMonShinyPalette_Huntail, SPECIES_HUNTAIL + 500},
- [SPECIES_GOREBYSS] = {gMonShinyPalette_Gorebyss, SPECIES_GOREBYSS + 500},
- [SPECIES_ABSOL] = {gMonShinyPalette_Absol, SPECIES_ABSOL + 500},
- [SPECIES_SHUPPET] = {gMonShinyPalette_Shuppet, SPECIES_SHUPPET + 500},
- [SPECIES_BANETTE] = {gMonShinyPalette_Banette, SPECIES_BANETTE + 500},
- [SPECIES_SEVIPER] = {gMonShinyPalette_Seviper, SPECIES_SEVIPER + 500},
- [SPECIES_ZANGOOSE] = {gMonShinyPalette_Zangoose, SPECIES_ZANGOOSE + 500},
- [SPECIES_RELICANTH] = {gMonShinyPalette_Relicanth, SPECIES_RELICANTH + 500},
- [SPECIES_ARON] = {gMonShinyPalette_Aron, SPECIES_ARON + 500},
- [SPECIES_LAIRON] = {gMonShinyPalette_Lairon, SPECIES_LAIRON + 500},
- [SPECIES_AGGRON] = {gMonShinyPalette_Aggron, SPECIES_AGGRON + 500},
- [SPECIES_CASTFORM] = {gMonShinyPalette_Castform, SPECIES_CASTFORM + 500},
- [SPECIES_VOLBEAT] = {gMonShinyPalette_Volbeat, SPECIES_VOLBEAT + 500},
- [SPECIES_ILLUMISE] = {gMonShinyPalette_Illumise, SPECIES_ILLUMISE + 500},
- [SPECIES_LILEEP] = {gMonShinyPalette_Lileep, SPECIES_LILEEP + 500},
- [SPECIES_CRADILY] = {gMonShinyPalette_Cradily, SPECIES_CRADILY + 500},
- [SPECIES_ANORITH] = {gMonShinyPalette_Anorith, SPECIES_ANORITH + 500},
- [SPECIES_ARMALDO] = {gMonShinyPalette_Armaldo, SPECIES_ARMALDO + 500},
- [SPECIES_RALTS] = {gMonShinyPalette_Ralts, SPECIES_RALTS + 500},
- [SPECIES_KIRLIA] = {gMonShinyPalette_Kirlia, SPECIES_KIRLIA + 500},
- [SPECIES_GARDEVOIR] = {gMonShinyPalette_Gardevoir, SPECIES_GARDEVOIR + 500},
- [SPECIES_BAGON] = {gMonShinyPalette_Bagon, SPECIES_BAGON + 500},
- [SPECIES_SHELGON] = {gMonShinyPalette_Shelgon, SPECIES_SHELGON + 500},
- [SPECIES_SALAMENCE] = {gMonShinyPalette_Salamence, SPECIES_SALAMENCE + 500},
- [SPECIES_BELDUM] = {gMonShinyPalette_Beldum, SPECIES_BELDUM + 500},
- [SPECIES_METANG] = {gMonShinyPalette_Metang, SPECIES_METANG + 500},
- [SPECIES_METAGROSS] = {gMonShinyPalette_Metagross, SPECIES_METAGROSS + 500},
- [SPECIES_REGIROCK] = {gMonShinyPalette_Regirock, SPECIES_REGIROCK + 500},
- [SPECIES_REGICE] = {gMonShinyPalette_Regice, SPECIES_REGICE + 500},
- [SPECIES_REGISTEEL] = {gMonShinyPalette_Registeel, SPECIES_REGISTEEL + 500},
- [SPECIES_KYOGRE] = {gMonShinyPalette_Kyogre, SPECIES_KYOGRE + 500},
- [SPECIES_GROUDON] = {gMonShinyPalette_Groudon, SPECIES_GROUDON + 500},
- [SPECIES_RAYQUAZA] = {gMonShinyPalette_Rayquaza, SPECIES_RAYQUAZA + 500},
- [SPECIES_LATIAS] = {gMonShinyPalette_Latias, SPECIES_LATIAS + 500},
- [SPECIES_LATIOS] = {gMonShinyPalette_Latios, SPECIES_LATIOS + 500},
- [SPECIES_JIRACHI] = {gMonShinyPalette_Jirachi, SPECIES_JIRACHI + 500},
- [SPECIES_DEOXYS] = {gMonShinyPalette_Deoxys, SPECIES_DEOXYS + 500},
- [SPECIES_CHIMECHO] = {gMonShinyPalette_Chimecho, SPECIES_CHIMECHO + 500},
- [SPECIES_EGG] = {gMonPalette_Egg, SPECIES_EGG + 500},
- [SPECIES_UNOWN_B] = {gMonShinyPalette_Unown, SPECIES_UNOWN_B + 500},
- [SPECIES_UNOWN_C] = {gMonShinyPalette_Unown, SPECIES_UNOWN_C + 500},
- [SPECIES_UNOWN_D] = {gMonShinyPalette_Unown, SPECIES_UNOWN_D + 500},
- [SPECIES_UNOWN_E] = {gMonShinyPalette_Unown, SPECIES_UNOWN_E + 500},
- [SPECIES_UNOWN_F] = {gMonShinyPalette_Unown, SPECIES_UNOWN_F + 500},
- [SPECIES_UNOWN_G] = {gMonShinyPalette_Unown, SPECIES_UNOWN_G + 500},
- [SPECIES_UNOWN_H] = {gMonShinyPalette_Unown, SPECIES_UNOWN_H + 500},
- [SPECIES_UNOWN_I] = {gMonShinyPalette_Unown, SPECIES_UNOWN_I + 500},
- [SPECIES_UNOWN_J] = {gMonShinyPalette_Unown, SPECIES_UNOWN_J + 500},
- [SPECIES_UNOWN_K] = {gMonShinyPalette_Unown, SPECIES_UNOWN_K + 500},
- [SPECIES_UNOWN_L] = {gMonShinyPalette_Unown, SPECIES_UNOWN_L + 500},
- [SPECIES_UNOWN_M] = {gMonShinyPalette_Unown, SPECIES_UNOWN_M + 500},
- [SPECIES_UNOWN_N] = {gMonShinyPalette_Unown, SPECIES_UNOWN_N + 500},
- [SPECIES_UNOWN_O] = {gMonShinyPalette_Unown, SPECIES_UNOWN_O + 500},
- [SPECIES_UNOWN_P] = {gMonShinyPalette_Unown, SPECIES_UNOWN_P + 500},
- [SPECIES_UNOWN_Q] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Q + 500},
- [SPECIES_UNOWN_R] = {gMonShinyPalette_Unown, SPECIES_UNOWN_R + 500},
- [SPECIES_UNOWN_S] = {gMonShinyPalette_Unown, SPECIES_UNOWN_S + 500},
- [SPECIES_UNOWN_T] = {gMonShinyPalette_Unown, SPECIES_UNOWN_T + 500},
- [SPECIES_UNOWN_U] = {gMonShinyPalette_Unown, SPECIES_UNOWN_U + 500},
- [SPECIES_UNOWN_V] = {gMonShinyPalette_Unown, SPECIES_UNOWN_V + 500},
- [SPECIES_UNOWN_W] = {gMonShinyPalette_Unown, SPECIES_UNOWN_W + 500},
- [SPECIES_UNOWN_X] = {gMonShinyPalette_Unown, SPECIES_UNOWN_X + 500},
- [SPECIES_UNOWN_Y] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Y + 500},
- [SPECIES_UNOWN_Z] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Z + 500},
- [SPECIES_UNOWN_EMARK] = {gMonShinyPalette_Unown, SPECIES_UNOWN_EMARK + 500},
- [SPECIES_UNOWN_QMARK] = {gMonShinyPalette_Unown, SPECIES_UNOWN_QMARK + 500},
+ SPECIES_SHINY_PAL(NONE, gMonShinyPalette_CircledQuestionMark),
+ SPECIES_SHINY_PAL(BULBASAUR, gMonShinyPalette_Bulbasaur),
+ SPECIES_SHINY_PAL(IVYSAUR, gMonShinyPalette_Ivysaur),
+ SPECIES_SHINY_PAL(VENUSAUR, gMonShinyPalette_Venusaur),
+ SPECIES_SHINY_PAL(CHARMANDER, gMonShinyPalette_Charmander),
+ SPECIES_SHINY_PAL(CHARMELEON, gMonShinyPalette_Charmeleon),
+ SPECIES_SHINY_PAL(CHARIZARD, gMonShinyPalette_Charizard),
+ SPECIES_SHINY_PAL(SQUIRTLE, gMonShinyPalette_Squirtle),
+ SPECIES_SHINY_PAL(WARTORTLE, gMonShinyPalette_Wartortle),
+ SPECIES_SHINY_PAL(BLASTOISE, gMonShinyPalette_Blastoise),
+ SPECIES_SHINY_PAL(CATERPIE, gMonShinyPalette_Caterpie),
+ SPECIES_SHINY_PAL(METAPOD, gMonShinyPalette_Metapod),
+ SPECIES_SHINY_PAL(BUTTERFREE, gMonShinyPalette_Butterfree),
+ SPECIES_SHINY_PAL(WEEDLE, gMonShinyPalette_Weedle),
+ SPECIES_SHINY_PAL(KAKUNA, gMonShinyPalette_Kakuna),
+ SPECIES_SHINY_PAL(BEEDRILL, gMonShinyPalette_Beedrill),
+ SPECIES_SHINY_PAL(PIDGEY, gMonShinyPalette_Pidgey),
+ SPECIES_SHINY_PAL(PIDGEOTTO, gMonShinyPalette_Pidgeotto),
+ SPECIES_SHINY_PAL(PIDGEOT, gMonShinyPalette_Pidgeot),
+ SPECIES_SHINY_PAL(RATTATA, gMonShinyPalette_Rattata),
+ SPECIES_SHINY_PAL(RATICATE, gMonShinyPalette_Raticate),
+ SPECIES_SHINY_PAL(SPEAROW, gMonShinyPalette_Spearow),
+ SPECIES_SHINY_PAL(FEAROW, gMonShinyPalette_Fearow),
+ SPECIES_SHINY_PAL(EKANS, gMonShinyPalette_Ekans),
+ SPECIES_SHINY_PAL(ARBOK, gMonShinyPalette_Arbok),
+ SPECIES_SHINY_PAL(PIKACHU, gMonShinyPalette_Pikachu),
+ SPECIES_SHINY_PAL(RAICHU, gMonShinyPalette_Raichu),
+ SPECIES_SHINY_PAL(SANDSHREW, gMonShinyPalette_Sandshrew),
+ SPECIES_SHINY_PAL(SANDSLASH, gMonShinyPalette_Sandslash),
+ SPECIES_SHINY_PAL(NIDORAN_F, gMonShinyPalette_NidoranF),
+ SPECIES_SHINY_PAL(NIDORINA, gMonShinyPalette_Nidorina),
+ SPECIES_SHINY_PAL(NIDOQUEEN, gMonShinyPalette_Nidoqueen),
+ SPECIES_SHINY_PAL(NIDORAN_M, gMonShinyPalette_NidoranM),
+ SPECIES_SHINY_PAL(NIDORINO, gMonShinyPalette_Nidorino),
+ SPECIES_SHINY_PAL(NIDOKING, gMonShinyPalette_Nidoking),
+ SPECIES_SHINY_PAL(CLEFAIRY, gMonShinyPalette_Clefairy),
+ SPECIES_SHINY_PAL(CLEFABLE, gMonShinyPalette_Clefable),
+ SPECIES_SHINY_PAL(VULPIX, gMonShinyPalette_Vulpix),
+ SPECIES_SHINY_PAL(NINETALES, gMonShinyPalette_Ninetales),
+ SPECIES_SHINY_PAL(JIGGLYPUFF, gMonShinyPalette_Jigglypuff),
+ SPECIES_SHINY_PAL(WIGGLYTUFF, gMonShinyPalette_Wigglytuff),
+ SPECIES_SHINY_PAL(ZUBAT, gMonShinyPalette_Zubat),
+ SPECIES_SHINY_PAL(GOLBAT, gMonShinyPalette_Golbat),
+ SPECIES_SHINY_PAL(ODDISH, gMonShinyPalette_Oddish),
+ SPECIES_SHINY_PAL(GLOOM, gMonShinyPalette_Gloom),
+ SPECIES_SHINY_PAL(VILEPLUME, gMonShinyPalette_Vileplume),
+ SPECIES_SHINY_PAL(PARAS, gMonShinyPalette_Paras),
+ SPECIES_SHINY_PAL(PARASECT, gMonShinyPalette_Parasect),
+ SPECIES_SHINY_PAL(VENONAT, gMonShinyPalette_Venonat),
+ SPECIES_SHINY_PAL(VENOMOTH, gMonShinyPalette_Venomoth),
+ SPECIES_SHINY_PAL(DIGLETT, gMonShinyPalette_Diglett),
+ SPECIES_SHINY_PAL(DUGTRIO, gMonShinyPalette_Dugtrio),
+ SPECIES_SHINY_PAL(MEOWTH, gMonShinyPalette_Meowth),
+ SPECIES_SHINY_PAL(PERSIAN, gMonShinyPalette_Persian),
+ SPECIES_SHINY_PAL(PSYDUCK, gMonShinyPalette_Psyduck),
+ SPECIES_SHINY_PAL(GOLDUCK, gMonShinyPalette_Golduck),
+ SPECIES_SHINY_PAL(MANKEY, gMonShinyPalette_Mankey),
+ SPECIES_SHINY_PAL(PRIMEAPE, gMonShinyPalette_Primeape),
+ SPECIES_SHINY_PAL(GROWLITHE, gMonShinyPalette_Growlithe),
+ SPECIES_SHINY_PAL(ARCANINE, gMonShinyPalette_Arcanine),
+ SPECIES_SHINY_PAL(POLIWAG, gMonShinyPalette_Poliwag),
+ SPECIES_SHINY_PAL(POLIWHIRL, gMonShinyPalette_Poliwhirl),
+ SPECIES_SHINY_PAL(POLIWRATH, gMonShinyPalette_Poliwrath),
+ SPECIES_SHINY_PAL(ABRA, gMonShinyPalette_Abra),
+ SPECIES_SHINY_PAL(KADABRA, gMonShinyPalette_Kadabra),
+ SPECIES_SHINY_PAL(ALAKAZAM, gMonShinyPalette_Alakazam),
+ SPECIES_SHINY_PAL(MACHOP, gMonShinyPalette_Machop),
+ SPECIES_SHINY_PAL(MACHOKE, gMonShinyPalette_Machoke),
+ SPECIES_SHINY_PAL(MACHAMP, gMonShinyPalette_Machamp),
+ SPECIES_SHINY_PAL(BELLSPROUT, gMonShinyPalette_Bellsprout),
+ SPECIES_SHINY_PAL(WEEPINBELL, gMonShinyPalette_Weepinbell),
+ SPECIES_SHINY_PAL(VICTREEBEL, gMonShinyPalette_Victreebel),
+ SPECIES_SHINY_PAL(TENTACOOL, gMonShinyPalette_Tentacool),
+ SPECIES_SHINY_PAL(TENTACRUEL, gMonShinyPalette_Tentacruel),
+ SPECIES_SHINY_PAL(GEODUDE, gMonShinyPalette_Geodude),
+ SPECIES_SHINY_PAL(GRAVELER, gMonShinyPalette_Graveler),
+ SPECIES_SHINY_PAL(GOLEM, gMonShinyPalette_Golem),
+ SPECIES_SHINY_PAL(PONYTA, gMonShinyPalette_Ponyta),
+ SPECIES_SHINY_PAL(RAPIDASH, gMonShinyPalette_Rapidash),
+ SPECIES_SHINY_PAL(SLOWPOKE, gMonShinyPalette_Slowpoke),
+ SPECIES_SHINY_PAL(SLOWBRO, gMonShinyPalette_Slowbro),
+ SPECIES_SHINY_PAL(MAGNEMITE, gMonShinyPalette_Magnemite),
+ SPECIES_SHINY_PAL(MAGNETON, gMonShinyPalette_Magneton),
+ SPECIES_SHINY_PAL(FARFETCHD, gMonShinyPalette_Farfetchd),
+ SPECIES_SHINY_PAL(DODUO, gMonShinyPalette_Doduo),
+ SPECIES_SHINY_PAL(DODRIO, gMonShinyPalette_Dodrio),
+ SPECIES_SHINY_PAL(SEEL, gMonShinyPalette_Seel),
+ SPECIES_SHINY_PAL(DEWGONG, gMonShinyPalette_Dewgong),
+ SPECIES_SHINY_PAL(GRIMER, gMonShinyPalette_Grimer),
+ SPECIES_SHINY_PAL(MUK, gMonShinyPalette_Muk),
+ SPECIES_SHINY_PAL(SHELLDER, gMonShinyPalette_Shellder),
+ SPECIES_SHINY_PAL(CLOYSTER, gMonShinyPalette_Cloyster),
+ SPECIES_SHINY_PAL(GASTLY, gMonShinyPalette_Gastly),
+ SPECIES_SHINY_PAL(HAUNTER, gMonShinyPalette_Haunter),
+ SPECIES_SHINY_PAL(GENGAR, gMonShinyPalette_Gengar),
+ SPECIES_SHINY_PAL(ONIX, gMonShinyPalette_Onix),
+ SPECIES_SHINY_PAL(DROWZEE, gMonShinyPalette_Drowzee),
+ SPECIES_SHINY_PAL(HYPNO, gMonShinyPalette_Hypno),
+ SPECIES_SHINY_PAL(KRABBY, gMonShinyPalette_Krabby),
+ SPECIES_SHINY_PAL(KINGLER, gMonShinyPalette_Kingler),
+ SPECIES_SHINY_PAL(VOLTORB, gMonShinyPalette_Voltorb),
+ SPECIES_SHINY_PAL(ELECTRODE, gMonShinyPalette_Electrode),
+ SPECIES_SHINY_PAL(EXEGGCUTE, gMonShinyPalette_Exeggcute),
+ SPECIES_SHINY_PAL(EXEGGUTOR, gMonShinyPalette_Exeggutor),
+ SPECIES_SHINY_PAL(CUBONE, gMonShinyPalette_Cubone),
+ SPECIES_SHINY_PAL(MAROWAK, gMonShinyPalette_Marowak),
+ SPECIES_SHINY_PAL(HITMONLEE, gMonShinyPalette_Hitmonlee),
+ SPECIES_SHINY_PAL(HITMONCHAN, gMonShinyPalette_Hitmonchan),
+ SPECIES_SHINY_PAL(LICKITUNG, gMonShinyPalette_Lickitung),
+ SPECIES_SHINY_PAL(KOFFING, gMonShinyPalette_Koffing),
+ SPECIES_SHINY_PAL(WEEZING, gMonShinyPalette_Weezing),
+ SPECIES_SHINY_PAL(RHYHORN, gMonShinyPalette_Rhyhorn),
+ SPECIES_SHINY_PAL(RHYDON, gMonShinyPalette_Rhydon),
+ SPECIES_SHINY_PAL(CHANSEY, gMonShinyPalette_Chansey),
+ SPECIES_SHINY_PAL(TANGELA, gMonShinyPalette_Tangela),
+ SPECIES_SHINY_PAL(KANGASKHAN, gMonShinyPalette_Kangaskhan),
+ SPECIES_SHINY_PAL(HORSEA, gMonShinyPalette_Horsea),
+ SPECIES_SHINY_PAL(SEADRA, gMonShinyPalette_Seadra),
+ SPECIES_SHINY_PAL(GOLDEEN, gMonShinyPalette_Goldeen),
+ SPECIES_SHINY_PAL(SEAKING, gMonShinyPalette_Seaking),
+ SPECIES_SHINY_PAL(STARYU, gMonShinyPalette_Staryu),
+ SPECIES_SHINY_PAL(STARMIE, gMonShinyPalette_Starmie),
+ SPECIES_SHINY_PAL(MR_MIME, gMonShinyPalette_Mrmime),
+ SPECIES_SHINY_PAL(SCYTHER, gMonShinyPalette_Scyther),
+ SPECIES_SHINY_PAL(JYNX, gMonShinyPalette_Jynx),
+ SPECIES_SHINY_PAL(ELECTABUZZ, gMonShinyPalette_Electabuzz),
+ SPECIES_SHINY_PAL(MAGMAR, gMonShinyPalette_Magmar),
+ SPECIES_SHINY_PAL(PINSIR, gMonShinyPalette_Pinsir),
+ SPECIES_SHINY_PAL(TAUROS, gMonShinyPalette_Tauros),
+ SPECIES_SHINY_PAL(MAGIKARP, gMonShinyPalette_Magikarp),
+ SPECIES_SHINY_PAL(GYARADOS, gMonShinyPalette_Gyarados),
+ SPECIES_SHINY_PAL(LAPRAS, gMonShinyPalette_Lapras),
+ SPECIES_SHINY_PAL(DITTO, gMonShinyPalette_Ditto),
+ SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee),
+ SPECIES_SHINY_PAL(VAPOREON, gMonShinyPalette_Vaporeon),
+ SPECIES_SHINY_PAL(JOLTEON, gMonShinyPalette_Jolteon),
+ SPECIES_SHINY_PAL(FLAREON, gMonShinyPalette_Flareon),
+ SPECIES_SHINY_PAL(PORYGON, gMonShinyPalette_Porygon),
+ SPECIES_SHINY_PAL(OMANYTE, gMonShinyPalette_Omanyte),
+ SPECIES_SHINY_PAL(OMASTAR, gMonShinyPalette_Omastar),
+ SPECIES_SHINY_PAL(KABUTO, gMonShinyPalette_Kabuto),
+ SPECIES_SHINY_PAL(KABUTOPS, gMonShinyPalette_Kabutops),
+ SPECIES_SHINY_PAL(AERODACTYL, gMonShinyPalette_Aerodactyl),
+ SPECIES_SHINY_PAL(SNORLAX, gMonShinyPalette_Snorlax),
+ SPECIES_SHINY_PAL(ARTICUNO, gMonShinyPalette_Articuno),
+ SPECIES_SHINY_PAL(ZAPDOS, gMonShinyPalette_Zapdos),
+ SPECIES_SHINY_PAL(MOLTRES, gMonShinyPalette_Moltres),
+ SPECIES_SHINY_PAL(DRATINI, gMonShinyPalette_Dratini),
+ SPECIES_SHINY_PAL(DRAGONAIR, gMonShinyPalette_Dragonair),
+ SPECIES_SHINY_PAL(DRAGONITE, gMonShinyPalette_Dragonite),
+ SPECIES_SHINY_PAL(MEWTWO, gMonShinyPalette_Mewtwo),
+ SPECIES_SHINY_PAL(MEW, gMonShinyPalette_Mew),
+ SPECIES_SHINY_PAL(CHIKORITA, gMonShinyPalette_Chikorita),
+ SPECIES_SHINY_PAL(BAYLEEF, gMonShinyPalette_Bayleef),
+ SPECIES_SHINY_PAL(MEGANIUM, gMonShinyPalette_Meganium),
+ SPECIES_SHINY_PAL(CYNDAQUIL, gMonShinyPalette_Cyndaquil),
+ SPECIES_SHINY_PAL(QUILAVA, gMonShinyPalette_Quilava),
+ SPECIES_SHINY_PAL(TYPHLOSION, gMonShinyPalette_Typhlosion),
+ SPECIES_SHINY_PAL(TOTODILE, gMonShinyPalette_Totodile),
+ SPECIES_SHINY_PAL(CROCONAW, gMonShinyPalette_Croconaw),
+ SPECIES_SHINY_PAL(FERALIGATR, gMonShinyPalette_Feraligatr),
+ SPECIES_SHINY_PAL(SENTRET, gMonShinyPalette_Sentret),
+ SPECIES_SHINY_PAL(FURRET, gMonShinyPalette_Furret),
+ SPECIES_SHINY_PAL(HOOTHOOT, gMonShinyPalette_Hoothoot),
+ SPECIES_SHINY_PAL(NOCTOWL, gMonShinyPalette_Noctowl),
+ SPECIES_SHINY_PAL(LEDYBA, gMonShinyPalette_Ledyba),
+ SPECIES_SHINY_PAL(LEDIAN, gMonShinyPalette_Ledian),
+ SPECIES_SHINY_PAL(SPINARAK, gMonShinyPalette_Spinarak),
+ SPECIES_SHINY_PAL(ARIADOS, gMonShinyPalette_Ariados),
+ SPECIES_SHINY_PAL(CROBAT, gMonShinyPalette_Crobat),
+ SPECIES_SHINY_PAL(CHINCHOU, gMonShinyPalette_Chinchou),
+ SPECIES_SHINY_PAL(LANTURN, gMonShinyPalette_Lanturn),
+ SPECIES_SHINY_PAL(PICHU, gMonShinyPalette_Pichu),
+ SPECIES_SHINY_PAL(CLEFFA, gMonShinyPalette_Cleffa),
+ SPECIES_SHINY_PAL(IGGLYBUFF, gMonShinyPalette_Igglybuff),
+ SPECIES_SHINY_PAL(TOGEPI, gMonShinyPalette_Togepi),
+ SPECIES_SHINY_PAL(TOGETIC, gMonShinyPalette_Togetic),
+ SPECIES_SHINY_PAL(NATU, gMonShinyPalette_Natu),
+ SPECIES_SHINY_PAL(XATU, gMonShinyPalette_Xatu),
+ SPECIES_SHINY_PAL(MAREEP, gMonShinyPalette_Mareep),
+ SPECIES_SHINY_PAL(FLAAFFY, gMonShinyPalette_Flaaffy),
+ SPECIES_SHINY_PAL(AMPHAROS, gMonShinyPalette_Ampharos),
+ SPECIES_SHINY_PAL(BELLOSSOM, gMonShinyPalette_Bellossom),
+ SPECIES_SHINY_PAL(MARILL, gMonShinyPalette_Marill),
+ SPECIES_SHINY_PAL(AZUMARILL, gMonShinyPalette_Azumarill),
+ SPECIES_SHINY_PAL(SUDOWOODO, gMonShinyPalette_Sudowoodo),
+ SPECIES_SHINY_PAL(POLITOED, gMonShinyPalette_Politoed),
+ SPECIES_SHINY_PAL(HOPPIP, gMonShinyPalette_Hoppip),
+ SPECIES_SHINY_PAL(SKIPLOOM, gMonShinyPalette_Skiploom),
+ SPECIES_SHINY_PAL(JUMPLUFF, gMonShinyPalette_Jumpluff),
+ SPECIES_SHINY_PAL(AIPOM, gMonShinyPalette_Aipom),
+ SPECIES_SHINY_PAL(SUNKERN, gMonShinyPalette_Sunkern),
+ SPECIES_SHINY_PAL(SUNFLORA, gMonShinyPalette_Sunflora),
+ SPECIES_SHINY_PAL(YANMA, gMonShinyPalette_Yanma),
+ SPECIES_SHINY_PAL(WOOPER, gMonShinyPalette_Wooper),
+ SPECIES_SHINY_PAL(QUAGSIRE, gMonShinyPalette_Quagsire),
+ SPECIES_SHINY_PAL(ESPEON, gMonShinyPalette_Espeon),
+ SPECIES_SHINY_PAL(UMBREON, gMonShinyPalette_Umbreon),
+ SPECIES_SHINY_PAL(MURKROW, gMonShinyPalette_Murkrow),
+ SPECIES_SHINY_PAL(SLOWKING, gMonShinyPalette_Slowking),
+ SPECIES_SHINY_PAL(MISDREAVUS, gMonShinyPalette_Misdreavus),
+ SPECIES_SHINY_PAL(UNOWN, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(WOBBUFFET, gMonShinyPalette_Wobbuffet),
+ SPECIES_SHINY_PAL(GIRAFARIG, gMonShinyPalette_Girafarig),
+ SPECIES_SHINY_PAL(PINECO, gMonShinyPalette_Pineco),
+ SPECIES_SHINY_PAL(FORRETRESS, gMonShinyPalette_Forretress),
+ SPECIES_SHINY_PAL(DUNSPARCE, gMonShinyPalette_Dunsparce),
+ SPECIES_SHINY_PAL(GLIGAR, gMonShinyPalette_Gligar),
+ SPECIES_SHINY_PAL(STEELIX, gMonShinyPalette_Steelix),
+ SPECIES_SHINY_PAL(SNUBBULL, gMonShinyPalette_Snubbull),
+ SPECIES_SHINY_PAL(GRANBULL, gMonShinyPalette_Granbull),
+ SPECIES_SHINY_PAL(QWILFISH, gMonShinyPalette_Qwilfish),
+ SPECIES_SHINY_PAL(SCIZOR, gMonShinyPalette_Scizor),
+ SPECIES_SHINY_PAL(SHUCKLE, gMonShinyPalette_Shuckle),
+ SPECIES_SHINY_PAL(HERACROSS, gMonShinyPalette_Heracross),
+ SPECIES_SHINY_PAL(SNEASEL, gMonShinyPalette_Sneasel),
+ SPECIES_SHINY_PAL(TEDDIURSA, gMonShinyPalette_Teddiursa),
+ SPECIES_SHINY_PAL(URSARING, gMonShinyPalette_Ursaring),
+ SPECIES_SHINY_PAL(SLUGMA, gMonShinyPalette_Slugma),
+ SPECIES_SHINY_PAL(MAGCARGO, gMonShinyPalette_Magcargo),
+ SPECIES_SHINY_PAL(SWINUB, gMonShinyPalette_Swinub),
+ SPECIES_SHINY_PAL(PILOSWINE, gMonShinyPalette_Piloswine),
+ SPECIES_SHINY_PAL(CORSOLA, gMonShinyPalette_Corsola),
+ SPECIES_SHINY_PAL(REMORAID, gMonShinyPalette_Remoraid),
+ SPECIES_SHINY_PAL(OCTILLERY, gMonShinyPalette_Octillery),
+ SPECIES_SHINY_PAL(DELIBIRD, gMonShinyPalette_Delibird),
+ SPECIES_SHINY_PAL(MANTINE, gMonShinyPalette_Mantine),
+ SPECIES_SHINY_PAL(SKARMORY, gMonShinyPalette_Skarmory),
+ SPECIES_SHINY_PAL(HOUNDOUR, gMonShinyPalette_Houndour),
+ SPECIES_SHINY_PAL(HOUNDOOM, gMonShinyPalette_Houndoom),
+ SPECIES_SHINY_PAL(KINGDRA, gMonShinyPalette_Kingdra),
+ SPECIES_SHINY_PAL(PHANPY, gMonShinyPalette_Phanpy),
+ SPECIES_SHINY_PAL(DONPHAN, gMonShinyPalette_Donphan),
+ SPECIES_SHINY_PAL(PORYGON2, gMonShinyPalette_Porygon2),
+ SPECIES_SHINY_PAL(STANTLER, gMonShinyPalette_Stantler),
+ SPECIES_SHINY_PAL(SMEARGLE, gMonShinyPalette_Smeargle),
+ SPECIES_SHINY_PAL(TYROGUE, gMonShinyPalette_Tyrogue),
+ SPECIES_SHINY_PAL(HITMONTOP, gMonShinyPalette_Hitmontop),
+ SPECIES_SHINY_PAL(SMOOCHUM, gMonShinyPalette_Smoochum),
+ SPECIES_SHINY_PAL(ELEKID, gMonShinyPalette_Elekid),
+ SPECIES_SHINY_PAL(MAGBY, gMonShinyPalette_Magby),
+ SPECIES_SHINY_PAL(MILTANK, gMonShinyPalette_Miltank),
+ SPECIES_SHINY_PAL(BLISSEY, gMonShinyPalette_Blissey),
+ SPECIES_SHINY_PAL(RAIKOU, gMonShinyPalette_Raikou),
+ SPECIES_SHINY_PAL(ENTEI, gMonShinyPalette_Entei),
+ SPECIES_SHINY_PAL(SUICUNE, gMonShinyPalette_Suicune),
+ SPECIES_SHINY_PAL(LARVITAR, gMonShinyPalette_Larvitar),
+ SPECIES_SHINY_PAL(PUPITAR, gMonShinyPalette_Pupitar),
+ SPECIES_SHINY_PAL(TYRANITAR, gMonShinyPalette_Tyranitar),
+ SPECIES_SHINY_PAL(LUGIA, gMonShinyPalette_Lugia),
+ SPECIES_SHINY_PAL(HO_OH, gMonShinyPalette_HoOh),
+ SPECIES_SHINY_PAL(CELEBI, gMonShinyPalette_Celebi),
+ SPECIES_SHINY_PAL(OLD_UNOWN_B, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_C, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_D, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_E, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_F, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_G, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_H, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_I, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_J, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_K, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_L, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_M, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_N, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_O, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_P, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_Q, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_R, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_S, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_T, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_U, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_V, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_W, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_X, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_Y, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_Z, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(TREECKO, gMonShinyPalette_Treecko),
+ SPECIES_SHINY_PAL(GROVYLE, gMonShinyPalette_Grovyle),
+ SPECIES_SHINY_PAL(SCEPTILE, gMonShinyPalette_Sceptile),
+ SPECIES_SHINY_PAL(TORCHIC, gMonShinyPalette_Torchic),
+ SPECIES_SHINY_PAL(COMBUSKEN, gMonShinyPalette_Combusken),
+ SPECIES_SHINY_PAL(BLAZIKEN, gMonShinyPalette_Blaziken),
+ SPECIES_SHINY_PAL(MUDKIP, gMonShinyPalette_Mudkip),
+ SPECIES_SHINY_PAL(MARSHTOMP, gMonShinyPalette_Marshtomp),
+ SPECIES_SHINY_PAL(SWAMPERT, gMonShinyPalette_Swampert),
+ SPECIES_SHINY_PAL(POOCHYENA, gMonShinyPalette_Poochyena),
+ SPECIES_SHINY_PAL(MIGHTYENA, gMonShinyPalette_Mightyena),
+ SPECIES_SHINY_PAL(ZIGZAGOON, gMonShinyPalette_Zigzagoon),
+ SPECIES_SHINY_PAL(LINOONE, gMonShinyPalette_Linoone),
+ SPECIES_SHINY_PAL(WURMPLE, gMonShinyPalette_Wurmple),
+ SPECIES_SHINY_PAL(SILCOON, gMonShinyPalette_Silcoon),
+ SPECIES_SHINY_PAL(BEAUTIFLY, gMonShinyPalette_Beautifly),
+ SPECIES_SHINY_PAL(CASCOON, gMonShinyPalette_Cascoon),
+ SPECIES_SHINY_PAL(DUSTOX, gMonShinyPalette_Dustox),
+ SPECIES_SHINY_PAL(LOTAD, gMonShinyPalette_Lotad),
+ SPECIES_SHINY_PAL(LOMBRE, gMonShinyPalette_Lombre),
+ SPECIES_SHINY_PAL(LUDICOLO, gMonShinyPalette_Ludicolo),
+ SPECIES_SHINY_PAL(SEEDOT, gMonShinyPalette_Seedot),
+ SPECIES_SHINY_PAL(NUZLEAF, gMonShinyPalette_Nuzleaf),
+ SPECIES_SHINY_PAL(SHIFTRY, gMonShinyPalette_Shiftry),
+ SPECIES_SHINY_PAL(NINCADA, gMonShinyPalette_Nincada),
+ SPECIES_SHINY_PAL(NINJASK, gMonShinyPalette_Ninjask),
+ SPECIES_SHINY_PAL(SHEDINJA, gMonShinyPalette_Shedinja),
+ SPECIES_SHINY_PAL(TAILLOW, gMonShinyPalette_Taillow),
+ SPECIES_SHINY_PAL(SWELLOW, gMonShinyPalette_Swellow),
+ SPECIES_SHINY_PAL(SHROOMISH, gMonShinyPalette_Shroomish),
+ SPECIES_SHINY_PAL(BRELOOM, gMonShinyPalette_Breloom),
+ SPECIES_SHINY_PAL(SPINDA, gMonShinyPalette_Spinda),
+ SPECIES_SHINY_PAL(WINGULL, gMonShinyPalette_Wingull),
+ SPECIES_SHINY_PAL(PELIPPER, gMonShinyPalette_Pelipper),
+ SPECIES_SHINY_PAL(SURSKIT, gMonShinyPalette_Surskit),
+ SPECIES_SHINY_PAL(MASQUERAIN, gMonShinyPalette_Masquerain),
+ SPECIES_SHINY_PAL(WAILMER, gMonShinyPalette_Wailmer),
+ SPECIES_SHINY_PAL(WAILORD, gMonShinyPalette_Wailord),
+ SPECIES_SHINY_PAL(SKITTY, gMonShinyPalette_Skitty),
+ SPECIES_SHINY_PAL(DELCATTY, gMonShinyPalette_Delcatty),
+ SPECIES_SHINY_PAL(KECLEON, gMonShinyPalette_Kecleon),
+ SPECIES_SHINY_PAL(BALTOY, gMonShinyPalette_Baltoy),
+ SPECIES_SHINY_PAL(CLAYDOL, gMonShinyPalette_Claydol),
+ SPECIES_SHINY_PAL(NOSEPASS, gMonShinyPalette_Nosepass),
+ SPECIES_SHINY_PAL(TORKOAL, gMonShinyPalette_Torkoal),
+ SPECIES_SHINY_PAL(SABLEYE, gMonShinyPalette_Sableye),
+ SPECIES_SHINY_PAL(BARBOACH, gMonShinyPalette_Barboach),
+ SPECIES_SHINY_PAL(WHISCASH, gMonShinyPalette_Whiscash),
+ SPECIES_SHINY_PAL(LUVDISC, gMonShinyPalette_Luvdisc),
+ SPECIES_SHINY_PAL(CORPHISH, gMonShinyPalette_Corphish),
+ SPECIES_SHINY_PAL(CRAWDAUNT, gMonShinyPalette_Crawdaunt),
+ SPECIES_SHINY_PAL(FEEBAS, gMonShinyPalette_Feebas),
+ SPECIES_SHINY_PAL(MILOTIC, gMonShinyPalette_Milotic),
+ SPECIES_SHINY_PAL(CARVANHA, gMonShinyPalette_Carvanha),
+ SPECIES_SHINY_PAL(SHARPEDO, gMonShinyPalette_Sharpedo),
+ SPECIES_SHINY_PAL(TRAPINCH, gMonShinyPalette_Trapinch),
+ SPECIES_SHINY_PAL(VIBRAVA, gMonShinyPalette_Vibrava),
+ SPECIES_SHINY_PAL(FLYGON, gMonShinyPalette_Flygon),
+ SPECIES_SHINY_PAL(MAKUHITA, gMonShinyPalette_Makuhita),
+ SPECIES_SHINY_PAL(HARIYAMA, gMonShinyPalette_Hariyama),
+ SPECIES_SHINY_PAL(ELECTRIKE, gMonShinyPalette_Electrike),
+ SPECIES_SHINY_PAL(MANECTRIC, gMonShinyPalette_Manectric),
+ SPECIES_SHINY_PAL(NUMEL, gMonShinyPalette_Numel),
+ SPECIES_SHINY_PAL(CAMERUPT, gMonShinyPalette_Camerupt),
+ SPECIES_SHINY_PAL(SPHEAL, gMonShinyPalette_Spheal),
+ SPECIES_SHINY_PAL(SEALEO, gMonShinyPalette_Sealeo),
+ SPECIES_SHINY_PAL(WALREIN, gMonShinyPalette_Walrein),
+ SPECIES_SHINY_PAL(CACNEA, gMonShinyPalette_Cacnea),
+ SPECIES_SHINY_PAL(CACTURNE, gMonShinyPalette_Cacturne),
+ SPECIES_SHINY_PAL(SNORUNT, gMonShinyPalette_Snorunt),
+ SPECIES_SHINY_PAL(GLALIE, gMonShinyPalette_Glalie),
+ SPECIES_SHINY_PAL(LUNATONE, gMonShinyPalette_Lunatone),
+ SPECIES_SHINY_PAL(SOLROCK, gMonShinyPalette_Solrock),
+ SPECIES_SHINY_PAL(AZURILL, gMonShinyPalette_Azurill),
+ SPECIES_SHINY_PAL(SPOINK, gMonShinyPalette_Spoink),
+ SPECIES_SHINY_PAL(GRUMPIG, gMonShinyPalette_Grumpig),
+ SPECIES_SHINY_PAL(PLUSLE, gMonShinyPalette_Plusle),
+ SPECIES_SHINY_PAL(MINUN, gMonShinyPalette_Minun),
+ SPECIES_SHINY_PAL(MAWILE, gMonShinyPalette_Mawile),
+ SPECIES_SHINY_PAL(MEDITITE, gMonShinyPalette_Meditite),
+ SPECIES_SHINY_PAL(MEDICHAM, gMonShinyPalette_Medicham),
+ SPECIES_SHINY_PAL(SWABLU, gMonShinyPalette_Swablu),
+ SPECIES_SHINY_PAL(ALTARIA, gMonShinyPalette_Altaria),
+ SPECIES_SHINY_PAL(WYNAUT, gMonShinyPalette_Wynaut),
+ SPECIES_SHINY_PAL(DUSKULL, gMonShinyPalette_Duskull),
+ SPECIES_SHINY_PAL(DUSCLOPS, gMonShinyPalette_Dusclops),
+ SPECIES_SHINY_PAL(ROSELIA, gMonShinyPalette_Roselia),
+ SPECIES_SHINY_PAL(SLAKOTH, gMonShinyPalette_Slakoth),
+ SPECIES_SHINY_PAL(VIGOROTH, gMonShinyPalette_Vigoroth),
+ SPECIES_SHINY_PAL(SLAKING, gMonShinyPalette_Slaking),
+ SPECIES_SHINY_PAL(GULPIN, gMonShinyPalette_Gulpin),
+ SPECIES_SHINY_PAL(SWALOT, gMonShinyPalette_Swalot),
+ SPECIES_SHINY_PAL(TROPIUS, gMonShinyPalette_Tropius),
+ SPECIES_SHINY_PAL(WHISMUR, gMonShinyPalette_Whismur),
+ SPECIES_SHINY_PAL(LOUDRED, gMonShinyPalette_Loudred),
+ SPECIES_SHINY_PAL(EXPLOUD, gMonShinyPalette_Exploud),
+ SPECIES_SHINY_PAL(CLAMPERL, gMonShinyPalette_Clamperl),
+ SPECIES_SHINY_PAL(HUNTAIL, gMonShinyPalette_Huntail),
+ SPECIES_SHINY_PAL(GOREBYSS, gMonShinyPalette_Gorebyss),
+ SPECIES_SHINY_PAL(ABSOL, gMonShinyPalette_Absol),
+ SPECIES_SHINY_PAL(SHUPPET, gMonShinyPalette_Shuppet),
+ SPECIES_SHINY_PAL(BANETTE, gMonShinyPalette_Banette),
+ SPECIES_SHINY_PAL(SEVIPER, gMonShinyPalette_Seviper),
+ SPECIES_SHINY_PAL(ZANGOOSE, gMonShinyPalette_Zangoose),
+ SPECIES_SHINY_PAL(RELICANTH, gMonShinyPalette_Relicanth),
+ SPECIES_SHINY_PAL(ARON, gMonShinyPalette_Aron),
+ SPECIES_SHINY_PAL(LAIRON, gMonShinyPalette_Lairon),
+ SPECIES_SHINY_PAL(AGGRON, gMonShinyPalette_Aggron),
+ SPECIES_SHINY_PAL(CASTFORM, gMonShinyPalette_Castform),
+ SPECIES_SHINY_PAL(VOLBEAT, gMonShinyPalette_Volbeat),
+ SPECIES_SHINY_PAL(ILLUMISE, gMonShinyPalette_Illumise),
+ SPECIES_SHINY_PAL(LILEEP, gMonShinyPalette_Lileep),
+ SPECIES_SHINY_PAL(CRADILY, gMonShinyPalette_Cradily),
+ SPECIES_SHINY_PAL(ANORITH, gMonShinyPalette_Anorith),
+ SPECIES_SHINY_PAL(ARMALDO, gMonShinyPalette_Armaldo),
+ SPECIES_SHINY_PAL(RALTS, gMonShinyPalette_Ralts),
+ SPECIES_SHINY_PAL(KIRLIA, gMonShinyPalette_Kirlia),
+ SPECIES_SHINY_PAL(GARDEVOIR, gMonShinyPalette_Gardevoir),
+ SPECIES_SHINY_PAL(BAGON, gMonShinyPalette_Bagon),
+ SPECIES_SHINY_PAL(SHELGON, gMonShinyPalette_Shelgon),
+ SPECIES_SHINY_PAL(SALAMENCE, gMonShinyPalette_Salamence),
+ SPECIES_SHINY_PAL(BELDUM, gMonShinyPalette_Beldum),
+ SPECIES_SHINY_PAL(METANG, gMonShinyPalette_Metang),
+ SPECIES_SHINY_PAL(METAGROSS, gMonShinyPalette_Metagross),
+ SPECIES_SHINY_PAL(REGIROCK, gMonShinyPalette_Regirock),
+ SPECIES_SHINY_PAL(REGICE, gMonShinyPalette_Regice),
+ SPECIES_SHINY_PAL(REGISTEEL, gMonShinyPalette_Registeel),
+ SPECIES_SHINY_PAL(KYOGRE, gMonShinyPalette_Kyogre),
+ SPECIES_SHINY_PAL(GROUDON, gMonShinyPalette_Groudon),
+ SPECIES_SHINY_PAL(RAYQUAZA, gMonShinyPalette_Rayquaza),
+ SPECIES_SHINY_PAL(LATIAS, gMonShinyPalette_Latias),
+ SPECIES_SHINY_PAL(LATIOS, gMonShinyPalette_Latios),
+ SPECIES_SHINY_PAL(JIRACHI, gMonShinyPalette_Jirachi),
+ SPECIES_SHINY_PAL(DEOXYS, gMonShinyPalette_Deoxys),
+ SPECIES_SHINY_PAL(CHIMECHO, gMonShinyPalette_Chimecho),
+ SPECIES_SHINY_PAL(EGG, gMonPalette_Egg),
+ SPECIES_SHINY_PAL(UNOWN_B, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_C, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_D, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_E, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_F, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_G, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_H, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_I, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_J, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_K, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_L, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_M, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_N, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_O, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_P, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_Q, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_R, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_S, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_T, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_U, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_V, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_W, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_X, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_Y, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_Z, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_EMARK, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_QMARK, gMonShinyPalette_Unown),
};
diff --git a/src/data/pokemon_graphics/still_front_pic_table.h b/src/data/pokemon_graphics/still_front_pic_table.h
index 308a872b4..985a3aa2f 100644
--- a/src/data/pokemon_graphics/still_front_pic_table.h
+++ b/src/data/pokemon_graphics/still_front_pic_table.h
@@ -1,448 +1,446 @@
-#define STILL_FRONT_PIC(species, frontpic) [SPECIES_##species] = {frontpic, 0x800, SPECIES_##species}
-
-const struct CompressedSpriteSheet gMonStillFrontPicTable[] =
+const struct CompressedSpriteSheet gMonStillFrontPicTable[] =
{
- STILL_FRONT_PIC(NONE, gMonStillFrontPic_CircledQuestionMark),
- STILL_FRONT_PIC(BULBASAUR, gMonStillFrontPic_Bulbasaur),
- STILL_FRONT_PIC(IVYSAUR, gMonStillFrontPic_Ivysaur),
- STILL_FRONT_PIC(VENUSAUR, gMonStillFrontPic_Venusaur),
- STILL_FRONT_PIC(CHARMANDER, gMonStillFrontPic_Charmander),
- STILL_FRONT_PIC(CHARMELEON, gMonStillFrontPic_Charmeleon),
- STILL_FRONT_PIC(CHARIZARD, gMonStillFrontPic_Charizard),
- STILL_FRONT_PIC(SQUIRTLE, gMonStillFrontPic_Squirtle),
- STILL_FRONT_PIC(WARTORTLE, gMonStillFrontPic_Wartortle),
- STILL_FRONT_PIC(BLASTOISE, gMonStillFrontPic_Blastoise),
- STILL_FRONT_PIC(CATERPIE, gMonStillFrontPic_Caterpie),
- STILL_FRONT_PIC(METAPOD, gMonStillFrontPic_Metapod),
- STILL_FRONT_PIC(BUTTERFREE, gMonStillFrontPic_Butterfree),
- STILL_FRONT_PIC(WEEDLE, gMonStillFrontPic_Weedle),
- STILL_FRONT_PIC(KAKUNA, gMonStillFrontPic_Kakuna),
- STILL_FRONT_PIC(BEEDRILL, gMonStillFrontPic_Beedrill),
- STILL_FRONT_PIC(PIDGEY, gMonStillFrontPic_Pidgey),
- STILL_FRONT_PIC(PIDGEOTTO, gMonStillFrontPic_Pidgeotto),
- STILL_FRONT_PIC(PIDGEOT, gMonStillFrontPic_Pidgeot),
- STILL_FRONT_PIC(RATTATA, gMonStillFrontPic_Rattata),
- STILL_FRONT_PIC(RATICATE, gMonStillFrontPic_Raticate),
- STILL_FRONT_PIC(SPEAROW, gMonStillFrontPic_Spearow),
- STILL_FRONT_PIC(FEAROW, gMonStillFrontPic_Fearow),
- STILL_FRONT_PIC(EKANS, gMonStillFrontPic_Ekans),
- STILL_FRONT_PIC(ARBOK, gMonStillFrontPic_Arbok),
- STILL_FRONT_PIC(PIKACHU, gMonStillFrontPic_Pikachu),
- STILL_FRONT_PIC(RAICHU, gMonStillFrontPic_Raichu),
- STILL_FRONT_PIC(SANDSHREW, gMonStillFrontPic_Sandshrew),
- STILL_FRONT_PIC(SANDSLASH, gMonStillFrontPic_Sandslash),
- STILL_FRONT_PIC(NIDORAN_F, gMonStillFrontPic_NidoranF),
- STILL_FRONT_PIC(NIDORINA, gMonStillFrontPic_Nidorina),
- STILL_FRONT_PIC(NIDOQUEEN, gMonStillFrontPic_Nidoqueen),
- STILL_FRONT_PIC(NIDORAN_M, gMonStillFrontPic_NidoranM),
- STILL_FRONT_PIC(NIDORINO, gMonStillFrontPic_Nidorino),
- STILL_FRONT_PIC(NIDOKING, gMonStillFrontPic_Nidoking),
- STILL_FRONT_PIC(CLEFAIRY, gMonStillFrontPic_Clefairy),
- STILL_FRONT_PIC(CLEFABLE, gMonStillFrontPic_Clefable),
- STILL_FRONT_PIC(VULPIX, gMonStillFrontPic_Vulpix),
- STILL_FRONT_PIC(NINETALES, gMonStillFrontPic_Ninetales),
- STILL_FRONT_PIC(JIGGLYPUFF, gMonStillFrontPic_Jigglypuff),
- STILL_FRONT_PIC(WIGGLYTUFF, gMonStillFrontPic_Wigglytuff),
- STILL_FRONT_PIC(ZUBAT, gMonStillFrontPic_Zubat),
- STILL_FRONT_PIC(GOLBAT, gMonStillFrontPic_Golbat),
- STILL_FRONT_PIC(ODDISH, gMonStillFrontPic_Oddish),
- STILL_FRONT_PIC(GLOOM, gMonStillFrontPic_Gloom),
- STILL_FRONT_PIC(VILEPLUME, gMonStillFrontPic_Vileplume),
- STILL_FRONT_PIC(PARAS, gMonStillFrontPic_Paras),
- STILL_FRONT_PIC(PARASECT, gMonStillFrontPic_Parasect),
- STILL_FRONT_PIC(VENONAT, gMonStillFrontPic_Venonat),
- STILL_FRONT_PIC(VENOMOTH, gMonStillFrontPic_Venomoth),
- STILL_FRONT_PIC(DIGLETT, gMonStillFrontPic_Diglett),
- STILL_FRONT_PIC(DUGTRIO, gMonStillFrontPic_Dugtrio),
- STILL_FRONT_PIC(MEOWTH, gMonStillFrontPic_Meowth),
- STILL_FRONT_PIC(PERSIAN, gMonStillFrontPic_Persian),
- STILL_FRONT_PIC(PSYDUCK, gMonStillFrontPic_Psyduck),
- STILL_FRONT_PIC(GOLDUCK, gMonStillFrontPic_Golduck),
- STILL_FRONT_PIC(MANKEY, gMonStillFrontPic_Mankey),
- STILL_FRONT_PIC(PRIMEAPE, gMonStillFrontPic_Primeape),
- STILL_FRONT_PIC(GROWLITHE, gMonStillFrontPic_Growlithe),
- STILL_FRONT_PIC(ARCANINE, gMonStillFrontPic_Arcanine),
- STILL_FRONT_PIC(POLIWAG, gMonStillFrontPic_Poliwag),
- STILL_FRONT_PIC(POLIWHIRL, gMonStillFrontPic_Poliwhirl),
- STILL_FRONT_PIC(POLIWRATH, gMonStillFrontPic_Poliwrath),
- STILL_FRONT_PIC(ABRA, gMonStillFrontPic_Abra),
- STILL_FRONT_PIC(KADABRA, gMonStillFrontPic_Kadabra),
- STILL_FRONT_PIC(ALAKAZAM, gMonStillFrontPic_Alakazam),
- STILL_FRONT_PIC(MACHOP, gMonStillFrontPic_Machop),
- STILL_FRONT_PIC(MACHOKE, gMonStillFrontPic_Machoke),
- STILL_FRONT_PIC(MACHAMP, gMonStillFrontPic_Machamp),
- STILL_FRONT_PIC(BELLSPROUT, gMonStillFrontPic_Bellsprout),
- STILL_FRONT_PIC(WEEPINBELL, gMonStillFrontPic_Weepinbell),
- STILL_FRONT_PIC(VICTREEBEL, gMonStillFrontPic_Victreebel),
- STILL_FRONT_PIC(TENTACOOL, gMonStillFrontPic_Tentacool),
- STILL_FRONT_PIC(TENTACRUEL, gMonStillFrontPic_Tentacruel),
- STILL_FRONT_PIC(GEODUDE, gMonStillFrontPic_Geodude),
- STILL_FRONT_PIC(GRAVELER, gMonStillFrontPic_Graveler),
- STILL_FRONT_PIC(GOLEM, gMonStillFrontPic_Golem),
- STILL_FRONT_PIC(PONYTA, gMonStillFrontPic_Ponyta),
- STILL_FRONT_PIC(RAPIDASH, gMonStillFrontPic_Rapidash),
- STILL_FRONT_PIC(SLOWPOKE, gMonStillFrontPic_Slowpoke),
- STILL_FRONT_PIC(SLOWBRO, gMonStillFrontPic_Slowbro),
- STILL_FRONT_PIC(MAGNEMITE, gMonStillFrontPic_Magnemite),
- STILL_FRONT_PIC(MAGNETON, gMonStillFrontPic_Magneton),
- STILL_FRONT_PIC(FARFETCHD, gMonStillFrontPic_Farfetchd),
- STILL_FRONT_PIC(DODUO, gMonStillFrontPic_Doduo),
- STILL_FRONT_PIC(DODRIO, gMonStillFrontPic_Dodrio),
- STILL_FRONT_PIC(SEEL, gMonStillFrontPic_Seel),
- STILL_FRONT_PIC(DEWGONG, gMonStillFrontPic_Dewgong),
- STILL_FRONT_PIC(GRIMER, gMonStillFrontPic_Grimer),
- STILL_FRONT_PIC(MUK, gMonStillFrontPic_Muk),
- STILL_FRONT_PIC(SHELLDER, gMonStillFrontPic_Shellder),
- STILL_FRONT_PIC(CLOYSTER, gMonStillFrontPic_Cloyster),
- STILL_FRONT_PIC(GASTLY, gMonStillFrontPic_Gastly),
- STILL_FRONT_PIC(HAUNTER, gMonStillFrontPic_Haunter),
- STILL_FRONT_PIC(GENGAR, gMonStillFrontPic_Gengar),
- STILL_FRONT_PIC(ONIX, gMonStillFrontPic_Onix),
- STILL_FRONT_PIC(DROWZEE, gMonStillFrontPic_Drowzee),
- STILL_FRONT_PIC(HYPNO, gMonStillFrontPic_Hypno),
- STILL_FRONT_PIC(KRABBY, gMonStillFrontPic_Krabby),
- STILL_FRONT_PIC(KINGLER, gMonStillFrontPic_Kingler),
- STILL_FRONT_PIC(VOLTORB, gMonStillFrontPic_Voltorb),
- STILL_FRONT_PIC(ELECTRODE, gMonStillFrontPic_Electrode),
- STILL_FRONT_PIC(EXEGGCUTE, gMonStillFrontPic_Exeggcute),
- STILL_FRONT_PIC(EXEGGUTOR, gMonStillFrontPic_Exeggutor),
- STILL_FRONT_PIC(CUBONE, gMonStillFrontPic_Cubone),
- STILL_FRONT_PIC(MAROWAK, gMonStillFrontPic_Marowak),
- STILL_FRONT_PIC(HITMONLEE, gMonStillFrontPic_Hitmonlee),
- STILL_FRONT_PIC(HITMONCHAN, gMonStillFrontPic_Hitmonchan),
- STILL_FRONT_PIC(LICKITUNG, gMonStillFrontPic_Lickitung),
- STILL_FRONT_PIC(KOFFING, gMonStillFrontPic_Koffing),
- STILL_FRONT_PIC(WEEZING, gMonStillFrontPic_Weezing),
- STILL_FRONT_PIC(RHYHORN, gMonStillFrontPic_Rhyhorn),
- STILL_FRONT_PIC(RHYDON, gMonStillFrontPic_Rhydon),
- STILL_FRONT_PIC(CHANSEY, gMonStillFrontPic_Chansey),
- STILL_FRONT_PIC(TANGELA, gMonStillFrontPic_Tangela),
- STILL_FRONT_PIC(KANGASKHAN, gMonStillFrontPic_Kangaskhan),
- STILL_FRONT_PIC(HORSEA, gMonStillFrontPic_Horsea),
- STILL_FRONT_PIC(SEADRA, gMonStillFrontPic_Seadra),
- STILL_FRONT_PIC(GOLDEEN, gMonStillFrontPic_Goldeen),
- STILL_FRONT_PIC(SEAKING, gMonStillFrontPic_Seaking),
- STILL_FRONT_PIC(STARYU, gMonStillFrontPic_Staryu),
- STILL_FRONT_PIC(STARMIE, gMonStillFrontPic_Starmie),
- STILL_FRONT_PIC(MR_MIME, gMonStillFrontPic_Mrmime),
- STILL_FRONT_PIC(SCYTHER, gMonStillFrontPic_Scyther),
- STILL_FRONT_PIC(JYNX, gMonStillFrontPic_Jynx),
- STILL_FRONT_PIC(ELECTABUZZ, gMonStillFrontPic_Electabuzz),
- STILL_FRONT_PIC(MAGMAR, gMonStillFrontPic_Magmar),
- STILL_FRONT_PIC(PINSIR, gMonStillFrontPic_Pinsir),
- STILL_FRONT_PIC(TAUROS, gMonStillFrontPic_Tauros),
- STILL_FRONT_PIC(MAGIKARP, gMonStillFrontPic_Magikarp),
- STILL_FRONT_PIC(GYARADOS, gMonStillFrontPic_Gyarados),
- STILL_FRONT_PIC(LAPRAS, gMonStillFrontPic_Lapras),
- STILL_FRONT_PIC(DITTO, gMonStillFrontPic_Ditto),
- STILL_FRONT_PIC(EEVEE, gMonStillFrontPic_Eevee),
- STILL_FRONT_PIC(VAPOREON, gMonStillFrontPic_Vaporeon),
- STILL_FRONT_PIC(JOLTEON, gMonStillFrontPic_Jolteon),
- STILL_FRONT_PIC(FLAREON, gMonStillFrontPic_Flareon),
- STILL_FRONT_PIC(PORYGON, gMonStillFrontPic_Porygon),
- STILL_FRONT_PIC(OMANYTE, gMonStillFrontPic_Omanyte),
- STILL_FRONT_PIC(OMASTAR, gMonStillFrontPic_Omastar),
- STILL_FRONT_PIC(KABUTO, gMonStillFrontPic_Kabuto),
- STILL_FRONT_PIC(KABUTOPS, gMonStillFrontPic_Kabutops),
- STILL_FRONT_PIC(AERODACTYL, gMonStillFrontPic_Aerodactyl),
- STILL_FRONT_PIC(SNORLAX, gMonStillFrontPic_Snorlax),
- STILL_FRONT_PIC(ARTICUNO, gMonStillFrontPic_Articuno),
- STILL_FRONT_PIC(ZAPDOS, gMonStillFrontPic_Zapdos),
- STILL_FRONT_PIC(MOLTRES, gMonStillFrontPic_Moltres),
- STILL_FRONT_PIC(DRATINI, gMonStillFrontPic_Dratini),
- STILL_FRONT_PIC(DRAGONAIR, gMonStillFrontPic_Dragonair),
- STILL_FRONT_PIC(DRAGONITE, gMonStillFrontPic_Dragonite),
- STILL_FRONT_PIC(MEWTWO, gMonStillFrontPic_Mewtwo),
- STILL_FRONT_PIC(MEW, gMonStillFrontPic_Mew),
+ SPECIES_SPRITE(NONE, gMonStillFrontPic_CircledQuestionMark),
+ SPECIES_SPRITE(BULBASAUR, gMonStillFrontPic_Bulbasaur),
+ SPECIES_SPRITE(IVYSAUR, gMonStillFrontPic_Ivysaur),
+ SPECIES_SPRITE(VENUSAUR, gMonStillFrontPic_Venusaur),
+ SPECIES_SPRITE(CHARMANDER, gMonStillFrontPic_Charmander),
+ SPECIES_SPRITE(CHARMELEON, gMonStillFrontPic_Charmeleon),
+ SPECIES_SPRITE(CHARIZARD, gMonStillFrontPic_Charizard),
+ SPECIES_SPRITE(SQUIRTLE, gMonStillFrontPic_Squirtle),
+ SPECIES_SPRITE(WARTORTLE, gMonStillFrontPic_Wartortle),
+ SPECIES_SPRITE(BLASTOISE, gMonStillFrontPic_Blastoise),
+ SPECIES_SPRITE(CATERPIE, gMonStillFrontPic_Caterpie),
+ SPECIES_SPRITE(METAPOD, gMonStillFrontPic_Metapod),
+ SPECIES_SPRITE(BUTTERFREE, gMonStillFrontPic_Butterfree),
+ SPECIES_SPRITE(WEEDLE, gMonStillFrontPic_Weedle),
+ SPECIES_SPRITE(KAKUNA, gMonStillFrontPic_Kakuna),
+ SPECIES_SPRITE(BEEDRILL, gMonStillFrontPic_Beedrill),
+ SPECIES_SPRITE(PIDGEY, gMonStillFrontPic_Pidgey),
+ SPECIES_SPRITE(PIDGEOTTO, gMonStillFrontPic_Pidgeotto),
+ SPECIES_SPRITE(PIDGEOT, gMonStillFrontPic_Pidgeot),
+ SPECIES_SPRITE(RATTATA, gMonStillFrontPic_Rattata),
+ SPECIES_SPRITE(RATICATE, gMonStillFrontPic_Raticate),
+ SPECIES_SPRITE(SPEAROW, gMonStillFrontPic_Spearow),
+ SPECIES_SPRITE(FEAROW, gMonStillFrontPic_Fearow),
+ SPECIES_SPRITE(EKANS, gMonStillFrontPic_Ekans),
+ SPECIES_SPRITE(ARBOK, gMonStillFrontPic_Arbok),
+ SPECIES_SPRITE(PIKACHU, gMonStillFrontPic_Pikachu),
+ SPECIES_SPRITE(RAICHU, gMonStillFrontPic_Raichu),
+ SPECIES_SPRITE(SANDSHREW, gMonStillFrontPic_Sandshrew),
+ SPECIES_SPRITE(SANDSLASH, gMonStillFrontPic_Sandslash),
+ SPECIES_SPRITE(NIDORAN_F, gMonStillFrontPic_NidoranF),
+ SPECIES_SPRITE(NIDORINA, gMonStillFrontPic_Nidorina),
+ SPECIES_SPRITE(NIDOQUEEN, gMonStillFrontPic_Nidoqueen),
+ SPECIES_SPRITE(NIDORAN_M, gMonStillFrontPic_NidoranM),
+ SPECIES_SPRITE(NIDORINO, gMonStillFrontPic_Nidorino),
+ SPECIES_SPRITE(NIDOKING, gMonStillFrontPic_Nidoking),
+ SPECIES_SPRITE(CLEFAIRY, gMonStillFrontPic_Clefairy),
+ SPECIES_SPRITE(CLEFABLE, gMonStillFrontPic_Clefable),
+ SPECIES_SPRITE(VULPIX, gMonStillFrontPic_Vulpix),
+ SPECIES_SPRITE(NINETALES, gMonStillFrontPic_Ninetales),
+ SPECIES_SPRITE(JIGGLYPUFF, gMonStillFrontPic_Jigglypuff),
+ SPECIES_SPRITE(WIGGLYTUFF, gMonStillFrontPic_Wigglytuff),
+ SPECIES_SPRITE(ZUBAT, gMonStillFrontPic_Zubat),
+ SPECIES_SPRITE(GOLBAT, gMonStillFrontPic_Golbat),
+ SPECIES_SPRITE(ODDISH, gMonStillFrontPic_Oddish),
+ SPECIES_SPRITE(GLOOM, gMonStillFrontPic_Gloom),
+ SPECIES_SPRITE(VILEPLUME, gMonStillFrontPic_Vileplume),
+ SPECIES_SPRITE(PARAS, gMonStillFrontPic_Paras),
+ SPECIES_SPRITE(PARASECT, gMonStillFrontPic_Parasect),
+ SPECIES_SPRITE(VENONAT, gMonStillFrontPic_Venonat),
+ SPECIES_SPRITE(VENOMOTH, gMonStillFrontPic_Venomoth),
+ SPECIES_SPRITE(DIGLETT, gMonStillFrontPic_Diglett),
+ SPECIES_SPRITE(DUGTRIO, gMonStillFrontPic_Dugtrio),
+ SPECIES_SPRITE(MEOWTH, gMonStillFrontPic_Meowth),
+ SPECIES_SPRITE(PERSIAN, gMonStillFrontPic_Persian),
+ SPECIES_SPRITE(PSYDUCK, gMonStillFrontPic_Psyduck),
+ SPECIES_SPRITE(GOLDUCK, gMonStillFrontPic_Golduck),
+ SPECIES_SPRITE(MANKEY, gMonStillFrontPic_Mankey),
+ SPECIES_SPRITE(PRIMEAPE, gMonStillFrontPic_Primeape),
+ SPECIES_SPRITE(GROWLITHE, gMonStillFrontPic_Growlithe),
+ SPECIES_SPRITE(ARCANINE, gMonStillFrontPic_Arcanine),
+ SPECIES_SPRITE(POLIWAG, gMonStillFrontPic_Poliwag),
+ SPECIES_SPRITE(POLIWHIRL, gMonStillFrontPic_Poliwhirl),
+ SPECIES_SPRITE(POLIWRATH, gMonStillFrontPic_Poliwrath),
+ SPECIES_SPRITE(ABRA, gMonStillFrontPic_Abra),
+ SPECIES_SPRITE(KADABRA, gMonStillFrontPic_Kadabra),
+ SPECIES_SPRITE(ALAKAZAM, gMonStillFrontPic_Alakazam),
+ SPECIES_SPRITE(MACHOP, gMonStillFrontPic_Machop),
+ SPECIES_SPRITE(MACHOKE, gMonStillFrontPic_Machoke),
+ SPECIES_SPRITE(MACHAMP, gMonStillFrontPic_Machamp),
+ SPECIES_SPRITE(BELLSPROUT, gMonStillFrontPic_Bellsprout),
+ SPECIES_SPRITE(WEEPINBELL, gMonStillFrontPic_Weepinbell),
+ SPECIES_SPRITE(VICTREEBEL, gMonStillFrontPic_Victreebel),
+ SPECIES_SPRITE(TENTACOOL, gMonStillFrontPic_Tentacool),
+ SPECIES_SPRITE(TENTACRUEL, gMonStillFrontPic_Tentacruel),
+ SPECIES_SPRITE(GEODUDE, gMonStillFrontPic_Geodude),
+ SPECIES_SPRITE(GRAVELER, gMonStillFrontPic_Graveler),
+ SPECIES_SPRITE(GOLEM, gMonStillFrontPic_Golem),
+ SPECIES_SPRITE(PONYTA, gMonStillFrontPic_Ponyta),
+ SPECIES_SPRITE(RAPIDASH, gMonStillFrontPic_Rapidash),
+ SPECIES_SPRITE(SLOWPOKE, gMonStillFrontPic_Slowpoke),
+ SPECIES_SPRITE(SLOWBRO, gMonStillFrontPic_Slowbro),
+ SPECIES_SPRITE(MAGNEMITE, gMonStillFrontPic_Magnemite),
+ SPECIES_SPRITE(MAGNETON, gMonStillFrontPic_Magneton),
+ SPECIES_SPRITE(FARFETCHD, gMonStillFrontPic_Farfetchd),
+ SPECIES_SPRITE(DODUO, gMonStillFrontPic_Doduo),
+ SPECIES_SPRITE(DODRIO, gMonStillFrontPic_Dodrio),
+ SPECIES_SPRITE(SEEL, gMonStillFrontPic_Seel),
+ SPECIES_SPRITE(DEWGONG, gMonStillFrontPic_Dewgong),
+ SPECIES_SPRITE(GRIMER, gMonStillFrontPic_Grimer),
+ SPECIES_SPRITE(MUK, gMonStillFrontPic_Muk),
+ SPECIES_SPRITE(SHELLDER, gMonStillFrontPic_Shellder),
+ SPECIES_SPRITE(CLOYSTER, gMonStillFrontPic_Cloyster),
+ SPECIES_SPRITE(GASTLY, gMonStillFrontPic_Gastly),
+ SPECIES_SPRITE(HAUNTER, gMonStillFrontPic_Haunter),
+ SPECIES_SPRITE(GENGAR, gMonStillFrontPic_Gengar),
+ SPECIES_SPRITE(ONIX, gMonStillFrontPic_Onix),
+ SPECIES_SPRITE(DROWZEE, gMonStillFrontPic_Drowzee),
+ SPECIES_SPRITE(HYPNO, gMonStillFrontPic_Hypno),
+ SPECIES_SPRITE(KRABBY, gMonStillFrontPic_Krabby),
+ SPECIES_SPRITE(KINGLER, gMonStillFrontPic_Kingler),
+ SPECIES_SPRITE(VOLTORB, gMonStillFrontPic_Voltorb),
+ SPECIES_SPRITE(ELECTRODE, gMonStillFrontPic_Electrode),
+ SPECIES_SPRITE(EXEGGCUTE, gMonStillFrontPic_Exeggcute),
+ SPECIES_SPRITE(EXEGGUTOR, gMonStillFrontPic_Exeggutor),
+ SPECIES_SPRITE(CUBONE, gMonStillFrontPic_Cubone),
+ SPECIES_SPRITE(MAROWAK, gMonStillFrontPic_Marowak),
+ SPECIES_SPRITE(HITMONLEE, gMonStillFrontPic_Hitmonlee),
+ SPECIES_SPRITE(HITMONCHAN, gMonStillFrontPic_Hitmonchan),
+ SPECIES_SPRITE(LICKITUNG, gMonStillFrontPic_Lickitung),
+ SPECIES_SPRITE(KOFFING, gMonStillFrontPic_Koffing),
+ SPECIES_SPRITE(WEEZING, gMonStillFrontPic_Weezing),
+ SPECIES_SPRITE(RHYHORN, gMonStillFrontPic_Rhyhorn),
+ SPECIES_SPRITE(RHYDON, gMonStillFrontPic_Rhydon),
+ SPECIES_SPRITE(CHANSEY, gMonStillFrontPic_Chansey),
+ SPECIES_SPRITE(TANGELA, gMonStillFrontPic_Tangela),
+ SPECIES_SPRITE(KANGASKHAN, gMonStillFrontPic_Kangaskhan),
+ SPECIES_SPRITE(HORSEA, gMonStillFrontPic_Horsea),
+ SPECIES_SPRITE(SEADRA, gMonStillFrontPic_Seadra),
+ SPECIES_SPRITE(GOLDEEN, gMonStillFrontPic_Goldeen),
+ SPECIES_SPRITE(SEAKING, gMonStillFrontPic_Seaking),
+ SPECIES_SPRITE(STARYU, gMonStillFrontPic_Staryu),
+ SPECIES_SPRITE(STARMIE, gMonStillFrontPic_Starmie),
+ SPECIES_SPRITE(MR_MIME, gMonStillFrontPic_Mrmime),
+ SPECIES_SPRITE(SCYTHER, gMonStillFrontPic_Scyther),
+ SPECIES_SPRITE(JYNX, gMonStillFrontPic_Jynx),
+ SPECIES_SPRITE(ELECTABUZZ, gMonStillFrontPic_Electabuzz),
+ SPECIES_SPRITE(MAGMAR, gMonStillFrontPic_Magmar),
+ SPECIES_SPRITE(PINSIR, gMonStillFrontPic_Pinsir),
+ SPECIES_SPRITE(TAUROS, gMonStillFrontPic_Tauros),
+ SPECIES_SPRITE(MAGIKARP, gMonStillFrontPic_Magikarp),
+ SPECIES_SPRITE(GYARADOS, gMonStillFrontPic_Gyarados),
+ SPECIES_SPRITE(LAPRAS, gMonStillFrontPic_Lapras),
+ SPECIES_SPRITE(DITTO, gMonStillFrontPic_Ditto),
+ SPECIES_SPRITE(EEVEE, gMonStillFrontPic_Eevee),
+ SPECIES_SPRITE(VAPOREON, gMonStillFrontPic_Vaporeon),
+ SPECIES_SPRITE(JOLTEON, gMonStillFrontPic_Jolteon),
+ SPECIES_SPRITE(FLAREON, gMonStillFrontPic_Flareon),
+ SPECIES_SPRITE(PORYGON, gMonStillFrontPic_Porygon),
+ SPECIES_SPRITE(OMANYTE, gMonStillFrontPic_Omanyte),
+ SPECIES_SPRITE(OMASTAR, gMonStillFrontPic_Omastar),
+ SPECIES_SPRITE(KABUTO, gMonStillFrontPic_Kabuto),
+ SPECIES_SPRITE(KABUTOPS, gMonStillFrontPic_Kabutops),
+ SPECIES_SPRITE(AERODACTYL, gMonStillFrontPic_Aerodactyl),
+ SPECIES_SPRITE(SNORLAX, gMonStillFrontPic_Snorlax),
+ SPECIES_SPRITE(ARTICUNO, gMonStillFrontPic_Articuno),
+ SPECIES_SPRITE(ZAPDOS, gMonStillFrontPic_Zapdos),
+ SPECIES_SPRITE(MOLTRES, gMonStillFrontPic_Moltres),
+ SPECIES_SPRITE(DRATINI, gMonStillFrontPic_Dratini),
+ SPECIES_SPRITE(DRAGONAIR, gMonStillFrontPic_Dragonair),
+ SPECIES_SPRITE(DRAGONITE, gMonStillFrontPic_Dragonite),
+ SPECIES_SPRITE(MEWTWO, gMonStillFrontPic_Mewtwo),
+ SPECIES_SPRITE(MEW, gMonStillFrontPic_Mew),
// Gen II
- STILL_FRONT_PIC(CHIKORITA, gMonStillFrontPic_Chikorita),
- STILL_FRONT_PIC(BAYLEEF, gMonStillFrontPic_Bayleef),
- STILL_FRONT_PIC(MEGANIUM, gMonStillFrontPic_Meganium),
- STILL_FRONT_PIC(CYNDAQUIL, gMonStillFrontPic_Cyndaquil),
- STILL_FRONT_PIC(QUILAVA, gMonStillFrontPic_Quilava),
- STILL_FRONT_PIC(TYPHLOSION, gMonStillFrontPic_Typhlosion),
- STILL_FRONT_PIC(TOTODILE, gMonStillFrontPic_Totodile),
- STILL_FRONT_PIC(CROCONAW, gMonStillFrontPic_Croconaw),
- STILL_FRONT_PIC(FERALIGATR, gMonStillFrontPic_Feraligatr),
- STILL_FRONT_PIC(SENTRET, gMonStillFrontPic_Sentret),
- STILL_FRONT_PIC(FURRET, gMonStillFrontPic_Furret),
- STILL_FRONT_PIC(HOOTHOOT, gMonStillFrontPic_Hoothoot),
- STILL_FRONT_PIC(NOCTOWL, gMonStillFrontPic_Noctowl),
- STILL_FRONT_PIC(LEDYBA, gMonStillFrontPic_Ledyba),
- STILL_FRONT_PIC(LEDIAN, gMonStillFrontPic_Ledian),
- STILL_FRONT_PIC(SPINARAK, gMonStillFrontPic_Spinarak),
- STILL_FRONT_PIC(ARIADOS, gMonStillFrontPic_Ariados),
- STILL_FRONT_PIC(CROBAT, gMonStillFrontPic_Crobat),
- STILL_FRONT_PIC(CHINCHOU, gMonStillFrontPic_Chinchou),
- STILL_FRONT_PIC(LANTURN, gMonStillFrontPic_Lanturn),
- STILL_FRONT_PIC(PICHU, gMonStillFrontPic_Pichu),
- STILL_FRONT_PIC(CLEFFA, gMonStillFrontPic_Cleffa),
- STILL_FRONT_PIC(IGGLYBUFF, gMonStillFrontPic_Igglybuff),
- STILL_FRONT_PIC(TOGEPI, gMonStillFrontPic_Togepi),
- STILL_FRONT_PIC(TOGETIC, gMonStillFrontPic_Togetic),
- STILL_FRONT_PIC(NATU, gMonStillFrontPic_Natu),
- STILL_FRONT_PIC(XATU, gMonStillFrontPic_Xatu),
- STILL_FRONT_PIC(MAREEP, gMonStillFrontPic_Mareep),
- STILL_FRONT_PIC(FLAAFFY, gMonStillFrontPic_Flaaffy),
- STILL_FRONT_PIC(AMPHAROS, gMonStillFrontPic_Ampharos),
- STILL_FRONT_PIC(BELLOSSOM, gMonStillFrontPic_Bellossom),
- STILL_FRONT_PIC(MARILL, gMonStillFrontPic_Marill),
- STILL_FRONT_PIC(AZUMARILL, gMonStillFrontPic_Azumarill),
- STILL_FRONT_PIC(SUDOWOODO, gMonStillFrontPic_Sudowoodo),
- STILL_FRONT_PIC(POLITOED, gMonStillFrontPic_Politoed),
- STILL_FRONT_PIC(HOPPIP, gMonStillFrontPic_Hoppip),
- STILL_FRONT_PIC(SKIPLOOM, gMonStillFrontPic_Skiploom),
- STILL_FRONT_PIC(JUMPLUFF, gMonStillFrontPic_Jumpluff),
- STILL_FRONT_PIC(AIPOM, gMonStillFrontPic_Aipom),
- STILL_FRONT_PIC(SUNKERN, gMonStillFrontPic_Sunkern),
- STILL_FRONT_PIC(SUNFLORA, gMonStillFrontPic_Sunflora),
- STILL_FRONT_PIC(YANMA, gMonStillFrontPic_Yanma),
- STILL_FRONT_PIC(WOOPER, gMonStillFrontPic_Wooper),
- STILL_FRONT_PIC(QUAGSIRE, gMonStillFrontPic_Quagsire),
- STILL_FRONT_PIC(ESPEON, gMonStillFrontPic_Espeon),
- STILL_FRONT_PIC(UMBREON, gMonStillFrontPic_Umbreon),
- STILL_FRONT_PIC(MURKROW, gMonStillFrontPic_Murkrow),
- STILL_FRONT_PIC(SLOWKING, gMonStillFrontPic_Slowking),
- STILL_FRONT_PIC(MISDREAVUS, gMonStillFrontPic_Misdreavus),
- STILL_FRONT_PIC(UNOWN, gMonStillFrontPic_UnownA),
- STILL_FRONT_PIC(WOBBUFFET, gMonStillFrontPic_Wobbuffet),
- STILL_FRONT_PIC(GIRAFARIG, gMonStillFrontPic_Girafarig),
- STILL_FRONT_PIC(PINECO, gMonStillFrontPic_Pineco),
- STILL_FRONT_PIC(FORRETRESS, gMonStillFrontPic_Forretress),
- STILL_FRONT_PIC(DUNSPARCE, gMonStillFrontPic_Dunsparce),
- STILL_FRONT_PIC(GLIGAR, gMonStillFrontPic_Gligar),
- STILL_FRONT_PIC(STEELIX, gMonStillFrontPic_Steelix),
- STILL_FRONT_PIC(SNUBBULL, gMonStillFrontPic_Snubbull),
- STILL_FRONT_PIC(GRANBULL, gMonStillFrontPic_Granbull),
- STILL_FRONT_PIC(QWILFISH, gMonStillFrontPic_Qwilfish),
- STILL_FRONT_PIC(SCIZOR, gMonStillFrontPic_Scizor),
- STILL_FRONT_PIC(SHUCKLE, gMonStillFrontPic_Shuckle),
- STILL_FRONT_PIC(HERACROSS, gMonStillFrontPic_Heracross),
- STILL_FRONT_PIC(SNEASEL, gMonStillFrontPic_Sneasel),
- STILL_FRONT_PIC(TEDDIURSA, gMonStillFrontPic_Teddiursa),
- STILL_FRONT_PIC(URSARING, gMonStillFrontPic_Ursaring),
- STILL_FRONT_PIC(SLUGMA, gMonStillFrontPic_Slugma),
- STILL_FRONT_PIC(MAGCARGO, gMonStillFrontPic_Magcargo),
- STILL_FRONT_PIC(SWINUB, gMonStillFrontPic_Swinub),
- STILL_FRONT_PIC(PILOSWINE, gMonStillFrontPic_Piloswine),
- STILL_FRONT_PIC(CORSOLA, gMonStillFrontPic_Corsola),
- STILL_FRONT_PIC(REMORAID, gMonStillFrontPic_Remoraid),
- STILL_FRONT_PIC(OCTILLERY, gMonStillFrontPic_Octillery),
- STILL_FRONT_PIC(DELIBIRD, gMonStillFrontPic_Delibird),
- STILL_FRONT_PIC(MANTINE, gMonStillFrontPic_Mantine),
- STILL_FRONT_PIC(SKARMORY, gMonStillFrontPic_Skarmory),
- STILL_FRONT_PIC(HOUNDOUR, gMonStillFrontPic_Houndour),
- STILL_FRONT_PIC(HOUNDOOM, gMonStillFrontPic_Houndoom),
- STILL_FRONT_PIC(KINGDRA, gMonStillFrontPic_Kingdra),
- STILL_FRONT_PIC(PHANPY, gMonStillFrontPic_Phanpy),
- STILL_FRONT_PIC(DONPHAN, gMonStillFrontPic_Donphan),
- STILL_FRONT_PIC(PORYGON2, gMonStillFrontPic_Porygon2),
- STILL_FRONT_PIC(STANTLER, gMonStillFrontPic_Stantler),
- STILL_FRONT_PIC(SMEARGLE, gMonStillFrontPic_Smeargle),
- STILL_FRONT_PIC(TYROGUE, gMonStillFrontPic_Tyrogue),
- STILL_FRONT_PIC(HITMONTOP, gMonStillFrontPic_Hitmontop),
- STILL_FRONT_PIC(SMOOCHUM, gMonStillFrontPic_Smoochum),
- STILL_FRONT_PIC(ELEKID, gMonStillFrontPic_Elekid),
- STILL_FRONT_PIC(MAGBY, gMonStillFrontPic_Magby),
- STILL_FRONT_PIC(MILTANK, gMonStillFrontPic_Miltank),
- STILL_FRONT_PIC(BLISSEY, gMonStillFrontPic_Blissey),
- STILL_FRONT_PIC(RAIKOU, gMonStillFrontPic_Raikou),
- STILL_FRONT_PIC(ENTEI, gMonStillFrontPic_Entei),
- STILL_FRONT_PIC(SUICUNE, gMonStillFrontPic_Suicune),
- STILL_FRONT_PIC(LARVITAR, gMonStillFrontPic_Larvitar),
- STILL_FRONT_PIC(PUPITAR, gMonStillFrontPic_Pupitar),
- STILL_FRONT_PIC(TYRANITAR, gMonStillFrontPic_Tyranitar),
- STILL_FRONT_PIC(LUGIA, gMonStillFrontPic_Lugia),
- STILL_FRONT_PIC(HO_OH, gMonStillFrontPic_HoOh),
- STILL_FRONT_PIC(CELEBI, gMonStillFrontPic_Celebi),
+ SPECIES_SPRITE(CHIKORITA, gMonStillFrontPic_Chikorita),
+ SPECIES_SPRITE(BAYLEEF, gMonStillFrontPic_Bayleef),
+ SPECIES_SPRITE(MEGANIUM, gMonStillFrontPic_Meganium),
+ SPECIES_SPRITE(CYNDAQUIL, gMonStillFrontPic_Cyndaquil),
+ SPECIES_SPRITE(QUILAVA, gMonStillFrontPic_Quilava),
+ SPECIES_SPRITE(TYPHLOSION, gMonStillFrontPic_Typhlosion),
+ SPECIES_SPRITE(TOTODILE, gMonStillFrontPic_Totodile),
+ SPECIES_SPRITE(CROCONAW, gMonStillFrontPic_Croconaw),
+ SPECIES_SPRITE(FERALIGATR, gMonStillFrontPic_Feraligatr),
+ SPECIES_SPRITE(SENTRET, gMonStillFrontPic_Sentret),
+ SPECIES_SPRITE(FURRET, gMonStillFrontPic_Furret),
+ SPECIES_SPRITE(HOOTHOOT, gMonStillFrontPic_Hoothoot),
+ SPECIES_SPRITE(NOCTOWL, gMonStillFrontPic_Noctowl),
+ SPECIES_SPRITE(LEDYBA, gMonStillFrontPic_Ledyba),
+ SPECIES_SPRITE(LEDIAN, gMonStillFrontPic_Ledian),
+ SPECIES_SPRITE(SPINARAK, gMonStillFrontPic_Spinarak),
+ SPECIES_SPRITE(ARIADOS, gMonStillFrontPic_Ariados),
+ SPECIES_SPRITE(CROBAT, gMonStillFrontPic_Crobat),
+ SPECIES_SPRITE(CHINCHOU, gMonStillFrontPic_Chinchou),
+ SPECIES_SPRITE(LANTURN, gMonStillFrontPic_Lanturn),
+ SPECIES_SPRITE(PICHU, gMonStillFrontPic_Pichu),
+ SPECIES_SPRITE(CLEFFA, gMonStillFrontPic_Cleffa),
+ SPECIES_SPRITE(IGGLYBUFF, gMonStillFrontPic_Igglybuff),
+ SPECIES_SPRITE(TOGEPI, gMonStillFrontPic_Togepi),
+ SPECIES_SPRITE(TOGETIC, gMonStillFrontPic_Togetic),
+ SPECIES_SPRITE(NATU, gMonStillFrontPic_Natu),
+ SPECIES_SPRITE(XATU, gMonStillFrontPic_Xatu),
+ SPECIES_SPRITE(MAREEP, gMonStillFrontPic_Mareep),
+ SPECIES_SPRITE(FLAAFFY, gMonStillFrontPic_Flaaffy),
+ SPECIES_SPRITE(AMPHAROS, gMonStillFrontPic_Ampharos),
+ SPECIES_SPRITE(BELLOSSOM, gMonStillFrontPic_Bellossom),
+ SPECIES_SPRITE(MARILL, gMonStillFrontPic_Marill),
+ SPECIES_SPRITE(AZUMARILL, gMonStillFrontPic_Azumarill),
+ SPECIES_SPRITE(SUDOWOODO, gMonStillFrontPic_Sudowoodo),
+ SPECIES_SPRITE(POLITOED, gMonStillFrontPic_Politoed),
+ SPECIES_SPRITE(HOPPIP, gMonStillFrontPic_Hoppip),
+ SPECIES_SPRITE(SKIPLOOM, gMonStillFrontPic_Skiploom),
+ SPECIES_SPRITE(JUMPLUFF, gMonStillFrontPic_Jumpluff),
+ SPECIES_SPRITE(AIPOM, gMonStillFrontPic_Aipom),
+ SPECIES_SPRITE(SUNKERN, gMonStillFrontPic_Sunkern),
+ SPECIES_SPRITE(SUNFLORA, gMonStillFrontPic_Sunflora),
+ SPECIES_SPRITE(YANMA, gMonStillFrontPic_Yanma),
+ SPECIES_SPRITE(WOOPER, gMonStillFrontPic_Wooper),
+ SPECIES_SPRITE(QUAGSIRE, gMonStillFrontPic_Quagsire),
+ SPECIES_SPRITE(ESPEON, gMonStillFrontPic_Espeon),
+ SPECIES_SPRITE(UMBREON, gMonStillFrontPic_Umbreon),
+ SPECIES_SPRITE(MURKROW, gMonStillFrontPic_Murkrow),
+ SPECIES_SPRITE(SLOWKING, gMonStillFrontPic_Slowking),
+ SPECIES_SPRITE(MISDREAVUS, gMonStillFrontPic_Misdreavus),
+ SPECIES_SPRITE(UNOWN, gMonStillFrontPic_UnownA),
+ SPECIES_SPRITE(WOBBUFFET, gMonStillFrontPic_Wobbuffet),
+ SPECIES_SPRITE(GIRAFARIG, gMonStillFrontPic_Girafarig),
+ SPECIES_SPRITE(PINECO, gMonStillFrontPic_Pineco),
+ SPECIES_SPRITE(FORRETRESS, gMonStillFrontPic_Forretress),
+ SPECIES_SPRITE(DUNSPARCE, gMonStillFrontPic_Dunsparce),
+ SPECIES_SPRITE(GLIGAR, gMonStillFrontPic_Gligar),
+ SPECIES_SPRITE(STEELIX, gMonStillFrontPic_Steelix),
+ SPECIES_SPRITE(SNUBBULL, gMonStillFrontPic_Snubbull),
+ SPECIES_SPRITE(GRANBULL, gMonStillFrontPic_Granbull),
+ SPECIES_SPRITE(QWILFISH, gMonStillFrontPic_Qwilfish),
+ SPECIES_SPRITE(SCIZOR, gMonStillFrontPic_Scizor),
+ SPECIES_SPRITE(SHUCKLE, gMonStillFrontPic_Shuckle),
+ SPECIES_SPRITE(HERACROSS, gMonStillFrontPic_Heracross),
+ SPECIES_SPRITE(SNEASEL, gMonStillFrontPic_Sneasel),
+ SPECIES_SPRITE(TEDDIURSA, gMonStillFrontPic_Teddiursa),
+ SPECIES_SPRITE(URSARING, gMonStillFrontPic_Ursaring),
+ SPECIES_SPRITE(SLUGMA, gMonStillFrontPic_Slugma),
+ SPECIES_SPRITE(MAGCARGO, gMonStillFrontPic_Magcargo),
+ SPECIES_SPRITE(SWINUB, gMonStillFrontPic_Swinub),
+ SPECIES_SPRITE(PILOSWINE, gMonStillFrontPic_Piloswine),
+ SPECIES_SPRITE(CORSOLA, gMonStillFrontPic_Corsola),
+ SPECIES_SPRITE(REMORAID, gMonStillFrontPic_Remoraid),
+ SPECIES_SPRITE(OCTILLERY, gMonStillFrontPic_Octillery),
+ SPECIES_SPRITE(DELIBIRD, gMonStillFrontPic_Delibird),
+ SPECIES_SPRITE(MANTINE, gMonStillFrontPic_Mantine),
+ SPECIES_SPRITE(SKARMORY, gMonStillFrontPic_Skarmory),
+ SPECIES_SPRITE(HOUNDOUR, gMonStillFrontPic_Houndour),
+ SPECIES_SPRITE(HOUNDOOM, gMonStillFrontPic_Houndoom),
+ SPECIES_SPRITE(KINGDRA, gMonStillFrontPic_Kingdra),
+ SPECIES_SPRITE(PHANPY, gMonStillFrontPic_Phanpy),
+ SPECIES_SPRITE(DONPHAN, gMonStillFrontPic_Donphan),
+ SPECIES_SPRITE(PORYGON2, gMonStillFrontPic_Porygon2),
+ SPECIES_SPRITE(STANTLER, gMonStillFrontPic_Stantler),
+ SPECIES_SPRITE(SMEARGLE, gMonStillFrontPic_Smeargle),
+ SPECIES_SPRITE(TYROGUE, gMonStillFrontPic_Tyrogue),
+ SPECIES_SPRITE(HITMONTOP, gMonStillFrontPic_Hitmontop),
+ SPECIES_SPRITE(SMOOCHUM, gMonStillFrontPic_Smoochum),
+ SPECIES_SPRITE(ELEKID, gMonStillFrontPic_Elekid),
+ SPECIES_SPRITE(MAGBY, gMonStillFrontPic_Magby),
+ SPECIES_SPRITE(MILTANK, gMonStillFrontPic_Miltank),
+ SPECIES_SPRITE(BLISSEY, gMonStillFrontPic_Blissey),
+ SPECIES_SPRITE(RAIKOU, gMonStillFrontPic_Raikou),
+ SPECIES_SPRITE(ENTEI, gMonStillFrontPic_Entei),
+ SPECIES_SPRITE(SUICUNE, gMonStillFrontPic_Suicune),
+ SPECIES_SPRITE(LARVITAR, gMonStillFrontPic_Larvitar),
+ SPECIES_SPRITE(PUPITAR, gMonStillFrontPic_Pupitar),
+ SPECIES_SPRITE(TYRANITAR, gMonStillFrontPic_Tyranitar),
+ SPECIES_SPRITE(LUGIA, gMonStillFrontPic_Lugia),
+ SPECIES_SPRITE(HO_OH, gMonStillFrontPic_HoOh),
+ SPECIES_SPRITE(CELEBI, gMonStillFrontPic_Celebi),
// Empty slots
- STILL_FRONT_PIC(OLD_UNOWN_B, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_C, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_D, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_E, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_F, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_G, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_H, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_I, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_J, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_K, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_L, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_M, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_N, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_O, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_P, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_Q, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_R, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_S, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_T, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_U, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_V, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_W, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_X, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_Y, gMonStillFrontPic_DoubleQuestionMark),
- STILL_FRONT_PIC(OLD_UNOWN_Z, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_B, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_C, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_D, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_E, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_F, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_G, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_H, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_I, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_J, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_K, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_L, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_M, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_N, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_O, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_P, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Q, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_R, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_S, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_T, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_U, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_V, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_W, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_X, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Y, gMonStillFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Z, gMonStillFrontPic_DoubleQuestionMark),
// Gen III
- STILL_FRONT_PIC(TREECKO, gMonStillFrontPic_Treecko),
- STILL_FRONT_PIC(GROVYLE, gMonStillFrontPic_Grovyle),
- STILL_FRONT_PIC(SCEPTILE, gMonStillFrontPic_Sceptile),
- STILL_FRONT_PIC(TORCHIC, gMonStillFrontPic_Torchic),
- STILL_FRONT_PIC(COMBUSKEN, gMonStillFrontPic_Combusken),
- STILL_FRONT_PIC(BLAZIKEN, gMonStillFrontPic_Blaziken),
- STILL_FRONT_PIC(MUDKIP, gMonStillFrontPic_Mudkip),
- STILL_FRONT_PIC(MARSHTOMP, gMonStillFrontPic_Marshtomp),
- STILL_FRONT_PIC(SWAMPERT, gMonStillFrontPic_Swampert),
- STILL_FRONT_PIC(POOCHYENA, gMonStillFrontPic_Poochyena),
- STILL_FRONT_PIC(MIGHTYENA, gMonStillFrontPic_Mightyena),
- STILL_FRONT_PIC(ZIGZAGOON, gMonStillFrontPic_Zigzagoon),
- STILL_FRONT_PIC(LINOONE, gMonStillFrontPic_Linoone),
- STILL_FRONT_PIC(WURMPLE, gMonStillFrontPic_Wurmple),
- STILL_FRONT_PIC(SILCOON, gMonStillFrontPic_Silcoon),
- STILL_FRONT_PIC(BEAUTIFLY, gMonStillFrontPic_Beautifly),
- STILL_FRONT_PIC(CASCOON, gMonStillFrontPic_Cascoon),
- STILL_FRONT_PIC(DUSTOX, gMonStillFrontPic_Dustox),
- STILL_FRONT_PIC(LOTAD, gMonStillFrontPic_Lotad),
- STILL_FRONT_PIC(LOMBRE, gMonStillFrontPic_Lombre),
- STILL_FRONT_PIC(LUDICOLO, gMonStillFrontPic_Ludicolo),
- STILL_FRONT_PIC(SEEDOT, gMonStillFrontPic_Seedot),
- STILL_FRONT_PIC(NUZLEAF, gMonStillFrontPic_Nuzleaf),
- STILL_FRONT_PIC(SHIFTRY, gMonStillFrontPic_Shiftry),
- STILL_FRONT_PIC(NINCADA, gMonStillFrontPic_Nincada),
- STILL_FRONT_PIC(NINJASK, gMonStillFrontPic_Ninjask),
- STILL_FRONT_PIC(SHEDINJA, gMonStillFrontPic_Shedinja),
- STILL_FRONT_PIC(TAILLOW, gMonStillFrontPic_Taillow),
- STILL_FRONT_PIC(SWELLOW, gMonStillFrontPic_Swellow),
- STILL_FRONT_PIC(SHROOMISH, gMonStillFrontPic_Shroomish),
- STILL_FRONT_PIC(BRELOOM, gMonStillFrontPic_Breloom),
- STILL_FRONT_PIC(SPINDA, gMonStillFrontPic_Spinda),
- STILL_FRONT_PIC(WINGULL, gMonStillFrontPic_Wingull),
- STILL_FRONT_PIC(PELIPPER, gMonStillFrontPic_Pelipper),
- STILL_FRONT_PIC(SURSKIT, gMonStillFrontPic_Surskit),
- STILL_FRONT_PIC(MASQUERAIN, gMonStillFrontPic_Masquerain),
- STILL_FRONT_PIC(WAILMER, gMonStillFrontPic_Wailmer),
- STILL_FRONT_PIC(WAILORD, gMonStillFrontPic_Wailord),
- STILL_FRONT_PIC(SKITTY, gMonStillFrontPic_Skitty),
- STILL_FRONT_PIC(DELCATTY, gMonStillFrontPic_Delcatty),
- STILL_FRONT_PIC(KECLEON, gMonStillFrontPic_Kecleon),
- STILL_FRONT_PIC(BALTOY, gMonStillFrontPic_Baltoy),
- STILL_FRONT_PIC(CLAYDOL, gMonStillFrontPic_Claydol),
- STILL_FRONT_PIC(NOSEPASS, gMonStillFrontPic_Nosepass),
- STILL_FRONT_PIC(TORKOAL, gMonStillFrontPic_Torkoal),
- STILL_FRONT_PIC(SABLEYE, gMonStillFrontPic_Sableye),
- STILL_FRONT_PIC(BARBOACH, gMonStillFrontPic_Barboach),
- STILL_FRONT_PIC(WHISCASH, gMonStillFrontPic_Whiscash),
- STILL_FRONT_PIC(LUVDISC, gMonStillFrontPic_Luvdisc),
- STILL_FRONT_PIC(CORPHISH, gMonStillFrontPic_Corphish),
- STILL_FRONT_PIC(CRAWDAUNT, gMonStillFrontPic_Crawdaunt),
- STILL_FRONT_PIC(FEEBAS, gMonStillFrontPic_Feebas),
- STILL_FRONT_PIC(MILOTIC, gMonStillFrontPic_Milotic),
- STILL_FRONT_PIC(CARVANHA, gMonStillFrontPic_Carvanha),
- STILL_FRONT_PIC(SHARPEDO, gMonStillFrontPic_Sharpedo),
- STILL_FRONT_PIC(TRAPINCH, gMonStillFrontPic_Trapinch),
- STILL_FRONT_PIC(VIBRAVA, gMonStillFrontPic_Vibrava),
- STILL_FRONT_PIC(FLYGON, gMonStillFrontPic_Flygon),
- STILL_FRONT_PIC(MAKUHITA, gMonStillFrontPic_Makuhita),
- STILL_FRONT_PIC(HARIYAMA, gMonStillFrontPic_Hariyama),
- STILL_FRONT_PIC(ELECTRIKE, gMonStillFrontPic_Electrike),
- STILL_FRONT_PIC(MANECTRIC, gMonStillFrontPic_Manectric),
- STILL_FRONT_PIC(NUMEL, gMonStillFrontPic_Numel),
- STILL_FRONT_PIC(CAMERUPT, gMonStillFrontPic_Camerupt),
- STILL_FRONT_PIC(SPHEAL, gMonStillFrontPic_Spheal),
- STILL_FRONT_PIC(SEALEO, gMonStillFrontPic_Sealeo),
- STILL_FRONT_PIC(WALREIN, gMonStillFrontPic_Walrein),
- STILL_FRONT_PIC(CACNEA, gMonStillFrontPic_Cacnea),
- STILL_FRONT_PIC(CACTURNE, gMonStillFrontPic_Cacturne),
- STILL_FRONT_PIC(SNORUNT, gMonStillFrontPic_Snorunt),
- STILL_FRONT_PIC(GLALIE, gMonStillFrontPic_Glalie),
- STILL_FRONT_PIC(LUNATONE, gMonStillFrontPic_Lunatone),
- STILL_FRONT_PIC(SOLROCK, gMonStillFrontPic_Solrock),
- STILL_FRONT_PIC(AZURILL, gMonStillFrontPic_Azurill),
- STILL_FRONT_PIC(SPOINK, gMonStillFrontPic_Spoink),
- STILL_FRONT_PIC(GRUMPIG, gMonStillFrontPic_Grumpig),
- STILL_FRONT_PIC(PLUSLE, gMonStillFrontPic_Plusle),
- STILL_FRONT_PIC(MINUN, gMonStillFrontPic_Minun),
- STILL_FRONT_PIC(MAWILE, gMonStillFrontPic_Mawile),
- STILL_FRONT_PIC(MEDITITE, gMonStillFrontPic_Meditite),
- STILL_FRONT_PIC(MEDICHAM, gMonStillFrontPic_Medicham),
- STILL_FRONT_PIC(SWABLU, gMonStillFrontPic_Swablu),
- STILL_FRONT_PIC(ALTARIA, gMonStillFrontPic_Altaria),
- STILL_FRONT_PIC(WYNAUT, gMonStillFrontPic_Wynaut),
- STILL_FRONT_PIC(DUSKULL, gMonStillFrontPic_Duskull),
- STILL_FRONT_PIC(DUSCLOPS, gMonStillFrontPic_Dusclops),
- STILL_FRONT_PIC(ROSELIA, gMonStillFrontPic_Roselia),
- STILL_FRONT_PIC(SLAKOTH, gMonStillFrontPic_Slakoth),
- STILL_FRONT_PIC(VIGOROTH, gMonStillFrontPic_Vigoroth),
- STILL_FRONT_PIC(SLAKING, gMonStillFrontPic_Slaking),
- STILL_FRONT_PIC(GULPIN, gMonStillFrontPic_Gulpin),
- STILL_FRONT_PIC(SWALOT, gMonStillFrontPic_Swalot),
- STILL_FRONT_PIC(TROPIUS, gMonStillFrontPic_Tropius),
- STILL_FRONT_PIC(WHISMUR, gMonStillFrontPic_Whismur),
- STILL_FRONT_PIC(LOUDRED, gMonStillFrontPic_Loudred),
- STILL_FRONT_PIC(EXPLOUD, gMonStillFrontPic_Exploud),
- STILL_FRONT_PIC(CLAMPERL, gMonStillFrontPic_Clamperl),
- STILL_FRONT_PIC(HUNTAIL, gMonStillFrontPic_Huntail),
- STILL_FRONT_PIC(GOREBYSS, gMonStillFrontPic_Gorebyss),
- STILL_FRONT_PIC(ABSOL, gMonStillFrontPic_Absol),
- STILL_FRONT_PIC(SHUPPET, gMonStillFrontPic_Shuppet),
- STILL_FRONT_PIC(BANETTE, gMonStillFrontPic_Banette),
- STILL_FRONT_PIC(SEVIPER, gMonStillFrontPic_Seviper),
- STILL_FRONT_PIC(ZANGOOSE, gMonStillFrontPic_Zangoose),
- STILL_FRONT_PIC(RELICANTH, gMonStillFrontPic_Relicanth),
- STILL_FRONT_PIC(ARON, gMonStillFrontPic_Aron),
- STILL_FRONT_PIC(LAIRON, gMonStillFrontPic_Lairon),
- STILL_FRONT_PIC(AGGRON, gMonStillFrontPic_Aggron),
- STILL_FRONT_PIC(CASTFORM, gMonStillFrontPic_Castform),
- STILL_FRONT_PIC(VOLBEAT, gMonStillFrontPic_Volbeat),
- STILL_FRONT_PIC(ILLUMISE, gMonStillFrontPic_Illumise),
- STILL_FRONT_PIC(LILEEP, gMonStillFrontPic_Lileep),
- STILL_FRONT_PIC(CRADILY, gMonStillFrontPic_Cradily),
- STILL_FRONT_PIC(ANORITH, gMonStillFrontPic_Anorith),
- STILL_FRONT_PIC(ARMALDO, gMonStillFrontPic_Armaldo),
- STILL_FRONT_PIC(RALTS, gMonStillFrontPic_Ralts),
- STILL_FRONT_PIC(KIRLIA, gMonStillFrontPic_Kirlia),
- STILL_FRONT_PIC(GARDEVOIR, gMonStillFrontPic_Gardevoir),
- STILL_FRONT_PIC(BAGON, gMonStillFrontPic_Bagon),
- STILL_FRONT_PIC(SHELGON, gMonStillFrontPic_Shelgon),
- STILL_FRONT_PIC(SALAMENCE, gMonStillFrontPic_Salamence),
- STILL_FRONT_PIC(BELDUM, gMonStillFrontPic_Beldum),
- STILL_FRONT_PIC(METANG, gMonStillFrontPic_Metang),
- STILL_FRONT_PIC(METAGROSS, gMonStillFrontPic_Metagross),
- STILL_FRONT_PIC(REGIROCK, gMonStillFrontPic_Regirock),
- STILL_FRONT_PIC(REGICE, gMonStillFrontPic_Regice),
- STILL_FRONT_PIC(REGISTEEL, gMonStillFrontPic_Registeel),
- STILL_FRONT_PIC(KYOGRE, gMonStillFrontPic_Kyogre),
- STILL_FRONT_PIC(GROUDON, gMonStillFrontPic_Groudon),
- STILL_FRONT_PIC(RAYQUAZA, gMonStillFrontPic_Rayquaza),
- STILL_FRONT_PIC(LATIAS, gMonStillFrontPic_Latias),
- STILL_FRONT_PIC(LATIOS, gMonStillFrontPic_Latios),
- STILL_FRONT_PIC(JIRACHI, gMonStillFrontPic_Jirachi),
- STILL_FRONT_PIC(DEOXYS, gMonStillFrontPic_Deoxys),
- STILL_FRONT_PIC(CHIMECHO, gMonStillFrontPic_Chimecho),
- STILL_FRONT_PIC(EGG, gMonStillFrontPic_Egg),
- STILL_FRONT_PIC(UNOWN_B, gMonStillFrontPic_UnownB),
- STILL_FRONT_PIC(UNOWN_C, gMonStillFrontPic_UnownC),
- STILL_FRONT_PIC(UNOWN_D, gMonStillFrontPic_UnownD),
- STILL_FRONT_PIC(UNOWN_E, gMonStillFrontPic_UnownE),
- STILL_FRONT_PIC(UNOWN_F, gMonStillFrontPic_UnownF),
- STILL_FRONT_PIC(UNOWN_G, gMonStillFrontPic_UnownG),
- STILL_FRONT_PIC(UNOWN_H, gMonStillFrontPic_UnownH),
- STILL_FRONT_PIC(UNOWN_I, gMonStillFrontPic_UnownI),
- STILL_FRONT_PIC(UNOWN_J, gMonStillFrontPic_UnownJ),
- STILL_FRONT_PIC(UNOWN_K, gMonStillFrontPic_UnownK),
- STILL_FRONT_PIC(UNOWN_L, gMonStillFrontPic_UnownL),
- STILL_FRONT_PIC(UNOWN_M, gMonStillFrontPic_UnownM),
- STILL_FRONT_PIC(UNOWN_N, gMonStillFrontPic_UnownN),
- STILL_FRONT_PIC(UNOWN_O, gMonStillFrontPic_UnownO),
- STILL_FRONT_PIC(UNOWN_P, gMonStillFrontPic_UnownP),
- STILL_FRONT_PIC(UNOWN_Q, gMonStillFrontPic_UnownQ),
- STILL_FRONT_PIC(UNOWN_R, gMonStillFrontPic_UnownR),
- STILL_FRONT_PIC(UNOWN_S, gMonStillFrontPic_UnownS),
- STILL_FRONT_PIC(UNOWN_T, gMonStillFrontPic_UnownT),
- STILL_FRONT_PIC(UNOWN_U, gMonStillFrontPic_UnownU),
- STILL_FRONT_PIC(UNOWN_V, gMonStillFrontPic_UnownV),
- STILL_FRONT_PIC(UNOWN_W, gMonStillFrontPic_UnownW),
- STILL_FRONT_PIC(UNOWN_X, gMonStillFrontPic_UnownX),
- STILL_FRONT_PIC(UNOWN_Y, gMonStillFrontPic_UnownY),
- STILL_FRONT_PIC(UNOWN_Z, gMonStillFrontPic_UnownZ),
- STILL_FRONT_PIC(UNOWN_EMARK, gMonStillFrontPic_UnownExclamationMark),
- STILL_FRONT_PIC(UNOWN_QMARK, gMonStillFrontPic_UnownQuestionMark),
+ SPECIES_SPRITE(TREECKO, gMonStillFrontPic_Treecko),
+ SPECIES_SPRITE(GROVYLE, gMonStillFrontPic_Grovyle),
+ SPECIES_SPRITE(SCEPTILE, gMonStillFrontPic_Sceptile),
+ SPECIES_SPRITE(TORCHIC, gMonStillFrontPic_Torchic),
+ SPECIES_SPRITE(COMBUSKEN, gMonStillFrontPic_Combusken),
+ SPECIES_SPRITE(BLAZIKEN, gMonStillFrontPic_Blaziken),
+ SPECIES_SPRITE(MUDKIP, gMonStillFrontPic_Mudkip),
+ SPECIES_SPRITE(MARSHTOMP, gMonStillFrontPic_Marshtomp),
+ SPECIES_SPRITE(SWAMPERT, gMonStillFrontPic_Swampert),
+ SPECIES_SPRITE(POOCHYENA, gMonStillFrontPic_Poochyena),
+ SPECIES_SPRITE(MIGHTYENA, gMonStillFrontPic_Mightyena),
+ SPECIES_SPRITE(ZIGZAGOON, gMonStillFrontPic_Zigzagoon),
+ SPECIES_SPRITE(LINOONE, gMonStillFrontPic_Linoone),
+ SPECIES_SPRITE(WURMPLE, gMonStillFrontPic_Wurmple),
+ SPECIES_SPRITE(SILCOON, gMonStillFrontPic_Silcoon),
+ SPECIES_SPRITE(BEAUTIFLY, gMonStillFrontPic_Beautifly),
+ SPECIES_SPRITE(CASCOON, gMonStillFrontPic_Cascoon),
+ SPECIES_SPRITE(DUSTOX, gMonStillFrontPic_Dustox),
+ SPECIES_SPRITE(LOTAD, gMonStillFrontPic_Lotad),
+ SPECIES_SPRITE(LOMBRE, gMonStillFrontPic_Lombre),
+ SPECIES_SPRITE(LUDICOLO, gMonStillFrontPic_Ludicolo),
+ SPECIES_SPRITE(SEEDOT, gMonStillFrontPic_Seedot),
+ SPECIES_SPRITE(NUZLEAF, gMonStillFrontPic_Nuzleaf),
+ SPECIES_SPRITE(SHIFTRY, gMonStillFrontPic_Shiftry),
+ SPECIES_SPRITE(NINCADA, gMonStillFrontPic_Nincada),
+ SPECIES_SPRITE(NINJASK, gMonStillFrontPic_Ninjask),
+ SPECIES_SPRITE(SHEDINJA, gMonStillFrontPic_Shedinja),
+ SPECIES_SPRITE(TAILLOW, gMonStillFrontPic_Taillow),
+ SPECIES_SPRITE(SWELLOW, gMonStillFrontPic_Swellow),
+ SPECIES_SPRITE(SHROOMISH, gMonStillFrontPic_Shroomish),
+ SPECIES_SPRITE(BRELOOM, gMonStillFrontPic_Breloom),
+ SPECIES_SPRITE(SPINDA, gMonStillFrontPic_Spinda),
+ SPECIES_SPRITE(WINGULL, gMonStillFrontPic_Wingull),
+ SPECIES_SPRITE(PELIPPER, gMonStillFrontPic_Pelipper),
+ SPECIES_SPRITE(SURSKIT, gMonStillFrontPic_Surskit),
+ SPECIES_SPRITE(MASQUERAIN, gMonStillFrontPic_Masquerain),
+ SPECIES_SPRITE(WAILMER, gMonStillFrontPic_Wailmer),
+ SPECIES_SPRITE(WAILORD, gMonStillFrontPic_Wailord),
+ SPECIES_SPRITE(SKITTY, gMonStillFrontPic_Skitty),
+ SPECIES_SPRITE(DELCATTY, gMonStillFrontPic_Delcatty),
+ SPECIES_SPRITE(KECLEON, gMonStillFrontPic_Kecleon),
+ SPECIES_SPRITE(BALTOY, gMonStillFrontPic_Baltoy),
+ SPECIES_SPRITE(CLAYDOL, gMonStillFrontPic_Claydol),
+ SPECIES_SPRITE(NOSEPASS, gMonStillFrontPic_Nosepass),
+ SPECIES_SPRITE(TORKOAL, gMonStillFrontPic_Torkoal),
+ SPECIES_SPRITE(SABLEYE, gMonStillFrontPic_Sableye),
+ SPECIES_SPRITE(BARBOACH, gMonStillFrontPic_Barboach),
+ SPECIES_SPRITE(WHISCASH, gMonStillFrontPic_Whiscash),
+ SPECIES_SPRITE(LUVDISC, gMonStillFrontPic_Luvdisc),
+ SPECIES_SPRITE(CORPHISH, gMonStillFrontPic_Corphish),
+ SPECIES_SPRITE(CRAWDAUNT, gMonStillFrontPic_Crawdaunt),
+ SPECIES_SPRITE(FEEBAS, gMonStillFrontPic_Feebas),
+ SPECIES_SPRITE(MILOTIC, gMonStillFrontPic_Milotic),
+ SPECIES_SPRITE(CARVANHA, gMonStillFrontPic_Carvanha),
+ SPECIES_SPRITE(SHARPEDO, gMonStillFrontPic_Sharpedo),
+ SPECIES_SPRITE(TRAPINCH, gMonStillFrontPic_Trapinch),
+ SPECIES_SPRITE(VIBRAVA, gMonStillFrontPic_Vibrava),
+ SPECIES_SPRITE(FLYGON, gMonStillFrontPic_Flygon),
+ SPECIES_SPRITE(MAKUHITA, gMonStillFrontPic_Makuhita),
+ SPECIES_SPRITE(HARIYAMA, gMonStillFrontPic_Hariyama),
+ SPECIES_SPRITE(ELECTRIKE, gMonStillFrontPic_Electrike),
+ SPECIES_SPRITE(MANECTRIC, gMonStillFrontPic_Manectric),
+ SPECIES_SPRITE(NUMEL, gMonStillFrontPic_Numel),
+ SPECIES_SPRITE(CAMERUPT, gMonStillFrontPic_Camerupt),
+ SPECIES_SPRITE(SPHEAL, gMonStillFrontPic_Spheal),
+ SPECIES_SPRITE(SEALEO, gMonStillFrontPic_Sealeo),
+ SPECIES_SPRITE(WALREIN, gMonStillFrontPic_Walrein),
+ SPECIES_SPRITE(CACNEA, gMonStillFrontPic_Cacnea),
+ SPECIES_SPRITE(CACTURNE, gMonStillFrontPic_Cacturne),
+ SPECIES_SPRITE(SNORUNT, gMonStillFrontPic_Snorunt),
+ SPECIES_SPRITE(GLALIE, gMonStillFrontPic_Glalie),
+ SPECIES_SPRITE(LUNATONE, gMonStillFrontPic_Lunatone),
+ SPECIES_SPRITE(SOLROCK, gMonStillFrontPic_Solrock),
+ SPECIES_SPRITE(AZURILL, gMonStillFrontPic_Azurill),
+ SPECIES_SPRITE(SPOINK, gMonStillFrontPic_Spoink),
+ SPECIES_SPRITE(GRUMPIG, gMonStillFrontPic_Grumpig),
+ SPECIES_SPRITE(PLUSLE, gMonStillFrontPic_Plusle),
+ SPECIES_SPRITE(MINUN, gMonStillFrontPic_Minun),
+ SPECIES_SPRITE(MAWILE, gMonStillFrontPic_Mawile),
+ SPECIES_SPRITE(MEDITITE, gMonStillFrontPic_Meditite),
+ SPECIES_SPRITE(MEDICHAM, gMonStillFrontPic_Medicham),
+ SPECIES_SPRITE(SWABLU, gMonStillFrontPic_Swablu),
+ SPECIES_SPRITE(ALTARIA, gMonStillFrontPic_Altaria),
+ SPECIES_SPRITE(WYNAUT, gMonStillFrontPic_Wynaut),
+ SPECIES_SPRITE(DUSKULL, gMonStillFrontPic_Duskull),
+ SPECIES_SPRITE(DUSCLOPS, gMonStillFrontPic_Dusclops),
+ SPECIES_SPRITE(ROSELIA, gMonStillFrontPic_Roselia),
+ SPECIES_SPRITE(SLAKOTH, gMonStillFrontPic_Slakoth),
+ SPECIES_SPRITE(VIGOROTH, gMonStillFrontPic_Vigoroth),
+ SPECIES_SPRITE(SLAKING, gMonStillFrontPic_Slaking),
+ SPECIES_SPRITE(GULPIN, gMonStillFrontPic_Gulpin),
+ SPECIES_SPRITE(SWALOT, gMonStillFrontPic_Swalot),
+ SPECIES_SPRITE(TROPIUS, gMonStillFrontPic_Tropius),
+ SPECIES_SPRITE(WHISMUR, gMonStillFrontPic_Whismur),
+ SPECIES_SPRITE(LOUDRED, gMonStillFrontPic_Loudred),
+ SPECIES_SPRITE(EXPLOUD, gMonStillFrontPic_Exploud),
+ SPECIES_SPRITE(CLAMPERL, gMonStillFrontPic_Clamperl),
+ SPECIES_SPRITE(HUNTAIL, gMonStillFrontPic_Huntail),
+ SPECIES_SPRITE(GOREBYSS, gMonStillFrontPic_Gorebyss),
+ SPECIES_SPRITE(ABSOL, gMonStillFrontPic_Absol),
+ SPECIES_SPRITE(SHUPPET, gMonStillFrontPic_Shuppet),
+ SPECIES_SPRITE(BANETTE, gMonStillFrontPic_Banette),
+ SPECIES_SPRITE(SEVIPER, gMonStillFrontPic_Seviper),
+ SPECIES_SPRITE(ZANGOOSE, gMonStillFrontPic_Zangoose),
+ SPECIES_SPRITE(RELICANTH, gMonStillFrontPic_Relicanth),
+ SPECIES_SPRITE(ARON, gMonStillFrontPic_Aron),
+ SPECIES_SPRITE(LAIRON, gMonStillFrontPic_Lairon),
+ SPECIES_SPRITE(AGGRON, gMonStillFrontPic_Aggron),
+ SPECIES_SPRITE(CASTFORM, gMonStillFrontPic_Castform),
+ SPECIES_SPRITE(VOLBEAT, gMonStillFrontPic_Volbeat),
+ SPECIES_SPRITE(ILLUMISE, gMonStillFrontPic_Illumise),
+ SPECIES_SPRITE(LILEEP, gMonStillFrontPic_Lileep),
+ SPECIES_SPRITE(CRADILY, gMonStillFrontPic_Cradily),
+ SPECIES_SPRITE(ANORITH, gMonStillFrontPic_Anorith),
+ SPECIES_SPRITE(ARMALDO, gMonStillFrontPic_Armaldo),
+ SPECIES_SPRITE(RALTS, gMonStillFrontPic_Ralts),
+ SPECIES_SPRITE(KIRLIA, gMonStillFrontPic_Kirlia),
+ SPECIES_SPRITE(GARDEVOIR, gMonStillFrontPic_Gardevoir),
+ SPECIES_SPRITE(BAGON, gMonStillFrontPic_Bagon),
+ SPECIES_SPRITE(SHELGON, gMonStillFrontPic_Shelgon),
+ SPECIES_SPRITE(SALAMENCE, gMonStillFrontPic_Salamence),
+ SPECIES_SPRITE(BELDUM, gMonStillFrontPic_Beldum),
+ SPECIES_SPRITE(METANG, gMonStillFrontPic_Metang),
+ SPECIES_SPRITE(METAGROSS, gMonStillFrontPic_Metagross),
+ SPECIES_SPRITE(REGIROCK, gMonStillFrontPic_Regirock),
+ SPECIES_SPRITE(REGICE, gMonStillFrontPic_Regice),
+ SPECIES_SPRITE(REGISTEEL, gMonStillFrontPic_Registeel),
+ SPECIES_SPRITE(KYOGRE, gMonStillFrontPic_Kyogre),
+ SPECIES_SPRITE(GROUDON, gMonStillFrontPic_Groudon),
+ SPECIES_SPRITE(RAYQUAZA, gMonStillFrontPic_Rayquaza),
+ SPECIES_SPRITE(LATIAS, gMonStillFrontPic_Latias),
+ SPECIES_SPRITE(LATIOS, gMonStillFrontPic_Latios),
+ SPECIES_SPRITE(JIRACHI, gMonStillFrontPic_Jirachi),
+ SPECIES_SPRITE(DEOXYS, gMonStillFrontPic_Deoxys),
+ SPECIES_SPRITE(CHIMECHO, gMonStillFrontPic_Chimecho),
+ SPECIES_SPRITE(EGG, gMonStillFrontPic_Egg),
+ SPECIES_SPRITE(UNOWN_B, gMonStillFrontPic_UnownB),
+ SPECIES_SPRITE(UNOWN_C, gMonStillFrontPic_UnownC),
+ SPECIES_SPRITE(UNOWN_D, gMonStillFrontPic_UnownD),
+ SPECIES_SPRITE(UNOWN_E, gMonStillFrontPic_UnownE),
+ SPECIES_SPRITE(UNOWN_F, gMonStillFrontPic_UnownF),
+ SPECIES_SPRITE(UNOWN_G, gMonStillFrontPic_UnownG),
+ SPECIES_SPRITE(UNOWN_H, gMonStillFrontPic_UnownH),
+ SPECIES_SPRITE(UNOWN_I, gMonStillFrontPic_UnownI),
+ SPECIES_SPRITE(UNOWN_J, gMonStillFrontPic_UnownJ),
+ SPECIES_SPRITE(UNOWN_K, gMonStillFrontPic_UnownK),
+ SPECIES_SPRITE(UNOWN_L, gMonStillFrontPic_UnownL),
+ SPECIES_SPRITE(UNOWN_M, gMonStillFrontPic_UnownM),
+ SPECIES_SPRITE(UNOWN_N, gMonStillFrontPic_UnownN),
+ SPECIES_SPRITE(UNOWN_O, gMonStillFrontPic_UnownO),
+ SPECIES_SPRITE(UNOWN_P, gMonStillFrontPic_UnownP),
+ SPECIES_SPRITE(UNOWN_Q, gMonStillFrontPic_UnownQ),
+ SPECIES_SPRITE(UNOWN_R, gMonStillFrontPic_UnownR),
+ SPECIES_SPRITE(UNOWN_S, gMonStillFrontPic_UnownS),
+ SPECIES_SPRITE(UNOWN_T, gMonStillFrontPic_UnownT),
+ SPECIES_SPRITE(UNOWN_U, gMonStillFrontPic_UnownU),
+ SPECIES_SPRITE(UNOWN_V, gMonStillFrontPic_UnownV),
+ SPECIES_SPRITE(UNOWN_W, gMonStillFrontPic_UnownW),
+ SPECIES_SPRITE(UNOWN_X, gMonStillFrontPic_UnownX),
+ SPECIES_SPRITE(UNOWN_Y, gMonStillFrontPic_UnownY),
+ SPECIES_SPRITE(UNOWN_Z, gMonStillFrontPic_UnownZ),
+ SPECIES_SPRITE(UNOWN_EMARK, gMonStillFrontPic_UnownExclamationMark),
+ SPECIES_SPRITE(UNOWN_QMARK, gMonStillFrontPic_UnownQuestionMark),
};
diff --git a/src/data/pokemon_graphics/unknown_anims.h b/src/data/pokemon_graphics/unknown_anims.h
index 313e7ae35..bb4862d09 100644
--- a/src/data/pokemon_graphics/unknown_anims.h
+++ b/src/data/pokemon_graphics/unknown_anims.h
@@ -1,36 +1,5 @@
-const union AnimCmd gUnknown_082FF6EC[] =
-{
- ANIMCMD_FRAME(0, 0),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_082FF6F4[] =
-{
- ANIMCMD_FRAME(1, 0),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_082FF6FC[] =
-{
- ANIMCMD_FRAME(2, 0),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_082FF704[] =
-{
- ANIMCMD_FRAME(3, 0),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gPlayerMonSpriteAnimsTable[] =
-{
- gUnknown_082FF6EC,
- gUnknown_082FF6F4,
- gUnknown_082FF6FC,
- gUnknown_082FF704,
-};
-
-const union AnimCmd gUnknown_082FF71C[] =
+// unused and unkown
+static const union AnimCmd gUnknown_082FF71C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(1, 25),
@@ -40,7 +9,7 @@ const union AnimCmd gUnknown_082FF71C[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF734[] =
+static const union AnimCmd gUnknown_082FF734[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(2, 8),
@@ -48,20 +17,20 @@ const union AnimCmd gUnknown_082FF734[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF744[] =
+static const union AnimCmd gUnknown_082FF744[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_FRAME(2, 10),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF750[] =
+static const union AnimCmd gUnknown_082FF750[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF758[] =
+static const union AnimCmd gUnknown_082FF758[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(1, 5),
@@ -72,7 +41,7 @@ const union AnimCmd gUnknown_082FF758[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF774[] =
+static const union AnimCmd gUnknown_082FF774[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(2, 12),
@@ -83,14 +52,14 @@ const union AnimCmd gUnknown_082FF774[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF790[] =
+static const union AnimCmd gUnknown_082FF790[] =
{
ANIMCMD_FRAME(0, 14),
ANIMCMD_FRAME(2, 12),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF79C[] =
+static const union AnimCmd gUnknown_082FF79C[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_FRAME(1, 10),
@@ -99,7 +68,7 @@ const union AnimCmd gUnknown_082FF79C[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF7B0[] =
+static const union AnimCmd gUnknown_082FF7B0[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_FRAME(2, 10),
@@ -108,193 +77,193 @@ const union AnimCmd gUnknown_082FF7B0[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF7C4[] =
+static const union AnimCmd gUnknown_082FF7C4[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF7CC[] =
+static const union AnimCmd gUnknown_082FF7CC[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF7D4[] =
+static const union AnimCmd gUnknown_082FF7D4[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF7DC[] =
+static const union AnimCmd gUnknown_082FF7DC[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF7E4[] =
+static const union AnimCmd gUnknown_082FF7E4[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF7EC[] =
+static const union AnimCmd gUnknown_082FF7EC[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF7F4[] =
+static const union AnimCmd gUnknown_082FF7F4[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF7FC[] =
+static const union AnimCmd gUnknown_082FF7FC[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF804[] =
+static const union AnimCmd gUnknown_082FF804[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF80C[] =
+static const union AnimCmd gUnknown_082FF80C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF814[] =
+static const union AnimCmd gUnknown_082FF814[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF81C[] =
+static const union AnimCmd gUnknown_082FF81C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF824[] =
+static const union AnimCmd gUnknown_082FF824[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF82C[] =
+static const union AnimCmd gUnknown_082FF82C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF834[] =
+static const union AnimCmd gUnknown_082FF834[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF83C[] =
+static const union AnimCmd gUnknown_082FF83C[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF844[] =
+static const union AnimCmd gUnknown_082FF844[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF84C[] =
+static const union AnimCmd gUnknown_082FF84C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF854[] =
+static const union AnimCmd gUnknown_082FF854[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF85C[] =
+static const union AnimCmd gUnknown_082FF85C[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF864[] =
+static const union AnimCmd gUnknown_082FF864[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF86C[] =
+static const union AnimCmd gUnknown_082FF86C[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF874[] =
+static const union AnimCmd gUnknown_082FF874[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF87C[] =
+static const union AnimCmd gUnknown_082FF87C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF884[] =
+static const union AnimCmd gUnknown_082FF884[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF88C[] =
+static const union AnimCmd gUnknown_082FF88C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF894[] =
+static const union AnimCmd gUnknown_082FF894[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF89C[] =
+static const union AnimCmd gUnknown_082FF89C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF8A4[] =
+static const union AnimCmd gUnknown_082FF8A4[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF8AC[] =
+static const union AnimCmd gUnknown_082FF8AC[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF8B4[] =
+static const union AnimCmd gUnknown_082FF8B4[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF8BC[] =
+static const union AnimCmd gUnknown_082FF8BC[] =
{
ANIMCMD_FRAME(0, 15),
ANIMCMD_FRAME(8, 15),
@@ -314,7 +283,7 @@ const union AnimCmd gUnknown_082FF8BC[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF8FC[] =
+static const union AnimCmd gUnknown_082FF8FC[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_FRAME(8, 15),
@@ -326,7 +295,7 @@ const union AnimCmd gUnknown_082FF8FC[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF91C[] =
+static const union AnimCmd gUnknown_082FF91C[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_FRAME(9, 10),
@@ -335,26 +304,26 @@ const union AnimCmd gUnknown_082FF91C[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF930[] =
+static const union AnimCmd gUnknown_082FF930[] =
{
ANIMCMD_FRAME(0, 15),
ANIMCMD_FRAME(11, 15),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF93C[] =
+static const union AnimCmd gUnknown_082FF93C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF944[] =
+static const union AnimCmd gUnknown_082FF944[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF94C[] =
+static const union AnimCmd gUnknown_082FF94C[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_FRAME(1, 7),
@@ -381,7 +350,7 @@ const union AnimCmd gUnknown_082FF94C[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FF9A8[] =
+static const union AnimCmd gUnknown_082FF9A8[] =
{
ANIMCMD_FRAME(0, 12),
ANIMCMD_FRAME(7, 12),
@@ -407,7 +376,7 @@ const union AnimCmd gUnknown_082FF9A8[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFA00[] =
+static const union AnimCmd gUnknown_082FFA00[] =
{
ANIMCMD_FRAME(0, 12),
ANIMCMD_FRAME(7, 12),
@@ -433,182 +402,182 @@ const union AnimCmd gUnknown_082FFA00[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFA58[] =
+static const union AnimCmd gUnknown_082FFA58[] =
{
ANIMCMD_FRAME(0,18),
ANIMCMD_FRAME(10, 18),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFA64[] =
+static const union AnimCmd gUnknown_082FFA64[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFA6C[] =
+static const union AnimCmd gUnknown_082FFA6C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFA74[] =
+static const union AnimCmd gUnknown_082FFA74[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFA7C[] =
+static const union AnimCmd gUnknown_082FFA7C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFA84[] =
+static const union AnimCmd gUnknown_082FFA84[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFA8C[] =
+static const union AnimCmd gUnknown_082FFA8C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFA94[] =
+static const union AnimCmd gUnknown_082FFA94[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFA9C[] =
+static const union AnimCmd gUnknown_082FFA9C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFAA4[] =
+static const union AnimCmd gUnknown_082FFAA4[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFAAC[] =
+static const union AnimCmd gUnknown_082FFAAC[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFAB4[] =
+static const union AnimCmd gUnknown_082FFAB4[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFABC[] =
+static const union AnimCmd gUnknown_082FFABC[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFAC4[] =
+static const union AnimCmd gUnknown_082FFAC4[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFACC[] =
+static const union AnimCmd gUnknown_082FFACC[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFAD4[] =
+static const union AnimCmd gUnknown_082FFAD4[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFADC[] =
+static const union AnimCmd gUnknown_082FFADC[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFAE4[] =
+static const union AnimCmd gUnknown_082FFAE4[] =
{
ANIMCMD_FRAME(0, 63),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFAEC[] =
+static const union AnimCmd gUnknown_082FFAEC[] =
{
ANIMCMD_FRAME(0, 63),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFAF4[] =
+static const union AnimCmd gUnknown_082FFAF4[] =
{
ANIMCMD_FRAME(0, 63),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFAFC[] =
+static const union AnimCmd gUnknown_082FFAFC[] =
{
ANIMCMD_FRAME(0, 63),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFB04[] =
+static const union AnimCmd gUnknown_082FFB04[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFB0C[] =
+static const union AnimCmd gUnknown_082FFB0C[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFB14[] =
+static const union AnimCmd gUnknown_082FFB14[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFB1C[] =
+static const union AnimCmd gUnknown_082FFB1C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFB24[] =
+static const union AnimCmd gUnknown_082FFB24[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFB2C[] =
+static const union AnimCmd gUnknown_082FFB2C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFB34[] =
+static const union AnimCmd gUnknown_082FFB34[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFB3C[] =
+static const union AnimCmd gUnknown_082FFB3C[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFB44[] =
+static const union AnimCmd gUnknown_082FFB44[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(1, 18),
@@ -619,7 +588,7 @@ const union AnimCmd gUnknown_082FFB44[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFB60[] =
+static const union AnimCmd gUnknown_082FFB60[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(2, 18),
@@ -630,7 +599,7 @@ const union AnimCmd gUnknown_082FFB60[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFB7C[] =
+static const union AnimCmd gUnknown_082FFB7C[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(2, 5),
@@ -650,7 +619,7 @@ const union AnimCmd gUnknown_082FFB7C[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFBBC[] =
+static const union AnimCmd gUnknown_082FFBBC[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(1, 6),
@@ -663,7 +632,7 @@ const union AnimCmd gUnknown_082FFBBC[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFBE0[] =
+static const union AnimCmd gUnknown_082FFBE0[] =
{
ANIMCMD_FRAME(0, 12),
ANIMCMD_FRAME(5, 12),
@@ -672,61 +641,61 @@ const union AnimCmd gUnknown_082FFBE0[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFBF4[] =
+static const union AnimCmd gUnknown_082FFBF4[] =
{
ANIMCMD_FRAME(7, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFBFC[] =
+static const union AnimCmd gUnknown_082FFBFC[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC04[] =
+static const union AnimCmd gUnknown_082FFC04[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC0C[] =
+static const union AnimCmd gUnknown_082FFC0C[] =
{
ANIMCMD_FRAME(0, 63),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC14[] =
+static const union AnimCmd gUnknown_082FFC14[] =
{
ANIMCMD_FRAME(0, 63),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC1C[] =
+static const union AnimCmd gUnknown_082FFC1C[] =
{
ANIMCMD_FRAME(0, 63),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC24[] =
+static const union AnimCmd gUnknown_082FFC24[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC2C[] =
+static const union AnimCmd gUnknown_082FFC2C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC34[] =
+static const union AnimCmd gUnknown_082FFC34[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC3C[] =
+static const union AnimCmd gUnknown_082FFC3C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(1, 10),
@@ -737,7 +706,7 @@ const union AnimCmd gUnknown_082FFC3C[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC58[] =
+static const union AnimCmd gUnknown_082FFC58[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(2, 8),
@@ -748,217 +717,217 @@ const union AnimCmd gUnknown_082FFC58[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC74[] =
+static const union AnimCmd gUnknown_082FFC74[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC7C[] =
+static const union AnimCmd gUnknown_082FFC7C[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC84[] =
+static const union AnimCmd gUnknown_082FFC84[] =
{
ANIMCMD_FRAME(1, 9),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC8C[] =
+static const union AnimCmd gUnknown_082FFC8C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC94[] =
+static const union AnimCmd gUnknown_082FFC94[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFC9C[] =
+static const union AnimCmd gUnknown_082FFC9C[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFCA4[] =
+static const union AnimCmd gUnknown_082FFCA4[] =
{
ANIMCMD_FRAME(1, 10),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFCAC[] =
+static const union AnimCmd gUnknown_082FFCAC[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFCB4[] =
+static const union AnimCmd gUnknown_082FFCB4[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFCBC[] =
+static const union AnimCmd gUnknown_082FFCBC[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFCC4[] =
+static const union AnimCmd gUnknown_082FFCC4[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFCCC[] =
+static const union AnimCmd gUnknown_082FFCCC[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFCD4[] =
+static const union AnimCmd gUnknown_082FFCD4[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFCDC[] =
+static const union AnimCmd gUnknown_082FFCDC[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFCE4[] =
+static const union AnimCmd gUnknown_082FFCE4[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFCEC[] =
+static const union AnimCmd gUnknown_082FFCEC[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFCF4[] =
+static const union AnimCmd gUnknown_082FFCF4[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFCFC[] =
+static const union AnimCmd gUnknown_082FFCFC[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD04[] =
+static const union AnimCmd gUnknown_082FFD04[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD0C[] =
+static const union AnimCmd gUnknown_082FFD0C[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD14[] =
+static const union AnimCmd gUnknown_082FFD14[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD1C[] =
+static const union AnimCmd gUnknown_082FFD1C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD24[] =
+static const union AnimCmd gUnknown_082FFD24[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD2C[] =
+static const union AnimCmd gUnknown_082FFD2C[] =
{
ANIMCMD_FRAME(2, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD34[] =
+static const union AnimCmd gUnknown_082FFD34[] =
{
ANIMCMD_FRAME(3, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD3C[] =
+static const union AnimCmd gUnknown_082FFD3C[] =
{
ANIMCMD_FRAME(0, 63),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD44[] =
+static const union AnimCmd gUnknown_082FFD44[] =
{
ANIMCMD_FRAME(0, 63),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD4C[] =
+static const union AnimCmd gUnknown_082FFD4C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD54[] =
+static const union AnimCmd gUnknown_082FFD54[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD5C[] =
+static const union AnimCmd gUnknown_082FFD5C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD64[] =
+static const union AnimCmd gUnknown_082FFD64[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD6C[] =
+static const union AnimCmd gUnknown_082FFD6C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD74[] =
+static const union AnimCmd gUnknown_082FFD74[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD7C[] =
+static const union AnimCmd gUnknown_082FFD7C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD84[] =
+static const union AnimCmd gUnknown_082FFD84[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFD8C[] =
+static const union AnimCmd gUnknown_082FFD8C[] =
{
ANIMCMD_FRAME(0, 20),
ANIMCMD_FRAME(1, 30),
@@ -967,7 +936,7 @@ const union AnimCmd gUnknown_082FFD8C[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFDA0[] =
+static const union AnimCmd gUnknown_082FFDA0[] =
{
ANIMCMD_FRAME(0, 20),
ANIMCMD_FRAME(2, 20),
@@ -976,933 +945,933 @@ const union AnimCmd gUnknown_082FFDA0[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFDB4[] =
+static const union AnimCmd gUnknown_082FFDB4[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFDBC[] =
+static const union AnimCmd gUnknown_082FFDBC[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_082FFDC4[] =
+static const union AnimCmd gUnknown_082FFDC4[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_082FFDCC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFDD0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFDD4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFDD8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFDDC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFDE0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFDE4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFDE8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFDEC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFDF0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFDF4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFDF8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFDFC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE00[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE04[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE08[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE0C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE10[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE14[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE18[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE1C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE20[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE24[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE28[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE2C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE30[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE34[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE38[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE3C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE40[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE44[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE48[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE4C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE50[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE54[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE58[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE5C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE60[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE64[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE68[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE6C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE70[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE74[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE78[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE7C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE80[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE84[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE88[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE8C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE90[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE94[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE98[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFE9C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEA0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEA4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEA8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEAC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEB0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEB4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEB8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEBC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEC0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEC4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEC8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFECC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFED0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFED4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFED8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEDC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEE0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEE4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEE8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEEC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEF0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEF4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEF8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFEFC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF00[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF04[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF08[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF0C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF10[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF14[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF18[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF1C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF20[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF24[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF28[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF2C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF30[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF34[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF38[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF3C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF40[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF44[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF48[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF4C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF50[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF54[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF58[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF5C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF60[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF64[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF68[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF6C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF70[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF74[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF78[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF7C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF80[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF84[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF88[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF8C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF90[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF94[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF98[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFF9C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFA0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFA4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFA8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFAC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFB0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFB4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFB8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFBC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFC0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFC4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFC8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFCC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFD0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFD4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFD8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFDC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFE0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFE4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFE8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFEC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFF0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFF4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFF8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_082FFFFC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300000[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300004[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300008[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830000C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300010[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300014[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300018[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830001C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300020[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300024[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300028[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830002C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300030[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300034[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300038[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830003C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300040[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300044[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300048[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830004C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300050[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300054[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300058[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830005C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300060[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300064[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300068[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830006C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300070[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300074[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300078[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830007C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300080[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300084[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300088[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830008C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300090[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300094[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300098[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830009C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000A0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000A4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000A8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000AC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000B0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000B4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000B8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000BC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000C0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000C4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000C8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000CC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000D0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000D4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000D8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000DC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000E0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000E4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000E8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000EC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000F0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000F4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000F8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083000FC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300100[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300104[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300108[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830010C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300110[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300114[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300118[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830011C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300120[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300124[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300128[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830012C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300130[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300134[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300138[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830013C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300140[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300144[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300148[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830014C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300150[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300154[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300158[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830015C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300160[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300164[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300168[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830016C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300170[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300174[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300178[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830017C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300180[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300184[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300188[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830018C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300190[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300194[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300198[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830019C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083001A0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083001A4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083001A8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083001AC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083001B0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083001B4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083001B8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083001BC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083001C0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083001C4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083001C8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083001CC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083001D0[] = {gAnimCmd_General_Frame0};
-
-const union AnimCmd *const gUnknown_083001D4[] =
-{
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const gUnknown_082FFDCC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFDD0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFDD4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFDD8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFDDC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFDE0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFDE4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFDE8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFDEC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFDF0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFDF4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFDF8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFDFC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE00[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE04[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE08[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE0C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE10[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE14[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE18[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE1C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE20[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE24[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE28[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE2C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE30[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE34[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE38[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE3C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE40[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE44[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE48[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE4C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE50[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE54[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE58[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE5C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE60[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE64[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE68[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE6C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE70[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE74[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE78[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE7C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE80[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE84[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE88[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE8C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE90[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE94[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE98[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFE9C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEA0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEA4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEA8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEAC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEB0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEB4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEB8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEBC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEC0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEC4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEC8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFECC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFED0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFED4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFED8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEDC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEE0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEE4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEE8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEEC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEF0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEF4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEF8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFEFC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF00[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF04[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF08[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF0C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF10[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF14[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF18[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF1C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF20[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF24[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF28[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF2C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF30[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF34[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF38[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF3C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF40[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF44[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF48[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF4C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF50[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF54[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF58[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF5C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF60[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF64[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF68[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF6C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF70[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF74[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF78[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF7C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF80[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF84[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF88[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF8C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF90[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF94[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF98[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFF9C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFA0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFA4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFA8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFAC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFB0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFB4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFB8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFBC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFC0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFC4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFC8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFCC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFD0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFD4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFD8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFDC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFE0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFE4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFE8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFEC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFF0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFF4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFF8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_082FFFFC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300000[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300004[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300008[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830000C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300010[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300014[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300018[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830001C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300020[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300024[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300028[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830002C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300030[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300034[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300038[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830003C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300040[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300044[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300048[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830004C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300050[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300054[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300058[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830005C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300060[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300064[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300068[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830006C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300070[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300074[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300078[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830007C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300080[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300084[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300088[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830008C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300090[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300094[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300098[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830009C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000A0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000A4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000A8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000AC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000B0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000B4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000B8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000BC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000C0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000C4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000C8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000CC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000D0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000D4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000D8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000DC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000E0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000E4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000E8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000EC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000F0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000F4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000F8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083000FC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300100[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300104[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300108[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830010C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300110[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300114[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300118[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830011C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300120[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300124[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300128[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830012C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300130[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300134[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300138[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830013C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300140[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300144[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300148[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830014C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300150[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300154[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300158[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830015C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300160[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300164[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300168[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830016C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300170[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300174[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300178[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830017C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300180[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300184[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300188[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830018C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300190[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300194[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300198[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830019C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083001A0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083001A4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083001A8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083001AC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083001B0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083001B4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083001B8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083001BC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083001C0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083001C4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083001C8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083001CC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083001D0[] = {sAnim_GeneralFrame0};
+
+static const union AnimCmd *const gUnknown_083001D4[] =
+{
+ sAnim_GeneralFrame0,
gUnknown_082FF71C,
gUnknown_082FF734,
gUnknown_082FF744,
gUnknown_082FF750,
};
-const union AnimCmd *const gUnknown_083001E8[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_083001E8[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_083001EC[] =
+static const union AnimCmd *const gUnknown_083001EC[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF758,
gUnknown_082FF774,
gUnknown_082FF790,
};
-const union AnimCmd *const gUnknown_083001FC[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_083001FC[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_08300200[] =
+static const union AnimCmd *const gUnknown_08300200[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF79C,
gUnknown_082FF7B0,
};
-const union AnimCmd *const gUnknown_0830020C[] =
+static const union AnimCmd *const gUnknown_0830020C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF7C4,
};
-const union AnimCmd *const gUnknown_08300214[] =
+static const union AnimCmd *const gUnknown_08300214[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF7CC,
};
-const union AnimCmd *const gUnknown_0830021C[] =
+static const union AnimCmd *const gUnknown_0830021C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF7D4,
};
-const union AnimCmd *const gUnknown_08300224[] =
+static const union AnimCmd *const gUnknown_08300224[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF7DC,
gUnknown_082FF7E4,
};
-const union AnimCmd *const gUnknown_08300230[] =
+static const union AnimCmd *const gUnknown_08300230[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF7EC,
gUnknown_082FF7F4,
};
-const union AnimCmd *const gUnknown_0830023C[] =
+static const union AnimCmd *const gUnknown_0830023C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF7FC,
gUnknown_082FF804,
};
-const union AnimCmd *const gUnknown_08300248[] =
+static const union AnimCmd *const gUnknown_08300248[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF80C,
gUnknown_082FF814,
};
-const union AnimCmd *const gUnknown_08300254[] =
+static const union AnimCmd *const gUnknown_08300254[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF81C,
gUnknown_082FF824,
};
-const union AnimCmd *const gUnknown_08300260[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_08300260[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_08300264[] =
+static const union AnimCmd *const gUnknown_08300264[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF82C,
};
-const union AnimCmd *const gUnknown_0830026C[] =
+static const union AnimCmd *const gUnknown_0830026C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF834,
gUnknown_082FF83C,
};
-const union AnimCmd *const gUnknown_08300278[] =
+static const union AnimCmd *const gUnknown_08300278[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF844,
};
-const union AnimCmd *const gUnknown_08300280[] =
+static const union AnimCmd *const gUnknown_08300280[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF84C,
};
-const union AnimCmd *const gUnknown_08300288[] =
+static const union AnimCmd *const gUnknown_08300288[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF854,
gUnknown_082FF85C,
};
-const union AnimCmd *const gUnknown_08300294[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300298[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830029C[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_08300294[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300298[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830029C[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_083002A0[] =
+static const union AnimCmd *const gUnknown_083002A0[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF864,
};
-const union AnimCmd *const gUnknown_083002A8[] =
+static const union AnimCmd *const gUnknown_083002A8[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF86C,
};
-const union AnimCmd *const gUnknown_083002B0[] =
+static const union AnimCmd *const gUnknown_083002B0[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF874,
};
-const union AnimCmd *const gUnknown_083002B8[] =
+static const union AnimCmd *const gUnknown_083002B8[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF87C,
};
-const union AnimCmd *const gUnknown_083002C0[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_083002C0[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_083002C4[] =
+static const union AnimCmd *const gUnknown_083002C4[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF884,
};
-const union AnimCmd *const gUnknown_083002CC[] =
+static const union AnimCmd *const gUnknown_083002CC[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF88C,
gUnknown_082FF894,
};
-const union AnimCmd *const gUnknown_083002D8[] =
+static const union AnimCmd *const gUnknown_083002D8[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF89C,
gUnknown_082FF8A4,
};
-const union AnimCmd *const gUnknown_083002E4[] =
+static const union AnimCmd *const gUnknown_083002E4[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF8AC,
gUnknown_082FF8B4,
};
-const union AnimCmd *const gUnknown_083002F0[] =
+static const union AnimCmd *const gUnknown_083002F0[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF8BC,
gUnknown_082FF8FC,
gUnknown_082FF91C,
gUnknown_082FF930,
};
-const union AnimCmd *const gUnknown_08300304[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_08300304[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_08300308[] =
+static const union AnimCmd *const gUnknown_08300308[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF93C,
};
-const union AnimCmd *const gUnknown_08300310[] =
+static const union AnimCmd *const gUnknown_08300310[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF944,
};
-const union AnimCmd *const gUnknown_08300318[] =
+static const union AnimCmd *const gUnknown_08300318[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FF94C,
gUnknown_082FF9A8,
gUnknown_082FFA00,
gUnknown_082FFA58,
};
-const union AnimCmd *const gUnknown_0830032C[] =
+static const union AnimCmd *const gUnknown_0830032C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFA64,
};
-const union AnimCmd *const gUnknown_08300334[] =
+static const union AnimCmd *const gUnknown_08300334[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFA6C,
};
-const union AnimCmd *const gUnknown_0830033C[] =
+static const union AnimCmd *const gUnknown_0830033C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFA74,
};
-const union AnimCmd *const gUnknown_08300344[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_08300344[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_08300348[] =
+static const union AnimCmd *const gUnknown_08300348[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFA7C,
gUnknown_082FFA84,
};
-const union AnimCmd *const gUnknown_08300354[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300358[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_08300354[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300358[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_0830035C[] =
+static const union AnimCmd *const gUnknown_0830035C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFA8C,
gUnknown_082FFA94,
};
-const union AnimCmd *const gUnknown_08300368[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830036C[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_08300368[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830036C[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_08300370[] =
+static const union AnimCmd *const gUnknown_08300370[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFA9C,
gUnknown_082FFAA4,
};
-const union AnimCmd *const gUnknown_0830037C[] =
+static const union AnimCmd *const gUnknown_0830037C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFAAC,
gUnknown_082FFAB4,
};
-const union AnimCmd *const gUnknown_08300388[] =
+static const union AnimCmd *const gUnknown_08300388[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFABC,
gUnknown_082FFAC4,
};
-const union AnimCmd *const gUnknown_08300394[] =
+static const union AnimCmd *const gUnknown_08300394[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFACC,
gUnknown_082FFAD4,
};
-const union AnimCmd *const gUnknown_083003A0[] =
+static const union AnimCmd *const gUnknown_083003A0[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFADC,
};
-const union AnimCmd *const gUnknown_083003A8[] =
+static const union AnimCmd *const gUnknown_083003A8[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFAE4,
};
-const union AnimCmd *const gUnknown_083003B0[] =
+static const union AnimCmd *const gUnknown_083003B0[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFAEC,
};
-const union AnimCmd *const gUnknown_083003B8[] =
+static const union AnimCmd *const gUnknown_083003B8[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFAF4,
};
-const union AnimCmd *const gUnknown_083003C0[] =
+static const union AnimCmd *const gUnknown_083003C0[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFAFC,
};
-const union AnimCmd *const gUnknown_083003C8[] =
+static const union AnimCmd *const gUnknown_083003C8[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFB04,
gUnknown_082FFB0C,
};
-const union AnimCmd *const gUnknown_083003D4[] =
+static const union AnimCmd *const gUnknown_083003D4[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFB14,
};
-const union AnimCmd *const gUnknown_083003DC[] =
+static const union AnimCmd *const gUnknown_083003DC[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFB1C,
gUnknown_082FFB24,
};
-const union AnimCmd *const gUnknown_083003E8[] =
+static const union AnimCmd *const gUnknown_083003E8[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFB2C,
};
-const union AnimCmd *const gUnknown_083003F0[] =
+static const union AnimCmd *const gUnknown_083003F0[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFB34,
};
-const union AnimCmd *const gUnknown_083003F8[] =
+static const union AnimCmd *const gUnknown_083003F8[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFB3C,
};
-const union AnimCmd *const gUnknown_08300400[] =
+static const union AnimCmd *const gUnknown_08300400[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFB44,
gUnknown_082FFB60,
};
-const union AnimCmd *const gUnknown_0830040C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300410[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300414[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300418[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830041C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300420[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_0830040C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300410[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300414[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300418[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830041C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300420[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_08300424[] =
+static const union AnimCmd *const gUnknown_08300424[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFB7C,
gUnknown_082FFBBC,
gUnknown_082FFBE0,
gUnknown_082FFBF4,
};
-const union AnimCmd *const gUnknown_08300438[] =
+static const union AnimCmd *const gUnknown_08300438[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFBFC,
gUnknown_082FFC04,
};
-const union AnimCmd *const gUnknown_08300444[] =
+static const union AnimCmd *const gUnknown_08300444[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFC0C,
};
-const union AnimCmd *const gUnknown_0830044C[] =
+static const union AnimCmd *const gUnknown_0830044C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFC14,
};
-const union AnimCmd *const gUnknown_08300454[] =
+static const union AnimCmd *const gUnknown_08300454[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFC1C,
};
-const union AnimCmd *const gUnknown_0830045C[] =
+static const union AnimCmd *const gUnknown_0830045C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFC24,
};
-const union AnimCmd *const gUnknown_08300464[] =
+static const union AnimCmd *const gUnknown_08300464[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFC2C,
};
-const union AnimCmd *const gUnknown_0830046C[] =
+static const union AnimCmd *const gUnknown_0830046C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFC34,
};
-const union AnimCmd *const gUnknown_08300474[] =
+static const union AnimCmd *const gUnknown_08300474[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFC3C,
gUnknown_082FFC58,
};
-const union AnimCmd *const gUnknown_08300480[] =
+static const union AnimCmd *const gUnknown_08300480[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFC74,
};
-const union AnimCmd *const gUnknown_08300488[] =
+static const union AnimCmd *const gUnknown_08300488[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFC7C,
gUnknown_082FFC84,
};
-const union AnimCmd *const gUnknown_08300494[] =
+static const union AnimCmd *const gUnknown_08300494[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFC8C,
gUnknown_082FFC94,
};
-const union AnimCmd *const gUnknown_083004A0[] =
+static const union AnimCmd *const gUnknown_083004A0[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFC9C,
gUnknown_082FFCA4,
};
-const union AnimCmd *const gUnknown_083004AC[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_083004AC[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_083004B0[] =
+static const union AnimCmd *const gUnknown_083004B0[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFCAC,
};
-const union AnimCmd *const gUnknown_083004B8[] =
+static const union AnimCmd *const gUnknown_083004B8[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFCB4,
};
-const union AnimCmd *const gUnknown_083004C0[] =
+static const union AnimCmd *const gUnknown_083004C0[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFCBC,
};
-const union AnimCmd *const gUnknown_083004C8[] =
+static const union AnimCmd *const gUnknown_083004C8[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFCC4,
};
-const union AnimCmd *const gUnknown_083004D0[] =
+static const union AnimCmd *const gUnknown_083004D0[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFCCC,
};
-const union AnimCmd *const gUnknown_083004D8[] =
+static const union AnimCmd *const gUnknown_083004D8[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFCD4,
};
-const union AnimCmd *const gUnknown_083004E0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083004E4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083004E8[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_083004E0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083004E4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083004E8[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_083004EC[] =
+static const union AnimCmd *const gUnknown_083004EC[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFCDC,
};
-const union AnimCmd *const gUnknown_083004F4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083004F8[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_083004F4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083004F8[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_083004FC[] =
+static const union AnimCmd *const gUnknown_083004FC[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFCE4,
};
-const union AnimCmd *const gUnknown_08300504[] =
+static const union AnimCmd *const gUnknown_08300504[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFCEC,
gUnknown_082FFCF4,
};
-const union AnimCmd *const gUnknown_08300510[] =
+static const union AnimCmd *const gUnknown_08300510[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFCFC,
};
-const union AnimCmd *const gUnknown_08300518[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830051C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300520[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_08300518[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830051C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300520[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_08300524[] =
+static const union AnimCmd *const gUnknown_08300524[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFD04,
};
-const union AnimCmd *const gUnknown_0830052C[] =
+static const union AnimCmd *const gUnknown_0830052C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFD0C,
};
-const union AnimCmd *const gUnknown_08300534[] =
+static const union AnimCmd *const gUnknown_08300534[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFD14,
};
-const union AnimCmd *const gUnknown_0830053C[] =
+static const union AnimCmd *const gUnknown_0830053C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFD1C,
gUnknown_082FFD24,
gUnknown_082FFD2C,
gUnknown_082FFD34,
};
-const union AnimCmd *const gUnknown_08300550[] =
+static const union AnimCmd *const gUnknown_08300550[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFD3C,
};
-const union AnimCmd *const gUnknown_08300558[] =
+static const union AnimCmd *const gUnknown_08300558[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFD44,
};
-const union AnimCmd *const gUnknown_08300560[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300564[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300568[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830056C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300570[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300574[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300578[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_08300560[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300564[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300568[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830056C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300570[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300574[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300578[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_0830057C[] =
+static const union AnimCmd *const gUnknown_0830057C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFD4C,
gUnknown_082FFD54,
};
-const union AnimCmd *const gUnknown_08300588[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_08300588[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_0830058C[] =
+static const union AnimCmd *const gUnknown_0830058C[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFD5C,
gUnknown_082FFD64,
};
-const union AnimCmd *const gUnknown_08300598[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830059C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083005A0[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_08300598[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830059C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083005A0[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_083005A4[] =
+static const union AnimCmd *const gUnknown_083005A4[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFD6C,
};
-const union AnimCmd *const gUnknown_083005AC[] =
+static const union AnimCmd *const gUnknown_083005AC[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFD74,
};
-const union AnimCmd *const gUnknown_083005B4[] =
+static const union AnimCmd *const gUnknown_083005B4[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFD7C,
gUnknown_082FFD84,
};
-const union AnimCmd *const gUnknown_083005C0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083005C4[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_083005C0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083005C4[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_083005C8[] =
+static const union AnimCmd *const gUnknown_083005C8[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFD8C,
gUnknown_082FFDA0,
};
-const union AnimCmd *const gUnknown_083005D4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083005D8[] = {gAnimCmd_General_Frame0};
+static const union AnimCmd *const gUnknown_083005D4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083005D8[] = {sAnim_GeneralFrame0};
-const union AnimCmd *const gUnknown_083005DC[] =
+static const union AnimCmd *const gUnknown_083005DC[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gUnknown_082FFDC4,
};
-const union AnimCmd *const gUnknown_083005E4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083005E8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083005EC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083005F0[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083005F4[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083005F8[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_083005FC[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300600[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300604[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300608[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830060C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300610[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300614[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300618[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830061C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300620[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300624[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300628[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830062C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300630[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300634[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300638[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830063C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300640[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300644[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300648[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_0830064C[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300650[] = {gAnimCmd_General_Frame0};
-const union AnimCmd *const gUnknown_08300654[] = {gAnimCmd_General_Frame0};
-
-const union AnimCmd *const *const gUnusedTrainerFrontAnimsPtrTable[] =
+static const union AnimCmd *const gUnknown_083005E4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083005E8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083005EC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083005F0[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083005F4[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083005F8[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_083005FC[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300600[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300604[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300608[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830060C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300610[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300614[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300618[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830061C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300620[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300624[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300628[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830062C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300630[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300634[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300638[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830063C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300640[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300644[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300648[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_0830064C[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300650[] = {sAnim_GeneralFrame0};
+static const union AnimCmd *const gUnknown_08300654[] = {sAnim_GeneralFrame0};
+
+const union AnimCmd *const *const gUnknownAnimsTable[] =
{
gUnknown_082FFDCC,
gUnknown_082FFDD0,
diff --git a/src/data/trainer_graphics/back_pic_anims.h b/src/data/trainer_graphics/back_pic_anims.h
index 0cc4bb203..821039cb3 100644
--- a/src/data/trainer_graphics/back_pic_anims.h
+++ b/src/data/trainer_graphics/back_pic_anims.h
@@ -1,4 +1,4 @@
-const union AnimCmd gAnimCmd_Brendan_1[] =
+static const union AnimCmd gAnimCmd_Brendan_1[] =
{
ANIMCMD_FRAME(0, 24),
ANIMCMD_FRAME(1, 9),
@@ -8,7 +8,7 @@ const union AnimCmd gAnimCmd_Brendan_1[] =
ANIMCMD_END,
};
-const union AnimCmd gAnimCmd_May_Steven_1[] =
+static const union AnimCmd gAnimCmd_May_Steven_1[] =
{
ANIMCMD_FRAME(0, 24),
ANIMCMD_FRAME(1, 9),
@@ -18,7 +18,7 @@ const union AnimCmd gAnimCmd_May_Steven_1[] =
ANIMCMD_END,
};
-const union AnimCmd gAnimCmd_Wally_1[] =
+static const union AnimCmd gAnimCmd_Wally_1[] =
{
ANIMCMD_FRAME(0, 24),
ANIMCMD_FRAME(1, 9),
@@ -28,7 +28,7 @@ const union AnimCmd gAnimCmd_Wally_1[] =
ANIMCMD_END,
};
-const union AnimCmd gAnimCmd_Red_1[] =
+static const union AnimCmd gAnimCmd_Red_1[] =
{
ANIMCMD_FRAME(1, 20),
ANIMCMD_FRAME(2, 6),
@@ -38,7 +38,7 @@ const union AnimCmd gAnimCmd_Red_1[] =
ANIMCMD_END,
};
-const union AnimCmd gAnimCmd_Leaf_1[] =
+static const union AnimCmd gAnimCmd_Leaf_1[] =
{
ANIMCMD_FRAME(1, 20),
ANIMCMD_FRAME(2, 6),
@@ -48,7 +48,7 @@ const union AnimCmd gAnimCmd_Leaf_1[] =
ANIMCMD_END,
};
-const union AnimCmd gAnimCmd_RubySapphireBrendan_1[] =
+static const union AnimCmd gAnimCmd_RubySapphireBrendan_1[] =
{
ANIMCMD_FRAME(0, 24),
ANIMCMD_FRAME(1, 9),
@@ -58,72 +58,72 @@ const union AnimCmd gAnimCmd_RubySapphireBrendan_1[] =
ANIMCMD_END,
};
-const union AnimCmd gAnimCmd_RubySapphireMay_1[] =
+static const union AnimCmd gAnimCmd_RubySapphireMay_1[] =
{
ANIMCMD_FRAME(0, 24),
ANIMCMD_FRAME(1, 9),
- ANIMCMD_FRAME(2, 24),
+ ANIMCMD_FRAME(2, 24),
ANIMCMD_FRAME(0, 9),
ANIMCMD_FRAME(3, 50),
ANIMCMD_END,
};
-const union AnimCmd *const gTrainerBackAnims_Brendan[] =
+static const union AnimCmd *const sBackAnims_Brendan[] =
{
- gAnimCmd_General_Frame3,
+ sAnim_GeneralFrame3,
gAnimCmd_Brendan_1,
};
-const union AnimCmd *const gTrainerBackAnims_May[] =
+static const union AnimCmd *const sBackAnims_May[] =
{
- gAnimCmd_General_Frame3,
+ sAnim_GeneralFrame3,
gAnimCmd_May_Steven_1,
};
-const union AnimCmd *const gTrainerBackAnims_Red[] =
+static const union AnimCmd *const sBackAnims_Red[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gAnimCmd_Red_1,
};
-const union AnimCmd *const gTrainerBackAnims_Leaf[] =
+static const union AnimCmd *const sBackAnims_Leaf[] =
{
- gAnimCmd_General_Frame0,
+ sAnim_GeneralFrame0,
gAnimCmd_Leaf_1,
};
-const union AnimCmd *const gTrainerBackAnims_RubySapphireBrendan[] =
+static const union AnimCmd *const sBackAnims_RubySapphireBrendan[] =
{
- gAnimCmd_General_Frame3,
+ sAnim_GeneralFrame3,
gAnimCmd_RubySapphireBrendan_1,
};
-const union AnimCmd *const gTrainerBackAnims_RubySapphireMay[] =
+static const union AnimCmd *const sBackAnims_RubySapphireMay[] =
{
- gAnimCmd_General_Frame3,
+ sAnim_GeneralFrame3,
gAnimCmd_RubySapphireMay_1,
};
-const union AnimCmd *const gTrainerBackAnims_Wally[] =
+static const union AnimCmd *const sBackAnims_Wally[] =
{
- gAnimCmd_General_Frame3,
+ sAnim_GeneralFrame3,
gAnimCmd_Wally_1,
};
-const union AnimCmd *const gTrainerBackAnims_Steven[] =
+static const union AnimCmd *const sBackAnims_Steven[] =
{
- gAnimCmd_General_Frame3,
+ sAnim_GeneralFrame3,
gAnimCmd_May_Steven_1,
};
const union AnimCmd *const *const gTrainerBackAnimsPtrTable[] =
{
- gTrainerBackAnims_Brendan,
- gTrainerBackAnims_May,
- gTrainerBackAnims_Red,
- gTrainerBackAnims_Leaf,
- gTrainerBackAnims_RubySapphireBrendan,
- gTrainerBackAnims_RubySapphireMay,
- gTrainerBackAnims_Wally,
- gTrainerBackAnims_Steven,
+ [TRAINER_BACK_PIC_BRENDAN] = sBackAnims_Brendan,
+ [TRAINER_BACK_PIC_MAY] = sBackAnims_May,
+ [TRAINER_BACK_PIC_RED] = sBackAnims_Red,
+ [TRAINER_BACK_PIC_LEAF] = sBackAnims_Leaf,
+ [TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN] = sBackAnims_RubySapphireBrendan,
+ [TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY] = sBackAnims_RubySapphireMay,
+ [TRAINER_BACK_PIC_WALLY] = sBackAnims_Wally,
+ [TRAINER_BACK_PIC_STEVEN] = sBackAnims_Steven,
};
diff --git a/src/data/trainer_graphics/back_pic_tables.h b/src/data/trainer_graphics/back_pic_tables.h
index 0f6b0cb91..86efd7905 100644
--- a/src/data/trainer_graphics/back_pic_tables.h
+++ b/src/data/trainer_graphics/back_pic_tables.h
@@ -1,13 +1,13 @@
const struct MonCoords gTrainerBackPicCoords[] =
{
- {.size = 8, .y_offset = 4},
- {.size = 8, .y_offset = 4},
- {.size = 8, .y_offset = 5},
- {.size = 8, .y_offset = 5},
- {.size = 8, .y_offset = 4},
- {.size = 8, .y_offset = 4},
- {.size = 8, .y_offset = 4},
- {.size = 8, .y_offset = 4},
+ [TRAINER_BACK_PIC_BRENDAN] = {.size = 8, .y_offset = 4},
+ [TRAINER_BACK_PIC_MAY] = {.size = 8, .y_offset = 4},
+ [TRAINER_BACK_PIC_RED] = {.size = 8, .y_offset = 5},
+ [TRAINER_BACK_PIC_LEAF] = {.size = 8, .y_offset = 5},
+ [TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN] = {.size = 8, .y_offset = 4},
+ [TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY] = {.size = 8, .y_offset = 4},
+ [TRAINER_BACK_PIC_WALLY] = {.size = 8, .y_offset = 4},
+ [TRAINER_BACK_PIC_STEVEN] = {.size = 8, .y_offset = 4},
};
// this table goes functionally unused, since none of these pics are compressed
@@ -25,14 +25,14 @@ const struct CompressedSpriteSheet gTrainerBackPicTable[] =
(const u32 *)gTrainerBackPic_Steven, 0x2000, TRAINER_BACK_PIC_STEVEN,
};
-const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] =
+const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] =
{
- gTrainerPalette_Brendan, TRAINER_BACK_PIC_BRENDAN,
- gTrainerPalette_May, TRAINER_BACK_PIC_MAY,
- gTrainerBackPicPalette_Red, TRAINER_BACK_PIC_RED,
- gTrainerBackPicPalette_Leaf, TRAINER_BACK_PIC_LEAF,
- gTrainerPalette_RubySapphireBrendan, TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN,
- gTrainerPalette_RubySapphireMay, TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY,
- gTrainerPalette_Wally, TRAINER_BACK_PIC_WALLY,
- gTrainerPalette_Steven, TRAINER_BACK_PIC_STEVEN,
+ TRAINER_BACK_PAL(BRENDAN, gTrainerPalette_Brendan),
+ TRAINER_BACK_PAL(MAY, gTrainerPalette_May),
+ TRAINER_BACK_PAL(RED, gTrainerBackPicPalette_Red),
+ TRAINER_BACK_PAL(LEAF, gTrainerBackPicPalette_Leaf),
+ TRAINER_BACK_PAL(RUBY_SAPPHIRE_BRENDAN, gTrainerPalette_RubySapphireBrendan),
+ TRAINER_BACK_PAL(RUBY_SAPPHIRE_MAY, gTrainerPalette_RubySapphireMay),
+ TRAINER_BACK_PAL(WALLY, gTrainerPalette_Wally),
+ TRAINER_BACK_PAL(STEVEN, gTrainerPalette_Steven),
};
diff --git a/src/data/trainer_graphics/front_pic_anims.h b/src/data/trainer_graphics/front_pic_anims.h
index 371e5a300..f01394532 100644
--- a/src/data/trainer_graphics/front_pic_anims.h
+++ b/src/data/trainer_graphics/front_pic_anims.h
@@ -1,470 +1,468 @@
-#include "constants/trainers.h"
-
-const union AnimCmd *const gTrainerFrontAnims_Hiker[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Hiker[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_AquaGruntM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_AquaGruntM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_PokemonBreederF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_PokemonBreederF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_CoolTrainerM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_CoolTrainerM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_BirdKeeper[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_BirdKeeper[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Collector[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Collector[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_AquaGruntF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_AquaGruntF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_SwimmerM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_SwimmerM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_MagmaGruntM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_MagmaGruntM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_ExpertM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_ExpertM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_AquaAdminM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_AquaAdminM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_BlackBelt[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_BlackBelt[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_AquaAdminF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_AquaAdminF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_AquaLeaderArchie[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_AquaLeaderArchie[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_HexManiac[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_HexManiac[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_AromaLady[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_AromaLady[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_RuinManiac[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_RuinManiac[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Interviewer[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Interviewer[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_TuberF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_TuberF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_TuberM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_TuberM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_CoolTrainerF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_CoolTrainerF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Lady[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Lady[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Beauty[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Beauty[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_RichBoy[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_RichBoy[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_ExpertF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_ExpertF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Pokemaniac[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Pokemaniac[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_MagmaGruntF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_MagmaGruntF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Guitarist[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Guitarist[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Kindler[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Kindler[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Camper[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Camper[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Picnicker[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Picnicker[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_BugManiac[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_BugManiac[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_PokemonBreederM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_PokemonBreederM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_PsychicM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_PsychicM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_PsychicF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_PsychicF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Gentleman[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Gentleman[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_EliteFourSidney[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_EliteFourSidney[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_EliteFourPhoebe[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_EliteFourPhoebe[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_EliteFourGlacia[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_EliteFourGlacia[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_EliteFourDrake[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_EliteFourDrake[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_LeaderRoxanne[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_LeaderRoxanne[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_LeaderBrawly[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_LeaderBrawly[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_LeaderWattson[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_LeaderWattson[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_LeaderFlannery[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_LeaderFlannery[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_LeaderNorman[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_LeaderNorman[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_LeaderWinona[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_LeaderWinona[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_LeaderTateAndLiza[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_LeaderTateAndLiza[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_LeaderJuan[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_LeaderJuan[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_SchoolKidM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_SchoolKidM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_SchoolKidF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_SchoolKidF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_SrAndJr[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_SrAndJr[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_PokefanM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_PokefanM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_PokefanF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_PokefanF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Youngster[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Youngster[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_ChampionWallace[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_ChampionWallace[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Fisherman[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Fisherman[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_CyclingTriathleteM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_CyclingTriathleteM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_CyclingTriathleteF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_CyclingTriathleteF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_RunningTriathleteM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_RunningTriathleteM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_RunningTriathleteF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_RunningTriathleteF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_SwimmingTriathleteM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_SwimmingTriathleteM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_SwimmingTriathleteF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_SwimmingTriathleteF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_DragonTamer[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_DragonTamer[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_NinjaBoy[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_NinjaBoy[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_BattleGirl[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_BattleGirl[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_ParasolLady[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_ParasolLady[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_SwimmerF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_SwimmerF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Twins[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Twins[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Sailor[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Sailor[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_MagmaAdmin[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_MagmaAdmin[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Wally[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Wally[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Brendan[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Brendan[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_May[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_May[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_BugCatcher[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_BugCatcher[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_PokemonRangerM[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_PokemonRangerM[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_PokemonRangerF[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_PokemonRangerF[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_MagmaLeaderMaxie[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_MagmaLeaderMaxie[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Lass[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Lass[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_YoungCouple[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_YoungCouple[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_OldCouple[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_OldCouple[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_SisAndBro[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_SisAndBro[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Steven[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Steven[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_SalonMaidenAnabel[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_SalonMaidenAnabel[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_DomeAceTucker[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_DomeAceTucker[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_PalaceMavenSpenser[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_PalaceMavenSpenser[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_ArenaTycoonGreta[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_ArenaTycoonGreta[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_FactoryHeadNoland[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_FactoryHeadNoland[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_PikeQueenLucy[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_PikeQueenLucy[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_PyramidKingBrandon[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_PyramidKingBrandon[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Red[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Red[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_Leaf[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_Leaf[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_RubySapphireBrendan[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_RubySapphireBrendan[] ={
+ sAnim_GeneralFrame0,
};
-const union AnimCmd *const gTrainerFrontAnims_RubySapphireMay[] ={
- gAnimCmd_General_Frame0,
+static const union AnimCmd *const sAnims_RubySapphireMay[] ={
+ sAnim_GeneralFrame0,
};
const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[] =
{
- [TRAINER_PIC_HIKER] = gTrainerFrontAnims_Hiker,
- [TRAINER_PIC_AQUA_GRUNT_M] = gTrainerFrontAnims_AquaGruntM,
- [TRAINER_PIC_POKEMON_BREEDER_F] = gTrainerFrontAnims_PokemonBreederF,
- [TRAINER_PIC_COOLTRAINER_M] = gTrainerFrontAnims_CoolTrainerM,
- [TRAINER_PIC_BIRD_KEEPER] = gTrainerFrontAnims_BirdKeeper,
- [TRAINER_PIC_COLLECTOR] = gTrainerFrontAnims_Collector,
- [TRAINER_PIC_AQUA_GRUNT_F] = gTrainerFrontAnims_AquaGruntF,
- [TRAINER_PIC_SWIMMER_M] = gTrainerFrontAnims_SwimmerM,
- [TRAINER_PIC_MAGMA_GRUNT_M] = gTrainerFrontAnims_MagmaGruntM,
- [TRAINER_PIC_EXPERT_M] = gTrainerFrontAnims_ExpertM,
- [TRAINER_PIC_AQUA_ADMIN_M] = gTrainerFrontAnims_AquaAdminM,
- [TRAINER_PIC_BLACK_BELT] = gTrainerFrontAnims_BlackBelt,
- [TRAINER_PIC_AQUA_ADMIN_F] = gTrainerFrontAnims_AquaAdminF,
- [TRAINER_PIC_AQUA_LEADER_ARCHIE] = gTrainerFrontAnims_AquaLeaderArchie,
- [TRAINER_PIC_HEX_MANIAC] = gTrainerFrontAnims_HexManiac,
- [TRAINER_PIC_AROMA_LADY] = gTrainerFrontAnims_AromaLady,
- [TRAINER_PIC_RUIN_MANIAC] = gTrainerFrontAnims_RuinManiac,
- [TRAINER_PIC_INTERVIEWER] = gTrainerFrontAnims_Interviewer,
- [TRAINER_PIC_TUBER_F] = gTrainerFrontAnims_TuberF,
- [TRAINER_PIC_TUBER_M] = gTrainerFrontAnims_TuberM,
- [TRAINER_PIC_COOLTRAINER_F] = gTrainerFrontAnims_CoolTrainerF,
- [TRAINER_PIC_LADY] = gTrainerFrontAnims_Lady,
- [TRAINER_PIC_BEAUTY] = gTrainerFrontAnims_Beauty,
- [TRAINER_PIC_RICH_BOY] = gTrainerFrontAnims_RichBoy,
- [TRAINER_PIC_EXPERT_F] = gTrainerFrontAnims_ExpertF,
- [TRAINER_PIC_POKEMANIAC] = gTrainerFrontAnims_Pokemaniac,
- [TRAINER_PIC_MAGMA_GRUNT_F] = gTrainerFrontAnims_MagmaGruntF,
- [TRAINER_PIC_GUITARIST] = gTrainerFrontAnims_Guitarist,
- [TRAINER_PIC_KINDLER] = gTrainerFrontAnims_Kindler,
- [TRAINER_PIC_CAMPER] = gTrainerFrontAnims_Camper,
- [TRAINER_PIC_PICNICKER] = gTrainerFrontAnims_Picnicker,
- [TRAINER_PIC_BUG_MANIAC] = gTrainerFrontAnims_BugManiac,
- [TRAINER_PIC_POKEMON_BREEDER_M] = gTrainerFrontAnims_PokemonBreederM,
- [TRAINER_PIC_PSYCHIC_M] = gTrainerFrontAnims_PsychicM,
- [TRAINER_PIC_PSYCHIC_F] = gTrainerFrontAnims_PsychicF,
- [TRAINER_PIC_GENTLEMAN] = gTrainerFrontAnims_Gentleman,
- [TRAINER_PIC_ELITE_FOUR_SIDNEY] = gTrainerFrontAnims_EliteFourSidney,
- [TRAINER_PIC_ELITE_FOUR_PHOEBE] = gTrainerFrontAnims_EliteFourPhoebe,
- [TRAINER_PIC_ELITE_FOUR_GLACIA] = gTrainerFrontAnims_EliteFourGlacia,
- [TRAINER_PIC_ELITE_FOUR_DRAKE] = gTrainerFrontAnims_EliteFourDrake,
- [TRAINER_PIC_LEADER_ROXANNE] = gTrainerFrontAnims_LeaderRoxanne,
- [TRAINER_PIC_LEADER_BRAWLY] = gTrainerFrontAnims_LeaderBrawly,
- [TRAINER_PIC_LEADER_WATTSON] = gTrainerFrontAnims_LeaderWattson,
- [TRAINER_PIC_LEADER_FLANNERY] = gTrainerFrontAnims_LeaderFlannery,
- [TRAINER_PIC_LEADER_NORMAN] = gTrainerFrontAnims_LeaderNorman,
- [TRAINER_PIC_LEADER_WINONA] = gTrainerFrontAnims_LeaderWinona,
- [TRAINER_PIC_LEADER_TATE_AND_LIZA] = gTrainerFrontAnims_LeaderTateAndLiza,
- [TRAINER_PIC_LEADER_JUAN] = gTrainerFrontAnims_LeaderJuan,
- [TRAINER_PIC_SCHOOL_KID_M] = gTrainerFrontAnims_SchoolKidM,
- [TRAINER_PIC_SCHOOL_KID_F] = gTrainerFrontAnims_SchoolKidF,
- [TRAINER_PIC_SR_AND_JR] = gTrainerFrontAnims_SrAndJr,
- [TRAINER_PIC_POKEFAN_M] = gTrainerFrontAnims_PokefanM,
- [TRAINER_PIC_POKEFAN_F] = gTrainerFrontAnims_PokefanF,
- [TRAINER_PIC_YOUNGSTER] = gTrainerFrontAnims_Youngster,
- [TRAINER_PIC_CHAMPION_WALLACE] = gTrainerFrontAnims_ChampionWallace,
- [TRAINER_PIC_FISHERMAN] = gTrainerFrontAnims_Fisherman,
- [TRAINER_PIC_CYCLING_TRIATHLETE_M] = gTrainerFrontAnims_CyclingTriathleteM,
- [TRAINER_PIC_CYCLING_TRIATHLETE_F] = gTrainerFrontAnims_CyclingTriathleteF,
- [TRAINER_PIC_RUNNING_TRIATHLETE_M] = gTrainerFrontAnims_RunningTriathleteM,
- [TRAINER_PIC_RUNNING_TRIATHLETE_F] = gTrainerFrontAnims_RunningTriathleteF,
- [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = gTrainerFrontAnims_SwimmingTriathleteM,
- [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = gTrainerFrontAnims_SwimmingTriathleteF,
- [TRAINER_PIC_DRAGON_TAMER] = gTrainerFrontAnims_DragonTamer,
- [TRAINER_PIC_NINJA_BOY] = gTrainerFrontAnims_NinjaBoy,
- [TRAINER_PIC_BATTLE_GIRL] = gTrainerFrontAnims_BattleGirl,
- [TRAINER_PIC_PARASOL_LADY] = gTrainerFrontAnims_ParasolLady,
- [TRAINER_PIC_SWIMMER_F] = gTrainerFrontAnims_SwimmerF,
- [TRAINER_PIC_TWINS] = gTrainerFrontAnims_Twins,
- [TRAINER_PIC_SAILOR] = gTrainerFrontAnims_Sailor,
- [TRAINER_PIC_MAGMA_ADMIN] = gTrainerFrontAnims_MagmaAdmin,
- [TRAINER_PIC_WALLY] = gTrainerFrontAnims_Wally,
- [TRAINER_PIC_BRENDAN] = gTrainerFrontAnims_Brendan,
- [TRAINER_PIC_MAY] = gTrainerFrontAnims_May,
- [TRAINER_PIC_BUG_CATCHER] = gTrainerFrontAnims_BugCatcher,
- [TRAINER_PIC_POKEMON_RANGER_M] = gTrainerFrontAnims_PokemonRangerM,
- [TRAINER_PIC_POKEMON_RANGER_F] = gTrainerFrontAnims_PokemonRangerF,
- [TRAINER_PIC_MAGMA_LEADER_MAXIE] = gTrainerFrontAnims_MagmaLeaderMaxie,
- [TRAINER_PIC_LASS] = gTrainerFrontAnims_Lass,
- [TRAINER_PIC_YOUNG_COUPLE] = gTrainerFrontAnims_YoungCouple,
- [TRAINER_PIC_OLD_COUPLE] = gTrainerFrontAnims_OldCouple,
- [TRAINER_PIC_SIS_AND_BRO] = gTrainerFrontAnims_SisAndBro,
- [TRAINER_PIC_STEVEN] = gTrainerFrontAnims_Steven,
- [TRAINER_PIC_SALON_MAIDEN_ANABEL] = gTrainerFrontAnims_SalonMaidenAnabel,
- [TRAINER_PIC_DOME_ACE_TUCKER] = gTrainerFrontAnims_DomeAceTucker,
- [TRAINER_PIC_PALACE_MAVEN_SPENSER] = gTrainerFrontAnims_PalaceMavenSpenser,
- [TRAINER_PIC_ARENA_TYCOON_GRETA] = gTrainerFrontAnims_ArenaTycoonGreta,
- [TRAINER_PIC_FACTORY_HEAD_NOLAND] = gTrainerFrontAnims_FactoryHeadNoland,
- [TRAINER_PIC_PIKE_QUEEN_LUCY] = gTrainerFrontAnims_PikeQueenLucy,
- [TRAINER_PIC_PYRAMID_KING_BRANDON] = gTrainerFrontAnims_PyramidKingBrandon,
- [TRAINER_PIC_RED] = gTrainerFrontAnims_Red,
- [TRAINER_PIC_LEAF] = gTrainerFrontAnims_Leaf,
- [TRAINER_PIC_RS_BRENDAN] = gTrainerFrontAnims_RubySapphireBrendan,
- [TRAINER_PIC_RS_MAY] = gTrainerFrontAnims_RubySapphireMay,
+ [TRAINER_PIC_HIKER] = sAnims_Hiker,
+ [TRAINER_PIC_AQUA_GRUNT_M] = sAnims_AquaGruntM,
+ [TRAINER_PIC_POKEMON_BREEDER_F] = sAnims_PokemonBreederF,
+ [TRAINER_PIC_COOLTRAINER_M] = sAnims_CoolTrainerM,
+ [TRAINER_PIC_BIRD_KEEPER] = sAnims_BirdKeeper,
+ [TRAINER_PIC_COLLECTOR] = sAnims_Collector,
+ [TRAINER_PIC_AQUA_GRUNT_F] = sAnims_AquaGruntF,
+ [TRAINER_PIC_SWIMMER_M] = sAnims_SwimmerM,
+ [TRAINER_PIC_MAGMA_GRUNT_M] = sAnims_MagmaGruntM,
+ [TRAINER_PIC_EXPERT_M] = sAnims_ExpertM,
+ [TRAINER_PIC_AQUA_ADMIN_M] = sAnims_AquaAdminM,
+ [TRAINER_PIC_BLACK_BELT] = sAnims_BlackBelt,
+ [TRAINER_PIC_AQUA_ADMIN_F] = sAnims_AquaAdminF,
+ [TRAINER_PIC_AQUA_LEADER_ARCHIE] = sAnims_AquaLeaderArchie,
+ [TRAINER_PIC_HEX_MANIAC] = sAnims_HexManiac,
+ [TRAINER_PIC_AROMA_LADY] = sAnims_AromaLady,
+ [TRAINER_PIC_RUIN_MANIAC] = sAnims_RuinManiac,
+ [TRAINER_PIC_INTERVIEWER] = sAnims_Interviewer,
+ [TRAINER_PIC_TUBER_F] = sAnims_TuberF,
+ [TRAINER_PIC_TUBER_M] = sAnims_TuberM,
+ [TRAINER_PIC_COOLTRAINER_F] = sAnims_CoolTrainerF,
+ [TRAINER_PIC_LADY] = sAnims_Lady,
+ [TRAINER_PIC_BEAUTY] = sAnims_Beauty,
+ [TRAINER_PIC_RICH_BOY] = sAnims_RichBoy,
+ [TRAINER_PIC_EXPERT_F] = sAnims_ExpertF,
+ [TRAINER_PIC_POKEMANIAC] = sAnims_Pokemaniac,
+ [TRAINER_PIC_MAGMA_GRUNT_F] = sAnims_MagmaGruntF,
+ [TRAINER_PIC_GUITARIST] = sAnims_Guitarist,
+ [TRAINER_PIC_KINDLER] = sAnims_Kindler,
+ [TRAINER_PIC_CAMPER] = sAnims_Camper,
+ [TRAINER_PIC_PICNICKER] = sAnims_Picnicker,
+ [TRAINER_PIC_BUG_MANIAC] = sAnims_BugManiac,
+ [TRAINER_PIC_POKEMON_BREEDER_M] = sAnims_PokemonBreederM,
+ [TRAINER_PIC_PSYCHIC_M] = sAnims_PsychicM,
+ [TRAINER_PIC_PSYCHIC_F] = sAnims_PsychicF,
+ [TRAINER_PIC_GENTLEMAN] = sAnims_Gentleman,
+ [TRAINER_PIC_ELITE_FOUR_SIDNEY] = sAnims_EliteFourSidney,
+ [TRAINER_PIC_ELITE_FOUR_PHOEBE] = sAnims_EliteFourPhoebe,
+ [TRAINER_PIC_ELITE_FOUR_GLACIA] = sAnims_EliteFourGlacia,
+ [TRAINER_PIC_ELITE_FOUR_DRAKE] = sAnims_EliteFourDrake,
+ [TRAINER_PIC_LEADER_ROXANNE] = sAnims_LeaderRoxanne,
+ [TRAINER_PIC_LEADER_BRAWLY] = sAnims_LeaderBrawly,
+ [TRAINER_PIC_LEADER_WATTSON] = sAnims_LeaderWattson,
+ [TRAINER_PIC_LEADER_FLANNERY] = sAnims_LeaderFlannery,
+ [TRAINER_PIC_LEADER_NORMAN] = sAnims_LeaderNorman,
+ [TRAINER_PIC_LEADER_WINONA] = sAnims_LeaderWinona,
+ [TRAINER_PIC_LEADER_TATE_AND_LIZA] = sAnims_LeaderTateAndLiza,
+ [TRAINER_PIC_LEADER_JUAN] = sAnims_LeaderJuan,
+ [TRAINER_PIC_SCHOOL_KID_M] = sAnims_SchoolKidM,
+ [TRAINER_PIC_SCHOOL_KID_F] = sAnims_SchoolKidF,
+ [TRAINER_PIC_SR_AND_JR] = sAnims_SrAndJr,
+ [TRAINER_PIC_POKEFAN_M] = sAnims_PokefanM,
+ [TRAINER_PIC_POKEFAN_F] = sAnims_PokefanF,
+ [TRAINER_PIC_YOUNGSTER] = sAnims_Youngster,
+ [TRAINER_PIC_CHAMPION_WALLACE] = sAnims_ChampionWallace,
+ [TRAINER_PIC_FISHERMAN] = sAnims_Fisherman,
+ [TRAINER_PIC_CYCLING_TRIATHLETE_M] = sAnims_CyclingTriathleteM,
+ [TRAINER_PIC_CYCLING_TRIATHLETE_F] = sAnims_CyclingTriathleteF,
+ [TRAINER_PIC_RUNNING_TRIATHLETE_M] = sAnims_RunningTriathleteM,
+ [TRAINER_PIC_RUNNING_TRIATHLETE_F] = sAnims_RunningTriathleteF,
+ [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = sAnims_SwimmingTriathleteM,
+ [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = sAnims_SwimmingTriathleteF,
+ [TRAINER_PIC_DRAGON_TAMER] = sAnims_DragonTamer,
+ [TRAINER_PIC_NINJA_BOY] = sAnims_NinjaBoy,
+ [TRAINER_PIC_BATTLE_GIRL] = sAnims_BattleGirl,
+ [TRAINER_PIC_PARASOL_LADY] = sAnims_ParasolLady,
+ [TRAINER_PIC_SWIMMER_F] = sAnims_SwimmerF,
+ [TRAINER_PIC_TWINS] = sAnims_Twins,
+ [TRAINER_PIC_SAILOR] = sAnims_Sailor,
+ [TRAINER_PIC_MAGMA_ADMIN] = sAnims_MagmaAdmin,
+ [TRAINER_PIC_WALLY] = sAnims_Wally,
+ [TRAINER_PIC_BRENDAN] = sAnims_Brendan,
+ [TRAINER_PIC_MAY] = sAnims_May,
+ [TRAINER_PIC_BUG_CATCHER] = sAnims_BugCatcher,
+ [TRAINER_PIC_POKEMON_RANGER_M] = sAnims_PokemonRangerM,
+ [TRAINER_PIC_POKEMON_RANGER_F] = sAnims_PokemonRangerF,
+ [TRAINER_PIC_MAGMA_LEADER_MAXIE] = sAnims_MagmaLeaderMaxie,
+ [TRAINER_PIC_LASS] = sAnims_Lass,
+ [TRAINER_PIC_YOUNG_COUPLE] = sAnims_YoungCouple,
+ [TRAINER_PIC_OLD_COUPLE] = sAnims_OldCouple,
+ [TRAINER_PIC_SIS_AND_BRO] = sAnims_SisAndBro,
+ [TRAINER_PIC_STEVEN] = sAnims_Steven,
+ [TRAINER_PIC_SALON_MAIDEN_ANABEL] = sAnims_SalonMaidenAnabel,
+ [TRAINER_PIC_DOME_ACE_TUCKER] = sAnims_DomeAceTucker,
+ [TRAINER_PIC_PALACE_MAVEN_SPENSER] = sAnims_PalaceMavenSpenser,
+ [TRAINER_PIC_ARENA_TYCOON_GRETA] = sAnims_ArenaTycoonGreta,
+ [TRAINER_PIC_FACTORY_HEAD_NOLAND] = sAnims_FactoryHeadNoland,
+ [TRAINER_PIC_PIKE_QUEEN_LUCY] = sAnims_PikeQueenLucy,
+ [TRAINER_PIC_PYRAMID_KING_BRANDON] = sAnims_PyramidKingBrandon,
+ [TRAINER_PIC_RED] = sAnims_Red,
+ [TRAINER_PIC_LEAF] = sAnims_Leaf,
+ [TRAINER_PIC_RS_BRENDAN] = sAnims_RubySapphireBrendan,
+ [TRAINER_PIC_RS_MAY] = sAnims_RubySapphireMay,
};
diff --git a/src/data/trainer_graphics/front_pic_tables.h b/src/data/trainer_graphics/front_pic_tables.h
index fc637fc6e..c3408b4c3 100644
--- a/src/data/trainer_graphics/front_pic_tables.h
+++ b/src/data/trainer_graphics/front_pic_tables.h
@@ -1,290 +1,290 @@
const struct MonCoords gTrainerFrontPicCoords[] =
{
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 2},
- {.size = 8, .y_offset = 2},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 2},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 2},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 2},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 2},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
- {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_HIKER] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_AQUA_GRUNT_M] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_POKEMON_BREEDER_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_COOLTRAINER_M] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_BIRD_KEEPER] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_COLLECTOR] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_AQUA_GRUNT_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_SWIMMER_M] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_MAGMA_GRUNT_M] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_EXPERT_M] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_AQUA_ADMIN_M] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_BLACK_BELT] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_AQUA_ADMIN_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_AQUA_LEADER_ARCHIE] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_HEX_MANIAC] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_AROMA_LADY] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_RUIN_MANIAC] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_INTERVIEWER] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_TUBER_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_TUBER_M] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_COOLTRAINER_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_LADY] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_BEAUTY] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_RICH_BOY] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_EXPERT_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_POKEMANIAC] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_MAGMA_GRUNT_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_GUITARIST] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_KINDLER] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_CAMPER] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_PICNICKER] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_BUG_MANIAC] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_POKEMON_BREEDER_M] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_PSYCHIC_M] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_PSYCHIC_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_GENTLEMAN] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_ELITE_FOUR_SIDNEY] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_ELITE_FOUR_PHOEBE] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_ELITE_FOUR_GLACIA] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_ELITE_FOUR_DRAKE] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_LEADER_ROXANNE] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_LEADER_BRAWLY] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_LEADER_WATTSON] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_LEADER_FLANNERY] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_LEADER_NORMAN] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_LEADER_WINONA] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_LEADER_TATE_AND_LIZA] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_LEADER_JUAN] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_SCHOOL_KID_M] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_SCHOOL_KID_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_SR_AND_JR] = {.size = 8, .y_offset = 2},
+ [TRAINER_PIC_POKEFAN_M] = {.size = 8, .y_offset = 2},
+ [TRAINER_PIC_POKEFAN_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_YOUNGSTER] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_CHAMPION_WALLACE] = {.size = 8, .y_offset = 2},
+ [TRAINER_PIC_FISHERMAN] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_CYCLING_TRIATHLETE_M] = {.size = 8, .y_offset = 2},
+ [TRAINER_PIC_CYCLING_TRIATHLETE_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_RUNNING_TRIATHLETE_M] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_RUNNING_TRIATHLETE_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_DRAGON_TAMER] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_NINJA_BOY] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_BATTLE_GIRL] = {.size = 8, .y_offset = 2},
+ [TRAINER_PIC_PARASOL_LADY] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_SWIMMER_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_TWINS] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_SAILOR] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_MAGMA_ADMIN] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_WALLY] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_BRENDAN] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_MAY] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_BUG_CATCHER] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_POKEMON_RANGER_M] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_POKEMON_RANGER_F] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_MAGMA_LEADER_MAXIE] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_LASS] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_YOUNG_COUPLE] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_OLD_COUPLE] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_SIS_AND_BRO] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_STEVEN] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_SALON_MAIDEN_ANABEL] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_DOME_ACE_TUCKER] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_PALACE_MAVEN_SPENSER] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_ARENA_TYCOON_GRETA] = {.size = 8, .y_offset = 2},
+ [TRAINER_PIC_FACTORY_HEAD_NOLAND] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_PIKE_QUEEN_LUCY] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_PYRAMID_KING_BRANDON] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_RED] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_LEAF] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_RS_BRENDAN] = {.size = 8, .y_offset = 1},
+ [TRAINER_PIC_RS_MAY] = {.size = 8, .y_offset = 1},
};
const struct CompressedSpriteSheet gTrainerFrontPicTable[] =
{
- gTrainerFrontPic_Hiker, 0x800, 0,
- gTrainerFrontPic_AquaGruntM, 0x800, 1,
- gTrainerFrontPic_PokemonBreederF, 0x800, 2,
- gTrainerFrontPic_CoolTrainerM, 0x800, 3,
- gTrainerFrontPic_BirdKeeper, 0x800, 4,
- gTrainerFrontPic_Collector, 0x800, 5,
- gTrainerFrontPic_AquaGruntF, 0x800, 6,
- gTrainerFrontPic_SwimmerM, 0x800, 7,
- gTrainerFrontPic_MagmaGruntM, 0x800, 8,
- gTrainerFrontPic_ExpertM, 0x800, 9,
- gTrainerFrontPic_AquaAdminM, 0x800, 10,
- gTrainerFrontPic_BlackBelt, 0x800, 11,
- gTrainerFrontPic_AquaAdminF, 0x800, 12,
- gTrainerFrontPic_AquaLeaderArchie, 0x800, 13,
- gTrainerFrontPic_HexManiac, 0x800, 14,
- gTrainerFrontPic_AromaLady, 0x800, 15,
- gTrainerFrontPic_RuinManiac, 0x800, 16,
- gTrainerFrontPic_Interviewer, 0x800, 17,
- gTrainerFrontPic_TuberF, 0x800, 18,
- gTrainerFrontPic_TuberM, 0x800, 19,
- gTrainerFrontPic_CoolTrainerF, 0x800, 20,
- gTrainerFrontPic_Lady, 0x800, 21,
- gTrainerFrontPic_Beauty, 0x800, 22,
- gTrainerFrontPic_RichBoy, 0x800, 23,
- gTrainerFrontPic_ExpertF, 0x800, 24,
- gTrainerFrontPic_Pokemaniac, 0x800, 25,
- gTrainerFrontPic_MagmaGruntF, 0x800, 26,
- gTrainerFrontPic_Guitarist, 0x800, 27,
- gTrainerFrontPic_Kindler, 0x800, 28,
- gTrainerFrontPic_Camper, 0x800, 29,
- gTrainerFrontPic_Picnicker, 0x800, 30,
- gTrainerFrontPic_BugManiac, 0x800, 31,
- gTrainerFrontPic_PokemonBreederM, 0x800, 32,
- gTrainerFrontPic_PsychicM, 0x800, 33,
- gTrainerFrontPic_PsychicF, 0x800, 34,
- gTrainerFrontPic_Gentleman, 0x800, 35,
- gTrainerFrontPic_EliteFourSidney, 0x800, 36,
- gTrainerFrontPic_EliteFourPhoebe, 0x800, 37,
- gTrainerFrontPic_EliteFourGlacia, 0x800, 38,
- gTrainerFrontPic_EliteFourDrake, 0x800, 39,
- gTrainerFrontPic_LeaderRoxanne, 0x800, 40,
- gTrainerFrontPic_LeaderBrawly, 0x800, 41,
- gTrainerFrontPic_LeaderWattson, 0x800, 42,
- gTrainerFrontPic_LeaderFlannery, 0x800, 43,
- gTrainerFrontPic_LeaderNorman, 0x800, 44,
- gTrainerFrontPic_LeaderWinona, 0x800, 45,
- gTrainerFrontPic_LeaderTateAndLiza, 0x800, 46,
- gTrainerFrontPic_LeaderJuan, 0x800, 47,
- gTrainerFrontPic_SchoolKidM, 0x800, 48,
- gTrainerFrontPic_SchoolKidF, 0x800, 49,
- gTrainerFrontPic_SrAndJr, 0x1000, 50,
- gTrainerFrontPic_PokefanM, 0x1000, 51,
- gTrainerFrontPic_PokefanF, 0x800, 52,
- gTrainerFrontPic_Youngster, 0x800, 53,
- gTrainerFrontPic_ChampionWallace, 0x1000, 54,
- gTrainerFrontPic_Fisherman, 0x800, 55,
- gTrainerFrontPic_CyclingTriathleteM, 0x1000, 56,
- gTrainerFrontPic_CyclingTriathleteF, 0x800, 57,
- gTrainerFrontPic_RunningTriathleteM, 0x800, 58,
- gTrainerFrontPic_RunningTriathleteF, 0x800, 59,
- gTrainerFrontPic_SwimmingTriathleteM, 0x800, 60,
- gTrainerFrontPic_SwimmingTriathleteF, 0x800, 61,
- gTrainerFrontPic_DragonTamer, 0x800, 62,
- gTrainerFrontPic_NinjaBoy, 0x800, 63,
- gTrainerFrontPic_BattleGirl, 0x1000, 64,
- gTrainerFrontPic_ParasolLady, 0x800, 65,
- gTrainerFrontPic_SwimmerF, 0x800, 66,
- gTrainerFrontPic_Twins, 0x800, 67,
- gTrainerFrontPic_Sailor, 0x800, 68,
- gTrainerFrontPic_MagmaAdmin, 0x800, 69,
- gTrainerFrontPic_Wally, 0x800, 70,
- gTrainerFrontPic_Brendan, 0x800, 71,
- gTrainerFrontPic_May, 0x800, 72,
- gTrainerFrontPic_BugCatcher, 0x800, 73,
- gTrainerFrontPic_PokemonRangerM, 0x800, 74,
- gTrainerFrontPic_PokemonRangerF, 0x800, 75,
- gTrainerFrontPic_MagmaLeaderMaxie, 0x800, 76,
- gTrainerFrontPic_Lass, 0x800, 77,
- gTrainerFrontPic_YoungCouple, 0x800, 78,
- gTrainerFrontPic_OldCouple, 0x800, 79,
- gTrainerFrontPic_SisAndBro, 0x800, 80,
- gTrainerFrontPic_Steven, 0x800, 81,
- gTrainerFrontPic_SalonMaidenAnabel, 0x800, 82,
- gTrainerFrontPic_DomeAceTucker, 0x800, 83,
- gTrainerFrontPic_PalaceMavenSpenser, 0x800, 84,
- gTrainerFrontPic_ArenaTycoonGreta, 0x1000, 85,
- gTrainerFrontPic_FactoryHeadNoland, 0x800, 86,
- gTrainerFrontPic_PikeQueenLucy, 0x800, 87,
- gTrainerFrontPic_PyramidKingBrandon, 0x800, 88,
- gTrainerFrontPic_Red, 0x800, 89,
- gTrainerFrontPic_Leaf, 0x800, 90,
- gTrainerFrontPic_RubySapphireBrendan, 0x800, 91,
- gTrainerFrontPic_RubySapphireMay, 0x800, 92,
+ TRAINER_SPRITE(HIKER, gTrainerFrontPic_Hiker, 0x800),
+ TRAINER_SPRITE(AQUA_GRUNT_M, gTrainerFrontPic_AquaGruntM, 0x800),
+ TRAINER_SPRITE(POKEMON_BREEDER_F, gTrainerFrontPic_PokemonBreederF, 0x800),
+ TRAINER_SPRITE(COOLTRAINER_M, gTrainerFrontPic_CoolTrainerM, 0x800),
+ TRAINER_SPRITE(BIRD_KEEPER, gTrainerFrontPic_BirdKeeper, 0x800),
+ TRAINER_SPRITE(COLLECTOR, gTrainerFrontPic_Collector, 0x800),
+ TRAINER_SPRITE(AQUA_GRUNT_F, gTrainerFrontPic_AquaGruntF, 0x800),
+ TRAINER_SPRITE(SWIMMER_M, gTrainerFrontPic_SwimmerM, 0x800),
+ TRAINER_SPRITE(MAGMA_GRUNT_M, gTrainerFrontPic_MagmaGruntM, 0x800),
+ TRAINER_SPRITE(EXPERT_M, gTrainerFrontPic_ExpertM, 0x800),
+ TRAINER_SPRITE(AQUA_ADMIN_M, gTrainerFrontPic_AquaAdminM, 0x800),
+ TRAINER_SPRITE(BLACK_BELT, gTrainerFrontPic_BlackBelt, 0x800),
+ TRAINER_SPRITE(AQUA_ADMIN_F, gTrainerFrontPic_AquaAdminF, 0x800),
+ TRAINER_SPRITE(AQUA_LEADER_ARCHIE, gTrainerFrontPic_AquaLeaderArchie, 0x800),
+ TRAINER_SPRITE(HEX_MANIAC, gTrainerFrontPic_HexManiac, 0x800),
+ TRAINER_SPRITE(AROMA_LADY, gTrainerFrontPic_AromaLady, 0x800),
+ TRAINER_SPRITE(RUIN_MANIAC, gTrainerFrontPic_RuinManiac, 0x800),
+ TRAINER_SPRITE(INTERVIEWER, gTrainerFrontPic_Interviewer, 0x800),
+ TRAINER_SPRITE(TUBER_F, gTrainerFrontPic_TuberF, 0x800),
+ TRAINER_SPRITE(TUBER_M, gTrainerFrontPic_TuberM, 0x800),
+ TRAINER_SPRITE(COOLTRAINER_F, gTrainerFrontPic_CoolTrainerF, 0x800),
+ TRAINER_SPRITE(LADY, gTrainerFrontPic_Lady, 0x800),
+ TRAINER_SPRITE(BEAUTY, gTrainerFrontPic_Beauty, 0x800),
+ TRAINER_SPRITE(RICH_BOY, gTrainerFrontPic_RichBoy, 0x800),
+ TRAINER_SPRITE(EXPERT_F, gTrainerFrontPic_ExpertF, 0x800),
+ TRAINER_SPRITE(POKEMANIAC, gTrainerFrontPic_Pokemaniac, 0x800),
+ TRAINER_SPRITE(MAGMA_GRUNT_F, gTrainerFrontPic_MagmaGruntF, 0x800),
+ TRAINER_SPRITE(GUITARIST, gTrainerFrontPic_Guitarist, 0x800),
+ TRAINER_SPRITE(KINDLER, gTrainerFrontPic_Kindler, 0x800),
+ TRAINER_SPRITE(CAMPER, gTrainerFrontPic_Camper, 0x800),
+ TRAINER_SPRITE(PICNICKER, gTrainerFrontPic_Picnicker, 0x800),
+ TRAINER_SPRITE(BUG_MANIAC, gTrainerFrontPic_BugManiac, 0x800),
+ TRAINER_SPRITE(POKEMON_BREEDER_M, gTrainerFrontPic_PokemonBreederM, 0x800),
+ TRAINER_SPRITE(PSYCHIC_M, gTrainerFrontPic_PsychicM, 0x800),
+ TRAINER_SPRITE(PSYCHIC_F, gTrainerFrontPic_PsychicF, 0x800),
+ TRAINER_SPRITE(GENTLEMAN, gTrainerFrontPic_Gentleman, 0x800),
+ TRAINER_SPRITE(ELITE_FOUR_SIDNEY, gTrainerFrontPic_EliteFourSidney, 0x800),
+ TRAINER_SPRITE(ELITE_FOUR_PHOEBE, gTrainerFrontPic_EliteFourPhoebe, 0x800),
+ TRAINER_SPRITE(ELITE_FOUR_GLACIA, gTrainerFrontPic_EliteFourGlacia, 0x800),
+ TRAINER_SPRITE(ELITE_FOUR_DRAKE, gTrainerFrontPic_EliteFourDrake, 0x800),
+ TRAINER_SPRITE(LEADER_ROXANNE, gTrainerFrontPic_LeaderRoxanne, 0x800),
+ TRAINER_SPRITE(LEADER_BRAWLY, gTrainerFrontPic_LeaderBrawly, 0x800),
+ TRAINER_SPRITE(LEADER_WATTSON, gTrainerFrontPic_LeaderWattson, 0x800),
+ TRAINER_SPRITE(LEADER_FLANNERY, gTrainerFrontPic_LeaderFlannery, 0x800),
+ TRAINER_SPRITE(LEADER_NORMAN, gTrainerFrontPic_LeaderNorman, 0x800),
+ TRAINER_SPRITE(LEADER_WINONA, gTrainerFrontPic_LeaderWinona, 0x800),
+ TRAINER_SPRITE(LEADER_TATE_AND_LIZA, gTrainerFrontPic_LeaderTateAndLiza, 0x800),
+ TRAINER_SPRITE(LEADER_JUAN, gTrainerFrontPic_LeaderJuan, 0x800),
+ TRAINER_SPRITE(SCHOOL_KID_M, gTrainerFrontPic_SchoolKidM, 0x800),
+ TRAINER_SPRITE(SCHOOL_KID_F, gTrainerFrontPic_SchoolKidF, 0x800),
+ TRAINER_SPRITE(SR_AND_JR, gTrainerFrontPic_SrAndJr, 0x1000),
+ TRAINER_SPRITE(POKEFAN_M, gTrainerFrontPic_PokefanM, 0x1000),
+ TRAINER_SPRITE(POKEFAN_F, gTrainerFrontPic_PokefanF, 0x800),
+ TRAINER_SPRITE(YOUNGSTER, gTrainerFrontPic_Youngster, 0x800),
+ TRAINER_SPRITE(CHAMPION_WALLACE, gTrainerFrontPic_ChampionWallace, 0x1000),
+ TRAINER_SPRITE(FISHERMAN, gTrainerFrontPic_Fisherman, 0x800),
+ TRAINER_SPRITE(CYCLING_TRIATHLETE_M, gTrainerFrontPic_CyclingTriathleteM, 0x1000),
+ TRAINER_SPRITE(CYCLING_TRIATHLETE_F, gTrainerFrontPic_CyclingTriathleteF, 0x800),
+ TRAINER_SPRITE(RUNNING_TRIATHLETE_M, gTrainerFrontPic_RunningTriathleteM, 0x800),
+ TRAINER_SPRITE(RUNNING_TRIATHLETE_F, gTrainerFrontPic_RunningTriathleteF, 0x800),
+ TRAINER_SPRITE(SWIMMING_TRIATHLETE_M, gTrainerFrontPic_SwimmingTriathleteM, 0x800),
+ TRAINER_SPRITE(SWIMMING_TRIATHLETE_F, gTrainerFrontPic_SwimmingTriathleteF, 0x800),
+ TRAINER_SPRITE(DRAGON_TAMER, gTrainerFrontPic_DragonTamer, 0x800),
+ TRAINER_SPRITE(NINJA_BOY, gTrainerFrontPic_NinjaBoy, 0x800),
+ TRAINER_SPRITE(BATTLE_GIRL, gTrainerFrontPic_BattleGirl, 0x1000),
+ TRAINER_SPRITE(PARASOL_LADY, gTrainerFrontPic_ParasolLady, 0x800),
+ TRAINER_SPRITE(SWIMMER_F, gTrainerFrontPic_SwimmerF, 0x800),
+ TRAINER_SPRITE(TWINS, gTrainerFrontPic_Twins, 0x800),
+ TRAINER_SPRITE(SAILOR, gTrainerFrontPic_Sailor, 0x800),
+ TRAINER_SPRITE(MAGMA_ADMIN, gTrainerFrontPic_MagmaAdmin, 0x800),
+ TRAINER_SPRITE(WALLY, gTrainerFrontPic_Wally, 0x800),
+ TRAINER_SPRITE(BRENDAN, gTrainerFrontPic_Brendan, 0x800),
+ TRAINER_SPRITE(MAY, gTrainerFrontPic_May, 0x800),
+ TRAINER_SPRITE(BUG_CATCHER, gTrainerFrontPic_BugCatcher, 0x800),
+ TRAINER_SPRITE(POKEMON_RANGER_M, gTrainerFrontPic_PokemonRangerM, 0x800),
+ TRAINER_SPRITE(POKEMON_RANGER_F, gTrainerFrontPic_PokemonRangerF, 0x800),
+ TRAINER_SPRITE(MAGMA_LEADER_MAXIE, gTrainerFrontPic_MagmaLeaderMaxie, 0x800),
+ TRAINER_SPRITE(LASS, gTrainerFrontPic_Lass, 0x800),
+ TRAINER_SPRITE(YOUNG_COUPLE, gTrainerFrontPic_YoungCouple, 0x800),
+ TRAINER_SPRITE(OLD_COUPLE, gTrainerFrontPic_OldCouple, 0x800),
+ TRAINER_SPRITE(SIS_AND_BRO, gTrainerFrontPic_SisAndBro, 0x800),
+ TRAINER_SPRITE(STEVEN, gTrainerFrontPic_Steven, 0x800),
+ TRAINER_SPRITE(SALON_MAIDEN_ANABEL, gTrainerFrontPic_SalonMaidenAnabel, 0x800),
+ TRAINER_SPRITE(DOME_ACE_TUCKER, gTrainerFrontPic_DomeAceTucker, 0x800),
+ TRAINER_SPRITE(PALACE_MAVEN_SPENSER, gTrainerFrontPic_PalaceMavenSpenser, 0x800),
+ TRAINER_SPRITE(ARENA_TYCOON_GRETA, gTrainerFrontPic_ArenaTycoonGreta, 0x1000),
+ TRAINER_SPRITE(FACTORY_HEAD_NOLAND, gTrainerFrontPic_FactoryHeadNoland, 0x800),
+ TRAINER_SPRITE(PIKE_QUEEN_LUCY, gTrainerFrontPic_PikeQueenLucy, 0x800),
+ TRAINER_SPRITE(PYRAMID_KING_BRANDON, gTrainerFrontPic_PyramidKingBrandon, 0x800),
+ TRAINER_SPRITE(RED, gTrainerFrontPic_Red, 0x800),
+ TRAINER_SPRITE(LEAF, gTrainerFrontPic_Leaf, 0x800),
+ TRAINER_SPRITE(RS_BRENDAN, gTrainerFrontPic_RubySapphireBrendan, 0x800),
+ TRAINER_SPRITE(RS_MAY, gTrainerFrontPic_RubySapphireMay, 0x800),
};
const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[] =
{
- gTrainerPalette_Hiker, 0,
- gTrainerPalette_AquaGruntM, 1,
- gTrainerPalette_PokemonBreederF, 2,
- gTrainerPalette_CoolTrainerM, 3,
- gTrainerPalette_BirdKeeper, 4,
- gTrainerPalette_Collector, 5,
- gTrainerPalette_AquaGruntF, 6,
- gTrainerPalette_SwimmerM, 7,
- gTrainerPalette_MagmaGruntM, 8,
- gTrainerPalette_ExpertM, 9,
- gTrainerPalette_AquaAdminM, 10,
- gTrainerPalette_BlackBelt, 11,
- gTrainerPalette_AquaAdminF, 12,
- gTrainerPalette_AquaLeaderArchie, 13,
- gTrainerPalette_HexManiac, 14,
- gTrainerPalette_AromaLady, 15,
- gTrainerPalette_RuinManiac, 16,
- gTrainerPalette_Interviewer, 17,
- gTrainerPalette_TuberF, 18,
- gTrainerPalette_TuberM, 19,
- gTrainerPalette_CoolTrainerF, 20,
- gTrainerPalette_Lady, 21,
- gTrainerPalette_Beauty, 22,
- gTrainerPalette_RichBoy, 23,
- gTrainerPalette_ExpertF, 24,
- gTrainerPalette_Pokemaniac, 25,
- gTrainerPalette_MagmaGruntF, 26,
- gTrainerPalette_Guitarist, 27,
- gTrainerPalette_Kindler, 28,
- gTrainerPalette_Camper, 29,
- gTrainerPalette_Picnicker, 30,
- gTrainerPalette_BugManiac, 31,
- gTrainerPalette_PokemonBreederM, 32,
- gTrainerPalette_PsychicM, 33,
- gTrainerPalette_PsychicF, 34,
- gTrainerPalette_Gentleman, 35,
- gTrainerPalette_EliteFourSidney, 36,
- gTrainerPalette_EliteFourPhoebe, 37,
- gTrainerPalette_EliteFourGlacia, 38,
- gTrainerPalette_EliteFourDrake, 39,
- gTrainerPalette_LeaderRoxanne, 40,
- gTrainerPalette_LeaderBrawly, 41,
- gTrainerPalette_LeaderWattson, 42,
- gTrainerPalette_LeaderFlannery, 43,
- gTrainerPalette_LeaderNorman, 44,
- gTrainerPalette_LeaderWinona, 45,
- gTrainerPalette_LeaderTateAndLiza, 46,
- gTrainerPalette_LeaderJuan, 47,
- gTrainerPalette_SchoolKidM, 48,
- gTrainerPalette_SchoolKidF, 49,
- gTrainerPalette_SrAndJr, 50,
- gTrainerPalette_PokefanM, 51,
- gTrainerPalette_PokefanF, 52,
- gTrainerPalette_Youngster, 53,
- gTrainerPalette_ChampionWallace, 54,
- gTrainerPalette_Fisherman, 55,
- gTrainerPalette_CyclingTriathleteM, 56,
- gTrainerPalette_CyclingTriathleteF, 57,
- gTrainerPalette_RunningTriathleteM, 58,
- gTrainerPalette_RunningTriathleteF, 59,
- gTrainerPalette_SwimmingTriathleteM, 60,
- gTrainerPalette_SwimmingTriathleteF, 61,
- gTrainerPalette_DragonTamer, 62,
- gTrainerPalette_NinjaBoy, 63,
- gTrainerPalette_BattleGirl, 64,
- gTrainerPalette_ParasolLady, 65,
- gTrainerPalette_SwimmerF, 66,
- gTrainerPalette_Twins, 67,
- gTrainerPalette_Sailor, 68,
- gTrainerPalette_MagmaAdmin, 69,
- gTrainerPalette_Wally, 70,
- gTrainerPalette_Brendan, 71,
- gTrainerPalette_May, 72,
- gTrainerPalette_BugCatcher, 73,
- gTrainerPalette_PokemonRangerM, 74,
- gTrainerPalette_PokemonRangerF, 75,
- gTrainerPalette_MagmaLeaderMaxie, 76,
- gTrainerPalette_Lass, 77,
- gTrainerPalette_YoungCouple, 78,
- gTrainerPalette_OldCouple, 79,
- gTrainerPalette_SisAndBro, 80,
- gTrainerPalette_Steven, 81,
- gTrainerPalette_SalonMaidenAnabel, 82,
- gTrainerPalette_DomeAceTucker, 83,
- gTrainerPalette_PalaceMavenSpenser, 84,
- gTrainerPalette_ArenaTycoonGreta, 85,
- gTrainerPalette_FactoryHeadNoland, 86,
- gTrainerPalette_PikeQueenLucy, 87,
- gTrainerPalette_PyramidKingBrandon, 88,
- gTrainerPalette_Red, 89,
- gTrainerPalette_Leaf, 90,
- gTrainerPalette_RubySapphireBrendan, 91,
- gTrainerPalette_RubySapphireMay, 92,
+ TRAINER_PAL(HIKER, gTrainerPalette_Hiker),
+ TRAINER_PAL(AQUA_GRUNT_M, gTrainerPalette_AquaGruntM),
+ TRAINER_PAL(POKEMON_BREEDER_F, gTrainerPalette_PokemonBreederF),
+ TRAINER_PAL(COOLTRAINER_M, gTrainerPalette_CoolTrainerM),
+ TRAINER_PAL(BIRD_KEEPER, gTrainerPalette_BirdKeeper),
+ TRAINER_PAL(COLLECTOR, gTrainerPalette_Collector),
+ TRAINER_PAL(AQUA_GRUNT_F, gTrainerPalette_AquaGruntF),
+ TRAINER_PAL(SWIMMER_M, gTrainerPalette_SwimmerM),
+ TRAINER_PAL(MAGMA_GRUNT_M, gTrainerPalette_MagmaGruntM),
+ TRAINER_PAL(EXPERT_M, gTrainerPalette_ExpertM),
+ TRAINER_PAL(AQUA_ADMIN_M, gTrainerPalette_AquaAdminM),
+ TRAINER_PAL(BLACK_BELT, gTrainerPalette_BlackBelt),
+ TRAINER_PAL(AQUA_ADMIN_F, gTrainerPalette_AquaAdminF),
+ TRAINER_PAL(AQUA_LEADER_ARCHIE, gTrainerPalette_AquaLeaderArchie),
+ TRAINER_PAL(HEX_MANIAC, gTrainerPalette_HexManiac),
+ TRAINER_PAL(AROMA_LADY, gTrainerPalette_AromaLady),
+ TRAINER_PAL(RUIN_MANIAC, gTrainerPalette_RuinManiac),
+ TRAINER_PAL(INTERVIEWER, gTrainerPalette_Interviewer),
+ TRAINER_PAL(TUBER_F, gTrainerPalette_TuberF),
+ TRAINER_PAL(TUBER_M, gTrainerPalette_TuberM),
+ TRAINER_PAL(COOLTRAINER_F, gTrainerPalette_CoolTrainerF),
+ TRAINER_PAL(LADY, gTrainerPalette_Lady),
+ TRAINER_PAL(BEAUTY, gTrainerPalette_Beauty),
+ TRAINER_PAL(RICH_BOY, gTrainerPalette_RichBoy),
+ TRAINER_PAL(EXPERT_F, gTrainerPalette_ExpertF),
+ TRAINER_PAL(POKEMANIAC, gTrainerPalette_Pokemaniac),
+ TRAINER_PAL(MAGMA_GRUNT_F, gTrainerPalette_MagmaGruntF),
+ TRAINER_PAL(GUITARIST, gTrainerPalette_Guitarist),
+ TRAINER_PAL(KINDLER, gTrainerPalette_Kindler),
+ TRAINER_PAL(CAMPER, gTrainerPalette_Camper),
+ TRAINER_PAL(PICNICKER, gTrainerPalette_Picnicker),
+ TRAINER_PAL(BUG_MANIAC, gTrainerPalette_BugManiac),
+ TRAINER_PAL(POKEMON_BREEDER_M, gTrainerPalette_PokemonBreederM),
+ TRAINER_PAL(PSYCHIC_M, gTrainerPalette_PsychicM),
+ TRAINER_PAL(PSYCHIC_F, gTrainerPalette_PsychicF),
+ TRAINER_PAL(GENTLEMAN, gTrainerPalette_Gentleman),
+ TRAINER_PAL(ELITE_FOUR_SIDNEY, gTrainerPalette_EliteFourSidney),
+ TRAINER_PAL(ELITE_FOUR_PHOEBE, gTrainerPalette_EliteFourPhoebe),
+ TRAINER_PAL(ELITE_FOUR_GLACIA, gTrainerPalette_EliteFourGlacia),
+ TRAINER_PAL(ELITE_FOUR_DRAKE, gTrainerPalette_EliteFourDrake),
+ TRAINER_PAL(LEADER_ROXANNE, gTrainerPalette_LeaderRoxanne),
+ TRAINER_PAL(LEADER_BRAWLY, gTrainerPalette_LeaderBrawly),
+ TRAINER_PAL(LEADER_WATTSON, gTrainerPalette_LeaderWattson),
+ TRAINER_PAL(LEADER_FLANNERY, gTrainerPalette_LeaderFlannery),
+ TRAINER_PAL(LEADER_NORMAN, gTrainerPalette_LeaderNorman),
+ TRAINER_PAL(LEADER_WINONA, gTrainerPalette_LeaderWinona),
+ TRAINER_PAL(LEADER_TATE_AND_LIZA, gTrainerPalette_LeaderTateAndLiza),
+ TRAINER_PAL(LEADER_JUAN, gTrainerPalette_LeaderJuan),
+ TRAINER_PAL(SCHOOL_KID_M, gTrainerPalette_SchoolKidM),
+ TRAINER_PAL(SCHOOL_KID_F, gTrainerPalette_SchoolKidF),
+ TRAINER_PAL(SR_AND_JR, gTrainerPalette_SrAndJr),
+ TRAINER_PAL(POKEFAN_M, gTrainerPalette_PokefanM),
+ TRAINER_PAL(POKEFAN_F, gTrainerPalette_PokefanF),
+ TRAINER_PAL(YOUNGSTER, gTrainerPalette_Youngster),
+ TRAINER_PAL(CHAMPION_WALLACE, gTrainerPalette_ChampionWallace),
+ TRAINER_PAL(FISHERMAN, gTrainerPalette_Fisherman),
+ TRAINER_PAL(CYCLING_TRIATHLETE_M, gTrainerPalette_CyclingTriathleteM),
+ TRAINER_PAL(CYCLING_TRIATHLETE_F, gTrainerPalette_CyclingTriathleteF),
+ TRAINER_PAL(RUNNING_TRIATHLETE_M, gTrainerPalette_RunningTriathleteM),
+ TRAINER_PAL(RUNNING_TRIATHLETE_F, gTrainerPalette_RunningTriathleteF),
+ TRAINER_PAL(SWIMMING_TRIATHLETE_M, gTrainerPalette_SwimmingTriathleteM),
+ TRAINER_PAL(SWIMMING_TRIATHLETE_F, gTrainerPalette_SwimmingTriathleteF),
+ TRAINER_PAL(DRAGON_TAMER, gTrainerPalette_DragonTamer),
+ TRAINER_PAL(NINJA_BOY, gTrainerPalette_NinjaBoy),
+ TRAINER_PAL(BATTLE_GIRL, gTrainerPalette_BattleGirl),
+ TRAINER_PAL(PARASOL_LADY, gTrainerPalette_ParasolLady),
+ TRAINER_PAL(SWIMMER_F, gTrainerPalette_SwimmerF),
+ TRAINER_PAL(TWINS, gTrainerPalette_Twins),
+ TRAINER_PAL(SAILOR, gTrainerPalette_Sailor),
+ TRAINER_PAL(MAGMA_ADMIN, gTrainerPalette_MagmaAdmin),
+ TRAINER_PAL(WALLY, gTrainerPalette_Wally),
+ TRAINER_PAL(BRENDAN, gTrainerPalette_Brendan),
+ TRAINER_PAL(MAY, gTrainerPalette_May),
+ TRAINER_PAL(BUG_CATCHER, gTrainerPalette_BugCatcher),
+ TRAINER_PAL(POKEMON_RANGER_M, gTrainerPalette_PokemonRangerM),
+ TRAINER_PAL(POKEMON_RANGER_F, gTrainerPalette_PokemonRangerF),
+ TRAINER_PAL(MAGMA_LEADER_MAXIE, gTrainerPalette_MagmaLeaderMaxie),
+ TRAINER_PAL(LASS, gTrainerPalette_Lass),
+ TRAINER_PAL(YOUNG_COUPLE, gTrainerPalette_YoungCouple),
+ TRAINER_PAL(OLD_COUPLE, gTrainerPalette_OldCouple),
+ TRAINER_PAL(SIS_AND_BRO, gTrainerPalette_SisAndBro),
+ TRAINER_PAL(STEVEN, gTrainerPalette_Steven),
+ TRAINER_PAL(SALON_MAIDEN_ANABEL, gTrainerPalette_SalonMaidenAnabel),
+ TRAINER_PAL(DOME_ACE_TUCKER, gTrainerPalette_DomeAceTucker),
+ TRAINER_PAL(PALACE_MAVEN_SPENSER, gTrainerPalette_PalaceMavenSpenser),
+ TRAINER_PAL(ARENA_TYCOON_GRETA, gTrainerPalette_ArenaTycoonGreta),
+ TRAINER_PAL(FACTORY_HEAD_NOLAND, gTrainerPalette_FactoryHeadNoland),
+ TRAINER_PAL(PIKE_QUEEN_LUCY, gTrainerPalette_PikeQueenLucy),
+ TRAINER_PAL(PYRAMID_KING_BRANDON, gTrainerPalette_PyramidKingBrandon),
+ TRAINER_PAL(RED, gTrainerPalette_Red),
+ TRAINER_PAL(LEAF, gTrainerPalette_Leaf),
+ TRAINER_PAL(RS_BRENDAN, gTrainerPalette_RubySapphireBrendan),
+ TRAINER_PAL(RS_MAY, gTrainerPalette_RubySapphireMay),
};
diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h
index b4438e5b3..252eed760 100644
--- a/src/data/trainer_parties.h
+++ b/src/data/trainer_parties.h
@@ -1,4 +1,4 @@
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer1[] = {
{
.iv = 0,
.lvl = 21,
@@ -6,7 +6,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt1[] = {
{
.iv = 0,
.lvl = 32,
@@ -14,7 +14,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt2[] = {
{
.iv = 0,
.lvl = 31,
@@ -27,7 +27,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt3[] = {
{
.iv = 0,
.lvl = 32,
@@ -35,7 +35,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt4[] = {
{
.iv = 0,
.lvl = 32,
@@ -43,7 +43,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt5[] = {
{
.iv = 0,
.lvl = 36,
@@ -51,7 +51,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt6[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt6[] = {
{
.iv = 0,
.lvl = 36,
@@ -59,7 +59,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt6[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt7[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt7[] = {
{
.iv = 0,
.lvl = 36,
@@ -67,7 +67,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt7[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle1[] = {
{
.iv = 0,
.lvl = 26,
@@ -100,7 +100,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt8[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt8[] = {
{
.iv = 0,
.lvl = 9,
@@ -108,7 +108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt8[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcel[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Marcel[] = {
{
.iv = 100,
.lvl = 29,
@@ -121,7 +121,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcel[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alberto[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Alberto[] = {
{
.iv = 0,
.lvl = 30,
@@ -134,7 +134,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alberto[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ed[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ed[] = {
{
.iv = 0,
.lvl = 30,
@@ -147,7 +147,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ed[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt9[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt9[] = {
{
.iv = 0,
.lvl = 36,
@@ -155,7 +155,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt9[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Declan[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Declan[] = {
{
.iv = 0,
.lvl = 34,
@@ -163,7 +163,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Declan[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt10[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt10[] = {
{
.iv = 0,
.lvl = 11,
@@ -171,7 +171,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt10[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt11[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt11[] = {
{
.iv = 0,
.lvl = 27,
@@ -184,7 +184,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt11[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt12[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt12[] = {
{
.iv = 0,
.lvl = 27,
@@ -197,7 +197,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt12[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt13[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt13[] = {
{
.iv = 0,
.lvl = 26,
@@ -215,7 +215,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt13[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt14[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt14[] = {
{
.iv = 0,
.lvl = 15,
@@ -223,7 +223,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt14[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt15[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt15[] = {
{
.iv = 0,
.lvl = 14,
@@ -236,7 +236,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt15[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt16[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt16[] = {
{
.iv = 0,
.lvl = 32,
@@ -244,7 +244,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt16[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt17[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt17[] = {
{
.iv = 0,
.lvl = 32,
@@ -252,7 +252,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt17[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt18[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt18[] = {
{
.iv = 0,
.lvl = 32,
@@ -260,7 +260,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt18[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt19[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt19[] = {
{
.iv = 0,
.lvl = 30,
@@ -273,7 +273,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt19[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt20[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt20[] = {
{
.iv = 0,
.lvl = 28,
@@ -281,7 +281,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt20[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt21[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt21[] = {
{
.iv = 0,
.lvl = 32,
@@ -289,7 +289,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt21[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt22[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt22[] = {
{
.iv = 0,
.lvl = 32,
@@ -297,7 +297,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt22[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fredrick[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Fredrick[] = {
{
.iv = 100,
.lvl = 30,
@@ -310,7 +310,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fredrick[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matt[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Matt[] = {
{
.iv = 50,
.lvl = 34,
@@ -323,7 +323,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matt[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Zander[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Zander[] = {
{
.iv = 0,
.lvl = 31,
@@ -331,7 +331,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Zander[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Shelly1[] = {
{
.iv = 50,
.lvl = 28,
@@ -344,7 +344,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Shelly2[] = {
{
.iv = 100,
.lvl = 37,
@@ -357,7 +357,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Archie[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Archie[] = {
{
.iv = 150,
.lvl = 41,
@@ -375,7 +375,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Archie[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leah[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Leah[] = {
{
.iv = 0,
.lvl = 31,
@@ -383,7 +383,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leah[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisy[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Daisy[] = {
{
.iv = 0,
.lvl = 14,
@@ -396,7 +396,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisy[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Rose1[] = {
{
.iv = 0,
.lvl = 14,
@@ -414,7 +414,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose1[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Felix[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Felix[] = {
{
.iv = 0,
.lvl = 43,
@@ -429,7 +429,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Felix[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Violet[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Violet[] = {
{
.iv = 0,
.lvl = 26,
@@ -442,7 +442,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Violet[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Rose2[] = {
{
.iv = 10,
.lvl = 26,
@@ -455,7 +455,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Rose3[] = {
{
.iv = 20,
.lvl = 28,
@@ -473,7 +473,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Rose4[] = {
{
.iv = 30,
.lvl = 31,
@@ -491,7 +491,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Rose5[] = {
{
.iv = 40,
.lvl = 34,
@@ -509,7 +509,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty1[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Dusty1[] = {
{
.iv = 50,
.lvl = 23,
@@ -518,7 +518,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty1[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Chip[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Chip[] = {
{
.iv = 50,
.lvl = 27,
@@ -539,7 +539,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Chip[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Foster[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Foster[] = {
{
.iv = 100,
.lvl = 25,
@@ -554,7 +554,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Foster[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty2[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Dusty2[] = {
{
.iv = 60,
.lvl = 27,
@@ -563,7 +563,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty2[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty3[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Dusty3[] = {
{
.iv = 70,
.lvl = 30,
@@ -572,7 +572,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty3[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty4[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Dusty4[] = {
{
.iv = 80,
.lvl = 33,
@@ -581,7 +581,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty4[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty5[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Dusty5[] = {
{
.iv = 90,
.lvl = 36,
@@ -590,7 +590,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy1[] = {
{
.iv = 50,
.lvl = 17,
@@ -603,7 +603,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy2[] = {
{
.iv = 100,
.lvl = 27,
@@ -616,7 +616,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy3[] = {
{
.iv = 150,
.lvl = 30,
@@ -629,7 +629,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy4[] = {
{
.iv = 200,
.lvl = 33,
@@ -642,7 +642,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy5[] = {
{
.iv = 250,
.lvl = 36,
@@ -655,7 +655,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_GabbyAndTy6[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_GabbyAndTy6[] = {
{
.iv = 250,
.lvl = 39,
@@ -670,7 +670,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_GabbyAndTy6[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lola1[] = {
{
.iv = 10,
.lvl = 12,
@@ -683,7 +683,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Austina[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Austina[] = {
{
.iv = 0,
.lvl = 26,
@@ -691,7 +691,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Austina[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gwen[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Gwen[] = {
{
.iv = 0,
.lvl = 26,
@@ -699,7 +699,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gwen[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lola2[] = {
{
.iv = 10,
.lvl = 26,
@@ -712,7 +712,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lola3[] = {
{
.iv = 20,
.lvl = 29,
@@ -725,7 +725,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lola4[] = {
{
.iv = 30,
.lvl = 32,
@@ -738,7 +738,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lola5[] = {
{
.iv = 40,
.lvl = 35,
@@ -751,7 +751,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky1[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Ricky1[] = {
{
.iv = 10,
.lvl = 13,
@@ -760,7 +760,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Simon[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Simon[] = {
{
.iv = 0,
.lvl = 12,
@@ -773,7 +773,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Simon[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlie[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Charlie[] = {
{
.iv = 0,
.lvl = 26,
@@ -781,7 +781,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlie[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky2[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Ricky2[] = {
{
.iv = 10,
.lvl = 27,
@@ -790,7 +790,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky2[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky3[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Ricky3[] = {
{
.iv = 20,
.lvl = 30,
@@ -799,7 +799,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky3[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky4[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Ricky4[] = {
{
.iv = 30,
.lvl = 33,
@@ -808,7 +808,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky4[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky5[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Ricky5[] = {
{
.iv = 40,
.lvl = 36,
@@ -817,7 +817,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky5[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Randall[] = {
+static const struct TrainerMonItemCustomMoves sParty_Randall[] = {
{
.iv = 255,
.lvl = 26,
@@ -827,7 +827,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Randall[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Parker[] = {
+static const struct TrainerMonItemCustomMoves sParty_Parker[] = {
{
.iv = 255,
.lvl = 26,
@@ -837,7 +837,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Parker[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_George[] = {
+static const struct TrainerMonItemCustomMoves sParty_George[] = {
{
.iv = 255,
.lvl = 26,
@@ -847,7 +847,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_George[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Berke[] = {
+static const struct TrainerMonItemCustomMoves sParty_Berke[] = {
{
.iv = 255,
.lvl = 26,
@@ -857,7 +857,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Berke[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Braxton[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Braxton[] = {
{
.iv = 100,
.lvl = 28,
@@ -890,7 +890,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Braxton[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vincent[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Vincent[] = {
{
.iv = 100,
.lvl = 44,
@@ -908,7 +908,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vincent[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leroy[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Leroy[] = {
{
.iv = 100,
.lvl = 46,
@@ -921,7 +921,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leroy[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Wilton1[] = {
{
.iv = 100,
.lvl = 17,
@@ -939,7 +939,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edgar[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Edgar[] = {
{
.iv = 100,
.lvl = 43,
@@ -952,7 +952,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edgar[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Albert[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Albert[] = {
{
.iv = 100,
.lvl = 43,
@@ -965,7 +965,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Albert[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samuel[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Samuel[] = {
{
.iv = 100,
.lvl = 42,
@@ -983,7 +983,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samuel[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vito[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Vito[] = {
{
.iv = 100,
.lvl = 42,
@@ -1006,7 +1006,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vito[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Owen[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Owen[] = {
{
.iv = 100,
.lvl = 42,
@@ -1024,7 +1024,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Owen[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Wilton2[] = {
{
.iv = 110,
.lvl = 26,
@@ -1042,7 +1042,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Wilton3[] = {
{
.iv = 120,
.lvl = 29,
@@ -1060,7 +1060,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Wilton4[] = {
{
.iv = 130,
.lvl = 32,
@@ -1078,7 +1078,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Wilton5[] = {
{
.iv = 140,
.lvl = 35,
@@ -1096,7 +1096,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Warren[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Warren[] = {
{
.iv = 100,
.lvl = 33,
@@ -1109,7 +1109,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Warren[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Mary[] = {
+static const struct TrainerMonItemCustomMoves sParty_Mary[] = {
{
.iv = 255,
.lvl = 26,
@@ -1119,7 +1119,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Mary[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Alexia[] = {
+static const struct TrainerMonItemCustomMoves sParty_Alexia[] = {
{
.iv = 255,
.lvl = 26,
@@ -1129,7 +1129,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Alexia[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Jody[] = {
+static const struct TrainerMonItemCustomMoves sParty_Jody[] = {
{
.iv = 255,
.lvl = 26,
@@ -1139,7 +1139,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Jody[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Wendy[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Wendy[] = {
{
.iv = 100,
.lvl = 29,
@@ -1160,7 +1160,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wendy[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keira[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Keira[] = {
{
.iv = 100,
.lvl = 45,
@@ -1173,7 +1173,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keira[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brooke1[] = {
{
.iv = 100,
.lvl = 17,
@@ -1191,7 +1191,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jennifer[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jennifer[] = {
{
.iv = 200,
.lvl = 30,
@@ -1199,7 +1199,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jennifer[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hope[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Hope[] = {
{
.iv = 100,
.lvl = 45,
@@ -1207,7 +1207,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hope[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shannon[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Shannon[] = {
{
.iv = 100,
.lvl = 45,
@@ -1215,7 +1215,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shannon[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Michelle[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Michelle[] = {
{
.iv = 100,
.lvl = 42,
@@ -1233,7 +1233,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Michelle[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Caroline[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Caroline[] = {
{
.iv = 100,
.lvl = 43,
@@ -1246,7 +1246,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Caroline[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julie[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Julie[] = {
{
.iv = 100,
.lvl = 42,
@@ -1264,7 +1264,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julie[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brooke2[] = {
{
.iv = 110,
.lvl = 26,
@@ -1282,7 +1282,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brooke3[] = {
{
.iv = 120,
.lvl = 29,
@@ -1300,7 +1300,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brooke4[] = {
{
.iv = 130,
.lvl = 32,
@@ -1318,7 +1318,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brooke5[] = {
{
.iv = 140,
.lvl = 34,
@@ -1336,7 +1336,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Patricia[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Patricia[] = {
{
.iv = 0,
.lvl = 41,
@@ -1349,7 +1349,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Patricia[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kindra[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Kindra[] = {
{
.iv = 0,
.lvl = 30,
@@ -1362,7 +1362,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kindra[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tammy[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tammy[] = {
{
.iv = 0,
.lvl = 29,
@@ -1375,7 +1375,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tammy[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Valerie1[] = {
{
.iv = 0,
.lvl = 32,
@@ -1383,7 +1383,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tasha[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tasha[] = {
{
.iv = 50,
.lvl = 32,
@@ -1391,7 +1391,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tasha[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Valerie2[] = {
{
.iv = 10,
.lvl = 31,
@@ -1404,7 +1404,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Valerie3[] = {
{
.iv = 20,
.lvl = 35,
@@ -1417,7 +1417,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Valerie4[] = {
{
.iv = 30,
.lvl = 40,
@@ -1430,7 +1430,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Valerie5[] = {
{
.iv = 40,
.lvl = 42,
@@ -1448,7 +1448,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie5[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy1[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Cindy1[] = {
{
.iv = 0,
.lvl = 7,
@@ -1457,7 +1457,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy1[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Daphne[] = {
+static const struct TrainerMonItemCustomMoves sParty_Daphne[] = {
{
.iv = 100,
.lvl = 39,
@@ -1474,7 +1474,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Daphne[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt23[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt23[] = {
{
.iv = 0,
.lvl = 26,
@@ -1492,7 +1492,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt23[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Cindy2[] = {
+static const struct TrainerMonItemCustomMoves sParty_Cindy2[] = {
{
.iv = 0,
.lvl = 11,
@@ -1502,7 +1502,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Cindy2[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Brianna[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Brianna[] = {
{
.iv = 150,
.lvl = 40,
@@ -1511,7 +1511,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Brianna[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Naomi[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Naomi[] = {
{
.iv = 100,
.lvl = 45,
@@ -1520,7 +1520,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Naomi[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy3[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Cindy3[] = {
{
.iv = 10,
.lvl = 27,
@@ -1529,7 +1529,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy3[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy4[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Cindy4[] = {
{
.iv = 20,
.lvl = 30,
@@ -1538,7 +1538,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy4[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy5[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Cindy5[] = {
{
.iv = 30,
.lvl = 33,
@@ -1547,7 +1547,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy5[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Cindy6[] = {
+static const struct TrainerMonItemCustomMoves sParty_Cindy6[] = {
{
.iv = 40,
.lvl = 36,
@@ -1557,7 +1557,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Cindy6[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melissa[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Melissa[] = {
{
.iv = 0,
.lvl = 21,
@@ -1565,7 +1565,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melissa[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sheila[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Sheila[] = {
{
.iv = 0,
.lvl = 21,
@@ -1573,7 +1573,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sheila[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shirley[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Shirley[] = {
{
.iv = 0,
.lvl = 21,
@@ -1581,7 +1581,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shirley[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica1[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Jessica1[] = {
{
.iv = 0,
.lvl = 29,
@@ -1596,7 +1596,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Connie[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Connie[] = {
{
.iv = 100,
.lvl = 40,
@@ -1604,7 +1604,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Connie[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bridget[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Bridget[] = {
{
.iv = 150,
.lvl = 40,
@@ -1612,7 +1612,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bridget[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Olivia[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Olivia[] = {
{
.iv = 100,
.lvl = 35,
@@ -1633,7 +1633,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Olivia[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiffany[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tiffany[] = {
{
.iv = 100,
.lvl = 39,
@@ -1646,7 +1646,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiffany[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica2[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Jessica2[] = {
{
.iv = 10,
.lvl = 35,
@@ -1661,7 +1661,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica2[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica3[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Jessica3[] = {
{
.iv = 20,
.lvl = 38,
@@ -1676,7 +1676,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica3[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica4[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Jessica4[] = {
{
.iv = 30,
.lvl = 41,
@@ -1691,7 +1691,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica4[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica5[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Jessica5[] = {
{
.iv = 40,
.lvl = 44,
@@ -1706,7 +1706,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica5[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Winston1[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Winston1[] = {
{
.iv = 0,
.lvl = 7,
@@ -1715,7 +1715,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mollie[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Mollie[] = {
{
.iv = 0,
.lvl = 33,
@@ -1728,7 +1728,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mollie[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Garret[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Garret[] = {
{
.iv = 0,
.lvl = 45,
@@ -1737,7 +1737,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Garret[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Winston2[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Winston2[] = {
{
.iv = 0,
.lvl = 27,
@@ -1746,7 +1746,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston2[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Winston3[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Winston3[] = {
{
.iv = 0,
.lvl = 30,
@@ -1755,7 +1755,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston3[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Winston4[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Winston4[] = {
{
.iv = 0,
.lvl = 33,
@@ -1764,7 +1764,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston4[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Winston5[] = {
+static const struct TrainerMonItemCustomMoves sParty_Winston5[] = {
{
.iv = 0,
.lvl = 36,
@@ -1774,7 +1774,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winston5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Steve1[] = {
{
.iv = 0,
.lvl = 19,
@@ -1782,7 +1782,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Thalia1[] = {
{
.iv = 0,
.lvl = 25,
@@ -1795,7 +1795,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mark[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Mark[] = {
{
.iv = 0,
.lvl = 31,
@@ -1803,7 +1803,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mark[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt24[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt24[] = {
{
.iv = 0,
.lvl = 20,
@@ -1811,7 +1811,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt24[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Steve2[] = {
{
.iv = 10,
.lvl = 27,
@@ -1819,7 +1819,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Steve3[] = {
{
.iv = 20,
.lvl = 29,
@@ -1832,7 +1832,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Steve4[] = {
{
.iv = 30,
.lvl = 32,
@@ -1845,7 +1845,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Steve5[] = {
{
.iv = 40,
.lvl = 35,
@@ -1858,7 +1858,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Luis[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Luis[] = {
{
.iv = 0,
.lvl = 26,
@@ -1866,7 +1866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Luis[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dominik[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dominik[] = {
{
.iv = 0,
.lvl = 26,
@@ -1874,7 +1874,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dominik[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Douglas[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Douglas[] = {
{
.iv = 10,
.lvl = 24,
@@ -1887,7 +1887,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Douglas[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darrin[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Darrin[] = {
{
.iv = 10,
.lvl = 24,
@@ -1905,7 +1905,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darrin[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tony1[] = {
{
.iv = 0,
.lvl = 26,
@@ -1913,7 +1913,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerome[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jerome[] = {
{
.iv = 0,
.lvl = 26,
@@ -1921,7 +1921,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerome[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matthew[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Matthew[] = {
{
.iv = 0,
.lvl = 26,
@@ -1929,7 +1929,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matthew[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_David[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_David[] = {
{
.iv = 0,
.lvl = 25,
@@ -1942,7 +1942,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_David[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spencer[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Spencer[] = {
{
.iv = 0,
.lvl = 33,
@@ -1955,7 +1955,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spencer[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roland[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Roland[] = {
{
.iv = 0,
.lvl = 34,
@@ -1963,7 +1963,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roland[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolen[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nolen[] = {
{
.iv = 0,
.lvl = 34,
@@ -1971,7 +1971,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolen[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Stan[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Stan[] = {
{
.iv = 0,
.lvl = 34,
@@ -1979,7 +1979,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Stan[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barry[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Barry[] = {
{
.iv = 0,
.lvl = 34,
@@ -1987,7 +1987,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barry[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dean[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dean[] = {
{
.iv = 0,
.lvl = 31,
@@ -2005,7 +2005,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dean[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rodney[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Rodney[] = {
{
.iv = 0,
.lvl = 34,
@@ -2013,7 +2013,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rodney[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Richard[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Richard[] = {
{
.iv = 0,
.lvl = 34,
@@ -2021,7 +2021,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Richard[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Herman[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Herman[] = {
{
.iv = 0,
.lvl = 33,
@@ -2034,7 +2034,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Herman[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Santiago[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Santiago[] = {
{
.iv = 0,
.lvl = 33,
@@ -2047,7 +2047,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Santiago[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gilbert[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Gilbert[] = {
{
.iv = 0,
.lvl = 34,
@@ -2055,7 +2055,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gilbert[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Franklin[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Franklin[] = {
{
.iv = 0,
.lvl = 34,
@@ -2063,7 +2063,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Franklin[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kevin[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Kevin[] = {
{
.iv = 0,
.lvl = 34,
@@ -2071,7 +2071,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kevin[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jack[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jack[] = {
{
.iv = 0,
.lvl = 34,
@@ -2079,7 +2079,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jack[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dudley[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dudley[] = {
{
.iv = 0,
.lvl = 33,
@@ -2097,7 +2097,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dudley[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chad[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Chad[] = {
{
.iv = 0,
.lvl = 33,
@@ -2110,7 +2110,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chad[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tony2[] = {
{
.iv = 10,
.lvl = 30,
@@ -2118,7 +2118,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tony3[] = {
{
.iv = 20,
.lvl = 33,
@@ -2126,7 +2126,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tony4[] = {
{
.iv = 30,
.lvl = 34,
@@ -2139,7 +2139,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tony5[] = {
{
.iv = 40,
.lvl = 37,
@@ -2152,7 +2152,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takao[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Takao[] = {
{
.iv = 127,
.lvl = 13,
@@ -2160,7 +2160,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takao[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hitoshi[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Hitoshi[] = {
{
.iv = 50,
.lvl = 32,
@@ -2173,7 +2173,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hitoshi[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kiyo[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Kiyo[] = {
{
.iv = 100,
.lvl = 34,
@@ -2181,7 +2181,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kiyo[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koichi[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Koichi[] = {
{
.iv = 100,
.lvl = 24,
@@ -2194,7 +2194,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koichi[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nob1[] = {
{
.iv = 100,
.lvl = 19,
@@ -2202,7 +2202,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nob2[] = {
{
.iv = 110,
.lvl = 27,
@@ -2210,7 +2210,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nob3[] = {
{
.iv = 120,
.lvl = 29,
@@ -2223,7 +2223,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nob4[] = {
{
.iv = 130,
.lvl = 31,
@@ -2241,7 +2241,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob4[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Nob5[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Nob5[] = {
{
.iv = 140,
.lvl = 33,
@@ -2268,7 +2268,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Nob5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yuji[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Yuji[] = {
{
.iv = 100,
.lvl = 26,
@@ -2281,7 +2281,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yuji[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisuke[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Daisuke[] = {
{
.iv = 100,
.lvl = 19,
@@ -2289,7 +2289,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisuke[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Atsushi[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Atsushi[] = {
{
.iv = 100,
.lvl = 32,
@@ -2297,7 +2297,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Atsushi[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Kirk[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Kirk[] = {
{
.iv = 100,
.lvl = 17,
@@ -2312,7 +2312,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Kirk[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt25[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt25[] = {
{
.iv = 0,
.lvl = 31,
@@ -2325,7 +2325,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt25[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt26[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt26[] = {
{
.iv = 0,
.lvl = 32,
@@ -2333,7 +2333,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt26[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shawn[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Shawn[] = {
{
.iv = 100,
.lvl = 17,
@@ -2346,7 +2346,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shawn[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Fernando1[] = {
{
.iv = 0,
.lvl = 30,
@@ -2359,7 +2359,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dalton1[] = {
{
.iv = 0,
.lvl = 15,
@@ -2372,7 +2372,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dalton2[] = {
{
.iv = 10,
.lvl = 25,
@@ -2390,7 +2390,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dalton3[] = {
{
.iv = 20,
.lvl = 28,
@@ -2408,7 +2408,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dalton4[] = {
{
.iv = 30,
.lvl = 31,
@@ -2426,7 +2426,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dalton5[] = {
{
.iv = 40,
.lvl = 34,
@@ -2444,7 +2444,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cole[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cole[] = {
{
.iv = 100,
.lvl = 23,
@@ -2452,7 +2452,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cole[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeff[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jeff[] = {
{
.iv = 100,
.lvl = 22,
@@ -2465,7 +2465,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeff[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Axle[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Axle[] = {
{
.iv = 100,
.lvl = 23,
@@ -2473,7 +2473,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Axle[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jace[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jace[] = {
{
.iv = 100,
.lvl = 23,
@@ -2481,7 +2481,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jace[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keegan[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Keegan[] = {
{
.iv = 120,
.lvl = 23,
@@ -2489,7 +2489,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keegan[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Bernie1[] = {
{
.iv = 0,
.lvl = 18,
@@ -2502,7 +2502,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Bernie2[] = {
{
.iv = 10,
.lvl = 26,
@@ -2515,7 +2515,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Bernie3[] = {
{
.iv = 20,
.lvl = 29,
@@ -2528,7 +2528,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Bernie4[] = {
{
.iv = 30,
.lvl = 32,
@@ -2541,7 +2541,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Bernie5[] = {
{
.iv = 40,
.lvl = 35,
@@ -2554,7 +2554,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Drew[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Drew[] = {
{
.iv = 0,
.lvl = 23,
@@ -2563,7 +2563,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Drew[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Beau[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Beau[] = {
{
.iv = 0,
.lvl = 21,
@@ -2584,7 +2584,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Beau[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Larry[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Larry[] = {
{
.iv = 0,
.lvl = 18,
@@ -2592,7 +2592,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Larry[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shane[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Shane[] = {
{
.iv = 0,
.lvl = 18,
@@ -2605,7 +2605,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shane[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Justin[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Justin[] = {
{
.iv = 0,
.lvl = 24,
@@ -2613,7 +2613,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Justin[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ethan1[] = {
{
.iv = 0,
.lvl = 20,
@@ -2626,7 +2626,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Autumn[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Autumn[] = {
{
.iv = 0,
.lvl = 21,
@@ -2634,7 +2634,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Autumn[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Travis[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Travis[] = {
{
.iv = 0,
.lvl = 18,
@@ -2642,7 +2642,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Travis[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ethan2[] = {
{
.iv = 10,
.lvl = 26,
@@ -2655,7 +2655,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ethan3[] = {
{
.iv = 20,
.lvl = 29,
@@ -2668,7 +2668,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ethan4[] = {
{
.iv = 30,
.lvl = 31,
@@ -2686,7 +2686,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ethan5[] = {
{
.iv = 40,
.lvl = 34,
@@ -2704,7 +2704,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brent[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brent[] = {
{
.iv = 100,
.lvl = 26,
@@ -2712,7 +2712,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brent[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donald[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Donald[] = {
{
.iv = 100,
.lvl = 24,
@@ -2730,7 +2730,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donald[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Taylor[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Taylor[] = {
{
.iv = 100,
.lvl = 27,
@@ -2748,7 +2748,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Taylor[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey1[] = {
{
.iv = 0,
.lvl = 27,
@@ -2766,7 +2766,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Derek[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Derek[] = {
{
.iv = 150,
.lvl = 16,
@@ -2779,7 +2779,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Derek[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey2[] = {
{
.iv = 10,
.lvl = 31,
@@ -2797,7 +2797,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey3[] = {
{
.iv = 20,
.lvl = 34,
@@ -2815,7 +2815,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey4[] = {
{
.iv = 30,
.lvl = 36,
@@ -2838,7 +2838,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey4[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Jeffrey5[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Jeffrey5[] = {
{
.iv = 40,
.lvl = 38,
@@ -2871,7 +2871,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Jeffrey5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Edward[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Edward[] = {
{
.iv = 0,
.lvl = 15,
@@ -2880,7 +2880,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Edward[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Preston[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Preston[] = {
{
.iv = 100,
.lvl = 36,
@@ -2888,7 +2888,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Preston[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Virgil[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Virgil[] = {
{
.iv = 100,
.lvl = 36,
@@ -2896,7 +2896,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Virgil[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Blake[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Blake[] = {
{
.iv = 100,
.lvl = 36,
@@ -2904,7 +2904,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Blake[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_William[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_William[] = {
{
.iv = 0,
.lvl = 26,
@@ -2922,7 +2922,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_William[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joshua[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Joshua[] = {
{
.iv = 0,
.lvl = 41,
@@ -2935,7 +2935,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joshua[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cameron1[] = {
{
.iv = 0,
.lvl = 31,
@@ -2943,7 +2943,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cameron2[] = {
{
.iv = 10,
.lvl = 33,
@@ -2956,7 +2956,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cameron3[] = {
{
.iv = 20,
.lvl = 38,
@@ -2969,7 +2969,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cameron4[] = {
{
.iv = 30,
.lvl = 41,
@@ -2982,7 +2982,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cameron5[] = {
{
.iv = 40,
.lvl = 45,
@@ -2995,7 +2995,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Jaclyn[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Jaclyn[] = {
{
.iv = 0,
.lvl = 16,
@@ -3004,7 +3004,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jaclyn[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hannah[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Hannah[] = {
{
.iv = 100,
.lvl = 36,
@@ -3012,7 +3012,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hannah[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samantha[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Samantha[] = {
{
.iv = 100,
.lvl = 36,
@@ -3020,7 +3020,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samantha[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maura[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Maura[] = {
{
.iv = 100,
.lvl = 36,
@@ -3028,7 +3028,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maura[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kayla[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Kayla[] = {
{
.iv = 0,
.lvl = 26,
@@ -3046,7 +3046,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kayla[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexis[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Alexis[] = {
{
.iv = 0,
.lvl = 41,
@@ -3059,7 +3059,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexis[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jacki1[] = {
{
.iv = 0,
.lvl = 30,
@@ -3072,7 +3072,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jacki2[] = {
{
.iv = 10,
.lvl = 34,
@@ -3085,7 +3085,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jacki3[] = {
{
.iv = 20,
.lvl = 37,
@@ -3098,7 +3098,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jacki4[] = {
{
.iv = 30,
.lvl = 40,
@@ -3111,7 +3111,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jacki5[] = {
{
.iv = 40,
.lvl = 43,
@@ -3124,7 +3124,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Walter1[] = {
{
.iv = 0,
.lvl = 29,
@@ -3132,7 +3132,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Micah[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Micah[] = {
{
.iv = 0,
.lvl = 44,
@@ -3145,7 +3145,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Micah[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thomas[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Thomas[] = {
{
.iv = 0,
.lvl = 45,
@@ -3153,7 +3153,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thomas[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Walter2[] = {
{
.iv = 10,
.lvl = 34,
@@ -3161,7 +3161,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter2[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter3[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Walter3[] = {
{
.iv = 20,
.lvl = 36,
@@ -3176,7 +3176,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter3[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter4[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Walter4[] = {
{
.iv = 30,
.lvl = 39,
@@ -3191,7 +3191,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter4[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter5[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Walter5[] = {
{
.iv = 40,
.lvl = 41,
@@ -3212,7 +3212,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter5[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Sidney[] = {
+static const struct TrainerMonItemCustomMoves sParty_Sidney[] = {
{
.iv = 250,
.lvl = 46,
@@ -3250,7 +3250,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Sidney[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Phoebe[] = {
+static const struct TrainerMonItemCustomMoves sParty_Phoebe[] = {
{
.iv = 250,
.lvl = 48,
@@ -3288,7 +3288,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Phoebe[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Glacia[] = {
+static const struct TrainerMonItemCustomMoves sParty_Glacia[] = {
{
.iv = 250,
.lvl = 50,
@@ -3326,7 +3326,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Glacia[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Drake[] = {
+static const struct TrainerMonItemCustomMoves sParty_Drake[] = {
{
.iv = 250,
.lvl = 52,
@@ -3364,7 +3364,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Drake[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne1[] = {
+static const struct TrainerMonItemCustomMoves sParty_Roxanne1[] = {
{
.iv = 100,
.lvl = 12,
@@ -3388,7 +3388,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne1[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Brawly1[] = {
+static const struct TrainerMonItemCustomMoves sParty_Brawly1[] = {
{
.iv = 100,
.lvl = 16,
@@ -3412,7 +3412,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly1[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Wattson1[] = {
+static const struct TrainerMonItemCustomMoves sParty_Wattson1[] = {
{
.iv = 200,
.lvl = 20,
@@ -3443,7 +3443,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson1[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Flannery1[] = {
+static const struct TrainerMonItemCustomMoves sParty_Flannery1[] = {
{
.iv = 200,
.lvl = 24,
@@ -3474,7 +3474,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery1[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Norman1[] = {
+static const struct TrainerMonItemCustomMoves sParty_Norman1[] = {
{
.iv = 200,
.lvl = 27,
@@ -3505,7 +3505,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman1[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Winona1[] = {
+static const struct TrainerMonItemCustomMoves sParty_Winona1[] = {
{
.iv = 210,
.lvl = 29,
@@ -3543,7 +3543,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona1[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza1[] = {
+static const struct TrainerMonItemCustomMoves sParty_TateAndLiza1[] = {
{
.iv = 250,
.lvl = 41,
@@ -3574,7 +3574,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza1[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Juan1[] = {
+static const struct TrainerMonItemCustomMoves sParty_Juan1[] = {
{
.iv = 200,
.lvl = 41,
@@ -3612,7 +3612,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jerry1[] = {
{
.iv = 10,
.lvl = 9,
@@ -3620,7 +3620,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ted[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ted[] = {
{
.iv = 10,
.lvl = 17,
@@ -3628,7 +3628,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ted[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paul[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Paul[] = {
{
.iv = 10,
.lvl = 15,
@@ -3646,7 +3646,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paul[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jerry2[] = {
{
.iv = 20,
.lvl = 26,
@@ -3659,7 +3659,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jerry3[] = {
{
.iv = 30,
.lvl = 29,
@@ -3672,7 +3672,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jerry4[] = {
{
.iv = 40,
.lvl = 32,
@@ -3685,7 +3685,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jerry5[] = {
{
.iv = 50,
.lvl = 34,
@@ -3703,7 +3703,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Karen1[] = {
{
.iv = 10,
.lvl = 9,
@@ -3711,7 +3711,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Georgia[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Georgia[] = {
{
.iv = 10,
.lvl = 16,
@@ -3724,7 +3724,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Georgia[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Karen2[] = {
{
.iv = 20,
.lvl = 26,
@@ -3737,7 +3737,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Karen3[] = {
{
.iv = 30,
.lvl = 29,
@@ -3750,7 +3750,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Karen4[] = {
{
.iv = 40,
.lvl = 32,
@@ -3763,7 +3763,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Karen5[] = {
{
.iv = 50,
.lvl = 35,
@@ -3776,7 +3776,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_KateAndJoy[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_KateAndJoy[] = {
{
.iv = 0,
.lvl = 30,
@@ -3791,7 +3791,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_KateAndJoy[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg1[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg1[] = {
{
.iv = 0,
.lvl = 15,
@@ -3806,7 +3806,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg1[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg2[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg2[] = {
{
.iv = 10,
.lvl = 28,
@@ -3821,7 +3821,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg2[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg3[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg3[] = {
{
.iv = 20,
.lvl = 31,
@@ -3836,7 +3836,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg3[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg4[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg4[] = {
{
.iv = 30,
.lvl = 34,
@@ -3851,7 +3851,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg4[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg5[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg5[] = {
{
.iv = 40,
.lvl = 36,
@@ -3866,7 +3866,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg5[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Victor[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Victor[] = {
{
.iv = 25,
.lvl = 16,
@@ -3881,7 +3881,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Victor[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel1[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Miguel1[] = {
{
.iv = 0,
.lvl = 15,
@@ -3890,7 +3890,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel1[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Colton[] = {
+static const struct TrainerMonItemCustomMoves sParty_Colton[] = {
{
.iv = 0,
.lvl = 22,
@@ -3935,7 +3935,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Colton[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel2[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Miguel2[] = {
{
.iv = 0,
.lvl = 29,
@@ -3944,7 +3944,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel2[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel3[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Miguel3[] = {
{
.iv = 0,
.lvl = 32,
@@ -3953,7 +3953,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel3[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel4[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Miguel4[] = {
{
.iv = 0,
.lvl = 35,
@@ -3962,7 +3962,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel4[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel5[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Miguel5[] = {
{
.iv = 0,
.lvl = 38,
@@ -3971,7 +3971,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel5[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Victoria[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Victoria[] = {
{
.iv = 50,
.lvl = 17,
@@ -3980,7 +3980,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Victoria[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Vanessa[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Vanessa[] = {
{
.iv = 0,
.lvl = 30,
@@ -3989,7 +3989,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Vanessa[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Bethany[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Bethany[] = {
{
.iv = 100,
.lvl = 35,
@@ -4010,7 +4010,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Bethany[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel1[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Isabel1[] = {
{
.iv = 0,
.lvl = 14,
@@ -4025,7 +4025,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel1[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel2[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Isabel2[] = {
{
.iv = 10,
.lvl = 26,
@@ -4040,7 +4040,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel2[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel3[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Isabel3[] = {
{
.iv = 20,
.lvl = 29,
@@ -4055,7 +4055,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel3[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel4[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Isabel4[] = {
{
.iv = 30,
.lvl = 32,
@@ -4070,7 +4070,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel4[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel5[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Isabel5[] = {
{
.iv = 40,
.lvl = 35,
@@ -4085,7 +4085,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timothy1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Timothy1[] = {
{
.iv = 200,
.lvl = 27,
@@ -4093,7 +4093,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timothy1[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy2[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Timothy2[] = {
{
.iv = 210,
.lvl = 33,
@@ -4102,7 +4102,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy2[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy3[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Timothy3[] = {
{
.iv = 220,
.lvl = 36,
@@ -4111,7 +4111,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy3[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy4[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Timothy4[] = {
{
.iv = 230,
.lvl = 39,
@@ -4120,7 +4120,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy4[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy5[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Timothy5[] = {
{
.iv = 240,
.lvl = 42,
@@ -4129,7 +4129,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Vicky[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Vicky[] = {
{
.iv = 200,
.lvl = 18,
@@ -4138,7 +4138,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Vicky[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Shelby1[] = {
{
.iv = 200,
.lvl = 21,
@@ -4151,7 +4151,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Shelby2[] = {
{
.iv = 210,
.lvl = 30,
@@ -4164,7 +4164,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Shelby3[] = {
{
.iv = 220,
.lvl = 33,
@@ -4177,7 +4177,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Shelby4[] = {
{
.iv = 230,
.lvl = 36,
@@ -4190,7 +4190,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Shelby5[] = {
{
.iv = 240,
.lvl = 39,
@@ -4203,7 +4203,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Calvin1[] = {
{
.iv = 0,
.lvl = 5,
@@ -4211,7 +4211,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Billy[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Billy[] = {
{
.iv = 0,
.lvl = 5,
@@ -4224,7 +4224,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Billy[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Josh[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Josh[] = {
{
.iv = 100,
.lvl = 10,
@@ -4233,7 +4233,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Josh[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tommy[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tommy[] = {
{
.iv = 110,
.lvl = 8,
@@ -4246,7 +4246,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tommy[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joey[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Joey[] = {
{
.iv = 0,
.lvl = 9,
@@ -4254,7 +4254,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joey[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Ben[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Ben[] = {
{
.iv = 150,
.lvl = 17,
@@ -4269,7 +4269,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ben[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Quincy[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Quincy[] = {
{
.iv = 100,
.lvl = 43,
@@ -4284,7 +4284,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Quincy[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Katelynn[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Katelynn[] = {
{
.iv = 100,
.lvl = 43,
@@ -4299,7 +4299,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Katelynn[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaylen[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jaylen[] = {
{
.iv = 0,
.lvl = 19,
@@ -4307,7 +4307,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaylen[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dillon[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dillon[] = {
{
.iv = 0,
.lvl = 19,
@@ -4315,7 +4315,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dillon[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Calvin2[] = {
{
.iv = 10,
.lvl = 27,
@@ -4323,7 +4323,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Calvin3[] = {
{
.iv = 20,
.lvl = 28,
@@ -4336,7 +4336,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Calvin4[] = {
{
.iv = 30,
.lvl = 31,
@@ -4354,7 +4354,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Calvin5[] = {
{
.iv = 40,
.lvl = 34,
@@ -4372,7 +4372,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eddie[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Eddie[] = {
{
.iv = 0,
.lvl = 14,
@@ -4385,7 +4385,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eddie[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allen[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Allen[] = {
{
.iv = 0,
.lvl = 4,
@@ -4398,7 +4398,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allen[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timmy[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Timmy[] = {
{
.iv = 0,
.lvl = 15,
@@ -4411,7 +4411,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timmy[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Wallace[] = {
+static const struct TrainerMonItemCustomMoves sParty_Wallace[] = {
{
.iv = 255,
.lvl = 57,
@@ -4456,7 +4456,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wallace[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrew[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Andrew[] = {
{
.iv = 0,
.lvl = 5,
@@ -4474,7 +4474,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrew[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ivan[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ivan[] = {
{
.iv = 0,
.lvl = 5,
@@ -4492,7 +4492,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ivan[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Claude[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Claude[] = {
{
.iv = 0,
.lvl = 16,
@@ -4510,7 +4510,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Claude[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Elliot1[] = {
{
.iv = 0,
.lvl = 10,
@@ -4528,7 +4528,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ned[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ned[] = {
{
.iv = 10,
.lvl = 11,
@@ -4536,7 +4536,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ned[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dale[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dale[] = {
{
.iv = 0,
.lvl = 11,
@@ -4559,7 +4559,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dale[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolan[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nolan[] = {
{
.iv = 0,
.lvl = 19,
@@ -4567,7 +4567,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolan[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barny[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Barny[] = {
{
.iv = 0,
.lvl = 25,
@@ -4580,7 +4580,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barny[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wade[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Wade[] = {
{
.iv = 0,
.lvl = 16,
@@ -4588,7 +4588,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wade[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carter[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Carter[] = {
{
.iv = 10,
.lvl = 25,
@@ -4601,7 +4601,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carter[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Elliot2[] = {
{
.iv = 10,
.lvl = 24,
@@ -4619,7 +4619,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Elliot3[] = {
{
.iv = 20,
.lvl = 29,
@@ -4642,7 +4642,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Elliot4[] = {
{
.iv = 30,
.lvl = 31,
@@ -4665,7 +4665,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Elliot5[] = {
{
.iv = 40,
.lvl = 33,
@@ -4688,7 +4688,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ronald[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ronald[] = {
{
.iv = 0,
.lvl = 19,
@@ -4721,7 +4721,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ronald[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacob[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jacob[] = {
{
.iv = 20,
.lvl = 6,
@@ -4739,7 +4739,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacob[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anthony[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Anthony[] = {
{
.iv = 0,
.lvl = 14,
@@ -4752,7 +4752,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anthony[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin1[] = {
{
.iv = 0,
.lvl = 16,
@@ -4760,7 +4760,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin2[] = {
{
.iv = 10,
.lvl = 30,
@@ -4768,7 +4768,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin3[] = {
{
.iv = 20,
.lvl = 33,
@@ -4776,7 +4776,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin4[] = {
{
.iv = 30,
.lvl = 36,
@@ -4784,7 +4784,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin5[] = {
{
.iv = 40,
.lvl = 39,
@@ -4792,7 +4792,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Abigail1[] = {
{
.iv = 0,
.lvl = 16,
@@ -4800,7 +4800,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jasmine[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jasmine[] = {
{
.iv = 80,
.lvl = 14,
@@ -4818,7 +4818,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jasmine[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Abigail2[] = {
{
.iv = 10,
.lvl = 28,
@@ -4826,7 +4826,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Abigail3[] = {
{
.iv = 20,
.lvl = 31,
@@ -4834,7 +4834,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Abigail4[] = {
{
.iv = 30,
.lvl = 34,
@@ -4842,7 +4842,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Abigail5[] = {
{
.iv = 40,
.lvl = 37,
@@ -4850,7 +4850,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dylan1[] = {
{
.iv = 0,
.lvl = 17,
@@ -4858,7 +4858,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dylan2[] = {
{
.iv = 10,
.lvl = 28,
@@ -4866,7 +4866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dylan3[] = {
{
.iv = 20,
.lvl = 31,
@@ -4874,7 +4874,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dylan4[] = {
{
.iv = 30,
.lvl = 34,
@@ -4882,7 +4882,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dylan5[] = {
{
.iv = 40,
.lvl = 37,
@@ -4890,7 +4890,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Maria1[] = {
{
.iv = 0,
.lvl = 17,
@@ -4898,7 +4898,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Maria2[] = {
{
.iv = 10,
.lvl = 28,
@@ -4906,7 +4906,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Maria3[] = {
{
.iv = 20,
.lvl = 31,
@@ -4914,7 +4914,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Maria4[] = {
{
.iv = 30,
.lvl = 34,
@@ -4922,7 +4922,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Maria5[] = {
{
.iv = 40,
.lvl = 37,
@@ -4930,7 +4930,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camden[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Camden[] = {
{
.iv = 0,
.lvl = 33,
@@ -4943,7 +4943,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camden[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Demetrius[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Demetrius[] = {
{
.iv = 0,
.lvl = 25,
@@ -4956,7 +4956,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Demetrius[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah1[] = {
{
.iv = 0,
.lvl = 35,
@@ -4964,7 +4964,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Pablo1[] = {
{
.iv = 0,
.lvl = 33,
@@ -4977,7 +4977,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chase[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Chase[] = {
{
.iv = 0,
.lvl = 26,
@@ -4990,7 +4990,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chase[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah2[] = {
{
.iv = 10,
.lvl = 39,
@@ -4998,7 +4998,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah3[] = {
{
.iv = 20,
.lvl = 42,
@@ -5006,7 +5006,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah4[] = {
{
.iv = 30,
.lvl = 45,
@@ -5014,7 +5014,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah5[] = {
{
.iv = 40,
.lvl = 48,
@@ -5022,7 +5022,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isobel[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Isobel[] = {
{
.iv = 0,
.lvl = 34,
@@ -5030,7 +5030,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isobel[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donny[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Donny[] = {
{
.iv = 0,
.lvl = 26,
@@ -5043,7 +5043,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donny[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Talia[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Talia[] = {
{
.iv = 0,
.lvl = 34,
@@ -5051,7 +5051,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Talia[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn1[] = {
{
.iv = 0,
.lvl = 35,
@@ -5059,7 +5059,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allison[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Allison[] = {
{
.iv = 0,
.lvl = 27,
@@ -5072,7 +5072,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allison[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn2[] = {
{
.iv = 10,
.lvl = 39,
@@ -5080,7 +5080,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn3[] = {
{
.iv = 20,
.lvl = 42,
@@ -5088,7 +5088,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn4[] = {
{
.iv = 30,
.lvl = 45,
@@ -5096,7 +5096,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn5[] = {
{
.iv = 40,
.lvl = 48,
@@ -5104,7 +5104,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas1[] = {
{
.iv = 100,
.lvl = 37,
@@ -5117,7 +5117,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas2[] = {
{
.iv = 110,
.lvl = 41,
@@ -5130,7 +5130,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas3[] = {
{
.iv = 120,
.lvl = 44,
@@ -5143,7 +5143,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas4[] = {
{
.iv = 130,
.lvl = 46,
@@ -5161,7 +5161,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas4[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Nicolas5[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Nicolas5[] = {
{
.iv = 140,
.lvl = 49,
@@ -5182,7 +5182,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Nicolas5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Aaron[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Aaron[] = {
{
.iv = 255,
.lvl = 34,
@@ -5191,7 +5191,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Aaron[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Perry[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Perry[] = {
{
.iv = 0,
.lvl = 26,
@@ -5199,7 +5199,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Perry[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hugh[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Hugh[] = {
{
.iv = 0,
.lvl = 25,
@@ -5212,7 +5212,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hugh[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phil[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Phil[] = {
{
.iv = 0,
.lvl = 26,
@@ -5220,7 +5220,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phil[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jared[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jared[] = {
{
.iv = 100,
.lvl = 27,
@@ -5238,7 +5238,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jared[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Humberto[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Humberto[] = {
{
.iv = 250,
.lvl = 30,
@@ -5246,7 +5246,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Humberto[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Presley[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Presley[] = {
{
.iv = 0,
.lvl = 33,
@@ -5259,7 +5259,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Presley[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwardo[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Edwardo[] = {
{
.iv = 150,
.lvl = 29,
@@ -5272,7 +5272,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwardo[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Colin[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Colin[] = {
{
.iv = 0,
.lvl = 28,
@@ -5285,7 +5285,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Colin[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Robert1[] = {
{
.iv = 0,
.lvl = 29,
@@ -5293,7 +5293,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benny[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Benny[] = {
{
.iv = 0,
.lvl = 36,
@@ -5311,7 +5311,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benny[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chester[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Chester[] = {
{
.iv = 0,
.lvl = 25,
@@ -5324,7 +5324,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chester[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Robert2[] = {
{
.iv = 10,
.lvl = 32,
@@ -5337,7 +5337,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Robert3[] = {
{
.iv = 20,
.lvl = 35,
@@ -5350,7 +5350,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Robert4[] = {
{
.iv = 30,
.lvl = 38,
@@ -5363,7 +5363,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Robert5[] = {
{
.iv = 40,
.lvl = 41,
@@ -5376,7 +5376,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alex[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Alex[] = {
{
.iv = 150,
.lvl = 33,
@@ -5389,7 +5389,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alex[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beck[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Beck[] = {
{
.iv = 0,
.lvl = 34,
@@ -5397,7 +5397,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beck[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yasu[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Yasu[] = {
{
.iv = 0,
.lvl = 26,
@@ -5405,7 +5405,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yasu[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takashi[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Takashi[] = {
{
.iv = 0,
.lvl = 25,
@@ -5418,7 +5418,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takashi[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Dianne[] = {
+static const struct TrainerMonItemCustomMoves sParty_Dianne[] = {
{
.iv = 0,
.lvl = 43,
@@ -5435,7 +5435,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Dianne[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jani[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jani[] = {
{
.iv = 0,
.lvl = 26,
@@ -5443,7 +5443,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jani[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao1[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Lao1[] = {
{
.iv = 0,
.lvl = 17,
@@ -5464,7 +5464,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lung[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lung[] = {
{
.iv = 0,
.lvl = 18,
@@ -5477,7 +5477,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lung[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao2[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Lao2[] = {
{
.iv = 0,
.lvl = 24,
@@ -5504,7 +5504,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao2[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao3[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Lao3[] = {
{
.iv = 20,
.lvl = 27,
@@ -5531,7 +5531,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao3[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao4[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Lao4[] = {
{
.iv = 30,
.lvl = 30,
@@ -5558,7 +5558,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao4[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Lao5[] = {
+static const struct TrainerMonItemCustomMoves sParty_Lao5[] = {
{
.iv = 40,
.lvl = 33,
@@ -5589,7 +5589,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Lao5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jocelyn[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jocelyn[] = {
{
.iv = 127,
.lvl = 13,
@@ -5597,7 +5597,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jocelyn[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laura[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Laura[] = {
{
.iv = 150,
.lvl = 13,
@@ -5605,7 +5605,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laura[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy1[] = {
{
.iv = 100,
.lvl = 18,
@@ -5618,7 +5618,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cora[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cora[] = {
{
.iv = 100,
.lvl = 27,
@@ -5626,7 +5626,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cora[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paula[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Paula[] = {
{
.iv = 100,
.lvl = 27,
@@ -5634,7 +5634,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paula[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy2[] = {
{
.iv = 110,
.lvl = 26,
@@ -5647,7 +5647,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy3[] = {
{
.iv = 120,
.lvl = 29,
@@ -5660,7 +5660,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy4[] = {
{
.iv = 130,
.lvl = 32,
@@ -5673,7 +5673,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy5[] = {
{
.iv = 140,
.lvl = 35,
@@ -5686,7 +5686,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline1[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Madeline1[] = {
{
.iv = 0,
.lvl = 19,
@@ -5695,7 +5695,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarissa[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Clarissa[] = {
{
.iv = 0,
.lvl = 28,
@@ -5708,7 +5708,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarissa[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Angelica[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Angelica[] = {
{
.iv = 50,
.lvl = 30,
@@ -5717,7 +5717,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Angelica[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline2[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Madeline2[] = {
{
.iv = 10,
.lvl = 29,
@@ -5726,7 +5726,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline2[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline3[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Madeline3[] = {
{
.iv = 20,
.lvl = 32,
@@ -5735,7 +5735,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline3[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline4[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Madeline4[] = {
{
.iv = 30,
.lvl = 34,
@@ -5750,7 +5750,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline4[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline5[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Madeline5[] = {
{
.iv = 40,
.lvl = 37,
@@ -5765,7 +5765,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beverly[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Beverly[] = {
{
.iv = 0,
.lvl = 25,
@@ -5778,7 +5778,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beverly[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Imani[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Imani[] = {
{
.iv = 0,
.lvl = 26,
@@ -5786,7 +5786,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Imani[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyla[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Kyla[] = {
{
.iv = 0,
.lvl = 26,
@@ -5794,7 +5794,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyla[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Denise[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Denise[] = {
{
.iv = 0,
.lvl = 25,
@@ -5807,7 +5807,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Denise[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beth[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Beth[] = {
{
.iv = 0,
.lvl = 26,
@@ -5815,7 +5815,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beth[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tara[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tara[] = {
{
.iv = 0,
.lvl = 25,
@@ -5828,7 +5828,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tara[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Missy[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Missy[] = {
{
.iv = 0,
.lvl = 26,
@@ -5836,7 +5836,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Missy[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alice[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Alice[] = {
{
.iv = 0,
.lvl = 24,
@@ -5854,7 +5854,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alice[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jenny1[] = {
{
.iv = 0,
.lvl = 34,
@@ -5862,7 +5862,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grace[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grace[] = {
{
.iv = 0,
.lvl = 34,
@@ -5870,7 +5870,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grace[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tanya[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tanya[] = {
{
.iv = 0,
.lvl = 34,
@@ -5878,7 +5878,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tanya[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sharon[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Sharon[] = {
{
.iv = 0,
.lvl = 34,
@@ -5886,7 +5886,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sharon[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nikki[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nikki[] = {
{
.iv = 0,
.lvl = 33,
@@ -5899,7 +5899,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nikki[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenda[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brenda[] = {
{
.iv = 0,
.lvl = 34,
@@ -5907,7 +5907,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenda[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katie[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Katie[] = {
{
.iv = 0,
.lvl = 33,
@@ -5920,7 +5920,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katie[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Susie[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Susie[] = {
{
.iv = 0,
.lvl = 34,
@@ -5928,7 +5928,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Susie[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kara[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Kara[] = {
{
.iv = 0,
.lvl = 34,
@@ -5936,7 +5936,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kara[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dana[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dana[] = {
{
.iv = 0,
.lvl = 34,
@@ -5944,7 +5944,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dana[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sienna[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Sienna[] = {
{
.iv = 0,
.lvl = 33,
@@ -5957,7 +5957,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sienna[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Debra[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Debra[] = {
{
.iv = 0,
.lvl = 34,
@@ -5965,7 +5965,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Debra[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Linda[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Linda[] = {
{
.iv = 0,
.lvl = 33,
@@ -5978,7 +5978,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Linda[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kaylee[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Kaylee[] = {
{
.iv = 0,
.lvl = 34,
@@ -5991,7 +5991,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kaylee[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laurel[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Laurel[] = {
{
.iv = 0,
.lvl = 33,
@@ -6004,7 +6004,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laurel[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carlee[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Carlee[] = {
{
.iv = 0,
.lvl = 35,
@@ -6012,7 +6012,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carlee[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jenny2[] = {
{
.iv = 0,
.lvl = 38,
@@ -6020,7 +6020,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jenny3[] = {
{
.iv = 0,
.lvl = 41,
@@ -6028,7 +6028,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jenny4[] = {
{
.iv = 0,
.lvl = 43,
@@ -6041,7 +6041,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jenny5[] = {
{
.iv = 0,
.lvl = 45,
@@ -6059,7 +6059,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Heidi[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Heidi[] = {
{
.iv = 0,
.lvl = 22,
@@ -6074,7 +6074,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Heidi[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Becky[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Becky[] = {
{
.iv = 0,
.lvl = 22,
@@ -6089,7 +6089,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Becky[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carol[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Carol[] = {
{
.iv = 0,
.lvl = 17,
@@ -6102,7 +6102,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carol[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nancy[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nancy[] = {
{
.iv = 0,
.lvl = 18,
@@ -6115,7 +6115,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nancy[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Martha[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Martha[] = {
{
.iv = 0,
.lvl = 23,
@@ -6128,7 +6128,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Martha[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Diana1[] = {
{
.iv = 0,
.lvl = 19,
@@ -6146,7 +6146,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana1[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Cedric[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Cedric[] = {
{
.iv = 0,
.lvl = 32,
@@ -6155,7 +6155,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Cedric[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Irene[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Irene[] = {
{
.iv = 0,
.lvl = 17,
@@ -6168,7 +6168,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Irene[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Diana2[] = {
{
.iv = 10,
.lvl = 25,
@@ -6186,7 +6186,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Diana3[] = {
{
.iv = 20,
.lvl = 28,
@@ -6204,7 +6204,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Diana4[] = {
{
.iv = 30,
.lvl = 31,
@@ -6222,7 +6222,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Diana5[] = {
{
.iv = 40,
.lvl = 40,
@@ -6240,7 +6240,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv1[] = {
{
.iv = 0,
.lvl = 15,
@@ -6253,7 +6253,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv2[] = {
{
.iv = 10,
.lvl = 27,
@@ -6266,7 +6266,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_GinaAndMia1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GinaAndMia1[] = {
{
.iv = 0,
.lvl = 6,
@@ -6279,7 +6279,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GinaAndMia1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_MiuAndYuki[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MiuAndYuki[] = {
{
.iv = 0,
.lvl = 26,
@@ -6292,7 +6292,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_MiuAndYuki[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv3[] = {
{
.iv = 0,
.lvl = 9,
@@ -6305,7 +6305,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv3[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_GinaAndMia2[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_GinaAndMia2[] = {
{
.iv = 0,
.lvl = 10,
@@ -6320,7 +6320,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_GinaAndMia2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv4[] = {
{
.iv = 20,
.lvl = 30,
@@ -6333,7 +6333,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv4[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv5[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv5[] = {
{
.iv = 30,
.lvl = 33,
@@ -6348,7 +6348,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv6[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv6[] = {
{
.iv = 40,
.lvl = 36,
@@ -6363,7 +6363,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv6[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Huey[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Huey[] = {
{
.iv = 10,
.lvl = 12,
@@ -6376,7 +6376,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Huey[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edmond[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Edmond[] = {
{
.iv = 0,
.lvl = 13,
@@ -6384,7 +6384,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edmond[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ernest1[] = {
{
.iv = 0,
.lvl = 33,
@@ -6397,7 +6397,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dwayne[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dwayne[] = {
{
.iv = 0,
.lvl = 11,
@@ -6415,7 +6415,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dwayne[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phillip[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Phillip[] = {
{
.iv = 0,
.lvl = 44,
@@ -6428,7 +6428,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phillip[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonard[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Leonard[] = {
{
.iv = 0,
.lvl = 43,
@@ -6446,7 +6446,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonard[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Duncan[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Duncan[] = {
{
.iv = 0,
.lvl = 25,
@@ -6459,7 +6459,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Duncan[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ernest2[] = {
{
.iv = 10,
.lvl = 36,
@@ -6477,7 +6477,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ernest3[] = {
{
.iv = 20,
.lvl = 39,
@@ -6495,7 +6495,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ernest4[] = {
{
.iv = 30,
.lvl = 42,
@@ -6513,7 +6513,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ernest5[] = {
{
.iv = 40,
.lvl = 45,
@@ -6531,7 +6531,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eli[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Eli[] = {
{
.iv = 100,
.lvl = 23,
@@ -6539,7 +6539,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eli[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Annika[] = {
+static const struct TrainerMonItemCustomMoves sParty_Annika[] = {
{
.iv = 100,
.lvl = 39,
@@ -6556,7 +6556,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Annika[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jazmyn[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jazmyn[] = {
{
.iv = 0,
.lvl = 27,
@@ -6564,7 +6564,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jazmyn[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Jonas[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Jonas[] = {
{
.iv = 0,
.lvl = 31,
@@ -6573,7 +6573,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jonas[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Kayley[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Kayley[] = {
{
.iv = 0,
.lvl = 31,
@@ -6582,7 +6582,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Kayley[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Auron[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Auron[] = {
{
.iv = 0,
.lvl = 33,
@@ -6595,7 +6595,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Auron[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kelvin[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Kelvin[] = {
{
.iv = 150,
.lvl = 33,
@@ -6608,7 +6608,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kelvin[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Marley[] = {
+static const struct TrainerMonItemCustomMoves sParty_Marley[] = {
{
.iv = 255,
.lvl = 34,
@@ -6618,7 +6618,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Marley[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reyna[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Reyna[] = {
{
.iv = 50,
.lvl = 33,
@@ -6631,7 +6631,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reyna[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hudson[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Hudson[] = {
{
.iv = 0,
.lvl = 34,
@@ -6639,7 +6639,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hudson[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Conor[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Conor[] = {
{
.iv = 0,
.lvl = 33,
@@ -6652,7 +6652,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Conor[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Edwin1[] = {
{
.iv = 0,
.lvl = 14,
@@ -6665,7 +6665,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hector[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Hector[] = {
{
.iv = 0,
.lvl = 18,
@@ -6678,7 +6678,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hector[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha1[] = {
{
.iv = 100,
.lvl = 36,
@@ -6696,7 +6696,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Edwin2[] = {
{
.iv = 0,
.lvl = 26,
@@ -6709,7 +6709,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Edwin3[] = {
{
.iv = 0,
.lvl = 29,
@@ -6722,7 +6722,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Edwin4[] = {
{
.iv = 0,
.lvl = 32,
@@ -6735,7 +6735,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Edwin5[] = {
{
.iv = 0,
.lvl = 35,
@@ -6748,7 +6748,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally1[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Wally1[] = {
{
.iv = 150,
.lvl = 44,
@@ -6781,7 +6781,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan1[] = {
{
.iv = 0,
.lvl = 5,
@@ -6789,7 +6789,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan2[] = {
{
.iv = 50,
.lvl = 18,
@@ -6807,7 +6807,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan3[] = {
{
.iv = 100,
.lvl = 29,
@@ -6825,7 +6825,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan4[] = {
{
.iv = 0,
.lvl = 5,
@@ -6833,7 +6833,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan5[] = {
{
.iv = 50,
.lvl = 18,
@@ -6851,7 +6851,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan6[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan6[] = {
{
.iv = 100,
.lvl = 29,
@@ -6869,7 +6869,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan6[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan7[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan7[] = {
{
.iv = 0,
.lvl = 5,
@@ -6877,7 +6877,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan7[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan8[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan8[] = {
{
.iv = 50,
.lvl = 18,
@@ -6895,7 +6895,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan8[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan9[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan9[] = {
{
.iv = 100,
.lvl = 29,
@@ -6913,7 +6913,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan9[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May1[] = {
{
.iv = 0,
.lvl = 5,
@@ -6921,7 +6921,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May2[] = {
{
.iv = 50,
.lvl = 18,
@@ -6939,7 +6939,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May3[] = {
{
.iv = 100,
.lvl = 29,
@@ -6957,7 +6957,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May4[] = {
{
.iv = 0,
.lvl = 5,
@@ -6965,7 +6965,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May5[] = {
{
.iv = 50,
.lvl = 18,
@@ -6983,7 +6983,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May6[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May6[] = {
{
.iv = 100,
.lvl = 29,
@@ -7001,7 +7001,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May6[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May7[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May7[] = {
{
.iv = 0,
.lvl = 5,
@@ -7009,7 +7009,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May7[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May8[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May8[] = {
{
.iv = 50,
.lvl = 18,
@@ -7027,7 +7027,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May8[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May9[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May9[] = {
{
.iv = 100,
.lvl = 29,
@@ -7045,7 +7045,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May9[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Isaac1[] = {
{
.iv = 0,
.lvl = 11,
@@ -7078,7 +7078,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Davis[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Davis[] = {
{
.iv = 0,
.lvl = 27,
@@ -7086,7 +7086,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Davis[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Mitchell[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Mitchell[] = {
{
.iv = 0,
.lvl = 43,
@@ -7101,7 +7101,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Mitchell[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Isaac2[] = {
{
.iv = 10,
.lvl = 22,
@@ -7134,7 +7134,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Isaac3[] = {
{
.iv = 20,
.lvl = 25,
@@ -7167,7 +7167,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Isaac4[] = {
{
.iv = 30,
.lvl = 28,
@@ -7200,7 +7200,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Isaac5[] = {
{
.iv = 40,
.lvl = 31,
@@ -7233,7 +7233,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lydia1[] = {
{
.iv = 0,
.lvl = 11,
@@ -7266,7 +7266,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Halle[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Halle[] = {
{
.iv = 0,
.lvl = 43,
@@ -7279,7 +7279,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Halle[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Garrison[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Garrison[] = {
{
.iv = 0,
.lvl = 26,
@@ -7287,7 +7287,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Garrison[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lydia2[] = {
{
.iv = 10,
.lvl = 22,
@@ -7320,7 +7320,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lydia3[] = {
{
.iv = 20,
.lvl = 25,
@@ -7353,7 +7353,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lydia4[] = {
{
.iv = 30,
.lvl = 28,
@@ -7386,7 +7386,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lydia5[] = {
{
.iv = 40,
.lvl = 31,
@@ -7419,7 +7419,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jackson1[] = {
{
.iv = 50,
.lvl = 27,
@@ -7427,7 +7427,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lorenzo[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lorenzo[] = {
{
.iv = 50,
.lvl = 28,
@@ -7445,7 +7445,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lorenzo[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sebastian[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Sebastian[] = {
{
.iv = 50,
.lvl = 39,
@@ -7453,7 +7453,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sebastian[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jackson2[] = {
{
.iv = 60,
.lvl = 31,
@@ -7461,7 +7461,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jackson3[] = {
{
.iv = 70,
.lvl = 34,
@@ -7469,7 +7469,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jackson4[] = {
{
.iv = 80,
.lvl = 37,
@@ -7477,7 +7477,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jackson5[] = {
{
.iv = 90,
.lvl = 39,
@@ -7490,7 +7490,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Catherine1[] = {
{
.iv = 50,
.lvl = 26,
@@ -7503,7 +7503,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenna[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jenna[] = {
{
.iv = 50,
.lvl = 28,
@@ -7521,7 +7521,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenna[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophia[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Sophia[] = {
{
.iv = 50,
.lvl = 38,
@@ -7534,7 +7534,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophia[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Catherine2[] = {
{
.iv = 60,
.lvl = 30,
@@ -7547,7 +7547,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Catherine3[] = {
{
.iv = 70,
.lvl = 33,
@@ -7560,7 +7560,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Catherine4[] = {
{
.iv = 80,
.lvl = 36,
@@ -7573,7 +7573,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Catherine5[] = {
{
.iv = 90,
.lvl = 39,
@@ -7586,7 +7586,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julio[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Julio[] = {
{
.iv = 0,
.lvl = 21,
@@ -7594,7 +7594,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julio[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt27[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt27[] = {
{
.iv = 50,
.lvl = 35,
@@ -7607,7 +7607,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt27[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt28[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt28[] = {
{
.iv = 0,
.lvl = 31,
@@ -7620,7 +7620,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt28[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt29[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt29[] = {
{
.iv = 0,
.lvl = 30,
@@ -7633,7 +7633,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt29[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt30[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt30[] = {
{
.iv = 50,
.lvl = 22,
@@ -7646,7 +7646,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt30[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marc[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Marc[] = {
{
.iv = 120,
.lvl = 8,
@@ -7659,7 +7659,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marc[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenden[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brenden[] = {
{
.iv = 100,
.lvl = 13,
@@ -7667,7 +7667,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenden[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lilith[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lilith[] = {
{
.iv = 150,
.lvl = 13,
@@ -7675,7 +7675,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lilith[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristian[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cristian[] = {
{
.iv = 200,
.lvl = 13,
@@ -7683,7 +7683,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristian[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sylvia[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Sylvia[] = {
{
.iv = 100,
.lvl = 36,
@@ -7691,7 +7691,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sylvia[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonardo[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Leonardo[] = {
{
.iv = 0,
.lvl = 34,
@@ -7699,7 +7699,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonardo[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Athena[] = {
+static const struct TrainerMonItemCustomMoves sParty_Athena[] = {
{
.iv = 100,
.lvl = 32,
@@ -7716,7 +7716,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Athena[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Harrison[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Harrison[] = {
{
.iv = 0,
.lvl = 35,
@@ -7724,7 +7724,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Harrison[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt31[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt31[] = {
{
.iv = 0,
.lvl = 20,
@@ -7732,7 +7732,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt31[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarence[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Clarence[] = {
{
.iv = 0,
.lvl = 34,
@@ -7740,7 +7740,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarence[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Terry[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Terry[] = {
{
.iv = 0,
.lvl = 37,
@@ -7748,7 +7748,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Terry[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nate[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nate[] = {
{
.iv = 100,
.lvl = 36,
@@ -7756,7 +7756,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nate[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kathleen[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Kathleen[] = {
{
.iv = 100,
.lvl = 36,
@@ -7764,7 +7764,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kathleen[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clifford[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Clifford[] = {
{
.iv = 0,
.lvl = 36,
@@ -7772,7 +7772,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clifford[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicholas[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Nicholas[] = {
{
.iv = 0,
.lvl = 36,
@@ -7780,7 +7780,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicholas[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt32[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt32[] = {
{
.iv = 0,
.lvl = 31,
@@ -7793,7 +7793,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt32[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt33[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt33[] = {
{
.iv = 0,
.lvl = 32,
@@ -7801,7 +7801,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt33[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt34[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt34[] = {
{
.iv = 0,
.lvl = 32,
@@ -7809,7 +7809,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt34[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt35[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt35[] = {
{
.iv = 0,
.lvl = 32,
@@ -7817,7 +7817,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt35[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt36[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt36[] = {
{
.iv = 0,
.lvl = 32,
@@ -7825,7 +7825,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt36[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Macey[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Macey[] = {
{
.iv = 0,
.lvl = 36,
@@ -7833,7 +7833,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Macey[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan10[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan10[] = {
{
.iv = 25,
.lvl = 13,
@@ -7846,7 +7846,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan10[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan11[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan11[] = {
{
.iv = 25,
.lvl = 13,
@@ -7859,7 +7859,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan11[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paxton[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Paxton[] = {
{
.iv = 0,
.lvl = 33,
@@ -7872,7 +7872,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paxton[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabella[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Isabella[] = {
{
.iv = 0,
.lvl = 34,
@@ -7880,7 +7880,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabella[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt37[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt37[] = {
{
.iv = 0,
.lvl = 27,
@@ -7893,7 +7893,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt37[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha2[] = {
{
.iv = 50,
.lvl = 18,
@@ -7916,7 +7916,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonathan[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jonathan[] = {
{
.iv = 0,
.lvl = 33,
@@ -7929,7 +7929,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonathan[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan12[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan12[] = {
{
.iv = 25,
.lvl = 13,
@@ -7942,7 +7942,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan12[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May10[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May10[] = {
{
.iv = 25,
.lvl = 13,
@@ -7955,7 +7955,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May10[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Maxie1[] = {
{
.iv = 150,
.lvl = 37,
@@ -7973,7 +7973,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Maxie2[] = {
{
.iv = 150,
.lvl = 24,
@@ -7991,7 +7991,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiana[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tiana[] = {
{
.iv = 0,
.lvl = 4,
@@ -8004,7 +8004,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiana[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Haley1[] = {
{
.iv = 0,
.lvl = 6,
@@ -8017,7 +8017,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Janice[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Janice[] = {
{
.iv = 0,
.lvl = 9,
@@ -8025,7 +8025,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Janice[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vivi[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Vivi[] = {
{
.iv = 100,
.lvl = 15,
@@ -8043,7 +8043,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vivi[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Haley2[] = {
{
.iv = 10,
.lvl = 26,
@@ -8056,7 +8056,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Haley3[] = {
{
.iv = 20,
.lvl = 29,
@@ -8069,7 +8069,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Haley4[] = {
{
.iv = 30,
.lvl = 32,
@@ -8082,7 +8082,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Haley5[] = {
{
.iv = 40,
.lvl = 34,
@@ -8100,7 +8100,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sally[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Sally[] = {
{
.iv = 0,
.lvl = 16,
@@ -8108,7 +8108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sally[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robin[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Robin[] = {
{
.iv = 0,
.lvl = 14,
@@ -8126,7 +8126,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robin[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrea[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Andrea[] = {
{
.iv = 100,
.lvl = 40,
@@ -8134,7 +8134,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrea[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Crissy[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Crissy[] = {
{
.iv = 100,
.lvl = 39,
@@ -8147,7 +8147,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Crissy[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rick[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Rick[] = {
{
.iv = 0,
.lvl = 4,
@@ -8160,7 +8160,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rick[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lyle[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lyle[] = {
{
.iv = 0,
.lvl = 3,
@@ -8183,7 +8183,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lyle[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jose[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jose[] = {
{
.iv = 50,
.lvl = 8,
@@ -8196,7 +8196,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jose[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Doug[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Doug[] = {
{
.iv = 0,
.lvl = 28,
@@ -8209,7 +8209,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Doug[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greg[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Greg[] = {
{
.iv = 0,
.lvl = 25,
@@ -8222,7 +8222,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greg[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kent[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Kent[] = {
{
.iv = 0,
.lvl = 25,
@@ -8230,7 +8230,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kent[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_James1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_James1[] = {
{
.iv = 0,
.lvl = 6,
@@ -8243,7 +8243,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_James2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_James2[] = {
{
.iv = 10,
.lvl = 27,
@@ -8251,7 +8251,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_James3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_James3[] = {
{
.iv = 20,
.lvl = 29,
@@ -8264,7 +8264,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_James4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_James4[] = {
{
.iv = 30,
.lvl = 31,
@@ -8282,7 +8282,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_James5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_James5[] = {
{
.iv = 40,
.lvl = 33,
@@ -8305,7 +8305,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brice[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brice[] = {
{
.iv = 0,
.lvl = 17,
@@ -8318,7 +8318,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brice[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Trent1[] = {
{
.iv = 0,
.lvl = 16,
@@ -8336,7 +8336,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lenny[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lenny[] = {
{
.iv = 0,
.lvl = 18,
@@ -8349,7 +8349,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lenny[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucas1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lucas1[] = {
{
.iv = 0,
.lvl = 18,
@@ -8362,7 +8362,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucas1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alan[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Alan[] = {
{
.iv = 0,
.lvl = 22,
@@ -8380,7 +8380,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alan[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clark[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Clark[] = {
{
.iv = 0,
.lvl = 8,
@@ -8388,7 +8388,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clark[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eric[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Eric[] = {
{
.iv = 0,
.lvl = 20,
@@ -8401,7 +8401,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eric[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Lucas2[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Lucas2[] = {
{
.iv = 0,
.lvl = 9,
@@ -8410,7 +8410,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lucas2[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Mike1[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Mike1[] = {
{
.iv = 0,
.lvl = 10,
@@ -8425,7 +8425,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Mike1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mike2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Mike2[] = {
{
.iv = 0,
.lvl = 16,
@@ -8443,7 +8443,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mike2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Trent2[] = {
{
.iv = 10,
.lvl = 24,
@@ -8466,7 +8466,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Trent3[] = {
{
.iv = 20,
.lvl = 27,
@@ -8489,7 +8489,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Trent4[] = {
{
.iv = 30,
.lvl = 30,
@@ -8512,7 +8512,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Trent5[] = {
{
.iv = 40,
.lvl = 33,
@@ -8535,7 +8535,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_DezAndLuke[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_DezAndLuke[] = {
{
.iv = 0,
.lvl = 31,
@@ -8548,7 +8548,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_DezAndLuke[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_LeaAndJed[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_LeaAndJed[] = {
{
.iv = 0,
.lvl = 45,
@@ -8561,7 +8561,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LeaAndJed[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan1[] = {
{
.iv = 0,
.lvl = 25,
@@ -8574,7 +8574,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan2[] = {
{
.iv = 10,
.lvl = 30,
@@ -8587,7 +8587,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan3[] = {
{
.iv = 20,
.lvl = 33,
@@ -8600,7 +8600,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan4[] = {
{
.iv = 30,
.lvl = 36,
@@ -8613,7 +8613,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan5[] = {
{
.iv = 40,
.lvl = 39,
@@ -8626,7 +8626,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johanna[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Johanna[] = {
{
.iv = 0,
.lvl = 13,
@@ -8634,7 +8634,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johanna[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Gerald[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Gerald[] = {
{
.iv = 100,
.lvl = 23,
@@ -8643,7 +8643,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Gerald[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Vivian[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Vivian[] = {
{
.iv = 100,
.lvl = 17,
@@ -8658,7 +8658,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Vivian[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Danielle[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Danielle[] = {
{
.iv = 100,
.lvl = 23,
@@ -8667,7 +8667,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Danielle[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Hideo[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Hideo[] = {
{
.iv = 0,
.lvl = 25,
@@ -8682,7 +8682,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Hideo[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Keigo[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Keigo[] = {
{
.iv = 0,
.lvl = 28,
@@ -8697,7 +8697,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Keigo[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Riley[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Riley[] = {
{
.iv = 0,
.lvl = 28,
@@ -8712,7 +8712,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Riley[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Flint[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Flint[] = {
{
.iv = 150,
.lvl = 29,
@@ -8725,7 +8725,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Flint[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ashley[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ashley[] = {
{
.iv = 100,
.lvl = 27,
@@ -8743,7 +8743,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ashley[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wally2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Wally2[] = {
{
.iv = 30,
.lvl = 16,
@@ -8751,7 +8751,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wally2[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally3[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Wally3[] = {
{
.iv = 150,
.lvl = 47,
@@ -8784,7 +8784,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally3[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally4[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Wally4[] = {
{
.iv = 150,
.lvl = 50,
@@ -8817,7 +8817,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally4[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally5[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Wally5[] = {
{
.iv = 150,
.lvl = 53,
@@ -8850,7 +8850,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally5[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally6[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Wally6[] = {
{
.iv = 150,
.lvl = 56,
@@ -8883,7 +8883,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally6[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan13[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan13[] = {
{
.iv = 150,
.lvl = 31,
@@ -8906,7 +8906,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan13[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan14[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan14[] = {
{
.iv = 150,
.lvl = 31,
@@ -8929,7 +8929,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan14[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan15[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan15[] = {
{
.iv = 150,
.lvl = 31,
@@ -8952,7 +8952,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan15[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May11[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May11[] = {
{
.iv = 150,
.lvl = 31,
@@ -8975,7 +8975,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May11[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May12[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May12[] = {
{
.iv = 150,
.lvl = 31,
@@ -8998,7 +8998,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May12[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May13[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May13[] = {
{
.iv = 150,
.lvl = 31,
@@ -9021,7 +9021,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May13[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonah[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jonah[] = {
{
.iv = 0,
.lvl = 30,
@@ -9039,7 +9039,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonah[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Henry[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Henry[] = {
{
.iv = 0,
.lvl = 31,
@@ -9052,7 +9052,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Henry[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roger[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Roger[] = {
{
.iv = 0,
.lvl = 15,
@@ -9070,7 +9070,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roger[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexa[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Alexa[] = {
{
.iv = 100,
.lvl = 34,
@@ -9083,7 +9083,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexa[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ruben[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Ruben[] = {
{
.iv = 100,
.lvl = 34,
@@ -9096,7 +9096,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ruben[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Koji1[] = {
{
.iv = 0,
.lvl = 34,
@@ -9104,7 +9104,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wayne[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Wayne[] = {
{
.iv = 0,
.lvl = 31,
@@ -9122,7 +9122,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wayne[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aidan[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Aidan[] = {
{
.iv = 0,
.lvl = 32,
@@ -9135,7 +9135,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aidan[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reed[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Reed[] = {
{
.iv = 0,
.lvl = 33,
@@ -9148,7 +9148,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reed[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tisha[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tisha[] = {
{
.iv = 0,
.lvl = 34,
@@ -9156,7 +9156,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tisha[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_ToriAndTia[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_ToriAndTia[] = {
{
.iv = 0,
.lvl = 19,
@@ -9169,7 +9169,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_ToriAndTia[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_KimAndIris[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_KimAndIris[] = {
{
.iv = 0,
.lvl = 32,
@@ -9184,7 +9184,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_KimAndIris[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_TyraAndIvy[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_TyraAndIvy[] = {
{
.iv = 0,
.lvl = 18,
@@ -9199,7 +9199,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_TyraAndIvy[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_MelAndPaul[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_MelAndPaul[] = {
{
.iv = 0,
.lvl = 27,
@@ -9214,7 +9214,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_MelAndPaul[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay1[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay1[] = {
{
.iv = 200,
.lvl = 39,
@@ -9229,7 +9229,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay1[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay2[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay2[] = {
{
.iv = 210,
.lvl = 43,
@@ -9244,7 +9244,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay2[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay3[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay3[] = {
{
.iv = 220,
.lvl = 46,
@@ -9259,7 +9259,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay3[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay4[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay4[] = {
{
.iv = 230,
.lvl = 49,
@@ -9274,7 +9274,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay4[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay5[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay5[] = {
{
.iv = 240,
.lvl = 52,
@@ -9289,7 +9289,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_ReliAndIan[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_ReliAndIan[] = {
{
.iv = 0,
.lvl = 35,
@@ -9302,7 +9302,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_ReliAndIan[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy1[] = {
{
.iv = 0,
.lvl = 34,
@@ -9315,7 +9315,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy2[] = {
{
.iv = 0,
.lvl = 42,
@@ -9328,7 +9328,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy3[] = {
{
.iv = 0,
.lvl = 45,
@@ -9341,7 +9341,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy4[] = {
{
.iv = 0,
.lvl = 48,
@@ -9354,7 +9354,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy5[] = {
{
.iv = 0,
.lvl = 51,
@@ -9367,7 +9367,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_LisaAndRay[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_LisaAndRay[] = {
{
.iv = 0,
.lvl = 27,
@@ -9380,7 +9380,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LisaAndRay[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chris[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Chris[] = {
{
.iv = 0,
.lvl = 29,
@@ -9403,7 +9403,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chris[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Dawson[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Dawson[] = {
{
.iv = 0,
.lvl = 8,
@@ -9418,7 +9418,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Dawson[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Sarah[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Sarah[] = {
{
.iv = 0,
.lvl = 8,
@@ -9433,7 +9433,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Sarah[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darian[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Darian[] = {
{
.iv = 0,
.lvl = 9,
@@ -9441,7 +9441,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darian[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hailey[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Hailey[] = {
{
.iv = 0,
.lvl = 13,
@@ -9449,7 +9449,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hailey[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chandler[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Chandler[] = {
{
.iv = 0,
.lvl = 12,
@@ -9462,7 +9462,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chandler[] = {
}
};
-const struct TrainerMonItemDefaultMoves gTrainerParty_Kaleb[] = {
+static const struct TrainerMonItemDefaultMoves sParty_Kaleb[] = {
{
.iv = 0,
.lvl = 14,
@@ -9477,7 +9477,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Kaleb[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joseph[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Joseph[] = {
{
.iv = 0,
.lvl = 14,
@@ -9490,7 +9490,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joseph[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alyssa[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Alyssa[] = {
{
.iv = 0,
.lvl = 15,
@@ -9498,7 +9498,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alyssa[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcos[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Marcos[] = {
{
.iv = 100,
.lvl = 15,
@@ -9506,7 +9506,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcos[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rhett[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Rhett[] = {
{
.iv = 100,
.lvl = 15,
@@ -9514,7 +9514,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rhett[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tyron[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tyron[] = {
{
.iv = 0,
.lvl = 19,
@@ -9522,7 +9522,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tyron[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celina[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Celina[] = {
{
.iv = 0,
.lvl = 18,
@@ -9530,7 +9530,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celina[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bianca[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Bianca[] = {
{
.iv = 0,
.lvl = 18,
@@ -9538,7 +9538,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bianca[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hayden[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Hayden[] = {
{
.iv = 0,
.lvl = 18,
@@ -9546,7 +9546,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hayden[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophie[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Sophie[] = {
{
.iv = 0,
.lvl = 17,
@@ -9559,7 +9559,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophie[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Coby[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Coby[] = {
{
.iv = 0,
.lvl = 17,
@@ -9572,7 +9572,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Coby[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lawrence[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lawrence[] = {
{
.iv = 0,
.lvl = 18,
@@ -9585,7 +9585,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lawrence[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wyatt[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Wyatt[] = {
{
.iv = 0,
.lvl = 18,
@@ -9598,7 +9598,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wyatt[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Angelina[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Angelina[] = {
{
.iv = 0,
.lvl = 18,
@@ -9611,7 +9611,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Angelina[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kai[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Kai[] = {
{
.iv = 0,
.lvl = 19,
@@ -9619,7 +9619,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kai[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlotte[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Charlotte[] = {
{
.iv = 0,
.lvl = 19,
@@ -9627,7 +9627,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlotte[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Deandre[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Deandre[] = {
{
.iv = 0,
.lvl = 14,
@@ -9645,7 +9645,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Deandre[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt38[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt38[] = {
{
.iv = 0,
.lvl = 29,
@@ -9653,7 +9653,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt38[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt39[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt39[] = {
{
.iv = 0,
.lvl = 29,
@@ -9661,7 +9661,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt39[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt40[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt40[] = {
{
.iv = 0,
.lvl = 29,
@@ -9669,7 +9669,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt40[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt41[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt41[] = {
{
.iv = 0,
.lvl = 28,
@@ -9682,7 +9682,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt41[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt42[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt42[] = {
{
.iv = 0,
.lvl = 28,
@@ -9695,7 +9695,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt42[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt43[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt43[] = {
{
.iv = 0,
.lvl = 29,
@@ -9703,7 +9703,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt43[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt44[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt44[] = {
{
.iv = 0,
.lvl = 29,
@@ -9711,7 +9711,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt44[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt45[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt45[] = {
{
.iv = 0,
.lvl = 29,
@@ -9719,7 +9719,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt45[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt46[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt46[] = {
{
.iv = 0,
.lvl = 29,
@@ -9727,7 +9727,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt46[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt47[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt47[] = {
{
.iv = 0,
.lvl = 29,
@@ -9735,7 +9735,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt47[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt48[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt48[] = {
{
.iv = 0,
.lvl = 29,
@@ -9743,7 +9743,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt48[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt49[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt49[] = {
{
.iv = 0,
.lvl = 29,
@@ -9751,7 +9751,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt49[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt50[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt50[] = {
{
.iv = 0,
.lvl = 29,
@@ -9759,7 +9759,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt50[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt51[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt51[] = {
{
.iv = 0,
.lvl = 29,
@@ -9767,7 +9767,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt51[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt52[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt52[] = {
{
.iv = 0,
.lvl = 29,
@@ -9775,7 +9775,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt52[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt53[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Grunt53[] = {
{
.iv = 0,
.lvl = 29,
@@ -9783,7 +9783,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt53[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha3[] = {
{
.iv = 75,
.lvl = 26,
@@ -9806,7 +9806,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darcy[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Darcy[] = {
{
.iv = 0,
.lvl = 33,
@@ -9819,7 +9819,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darcy[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Maxie3[] = {
{
.iv = 150,
.lvl = 42,
@@ -9837,7 +9837,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pete[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Pete[] = {
{
.iv = 0,
.lvl = 15,
@@ -9845,7 +9845,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pete[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabelle[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Isabelle[] = {
{
.iv = 0,
.lvl = 15,
@@ -9853,7 +9853,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabelle[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Andres1[] = {
{
.iv = 50,
.lvl = 25,
@@ -9866,7 +9866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Josue[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Josue[] = {
{
.iv = 50,
.lvl = 25,
@@ -9879,7 +9879,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Josue[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camron[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Camron[] = {
{
.iv = 0,
.lvl = 26,
@@ -9887,7 +9887,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camron[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cory1[] = {
{
.iv = 0,
.lvl = 24,
@@ -9905,7 +9905,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carolina[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Carolina[] = {
{
.iv = 50,
.lvl = 24,
@@ -9923,7 +9923,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carolina[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elijah[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Elijah[] = {
{
.iv = 0,
.lvl = 25,
@@ -9936,7 +9936,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elijah[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celia[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Celia[] = {
{
.iv = 0,
.lvl = 22,
@@ -9949,7 +9949,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celia[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryan[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Bryan[] = {
{
.iv = 0,
.lvl = 22,
@@ -9962,7 +9962,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryan[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Branden[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Branden[] = {
{
.iv = 0,
.lvl = 22,
@@ -9975,7 +9975,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Branden[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryant[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Bryant[] = {
{
.iv = 0,
.lvl = 18,
@@ -9988,7 +9988,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryant[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shayla[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Shayla[] = {
{
.iv = 0,
.lvl = 18,
@@ -10001,7 +10001,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shayla[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyra[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Kyra[] = {
{
.iv = 0,
.lvl = 26,
@@ -10014,7 +10014,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyra[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaiden[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Jaiden[] = {
{
.iv = 0,
.lvl = 26,
@@ -10027,7 +10027,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaiden[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alix[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Alix[] = {
{
.iv = 0,
.lvl = 26,
@@ -10040,7 +10040,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alix[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Helene[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Helene[] = {
{
.iv = 0,
.lvl = 26,
@@ -10053,7 +10053,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Helene[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marlene[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Marlene[] = {
{
.iv = 0,
.lvl = 18,
@@ -10066,7 +10066,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marlene[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Devan[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Devan[] = {
{
.iv = 0,
.lvl = 8,
@@ -10079,7 +10079,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Devan[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johnson[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Johnson[] = {
{
.iv = 0,
.lvl = 8,
@@ -10092,7 +10092,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johnson[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melina[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Melina[] = {
{
.iv = 0,
.lvl = 17,
@@ -10100,7 +10100,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melina[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandi[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brandi[] = {
{
.iv = 0,
.lvl = 17,
@@ -10108,7 +10108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandi[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aisha[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Aisha[] = {
{
.iv = 0,
.lvl = 17,
@@ -10116,7 +10116,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aisha[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Makayla[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Makayla[] = {
{
.iv = 0,
.lvl = 33,
@@ -10129,7 +10129,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Makayla[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fabian[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Fabian[] = {
{
.iv = 0,
.lvl = 26,
@@ -10137,7 +10137,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fabian[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dayton[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Dayton[] = {
{
.iv = 0,
.lvl = 25,
@@ -10150,7 +10150,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dayton[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rachel[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Rachel[] = {
{
.iv = 0,
.lvl = 26,
@@ -10158,7 +10158,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rachel[] = {
}
};
-const struct TrainerMonNoItemCustomMoves gTrainerParty_Leonel[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_Leonel[] = {
{
.iv = 100,
.lvl = 30,
@@ -10167,7 +10167,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Leonel[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Callie[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Callie[] = {
{
.iv = 0,
.lvl = 28,
@@ -10180,7 +10180,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Callie[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cale[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cale[] = {
{
.iv = 0,
.lvl = 29,
@@ -10193,7 +10193,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cale[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Myles[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Myles[] = {
{
.iv = 10,
.lvl = 25,
@@ -10226,7 +10226,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Myles[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pat[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Pat[] = {
{
.iv = 10,
.lvl = 25,
@@ -10259,7 +10259,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pat[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cristin1[] = {
{
.iv = 100,
.lvl = 29,
@@ -10272,7 +10272,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin1[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May14[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May14[] = {
{
.iv = 25,
.lvl = 13,
@@ -10285,7 +10285,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May14[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May15[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May15[] = {
{
.iv = 25,
.lvl = 13,
@@ -10298,7 +10298,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May15[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne2[] = {
+static const struct TrainerMonItemCustomMoves sParty_Roxanne2[] = {
{
.iv = 255,
.lvl = 32,
@@ -10329,7 +10329,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne2[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne3[] = {
+static const struct TrainerMonItemCustomMoves sParty_Roxanne3[] = {
{
.iv = 255,
.lvl = 37,
@@ -10367,7 +10367,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne3[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne4[] = {
+static const struct TrainerMonItemCustomMoves sParty_Roxanne4[] = {
{
.iv = 255,
.lvl = 42,
@@ -10405,7 +10405,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne4[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne5[] = {
+static const struct TrainerMonItemCustomMoves sParty_Roxanne5[] = {
{
.iv = 255,
.lvl = 47,
@@ -10450,7 +10450,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne5[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Brawly2[] = {
+static const struct TrainerMonItemCustomMoves sParty_Brawly2[] = {
{
.iv = 255,
.lvl = 33,
@@ -10481,7 +10481,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly2[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Brawly3[] = {
+static const struct TrainerMonItemCustomMoves sParty_Brawly3[] = {
{
.iv = 255,
.lvl = 38,
@@ -10512,7 +10512,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly3[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Brawly4[] = {
+static const struct TrainerMonItemCustomMoves sParty_Brawly4[] = {
{
.iv = 255,
.lvl = 40,
@@ -10550,7 +10550,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly4[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Brawly5[] = {
+static const struct TrainerMonItemCustomMoves sParty_Brawly5[] = {
{
.iv = 255,
.lvl = 46,
@@ -10595,7 +10595,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly5[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Wattson2[] = {
+static const struct TrainerMonItemCustomMoves sParty_Wattson2[] = {
{
.iv = 255,
.lvl = 36,
@@ -10626,7 +10626,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson2[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Wattson3[] = {
+static const struct TrainerMonItemCustomMoves sParty_Wattson3[] = {
{
.iv = 255,
.lvl = 39,
@@ -10664,7 +10664,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson3[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Wattson4[] = {
+static const struct TrainerMonItemCustomMoves sParty_Wattson4[] = {
{
.iv = 255,
.lvl = 44,
@@ -10702,7 +10702,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson4[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Wattson5[] = {
+static const struct TrainerMonItemCustomMoves sParty_Wattson5[] = {
{
.iv = 255,
.lvl = 50,
@@ -10747,7 +10747,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson5[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Flannery2[] = {
+static const struct TrainerMonItemCustomMoves sParty_Flannery2[] = {
{
.iv = 255,
.lvl = 38,
@@ -10778,7 +10778,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery2[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Flannery3[] = {
+static const struct TrainerMonItemCustomMoves sParty_Flannery3[] = {
{
.iv = 255,
.lvl = 41,
@@ -10816,7 +10816,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery3[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Flannery4[] = {
+static const struct TrainerMonItemCustomMoves sParty_Flannery4[] = {
{
.iv = 255,
.lvl = 46,
@@ -10861,7 +10861,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery4[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Flannery5[] = {
+static const struct TrainerMonItemCustomMoves sParty_Flannery5[] = {
{
.iv = 255,
.lvl = 51,
@@ -10906,7 +10906,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery5[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Norman2[] = {
+static const struct TrainerMonItemCustomMoves sParty_Norman2[] = {
{
.iv = 255,
.lvl = 42,
@@ -10937,7 +10937,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman2[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Norman3[] = {
+static const struct TrainerMonItemCustomMoves sParty_Norman3[] = {
{
.iv = 255,
.lvl = 47,
@@ -10975,7 +10975,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman3[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Norman4[] = {
+static const struct TrainerMonItemCustomMoves sParty_Norman4[] = {
{
.iv = 255,
.lvl = 52,
@@ -11013,7 +11013,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman4[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Norman5[] = {
+static const struct TrainerMonItemCustomMoves sParty_Norman5[] = {
{
.iv = 255,
.lvl = 57,
@@ -11058,7 +11058,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman5[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Winona2[] = {
+static const struct TrainerMonItemCustomMoves sParty_Winona2[] = {
{
.iv = 255,
.lvl = 40,
@@ -11096,7 +11096,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona2[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Winona3[] = {
+static const struct TrainerMonItemCustomMoves sParty_Winona3[] = {
{
.iv = 255,
.lvl = 43,
@@ -11141,7 +11141,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona3[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Winona4[] = {
+static const struct TrainerMonItemCustomMoves sParty_Winona4[] = {
{
.iv = 255,
.lvl = 48,
@@ -11186,7 +11186,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona4[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Winona5[] = {
+static const struct TrainerMonItemCustomMoves sParty_Winona5[] = {
{
.iv = 255,
.lvl = 53,
@@ -11231,7 +11231,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona5[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza2[] = {
+static const struct TrainerMonItemCustomMoves sParty_TateAndLiza2[] = {
{
.iv = 255,
.lvl = 48,
@@ -11269,7 +11269,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza2[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza3[] = {
+static const struct TrainerMonItemCustomMoves sParty_TateAndLiza3[] = {
{
.iv = 255,
.lvl = 53,
@@ -11314,7 +11314,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza3[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza4[] = {
+static const struct TrainerMonItemCustomMoves sParty_TateAndLiza4[] = {
{
.iv = 255,
.lvl = 58,
@@ -11359,7 +11359,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza4[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza5[] = {
+static const struct TrainerMonItemCustomMoves sParty_TateAndLiza5[] = {
{
.iv = 255,
.lvl = 63,
@@ -11404,7 +11404,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza5[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Juan2[] = {
+static const struct TrainerMonItemCustomMoves sParty_Juan2[] = {
{
.iv = 255,
.lvl = 46,
@@ -11442,7 +11442,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan2[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Juan3[] = {
+static const struct TrainerMonItemCustomMoves sParty_Juan3[] = {
{
.iv = 255,
.lvl = 50,
@@ -11480,7 +11480,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan3[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Juan4[] = {
+static const struct TrainerMonItemCustomMoves sParty_Juan4[] = {
{
.iv = 255,
.lvl = 56,
@@ -11525,7 +11525,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan4[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Juan5[] = {
+static const struct TrainerMonItemCustomMoves sParty_Juan5[] = {
{
.iv = 255,
.lvl = 61,
@@ -11570,7 +11570,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan5[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Angelo[] = {
+static const struct TrainerMonItemCustomMoves sParty_Angelo[] = {
{
.iv = 100,
.lvl = 17,
@@ -11587,7 +11587,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Angelo[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darius[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Darius[] = {
{
.iv = 200,
.lvl = 30,
@@ -11595,7 +11595,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darius[] = {
}
};
-const struct TrainerMonItemCustomMoves gTrainerParty_Steven[] = {
+static const struct TrainerMonItemCustomMoves sParty_Steven[] = {
{
.iv = 255,
.lvl = 77,
@@ -11640,7 +11640,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Steven[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anabel[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Anabel[] = {
{
.iv = 0,
.lvl = 5,
@@ -11648,7 +11648,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anabel[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tucker[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Tucker[] = {
{
.iv = 0,
.lvl = 5,
@@ -11656,7 +11656,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tucker[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spenser[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Spenser[] = {
{
.iv = 0,
.lvl = 5,
@@ -11664,7 +11664,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spenser[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greta[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Greta[] = {
{
.iv = 0,
.lvl = 5,
@@ -11672,7 +11672,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greta[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Noland[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Noland[] = {
{
.iv = 0,
.lvl = 5,
@@ -11680,7 +11680,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Noland[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucy[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Lucy[] = {
{
.iv = 0,
.lvl = 5,
@@ -11688,7 +11688,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucy[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandon[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brandon[] = {
{
.iv = 0,
.lvl = 5,
@@ -11696,7 +11696,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandon[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Andres2[] = {
{
.iv = 10,
.lvl = 31,
@@ -11709,7 +11709,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Andres3[] = {
{
.iv = 20,
.lvl = 33,
@@ -11727,7 +11727,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Andres4[] = {
{
.iv = 30,
.lvl = 35,
@@ -11745,7 +11745,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Andres5[] = {
{
.iv = 40,
.lvl = 37,
@@ -11763,7 +11763,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cory2[] = {
{
.iv = 10,
.lvl = 30,
@@ -11781,7 +11781,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cory3[] = {
{
.iv = 20,
.lvl = 32,
@@ -11799,7 +11799,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cory4[] = {
{
.iv = 30,
.lvl = 34,
@@ -11817,7 +11817,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cory5[] = {
{
.iv = 40,
.lvl = 36,
@@ -11835,7 +11835,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Pablo2[] = {
{
.iv = 10,
.lvl = 37,
@@ -11848,7 +11848,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Pablo3[] = {
{
.iv = 20,
.lvl = 39,
@@ -11866,7 +11866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Pablo4[] = {
{
.iv = 30,
.lvl = 41,
@@ -11884,7 +11884,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Pablo5[] = {
{
.iv = 40,
.lvl = 43,
@@ -11902,7 +11902,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Koji2[] = {
{
.iv = 10,
.lvl = 37,
@@ -11915,7 +11915,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Koji3[] = {
{
.iv = 20,
.lvl = 39,
@@ -11933,7 +11933,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Koji4[] = {
{
.iv = 30,
.lvl = 41,
@@ -11951,7 +11951,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Koji5[] = {
{
.iv = 40,
.lvl = 43,
@@ -11969,7 +11969,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cristin2[] = {
{
.iv = 110,
.lvl = 35,
@@ -11982,7 +11982,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cristin3[] = {
{
.iv = 120,
.lvl = 37,
@@ -12000,7 +12000,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cristin4[] = {
{
.iv = 130,
.lvl = 39,
@@ -12018,7 +12018,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Cristin5[] = {
{
.iv = 140,
.lvl = 41,
@@ -12036,7 +12036,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Fernando2[] = {
{
.iv = 10,
.lvl = 35,
@@ -12054,7 +12054,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Fernando3[] = {
{
.iv = 20,
.lvl = 37,
@@ -12072,7 +12072,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Fernando4[] = {
{
.iv = 30,
.lvl = 39,
@@ -12090,7 +12090,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Fernando5[] = {
{
.iv = 40,
.lvl = 41,
@@ -12108,7 +12108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer2[] = {
{
.iv = 10,
.lvl = 26,
@@ -12121,7 +12121,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer3[] = {
{
.iv = 20,
.lvl = 28,
@@ -12139,7 +12139,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer4[] = {
{
.iv = 30,
.lvl = 30,
@@ -12157,7 +12157,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer5[] = {
{
.iv = 40,
.lvl = 33,
@@ -12175,7 +12175,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle2[] = {
{
.iv = 10,
.lvl = 31,
@@ -12208,7 +12208,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle3[] = {
{
.iv = 20,
.lvl = 33,
@@ -12241,7 +12241,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle4[] = {
{
.iv = 30,
.lvl = 35,
@@ -12274,7 +12274,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle5[] = {
{
.iv = 40,
.lvl = 37,
@@ -12307,7 +12307,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Thalia2[] = {
{
.iv = 10,
.lvl = 34,
@@ -12320,7 +12320,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia2[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Thalia3[] = {
{
.iv = 20,
.lvl = 36,
@@ -12338,7 +12338,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia3[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Thalia4[] = {
{
.iv = 30,
.lvl = 38,
@@ -12356,7 +12356,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia4[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Thalia5[] = {
{
.iv = 40,
.lvl = 40,
@@ -12374,7 +12374,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia5[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mariela[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Mariela[] = {
{
.iv = 0,
.lvl = 41,
@@ -12382,7 +12382,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mariela[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alvaro[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Alvaro[] = {
{
.iv = 0,
.lvl = 41,
@@ -12395,7 +12395,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alvaro[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Everett[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Everett[] = {
{
.iv = 0,
.lvl = 41,
@@ -12403,7 +12403,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Everett[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Red[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Red[] = {
{
.iv = 0,
.lvl = 5,
@@ -12411,7 +12411,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Red[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leaf[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Leaf[] = {
{
.iv = 0,
.lvl = 5,
@@ -12419,7 +12419,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leaf[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan16[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_Brendan16[] = {
{
.iv = 0,
.lvl = 5,
@@ -12427,7 +12427,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan16[] = {
}
};
-const struct TrainerMonNoItemDefaultMoves gTrainerParty_May16[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_May16[] = {
{
.iv = 0,
.lvl = 5,
diff --git a/src/data/trainers.h b/src/data/trainers.h
index 7ec297eb3..5a92926cc 100644
--- a/src/data/trainers.h
+++ b/src/data/trainers.h
@@ -24,7 +24,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer1 }
+ .party = {.NoItemDefaultMoves = sParty_Sawyer1 }
},
[TRAINER_GRUNT_1] =
@@ -38,7 +38,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt1 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt1 }
},
[TRAINER_GRUNT_2] =
@@ -52,7 +52,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt2 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt2 }
},
[TRAINER_GRUNT_3] =
@@ -66,7 +66,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt3 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt3 }
},
[TRAINER_GRUNT_4] =
@@ -80,7 +80,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt4 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt4 }
},
[TRAINER_GRUNT_5] =
@@ -94,7 +94,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt5 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt5 }
},
[TRAINER_GRUNT_6] =
@@ -108,7 +108,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt6 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt6 }
},
[TRAINER_GRUNT_7] =
@@ -122,7 +122,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt7 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt7 }
},
[TRAINER_GABRIELLE_1] =
@@ -136,7 +136,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle1 }
+ .party = {.NoItemDefaultMoves = sParty_Gabrielle1 }
},
[TRAINER_GRUNT_8] =
@@ -150,7 +150,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt8 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt8 }
},
[TRAINER_MARCEL] =
@@ -164,7 +164,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Marcel }
+ .party = {.NoItemDefaultMoves = sParty_Marcel }
},
[TRAINER_ALBERTO] =
@@ -178,7 +178,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Alberto }
+ .party = {.NoItemDefaultMoves = sParty_Alberto }
},
[TRAINER_ED] =
@@ -192,7 +192,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ed }
+ .party = {.NoItemDefaultMoves = sParty_Ed }
},
[TRAINER_GRUNT_9] =
@@ -206,7 +206,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt9 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt9 }
},
[TRAINER_DECLAN] =
@@ -220,7 +220,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Declan }
+ .party = {.NoItemDefaultMoves = sParty_Declan }
},
[TRAINER_GRUNT_10] =
@@ -234,7 +234,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt10 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt10 }
},
[TRAINER_GRUNT_11] =
@@ -248,7 +248,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt11 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt11 }
},
[TRAINER_GRUNT_12] =
@@ -262,7 +262,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt12 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt12 }
},
[TRAINER_GRUNT_13] =
@@ -276,7 +276,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt13 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt13 }
},
[TRAINER_GRUNT_14] =
@@ -290,7 +290,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt14 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt14 }
},
[TRAINER_GRUNT_15] =
@@ -304,7 +304,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt15 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt15 }
},
[TRAINER_GRUNT_16] =
@@ -318,7 +318,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt16 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt16 }
},
[TRAINER_GRUNT_17] =
@@ -332,7 +332,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt17 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt17 }
},
[TRAINER_GRUNT_18] =
@@ -346,7 +346,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt18 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt18 }
},
[TRAINER_GRUNT_19] =
@@ -360,7 +360,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt19 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt19 }
},
[TRAINER_GRUNT_20] =
@@ -374,7 +374,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt20 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt20 }
},
[TRAINER_GRUNT_21] =
@@ -388,7 +388,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt21 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt21 }
},
[TRAINER_GRUNT_22] =
@@ -402,7 +402,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt22 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt22 }
},
[TRAINER_FREDRICK] =
@@ -416,7 +416,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Fredrick }
+ .party = {.NoItemDefaultMoves = sParty_Fredrick }
},
[TRAINER_MATT] =
@@ -430,7 +430,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Matt }
+ .party = {.NoItemDefaultMoves = sParty_Matt }
},
[TRAINER_ZANDER] =
@@ -444,7 +444,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Zander }
+ .party = {.NoItemDefaultMoves = sParty_Zander }
},
[TRAINER_SHELLY_1] =
@@ -458,7 +458,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Shelly1 }
+ .party = {.NoItemDefaultMoves = sParty_Shelly1 }
},
[TRAINER_SHELLY_2] =
@@ -472,7 +472,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Shelly2 }
+ .party = {.NoItemDefaultMoves = sParty_Shelly2 }
},
[TRAINER_ARCHIE] =
@@ -486,7 +486,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Archie }
+ .party = {.NoItemDefaultMoves = sParty_Archie }
},
[TRAINER_LEAH] =
@@ -500,7 +500,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Leah }
+ .party = {.NoItemDefaultMoves = sParty_Leah }
},
[TRAINER_DAISY] =
@@ -514,7 +514,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Daisy }
+ .party = {.NoItemDefaultMoves = sParty_Daisy }
},
[TRAINER_ROSE_1] =
@@ -528,7 +528,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Rose1 }
+ .party = {.NoItemDefaultMoves = sParty_Rose1 }
},
[TRAINER_FELIX] =
@@ -542,7 +542,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Felix }
+ .party = {.NoItemCustomMoves = sParty_Felix }
},
[TRAINER_VIOLET] =
@@ -556,7 +556,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Violet }
+ .party = {.NoItemDefaultMoves = sParty_Violet }
},
[TRAINER_ROSE_2] =
@@ -570,7 +570,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Rose2 }
+ .party = {.NoItemDefaultMoves = sParty_Rose2 }
},
[TRAINER_ROSE_3] =
@@ -584,7 +584,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Rose3 }
+ .party = {.NoItemDefaultMoves = sParty_Rose3 }
},
[TRAINER_ROSE_4] =
@@ -598,7 +598,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Rose4 }
+ .party = {.NoItemDefaultMoves = sParty_Rose4 }
},
[TRAINER_ROSE_5] =
@@ -612,7 +612,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Rose5 }
+ .party = {.NoItemDefaultMoves = sParty_Rose5 }
},
[TRAINER_DUSTY_1] =
@@ -626,7 +626,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Dusty1 }
+ .party = {.NoItemCustomMoves = sParty_Dusty1 }
},
[TRAINER_CHIP] =
@@ -640,7 +640,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemCustomMoves = gTrainerParty_Chip }
+ .party = {.NoItemCustomMoves = sParty_Chip }
},
[TRAINER_FOSTER] =
@@ -654,7 +654,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Foster }
+ .party = {.NoItemCustomMoves = sParty_Foster }
},
[TRAINER_DUSTY_2] =
@@ -668,7 +668,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Dusty2 }
+ .party = {.NoItemCustomMoves = sParty_Dusty2 }
},
[TRAINER_DUSTY_3] =
@@ -682,7 +682,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Dusty3 }
+ .party = {.NoItemCustomMoves = sParty_Dusty3 }
},
[TRAINER_DUSTY_4] =
@@ -696,7 +696,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Dusty4 }
+ .party = {.NoItemCustomMoves = sParty_Dusty4 }
},
[TRAINER_DUSTY_5] =
@@ -710,7 +710,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Dusty5 }
+ .party = {.NoItemCustomMoves = sParty_Dusty5 }
},
[TRAINER_GABBY_AND_TY_1] =
@@ -724,7 +724,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy1 }
+ .party = {.NoItemDefaultMoves = sParty_GabbyAndTy1 }
},
[TRAINER_GABBY_AND_TY_2] =
@@ -738,7 +738,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy2 }
+ .party = {.NoItemDefaultMoves = sParty_GabbyAndTy2 }
},
[TRAINER_GABBY_AND_TY_3] =
@@ -752,7 +752,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy3 }
+ .party = {.NoItemDefaultMoves = sParty_GabbyAndTy3 }
},
[TRAINER_GABBY_AND_TY_4] =
@@ -766,7 +766,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy4 }
+ .party = {.NoItemDefaultMoves = sParty_GabbyAndTy4 }
},
[TRAINER_GABBY_AND_TY_5] =
@@ -780,7 +780,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy5 }
+ .party = {.NoItemDefaultMoves = sParty_GabbyAndTy5 }
},
[TRAINER_GABBY_AND_TY_6] =
@@ -794,7 +794,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_GabbyAndTy6 }
+ .party = {.NoItemCustomMoves = sParty_GabbyAndTy6 }
},
[TRAINER_LOLA_1] =
@@ -808,7 +808,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lola1 }
+ .party = {.NoItemDefaultMoves = sParty_Lola1 }
},
[TRAINER_AUSTINA] =
@@ -822,7 +822,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Austina }
+ .party = {.NoItemDefaultMoves = sParty_Austina }
},
[TRAINER_GWEN] =
@@ -836,7 +836,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Gwen }
+ .party = {.NoItemDefaultMoves = sParty_Gwen }
},
[TRAINER_LOLA_2] =
@@ -850,7 +850,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lola2 }
+ .party = {.NoItemDefaultMoves = sParty_Lola2 }
},
[TRAINER_LOLA_3] =
@@ -864,7 +864,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lola3 }
+ .party = {.NoItemDefaultMoves = sParty_Lola3 }
},
[TRAINER_LOLA_4] =
@@ -878,7 +878,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lola4 }
+ .party = {.NoItemDefaultMoves = sParty_Lola4 }
},
[TRAINER_LOLA_5] =
@@ -892,7 +892,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lola5 }
+ .party = {.NoItemDefaultMoves = sParty_Lola5 }
},
[TRAINER_RICKY_1] =
@@ -906,7 +906,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Ricky1 }
+ .party = {.NoItemCustomMoves = sParty_Ricky1 }
},
[TRAINER_SIMON] =
@@ -920,7 +920,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Simon }
+ .party = {.NoItemDefaultMoves = sParty_Simon }
},
[TRAINER_CHARLIE] =
@@ -934,7 +934,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Charlie }
+ .party = {.NoItemDefaultMoves = sParty_Charlie }
},
[TRAINER_RICKY_2] =
@@ -948,7 +948,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Ricky2 }
+ .party = {.NoItemCustomMoves = sParty_Ricky2 }
},
[TRAINER_RICKY_3] =
@@ -962,7 +962,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Ricky3 }
+ .party = {.NoItemCustomMoves = sParty_Ricky3 }
},
[TRAINER_RICKY_4] =
@@ -976,7 +976,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Ricky4 }
+ .party = {.NoItemCustomMoves = sParty_Ricky4 }
},
[TRAINER_RICKY_5] =
@@ -990,7 +990,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Ricky5 }
+ .party = {.NoItemCustomMoves = sParty_Ricky5 }
},
[TRAINER_RANDALL] =
@@ -1004,7 +1004,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.ItemCustomMoves = gTrainerParty_Randall }
+ .party = {.ItemCustomMoves = sParty_Randall }
},
[TRAINER_PARKER] =
@@ -1018,7 +1018,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.ItemCustomMoves = gTrainerParty_Parker }
+ .party = {.ItemCustomMoves = sParty_Parker }
},
[TRAINER_GEORGE] =
@@ -1032,7 +1032,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.ItemCustomMoves = gTrainerParty_George }
+ .party = {.ItemCustomMoves = sParty_George }
},
[TRAINER_BERKE] =
@@ -1046,7 +1046,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.ItemCustomMoves = gTrainerParty_Berke }
+ .party = {.ItemCustomMoves = sParty_Berke }
},
[TRAINER_BRAXTON] =
@@ -1060,7 +1060,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.NoItemCustomMoves = gTrainerParty_Braxton }
+ .party = {.NoItemCustomMoves = sParty_Braxton }
},
[TRAINER_VINCENT] =
@@ -1074,7 +1074,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Vincent }
+ .party = {.NoItemDefaultMoves = sParty_Vincent }
},
[TRAINER_LEROY] =
@@ -1088,7 +1088,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Leroy }
+ .party = {.NoItemDefaultMoves = sParty_Leroy }
},
[TRAINER_WILTON_1] =
@@ -1102,7 +1102,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Wilton1 }
+ .party = {.NoItemDefaultMoves = sParty_Wilton1 }
},
[TRAINER_EDGAR] =
@@ -1116,7 +1116,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Edgar }
+ .party = {.NoItemDefaultMoves = sParty_Edgar }
},
[TRAINER_ALBERT] =
@@ -1130,7 +1130,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Albert }
+ .party = {.NoItemDefaultMoves = sParty_Albert }
},
[TRAINER_SAMUEL] =
@@ -1144,7 +1144,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Samuel }
+ .party = {.NoItemDefaultMoves = sParty_Samuel }
},
[TRAINER_VITO] =
@@ -1158,7 +1158,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Vito }
+ .party = {.NoItemDefaultMoves = sParty_Vito }
},
[TRAINER_OWEN] =
@@ -1172,7 +1172,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Owen }
+ .party = {.NoItemDefaultMoves = sParty_Owen }
},
[TRAINER_WILTON_2] =
@@ -1186,7 +1186,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Wilton2 }
+ .party = {.NoItemDefaultMoves = sParty_Wilton2 }
},
[TRAINER_WILTON_3] =
@@ -1200,7 +1200,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Wilton3 }
+ .party = {.NoItemDefaultMoves = sParty_Wilton3 }
},
[TRAINER_WILTON_4] =
@@ -1214,7 +1214,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Wilton4 }
+ .party = {.NoItemDefaultMoves = sParty_Wilton4 }
},
[TRAINER_WILTON_5] =
@@ -1228,7 +1228,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Wilton5 }
+ .party = {.NoItemDefaultMoves = sParty_Wilton5 }
},
[TRAINER_WARREN] =
@@ -1242,7 +1242,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Warren }
+ .party = {.NoItemDefaultMoves = sParty_Warren }
},
[TRAINER_MARY] =
@@ -1256,7 +1256,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.ItemCustomMoves = gTrainerParty_Mary }
+ .party = {.ItemCustomMoves = sParty_Mary }
},
[TRAINER_ALEXIA] =
@@ -1270,7 +1270,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.ItemCustomMoves = gTrainerParty_Alexia }
+ .party = {.ItemCustomMoves = sParty_Alexia }
},
[TRAINER_JODY] =
@@ -1284,7 +1284,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 1,
- .party = {.ItemCustomMoves = gTrainerParty_Jody }
+ .party = {.ItemCustomMoves = sParty_Jody }
},
[TRAINER_WENDY] =
@@ -1298,7 +1298,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 3,
- .party = {.NoItemCustomMoves = gTrainerParty_Wendy }
+ .party = {.NoItemCustomMoves = sParty_Wendy }
},
[TRAINER_KEIRA] =
@@ -1312,7 +1312,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Keira }
+ .party = {.NoItemDefaultMoves = sParty_Keira }
},
[TRAINER_BROOKE_1] =
@@ -1326,7 +1326,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brooke1 }
+ .party = {.NoItemDefaultMoves = sParty_Brooke1 }
},
[TRAINER_JENNIFER] =
@@ -1340,7 +1340,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jennifer }
+ .party = {.NoItemDefaultMoves = sParty_Jennifer }
},
[TRAINER_HOPE] =
@@ -1354,7 +1354,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Hope }
+ .party = {.NoItemDefaultMoves = sParty_Hope }
},
[TRAINER_SHANNON] =
@@ -1368,7 +1368,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Shannon }
+ .party = {.NoItemDefaultMoves = sParty_Shannon }
},
[TRAINER_MICHELLE] =
@@ -1382,7 +1382,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Michelle }
+ .party = {.NoItemDefaultMoves = sParty_Michelle }
},
[TRAINER_CAROLINE] =
@@ -1396,7 +1396,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Caroline }
+ .party = {.NoItemDefaultMoves = sParty_Caroline }
},
[TRAINER_JULIE] =
@@ -1410,7 +1410,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Julie }
+ .party = {.NoItemDefaultMoves = sParty_Julie }
},
[TRAINER_BROOKE_2] =
@@ -1424,7 +1424,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brooke2 }
+ .party = {.NoItemDefaultMoves = sParty_Brooke2 }
},
[TRAINER_BROOKE_3] =
@@ -1438,7 +1438,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brooke3 }
+ .party = {.NoItemDefaultMoves = sParty_Brooke3 }
},
[TRAINER_BROOKE_4] =
@@ -1452,7 +1452,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brooke4 }
+ .party = {.NoItemDefaultMoves = sParty_Brooke4 }
},
[TRAINER_BROOKE_5] =
@@ -1466,7 +1466,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brooke5 }
+ .party = {.NoItemDefaultMoves = sParty_Brooke5 }
},
[TRAINER_PATRICIA] =
@@ -1480,7 +1480,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Patricia }
+ .party = {.NoItemDefaultMoves = sParty_Patricia }
},
[TRAINER_KINDRA] =
@@ -1494,7 +1494,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Kindra }
+ .party = {.NoItemDefaultMoves = sParty_Kindra }
},
[TRAINER_TAMMY] =
@@ -1508,7 +1508,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tammy }
+ .party = {.NoItemDefaultMoves = sParty_Tammy }
},
[TRAINER_VALERIE_1] =
@@ -1522,7 +1522,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Valerie1 }
+ .party = {.NoItemDefaultMoves = sParty_Valerie1 }
},
[TRAINER_TASHA] =
@@ -1536,7 +1536,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tasha }
+ .party = {.NoItemDefaultMoves = sParty_Tasha }
},
[TRAINER_VALERIE_2] =
@@ -1550,7 +1550,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Valerie2 }
+ .party = {.NoItemDefaultMoves = sParty_Valerie2 }
},
[TRAINER_VALERIE_3] =
@@ -1564,7 +1564,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Valerie3 }
+ .party = {.NoItemDefaultMoves = sParty_Valerie3 }
},
[TRAINER_VALERIE_4] =
@@ -1578,7 +1578,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Valerie4 }
+ .party = {.NoItemDefaultMoves = sParty_Valerie4 }
},
[TRAINER_VALERIE_5] =
@@ -1592,7 +1592,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Valerie5 }
+ .party = {.NoItemDefaultMoves = sParty_Valerie5 }
},
[TRAINER_CINDY_1] =
@@ -1606,7 +1606,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Cindy1 }
+ .party = {.ItemDefaultMoves = sParty_Cindy1 }
},
[TRAINER_DAPHNE] =
@@ -1620,7 +1620,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.ItemCustomMoves = gTrainerParty_Daphne }
+ .party = {.ItemCustomMoves = sParty_Daphne }
},
[TRAINER_GRUNT_23] =
@@ -1634,7 +1634,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt23 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt23 }
},
[TRAINER_CINDY_2] =
@@ -1648,7 +1648,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemCustomMoves = gTrainerParty_Cindy2 }
+ .party = {.ItemCustomMoves = sParty_Cindy2 }
},
[TRAINER_BRIANNA] =
@@ -1662,7 +1662,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Brianna }
+ .party = {.ItemDefaultMoves = sParty_Brianna }
},
[TRAINER_NAOMI] =
@@ -1676,7 +1676,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Naomi }
+ .party = {.ItemDefaultMoves = sParty_Naomi }
},
[TRAINER_CINDY_3] =
@@ -1690,7 +1690,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Cindy3 }
+ .party = {.ItemDefaultMoves = sParty_Cindy3 }
},
[TRAINER_CINDY_4] =
@@ -1704,7 +1704,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Cindy4 }
+ .party = {.ItemDefaultMoves = sParty_Cindy4 }
},
[TRAINER_CINDY_5] =
@@ -1718,7 +1718,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Cindy5 }
+ .party = {.ItemDefaultMoves = sParty_Cindy5 }
},
[TRAINER_CINDY_6] =
@@ -1732,7 +1732,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemCustomMoves = gTrainerParty_Cindy6 }
+ .party = {.ItemCustomMoves = sParty_Cindy6 }
},
[TRAINER_MELISSA] =
@@ -1746,7 +1746,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Melissa }
+ .party = {.NoItemDefaultMoves = sParty_Melissa }
},
[TRAINER_SHEILA] =
@@ -1760,7 +1760,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Sheila }
+ .party = {.NoItemDefaultMoves = sParty_Sheila }
},
[TRAINER_SHIRLEY] =
@@ -1774,7 +1774,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Shirley }
+ .party = {.NoItemDefaultMoves = sParty_Shirley }
},
[TRAINER_JESSICA_1] =
@@ -1788,7 +1788,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Jessica1 }
+ .party = {.NoItemCustomMoves = sParty_Jessica1 }
},
[TRAINER_CONNIE] =
@@ -1802,7 +1802,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Connie }
+ .party = {.NoItemDefaultMoves = sParty_Connie }
},
[TRAINER_BRIDGET] =
@@ -1816,7 +1816,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Bridget }
+ .party = {.NoItemDefaultMoves = sParty_Bridget }
},
[TRAINER_OLIVIA] =
@@ -1830,7 +1830,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemCustomMoves = gTrainerParty_Olivia }
+ .party = {.NoItemCustomMoves = sParty_Olivia }
},
[TRAINER_TIFFANY] =
@@ -1844,7 +1844,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tiffany }
+ .party = {.NoItemDefaultMoves = sParty_Tiffany }
},
[TRAINER_JESSICA_2] =
@@ -1858,7 +1858,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Jessica2 }
+ .party = {.NoItemCustomMoves = sParty_Jessica2 }
},
[TRAINER_JESSICA_3] =
@@ -1872,7 +1872,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Jessica3 }
+ .party = {.NoItemCustomMoves = sParty_Jessica3 }
},
[TRAINER_JESSICA_4] =
@@ -1886,7 +1886,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Jessica4 }
+ .party = {.NoItemCustomMoves = sParty_Jessica4 }
},
[TRAINER_JESSICA_5] =
@@ -1900,7 +1900,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Jessica5 }
+ .party = {.NoItemCustomMoves = sParty_Jessica5 }
},
[TRAINER_WINSTON_1] =
@@ -1914,7 +1914,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Winston1 }
+ .party = {.ItemDefaultMoves = sParty_Winston1 }
},
[TRAINER_MOLLIE] =
@@ -1928,7 +1928,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Mollie }
+ .party = {.NoItemDefaultMoves = sParty_Mollie }
},
[TRAINER_GARRET] =
@@ -1942,7 +1942,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Garret }
+ .party = {.ItemDefaultMoves = sParty_Garret }
},
[TRAINER_WINSTON_2] =
@@ -1956,7 +1956,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Winston2 }
+ .party = {.ItemDefaultMoves = sParty_Winston2 }
},
[TRAINER_WINSTON_3] =
@@ -1970,7 +1970,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Winston3 }
+ .party = {.ItemDefaultMoves = sParty_Winston3 }
},
[TRAINER_WINSTON_4] =
@@ -1984,7 +1984,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Winston4 }
+ .party = {.ItemDefaultMoves = sParty_Winston4 }
},
[TRAINER_WINSTON_5] =
@@ -1998,7 +1998,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemCustomMoves = gTrainerParty_Winston5 }
+ .party = {.ItemCustomMoves = sParty_Winston5 }
},
[TRAINER_STEVE_1] =
@@ -2012,7 +2012,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Steve1 }
+ .party = {.NoItemDefaultMoves = sParty_Steve1 }
},
[TRAINER_THALIA_1] =
@@ -2026,7 +2026,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Thalia1 }
+ .party = {.NoItemDefaultMoves = sParty_Thalia1 }
},
[TRAINER_MARK] =
@@ -2040,7 +2040,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Mark }
+ .party = {.NoItemDefaultMoves = sParty_Mark }
},
[TRAINER_GRUNT_24] =
@@ -2054,7 +2054,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt24 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt24 }
},
[TRAINER_STEVE_2] =
@@ -2068,7 +2068,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Steve2 }
+ .party = {.NoItemDefaultMoves = sParty_Steve2 }
},
[TRAINER_STEVE_3] =
@@ -2082,7 +2082,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Steve3 }
+ .party = {.NoItemDefaultMoves = sParty_Steve3 }
},
[TRAINER_STEVE_4] =
@@ -2096,7 +2096,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Steve4 }
+ .party = {.NoItemDefaultMoves = sParty_Steve4 }
},
[TRAINER_STEVE_5] =
@@ -2110,7 +2110,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Steve5 }
+ .party = {.NoItemDefaultMoves = sParty_Steve5 }
},
[TRAINER_LUIS] =
@@ -2124,7 +2124,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Luis }
+ .party = {.NoItemDefaultMoves = sParty_Luis }
},
[TRAINER_DOMINIK] =
@@ -2138,7 +2138,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dominik }
+ .party = {.NoItemDefaultMoves = sParty_Dominik }
},
[TRAINER_DOUGLAS] =
@@ -2152,7 +2152,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Douglas }
+ .party = {.NoItemDefaultMoves = sParty_Douglas }
},
[TRAINER_DARRIN] =
@@ -2166,7 +2166,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Darrin }
+ .party = {.NoItemDefaultMoves = sParty_Darrin }
},
[TRAINER_TONY_1] =
@@ -2180,7 +2180,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tony1 }
+ .party = {.NoItemDefaultMoves = sParty_Tony1 }
},
[TRAINER_JEROME] =
@@ -2194,7 +2194,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jerome }
+ .party = {.NoItemDefaultMoves = sParty_Jerome }
},
[TRAINER_MATTHEW] =
@@ -2208,7 +2208,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Matthew }
+ .party = {.NoItemDefaultMoves = sParty_Matthew }
},
[TRAINER_DAVID] =
@@ -2222,7 +2222,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_David }
+ .party = {.NoItemDefaultMoves = sParty_David }
},
[TRAINER_SPENCER] =
@@ -2236,7 +2236,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Spencer }
+ .party = {.NoItemDefaultMoves = sParty_Spencer }
},
[TRAINER_ROLAND] =
@@ -2250,7 +2250,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Roland }
+ .party = {.NoItemDefaultMoves = sParty_Roland }
},
[TRAINER_NOLEN] =
@@ -2264,7 +2264,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nolen }
+ .party = {.NoItemDefaultMoves = sParty_Nolen }
},
[TRAINER_STAN] =
@@ -2278,7 +2278,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Stan }
+ .party = {.NoItemDefaultMoves = sParty_Stan }
},
[TRAINER_BARRY] =
@@ -2292,7 +2292,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Barry }
+ .party = {.NoItemDefaultMoves = sParty_Barry }
},
[TRAINER_DEAN] =
@@ -2306,7 +2306,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dean }
+ .party = {.NoItemDefaultMoves = sParty_Dean }
},
[TRAINER_RODNEY] =
@@ -2320,7 +2320,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Rodney }
+ .party = {.NoItemDefaultMoves = sParty_Rodney }
},
[TRAINER_RICHARD] =
@@ -2334,7 +2334,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Richard }
+ .party = {.NoItemDefaultMoves = sParty_Richard }
},
[TRAINER_HERMAN] =
@@ -2348,7 +2348,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Herman }
+ .party = {.NoItemDefaultMoves = sParty_Herman }
},
[TRAINER_SANTIAGO] =
@@ -2362,7 +2362,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Santiago }
+ .party = {.NoItemDefaultMoves = sParty_Santiago }
},
[TRAINER_GILBERT] =
@@ -2376,7 +2376,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Gilbert }
+ .party = {.NoItemDefaultMoves = sParty_Gilbert }
},
[TRAINER_FRANKLIN] =
@@ -2390,7 +2390,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Franklin }
+ .party = {.NoItemDefaultMoves = sParty_Franklin }
},
[TRAINER_KEVIN] =
@@ -2404,7 +2404,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Kevin }
+ .party = {.NoItemDefaultMoves = sParty_Kevin }
},
[TRAINER_JACK] =
@@ -2418,7 +2418,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jack }
+ .party = {.NoItemDefaultMoves = sParty_Jack }
},
[TRAINER_DUDLEY] =
@@ -2432,7 +2432,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dudley }
+ .party = {.NoItemDefaultMoves = sParty_Dudley }
},
[TRAINER_CHAD] =
@@ -2446,7 +2446,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Chad }
+ .party = {.NoItemDefaultMoves = sParty_Chad }
},
[TRAINER_TONY_2] =
@@ -2460,7 +2460,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tony2 }
+ .party = {.NoItemDefaultMoves = sParty_Tony2 }
},
[TRAINER_TONY_3] =
@@ -2474,7 +2474,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tony3 }
+ .party = {.NoItemDefaultMoves = sParty_Tony3 }
},
[TRAINER_TONY_4] =
@@ -2488,7 +2488,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tony4 }
+ .party = {.NoItemDefaultMoves = sParty_Tony4 }
},
[TRAINER_TONY_5] =
@@ -2502,7 +2502,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tony5 }
+ .party = {.NoItemDefaultMoves = sParty_Tony5 }
},
[TRAINER_TAKAO] =
@@ -2516,7 +2516,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Takao }
+ .party = {.NoItemDefaultMoves = sParty_Takao }
},
[TRAINER_HITOSHI] =
@@ -2530,7 +2530,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Hitoshi }
+ .party = {.NoItemDefaultMoves = sParty_Hitoshi }
},
[TRAINER_KIYO] =
@@ -2544,7 +2544,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Kiyo }
+ .party = {.NoItemDefaultMoves = sParty_Kiyo }
},
[TRAINER_KOICHI] =
@@ -2558,7 +2558,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Koichi }
+ .party = {.NoItemDefaultMoves = sParty_Koichi }
},
[TRAINER_NOB_1] =
@@ -2572,7 +2572,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nob1 }
+ .party = {.NoItemDefaultMoves = sParty_Nob1 }
},
[TRAINER_NOB_2] =
@@ -2586,7 +2586,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nob2 }
+ .party = {.NoItemDefaultMoves = sParty_Nob2 }
},
[TRAINER_NOB_3] =
@@ -2600,7 +2600,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nob3 }
+ .party = {.NoItemDefaultMoves = sParty_Nob3 }
},
[TRAINER_NOB_4] =
@@ -2614,7 +2614,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nob4 }
+ .party = {.NoItemDefaultMoves = sParty_Nob4 }
},
[TRAINER_NOB_5] =
@@ -2628,7 +2628,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 4,
- .party = {.ItemDefaultMoves = gTrainerParty_Nob5 }
+ .party = {.ItemDefaultMoves = sParty_Nob5 }
},
[TRAINER_YUJI] =
@@ -2642,7 +2642,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Yuji }
+ .party = {.NoItemDefaultMoves = sParty_Yuji }
},
[TRAINER_DAISUKE] =
@@ -2656,7 +2656,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Daisuke }
+ .party = {.NoItemDefaultMoves = sParty_Daisuke }
},
[TRAINER_ATSUSHI] =
@@ -2670,7 +2670,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Atsushi }
+ .party = {.NoItemDefaultMoves = sParty_Atsushi }
},
[TRAINER_KIRK] =
@@ -2684,7 +2684,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Kirk }
+ .party = {.NoItemCustomMoves = sParty_Kirk }
},
[TRAINER_GRUNT_25] =
@@ -2698,7 +2698,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt25 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt25 }
},
[TRAINER_GRUNT_26] =
@@ -2712,7 +2712,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt26 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt26 }
},
[TRAINER_SHAWN] =
@@ -2726,7 +2726,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Shawn }
+ .party = {.NoItemDefaultMoves = sParty_Shawn }
},
[TRAINER_FERNANDO_1] =
@@ -2740,7 +2740,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Fernando1 }
+ .party = {.NoItemDefaultMoves = sParty_Fernando1 }
},
[TRAINER_DALTON_1] =
@@ -2754,7 +2754,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dalton1 }
+ .party = {.NoItemDefaultMoves = sParty_Dalton1 }
},
[TRAINER_DALTON_2] =
@@ -2768,7 +2768,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dalton2 }
+ .party = {.NoItemDefaultMoves = sParty_Dalton2 }
},
[TRAINER_DALTON_3] =
@@ -2782,7 +2782,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dalton3 }
+ .party = {.NoItemDefaultMoves = sParty_Dalton3 }
},
[TRAINER_DALTON_4] =
@@ -2796,7 +2796,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dalton4 }
+ .party = {.NoItemDefaultMoves = sParty_Dalton4 }
},
[TRAINER_DALTON_5] =
@@ -2810,7 +2810,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dalton5 }
+ .party = {.NoItemDefaultMoves = sParty_Dalton5 }
},
[TRAINER_COLE] =
@@ -2824,7 +2824,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cole }
+ .party = {.NoItemDefaultMoves = sParty_Cole }
},
[TRAINER_JEFF] =
@@ -2838,7 +2838,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jeff }
+ .party = {.NoItemDefaultMoves = sParty_Jeff }
},
[TRAINER_AXLE] =
@@ -2852,7 +2852,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Axle }
+ .party = {.NoItemDefaultMoves = sParty_Axle }
},
[TRAINER_JACE] =
@@ -2866,7 +2866,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jace }
+ .party = {.NoItemDefaultMoves = sParty_Jace }
},
[TRAINER_KEEGAN] =
@@ -2880,7 +2880,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Keegan }
+ .party = {.NoItemDefaultMoves = sParty_Keegan }
},
[TRAINER_BERNIE_1] =
@@ -2894,7 +2894,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Bernie1 }
+ .party = {.NoItemDefaultMoves = sParty_Bernie1 }
},
[TRAINER_BERNIE_2] =
@@ -2908,7 +2908,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Bernie2 }
+ .party = {.NoItemDefaultMoves = sParty_Bernie2 }
},
[TRAINER_BERNIE_3] =
@@ -2922,7 +2922,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Bernie3 }
+ .party = {.NoItemDefaultMoves = sParty_Bernie3 }
},
[TRAINER_BERNIE_4] =
@@ -2936,7 +2936,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Bernie4 }
+ .party = {.NoItemDefaultMoves = sParty_Bernie4 }
},
[TRAINER_BERNIE_5] =
@@ -2950,7 +2950,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Bernie5 }
+ .party = {.NoItemDefaultMoves = sParty_Bernie5 }
},
[TRAINER_DREW] =
@@ -2964,7 +2964,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Drew }
+ .party = {.NoItemCustomMoves = sParty_Drew }
},
[TRAINER_BEAU] =
@@ -2978,7 +2978,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemCustomMoves = gTrainerParty_Beau }
+ .party = {.NoItemCustomMoves = sParty_Beau }
},
[TRAINER_LARRY] =
@@ -2992,7 +2992,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Larry }
+ .party = {.NoItemDefaultMoves = sParty_Larry }
},
[TRAINER_SHANE] =
@@ -3006,7 +3006,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Shane }
+ .party = {.NoItemDefaultMoves = sParty_Shane }
},
[TRAINER_JUSTIN] =
@@ -3020,7 +3020,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Justin }
+ .party = {.NoItemDefaultMoves = sParty_Justin }
},
[TRAINER_ETHAN_1] =
@@ -3034,7 +3034,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ethan1 }
+ .party = {.NoItemDefaultMoves = sParty_Ethan1 }
},
[TRAINER_AUTUMN] =
@@ -3048,7 +3048,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Autumn }
+ .party = {.NoItemDefaultMoves = sParty_Autumn }
},
[TRAINER_TRAVIS] =
@@ -3062,7 +3062,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Travis }
+ .party = {.NoItemDefaultMoves = sParty_Travis }
},
[TRAINER_ETHAN_2] =
@@ -3076,7 +3076,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ethan2 }
+ .party = {.NoItemDefaultMoves = sParty_Ethan2 }
},
[TRAINER_ETHAN_3] =
@@ -3090,7 +3090,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ethan3 }
+ .party = {.NoItemDefaultMoves = sParty_Ethan3 }
},
[TRAINER_ETHAN_4] =
@@ -3104,7 +3104,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ethan4 }
+ .party = {.NoItemDefaultMoves = sParty_Ethan4 }
},
[TRAINER_ETHAN_5] =
@@ -3118,7 +3118,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ethan5 }
+ .party = {.NoItemDefaultMoves = sParty_Ethan5 }
},
[TRAINER_BRENT] =
@@ -3132,7 +3132,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brent }
+ .party = {.NoItemDefaultMoves = sParty_Brent }
},
[TRAINER_DONALD] =
@@ -3146,7 +3146,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Donald }
+ .party = {.NoItemDefaultMoves = sParty_Donald }
},
[TRAINER_TAYLOR] =
@@ -3160,7 +3160,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Taylor }
+ .party = {.NoItemDefaultMoves = sParty_Taylor }
},
[TRAINER_JEFFREY_1] =
@@ -3174,7 +3174,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey1 }
+ .party = {.NoItemDefaultMoves = sParty_Jeffrey1 }
},
[TRAINER_DEREK] =
@@ -3188,7 +3188,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Derek }
+ .party = {.NoItemDefaultMoves = sParty_Derek }
},
[TRAINER_JEFFREY_2] =
@@ -3202,7 +3202,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey2 }
+ .party = {.NoItemDefaultMoves = sParty_Jeffrey2 }
},
[TRAINER_JEFFREY_3] =
@@ -3216,7 +3216,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey3 }
+ .party = {.NoItemDefaultMoves = sParty_Jeffrey3 }
},
[TRAINER_JEFFREY_4] =
@@ -3230,7 +3230,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey4 }
+ .party = {.NoItemDefaultMoves = sParty_Jeffrey4 }
},
[TRAINER_JEFFREY_5] =
@@ -3244,7 +3244,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 5,
- .party = {.ItemDefaultMoves = gTrainerParty_Jeffrey5 }
+ .party = {.ItemDefaultMoves = sParty_Jeffrey5 }
},
[TRAINER_EDWARD] =
@@ -3258,7 +3258,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Edward }
+ .party = {.NoItemCustomMoves = sParty_Edward }
},
[TRAINER_PRESTON] =
@@ -3272,7 +3272,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Preston }
+ .party = {.NoItemDefaultMoves = sParty_Preston }
},
[TRAINER_VIRGIL] =
@@ -3286,7 +3286,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Virgil }
+ .party = {.NoItemDefaultMoves = sParty_Virgil }
},
[TRAINER_BLAKE] =
@@ -3300,7 +3300,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Blake }
+ .party = {.NoItemDefaultMoves = sParty_Blake }
},
[TRAINER_WILLIAM] =
@@ -3314,7 +3314,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_William }
+ .party = {.NoItemDefaultMoves = sParty_William }
},
[TRAINER_JOSHUA] =
@@ -3328,7 +3328,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Joshua }
+ .party = {.NoItemDefaultMoves = sParty_Joshua }
},
[TRAINER_CAMERON_1] =
@@ -3342,7 +3342,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cameron1 }
+ .party = {.NoItemDefaultMoves = sParty_Cameron1 }
},
[TRAINER_CAMERON_2] =
@@ -3356,7 +3356,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cameron2 }
+ .party = {.NoItemDefaultMoves = sParty_Cameron2 }
},
[TRAINER_CAMERON_3] =
@@ -3370,7 +3370,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cameron3 }
+ .party = {.NoItemDefaultMoves = sParty_Cameron3 }
},
[TRAINER_CAMERON_4] =
@@ -3384,7 +3384,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cameron4 }
+ .party = {.NoItemDefaultMoves = sParty_Cameron4 }
},
[TRAINER_CAMERON_5] =
@@ -3398,7 +3398,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cameron5 }
+ .party = {.NoItemDefaultMoves = sParty_Cameron5 }
},
[TRAINER_JACLYN] =
@@ -3412,7 +3412,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Jaclyn }
+ .party = {.NoItemCustomMoves = sParty_Jaclyn }
},
[TRAINER_HANNAH] =
@@ -3426,7 +3426,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Hannah }
+ .party = {.NoItemDefaultMoves = sParty_Hannah }
},
[TRAINER_SAMANTHA] =
@@ -3440,7 +3440,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Samantha }
+ .party = {.NoItemDefaultMoves = sParty_Samantha }
},
[TRAINER_MAURA] =
@@ -3454,7 +3454,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Maura }
+ .party = {.NoItemDefaultMoves = sParty_Maura }
},
[TRAINER_KAYLA] =
@@ -3468,7 +3468,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Kayla }
+ .party = {.NoItemDefaultMoves = sParty_Kayla }
},
[TRAINER_ALEXIS] =
@@ -3482,7 +3482,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Alexis }
+ .party = {.NoItemDefaultMoves = sParty_Alexis }
},
[TRAINER_JACKI_1] =
@@ -3496,7 +3496,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jacki1 }
+ .party = {.NoItemDefaultMoves = sParty_Jacki1 }
},
[TRAINER_JACKI_2] =
@@ -3510,7 +3510,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jacki2 }
+ .party = {.NoItemDefaultMoves = sParty_Jacki2 }
},
[TRAINER_JACKI_3] =
@@ -3524,7 +3524,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jacki3 }
+ .party = {.NoItemDefaultMoves = sParty_Jacki3 }
},
[TRAINER_JACKI_4] =
@@ -3538,7 +3538,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jacki4 }
+ .party = {.NoItemDefaultMoves = sParty_Jacki4 }
},
[TRAINER_JACKI_5] =
@@ -3552,7 +3552,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jacki5 }
+ .party = {.NoItemDefaultMoves = sParty_Jacki5 }
},
[TRAINER_WALTER_1] =
@@ -3566,7 +3566,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Walter1 }
+ .party = {.NoItemDefaultMoves = sParty_Walter1 }
},
[TRAINER_MICAH] =
@@ -3580,7 +3580,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Micah }
+ .party = {.NoItemDefaultMoves = sParty_Micah }
},
[TRAINER_THOMAS] =
@@ -3594,7 +3594,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Thomas }
+ .party = {.NoItemDefaultMoves = sParty_Thomas }
},
[TRAINER_WALTER_2] =
@@ -3608,7 +3608,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Walter2 }
+ .party = {.NoItemDefaultMoves = sParty_Walter2 }
},
[TRAINER_WALTER_3] =
@@ -3622,7 +3622,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Walter3 }
+ .party = {.NoItemCustomMoves = sParty_Walter3 }
},
[TRAINER_WALTER_4] =
@@ -3636,7 +3636,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Walter4 }
+ .party = {.NoItemCustomMoves = sParty_Walter4 }
},
[TRAINER_WALTER_5] =
@@ -3650,7 +3650,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemCustomMoves = gTrainerParty_Walter5 }
+ .party = {.NoItemCustomMoves = sParty_Walter5 }
},
[TRAINER_SIDNEY] =
@@ -3664,7 +3664,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Sidney }
+ .party = {.ItemCustomMoves = sParty_Sidney }
},
[TRAINER_PHOEBE] =
@@ -3678,7 +3678,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Phoebe }
+ .party = {.ItemCustomMoves = sParty_Phoebe }
},
[TRAINER_GLACIA] =
@@ -3692,7 +3692,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Glacia }
+ .party = {.ItemCustomMoves = sParty_Glacia }
},
[TRAINER_DRAKE] =
@@ -3706,7 +3706,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Drake }
+ .party = {.ItemCustomMoves = sParty_Drake }
},
[TRAINER_ROXANNE_1] =
@@ -3720,7 +3720,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.ItemCustomMoves = gTrainerParty_Roxanne1 }
+ .party = {.ItemCustomMoves = sParty_Roxanne1 }
},
[TRAINER_BRAWLY_1] =
@@ -3734,7 +3734,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.ItemCustomMoves = gTrainerParty_Brawly1 }
+ .party = {.ItemCustomMoves = sParty_Brawly1 }
},
[TRAINER_WATTSON_1] =
@@ -3748,7 +3748,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.ItemCustomMoves = gTrainerParty_Wattson1 }
+ .party = {.ItemCustomMoves = sParty_Wattson1 }
},
[TRAINER_FLANNERY_1] =
@@ -3762,7 +3762,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.ItemCustomMoves = gTrainerParty_Flannery1 }
+ .party = {.ItemCustomMoves = sParty_Flannery1 }
},
[TRAINER_NORMAN_1] =
@@ -3776,7 +3776,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.ItemCustomMoves = gTrainerParty_Norman1 }
+ .party = {.ItemCustomMoves = sParty_Norman1 }
},
[TRAINER_WINONA_1] =
@@ -3790,7 +3790,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Winona1 }
+ .party = {.ItemCustomMoves = sParty_Winona1 }
},
[TRAINER_TATE_AND_LIZA_1] =
@@ -3804,7 +3804,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza1 }
+ .party = {.ItemCustomMoves = sParty_TateAndLiza1 }
},
[TRAINER_JUAN_1] =
@@ -3818,7 +3818,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Juan1 }
+ .party = {.ItemCustomMoves = sParty_Juan1 }
},
[TRAINER_JERRY_1] =
@@ -3832,7 +3832,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jerry1 }
+ .party = {.NoItemDefaultMoves = sParty_Jerry1 }
},
[TRAINER_TED] =
@@ -3846,7 +3846,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ted }
+ .party = {.NoItemDefaultMoves = sParty_Ted }
},
[TRAINER_PAUL] =
@@ -3860,7 +3860,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Paul }
+ .party = {.NoItemDefaultMoves = sParty_Paul }
},
[TRAINER_JERRY_2] =
@@ -3874,7 +3874,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jerry2 }
+ .party = {.NoItemDefaultMoves = sParty_Jerry2 }
},
[TRAINER_JERRY_3] =
@@ -3888,7 +3888,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jerry3 }
+ .party = {.NoItemDefaultMoves = sParty_Jerry3 }
},
[TRAINER_JERRY_4] =
@@ -3902,7 +3902,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jerry4 }
+ .party = {.NoItemDefaultMoves = sParty_Jerry4 }
},
[TRAINER_JERRY_5] =
@@ -3916,7 +3916,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jerry5 }
+ .party = {.NoItemDefaultMoves = sParty_Jerry5 }
},
[TRAINER_KAREN_1] =
@@ -3930,7 +3930,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Karen1 }
+ .party = {.NoItemDefaultMoves = sParty_Karen1 }
},
[TRAINER_GEORGIA] =
@@ -3944,7 +3944,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Georgia }
+ .party = {.NoItemDefaultMoves = sParty_Georgia }
},
[TRAINER_KAREN_2] =
@@ -3958,7 +3958,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Karen2 }
+ .party = {.NoItemDefaultMoves = sParty_Karen2 }
},
[TRAINER_KAREN_3] =
@@ -3972,7 +3972,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Karen3 }
+ .party = {.NoItemDefaultMoves = sParty_Karen3 }
},
[TRAINER_KAREN_4] =
@@ -3986,7 +3986,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Karen4 }
+ .party = {.NoItemDefaultMoves = sParty_Karen4 }
},
[TRAINER_KAREN_5] =
@@ -4000,7 +4000,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Karen5 }
+ .party = {.NoItemDefaultMoves = sParty_Karen5 }
},
[TRAINER_KATE_AND_JOY] =
@@ -4014,7 +4014,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_KateAndJoy }
+ .party = {.NoItemCustomMoves = sParty_KateAndJoy }
},
[TRAINER_ANNA_AND_MEG_1] =
@@ -4028,7 +4028,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg1 }
+ .party = {.NoItemCustomMoves = sParty_AnnaAndMeg1 }
},
[TRAINER_ANNA_AND_MEG_2] =
@@ -4042,7 +4042,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg2 }
+ .party = {.NoItemCustomMoves = sParty_AnnaAndMeg2 }
},
[TRAINER_ANNA_AND_MEG_3] =
@@ -4056,7 +4056,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg3 }
+ .party = {.NoItemCustomMoves = sParty_AnnaAndMeg3 }
},
[TRAINER_ANNA_AND_MEG_4] =
@@ -4070,7 +4070,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg4 }
+ .party = {.NoItemCustomMoves = sParty_AnnaAndMeg4 }
},
[TRAINER_ANNA_AND_MEG_5] =
@@ -4084,7 +4084,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg5 }
+ .party = {.NoItemCustomMoves = sParty_AnnaAndMeg5 }
},
[TRAINER_VICTOR] =
@@ -4098,7 +4098,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.ItemDefaultMoves = gTrainerParty_Victor }
+ .party = {.ItemDefaultMoves = sParty_Victor }
},
[TRAINER_MIGUEL_1] =
@@ -4112,7 +4112,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Miguel1 }
+ .party = {.ItemDefaultMoves = sParty_Miguel1 }
},
[TRAINER_COLTON] =
@@ -4126,7 +4126,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Colton }
+ .party = {.ItemCustomMoves = sParty_Colton }
},
[TRAINER_MIGUEL_2] =
@@ -4140,7 +4140,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Miguel2 }
+ .party = {.ItemDefaultMoves = sParty_Miguel2 }
},
[TRAINER_MIGUEL_3] =
@@ -4154,7 +4154,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Miguel3 }
+ .party = {.ItemDefaultMoves = sParty_Miguel3 }
},
[TRAINER_MIGUEL_4] =
@@ -4168,7 +4168,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Miguel4 }
+ .party = {.ItemDefaultMoves = sParty_Miguel4 }
},
[TRAINER_MIGUEL_5] =
@@ -4182,7 +4182,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Miguel5 }
+ .party = {.ItemDefaultMoves = sParty_Miguel5 }
},
[TRAINER_VICTORIA] =
@@ -4196,7 +4196,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Victoria }
+ .party = {.ItemDefaultMoves = sParty_Victoria }
},
[TRAINER_VANESSA] =
@@ -4210,7 +4210,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.ItemDefaultMoves = gTrainerParty_Vanessa }
+ .party = {.ItemDefaultMoves = sParty_Vanessa }
},
[TRAINER_BETHANY] =
@@ -4224,7 +4224,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.ItemDefaultMoves = gTrainerParty_Bethany }
+ .party = {.ItemDefaultMoves = sParty_Bethany }
},
[TRAINER_ISABEL_1] =
@@ -4238,7 +4238,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.ItemDefaultMoves = gTrainerParty_Isabel1 }
+ .party = {.ItemDefaultMoves = sParty_Isabel1 }
},
[TRAINER_ISABEL_2] =
@@ -4252,7 +4252,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.ItemDefaultMoves = gTrainerParty_Isabel2 }
+ .party = {.ItemDefaultMoves = sParty_Isabel2 }
},
[TRAINER_ISABEL_3] =
@@ -4266,7 +4266,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.ItemDefaultMoves = gTrainerParty_Isabel3 }
+ .party = {.ItemDefaultMoves = sParty_Isabel3 }
},
[TRAINER_ISABEL_4] =
@@ -4280,7 +4280,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.ItemDefaultMoves = gTrainerParty_Isabel4 }
+ .party = {.ItemDefaultMoves = sParty_Isabel4 }
},
[TRAINER_ISABEL_5] =
@@ -4294,7 +4294,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.ItemDefaultMoves = gTrainerParty_Isabel5 }
+ .party = {.ItemDefaultMoves = sParty_Isabel5 }
},
[TRAINER_TIMOTHY_1] =
@@ -4308,7 +4308,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Timothy1 }
+ .party = {.NoItemDefaultMoves = sParty_Timothy1 }
},
[TRAINER_TIMOTHY_2] =
@@ -4322,7 +4322,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Timothy2 }
+ .party = {.NoItemCustomMoves = sParty_Timothy2 }
},
[TRAINER_TIMOTHY_3] =
@@ -4336,7 +4336,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Timothy3 }
+ .party = {.NoItemCustomMoves = sParty_Timothy3 }
},
[TRAINER_TIMOTHY_4] =
@@ -4350,7 +4350,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Timothy4 }
+ .party = {.NoItemCustomMoves = sParty_Timothy4 }
},
[TRAINER_TIMOTHY_5] =
@@ -4364,7 +4364,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Timothy5 }
+ .party = {.NoItemCustomMoves = sParty_Timothy5 }
},
[TRAINER_VICKY] =
@@ -4378,7 +4378,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Vicky }
+ .party = {.NoItemCustomMoves = sParty_Vicky }
},
[TRAINER_SHELBY_1] =
@@ -4392,7 +4392,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Shelby1 }
+ .party = {.NoItemDefaultMoves = sParty_Shelby1 }
},
[TRAINER_SHELBY_2] =
@@ -4406,7 +4406,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Shelby2 }
+ .party = {.NoItemDefaultMoves = sParty_Shelby2 }
},
[TRAINER_SHELBY_3] =
@@ -4420,7 +4420,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Shelby3 }
+ .party = {.NoItemDefaultMoves = sParty_Shelby3 }
},
[TRAINER_SHELBY_4] =
@@ -4434,7 +4434,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Shelby4 }
+ .party = {.NoItemDefaultMoves = sParty_Shelby4 }
},
[TRAINER_SHELBY_5] =
@@ -4448,7 +4448,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Shelby5 }
+ .party = {.NoItemDefaultMoves = sParty_Shelby5 }
},
[TRAINER_CALVIN_1] =
@@ -4462,7 +4462,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Calvin1 }
+ .party = {.NoItemDefaultMoves = sParty_Calvin1 }
},
[TRAINER_BILLY] =
@@ -4476,7 +4476,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Billy }
+ .party = {.NoItemDefaultMoves = sParty_Billy }
},
[TRAINER_JOSH] =
@@ -4490,7 +4490,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Josh }
+ .party = {.NoItemCustomMoves = sParty_Josh }
},
[TRAINER_TOMMY] =
@@ -4504,7 +4504,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tommy }
+ .party = {.NoItemDefaultMoves = sParty_Tommy }
},
[TRAINER_JOEY] =
@@ -4518,7 +4518,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Joey }
+ .party = {.NoItemDefaultMoves = sParty_Joey }
},
[TRAINER_BEN] =
@@ -4532,7 +4532,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Ben }
+ .party = {.NoItemCustomMoves = sParty_Ben }
},
[TRAINER_QUINCY] =
@@ -4546,7 +4546,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Quincy }
+ .party = {.NoItemCustomMoves = sParty_Quincy }
},
[TRAINER_KATELYNN] =
@@ -4560,7 +4560,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Katelynn }
+ .party = {.NoItemCustomMoves = sParty_Katelynn }
},
[TRAINER_JAYLEN] =
@@ -4574,7 +4574,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jaylen }
+ .party = {.NoItemDefaultMoves = sParty_Jaylen }
},
[TRAINER_DILLON] =
@@ -4588,7 +4588,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dillon }
+ .party = {.NoItemDefaultMoves = sParty_Dillon }
},
[TRAINER_CALVIN_2] =
@@ -4602,7 +4602,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Calvin2 }
+ .party = {.NoItemDefaultMoves = sParty_Calvin2 }
},
[TRAINER_CALVIN_3] =
@@ -4616,7 +4616,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Calvin3 }
+ .party = {.NoItemDefaultMoves = sParty_Calvin3 }
},
[TRAINER_CALVIN_4] =
@@ -4630,7 +4630,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Calvin4 }
+ .party = {.NoItemDefaultMoves = sParty_Calvin4 }
},
[TRAINER_CALVIN_5] =
@@ -4644,7 +4644,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Calvin5 }
+ .party = {.NoItemDefaultMoves = sParty_Calvin5 }
},
[TRAINER_EDDIE] =
@@ -4658,7 +4658,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Eddie }
+ .party = {.NoItemDefaultMoves = sParty_Eddie }
},
[TRAINER_ALLEN] =
@@ -4672,7 +4672,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Allen }
+ .party = {.NoItemDefaultMoves = sParty_Allen }
},
[TRAINER_TIMMY] =
@@ -4686,7 +4686,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Timmy }
+ .party = {.NoItemDefaultMoves = sParty_Timmy }
},
[TRAINER_WALLACE] =
@@ -4700,7 +4700,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Wallace }
+ .party = {.ItemCustomMoves = sParty_Wallace }
},
[TRAINER_ANDREW] =
@@ -4714,7 +4714,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Andrew }
+ .party = {.NoItemDefaultMoves = sParty_Andrew }
},
[TRAINER_IVAN] =
@@ -4728,7 +4728,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ivan }
+ .party = {.NoItemDefaultMoves = sParty_Ivan }
},
[TRAINER_CLAUDE] =
@@ -4742,7 +4742,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Claude }
+ .party = {.NoItemDefaultMoves = sParty_Claude }
},
[TRAINER_ELLIOT_1] =
@@ -4756,7 +4756,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Elliot1 }
+ .party = {.NoItemDefaultMoves = sParty_Elliot1 }
},
[TRAINER_NED] =
@@ -4770,7 +4770,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ned }
+ .party = {.NoItemDefaultMoves = sParty_Ned }
},
[TRAINER_DALE] =
@@ -4784,7 +4784,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dale }
+ .party = {.NoItemDefaultMoves = sParty_Dale }
},
[TRAINER_NOLAN] =
@@ -4798,7 +4798,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nolan }
+ .party = {.NoItemDefaultMoves = sParty_Nolan }
},
[TRAINER_BARNY] =
@@ -4812,7 +4812,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Barny }
+ .party = {.NoItemDefaultMoves = sParty_Barny }
},
[TRAINER_WADE] =
@@ -4826,7 +4826,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Wade }
+ .party = {.NoItemDefaultMoves = sParty_Wade }
},
[TRAINER_CARTER] =
@@ -4840,7 +4840,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Carter }
+ .party = {.NoItemDefaultMoves = sParty_Carter }
},
[TRAINER_ELLIOT_2] =
@@ -4854,7 +4854,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Elliot2 }
+ .party = {.NoItemDefaultMoves = sParty_Elliot2 }
},
[TRAINER_ELLIOT_3] =
@@ -4868,7 +4868,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Elliot3 }
+ .party = {.NoItemDefaultMoves = sParty_Elliot3 }
},
[TRAINER_ELLIOT_4] =
@@ -4882,7 +4882,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Elliot4 }
+ .party = {.NoItemDefaultMoves = sParty_Elliot4 }
},
[TRAINER_ELLIOT_5] =
@@ -4896,7 +4896,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Elliot5 }
+ .party = {.NoItemDefaultMoves = sParty_Elliot5 }
},
[TRAINER_RONALD] =
@@ -4910,7 +4910,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ronald }
+ .party = {.NoItemDefaultMoves = sParty_Ronald }
},
[TRAINER_JACOB] =
@@ -4924,7 +4924,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jacob }
+ .party = {.NoItemDefaultMoves = sParty_Jacob }
},
[TRAINER_ANTHONY] =
@@ -4938,7 +4938,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Anthony }
+ .party = {.NoItemDefaultMoves = sParty_Anthony }
},
[TRAINER_BENJAMIN_1] =
@@ -4952,7 +4952,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin1 }
+ .party = {.NoItemDefaultMoves = sParty_Benjamin1 }
},
[TRAINER_BENJAMIN_2] =
@@ -4966,7 +4966,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin2 }
+ .party = {.NoItemDefaultMoves = sParty_Benjamin2 }
},
[TRAINER_BENJAMIN_3] =
@@ -4980,7 +4980,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin3 }
+ .party = {.NoItemDefaultMoves = sParty_Benjamin3 }
},
[TRAINER_BENJAMIN_4] =
@@ -4994,7 +4994,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin4 }
+ .party = {.NoItemDefaultMoves = sParty_Benjamin4 }
},
[TRAINER_BENJAMIN_5] =
@@ -5008,7 +5008,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin5 }
+ .party = {.NoItemDefaultMoves = sParty_Benjamin5 }
},
[TRAINER_ABIGAIL_1] =
@@ -5022,7 +5022,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Abigail1 }
+ .party = {.NoItemDefaultMoves = sParty_Abigail1 }
},
[TRAINER_JASMINE] =
@@ -5036,7 +5036,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jasmine }
+ .party = {.NoItemDefaultMoves = sParty_Jasmine }
},
[TRAINER_ABIGAIL_2] =
@@ -5050,7 +5050,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Abigail2 }
+ .party = {.NoItemDefaultMoves = sParty_Abigail2 }
},
[TRAINER_ABIGAIL_3] =
@@ -5064,7 +5064,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Abigail3 }
+ .party = {.NoItemDefaultMoves = sParty_Abigail3 }
},
[TRAINER_ABIGAIL_4] =
@@ -5078,7 +5078,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Abigail4 }
+ .party = {.NoItemDefaultMoves = sParty_Abigail4 }
},
[TRAINER_ABIGAIL_5] =
@@ -5092,7 +5092,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Abigail5 }
+ .party = {.NoItemDefaultMoves = sParty_Abigail5 }
},
[TRAINER_DYLAN_1] =
@@ -5106,7 +5106,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dylan1 }
+ .party = {.NoItemDefaultMoves = sParty_Dylan1 }
},
[TRAINER_DYLAN_2] =
@@ -5120,7 +5120,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dylan2 }
+ .party = {.NoItemDefaultMoves = sParty_Dylan2 }
},
[TRAINER_DYLAN_3] =
@@ -5134,7 +5134,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dylan3 }
+ .party = {.NoItemDefaultMoves = sParty_Dylan3 }
},
[TRAINER_DYLAN_4] =
@@ -5148,7 +5148,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dylan4 }
+ .party = {.NoItemDefaultMoves = sParty_Dylan4 }
},
[TRAINER_DYLAN_5] =
@@ -5162,7 +5162,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dylan5 }
+ .party = {.NoItemDefaultMoves = sParty_Dylan5 }
},
[TRAINER_MARIA_1] =
@@ -5176,7 +5176,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Maria1 }
+ .party = {.NoItemDefaultMoves = sParty_Maria1 }
},
[TRAINER_MARIA_2] =
@@ -5190,7 +5190,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Maria2 }
+ .party = {.NoItemDefaultMoves = sParty_Maria2 }
},
[TRAINER_MARIA_3] =
@@ -5204,7 +5204,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Maria3 }
+ .party = {.NoItemDefaultMoves = sParty_Maria3 }
},
[TRAINER_MARIA_4] =
@@ -5218,7 +5218,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Maria4 }
+ .party = {.NoItemDefaultMoves = sParty_Maria4 }
},
[TRAINER_MARIA_5] =
@@ -5232,7 +5232,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Maria5 }
+ .party = {.NoItemDefaultMoves = sParty_Maria5 }
},
[TRAINER_CAMDEN] =
@@ -5246,7 +5246,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Camden }
+ .party = {.NoItemDefaultMoves = sParty_Camden }
},
[TRAINER_DEMETRIUS] =
@@ -5260,7 +5260,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Demetrius }
+ .party = {.NoItemDefaultMoves = sParty_Demetrius }
},
[TRAINER_ISAIAH_1] =
@@ -5274,7 +5274,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah1 }
+ .party = {.NoItemDefaultMoves = sParty_Isaiah1 }
},
[TRAINER_PABLO_1] =
@@ -5288,7 +5288,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Pablo1 }
+ .party = {.NoItemDefaultMoves = sParty_Pablo1 }
},
[TRAINER_CHASE] =
@@ -5302,7 +5302,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Chase }
+ .party = {.NoItemDefaultMoves = sParty_Chase }
},
[TRAINER_ISAIAH_2] =
@@ -5316,7 +5316,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah2 }
+ .party = {.NoItemDefaultMoves = sParty_Isaiah2 }
},
[TRAINER_ISAIAH_3] =
@@ -5330,7 +5330,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah3 }
+ .party = {.NoItemDefaultMoves = sParty_Isaiah3 }
},
[TRAINER_ISAIAH_4] =
@@ -5344,7 +5344,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah4 }
+ .party = {.NoItemDefaultMoves = sParty_Isaiah4 }
},
[TRAINER_ISAIAH_5] =
@@ -5358,7 +5358,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah5 }
+ .party = {.NoItemDefaultMoves = sParty_Isaiah5 }
},
[TRAINER_ISOBEL] =
@@ -5372,7 +5372,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Isobel }
+ .party = {.NoItemDefaultMoves = sParty_Isobel }
},
[TRAINER_DONNY] =
@@ -5386,7 +5386,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Donny }
+ .party = {.NoItemDefaultMoves = sParty_Donny }
},
[TRAINER_TALIA] =
@@ -5400,7 +5400,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Talia }
+ .party = {.NoItemDefaultMoves = sParty_Talia }
},
[TRAINER_KATELYN_1] =
@@ -5414,7 +5414,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn1 }
+ .party = {.NoItemDefaultMoves = sParty_Katelyn1 }
},
[TRAINER_ALLISON] =
@@ -5428,7 +5428,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Allison }
+ .party = {.NoItemDefaultMoves = sParty_Allison }
},
[TRAINER_KATELYN_2] =
@@ -5442,7 +5442,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn2 }
+ .party = {.NoItemDefaultMoves = sParty_Katelyn2 }
},
[TRAINER_KATELYN_3] =
@@ -5456,7 +5456,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn3 }
+ .party = {.NoItemDefaultMoves = sParty_Katelyn3 }
},
[TRAINER_KATELYN_4] =
@@ -5470,7 +5470,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn4 }
+ .party = {.NoItemDefaultMoves = sParty_Katelyn4 }
},
[TRAINER_KATELYN_5] =
@@ -5484,7 +5484,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn5 }
+ .party = {.NoItemDefaultMoves = sParty_Katelyn5 }
},
[TRAINER_NICOLAS_1] =
@@ -5498,7 +5498,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas1 }
+ .party = {.NoItemDefaultMoves = sParty_Nicolas1 }
},
[TRAINER_NICOLAS_2] =
@@ -5512,7 +5512,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas2 }
+ .party = {.NoItemDefaultMoves = sParty_Nicolas2 }
},
[TRAINER_NICOLAS_3] =
@@ -5526,7 +5526,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas3 }
+ .party = {.NoItemDefaultMoves = sParty_Nicolas3 }
},
[TRAINER_NICOLAS_4] =
@@ -5540,7 +5540,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas4 }
+ .party = {.NoItemDefaultMoves = sParty_Nicolas4 }
},
[TRAINER_NICOLAS_5] =
@@ -5554,7 +5554,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.ItemDefaultMoves = gTrainerParty_Nicolas5 }
+ .party = {.ItemDefaultMoves = sParty_Nicolas5 }
},
[TRAINER_AARON] =
@@ -5568,7 +5568,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Aaron }
+ .party = {.NoItemCustomMoves = sParty_Aaron }
},
[TRAINER_PERRY] =
@@ -5582,7 +5582,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Perry }
+ .party = {.NoItemDefaultMoves = sParty_Perry }
},
[TRAINER_HUGH] =
@@ -5596,7 +5596,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Hugh }
+ .party = {.NoItemDefaultMoves = sParty_Hugh }
},
[TRAINER_PHIL] =
@@ -5610,7 +5610,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Phil }
+ .party = {.NoItemDefaultMoves = sParty_Phil }
},
[TRAINER_JARED] =
@@ -5624,7 +5624,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jared }
+ .party = {.NoItemDefaultMoves = sParty_Jared }
},
[TRAINER_HUMBERTO] =
@@ -5638,7 +5638,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Humberto }
+ .party = {.NoItemDefaultMoves = sParty_Humberto }
},
[TRAINER_PRESLEY] =
@@ -5652,7 +5652,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Presley }
+ .party = {.NoItemDefaultMoves = sParty_Presley }
},
[TRAINER_EDWARDO] =
@@ -5666,7 +5666,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Edwardo }
+ .party = {.NoItemDefaultMoves = sParty_Edwardo }
},
[TRAINER_COLIN] =
@@ -5680,7 +5680,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Colin }
+ .party = {.NoItemDefaultMoves = sParty_Colin }
},
[TRAINER_ROBERT_1] =
@@ -5694,7 +5694,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Robert1 }
+ .party = {.NoItemDefaultMoves = sParty_Robert1 }
},
[TRAINER_BENNY] =
@@ -5708,7 +5708,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Benny }
+ .party = {.NoItemDefaultMoves = sParty_Benny }
},
[TRAINER_CHESTER] =
@@ -5722,7 +5722,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Chester }
+ .party = {.NoItemDefaultMoves = sParty_Chester }
},
[TRAINER_ROBERT_2] =
@@ -5736,7 +5736,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Robert2 }
+ .party = {.NoItemDefaultMoves = sParty_Robert2 }
},
[TRAINER_ROBERT_3] =
@@ -5750,7 +5750,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Robert3 }
+ .party = {.NoItemDefaultMoves = sParty_Robert3 }
},
[TRAINER_ROBERT_4] =
@@ -5764,7 +5764,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Robert4 }
+ .party = {.NoItemDefaultMoves = sParty_Robert4 }
},
[TRAINER_ROBERT_5] =
@@ -5778,7 +5778,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Robert5 }
+ .party = {.NoItemDefaultMoves = sParty_Robert5 }
},
[TRAINER_ALEX] =
@@ -5792,7 +5792,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Alex }
+ .party = {.NoItemDefaultMoves = sParty_Alex }
},
[TRAINER_BECK] =
@@ -5806,7 +5806,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Beck }
+ .party = {.NoItemDefaultMoves = sParty_Beck }
},
[TRAINER_YASU] =
@@ -5820,7 +5820,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Yasu }
+ .party = {.NoItemDefaultMoves = sParty_Yasu }
},
[TRAINER_TAKASHI] =
@@ -5834,7 +5834,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Takashi }
+ .party = {.NoItemDefaultMoves = sParty_Takashi }
},
[TRAINER_DIANNE] =
@@ -5848,7 +5848,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 2,
- .party = {.ItemCustomMoves = gTrainerParty_Dianne }
+ .party = {.ItemCustomMoves = sParty_Dianne }
},
[TRAINER_JANI] =
@@ -5862,7 +5862,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jani }
+ .party = {.NoItemDefaultMoves = sParty_Jani }
},
[TRAINER_LAO_1] =
@@ -5876,7 +5876,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 3,
- .party = {.NoItemCustomMoves = gTrainerParty_Lao1 }
+ .party = {.NoItemCustomMoves = sParty_Lao1 }
},
[TRAINER_LUNG] =
@@ -5890,7 +5890,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lung }
+ .party = {.NoItemDefaultMoves = sParty_Lung }
},
[TRAINER_LAO_2] =
@@ -5904,7 +5904,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 4,
- .party = {.NoItemCustomMoves = gTrainerParty_Lao2 }
+ .party = {.NoItemCustomMoves = sParty_Lao2 }
},
[TRAINER_LAO_3] =
@@ -5918,7 +5918,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 4,
- .party = {.NoItemCustomMoves = gTrainerParty_Lao3 }
+ .party = {.NoItemCustomMoves = sParty_Lao3 }
},
[TRAINER_LAO_4] =
@@ -5932,7 +5932,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 4,
- .party = {.NoItemCustomMoves = gTrainerParty_Lao4 }
+ .party = {.NoItemCustomMoves = sParty_Lao4 }
},
[TRAINER_LAO_5] =
@@ -5946,7 +5946,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 4,
- .party = {.ItemCustomMoves = gTrainerParty_Lao5 }
+ .party = {.ItemCustomMoves = sParty_Lao5 }
},
[TRAINER_JOCELYN] =
@@ -5960,7 +5960,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jocelyn }
+ .party = {.NoItemDefaultMoves = sParty_Jocelyn }
},
[TRAINER_LAURA] =
@@ -5974,7 +5974,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Laura }
+ .party = {.NoItemDefaultMoves = sParty_Laura }
},
[TRAINER_CYNDY_1] =
@@ -5988,7 +5988,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy1 }
+ .party = {.NoItemDefaultMoves = sParty_Cyndy1 }
},
[TRAINER_CORA] =
@@ -6002,7 +6002,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cora }
+ .party = {.NoItemDefaultMoves = sParty_Cora }
},
[TRAINER_PAULA] =
@@ -6016,7 +6016,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Paula }
+ .party = {.NoItemDefaultMoves = sParty_Paula }
},
[TRAINER_CYNDY_2] =
@@ -6030,7 +6030,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy2 }
+ .party = {.NoItemDefaultMoves = sParty_Cyndy2 }
},
[TRAINER_CYNDY_3] =
@@ -6044,7 +6044,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy3 }
+ .party = {.NoItemDefaultMoves = sParty_Cyndy3 }
},
[TRAINER_CYNDY_4] =
@@ -6058,7 +6058,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy4 }
+ .party = {.NoItemDefaultMoves = sParty_Cyndy4 }
},
[TRAINER_CYNDY_5] =
@@ -6072,7 +6072,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy5 }
+ .party = {.NoItemDefaultMoves = sParty_Cyndy5 }
},
[TRAINER_MADELINE_1] =
@@ -6086,7 +6086,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Madeline1 }
+ .party = {.NoItemCustomMoves = sParty_Madeline1 }
},
[TRAINER_CLARISSA] =
@@ -6100,7 +6100,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Clarissa }
+ .party = {.NoItemDefaultMoves = sParty_Clarissa }
},
[TRAINER_ANGELICA] =
@@ -6114,7 +6114,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Angelica }
+ .party = {.NoItemCustomMoves = sParty_Angelica }
},
[TRAINER_MADELINE_2] =
@@ -6128,7 +6128,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Madeline2 }
+ .party = {.NoItemCustomMoves = sParty_Madeline2 }
},
[TRAINER_MADELINE_3] =
@@ -6142,7 +6142,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Madeline3 }
+ .party = {.NoItemCustomMoves = sParty_Madeline3 }
},
[TRAINER_MADELINE_4] =
@@ -6156,7 +6156,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Madeline4 }
+ .party = {.NoItemCustomMoves = sParty_Madeline4 }
},
[TRAINER_MADELINE_5] =
@@ -6170,7 +6170,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Madeline5 }
+ .party = {.NoItemCustomMoves = sParty_Madeline5 }
},
[TRAINER_BEVERLY] =
@@ -6184,7 +6184,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Beverly }
+ .party = {.NoItemDefaultMoves = sParty_Beverly }
},
[TRAINER_IMANI] =
@@ -6198,7 +6198,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Imani }
+ .party = {.NoItemDefaultMoves = sParty_Imani }
},
[TRAINER_KYLA] =
@@ -6212,7 +6212,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Kyla }
+ .party = {.NoItemDefaultMoves = sParty_Kyla }
},
[TRAINER_DENISE] =
@@ -6226,7 +6226,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Denise }
+ .party = {.NoItemDefaultMoves = sParty_Denise }
},
[TRAINER_BETH] =
@@ -6240,7 +6240,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Beth }
+ .party = {.NoItemDefaultMoves = sParty_Beth }
},
[TRAINER_TARA] =
@@ -6254,7 +6254,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tara }
+ .party = {.NoItemDefaultMoves = sParty_Tara }
},
[TRAINER_MISSY] =
@@ -6268,7 +6268,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Missy }
+ .party = {.NoItemDefaultMoves = sParty_Missy }
},
[TRAINER_ALICE] =
@@ -6282,7 +6282,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Alice }
+ .party = {.NoItemDefaultMoves = sParty_Alice }
},
[TRAINER_JENNY_1] =
@@ -6296,7 +6296,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jenny1 }
+ .party = {.NoItemDefaultMoves = sParty_Jenny1 }
},
[TRAINER_GRACE] =
@@ -6310,7 +6310,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grace }
+ .party = {.NoItemDefaultMoves = sParty_Grace }
},
[TRAINER_TANYA] =
@@ -6324,7 +6324,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tanya }
+ .party = {.NoItemDefaultMoves = sParty_Tanya }
},
[TRAINER_SHARON] =
@@ -6338,7 +6338,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Sharon }
+ .party = {.NoItemDefaultMoves = sParty_Sharon }
},
[TRAINER_NIKKI] =
@@ -6352,7 +6352,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nikki }
+ .party = {.NoItemDefaultMoves = sParty_Nikki }
},
[TRAINER_BRENDA] =
@@ -6366,7 +6366,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brenda }
+ .party = {.NoItemDefaultMoves = sParty_Brenda }
},
[TRAINER_KATIE] =
@@ -6380,7 +6380,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Katie }
+ .party = {.NoItemDefaultMoves = sParty_Katie }
},
[TRAINER_SUSIE] =
@@ -6394,7 +6394,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Susie }
+ .party = {.NoItemDefaultMoves = sParty_Susie }
},
[TRAINER_KARA] =
@@ -6408,7 +6408,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Kara }
+ .party = {.NoItemDefaultMoves = sParty_Kara }
},
[TRAINER_DANA] =
@@ -6422,7 +6422,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dana }
+ .party = {.NoItemDefaultMoves = sParty_Dana }
},
[TRAINER_SIENNA] =
@@ -6436,7 +6436,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Sienna }
+ .party = {.NoItemDefaultMoves = sParty_Sienna }
},
[TRAINER_DEBRA] =
@@ -6450,7 +6450,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Debra }
+ .party = {.NoItemDefaultMoves = sParty_Debra }
},
[TRAINER_LINDA] =
@@ -6464,7 +6464,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Linda }
+ .party = {.NoItemDefaultMoves = sParty_Linda }
},
[TRAINER_KAYLEE] =
@@ -6478,7 +6478,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Kaylee }
+ .party = {.NoItemDefaultMoves = sParty_Kaylee }
},
[TRAINER_LAUREL] =
@@ -6492,7 +6492,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Laurel }
+ .party = {.NoItemDefaultMoves = sParty_Laurel }
},
[TRAINER_CARLEE] =
@@ -6506,7 +6506,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Carlee }
+ .party = {.NoItemDefaultMoves = sParty_Carlee }
},
[TRAINER_JENNY_2] =
@@ -6520,7 +6520,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jenny2 }
+ .party = {.NoItemDefaultMoves = sParty_Jenny2 }
},
[TRAINER_JENNY_3] =
@@ -6534,7 +6534,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jenny3 }
+ .party = {.NoItemDefaultMoves = sParty_Jenny3 }
},
[TRAINER_JENNY_4] =
@@ -6548,7 +6548,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jenny4 }
+ .party = {.NoItemDefaultMoves = sParty_Jenny4 }
},
[TRAINER_JENNY_5] =
@@ -6562,7 +6562,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jenny5 }
+ .party = {.NoItemDefaultMoves = sParty_Jenny5 }
},
[TRAINER_HEIDI] =
@@ -6576,7 +6576,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Heidi }
+ .party = {.NoItemCustomMoves = sParty_Heidi }
},
[TRAINER_BECKY] =
@@ -6590,7 +6590,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Becky }
+ .party = {.NoItemCustomMoves = sParty_Becky }
},
[TRAINER_CAROL] =
@@ -6604,7 +6604,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Carol }
+ .party = {.NoItemDefaultMoves = sParty_Carol }
},
[TRAINER_NANCY] =
@@ -6618,7 +6618,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nancy }
+ .party = {.NoItemDefaultMoves = sParty_Nancy }
},
[TRAINER_MARTHA] =
@@ -6632,7 +6632,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Martha }
+ .party = {.NoItemDefaultMoves = sParty_Martha }
},
[TRAINER_DIANA_1] =
@@ -6646,7 +6646,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Diana1 }
+ .party = {.NoItemDefaultMoves = sParty_Diana1 }
},
[TRAINER_CEDRIC] =
@@ -6660,7 +6660,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Cedric }
+ .party = {.NoItemCustomMoves = sParty_Cedric }
},
[TRAINER_IRENE] =
@@ -6674,7 +6674,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Irene }
+ .party = {.NoItemDefaultMoves = sParty_Irene }
},
[TRAINER_DIANA_2] =
@@ -6688,7 +6688,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Diana2 }
+ .party = {.NoItemDefaultMoves = sParty_Diana2 }
},
[TRAINER_DIANA_3] =
@@ -6702,7 +6702,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Diana3 }
+ .party = {.NoItemDefaultMoves = sParty_Diana3 }
},
[TRAINER_DIANA_4] =
@@ -6716,7 +6716,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Diana4 }
+ .party = {.NoItemDefaultMoves = sParty_Diana4 }
},
[TRAINER_DIANA_5] =
@@ -6730,7 +6730,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Diana5 }
+ .party = {.NoItemDefaultMoves = sParty_Diana5 }
},
[TRAINER_AMY_AND_LIV_1] =
@@ -6744,7 +6744,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv1 }
+ .party = {.NoItemDefaultMoves = sParty_AmyAndLiv1 }
},
[TRAINER_AMY_AND_LIV_2] =
@@ -6758,7 +6758,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv2 }
+ .party = {.NoItemDefaultMoves = sParty_AmyAndLiv2 }
},
[TRAINER_GINA_AND_MIA_1] =
@@ -6772,7 +6772,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_GinaAndMia1 }
+ .party = {.NoItemDefaultMoves = sParty_GinaAndMia1 }
},
[TRAINER_MIU_AND_YUKI] =
@@ -6786,7 +6786,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_MiuAndYuki }
+ .party = {.NoItemDefaultMoves = sParty_MiuAndYuki }
},
[TRAINER_AMY_AND_LIV_3] =
@@ -6800,7 +6800,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv3 }
+ .party = {.NoItemDefaultMoves = sParty_AmyAndLiv3 }
},
[TRAINER_GINA_AND_MIA_2] =
@@ -6814,7 +6814,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_GinaAndMia2 }
+ .party = {.NoItemCustomMoves = sParty_GinaAndMia2 }
},
[TRAINER_AMY_AND_LIV_4] =
@@ -6828,7 +6828,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv4 }
+ .party = {.NoItemDefaultMoves = sParty_AmyAndLiv4 }
},
[TRAINER_AMY_AND_LIV_5] =
@@ -6842,7 +6842,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_AmyAndLiv5 }
+ .party = {.NoItemCustomMoves = sParty_AmyAndLiv5 }
},
[TRAINER_AMY_AND_LIV_6] =
@@ -6856,7 +6856,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_AmyAndLiv6 }
+ .party = {.NoItemCustomMoves = sParty_AmyAndLiv6 }
},
[TRAINER_HUEY] =
@@ -6870,7 +6870,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Huey }
+ .party = {.NoItemDefaultMoves = sParty_Huey }
},
[TRAINER_EDMOND] =
@@ -6884,7 +6884,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Edmond }
+ .party = {.NoItemDefaultMoves = sParty_Edmond }
},
[TRAINER_ERNEST_1] =
@@ -6898,7 +6898,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ernest1 }
+ .party = {.NoItemDefaultMoves = sParty_Ernest1 }
},
[TRAINER_DWAYNE] =
@@ -6912,7 +6912,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dwayne }
+ .party = {.NoItemDefaultMoves = sParty_Dwayne }
},
[TRAINER_PHILLIP] =
@@ -6926,7 +6926,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Phillip }
+ .party = {.NoItemDefaultMoves = sParty_Phillip }
},
[TRAINER_LEONARD] =
@@ -6940,7 +6940,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Leonard }
+ .party = {.NoItemDefaultMoves = sParty_Leonard }
},
[TRAINER_DUNCAN] =
@@ -6954,7 +6954,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Duncan }
+ .party = {.NoItemDefaultMoves = sParty_Duncan }
},
[TRAINER_ERNEST_2] =
@@ -6968,7 +6968,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ernest2 }
+ .party = {.NoItemDefaultMoves = sParty_Ernest2 }
},
[TRAINER_ERNEST_3] =
@@ -6982,7 +6982,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ernest3 }
+ .party = {.NoItemDefaultMoves = sParty_Ernest3 }
},
[TRAINER_ERNEST_4] =
@@ -6996,7 +6996,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ernest4 }
+ .party = {.NoItemDefaultMoves = sParty_Ernest4 }
},
[TRAINER_ERNEST_5] =
@@ -7010,7 +7010,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ernest5 }
+ .party = {.NoItemDefaultMoves = sParty_Ernest5 }
},
[TRAINER_ELI] =
@@ -7024,7 +7024,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Eli }
+ .party = {.NoItemDefaultMoves = sParty_Eli }
},
[TRAINER_ANNIKA] =
@@ -7038,7 +7038,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.ItemCustomMoves = gTrainerParty_Annika }
+ .party = {.ItemCustomMoves = sParty_Annika }
},
[TRAINER_JAZMYN] =
@@ -7052,7 +7052,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jazmyn }
+ .party = {.NoItemDefaultMoves = sParty_Jazmyn }
},
[TRAINER_JONAS] =
@@ -7066,7 +7066,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Jonas }
+ .party = {.NoItemCustomMoves = sParty_Jonas }
},
[TRAINER_KAYLEY] =
@@ -7080,7 +7080,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Kayley }
+ .party = {.NoItemCustomMoves = sParty_Kayley }
},
[TRAINER_AURON] =
@@ -7094,7 +7094,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Auron }
+ .party = {.NoItemDefaultMoves = sParty_Auron }
},
[TRAINER_KELVIN] =
@@ -7108,7 +7108,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Kelvin }
+ .party = {.NoItemDefaultMoves = sParty_Kelvin }
},
[TRAINER_MARLEY] =
@@ -7122,7 +7122,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.ItemCustomMoves = gTrainerParty_Marley }
+ .party = {.ItemCustomMoves = sParty_Marley }
},
[TRAINER_REYNA] =
@@ -7136,7 +7136,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Reyna }
+ .party = {.NoItemDefaultMoves = sParty_Reyna }
},
[TRAINER_HUDSON] =
@@ -7150,7 +7150,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Hudson }
+ .party = {.NoItemDefaultMoves = sParty_Hudson }
},
[TRAINER_CONOR] =
@@ -7164,7 +7164,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Conor }
+ .party = {.NoItemDefaultMoves = sParty_Conor }
},
[TRAINER_EDWIN_1] =
@@ -7178,7 +7178,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Edwin1 }
+ .party = {.NoItemDefaultMoves = sParty_Edwin1 }
},
[TRAINER_HECTOR] =
@@ -7192,7 +7192,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Hector }
+ .party = {.NoItemDefaultMoves = sParty_Hector }
},
[TRAINER_TABITHA_1] =
@@ -7206,7 +7206,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha1 }
+ .party = {.NoItemDefaultMoves = sParty_Tabitha1 }
},
[TRAINER_EDWIN_2] =
@@ -7220,7 +7220,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Edwin2 }
+ .party = {.NoItemDefaultMoves = sParty_Edwin2 }
},
[TRAINER_EDWIN_3] =
@@ -7234,7 +7234,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Edwin3 }
+ .party = {.NoItemDefaultMoves = sParty_Edwin3 }
},
[TRAINER_EDWIN_4] =
@@ -7248,7 +7248,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Edwin4 }
+ .party = {.NoItemDefaultMoves = sParty_Edwin4 }
},
[TRAINER_EDWIN_5] =
@@ -7262,7 +7262,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Edwin5 }
+ .party = {.NoItemDefaultMoves = sParty_Edwin5 }
},
[TRAINER_WALLY_1] =
@@ -7276,7 +7276,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.NoItemCustomMoves = gTrainerParty_Wally1 }
+ .party = {.NoItemCustomMoves = sParty_Wally1 }
},
[TRAINER_BRENDAN_1] =
@@ -7290,7 +7290,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan1 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan1 }
},
[TRAINER_BRENDAN_2] =
@@ -7304,7 +7304,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan2 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan2 }
},
[TRAINER_BRENDAN_3] =
@@ -7318,7 +7318,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan3 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan3 }
},
[TRAINER_BRENDAN_4] =
@@ -7332,7 +7332,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan4 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan4 }
},
[TRAINER_BRENDAN_5] =
@@ -7346,7 +7346,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan5 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan5 }
},
[TRAINER_BRENDAN_6] =
@@ -7360,7 +7360,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan6 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan6 }
},
[TRAINER_BRENDAN_7] =
@@ -7374,7 +7374,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan7 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan7 }
},
[TRAINER_BRENDAN_8] =
@@ -7388,7 +7388,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan8 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan8 }
},
[TRAINER_BRENDAN_9] =
@@ -7402,7 +7402,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan9 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan9 }
},
[TRAINER_MAY_1] =
@@ -7416,7 +7416,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_May1 }
+ .party = {.NoItemDefaultMoves = sParty_May1 }
},
[TRAINER_MAY_2] =
@@ -7430,7 +7430,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_May2 }
+ .party = {.NoItemDefaultMoves = sParty_May2 }
},
[TRAINER_MAY_3] =
@@ -7444,7 +7444,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_May3 }
+ .party = {.NoItemDefaultMoves = sParty_May3 }
},
[TRAINER_MAY_4] =
@@ -7458,7 +7458,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_May4 }
+ .party = {.NoItemDefaultMoves = sParty_May4 }
},
[TRAINER_MAY_5] =
@@ -7472,7 +7472,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_May5 }
+ .party = {.NoItemDefaultMoves = sParty_May5 }
},
[TRAINER_MAY_6] =
@@ -7486,7 +7486,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_May6 }
+ .party = {.NoItemDefaultMoves = sParty_May6 }
},
[TRAINER_MAY_7] =
@@ -7500,7 +7500,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_May7 }
+ .party = {.NoItemDefaultMoves = sParty_May7 }
},
[TRAINER_MAY_8] =
@@ -7514,7 +7514,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_May8 }
+ .party = {.NoItemDefaultMoves = sParty_May8 }
},
[TRAINER_MAY_9] =
@@ -7528,7 +7528,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_May9 }
+ .party = {.NoItemDefaultMoves = sParty_May9 }
},
[TRAINER_ISAAC_1] =
@@ -7542,7 +7542,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Isaac1 }
+ .party = {.NoItemDefaultMoves = sParty_Isaac1 }
},
[TRAINER_DAVIS] =
@@ -7556,7 +7556,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Davis }
+ .party = {.NoItemDefaultMoves = sParty_Davis }
},
[TRAINER_MITCHELL] =
@@ -7570,7 +7570,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Mitchell }
+ .party = {.NoItemCustomMoves = sParty_Mitchell }
},
[TRAINER_ISAAC_2] =
@@ -7584,7 +7584,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Isaac2 }
+ .party = {.NoItemDefaultMoves = sParty_Isaac2 }
},
[TRAINER_ISAAC_3] =
@@ -7598,7 +7598,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Isaac3 }
+ .party = {.NoItemDefaultMoves = sParty_Isaac3 }
},
[TRAINER_ISAAC_4] =
@@ -7612,7 +7612,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Isaac4 }
+ .party = {.NoItemDefaultMoves = sParty_Isaac4 }
},
[TRAINER_ISAAC_5] =
@@ -7626,7 +7626,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Isaac5 }
+ .party = {.NoItemDefaultMoves = sParty_Isaac5 }
},
[TRAINER_LYDIA_1] =
@@ -7640,7 +7640,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lydia1 }
+ .party = {.NoItemDefaultMoves = sParty_Lydia1 }
},
[TRAINER_HALLE] =
@@ -7654,7 +7654,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Halle }
+ .party = {.NoItemDefaultMoves = sParty_Halle }
},
[TRAINER_GARRISON] =
@@ -7668,7 +7668,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Garrison }
+ .party = {.NoItemDefaultMoves = sParty_Garrison }
},
[TRAINER_LYDIA_2] =
@@ -7682,7 +7682,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lydia2 }
+ .party = {.NoItemDefaultMoves = sParty_Lydia2 }
},
[TRAINER_LYDIA_3] =
@@ -7696,7 +7696,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lydia3 }
+ .party = {.NoItemDefaultMoves = sParty_Lydia3 }
},
[TRAINER_LYDIA_4] =
@@ -7710,7 +7710,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lydia4 }
+ .party = {.NoItemDefaultMoves = sParty_Lydia4 }
},
[TRAINER_LYDIA_5] =
@@ -7724,7 +7724,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lydia5 }
+ .party = {.NoItemDefaultMoves = sParty_Lydia5 }
},
[TRAINER_JACKSON_1] =
@@ -7738,7 +7738,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jackson1 }
+ .party = {.NoItemDefaultMoves = sParty_Jackson1 }
},
[TRAINER_LORENZO] =
@@ -7752,7 +7752,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lorenzo }
+ .party = {.NoItemDefaultMoves = sParty_Lorenzo }
},
[TRAINER_SEBASTIAN] =
@@ -7766,7 +7766,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Sebastian }
+ .party = {.NoItemDefaultMoves = sParty_Sebastian }
},
[TRAINER_JACKSON_2] =
@@ -7780,7 +7780,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jackson2 }
+ .party = {.NoItemDefaultMoves = sParty_Jackson2 }
},
[TRAINER_JACKSON_3] =
@@ -7794,7 +7794,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jackson3 }
+ .party = {.NoItemDefaultMoves = sParty_Jackson3 }
},
[TRAINER_JACKSON_4] =
@@ -7808,7 +7808,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jackson4 }
+ .party = {.NoItemDefaultMoves = sParty_Jackson4 }
},
[TRAINER_JACKSON_5] =
@@ -7822,7 +7822,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jackson5 }
+ .party = {.NoItemDefaultMoves = sParty_Jackson5 }
},
[TRAINER_CATHERINE_1] =
@@ -7836,7 +7836,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Catherine1 }
+ .party = {.NoItemDefaultMoves = sParty_Catherine1 }
},
[TRAINER_JENNA] =
@@ -7850,7 +7850,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jenna }
+ .party = {.NoItemDefaultMoves = sParty_Jenna }
},
[TRAINER_SOPHIA] =
@@ -7864,7 +7864,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Sophia }
+ .party = {.NoItemDefaultMoves = sParty_Sophia }
},
[TRAINER_CATHERINE_2] =
@@ -7878,7 +7878,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Catherine2 }
+ .party = {.NoItemDefaultMoves = sParty_Catherine2 }
},
[TRAINER_CATHERINE_3] =
@@ -7892,7 +7892,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Catherine3 }
+ .party = {.NoItemDefaultMoves = sParty_Catherine3 }
},
[TRAINER_CATHERINE_4] =
@@ -7906,7 +7906,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Catherine4 }
+ .party = {.NoItemDefaultMoves = sParty_Catherine4 }
},
[TRAINER_CATHERINE_5] =
@@ -7920,7 +7920,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Catherine5 }
+ .party = {.NoItemDefaultMoves = sParty_Catherine5 }
},
[TRAINER_JULIO] =
@@ -7934,7 +7934,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Julio }
+ .party = {.NoItemDefaultMoves = sParty_Julio }
},
[TRAINER_GRUNT_27] =
@@ -7948,7 +7948,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt27 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt27 }
},
[TRAINER_GRUNT_28] =
@@ -7962,7 +7962,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt28 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt28 }
},
[TRAINER_GRUNT_29] =
@@ -7976,7 +7976,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt29 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt29 }
},
[TRAINER_GRUNT_30] =
@@ -7990,7 +7990,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt30 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt30 }
},
[TRAINER_MARC] =
@@ -8004,7 +8004,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Marc }
+ .party = {.NoItemDefaultMoves = sParty_Marc }
},
[TRAINER_BRENDEN] =
@@ -8018,7 +8018,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brenden }
+ .party = {.NoItemDefaultMoves = sParty_Brenden }
},
[TRAINER_LILITH] =
@@ -8032,7 +8032,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lilith }
+ .party = {.NoItemDefaultMoves = sParty_Lilith }
},
[TRAINER_CRISTIAN] =
@@ -8046,7 +8046,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cristian }
+ .party = {.NoItemDefaultMoves = sParty_Cristian }
},
[TRAINER_SYLVIA] =
@@ -8060,7 +8060,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Sylvia }
+ .party = {.NoItemDefaultMoves = sParty_Sylvia }
},
[TRAINER_LEONARDO] =
@@ -8074,7 +8074,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Leonardo }
+ .party = {.NoItemDefaultMoves = sParty_Leonardo }
},
[TRAINER_ATHENA] =
@@ -8088,7 +8088,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.ItemCustomMoves = gTrainerParty_Athena }
+ .party = {.ItemCustomMoves = sParty_Athena }
},
[TRAINER_HARRISON] =
@@ -8102,7 +8102,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Harrison }
+ .party = {.NoItemDefaultMoves = sParty_Harrison }
},
[TRAINER_GRUNT_31] =
@@ -8116,7 +8116,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt31 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt31 }
},
[TRAINER_CLARENCE] =
@@ -8130,7 +8130,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Clarence }
+ .party = {.NoItemDefaultMoves = sParty_Clarence }
},
[TRAINER_TERRY] =
@@ -8144,7 +8144,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Terry }
+ .party = {.NoItemDefaultMoves = sParty_Terry }
},
[TRAINER_NATE] =
@@ -8158,7 +8158,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nate }
+ .party = {.NoItemDefaultMoves = sParty_Nate }
},
[TRAINER_KATHLEEN] =
@@ -8172,7 +8172,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Kathleen }
+ .party = {.NoItemDefaultMoves = sParty_Kathleen }
},
[TRAINER_CLIFFORD] =
@@ -8186,7 +8186,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Clifford }
+ .party = {.NoItemDefaultMoves = sParty_Clifford }
},
[TRAINER_NICHOLAS] =
@@ -8200,7 +8200,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Nicholas }
+ .party = {.NoItemDefaultMoves = sParty_Nicholas }
},
[TRAINER_GRUNT_32] =
@@ -8214,7 +8214,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt32 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt32 }
},
[TRAINER_GRUNT_33] =
@@ -8228,7 +8228,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt33 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt33 }
},
[TRAINER_GRUNT_34] =
@@ -8242,7 +8242,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt34 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt34 }
},
[TRAINER_GRUNT_35] =
@@ -8256,7 +8256,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt35 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt35 }
},
[TRAINER_GRUNT_36] =
@@ -8270,7 +8270,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt36 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt36 }
},
[TRAINER_MACEY] =
@@ -8284,7 +8284,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Macey }
+ .party = {.NoItemDefaultMoves = sParty_Macey }
},
[TRAINER_BRENDAN_10] =
@@ -8298,7 +8298,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan10 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan10 }
},
[TRAINER_BRENDAN_11] =
@@ -8312,7 +8312,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan11 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan11 }
},
[TRAINER_PAXTON] =
@@ -8326,7 +8326,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Paxton }
+ .party = {.NoItemDefaultMoves = sParty_Paxton }
},
[TRAINER_ISABELLA] =
@@ -8340,7 +8340,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Isabella }
+ .party = {.NoItemDefaultMoves = sParty_Isabella }
},
[TRAINER_GRUNT_37] =
@@ -8354,7 +8354,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt37 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt37 }
},
[TRAINER_TABITHA_2] =
@@ -8368,7 +8368,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha2 }
+ .party = {.NoItemDefaultMoves = sParty_Tabitha2 }
},
[TRAINER_JONATHAN] =
@@ -8382,7 +8382,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jonathan }
+ .party = {.NoItemDefaultMoves = sParty_Jonathan }
},
[TRAINER_BRENDAN_12] =
@@ -8396,7 +8396,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan12 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan12 }
},
[TRAINER_MAY_10] =
@@ -8410,7 +8410,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_May10 }
+ .party = {.NoItemDefaultMoves = sParty_May10 }
},
[TRAINER_MAXIE_1] =
@@ -8424,7 +8424,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Maxie1 }
+ .party = {.NoItemDefaultMoves = sParty_Maxie1 }
},
[TRAINER_MAXIE_2] =
@@ -8438,7 +8438,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Maxie2 }
+ .party = {.NoItemDefaultMoves = sParty_Maxie2 }
},
[TRAINER_TIANA] =
@@ -8452,7 +8452,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tiana }
+ .party = {.NoItemDefaultMoves = sParty_Tiana }
},
[TRAINER_HALEY_1] =
@@ -8466,7 +8466,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Haley1 }
+ .party = {.NoItemDefaultMoves = sParty_Haley1 }
},
[TRAINER_JANICE] =
@@ -8480,7 +8480,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Janice }
+ .party = {.NoItemDefaultMoves = sParty_Janice }
},
[TRAINER_VIVI] =
@@ -8494,7 +8494,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Vivi }
+ .party = {.NoItemDefaultMoves = sParty_Vivi }
},
[TRAINER_HALEY_2] =
@@ -8508,7 +8508,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Haley2 }
+ .party = {.NoItemDefaultMoves = sParty_Haley2 }
},
[TRAINER_HALEY_3] =
@@ -8522,7 +8522,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Haley3 }
+ .party = {.NoItemDefaultMoves = sParty_Haley3 }
},
[TRAINER_HALEY_4] =
@@ -8536,7 +8536,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Haley4 }
+ .party = {.NoItemDefaultMoves = sParty_Haley4 }
},
[TRAINER_HALEY_5] =
@@ -8550,7 +8550,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Haley5 }
+ .party = {.NoItemDefaultMoves = sParty_Haley5 }
},
[TRAINER_SALLY] =
@@ -8564,7 +8564,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Sally }
+ .party = {.NoItemDefaultMoves = sParty_Sally }
},
[TRAINER_ROBIN] =
@@ -8578,7 +8578,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Robin }
+ .party = {.NoItemDefaultMoves = sParty_Robin }
},
[TRAINER_ANDREA] =
@@ -8592,7 +8592,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Andrea }
+ .party = {.NoItemDefaultMoves = sParty_Andrea }
},
[TRAINER_CRISSY] =
@@ -8606,7 +8606,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Crissy }
+ .party = {.NoItemDefaultMoves = sParty_Crissy }
},
[TRAINER_RICK] =
@@ -8620,7 +8620,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Rick }
+ .party = {.NoItemDefaultMoves = sParty_Rick }
},
[TRAINER_LYLE] =
@@ -8634,7 +8634,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lyle }
+ .party = {.NoItemDefaultMoves = sParty_Lyle }
},
[TRAINER_JOSE] =
@@ -8648,7 +8648,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jose }
+ .party = {.NoItemDefaultMoves = sParty_Jose }
},
[TRAINER_DOUG] =
@@ -8662,7 +8662,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Doug }
+ .party = {.NoItemDefaultMoves = sParty_Doug }
},
[TRAINER_GREG] =
@@ -8676,7 +8676,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Greg }
+ .party = {.NoItemDefaultMoves = sParty_Greg }
},
[TRAINER_KENT] =
@@ -8690,7 +8690,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Kent }
+ .party = {.NoItemDefaultMoves = sParty_Kent }
},
[TRAINER_JAMES_1] =
@@ -8704,7 +8704,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_James1 }
+ .party = {.NoItemDefaultMoves = sParty_James1 }
},
[TRAINER_JAMES_2] =
@@ -8718,7 +8718,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_James2 }
+ .party = {.NoItemDefaultMoves = sParty_James2 }
},
[TRAINER_JAMES_3] =
@@ -8732,7 +8732,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_James3 }
+ .party = {.NoItemDefaultMoves = sParty_James3 }
},
[TRAINER_JAMES_4] =
@@ -8746,7 +8746,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_James4 }
+ .party = {.NoItemDefaultMoves = sParty_James4 }
},
[TRAINER_JAMES_5] =
@@ -8760,7 +8760,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_James5 }
+ .party = {.NoItemDefaultMoves = sParty_James5 }
},
[TRAINER_BRICE] =
@@ -8774,7 +8774,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brice }
+ .party = {.NoItemDefaultMoves = sParty_Brice }
},
[TRAINER_TRENT_1] =
@@ -8788,7 +8788,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Trent1 }
+ .party = {.NoItemDefaultMoves = sParty_Trent1 }
},
[TRAINER_LENNY] =
@@ -8802,7 +8802,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lenny }
+ .party = {.NoItemDefaultMoves = sParty_Lenny }
},
[TRAINER_LUCAS_1] =
@@ -8816,7 +8816,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lucas1 }
+ .party = {.NoItemDefaultMoves = sParty_Lucas1 }
},
[TRAINER_ALAN] =
@@ -8830,7 +8830,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Alan }
+ .party = {.NoItemDefaultMoves = sParty_Alan }
},
[TRAINER_CLARK] =
@@ -8844,7 +8844,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Clark }
+ .party = {.NoItemDefaultMoves = sParty_Clark }
},
[TRAINER_ERIC] =
@@ -8858,7 +8858,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Eric }
+ .party = {.NoItemDefaultMoves = sParty_Eric }
},
[TRAINER_LUCAS_2] =
@@ -8872,7 +8872,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Lucas2 }
+ .party = {.NoItemCustomMoves = sParty_Lucas2 }
},
[TRAINER_MIKE_1] =
@@ -8886,7 +8886,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Mike1 }
+ .party = {.NoItemCustomMoves = sParty_Mike1 }
},
[TRAINER_MIKE_2] =
@@ -8900,7 +8900,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Mike2 }
+ .party = {.NoItemDefaultMoves = sParty_Mike2 }
},
[TRAINER_TRENT_2] =
@@ -8914,7 +8914,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Trent2 }
+ .party = {.NoItemDefaultMoves = sParty_Trent2 }
},
[TRAINER_TRENT_3] =
@@ -8928,7 +8928,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Trent3 }
+ .party = {.NoItemDefaultMoves = sParty_Trent3 }
},
[TRAINER_TRENT_4] =
@@ -8942,7 +8942,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Trent4 }
+ .party = {.NoItemDefaultMoves = sParty_Trent4 }
},
[TRAINER_TRENT_5] =
@@ -8956,7 +8956,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Trent5 }
+ .party = {.NoItemDefaultMoves = sParty_Trent5 }
},
[TRAINER_DEZ_AND_LUKE] =
@@ -8970,7 +8970,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_DezAndLuke }
+ .party = {.NoItemDefaultMoves = sParty_DezAndLuke }
},
[TRAINER_LEA_AND_JED] =
@@ -8984,7 +8984,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_LeaAndJed }
+ .party = {.NoItemDefaultMoves = sParty_LeaAndJed }
},
[TRAINER_KIRA_AND_DAN_1] =
@@ -8998,7 +8998,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan1 }
+ .party = {.NoItemDefaultMoves = sParty_KiraAndDan1 }
},
[TRAINER_KIRA_AND_DAN_2] =
@@ -9012,7 +9012,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan2 }
+ .party = {.NoItemDefaultMoves = sParty_KiraAndDan2 }
},
[TRAINER_KIRA_AND_DAN_3] =
@@ -9026,7 +9026,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan3 }
+ .party = {.NoItemDefaultMoves = sParty_KiraAndDan3 }
},
[TRAINER_KIRA_AND_DAN_4] =
@@ -9040,7 +9040,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan4 }
+ .party = {.NoItemDefaultMoves = sParty_KiraAndDan4 }
},
[TRAINER_KIRA_AND_DAN_5] =
@@ -9054,7 +9054,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan5 }
+ .party = {.NoItemDefaultMoves = sParty_KiraAndDan5 }
},
[TRAINER_JOHANNA] =
@@ -9068,7 +9068,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Johanna }
+ .party = {.NoItemDefaultMoves = sParty_Johanna }
},
[TRAINER_GERALD] =
@@ -9082,7 +9082,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Gerald }
+ .party = {.NoItemCustomMoves = sParty_Gerald }
},
[TRAINER_VIVIAN] =
@@ -9096,7 +9096,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Vivian }
+ .party = {.NoItemCustomMoves = sParty_Vivian }
},
[TRAINER_DANIELLE] =
@@ -9110,7 +9110,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Danielle }
+ .party = {.NoItemCustomMoves = sParty_Danielle }
},
[TRAINER_HIDEO] =
@@ -9124,7 +9124,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Hideo }
+ .party = {.NoItemCustomMoves = sParty_Hideo }
},
[TRAINER_KEIGO] =
@@ -9138,7 +9138,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Keigo }
+ .party = {.NoItemCustomMoves = sParty_Keigo }
},
[TRAINER_RILEY] =
@@ -9152,7 +9152,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_Riley }
+ .party = {.NoItemCustomMoves = sParty_Riley }
},
[TRAINER_FLINT] =
@@ -9166,7 +9166,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Flint }
+ .party = {.NoItemDefaultMoves = sParty_Flint }
},
[TRAINER_ASHLEY] =
@@ -9180,7 +9180,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ashley }
+ .party = {.NoItemDefaultMoves = sParty_Ashley }
},
[TRAINER_WALLY_2] =
@@ -9194,7 +9194,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Wally2 }
+ .party = {.NoItemDefaultMoves = sParty_Wally2 }
},
[TRAINER_WALLY_3] =
@@ -9208,7 +9208,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.NoItemCustomMoves = gTrainerParty_Wally3 }
+ .party = {.NoItemCustomMoves = sParty_Wally3 }
},
[TRAINER_WALLY_4] =
@@ -9222,7 +9222,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.NoItemCustomMoves = gTrainerParty_Wally4 }
+ .party = {.NoItemCustomMoves = sParty_Wally4 }
},
[TRAINER_WALLY_5] =
@@ -9236,7 +9236,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.NoItemCustomMoves = gTrainerParty_Wally5 }
+ .party = {.NoItemCustomMoves = sParty_Wally5 }
},
[TRAINER_WALLY_6] =
@@ -9250,7 +9250,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.NoItemCustomMoves = gTrainerParty_Wally6 }
+ .party = {.NoItemCustomMoves = sParty_Wally6 }
},
[TRAINER_BRENDAN_13] =
@@ -9264,7 +9264,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan13 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan13 }
},
[TRAINER_BRENDAN_14] =
@@ -9278,7 +9278,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan14 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan14 }
},
[TRAINER_BRENDAN_15] =
@@ -9292,7 +9292,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan15 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan15 }
},
[TRAINER_MAY_11] =
@@ -9306,7 +9306,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_May11 }
+ .party = {.NoItemDefaultMoves = sParty_May11 }
},
[TRAINER_MAY_12] =
@@ -9320,7 +9320,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_May12 }
+ .party = {.NoItemDefaultMoves = sParty_May12 }
},
[TRAINER_MAY_13] =
@@ -9334,7 +9334,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_May13 }
+ .party = {.NoItemDefaultMoves = sParty_May13 }
},
[TRAINER_JONAH] =
@@ -9348,7 +9348,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jonah }
+ .party = {.NoItemDefaultMoves = sParty_Jonah }
},
[TRAINER_HENRY] =
@@ -9362,7 +9362,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Henry }
+ .party = {.NoItemDefaultMoves = sParty_Henry }
},
[TRAINER_ROGER] =
@@ -9376,7 +9376,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Roger }
+ .party = {.NoItemDefaultMoves = sParty_Roger }
},
[TRAINER_ALEXA] =
@@ -9390,7 +9390,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Alexa }
+ .party = {.NoItemDefaultMoves = sParty_Alexa }
},
[TRAINER_RUBEN] =
@@ -9404,7 +9404,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Ruben }
+ .party = {.NoItemDefaultMoves = sParty_Ruben }
},
[TRAINER_KOJI_1] =
@@ -9418,7 +9418,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Koji1 }
+ .party = {.NoItemDefaultMoves = sParty_Koji1 }
},
[TRAINER_WAYNE] =
@@ -9432,7 +9432,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Wayne }
+ .party = {.NoItemDefaultMoves = sParty_Wayne }
},
[TRAINER_AIDAN] =
@@ -9446,7 +9446,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Aidan }
+ .party = {.NoItemDefaultMoves = sParty_Aidan }
},
[TRAINER_REED] =
@@ -9460,7 +9460,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Reed }
+ .party = {.NoItemDefaultMoves = sParty_Reed }
},
[TRAINER_TISHA] =
@@ -9474,7 +9474,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tisha }
+ .party = {.NoItemDefaultMoves = sParty_Tisha }
},
[TRAINER_TORI_AND_TIA] =
@@ -9488,7 +9488,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_ToriAndTia }
+ .party = {.NoItemDefaultMoves = sParty_ToriAndTia }
},
[TRAINER_KIM_AND_IRIS] =
@@ -9502,7 +9502,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_KimAndIris }
+ .party = {.NoItemCustomMoves = sParty_KimAndIris }
},
[TRAINER_TYRA_AND_IVY] =
@@ -9516,7 +9516,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_TyraAndIvy }
+ .party = {.NoItemCustomMoves = sParty_TyraAndIvy }
},
[TRAINER_MEL_AND_PAUL] =
@@ -9530,7 +9530,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_MelAndPaul }
+ .party = {.NoItemCustomMoves = sParty_MelAndPaul }
},
[TRAINER_JOHN_AND_JAY_1] =
@@ -9544,7 +9544,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay1 }
+ .party = {.NoItemCustomMoves = sParty_JohnAndJay1 }
},
[TRAINER_JOHN_AND_JAY_2] =
@@ -9558,7 +9558,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay2 }
+ .party = {.NoItemCustomMoves = sParty_JohnAndJay2 }
},
[TRAINER_JOHN_AND_JAY_3] =
@@ -9572,7 +9572,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay3 }
+ .party = {.NoItemCustomMoves = sParty_JohnAndJay3 }
},
[TRAINER_JOHN_AND_JAY_4] =
@@ -9586,7 +9586,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay4 }
+ .party = {.NoItemCustomMoves = sParty_JohnAndJay4 }
},
[TRAINER_JOHN_AND_JAY_5] =
@@ -9600,7 +9600,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay5 }
+ .party = {.NoItemCustomMoves = sParty_JohnAndJay5 }
},
[TRAINER_RELI_AND_IAN] =
@@ -9614,7 +9614,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_ReliAndIan }
+ .party = {.NoItemDefaultMoves = sParty_ReliAndIan }
},
[TRAINER_LILA_AND_ROY_1] =
@@ -9628,7 +9628,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy1 }
+ .party = {.NoItemDefaultMoves = sParty_LilaAndRoy1 }
},
[TRAINER_LILA_AND_ROY_2] =
@@ -9642,7 +9642,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy2 }
+ .party = {.NoItemDefaultMoves = sParty_LilaAndRoy2 }
},
[TRAINER_LILA_AND_ROY_3] =
@@ -9656,7 +9656,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy3 }
+ .party = {.NoItemDefaultMoves = sParty_LilaAndRoy3 }
},
[TRAINER_LILA_AND_ROY_4] =
@@ -9670,7 +9670,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy4 }
+ .party = {.NoItemDefaultMoves = sParty_LilaAndRoy4 }
},
[TRAINER_LILA_AND_ROY_5] =
@@ -9684,7 +9684,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy5 }
+ .party = {.NoItemDefaultMoves = sParty_LilaAndRoy5 }
},
[TRAINER_LISA_AND_RAY] =
@@ -9698,7 +9698,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_LisaAndRay }
+ .party = {.NoItemDefaultMoves = sParty_LisaAndRay }
},
[TRAINER_CHRIS] =
@@ -9712,7 +9712,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Chris }
+ .party = {.NoItemDefaultMoves = sParty_Chris }
},
[TRAINER_DAWSON] =
@@ -9726,7 +9726,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.ItemDefaultMoves = gTrainerParty_Dawson }
+ .party = {.ItemDefaultMoves = sParty_Dawson }
},
[TRAINER_SARAH] =
@@ -9740,7 +9740,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.ItemDefaultMoves = gTrainerParty_Sarah }
+ .party = {.ItemDefaultMoves = sParty_Sarah }
},
[TRAINER_DARIAN] =
@@ -9754,7 +9754,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Darian }
+ .party = {.NoItemDefaultMoves = sParty_Darian }
},
[TRAINER_HAILEY] =
@@ -9768,7 +9768,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Hailey }
+ .party = {.NoItemDefaultMoves = sParty_Hailey }
},
[TRAINER_CHANDLER] =
@@ -9782,7 +9782,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Chandler }
+ .party = {.NoItemDefaultMoves = sParty_Chandler }
},
[TRAINER_KALEB] =
@@ -9796,7 +9796,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.ItemDefaultMoves = gTrainerParty_Kaleb }
+ .party = {.ItemDefaultMoves = sParty_Kaleb }
},
[TRAINER_JOSEPH] =
@@ -9810,7 +9810,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Joseph }
+ .party = {.NoItemDefaultMoves = sParty_Joseph }
},
[TRAINER_ALYSSA] =
@@ -9824,7 +9824,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Alyssa }
+ .party = {.NoItemDefaultMoves = sParty_Alyssa }
},
[TRAINER_MARCOS] =
@@ -9838,7 +9838,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Marcos }
+ .party = {.NoItemDefaultMoves = sParty_Marcos }
},
[TRAINER_RHETT] =
@@ -9852,7 +9852,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Rhett }
+ .party = {.NoItemDefaultMoves = sParty_Rhett }
},
[TRAINER_TYRON] =
@@ -9866,7 +9866,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tyron }
+ .party = {.NoItemDefaultMoves = sParty_Tyron }
},
[TRAINER_CELINA] =
@@ -9880,7 +9880,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Celina }
+ .party = {.NoItemDefaultMoves = sParty_Celina }
},
[TRAINER_BIANCA] =
@@ -9894,7 +9894,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Bianca }
+ .party = {.NoItemDefaultMoves = sParty_Bianca }
},
[TRAINER_HAYDEN] =
@@ -9908,7 +9908,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Hayden }
+ .party = {.NoItemDefaultMoves = sParty_Hayden }
},
[TRAINER_SOPHIE] =
@@ -9922,7 +9922,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Sophie }
+ .party = {.NoItemDefaultMoves = sParty_Sophie }
},
[TRAINER_COBY] =
@@ -9936,7 +9936,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Coby }
+ .party = {.NoItemDefaultMoves = sParty_Coby }
},
[TRAINER_LAWRENCE] =
@@ -9950,7 +9950,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lawrence }
+ .party = {.NoItemDefaultMoves = sParty_Lawrence }
},
[TRAINER_WYATT] =
@@ -9964,7 +9964,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Wyatt }
+ .party = {.NoItemDefaultMoves = sParty_Wyatt }
},
[TRAINER_ANGELINA] =
@@ -9978,7 +9978,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Angelina }
+ .party = {.NoItemDefaultMoves = sParty_Angelina }
},
[TRAINER_KAI] =
@@ -9992,7 +9992,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Kai }
+ .party = {.NoItemDefaultMoves = sParty_Kai }
},
[TRAINER_CHARLOTTE] =
@@ -10006,7 +10006,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Charlotte }
+ .party = {.NoItemDefaultMoves = sParty_Charlotte }
},
[TRAINER_DEANDRE] =
@@ -10020,7 +10020,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Deandre }
+ .party = {.NoItemDefaultMoves = sParty_Deandre }
},
[TRAINER_GRUNT_38] =
@@ -10034,7 +10034,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt38 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt38 }
},
[TRAINER_GRUNT_39] =
@@ -10048,7 +10048,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt39 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt39 }
},
[TRAINER_GRUNT_40] =
@@ -10062,7 +10062,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt40 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt40 }
},
[TRAINER_GRUNT_41] =
@@ -10076,7 +10076,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt41 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt41 }
},
[TRAINER_GRUNT_42] =
@@ -10090,7 +10090,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt42 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt42 }
},
[TRAINER_GRUNT_43] =
@@ -10104,7 +10104,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt43 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt43 }
},
[TRAINER_GRUNT_44] =
@@ -10118,7 +10118,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt44 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt44 }
},
[TRAINER_GRUNT_45] =
@@ -10132,7 +10132,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt45 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt45 }
},
[TRAINER_GRUNT_46] =
@@ -10146,7 +10146,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt46 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt46 }
},
[TRAINER_GRUNT_47] =
@@ -10160,7 +10160,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt47 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt47 }
},
[TRAINER_GRUNT_48] =
@@ -10174,7 +10174,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt48 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt48 }
},
[TRAINER_GRUNT_49] =
@@ -10188,7 +10188,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt49 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt49 }
},
[TRAINER_GRUNT_50] =
@@ -10202,7 +10202,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt50 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt50 }
},
[TRAINER_GRUNT_51] =
@@ -10216,7 +10216,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt51 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt51 }
},
[TRAINER_GRUNT_52] =
@@ -10230,7 +10230,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt52 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt52 }
},
[TRAINER_GRUNT_53] =
@@ -10244,7 +10244,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Grunt53 }
+ .party = {.NoItemDefaultMoves = sParty_Grunt53 }
},
[TRAINER_TABITHA_3] =
@@ -10258,7 +10258,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 4,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha3 }
+ .party = {.NoItemDefaultMoves = sParty_Tabitha3 }
},
[TRAINER_DARCY] =
@@ -10272,7 +10272,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Darcy }
+ .party = {.NoItemDefaultMoves = sParty_Darcy }
},
[TRAINER_MAXIE_3] =
@@ -10286,7 +10286,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Maxie3 }
+ .party = {.NoItemDefaultMoves = sParty_Maxie3 }
},
[TRAINER_PETE] =
@@ -10300,7 +10300,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Pete }
+ .party = {.NoItemDefaultMoves = sParty_Pete }
},
[TRAINER_ISABELLE] =
@@ -10314,7 +10314,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Isabelle }
+ .party = {.NoItemDefaultMoves = sParty_Isabelle }
},
[TRAINER_ANDRES_1] =
@@ -10328,7 +10328,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Andres1 }
+ .party = {.NoItemDefaultMoves = sParty_Andres1 }
},
[TRAINER_JOSUE] =
@@ -10342,7 +10342,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Josue }
+ .party = {.NoItemDefaultMoves = sParty_Josue }
},
[TRAINER_CAMRON] =
@@ -10356,7 +10356,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Camron }
+ .party = {.NoItemDefaultMoves = sParty_Camron }
},
[TRAINER_CORY_1] =
@@ -10370,7 +10370,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cory1 }
+ .party = {.NoItemDefaultMoves = sParty_Cory1 }
},
[TRAINER_CAROLINA] =
@@ -10384,7 +10384,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Carolina }
+ .party = {.NoItemDefaultMoves = sParty_Carolina }
},
[TRAINER_ELIJAH] =
@@ -10398,7 +10398,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Elijah }
+ .party = {.NoItemDefaultMoves = sParty_Elijah }
},
[TRAINER_CELIA] =
@@ -10412,7 +10412,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Celia }
+ .party = {.NoItemDefaultMoves = sParty_Celia }
},
[TRAINER_BRYAN] =
@@ -10426,7 +10426,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Bryan }
+ .party = {.NoItemDefaultMoves = sParty_Bryan }
},
[TRAINER_BRANDEN] =
@@ -10440,7 +10440,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Branden }
+ .party = {.NoItemDefaultMoves = sParty_Branden }
},
[TRAINER_BRYANT] =
@@ -10454,7 +10454,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Bryant }
+ .party = {.NoItemDefaultMoves = sParty_Bryant }
},
[TRAINER_SHAYLA] =
@@ -10468,7 +10468,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Shayla }
+ .party = {.NoItemDefaultMoves = sParty_Shayla }
},
[TRAINER_KYRA] =
@@ -10482,7 +10482,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Kyra }
+ .party = {.NoItemDefaultMoves = sParty_Kyra }
},
[TRAINER_JAIDEN] =
@@ -10496,7 +10496,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Jaiden }
+ .party = {.NoItemDefaultMoves = sParty_Jaiden }
},
[TRAINER_ALIX] =
@@ -10510,7 +10510,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Alix }
+ .party = {.NoItemDefaultMoves = sParty_Alix }
},
[TRAINER_HELENE] =
@@ -10524,7 +10524,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Helene }
+ .party = {.NoItemDefaultMoves = sParty_Helene }
},
[TRAINER_MARLENE] =
@@ -10538,7 +10538,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Marlene }
+ .party = {.NoItemDefaultMoves = sParty_Marlene }
},
[TRAINER_DEVAN] =
@@ -10552,7 +10552,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Devan }
+ .party = {.NoItemDefaultMoves = sParty_Devan }
},
[TRAINER_JOHNSON] =
@@ -10566,7 +10566,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Johnson }
+ .party = {.NoItemDefaultMoves = sParty_Johnson }
},
[TRAINER_MELINA] =
@@ -10580,7 +10580,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Melina }
+ .party = {.NoItemDefaultMoves = sParty_Melina }
},
[TRAINER_BRANDI] =
@@ -10594,7 +10594,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brandi }
+ .party = {.NoItemDefaultMoves = sParty_Brandi }
},
[TRAINER_AISHA] =
@@ -10608,7 +10608,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Aisha }
+ .party = {.NoItemDefaultMoves = sParty_Aisha }
},
[TRAINER_MAKAYLA] =
@@ -10622,7 +10622,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Makayla }
+ .party = {.NoItemDefaultMoves = sParty_Makayla }
},
[TRAINER_FABIAN] =
@@ -10636,7 +10636,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Fabian }
+ .party = {.NoItemDefaultMoves = sParty_Fabian }
},
[TRAINER_DAYTON] =
@@ -10650,7 +10650,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Dayton }
+ .party = {.NoItemDefaultMoves = sParty_Dayton }
},
[TRAINER_RACHEL] =
@@ -10664,7 +10664,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Rachel }
+ .party = {.NoItemDefaultMoves = sParty_Rachel }
},
[TRAINER_LEONEL] =
@@ -10678,7 +10678,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemCustomMoves = gTrainerParty_Leonel }
+ .party = {.NoItemCustomMoves = sParty_Leonel }
},
[TRAINER_CALLIE] =
@@ -10692,7 +10692,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Callie }
+ .party = {.NoItemDefaultMoves = sParty_Callie }
},
[TRAINER_CALE] =
@@ -10706,7 +10706,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cale }
+ .party = {.NoItemDefaultMoves = sParty_Cale }
},
[TRAINER_MYLES] =
@@ -10720,7 +10720,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Myles }
+ .party = {.NoItemDefaultMoves = sParty_Myles }
},
[TRAINER_PAT] =
@@ -10734,7 +10734,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Pat }
+ .party = {.NoItemDefaultMoves = sParty_Pat }
},
[TRAINER_CRISTIN_1] =
@@ -10748,7 +10748,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cristin1 }
+ .party = {.NoItemDefaultMoves = sParty_Cristin1 }
},
[TRAINER_MAY_14] =
@@ -10762,7 +10762,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_May14 }
+ .party = {.NoItemDefaultMoves = sParty_May14 }
},
[TRAINER_MAY_15] =
@@ -10776,7 +10776,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_May15 }
+ .party = {.NoItemDefaultMoves = sParty_May15 }
},
[TRAINER_ROXANNE_2] =
@@ -10790,7 +10790,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.ItemCustomMoves = gTrainerParty_Roxanne2 }
+ .party = {.ItemCustomMoves = sParty_Roxanne2 }
},
[TRAINER_ROXANNE_3] =
@@ -10804,7 +10804,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Roxanne3 }
+ .party = {.ItemCustomMoves = sParty_Roxanne3 }
},
[TRAINER_ROXANNE_4] =
@@ -10818,7 +10818,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Roxanne4 }
+ .party = {.ItemCustomMoves = sParty_Roxanne4 }
},
[TRAINER_ROXANNE_5] =
@@ -10832,7 +10832,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Roxanne5 }
+ .party = {.ItemCustomMoves = sParty_Roxanne5 }
},
[TRAINER_BRAWLY_2] =
@@ -10846,7 +10846,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.ItemCustomMoves = gTrainerParty_Brawly2 }
+ .party = {.ItemCustomMoves = sParty_Brawly2 }
},
[TRAINER_BRAWLY_3] =
@@ -10860,7 +10860,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.ItemCustomMoves = gTrainerParty_Brawly3 }
+ .party = {.ItemCustomMoves = sParty_Brawly3 }
},
[TRAINER_BRAWLY_4] =
@@ -10874,7 +10874,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Brawly4 }
+ .party = {.ItemCustomMoves = sParty_Brawly4 }
},
[TRAINER_BRAWLY_5] =
@@ -10888,7 +10888,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Brawly5 }
+ .party = {.ItemCustomMoves = sParty_Brawly5 }
},
[TRAINER_WATTSON_2] =
@@ -10902,7 +10902,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.ItemCustomMoves = gTrainerParty_Wattson2 }
+ .party = {.ItemCustomMoves = sParty_Wattson2 }
},
[TRAINER_WATTSON_3] =
@@ -10916,7 +10916,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Wattson3 }
+ .party = {.ItemCustomMoves = sParty_Wattson3 }
},
[TRAINER_WATTSON_4] =
@@ -10930,7 +10930,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Wattson4 }
+ .party = {.ItemCustomMoves = sParty_Wattson4 }
},
[TRAINER_WATTSON_5] =
@@ -10944,7 +10944,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Wattson5 }
+ .party = {.ItemCustomMoves = sParty_Wattson5 }
},
[TRAINER_FLANNERY_2] =
@@ -10958,7 +10958,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.ItemCustomMoves = gTrainerParty_Flannery2 }
+ .party = {.ItemCustomMoves = sParty_Flannery2 }
},
[TRAINER_FLANNERY_3] =
@@ -10972,7 +10972,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Flannery3 }
+ .party = {.ItemCustomMoves = sParty_Flannery3 }
},
[TRAINER_FLANNERY_4] =
@@ -10986,7 +10986,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Flannery4 }
+ .party = {.ItemCustomMoves = sParty_Flannery4 }
},
[TRAINER_FLANNERY_5] =
@@ -11000,7 +11000,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Flannery5 }
+ .party = {.ItemCustomMoves = sParty_Flannery5 }
},
[TRAINER_NORMAN_2] =
@@ -11014,7 +11014,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 4,
- .party = {.ItemCustomMoves = gTrainerParty_Norman2 }
+ .party = {.ItemCustomMoves = sParty_Norman2 }
},
[TRAINER_NORMAN_3] =
@@ -11028,7 +11028,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Norman3 }
+ .party = {.ItemCustomMoves = sParty_Norman3 }
},
[TRAINER_NORMAN_4] =
@@ -11042,7 +11042,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Norman4 }
+ .party = {.ItemCustomMoves = sParty_Norman4 }
},
[TRAINER_NORMAN_5] =
@@ -11056,7 +11056,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Norman5 }
+ .party = {.ItemCustomMoves = sParty_Norman5 }
},
[TRAINER_WINONA_2] =
@@ -11070,7 +11070,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Winona2 }
+ .party = {.ItemCustomMoves = sParty_Winona2 }
},
[TRAINER_WINONA_3] =
@@ -11084,7 +11084,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Winona3 }
+ .party = {.ItemCustomMoves = sParty_Winona3 }
},
[TRAINER_WINONA_4] =
@@ -11098,7 +11098,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Winona4 }
+ .party = {.ItemCustomMoves = sParty_Winona4 }
},
[TRAINER_WINONA_5] =
@@ -11112,7 +11112,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Winona5 }
+ .party = {.ItemCustomMoves = sParty_Winona5 }
},
[TRAINER_TATE_AND_LIZA_2] =
@@ -11126,7 +11126,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza2 }
+ .party = {.ItemCustomMoves = sParty_TateAndLiza2 }
},
[TRAINER_TATE_AND_LIZA_3] =
@@ -11140,7 +11140,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza3 }
+ .party = {.ItemCustomMoves = sParty_TateAndLiza3 }
},
[TRAINER_TATE_AND_LIZA_4] =
@@ -11154,7 +11154,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza4 }
+ .party = {.ItemCustomMoves = sParty_TateAndLiza4 }
},
[TRAINER_TATE_AND_LIZA_5] =
@@ -11168,7 +11168,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza5 }
+ .party = {.ItemCustomMoves = sParty_TateAndLiza5 }
},
[TRAINER_JUAN_2] =
@@ -11182,7 +11182,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Juan2 }
+ .party = {.ItemCustomMoves = sParty_Juan2 }
},
[TRAINER_JUAN_3] =
@@ -11196,7 +11196,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 5,
- .party = {.ItemCustomMoves = gTrainerParty_Juan3 }
+ .party = {.ItemCustomMoves = sParty_Juan3 }
},
[TRAINER_JUAN_4] =
@@ -11210,7 +11210,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Juan4 }
+ .party = {.ItemCustomMoves = sParty_Juan4 }
},
[TRAINER_JUAN_5] =
@@ -11224,7 +11224,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = TRUE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Juan5 }
+ .party = {.ItemCustomMoves = sParty_Juan5 }
},
[TRAINER_ANGELO] =
@@ -11238,7 +11238,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.ItemCustomMoves = gTrainerParty_Angelo }
+ .party = {.ItemCustomMoves = sParty_Angelo }
},
[TRAINER_DARIUS] =
@@ -11252,7 +11252,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Darius }
+ .party = {.NoItemDefaultMoves = sParty_Darius }
},
[TRAINER_STEVEN] =
@@ -11266,7 +11266,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 6,
- .party = {.ItemCustomMoves = gTrainerParty_Steven }
+ .party = {.ItemCustomMoves = sParty_Steven }
},
[TRAINER_ANABEL] =
@@ -11280,7 +11280,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Anabel }
+ .party = {.NoItemDefaultMoves = sParty_Anabel }
},
[TRAINER_TUCKER] =
@@ -11294,7 +11294,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Tucker }
+ .party = {.NoItemDefaultMoves = sParty_Tucker }
},
[TRAINER_SPENSER] =
@@ -11308,7 +11308,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Spenser }
+ .party = {.NoItemDefaultMoves = sParty_Spenser }
},
[TRAINER_GRETA] =
@@ -11322,7 +11322,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Greta }
+ .party = {.NoItemDefaultMoves = sParty_Greta }
},
[TRAINER_NOLAND] =
@@ -11336,7 +11336,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Noland }
+ .party = {.NoItemDefaultMoves = sParty_Noland }
},
[TRAINER_LUCY] =
@@ -11350,7 +11350,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Lucy }
+ .party = {.NoItemDefaultMoves = sParty_Lucy }
},
[TRAINER_BRANDON] =
@@ -11364,7 +11364,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brandon }
+ .party = {.NoItemDefaultMoves = sParty_Brandon }
},
[TRAINER_ANDRES_2] =
@@ -11378,7 +11378,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Andres2 }
+ .party = {.NoItemDefaultMoves = sParty_Andres2 }
},
[TRAINER_ANDRES_3] =
@@ -11392,7 +11392,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Andres3 }
+ .party = {.NoItemDefaultMoves = sParty_Andres3 }
},
[TRAINER_ANDRES_4] =
@@ -11406,7 +11406,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Andres4 }
+ .party = {.NoItemDefaultMoves = sParty_Andres4 }
},
[TRAINER_ANDRES_5] =
@@ -11420,7 +11420,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Andres5 }
+ .party = {.NoItemDefaultMoves = sParty_Andres5 }
},
[TRAINER_CORY_2] =
@@ -11434,7 +11434,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cory2 }
+ .party = {.NoItemDefaultMoves = sParty_Cory2 }
},
[TRAINER_CORY_3] =
@@ -11448,7 +11448,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cory3 }
+ .party = {.NoItemDefaultMoves = sParty_Cory3 }
},
[TRAINER_CORY_4] =
@@ -11462,7 +11462,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cory4 }
+ .party = {.NoItemDefaultMoves = sParty_Cory4 }
},
[TRAINER_CORY_5] =
@@ -11476,7 +11476,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cory5 }
+ .party = {.NoItemDefaultMoves = sParty_Cory5 }
},
[TRAINER_PABLO_2] =
@@ -11490,7 +11490,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Pablo2 }
+ .party = {.NoItemDefaultMoves = sParty_Pablo2 }
},
[TRAINER_PABLO_3] =
@@ -11504,7 +11504,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Pablo3 }
+ .party = {.NoItemDefaultMoves = sParty_Pablo3 }
},
[TRAINER_PABLO_4] =
@@ -11518,7 +11518,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Pablo4 }
+ .party = {.NoItemDefaultMoves = sParty_Pablo4 }
},
[TRAINER_PABLO_5] =
@@ -11532,7 +11532,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Pablo5 }
+ .party = {.NoItemDefaultMoves = sParty_Pablo5 }
},
[TRAINER_KOJI_2] =
@@ -11546,7 +11546,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Koji2 }
+ .party = {.NoItemDefaultMoves = sParty_Koji2 }
},
[TRAINER_KOJI_3] =
@@ -11560,7 +11560,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Koji3 }
+ .party = {.NoItemDefaultMoves = sParty_Koji3 }
},
[TRAINER_KOJI_4] =
@@ -11574,7 +11574,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Koji4 }
+ .party = {.NoItemDefaultMoves = sParty_Koji4 }
},
[TRAINER_KOJI_5] =
@@ -11588,7 +11588,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Koji5 }
+ .party = {.NoItemDefaultMoves = sParty_Koji5 }
},
[TRAINER_CRISTIN_2] =
@@ -11602,7 +11602,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cristin2 }
+ .party = {.NoItemDefaultMoves = sParty_Cristin2 }
},
[TRAINER_CRISTIN_3] =
@@ -11616,7 +11616,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cristin3 }
+ .party = {.NoItemDefaultMoves = sParty_Cristin3 }
},
[TRAINER_CRISTIN_4] =
@@ -11630,7 +11630,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cristin4 }
+ .party = {.NoItemDefaultMoves = sParty_Cristin4 }
},
[TRAINER_CRISTIN_5] =
@@ -11644,7 +11644,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Cristin5 }
+ .party = {.NoItemDefaultMoves = sParty_Cristin5 }
},
[TRAINER_FERNANDO_2] =
@@ -11658,7 +11658,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Fernando2 }
+ .party = {.NoItemDefaultMoves = sParty_Fernando2 }
},
[TRAINER_FERNANDO_3] =
@@ -11672,7 +11672,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Fernando3 }
+ .party = {.NoItemDefaultMoves = sParty_Fernando3 }
},
[TRAINER_FERNANDO_4] =
@@ -11686,7 +11686,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Fernando4 }
+ .party = {.NoItemDefaultMoves = sParty_Fernando4 }
},
[TRAINER_FERNANDO_5] =
@@ -11700,7 +11700,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Fernando5 }
+ .party = {.NoItemDefaultMoves = sParty_Fernando5 }
},
[TRAINER_SAWYER_2] =
@@ -11714,7 +11714,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer2 }
+ .party = {.NoItemDefaultMoves = sParty_Sawyer2 }
},
[TRAINER_SAWYER_3] =
@@ -11728,7 +11728,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer3 }
+ .party = {.NoItemDefaultMoves = sParty_Sawyer3 }
},
[TRAINER_SAWYER_4] =
@@ -11742,7 +11742,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer4 }
+ .party = {.NoItemDefaultMoves = sParty_Sawyer4 }
},
[TRAINER_SAWYER_5] =
@@ -11756,7 +11756,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer5 }
+ .party = {.NoItemDefaultMoves = sParty_Sawyer5 }
},
[TRAINER_GABRIELLE_2] =
@@ -11770,7 +11770,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle2 }
+ .party = {.NoItemDefaultMoves = sParty_Gabrielle2 }
},
[TRAINER_GABRIELLE_3] =
@@ -11784,7 +11784,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle3 }
+ .party = {.NoItemDefaultMoves = sParty_Gabrielle3 }
},
[TRAINER_GABRIELLE_4] =
@@ -11798,7 +11798,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle4 }
+ .party = {.NoItemDefaultMoves = sParty_Gabrielle4 }
},
[TRAINER_GABRIELLE_5] =
@@ -11812,7 +11812,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 6,
- .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle5 }
+ .party = {.NoItemDefaultMoves = sParty_Gabrielle5 }
},
[TRAINER_THALIA_2] =
@@ -11826,7 +11826,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Thalia2 }
+ .party = {.NoItemDefaultMoves = sParty_Thalia2 }
},
[TRAINER_THALIA_3] =
@@ -11840,7 +11840,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Thalia3 }
+ .party = {.NoItemDefaultMoves = sParty_Thalia3 }
},
[TRAINER_THALIA_4] =
@@ -11854,7 +11854,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Thalia4 }
+ .party = {.NoItemDefaultMoves = sParty_Thalia4 }
},
[TRAINER_THALIA_5] =
@@ -11868,7 +11868,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
.partySize = 3,
- .party = {.NoItemDefaultMoves = gTrainerParty_Thalia5 }
+ .party = {.NoItemDefaultMoves = sParty_Thalia5 }
},
[TRAINER_MARIELA] =
@@ -11882,7 +11882,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Mariela }
+ .party = {.NoItemDefaultMoves = sParty_Mariela }
},
[TRAINER_ALVARO] =
@@ -11896,7 +11896,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 2,
- .party = {.NoItemDefaultMoves = gTrainerParty_Alvaro }
+ .party = {.NoItemDefaultMoves = sParty_Alvaro }
},
[TRAINER_EVERETT] =
@@ -11910,7 +11910,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Everett }
+ .party = {.NoItemDefaultMoves = sParty_Everett }
},
[TRAINER_RED] =
@@ -11924,7 +11924,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Red }
+ .party = {.NoItemDefaultMoves = sParty_Red }
},
[TRAINER_LEAF] =
@@ -11938,7 +11938,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Leaf }
+ .party = {.NoItemDefaultMoves = sParty_Leaf }
},
[TRAINER_BRENDAN_16] =
@@ -11952,7 +11952,7 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_Brendan16 }
+ .party = {.NoItemDefaultMoves = sParty_Brendan16 }
},
[TRAINER_MAY_16] =
@@ -11966,6 +11966,6 @@ const struct Trainer gTrainers[] = {
.doubleBattle = FALSE,
.aiFlags = 0,
.partySize = 1,
- .party = {.NoItemDefaultMoves = gTrainerParty_May16 }
+ .party = {.NoItemDefaultMoves = sParty_May16 }
},
};
diff --git a/src/data2b.c b/src/data2b.c
deleted file mode 100644
index af76390a4..000000000
--- a/src/data2b.c
+++ /dev/null
@@ -1,387 +0,0 @@
-#include "global.h"
-#include "data2.h"
-#include "graphics.h"
-#include "alloc.h"
-#include "constants/species.h"
-
-const u16 gUnknown_082FF1D8[] = INCBIN_U16("graphics/link/minigame_digits.gbapal");
-const u32 gUnknown_082FF1F8[] = INCBIN_U32("graphics/link/minigame_digits.4bpp.lz");
-const u32 gUnknown_082FF2B8[] = INCBIN_U32("graphics/link/minigame_digits2.4bpp.lz");
-
-const struct SpriteFrameImage gUnknown_082FF3A8[] =
-{
- gHeap + 0x8000, 0x800,
- gHeap + 0x8800, 0x800,
- gHeap + 0x9000, 0x800,
- gHeap + 0x9800, 0x800,
-};
-
-const struct SpriteFrameImage gUnknown_082FF3C8[] =
-{
- gHeap + 0xA000, 0x800,
- gHeap + 0xA800, 0x800,
- gHeap + 0xB000, 0x800,
- gHeap + 0xB800, 0x800,
-};
-
-const struct SpriteFrameImage gUnknown_082FF3E8[] =
-{
- gHeap + 0xC000, 0x800,
- gHeap + 0xC800, 0x800,
- gHeap + 0xD000, 0x800,
- gHeap + 0xD800, 0x800,
-};
-
-const struct SpriteFrameImage gUnknown_082FF408[] =
-{
- gHeap + 0xE000, 0x800,
- gHeap + 0xE800, 0x800,
- gHeap + 0xF000, 0x800,
- gHeap + 0xF800, 0x800,
-};
-
-const struct SpriteFrameImage gTrainerBackPicTable_Brendan[] =
-{
- gTrainerBackPic_Brendan, 0x0800,
- gTrainerBackPic_Brendan + 0x0800, 0x0800,
- gTrainerBackPic_Brendan + 0x1000, 0x0800,
- gTrainerBackPic_Brendan + 0x1800, 0x0800,
-};
-
-const struct SpriteFrameImage gTrainerBackPicTable_May[] =
-{
- gTrainerBackPic_May, 0x0800,
- gTrainerBackPic_May + 0x0800, 0x0800,
- gTrainerBackPic_May + 0x1000, 0x0800,
- gTrainerBackPic_May + 0x1800, 0x0800,
-};
-
-const struct SpriteFrameImage gTrainerBackPicTable_Red[] =
-{
- gTrainerBackPic_Red, 0x0800,
- gTrainerBackPic_Red + 0x0800, 0x0800,
- gTrainerBackPic_Red + 0x1000, 0x0800,
- gTrainerBackPic_Red + 0x1800, 0x0800,
- gTrainerBackPic_Red + 0x2000, 0x0800,
-};
-
-const struct SpriteFrameImage gTrainerBackPicTable_Leaf[] =
-{
- gTrainerBackPic_Leaf, 0x0800,
- gTrainerBackPic_Leaf + 0x0800, 0x0800,
- gTrainerBackPic_Leaf + 0x1000, 0x0800,
- gTrainerBackPic_Leaf + 0x1800, 0x0800,
- gTrainerBackPic_Leaf + 0x2000, 0x0800,
-};
-
-const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[] =
-{
- gTrainerBackPic_RubySapphireBrendan, 0x0800,
- gTrainerBackPic_RubySapphireBrendan + 0x0800, 0x0800,
- gTrainerBackPic_RubySapphireBrendan + 0x1000, 0x0800,
- gTrainerBackPic_RubySapphireBrendan + 0x1800, 0x0800,
-};
-
-const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[] =
-{
- gTrainerBackPic_RubySapphireMay, 0x0800,
- gTrainerBackPic_RubySapphireMay + 0x0800, 0x0800,
- gTrainerBackPic_RubySapphireMay + 0x1000, 0x0800,
- gTrainerBackPic_RubySapphireMay + 0x1800, 0x0800,
-};
-
-const struct SpriteFrameImage gTrainerBackPicTable_Wally[] =
-{
- gTrainerBackPic_Wally, 0x0800,
- gTrainerBackPic_Wally + 0x0800, 0x0800,
- gTrainerBackPic_Wally + 0x1000, 0x0800,
- gTrainerBackPic_Wally + 0x1800, 0x0800,
-};
-
-const struct SpriteFrameImage gTrainerBackPicTable_Steven[] =
-{
- gTrainerBackPic_Steven, 0x0800,
- gTrainerBackPic_Steven + 0x0800, 0x0800,
- gTrainerBackPic_Steven + 0x1000, 0x0800,
- gTrainerBackPic_Steven + 0x1800, 0x0800,
-};
-
-const union AnimCmd gAnimCmd_General_Frame0[] =
-{
- ANIMCMD_FRAME(0, 0),
- ANIMCMD_END,
-};
-
-const union AnimCmd gAnimCmd_General_Frame3[] =
-{
- ANIMCMD_FRAME(3, 0),
- ANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_082FF548[] =
-{
- AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0x00),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_082FF558[] =
-{
- AFFINEANIMCMD_FRAME(0xff00, 0x0100, 0x00, 0x00),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_082FF568[] =
-{
- AFFINEANIMCMD_FRAME(0x0028, 0x0028, 0x00, 0x00),
- AFFINEANIMCMD_FRAME(0x0012, 0x0012, 0x00, 0x0c),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_082FF580[] =
-{
- AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x12),
- AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x0f),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_082FF598[] =
-{
- AFFINEANIMCMD_FRAME(0x00a0, 0x0100, 0x00, 0x00),
- AFFINEANIMCMD_FRAME(0x0004, 0x0000, 0x00, 0x08),
- AFFINEANIMCMD_FRAME(0xfffc, 0x0000, 0x00, 0x08),
- AFFINEANIMCMD_JUMP(1),
-};
-
-const union AffineAnimCmd gUnknown_082FF5B8[] =
-{
- AFFINEANIMCMD_FRAME(0x0002, 0x0002, 0x00, 0x14),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_082FF5C8[] =
-{
- AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x14),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_082FF5D8[] =
-{
- AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0000),
- AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x09),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_082FF5F0[] =
-{
- AFFINEANIMCMD_FRAME(0x0004, 0x0004, 0x00, 0x3f),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_082FF600[] =
-{
- AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05),
- AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd * const gUnknown_082FF618[] =
-{
- gUnknown_082FF548,
- gUnknown_082FF568,
- gUnknown_082FF580,
- gUnknown_082FF598,
- gUnknown_082FF5B8,
- gUnknown_082FF5C8,
- gUnknown_082FF5F0,
- gUnknown_082FF600,
- gUnknown_082FF5D8,
-};
-
-const union AffineAnimCmd gUnknown_082FF63C[] =
-{
- AFFINEANIMCMD_FRAME(0xfffc, 0xfffc, 0x04, 0x3f),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_082FF64C[] =
-{
- AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05),
- AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_082FF664[] =
-{
- AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfb, 0x14),
- AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x00, 0x14),
- AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x05, 0x14),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_082FF684[] =
-{
- AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x09, 0x6e),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd * const gUnknown_082FF694[] =
-{
- gUnknown_082FF548,
- gUnknown_082FF568,
- gUnknown_082FF580,
- gUnknown_082FF598,
- gUnknown_082FF5B8,
- gUnknown_082FF5C8,
- gUnknown_082FF63C,
- gUnknown_082FF64C,
- gUnknown_082FF664,
- gUnknown_082FF5D8,
- gUnknown_082FF684,
-};
-
-const union AffineAnimCmd * const gUnknown_082FF6C0[] =
-{
- gUnknown_082FF558,
- gUnknown_082FF568,
- gUnknown_082FF580,
- gUnknown_082FF598,
- gUnknown_082FF5B8,
- gUnknown_082FF5C8,
- gUnknown_082FF63C,
- gUnknown_082FF64C,
- gUnknown_082FF664,
- gUnknown_082FF5D8,
- gUnknown_082FF684,
-};
-
-#include "data/pokemon_graphics/unknown_anims.h"
-#include "data/pokemon_graphics/front_pic_coordinates.h"
-#include "data/pokemon_graphics/still_front_pic_table.h"
-#include "data/pokemon_graphics/back_pic_coordinates.h"
-
-#include "data/pokemon_graphics/back_pic_table.h"
-#include "data/pokemon_graphics/palette_table.h"
-#include "data/pokemon_graphics/shiny_palette_table.h"
-
-#include "data/trainer_graphics/front_pic_anims.h"
-#include "data/trainer_graphics/front_pic_tables.h"
-#include "data/trainer_graphics/back_pic_anims.h"
-#include "data/trainer_graphics/back_pic_tables.h"
-
-#include "data/pokemon_graphics/enemy_mon_elevation.h"
-#include "data/pokemon_graphics/front_anims.h"
-#include "data/pokemon_graphics/front_pic_table.h"
-
-const u32 gUnknown830AF4C[] = // Potentially part of battle_data.c
-{
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000088, 0x00000888, 0x00000888, 0x00000886,
- 0x00000888, 0x00000886, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000886, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000886, 0x00000886,
- 0x00000888, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000888, 0x00000886, 0x00000888,
- 0x00000888, 0x00000888, 0x00000886, 0x00000886,
- 0x00000888, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000886, 0x00000886, 0x00000088,
- 0x00000886, 0x00000886, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000886, 0x00000888, 0x00000088, 0x00000088,
- 0x00000888, 0x00000888, 0x00000888, 0x00000886,
- 0x00000888, 0x00000888, 0x00000888, 0x00000886,
- 0x00000886, 0x00000886, 0x00000886, 0x00000886,
- 0x00000886, 0x00000886, 0x00000888, 0x00000888,
- 0x00000886, 0x00000886, 0x00000886, 0x00000886,
- 0x00000886, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000886, 0x00000886, 0x00000888,
- 0x00000886, 0x00000886, 0x00000888, 0x00000888,
- 0x00000088, 0x00000088, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000886, 0x00000886, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000088, 0x00000886,
- 0x00000888, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000888, 0x00000886, 0x00000888,
- 0x00000088, 0x00000088, 0x00000886, 0x00000886,
- 0x00000088, 0x00000088, 0x00000888, 0x00000886,
- 0x00000886, 0x00000888, 0x00000888, 0x00000088,
- 0x00000888, 0x00000886, 0x00000886, 0x00000888,
- 0x00000886, 0x00000888, 0x00000888, 0x00000886,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000088, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000088, 0x00000888, 0x00000888, 0x00000886,
- 0x00000886, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000886,
- 0x00000888, 0x00000886, 0x00000088, 0x00000088,
- 0x00000088, 0x00000888, 0x00000088, 0x00000888,
- 0x00000888, 0x00000088, 0x00000088, 0x00000888,
- 0x00000886, 0x00000888, 0x00000886, 0x00000886,
- 0x00000886, 0x00000888, 0x00000888, 0x00000888,
- 0x00000088, 0x00000888, 0x00000888, 0x00000888,
- 0x00000088, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000088, 0x00000088,
- 0x00000886, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000088, 0x00000888,
- 0x00000886, 0x00000888, 0x00000088, 0x00000088,
- 0x00000888, 0x00000888, 0x00000088, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000088,
- 0x00000888, 0x00000888, 0x00000088, 0x00000088,
- 0x00000088, 0x00000888, 0x00000088, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000886, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000886, 0x00000886, 0x00000886,
- 0x00000088, 0x00000088, 0x00000088, 0x00000886,
- 0x00000088, 0x00000886, 0x00000886, 0x00000886,
- 0x00000088, 0x00000886, 0x00000088, 0x00000088,
- 0x00000088, 0x00000088, 0x00000088, 0x00000886,
- 0x00000886, 0x00000886, 0x00000888, 0x00000888,
- 0x00000886, 0x00000886, 0x00000886, 0x00000886,
- 0x00000088, 0x00000088, 0x00000886, 0x00000886,
- 0x00001882, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000886, 0x00000886, 0x00000886,
- 0x00000088, 0x00000088, 0x00000088, 0x00000088,
- 0x00000886, 0x00000088, 0x00000886, 0x00000088,
- 0x00000088, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000088, 0x00000886, 0x00000886,
- 0x00000088, 0x00000088, 0x00000088, 0x00000886,
- 0x00000886, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000088, 0x00000886, 0x00000088,
- 0x00000088, 0x00000886, 0x00000886, 0x00000886,
- 0x00000886, 0x00000886, 0x00000088, 0x00000088,
- 0x00000088, 0x00000088, 0x00000088, 0x00000886,
- 0x00000886, 0x00000886, 0x00000886, 0x00000088,
- 0x00000886, 0x00000088, 0x00000886, 0x00000886,
- 0x00000886, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000088, 0x00000886, 0x00000886,
- 0x00000886, 0x00000888, 0x00000886, 0x00000886,
- 0x00000088, 0x00000088, 0x00000088, 0x00000088,
- 0x00000886, 0x00000886, 0x00000088, 0x00000088,
- 0x00000088, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000088, 0x00000088, 0x00000088,
- 0x00000088, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
- 0x00000888, 0x00000888, 0x00000888, 0x00000888,
-};
diff --git a/src/decompress.c b/src/decompress.c
index 949b96990..46e4ef614 100644
--- a/src/decompress.c
+++ b/src/decompress.c
@@ -1,15 +1,13 @@
#include "global.h"
-#include "decompress.h"
-#include "constants/species.h"
-#include "text.h"
#include "alloc.h"
+#include "data.h"
+#include "decompress.h"
#include "pokemon.h"
+#include "text.h"
+#include "constants/species.h"
EWRAM_DATA ALIGNED(4) u8 gDecompressionBuffer[0x4000] = {0};
-extern const struct CompressedSpriteSheet gMonFrontPicTable[];
-extern const struct CompressedSpriteSheet gMonBackPicTable[];
-
static void DuplicateDeoxysTiles(void *pointer, s32 species);
void LZDecompressWram(const u32 *src, void *dest)
diff --git a/src/decoration.c b/src/decoration.c
index 0712b5d32..0f6dd082b 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -1,84 +1,83 @@
#include "global.h"
-#include "constants/decorations.h"
-#include "decompress.h"
#include "alloc.h"
-#include "text.h"
-#include "string_util.h"
-#include "international_string_util.h"
-#include "script.h"
-#include "task.h"
-#include "main.h"
-#include "palette.h"
-#include "constants/songs.h"
-#include "overworld.h"
-#include "fieldmap.h"
-#include "metatile_behavior.h"
-#include "field_weather.h"
-#include "field_player_avatar.h"
+#include "decompress.h"
+#include "decoration.h"
+#include "decoration_inventory.h"
+#include "event_data.h"
+#include "event_object_movement.h"
+#include "event_scripts.h"
#include "field_camera.h"
+#include "field_player_avatar.h"
#include "field_screen_effect.h"
-#include "event_object_movement.h"
+#include "field_weather.h"
+#include "fieldmap.h"
+#include "graphics.h"
+#include "international_string_util.h"
+#include "item_icon.h"
#include "list_menu.h"
-#include "menu_helpers.h"
+#include "main.h"
#include "menu.h"
-#include "sound.h"
-#include "event_scripts.h"
-#include "event_data.h"
-#include "constants/region_map_sections.h"
+#include "menu_helpers.h"
+#include "metatile_behavior.h"
+#include "overworld.h"
+#include "palette.h"
#include "player_pc.h"
-#include "strings.h"
-#include "tv.h"
+#include "script.h"
#include "secret_base.h"
+#include "sound.h"
+#include "string_util.h"
+#include "strings.h"
+#include "task.h"
+#include "text.h"
#include "tilesets.h"
-#include "item_icon.h"
#include "trader.h"
+#include "tv.h"
+#include "constants/decorations.h"
#include "constants/event_objects.h"
-#include "decoration_inventory.h"
-#include "decoration.h"
-#include "graphics.h"
-
-// Static type declarations
+#include "constants/songs.h"
+#include "constants/region_map_sections.h"
-#define OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG 0xbe5
-#define OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG 0x008
+#define PLACE_DECORATION_SELECTOR_TAG 0xbe5
+#define PLACE_DECORATION_PLAYER_TAG 0x008
-struct DecorPCBuffer {
+struct DecorationItemsMenu
+{
struct ListMenuItem items[41];
u8 names[41][24];
- u8 unk_520;
- u8 unk_521;
- u8 unk_522;
+ u8 numMenuItems;
+ u8 maxShownItems;
+ u8 scrollIndicatorsTaskId;
};
-struct PlaceDecorationGraphicsDataBuffer {
- /*0x000; 0x0203a190*/ const struct Decoration *decoration;
- /*0x004; 0x0203a194*/ u16 tiles[0x40];
- /*0x084; 0x0203a214*/ u8 image[0x800];
- /*0x884; 0x0203aa14*/ u16 palette[16];
+struct PlaceDecorationGraphicsDataBuffer
+{
+ const struct Decoration *decoration;
+ u16 tiles[0x40];
+ u8 image[0x800];
+ u16 palette[16];
};
-struct DecorRearrangementDataBuffer {
+struct DecorRearrangementDataBuffer
+{
u8 idx;
u8 width;
u8 height;
u16 flagId;
};
-// Static RAM declarations
-
-EWRAM_DATA u8 *gCurDecorInventoryItems = NULL;
-EWRAM_DATA static u8 sSecretBasePCMenuCursorPos = 0;
-EWRAM_DATA static u8 sCurDecorCatCount = 0;
+EWRAM_DATA u8 *gCurDecorationItems = NULL;
+EWRAM_DATA static u8 sDecorationActionsCursorPos = 0;
+EWRAM_DATA static u8 sNumOwnedDecorationsInCurCategory = 0;
EWRAM_DATA static u8 sSecretBaseItemsIndicesBuffer[16] = {};
EWRAM_DATA static u8 sPlayerRoomItemsIndicesBuffer[12] = {};
-EWRAM_DATA static u16 sSecretBasePCSelectDecorLineNo = 0;
-EWRAM_DATA static u16 sSecretBasePCSelectDecorPageNo = 0;
+EWRAM_DATA static u16 sDecorationsCursorPos = 0;
+EWRAM_DATA static u16 sDecorationsScrollOffset = 0;
EWRAM_DATA u8 gCurDecorationIndex = 0;
EWRAM_DATA static u8 sCurDecorationCategory = DECORCAT_DESK;
EWRAM_DATA static u32 filler_0203a174[2] = {};
-EWRAM_DATA struct DecorPCPointers gUnknown_0203A17C = {};
-EWRAM_DATA static u8 sDecorMenuWindowIndices[4] = {};
-EWRAM_DATA struct DecorPCBuffer *sDecorPCBuffer = NULL;
+EWRAM_DATA struct DecorationPCContext gDecorationContext = {};
+EWRAM_DATA static u8 sDecorMenuWindowIds[4] = {};
+EWRAM_DATA static struct DecorationItemsMenu *sDecorationItemsMenu = NULL;
EWRAM_DATA struct PlaceDecorationGraphicsDataBuffer sPlaceDecorationGraphicsDataBuffer = {};
EWRAM_DATA static u16 sCurDecorMapX = 0;
EWRAM_DATA static u16 sCurDecorMapY = 0;
@@ -89,38 +88,36 @@ EWRAM_DATA static struct OamData sDecorSelectorOam = {};
EWRAM_DATA static struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[16] = {};
EWRAM_DATA static u8 sCurDecorSelectedInRearrangement = 0;
-// Static ROM declarations
-
-void sub_8126B80(u8 taskId);
-void sub_8126C08(void);
-void SecretBasePC_Decorate(u8 taskId);
-void SecretBasePC_PutAway(u8 taskId);
-void SecretBasePC_Toss(u8 taskId);
-void sub_8126DA4(u8 taskId);
-void SecretBasePC_Cancel(u8 taskId);
-void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId);
-void sub_8126DFC(u8 taskId);
-void sub_8126E8C(u8 taskId);
-void sub_8126F68(u8 winid, u8 decorCat, u8 x, u8 y, bool8 flag, u8 speed);
-void sub_8127058(u8 *str, bool8 flag);
-void sub_8127088(u8 taskId);
-void sub_81270E8(u8 taskId);
-void sub_8127180(u8 taskId);
-void sub_812719C(u8 taskId);
-void sub_81271CC(u8 taskId);
-void sub_8127268(u8 taskId);
-void sub_8127454(u8 *dest, u16 decorId);
-void sub_8127480(s32 a0, bool8 flag, struct ListMenu *menu);
+static void HandleDecorationActionsMenuInput(u8 taskId);
+static void PrintCurMainMenuDescription(void);
+static void DecorationMenuAction_Decorate(u8 taskId);
+static void DecorationMenuAction_PutAway(u8 taskId);
+static void DecorationMenuAction_Toss(u8 taskId);
+static void DecorationMenuAction_Cancel(u8 taskId);
+static void ReturnToDecorationActionsAfterInvalidSelection(u8 taskId);
+static void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId);
+static void InitDecorationCategoriesWindow(u8 taskId);
+static void PrintDecorationCategoryMenuItems(u8 taskId);
+static void PrintDecorationCategoryMenuItem(u8 winid, u8 category, u8 x, u8 y, bool8 disabled, u8 speed);
+static void ColorMenuItemString(u8 *str, bool8 disabled);
+static void HandleDecorationCategoriesMenuInput(u8 taskId);
+static void SelectDecorationCategory(u8 taskId);
+static void ReturnToDecorationCategoriesAfterInvalidSelection(u8 taskId);
+static void ExitDecorationCategoriesMenu(u8 taskId);
+static void ReturnToActionsMenuFromCategories(u8 taskId);
+static void ExitTraderDecorationMenu(u8 taskId);
+static void CopyDecorationMenuItemName(u8 *dest, u16 decoration);
+static void DecorationItemsMenu_OnCursorMove(s32 itemIndex, bool8 flag, struct ListMenu *menu);
void sub_81274A0(u8 a0, s32 a1, u8 a2);
-void sub_8127620(u8 taskId);
-void sub_812764C(u8 taskId);
-void sub_8127744(u32 a0);
-void sub_81277A8(void);
+static void ShowDecorationItemsWindow(u8 taskId);
+static void HandleDecorationItemsMenuInput(u8 taskId);
+static void PrintDecorationItemDescription(u32 itemIndex);
+static void RemoveDecorationItemsOtherWindows(void);
bool8 sub_81277BC(u8 idx);
bool8 sub_81277E8(u8 idx);
-void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId);
-void sub_812759C(u8 taskId);
-void sub_8127718(u8 decorCat);
+static void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId);
+static void InitDecorationItemsWindow(u8 taskId);
+static void ShowDecorationCategorySummaryWindow(u8 category);
void sub_8127A30(u8 taskId);
void sub_8127A8C(u8 taskId);
void sub_8127F68(u8 taskId);
@@ -168,13 +165,12 @@ void sub_812A3D4(u8 taskId);
void sub_812A458(u8 taskId);
void sub_812A478(u8 taskId);
-// .rodata
-
#include "data/decoration/tiles.h"
#include "data/decoration/description.h"
#include "data/decoration/header.h"
-const u8 *const sDecorCatNames[] = {
+static const u8 *const sDecorationCategoryNames[] =
+{
gText_Desk,
gText_Chair,
gText_Plant,
@@ -185,36 +181,42 @@ const u8 *const sDecorCatNames[] = {
gText_Cushion
};
-const struct MenuAction sSecretBasePCMenuActions[] = {
+static const struct MenuAction sDecorationMainMenuActions[] =
+{
{
- gText_Decorate, {.void_u8=SecretBasePC_Decorate}
- }, {
- gText_PutAway, {.void_u8=SecretBasePC_PutAway}
- }, {
- gText_Toss2, {.void_u8=SecretBasePC_Toss}
- }, {
- gText_Cancel, {.void_u8=SecretBasePC_Cancel}
- }
+ .text = gText_Decorate,
+ .func = { .void_u8 = DecorationMenuAction_Decorate },
+ },
+ {
+ .text = gText_PutAway,
+ .func = { .void_u8 = DecorationMenuAction_PutAway },
+ },
+ {
+ .text = gText_Toss2,
+ .func = { .void_u8 = DecorationMenuAction_Toss },
+ },
+ {
+ .text = gText_Cancel,
+ .func = { .void_u8 = DecorationMenuAction_Cancel },
+ },
};
-const u8 *const sSecretBasePCMenuItemDescriptions[] = {
+static const u8 *const sSecretBasePCMenuItemDescriptions[] =
+{
gText_PutOutSelectedDecorItem,
gText_StoreChosenDecorInPC,
gText_ThrowAwayUnwantedDecors,
gText_GoBackPrevMenu
};
-void (*const SecretBasePC_SelectedDecorActions[][2])(u8 taskId) = {
- {
- sub_8127F68, sub_8127A8C
- }, {
- sub_812A3D4, sub_8127A8C
- }, {
- sub_8133DA0, sub_8127A8C
- }
+static const TaskFunc sSecretBasePC_SelectedDecorationActions[][2] =
+{
+ { sub_8127F68, sub_8127A8C },
+ { sub_812A3D4, sub_8127A8C },
+ { sub_8133DA0, sub_8127A8C },
};
-const struct WindowTemplate gUnknown_085A6B90[4] =
+static const struct WindowTemplate sDecorationWindowTemplates[4] =
{
{
.bg = 0,
@@ -254,12 +256,12 @@ const struct WindowTemplate gUnknown_085A6B90[4] =
}
};
-const u16 gUnknown_085A6BB0[] = INCBIN_U16("graphics/decorations/unk_85a6bb0.gbapal");
+static const u16 sDecorationMenuPalette[] = INCBIN_U16("graphics/decorations/decoration_menu.gbapal");
-const struct ListMenuTemplate gUnknown_085A6BD0 =
+static const struct ListMenuTemplate sDecorationItemsListMenuTemplate =
{
.items = NULL,
- .moveCursorFunc = sub_8127480,
+ .moveCursorFunc = DecorationItemsMenu_OnCursorMove,
.itemPrintFunc = sub_81274A0,
.totalItems = 0,
.maxShowed = 0,
@@ -280,279 +282,310 @@ const struct ListMenuTemplate gUnknown_085A6BD0 =
#include "data/decoration/icon.h"
#include "data/decoration/tilemaps.h"
-const struct {
+static const struct {
u8 shape;
u8 size;
- u8 x;
- u8 y;
-} gUnknown_085A7250[] = {
- {0, 1, 0x78, 0x4e},
- {1, 2, 0x80, 0x4e},
- {1, 3, 0x90, 0x56},
- {1, 3, 0x90, 0x46},
- {0, 2, 0x80, 0x46},
- {2, 2, 0x78, 0x46},
- {2, 3, 0x80, 0x56},
- {2, 3, 0x80, 0x36},
- {0, 3, 0x90, 0x46},
- {1, 3, 0x90, 0x46}
+ u8 cameraX;
+ u8 cameraY;
+} sDecorationMovementInfo[] =
+{
+ [DECORSHAPE_1x1] = {SPRITE_SHAPE(16x16), SPRITE_SIZE(16x16), 120, 78},
+ [DECORSHAPE_2x1] = {SPRITE_SHAPE(32x16), SPRITE_SIZE(32x16), 128, 78},
+ [DECORSHAPE_3x1] = {SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 144, 86},
+ [DECORSHAPE_4x2] = {SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 144, 70},
+ [DECORSHAPE_2x2] = {SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), 128, 70},
+ [DECORSHAPE_1x2] = {SPRITE_SHAPE(16x32), SPRITE_SIZE(16x32), 120, 70},
+ [DECORSHAPE_1x3] = {SPRITE_SHAPE(32x64), SPRITE_SIZE(32x64), 128, 86},
+ [DECORSHAPE_2x4] = {SPRITE_SHAPE(32x64), SPRITE_SIZE(32x64), 128, 54},
+ [DECORSHAPE_3x3] = {SPRITE_SHAPE(64x64), SPRITE_SIZE(64x64), 144, 70},
+ [DECORSHAPE_3x2] = {SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 144, 70},
};
-const union AnimCmd gUnknown_085A7278[] = {
+static const union AnimCmd sDecorSelectorAnimCmd0[] =
+{
ANIMCMD_FRAME(0, 0, FALSE, FALSE),
ANIMCMD_END
};
-const union AnimCmd *const sDecorSelectorAnims[] = {
- gUnknown_085A7278
-};
+static const union AnimCmd *const sDecorSelectorAnimCmds[] = { sDecorSelectorAnimCmd0 };
-const struct SpriteFrameImage sDecorSelectorSpriteFrameImages = {
- (const u8 *)&sPlaceDecorationGraphicsDataBuffer.image, 0x800
+static const struct SpriteFrameImage sDecorSelectorSpriteFrameImages =
+{
+ .data = (const u8 *)&sPlaceDecorationGraphicsDataBuffer.image,
+ .size = 0x800,
};
-const struct SpriteTemplate sDecorSelectorSpriteTemplate = {
+static const struct SpriteTemplate sDecorationSelectorSpriteTemplate =
+{
0xFFFF,
- OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG,
+ PLACE_DECORATION_SELECTOR_TAG,
&sDecorSelectorOam,
- sDecorSelectorAnims,
+ sDecorSelectorAnimCmds,
&sDecorSelectorSpriteFrameImages,
gDummySpriteAffineAnimTable,
SpriteCallbackDummy
};
-const struct SpriteTemplate sDecorWhilePlacingSpriteTemplate = {
+const struct SpriteTemplate sDecorWhilePlacingSpriteTemplate =
+{
0x0000,
0x0000,
&sDecorSelectorOam,
- sDecorSelectorAnims,
+ sDecorSelectorAnimCmds,
NULL,
gDummySpriteAffineAnimTable,
SpriteCallbackDummy
};
-const struct SpritePalette gUnknown_085A72BC = {
- (const u16 *)&sPlaceDecorationGraphicsDataBuffer.palette, OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG
+const struct SpritePalette gUnknown_085A72BC =
+{
+ .data = (const u16 *)&sPlaceDecorationGraphicsDataBuffer.palette,
+ .tag = PLACE_DECORATION_SELECTOR_TAG,
};
-const struct YesNoFuncTable gUnknown_085A72C4 = {
- sub_81289F0,
- sub_8128FD8
+const struct YesNoFuncTable gUnknown_085A72C4 =
+{
+ .yesFunc = sub_81289F0,
+ .noFunc = sub_8128FD8,
};
-const struct YesNoFuncTable gUnknown_085A72CC = {
- sub_8128BA0,
- sub_8128FD8
+const struct YesNoFuncTable gUnknown_085A72CC =
+{
+ .yesFunc = sub_8128BA0,
+ .noFunc = sub_8128FD8,
};
-const struct YesNoFuncTable gUnknown_085A72D4[] = {
+const struct YesNoFuncTable gUnknown_085A72D4[] =
+{
{
- sub_81283BC,
- sub_8128414
- }, {
- sub_8129BCC,
- sub_8129BF8
+ .yesFunc = sub_81283BC,
+ .noFunc = sub_8128414,
+ },
+ {
+ .yesFunc = sub_8129BCC,
+ .noFunc = sub_8129BF8,
}
};
-const u8 gUnknown_085A72E4[] = {
- 0x04, 0x04, 0x04, 0x04, 0x00, 0x03, 0x03, 0x00
+static const u8 sDecorationStandElevations[] =
+{
+ 4, 4, 4, 4,
+ 0, 3, 3, 0
};
-const u8 gUnknown_085A72EC[] = {
- 0x04, 0x04, 0x04, 0x04, 0x00, 0x04, 0x03, 0x00
+static const u8 sDecorationSlideElevation[] =
+{
+ 4, 4,
+ 4, 4,
+ 0, 4,
+ 3, 0,
};
const u16 gUnknown_085A72F4[] = {
0x04, 0x08, 0x10, 0x20, 0x10, 0x08, 0x10, 0x20, 0x40, 0x20
};
-const u16 Unknown_085A7308[] = INCBIN_U16("graphics/decorations/unk_85a7308.gbapal");
+const u16 gUnknown_085A7308[] = INCBIN_U16("graphics/decorations/unk_85a7308.gbapal");
-const u16 Unknown_085A7328[] = INCBIN_U16("graphics/decorations/unk_85a7328.gbapal");
+const u16 gUnknown_085A7328[] = INCBIN_U16("graphics/decorations/unk_85a7328.gbapal");
-const struct YesNoFuncTable gUnknown_085A7348 = {
- sub_812A1C0,
- sub_8129B34
+const struct YesNoFuncTable gUnknown_085A7348 =
+{
+ .yesFunc = sub_812A1C0,
+ .noFunc = sub_8129B34,
};
-const struct YesNoFuncTable gUnknown_085A7350 = {
- sub_812A210,
- sub_8129B34
+const struct YesNoFuncTable gUnknown_085A7350 =
+{
+ .yesFunc = sub_812A210,
+ .noFunc = sub_8129B34,
};
-const u8 Unknown_085A7358[] = INCBIN_U8("graphics/misc/decoration_unk_85a7358.4bpp");
+const u8 gUnknown_085A7358[] = INCBIN_U8("graphics/misc/decoration_unk_85a7358.4bpp");
-const struct SpritePalette gUnknown_085A73D8 = {
- Unknown_085A7308, OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG
+const struct SpritePalette gUnknown_085A73D8 =
+{
+ .data = gUnknown_085A7308,
+ .tag = PLACE_DECORATION_PLAYER_TAG,
};
-const struct SpritePalette gUnknown_085A73E0 = {
- Unknown_085A7328, OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG
+const struct SpritePalette gUnknown_085A73E0 =
+{
+ .data = gUnknown_085A7328,
+ .tag = PLACE_DECORATION_PLAYER_TAG,
};
-const struct OamData Unknown_085A73E8 = {
- .size = 1, .priority = 1
+const struct OamData gUnknown_085A73E8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
};
-const union AnimCmd Unknown_085A73F0[] = {
+const union AnimCmd gUnknown_085A73F0[] =
+{
ANIMCMD_FRAME(0, 0, 0),
ANIMCMD_END
};
-const union AnimCmd *const Unknown_085A73F8[] = {
- Unknown_085A73F0
+const union AnimCmd *const gUnknown_085A73F8[] =
+{
+ gUnknown_085A73F0,
};
-const struct SpriteFrameImage Unknown_085A73FC = {
- Unknown_085A7358, 0x80
+const struct SpriteFrameImage gUnknown_085A73FC =
+{
+ .data = gUnknown_085A7358,
+ .size = 0x80,
};
-const struct SpriteTemplate gUnknown_085A7404 = {
+const struct SpriteTemplate gUnknown_085A7404 =
+{
0xFFFF,
- OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG,
- &Unknown_085A73E8,
- Unknown_085A73F8,
- &Unknown_085A73FC,
+ PLACE_DECORATION_PLAYER_TAG,
+ &gUnknown_085A73E8,
+ gUnknown_085A73F8,
+ &gUnknown_085A73FC,
gDummySpriteAffineAnimTable,
sub_812A36C
};
-const struct YesNoFuncTable gUnknown_085A741C = {
- sub_812A478,
- sub_8127A30
+const struct YesNoFuncTable gUnknown_085A741C =
+{
+ .yesFunc = sub_812A478,
+ .noFunc = sub_8127A30,
};
-// .text
-void sub_8126968(void)
+void InitDecorationContextItems(void)
{
- if (sCurDecorationCategory < 8)
- {
- gCurDecorInventoryItems = gDecorationInventories[sCurDecorationCategory].items;
- }
- if (gUnknown_0203A17C.isPlayerRoom == FALSE)
+ if (sCurDecorationCategory < DECORCAT_COUNT)
+ gCurDecorationItems = gDecorationInventories[sCurDecorationCategory].items;
+
+ if (gDecorationContext.isPlayerRoom == FALSE)
{
- gUnknown_0203A17C.items = gSaveBlock1Ptr->secretBases[0].decorations;
- gUnknown_0203A17C.pos = gSaveBlock1Ptr->secretBases[0].decorationPos;
+ gDecorationContext.items = gSaveBlock1Ptr->secretBases[0].decorations;
+ gDecorationContext.pos = gSaveBlock1Ptr->secretBases[0].decorationPositions;
}
- if (gUnknown_0203A17C.isPlayerRoom == TRUE)
+
+ if (gDecorationContext.isPlayerRoom == TRUE)
{
- gUnknown_0203A17C.items = gSaveBlock1Ptr->playerRoomDecor;
- gUnknown_0203A17C.pos = gSaveBlock1Ptr->playerRoomDecorPos;
+ gDecorationContext.items = gSaveBlock1Ptr->playerRoomDecor;
+ gDecorationContext.pos = gSaveBlock1Ptr->playerRoomDecorPos;
}
}
-u8 sub_81269D4(u8 idx)
+static u8 AddDecorationWindow(u8 windowIndex)
{
- u8 *winidx;
+ u8 *windowId;
struct WindowTemplate template;
- winidx = &sDecorMenuWindowIndices[idx];
- if (idx == 0)
+ windowId = &sDecorMenuWindowIds[windowIndex];
+ if (windowIndex == 0)
{
- template = gUnknown_085A6B90[0];
- template.width = GetMaxWidthInMenuTable(sSecretBasePCMenuActions, 4);
+ template = sDecorationWindowTemplates[0];
+ template.width = GetMaxWidthInMenuTable(sDecorationMainMenuActions, ARRAY_COUNT(sDecorationMainMenuActions));
if (template.width > 18)
- {
template.width = 18;
- }
- *winidx = AddWindow(&template);
+
+ *windowId = AddWindow(&template);
}
else
{
- *winidx = AddWindow(&gUnknown_085A6B90[idx]);
+ *windowId = AddWindow(&sDecorationWindowTemplates[windowIndex]);
}
- DrawStdFrameWithCustomTileAndPalette(*winidx, 0, 0x214, 0xe);
+
+ DrawStdFrameWithCustomTileAndPalette(*windowId, FALSE, 0x214, 14);
schedule_bg_copy_tilemap_to_vram(0);
- return *winidx;
+ return *windowId;
}
-void sub_8126A58(u8 idx)
+static void RemoveDecorationWindow(u8 windowIndex)
{
- ClearStdWindowAndFrameToTransparent(sDecorMenuWindowIndices[idx], FALSE);
- ClearWindowTilemap(sDecorMenuWindowIndices[idx]);
- RemoveWindow(sDecorMenuWindowIndices[idx]);
+ ClearStdWindowAndFrameToTransparent(sDecorMenuWindowIds[windowIndex], FALSE);
+ ClearWindowTilemap(sDecorMenuWindowIds[windowIndex]);
+ RemoveWindow(sDecorMenuWindowIds[windowIndex]);
schedule_bg_copy_tilemap_to_vram(0);
}
-void sub_8126A88(void)
+static void AddDecorationActionsWindow(void)
{
- u8 idx;
-
- idx = sub_81269D4(0);
- PrintMenuTable(idx, 4, sSecretBasePCMenuActions);
- InitMenuInUpperLeftCornerPlaySoundWhenAPressed(idx, 4, sSecretBasePCMenuCursorPos);
+ u8 windowId = AddDecorationWindow(0);
+ PrintMenuTable(windowId, 4, sDecorationMainMenuActions);
+ InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, 4, sDecorationActionsCursorPos);
}
-void sub_8126ABC(void)
+static void InitDecorationActionsWindow(void)
{
- sSecretBasePCMenuCursorPos = 0;
+ sDecorationActionsCursorPos = 0;
ScriptContext2_Enable();
- sub_8126A88();
- sub_8126C08();
+ AddDecorationActionsWindow();
+ PrintCurMainMenuDescription();
}
-void sub_8126AD8(u8 taskId)
+void DoSecretBaseDecorationMenu(u8 taskId)
{
- sub_8126ABC();
- gUnknown_0203A17C.items = gSaveBlock1Ptr->secretBases[0].decorations;
- gUnknown_0203A17C.pos = gSaveBlock1Ptr->secretBases[0].decorationPos;
- gUnknown_0203A17C.size = sizeof(gSaveBlock1Ptr->secretBases[0].decorations);
- gUnknown_0203A17C.isPlayerRoom = FALSE;
- gTasks[taskId].func = sub_8126B80;
+ InitDecorationActionsWindow();
+ gDecorationContext.items = gSaveBlock1Ptr->secretBases[0].decorations;
+ gDecorationContext.pos = gSaveBlock1Ptr->secretBases[0].decorationPositions;
+ gDecorationContext.size = sizeof(gSaveBlock1Ptr->secretBases[0].decorations);
+ gDecorationContext.isPlayerRoom = FALSE;
+ gTasks[taskId].func = HandleDecorationActionsMenuInput;
}
-void sub_8126B2C(u8 taskId)
+void DoPlayerRoomDecorationMenu(u8 taskId)
{
- sub_8126ABC();
- gUnknown_0203A17C.items = gSaveBlock1Ptr->playerRoomDecor;
- gUnknown_0203A17C.pos = gSaveBlock1Ptr->playerRoomDecorPos;
- gUnknown_0203A17C.size = sizeof(gSaveBlock1Ptr->playerRoomDecor);
- gUnknown_0203A17C.isPlayerRoom = TRUE;
- gTasks[taskId].func = sub_8126B80;
+ InitDecorationActionsWindow();
+ gDecorationContext.items = gSaveBlock1Ptr->playerRoomDecor;
+ gDecorationContext.pos = gSaveBlock1Ptr->playerRoomDecorPos;
+ gDecorationContext.size = sizeof(gSaveBlock1Ptr->playerRoomDecor);
+ gDecorationContext.isPlayerRoom = TRUE;
+ gTasks[taskId].func = HandleDecorationActionsMenuInput;
}
-void sub_8126B80(u8 taskId)
+static void HandleDecorationActionsMenuInput(u8 taskId)
{
- u8 menuPos;
-
if (!gPaletteFade.active)
{
- menuPos = Menu_GetCursorPos();
+ s8 menuPos = Menu_GetCursorPos();
switch (Menu_ProcessInput())
{
- default:
- PlaySE(SE_SELECT);
- sSecretBasePCMenuActions[sSecretBasePCMenuCursorPos].func.void_u8(taskId);
- break;
- case MENU_NOTHING_CHOSEN:
- sSecretBasePCMenuCursorPos = Menu_GetCursorPos();
- if ((s8)menuPos != sSecretBasePCMenuCursorPos)
- {
- sub_8126C08();
- }
- break;
- case MENU_B_PRESSED:
- PlaySE(SE_SELECT);
- SecretBasePC_Cancel(taskId);
- break;
+ default:
+ PlaySE(SE_SELECT);
+ sDecorationMainMenuActions[sDecorationActionsCursorPos].func.void_u8(taskId);
+ break;
+ case MENU_NOTHING_CHOSEN:
+ sDecorationActionsCursorPos = Menu_GetCursorPos();
+ if (menuPos != sDecorationActionsCursorPos)
+ PrintCurMainMenuDescription();
+ break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ DecorationMenuAction_Cancel(taskId);
+ break;
}
}
}
-void sub_8126C08(void)
+static void PrintCurMainMenuDescription(void)
{
FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized2(0, 1, sSecretBasePCMenuItemDescriptions[sSecretBasePCMenuCursorPos], 0, 0, 2, 1, 3);
+ AddTextPrinterParameterized2(0, 1, sSecretBasePCMenuItemDescriptions[sDecorationActionsCursorPos], 0, 0, 2, 1, 3);
}
-void SecretBasePC_Decorate(u8 taskId)
+static void DecorationMenuAction_Decorate(u8 taskId)
{
- if (CountDecorations() == 0)
+ if (GetNumOwnedDecorations() == 0)
{
StringExpandPlaceholders(gStringVar4, gText_NoDecorations);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_8126DA4);
+ DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationActionsAfterInvalidSelection);
}
else
{
@@ -562,16 +595,16 @@ void SecretBasePC_Decorate(u8 taskId)
}
}
-void SecretBasePC_PutAway(u8 taskId)
+static void DecorationMenuAction_PutAway(u8 taskId)
{
if (!sub_81299AC(taskId))
{
StringExpandPlaceholders(gStringVar4, gText_NoDecorationsInUse);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_8126DA4);
+ DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationActionsAfterInvalidSelection);
}
else
{
- sub_8126A58(0);
+ RemoveDecorationWindow(0);
ClearDialogWindowAndFrame(0, 0);
FadeScreen(1, 0);
gTasks[taskId].data[2] = 0;
@@ -579,12 +612,12 @@ void SecretBasePC_PutAway(u8 taskId)
}
}
-void SecretBasePC_Toss(u8 taskId)
+static void DecorationMenuAction_Toss(u8 taskId)
{
- if (CountDecorations() == 0)
+ if (GetNumOwnedDecorations() == 0)
{
StringExpandPlaceholders(gStringVar4, gText_NoDecorations);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_8126DA4);
+ DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationActionsAfterInvalidSelection);
}
else
{
@@ -594,10 +627,10 @@ void SecretBasePC_Toss(u8 taskId)
}
}
-void SecretBasePC_Cancel(u8 taskId)
+static void DecorationMenuAction_Cancel(u8 taskId)
{
- sub_8126A58(0);
- if (!gUnknown_0203A17C.isPlayerRoom)
+ RemoveDecorationWindow(0);
+ if (!gDecorationContext.isPlayerRoom)
{
ScriptContext1_SetupScript(gUnknown_0823B4E8);
DestroyTask(taskId);
@@ -608,260 +641,237 @@ void SecretBasePC_Cancel(u8 taskId)
}
}
-void sub_8126DA4(u8 taskId)
+static void ReturnToDecorationActionsAfterInvalidSelection(u8 taskId)
{
- sub_8126C08();
- gTasks[taskId].func = sub_8126B80;
+ PrintCurMainMenuDescription();
+ gTasks[taskId].func = HandleDecorationActionsMenuInput;
}
-void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId)
+static void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId)
{
- LoadPalette(gUnknown_085A6BB0, 0xd0, 0x20);
+ LoadPalette(sDecorationMenuPalette, 0xd0, 0x20);
ClearDialogWindowAndFrame(0, 0);
- sub_8126A58(0);
- sub_8126DFC(taskId);
+ RemoveDecorationWindow(0);
+ InitDecorationCategoriesWindow(taskId);
}
-void sub_8126DFC(u8 taskId)
+static void InitDecorationCategoriesWindow(u8 taskId)
{
- u8 winIdx;
-
- winIdx = sub_81269D4(1);
- sub_8126E8C(taskId);
- InitMenuInUpperLeftCornerPlaySoundWhenAPressed(winIdx, 9, sCurDecorationCategory);
- gTasks[taskId].func = sub_8127088;
+ u8 windowId = AddDecorationWindow(1);
+ PrintDecorationCategoryMenuItems(taskId);
+ InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, DECORCAT_COUNT + 1, sCurDecorationCategory);
+ gTasks[taskId].func = HandleDecorationCategoriesMenuInput;
}
-void sub_8126E44(u8 taskId)
+static void sub_8126E44(u8 taskId)
{
- FillWindowPixelBuffer(sDecorMenuWindowIndices[1], PIXEL_FILL(1));
- sub_8126E8C(taskId);
- InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sDecorMenuWindowIndices[1], 9, sCurDecorationCategory);
- gTasks[taskId].func = sub_8127088;
+ FillWindowPixelBuffer(sDecorMenuWindowIds[1], PIXEL_FILL(1));
+ PrintDecorationCategoryMenuItems(taskId);
+ InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sDecorMenuWindowIds[1], DECORCAT_COUNT + 1, sCurDecorationCategory);
+ gTasks[taskId].func = HandleDecorationCategoriesMenuInput;
}
-void sub_8126E8C(u8 taskId)
+static void PrintDecorationCategoryMenuItems(u8 taskId)
{
- s16 *data;
- u8 r5;
- bool8 r8;
u8 i;
- bool8 fl;
-
- data = gTasks[taskId].data;
- r5 = sDecorMenuWindowIndices[1];
- fl = gUnknown_0203A17C.isPlayerRoom;
- r8 = FALSE;
- if (fl == TRUE && data[11] == 0)
- {
- r8 = TRUE;
- }
- for (i = 0; i < 8; i ++)
- {
- if (r8 == TRUE && i != DECORCAT_DOLL && i != DECORCAT_CUSHION)
- {
- sub_8126F68(r5, i, 8, i << 4, TRUE, 0xFF);
- }
+ s16 *data = gTasks[taskId].data;
+ u8 windowId = sDecorMenuWindowIds[1];
+ bool8 isPlayerRoom = gDecorationContext.isPlayerRoom;
+ bool8 shouldDisable = FALSE;
+ if (isPlayerRoom == TRUE && data[11] == 0)
+ shouldDisable = TRUE;
+
+ for (i = 0; i < DECORCAT_COUNT; i++)
+ {
+ // Only DOLL and CUSHION decorations are enabled when decorating the player's room.
+ if (shouldDisable == TRUE && i != DECORCAT_DOLL && i != DECORCAT_CUSHION)
+ PrintDecorationCategoryMenuItem(windowId, i, 8, i * 16, TRUE, TEXT_SPEED_FF);
else
- {
- sub_8126F68(r5, i, 8, i << 4, FALSE, 0xFF);
- }
+ PrintDecorationCategoryMenuItem(windowId, i, 8, i * 16, FALSE, TEXT_SPEED_FF);
}
- AddTextPrinterParameterized(r5, 1, gTasks[taskId].data[11] == 2 ? gText_Exit : gText_Cancel, 8, (i << 4) + 1, 0, 0);
+
+ AddTextPrinterParameterized(windowId, 1, gTasks[taskId].data[11] == 2 ? gText_Exit : gText_Cancel, 8, i * 16 + 1, 0, NULL);
schedule_bg_copy_tilemap_to_vram(0);
}
-void sub_8126F68(u8 winid, u8 decorCat, u8 x, u8 y, bool8 flag, u8 speed)
+static void PrintDecorationCategoryMenuItem(u8 winid, u8 category, u8 x, u8 y, bool8 disabled, u8 speed)
{
u8 width;
- u8 *strbuf;
+ u8 *str;
- width = x == 8 ? 0x68 : 0x60;
- y ++;
- sub_8127058(gStringVar4, flag);
- strbuf = StringLength(gStringVar4) + gStringVar4;
- StringCopy(strbuf, sDecorCatNames[decorCat]);
+ width = x == 8 ? 104 : 96;
+ y++;
+ ColorMenuItemString(gStringVar4, disabled);
+ str = StringLength(gStringVar4) + gStringVar4;
+ StringCopy(str, sDecorationCategoryNames[category]);
AddTextPrinterParameterized(winid, 1, gStringVar4, x, y, speed, NULL);
- strbuf = ConvertIntToDecimalStringN(strbuf, CountDecorationCategoryN(decorCat), STR_CONV_MODE_RIGHT_ALIGN, 2);
- *strbuf++ = CHAR_SLASH;
- ConvertIntToDecimalStringN(strbuf, gDecorationInventories[decorCat].size, STR_CONV_MODE_RIGHT_ALIGN, 2);
+ str = ConvertIntToDecimalStringN(str, GetNumOwnedDecorationsInCategory(category), STR_CONV_MODE_RIGHT_ALIGN, 2);
+ *(str++) = CHAR_SLASH;
+ ConvertIntToDecimalStringN(str, gDecorationInventories[category].size, STR_CONV_MODE_RIGHT_ALIGN, 2);
x = GetStringRightAlignXOffset(1, gStringVar4, width);
AddTextPrinterParameterized(winid, 1, gStringVar4, x, y, speed, NULL);
}
-void sub_8127058(u8 *str, bool8 flag)
+static void ColorMenuItemString(u8 *str, bool8 disabled)
{
StringCopy(str, gText_Color161Shadow161);
- if (flag == TRUE)
+ if (disabled == TRUE)
{
- str[2] = 0x04; // RED
- str[5] = 0x05; // LIGHT_RED
+ str[2] = 4;
+ str[5] = 5;
}
else
{
- str[2] = 0x02; // DARK_GREY
- str[5] = 0x03; // LIGHT_GREY
+ str[2] = 2;
+ str[5] = 3;
}
}
-void sub_8127088(u8 taskId)
+static void HandleDecorationCategoriesMenuInput(u8 taskId)
{
- s8 input;
-
if (!gPaletteFade.active)
{
- input = Menu_ProcessInput();
+ s8 input = Menu_ProcessInput();
switch (input)
{
- case MENU_B_PRESSED:
- case 8:
- PlaySE(SE_SELECT);
- sub_812719C(taskId);
- break;
- case MENU_NOTHING_CHOSEN:
- break;
- default:
- PlaySE(SE_SELECT);
- sCurDecorationCategory = input;
- sub_81270E8(taskId);
- break;
+ case MENU_B_PRESSED:
+ case DECORCAT_COUNT: // CANCEL
+ PlaySE(SE_SELECT);
+ ExitDecorationCategoriesMenu(taskId);
+ break;
+ case MENU_NOTHING_CHOSEN:
+ break;
+ default:
+ PlaySE(SE_SELECT);
+ sCurDecorationCategory = input;
+ SelectDecorationCategory(taskId);
+ break;
}
}
}
-void sub_81270E8(u8 taskId)
+static void SelectDecorationCategory(u8 taskId)
{
- sCurDecorCatCount = CountDecorationCategoryN(sCurDecorationCategory);
- if (sCurDecorCatCount != 0)
+ sNumOwnedDecorationsInCurCategory = GetNumOwnedDecorationsInCategory(sCurDecorationCategory);
+ if (sNumOwnedDecorationsInCurCategory != 0)
{
- CondenseDecorationCategoryN(sCurDecorationCategory);
- gCurDecorInventoryItems = gDecorationInventories[sCurDecorationCategory].items;
+ CondenseDecorationsInCategory(sCurDecorationCategory);
+ gCurDecorationItems = gDecorationInventories[sCurDecorationCategory].items;
IdentifyOwnedDecorationsCurrentlyInUse(taskId);
- sSecretBasePCSelectDecorPageNo = 0;
- sSecretBasePCSelectDecorLineNo = 0;
- gTasks[taskId].func = sub_8127620;
+ sDecorationsScrollOffset = 0;
+ sDecorationsCursorPos = 0;
+ gTasks[taskId].func = ShowDecorationItemsWindow;
}
else
{
- sub_8126A58(1);
+ RemoveDecorationWindow(1);
StringExpandPlaceholders(gStringVar4, gText_NoDecorations);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_8127180);
+ DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationCategoriesAfterInvalidSelection);
}
}
-void sub_8127180(u8 taskId)
+static void ReturnToDecorationCategoriesAfterInvalidSelection(u8 taskId)
{
ClearDialogWindowAndFrame(0, 0);
- sub_8126DFC(taskId);
+ InitDecorationCategoriesWindow(taskId);
}
-void sub_812719C(u8 taskId)
+static void ExitDecorationCategoriesMenu(u8 taskId)
{
if (gTasks[taskId].data[11] != 2)
- {
- sub_81271CC(taskId);
- }
+ ReturnToActionsMenuFromCategories(taskId);
else
- {
- sub_8127268(taskId);
- }
+ ExitTraderDecorationMenu(taskId);
}
-void sub_81271CC(u8 taskId)
+static void ReturnToActionsMenuFromCategories(u8 taskId)
{
- sub_8126A58(1);
- sub_8126A88();
+ RemoveDecorationWindow(1);
+ AddDecorationActionsWindow();
DrawDialogueFrame(0, 0);
- sub_8126C08();
- gTasks[taskId].func = sub_8126B80;
+ PrintCurMainMenuDescription();
+ gTasks[taskId].func = HandleDecorationActionsMenuInput;
}
-void sub_8127208(u8 taskId)
+void ShowDecorationCategoriesWindow(u8 taskId)
{
- LoadPalette(gUnknown_085A6BB0, 0xd0, 0x20);
+ LoadPalette(sDecorationMenuPalette, 0xd0, 0x20);
ClearDialogWindowAndFrame(0, 0);
gTasks[taskId].data[11] = 2;
sCurDecorationCategory = DECORCAT_DESK;
- sub_8126DFC(taskId);
+ InitDecorationCategoriesWindow(taskId);
}
-void sub_8127250(u8 *dest, u8 decorCat)
+void CopyDecorationCategoryName(u8 *dest, u8 category)
{
- StringCopy(dest, sDecorCatNames[decorCat]);
+ StringCopy(dest, sDecorationCategoryNames[category]);
}
-void sub_8127268(u8 taskId)
+static void ExitTraderDecorationMenu(u8 taskId)
{
- sub_8126A58(1);
- sub_8133E1C(taskId);
+ RemoveDecorationWindow(1);
+ ExitTraderMenu(taskId);
}
-void sub_8127284(void)
+static void InitDecorationItemsMenuLimits(void)
{
- sDecorPCBuffer->unk_520 = sCurDecorCatCount + 1;
- if (sDecorPCBuffer->unk_520 > 8)
- {
- sDecorPCBuffer->unk_521 = 8;
- }
+ sDecorationItemsMenu->numMenuItems = sNumOwnedDecorationsInCurCategory + 1;
+ if (sDecorationItemsMenu->numMenuItems > 8)
+ sDecorationItemsMenu->maxShownItems = 8;
else
- {
- sDecorPCBuffer->unk_521 = sDecorPCBuffer->unk_520;
- }
+ sDecorationItemsMenu->maxShownItems = sDecorationItemsMenu->numMenuItems;
}
-void sub_81272C8(void)
+static void sub_81272C8(void)
{
- sub_812225C(&sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo, sDecorPCBuffer->unk_521, sDecorPCBuffer->unk_520);
+ sub_812225C(&sDecorationsScrollOffset, &sDecorationsCursorPos, sDecorationItemsMenu->maxShownItems, sDecorationItemsMenu->numMenuItems);
}
-void sub_81272F8(void)
+static void sub_81272F8(void)
{
- sub_8122298(&sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo, sDecorPCBuffer->unk_521, sDecorPCBuffer->unk_520, 8);
+ sub_8122298(&sDecorationsScrollOffset, &sDecorationsCursorPos, sDecorationItemsMenu->maxShownItems, sDecorationItemsMenu->numMenuItems, 8);
}
-void sub_8127330(u8 taskId)
+static void PrintDecorationItemMenuItems(u8 taskId)
{
s16 *data;
u16 i;
data = gTasks[taskId].data;
- if ((sCurDecorationCategory < DECORCAT_DOLL || sCurDecorationCategory > DECORCAT_CUSHION) && gUnknown_0203A17C.isPlayerRoom == TRUE && data[11] == 0)
- {
- sub_8127058(gStringVar1, TRUE);
- }
+ if ((sCurDecorationCategory < DECORCAT_DOLL || sCurDecorationCategory > DECORCAT_CUSHION) && gDecorationContext.isPlayerRoom == TRUE && data[11] == 0)
+ ColorMenuItemString(gStringVar1, TRUE);
else
+ ColorMenuItemString(gStringVar1, FALSE);
+
+ for (i = 0; i < sDecorationItemsMenu->numMenuItems - 1; i++)
{
- sub_8127058(gStringVar1, FALSE);
- }
- for (i = 0; i < sDecorPCBuffer->unk_520 - 1; i ++)
- {
- sub_8127454(sDecorPCBuffer->names[i], gCurDecorInventoryItems[i]);
- sDecorPCBuffer->items[i].name = sDecorPCBuffer->names[i];
- sDecorPCBuffer->items[i].id = i;
+ CopyDecorationMenuItemName(sDecorationItemsMenu->names[i], gCurDecorationItems[i]);
+ sDecorationItemsMenu->items[i].name = sDecorationItemsMenu->names[i];
+ sDecorationItemsMenu->items[i].id = i;
}
- StringCopy(sDecorPCBuffer->names[i], gText_Cancel);
- sDecorPCBuffer->items[i].name = sDecorPCBuffer->names[i];
- sDecorPCBuffer->items[i].id = -2;
- gMultiuseListMenuTemplate = gUnknown_085A6BD0;
- gMultiuseListMenuTemplate.windowId = sDecorMenuWindowIndices[1];
- gMultiuseListMenuTemplate.totalItems = sDecorPCBuffer->unk_520;
- gMultiuseListMenuTemplate.items = sDecorPCBuffer->items;
- gMultiuseListMenuTemplate.maxShowed = sDecorPCBuffer->unk_521;
+
+ StringCopy(sDecorationItemsMenu->names[i], gText_Cancel);
+ sDecorationItemsMenu->items[i].name = sDecorationItemsMenu->names[i];
+ sDecorationItemsMenu->items[i].id = -2;
+ gMultiuseListMenuTemplate = sDecorationItemsListMenuTemplate;
+ gMultiuseListMenuTemplate.windowId = sDecorMenuWindowIds[1];
+ gMultiuseListMenuTemplate.totalItems = sDecorationItemsMenu->numMenuItems;
+ gMultiuseListMenuTemplate.items = sDecorationItemsMenu->items;
+ gMultiuseListMenuTemplate.maxShowed = sDecorationItemsMenu->maxShownItems;
}
-void sub_8127454(u8 *dest, u16 decorId)
+static void CopyDecorationMenuItemName(u8 *dest, u16 decoration)
{
StringCopy(dest, gStringVar1);
- StringAppend(dest, gDecorations[decorId].name);
+ StringAppend(dest, gDecorations[decoration].name);
}
-void sub_8127480(s32 a0, bool8 flag, struct ListMenu *menu)
+static void DecorationItemsMenu_OnCursorMove(s32 itemIndex, bool8 flag, struct ListMenu *menu)
{
if (flag != TRUE)
- {
PlaySE(SE_SELECT);
- }
- sub_8127744(a0);
+
+ PrintDecorationItemDescription(itemIndex);
}
void sub_81274A0(u8 a0, s32 a1, u8 a2)
@@ -879,53 +889,59 @@ void sub_81274A0(u8 a0, s32 a1, u8 a2)
}
}
-void sub_8127500(void)
+static void AddDecorationItemsScrollIndicators(void)
{
- if (sDecorPCBuffer->unk_522 == 0xFF)
+ if (sDecorationItemsMenu->scrollIndicatorsTaskId == 0xFF)
{
- sDecorPCBuffer->unk_522 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0x3c, 0x0c, 0x94, sDecorPCBuffer->unk_520 - sDecorPCBuffer->unk_521, 0x6e, 0x6e, &sSecretBasePCSelectDecorPageNo);
+ sDecorationItemsMenu->scrollIndicatorsTaskId = AddScrollIndicatorArrowPairParameterized(
+ SCROLL_ARROW_UP,
+ 0x3c,
+ 0x0c,
+ 0x94,
+ sDecorationItemsMenu->numMenuItems - sDecorationItemsMenu->maxShownItems,
+ 0x6e,
+ 0x6e,
+ &sDecorationsScrollOffset);
}
}
-void sub_8127554(void)
+static void RemoveDecorationItemsScrollIndicators(void)
{
- if (sDecorPCBuffer->unk_522 != 0xFF)
+ if (sDecorationItemsMenu->scrollIndicatorsTaskId != 0xFF)
{
- RemoveScrollIndicatorArrowPair(sDecorPCBuffer->unk_522);
- sDecorPCBuffer->unk_522 = 0xFF;
+ RemoveScrollIndicatorArrowPair(sDecorationItemsMenu->scrollIndicatorsTaskId);
+ sDecorationItemsMenu->scrollIndicatorsTaskId = 0xFF;
}
}
void sub_8127580(u8 taskId)
{
- sub_81269D4(1);
- sub_812759C(taskId);
+ AddDecorationWindow(1);
+ InitDecorationItemsWindow(taskId);
}
-void sub_812759C(u8 taskId)
+static void InitDecorationItemsWindow(u8 taskId)
{
- s16 *data;
-
- data = gTasks[taskId].data;
- sub_81269D4(3);
- sub_8127718(sCurDecorationCategory);
- sDecorPCBuffer = calloc(1, sizeof(struct DecorPCBuffer));
- sDecorPCBuffer->unk_522 = 0xFF;
- sub_8127284();
+ s16 *data = gTasks[taskId].data;
+ AddDecorationWindow(3);
+ ShowDecorationCategorySummaryWindow(sCurDecorationCategory);
+ sDecorationItemsMenu = AllocZeroed(sizeof(*sDecorationItemsMenu));
+ sDecorationItemsMenu->scrollIndicatorsTaskId = 0xFF;
+ InitDecorationItemsMenuLimits();
sub_81272C8();
sub_81272F8();
- sub_8127330(taskId);
- data[13] = ListMenuInit(&gMultiuseListMenuTemplate, sSecretBasePCSelectDecorPageNo, sSecretBasePCSelectDecorLineNo);
- sub_8127500();
+ PrintDecorationItemMenuItems(taskId);
+ data[13] = ListMenuInit(&gMultiuseListMenuTemplate, sDecorationsScrollOffset, sDecorationsCursorPos);
+ AddDecorationItemsScrollIndicators();
}
-void sub_8127620(u8 taskId)
+static void ShowDecorationItemsWindow(u8 taskId)
{
- sub_812759C(taskId);
- gTasks[taskId].func = sub_812764C;
+ InitDecorationItemsWindow(taskId);
+ gTasks[taskId].func = HandleDecorationItemsMenuInput;
}
-void sub_812764C(u8 taskId)
+static void HandleDecorationItemsMenuInput(u8 taskId)
{
s16 *data;
s32 input;
@@ -934,129 +950,125 @@ void sub_812764C(u8 taskId)
if (!gPaletteFade.active)
{
input = ListMenu_ProcessInput(data[13]);
- ListMenuGetScrollAndRow(data[13], &sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo);
+ ListMenuGetScrollAndRow(data[13], &sDecorationsScrollOffset, &sDecorationsCursorPos);
switch (input)
{
- case LIST_NOTHING_CHOSEN:
- break;
- case LIST_B_PRESSED:
- PlaySE(SE_SELECT);
- SecretBasePC_SelectedDecorActions[data[11]][1](taskId);
- break;
- default:
- PlaySE(SE_SELECT);
- gCurDecorationIndex = input;
- sub_8127554();
- DestroyListMenuTask(data[13], &sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo);
- sub_8126A58(1);
- sub_81277A8();
- free(sDecorPCBuffer);
- SecretBasePC_SelectedDecorActions[data[11]][0](taskId);
- break;
+ case LIST_NOTHING_CHOSEN:
+ break;
+ case LIST_CANCEL:
+ PlaySE(SE_SELECT);
+ sSecretBasePC_SelectedDecorationActions[data[11]][1](taskId);
+ break;
+ default:
+ PlaySE(SE_SELECT);
+ gCurDecorationIndex = input;
+ RemoveDecorationItemsScrollIndicators();
+ DestroyListMenuTask(data[13], &sDecorationsScrollOffset, &sDecorationsCursorPos);
+ RemoveDecorationWindow(1);
+ RemoveDecorationItemsOtherWindows();
+ free(sDecorationItemsMenu);
+ sSecretBasePC_SelectedDecorationActions[data[11]][0](taskId);
+ break;
}
}
}
-void sub_8127718(u8 decorCat)
+static void ShowDecorationCategorySummaryWindow(u8 category)
{
- sub_8126F68(sub_81269D4(2), decorCat, 0, 0, 0, 0);
+ PrintDecorationCategoryMenuItem(AddDecorationWindow(2), category, 0, 0, 0, 0);
}
-void sub_8127744(u32 a0)
+static void PrintDecorationItemDescription(u32 itemIndex)
{
- u8 winidx;
- const u8 *txt;
+ u8 windowId;
+ const u8 *str;
- winidx = sDecorMenuWindowIndices[3];
- FillWindowPixelBuffer(winidx, PIXEL_FILL(1));
- if (a0 >= sCurDecorCatCount)
- {
- txt = gText_GoBackPrevMenu;
- }
+ windowId = sDecorMenuWindowIds[3];
+ FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
+ if (itemIndex >= sNumOwnedDecorationsInCurCategory)
+ str = gText_GoBackPrevMenu;
else
- {
- txt = gDecorations[gCurDecorInventoryItems[a0]].description;
- }
- AddTextPrinterParameterized(winidx, 1, txt, 0, 1, 0, 0);
+ str = gDecorations[gCurDecorationItems[itemIndex]].description;
+
+ AddTextPrinterParameterized(windowId, 1, str, 0, 1, 0, 0);
}
-void sub_81277A8(void)
+static void RemoveDecorationItemsOtherWindows(void)
{
- sub_8126A58(3);
- sub_8126A58(2);
+ // Remove description and category summary windows
+ RemoveDecorationWindow(3);
+ RemoveDecorationWindow(2);
}
bool8 sub_81277BC(u8 idx)
{
u8 i;
-
- for (i = 0; i < 16; i ++)
+ for (i = 0; i < ARRAY_COUNT(sSecretBaseItemsIndicesBuffer); i++)
{
if (sSecretBaseItemsIndicesBuffer[i] == idx)
- {
return TRUE;
- }
}
+
return FALSE;
}
bool8 sub_81277E8(u8 idx)
{
u8 i;
-
- for (i = 0; i < 12; i ++)
+ for (i = 0; i < ARRAY_COUNT(sPlayerRoomItemsIndicesBuffer); i++)
{
if (sPlayerRoomItemsIndicesBuffer[i] == idx)
- {
return TRUE;
- }
}
+
return FALSE;
}
-void IdentifyOwnedDecorationsCurrentlyInUseInternal(u8 taskId)
+static void IdentifyOwnedDecorationsCurrentlyInUseInternal(u8 taskId)
{
- u16 i;
- u16 j;
- u16 k;
- u16 cnt;
+ u16 i, j, k;
+ u16 count;
+
+ count = 0;
+ memset(sSecretBaseItemsIndicesBuffer, 0, sizeof(sSecretBaseItemsIndicesBuffer));
+ memset(sPlayerRoomItemsIndicesBuffer, 0, sizeof(sPlayerRoomItemsIndicesBuffer));
- cnt = 0;
- memset(sSecretBaseItemsIndicesBuffer, 0, 16);
- memset(sPlayerRoomItemsIndicesBuffer, 0, 12);
- for (i = 0; i < 16; i ++)
+ for (i = 0; i < ARRAY_COUNT(sSecretBaseItemsIndicesBuffer); i++)
{
if (gSaveBlock1Ptr->secretBases[0].decorations[i] != DECOR_NONE)
{
- for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j ++)
+ for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j++)
{
- if (gCurDecorInventoryItems[j] == gSaveBlock1Ptr->secretBases[0].decorations[i])
+ if (gCurDecorationItems[j] == gSaveBlock1Ptr->secretBases[0].decorations[i])
{
- for (k = 0; k < cnt && sSecretBaseItemsIndicesBuffer[k] != j + 1; k ++);
- if (k == cnt)
+ for (k = 0; k < count && sSecretBaseItemsIndicesBuffer[k] != j + 1; k++)
+ ;
+
+ if (k == count)
{
- sSecretBaseItemsIndicesBuffer[cnt] = j + 1;
- cnt ++;
+ sSecretBaseItemsIndicesBuffer[count] = j + 1;
+ count++;
break;
}
}
}
}
}
- cnt = 0;
- for (i = 0; i < 12; i ++)
+
+ count = 0;
+ for (i = 0; i < ARRAY_COUNT(sPlayerRoomItemsIndicesBuffer); i++)
{
if (gSaveBlock1Ptr->playerRoomDecor[i] != DECOR_NONE)
{
- for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j ++)
+ for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j++)
{
- if (gCurDecorInventoryItems[j] == gSaveBlock1Ptr->playerRoomDecor[i] && sub_81277BC(j + 1) != TRUE)
+ if (gCurDecorationItems[j] == gSaveBlock1Ptr->playerRoomDecor[i] && sub_81277BC(j + 1) != TRUE)
{
- for (k = 0; k < cnt && sPlayerRoomItemsIndicesBuffer[k] != j + 1; k ++);
- if (k == cnt)
+ for (k = 0; k < count && sPlayerRoomItemsIndicesBuffer[k] != j + 1; k++);
+ if (k == count)
{
- sPlayerRoomItemsIndicesBuffer[cnt] = j + 1;
- cnt ++;
+ sPlayerRoomItemsIndicesBuffer[count] = j + 1;
+ count++;
break;
}
}
@@ -1065,7 +1077,7 @@ void IdentifyOwnedDecorationsCurrentlyInUseInternal(u8 taskId)
}
}
-void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId)
+static void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId)
{
IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId);
}
@@ -1073,24 +1085,25 @@ void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId)
bool8 IsSelectedDecorInThePC(void)
{
u16 i;
- for (i = 0; i < 16; i ++)
+ for (i = 0; i < ARRAY_COUNT(sSecretBaseItemsIndicesBuffer); i++)
{
- if (sSecretBaseItemsIndicesBuffer[i] == sSecretBasePCSelectDecorPageNo + sSecretBasePCSelectDecorLineNo + 1)
- {
+ if (sSecretBaseItemsIndicesBuffer[i] == sDecorationsScrollOffset + sDecorationsCursorPos + 1)
return FALSE;
- }
- if (i < 12 && sPlayerRoomItemsIndicesBuffer[i] == sSecretBasePCSelectDecorPageNo + sSecretBasePCSelectDecorLineNo + 1)
+
+ if (i < ARRAY_COUNT(sPlayerRoomItemsIndicesBuffer)
+ && sPlayerRoomItemsIndicesBuffer[i] == sDecorationsScrollOffset + sDecorationsCursorPos + 1)
{
return FALSE;
}
}
+
return TRUE;
}
-void sub_8127A14(u8 taskId)
+static void sub_8127A14(u8 taskId)
{
- sub_81269D4(1);
- sub_8127620(taskId);
+ AddDecorationWindow(1);
+ ShowDecorationItemsWindow(taskId);
}
void sub_8127A30(u8 taskId)
@@ -1104,20 +1117,18 @@ void sub_8127A5C(u8 taskId)
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
ClearDialogWindowAndFrame(0, 0);
- sub_81269D4(1);
- sub_8127620(taskId);
+ AddDecorationWindow(1);
+ ShowDecorationItemsWindow(taskId);
}
}
void sub_8127A8C(u8 taskId)
{
- s16 *data;
-
- data = gTasks[taskId].data;
- sub_8127554();
- sub_81277A8();
+ s16 *data = gTasks[taskId].data;
+ RemoveDecorationItemsScrollIndicators();
+ RemoveDecorationItemsOtherWindows();
DestroyListMenuTask(data[13], NULL, NULL);
- free(sDecorPCBuffer);
+ free(sDecorationItemsMenu);
sub_8126E44(taskId);
}
@@ -1135,105 +1146,91 @@ void sub_8127B04(u8 taskId)
WarpIntoMap();
}
-u16 sub_8127B54(u8 decor, u8 a1)
+static u16 GetDecorationElevation(u8 decoration, u8 tileIndex)
{
- u16 resp;
-
- resp = -1;
- switch (decor)
+ u16 elevation = -1;
+ switch (decoration)
{
- case DECOR_STAND:
- resp = gUnknown_085A72E4[a1] << 12;
- return resp;
- case DECOR_SLIDE:
- resp = gUnknown_085A72EC[a1] << 12;
- return resp;
- default:
- return resp;
+ case DECOR_STAND:
+ elevation = sDecorationStandElevations[tileIndex] << 12;
+ return elevation;
+ case DECOR_SLIDE:
+ elevation = sDecorationSlideElevation[tileIndex] << 12;
+ return elevation;
+ default:
+ return elevation;
}
}
-void sub_8127B90(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decor)
+static void ShowDecorationOnMap_(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decoration)
{
- u16 i;
- u16 j;
+ u16 i, j;
+ s16 x, y;
u16 behavior;
u16 impassableFlag;
- u16 v0;
- u16 v1;
- s16 decLeft;
- s16 decBottom;
+ u16 posterSide;
+ u16 elevation;
- for (i = 0; i < decHeight; i ++)
+ for (j = 0; j < decHeight; j++)
{
- decBottom = mapY - decHeight + 1 + i;
- for (j = 0; j < decWidth; j ++)
+ y = mapY - decHeight + 1 + j;
+ for (i = 0; i < decWidth; i++)
{
- decLeft = mapX + j;
- behavior = GetBehaviorByMetatileId(0x200 + gDecorations[decor].tiles[i * decWidth + j]);
- if (MetatileBehavior_IsSecretBaseImpassable(behavior) == TRUE || (gDecorations[decor].permission != DECORPERM_PASS_FLOOR && (behavior >> 12)))
- {
+ x = mapX + i;
+ behavior = GetBehaviorByMetatileId(0x200 + gDecorations[decoration].tiles[j * decWidth + i]);
+ if (MetatileBehavior_IsSecretBaseImpassable(behavior) == TRUE || (gDecorations[decoration].permission != DECORPERM_PASS_FLOOR && (behavior >> 12)))
impassableFlag = METATILE_COLLISION_MASK;
- }
else
- {
- impassableFlag = 0x000;
- }
- if (gDecorations[decor].permission != DECORPERM_NA_WALL && MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(decLeft, decBottom)) == TRUE)
- {
- v0 = 1;
- }
+ impassableFlag = 0;
+
+ if (gDecorations[decoration].permission != DECORPERM_NA_WALL && MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE)
+ posterSide = 1;
else
- {
- v0 = 0;
- }
- v1 = sub_8127B54(gDecorations[decor].id, i * decWidth + j);
- if (v1 != 0xFFFF)
- {
- MapGridSetMetatileEntryAt(decLeft, decBottom, (gDecorations[decor].tiles[i * decWidth + j] + (0x200 | v0)) | impassableFlag | v1);
- }
+ posterSide = 0;
+
+ elevation = GetDecorationElevation(gDecorations[decoration].id, j * decWidth + i);
+ if (elevation != 0xFFFF)
+ MapGridSetMetatileEntryAt(x, y, (gDecorations[decoration].tiles[j * decWidth + i] + (0x200 | posterSide)) | impassableFlag | elevation);
else
- {
- MapGridSetMetatileIdAt(decLeft, decBottom, (gDecorations[decor].tiles[i * decWidth + j] + (0x200 | v0)) | impassableFlag);
- }
+ MapGridSetMetatileIdAt(x, y, (gDecorations[decoration].tiles[j * decWidth + i] + (0x200 | posterSide)) | impassableFlag);
}
}
}
-void sub_8127D38(u16 mapX, u16 mapY, u16 decor)
-{
- switch (gDecorations[decor].shape)
- {
- case DECORSHAPE_1x1:
- sub_8127B90(mapX, mapY, 1, 1, decor);
- break;
- case DECORSHAPE_2x1:
- sub_8127B90(mapX, mapY, 2, 1, decor);
- break;
- case DECORSHAPE_3x1: // unused
- sub_8127B90(mapX, mapY, 3, 1, decor);
- break;
- case DECORSHAPE_4x2:
- sub_8127B90(mapX, mapY, 4, 2, decor);
- break;
- case DECORSHAPE_2x2:
- sub_8127B90(mapX, mapY, 2, 2, decor);
- break;
- case DECORSHAPE_1x2:
- sub_8127B90(mapX, mapY, 1, 2, decor);
- break;
- case DECORSHAPE_1x3: // unused
- sub_8127B90(mapX, mapY, 1, 3, decor);
- break;
- case DECORSHAPE_2x4:
- sub_8127B90(mapX, mapY, 2, 4, decor);
- break;
- case DECORSHAPE_3x3:
- sub_8127B90(mapX, mapY, 3, 3, decor);
- break;
- case DECORSHAPE_3x2:
- sub_8127B90(mapX, mapY, 3, 2, decor);
- break;
+void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decoration)
+{
+ switch (gDecorations[decoration].shape)
+ {
+ case DECORSHAPE_1x1:
+ ShowDecorationOnMap_(mapX, mapY, 1, 1, decoration);
+ break;
+ case DECORSHAPE_2x1:
+ ShowDecorationOnMap_(mapX, mapY, 2, 1, decoration);
+ break;
+ case DECORSHAPE_3x1: // unused
+ ShowDecorationOnMap_(mapX, mapY, 3, 1, decoration);
+ break;
+ case DECORSHAPE_4x2:
+ ShowDecorationOnMap_(mapX, mapY, 4, 2, decoration);
+ break;
+ case DECORSHAPE_2x2:
+ ShowDecorationOnMap_(mapX, mapY, 2, 2, decoration);
+ break;
+ case DECORSHAPE_1x2:
+ ShowDecorationOnMap_(mapX, mapY, 1, 2, decoration);
+ break;
+ case DECORSHAPE_1x3: // unused
+ ShowDecorationOnMap_(mapX, mapY, 1, 3, decoration);
+ break;
+ case DECORSHAPE_2x4:
+ ShowDecorationOnMap_(mapX, mapY, 2, 4, decoration);
+ break;
+ case DECORSHAPE_3x3:
+ ShowDecorationOnMap_(mapX, mapY, 3, 3, decoration);
+ break;
+ case DECORSHAPE_3x2:
+ ShowDecorationOnMap_(mapX, mapY, 3, 2, decoration);
+ break;
}
}
@@ -1242,25 +1239,27 @@ void sub_8127E18(void)
u8 i;
u8 j;
- for (i = 0; i < 14; i ++)
+ for (i = 0; i < 14; i++)
{
if (FlagGet(FLAG_DECORATION_1 + i) == TRUE)
{
FlagClear(FLAG_DECORATION_1 + i);
- for (j = 0; j < gMapHeader.events->eventObjectCount; j ++)
+ for (j = 0; j < gMapHeader.events->eventObjectCount; j++)
{
if (gMapHeader.events->eventObjects[j].flagId == FLAG_DECORATION_1 + i)
- {
break;
- }
}
- VarSet(UNKNOWN_VAR_OFFSET_3F20 + gMapHeader.events->eventObjects[j].graphicsId, sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]);
+
+ VarSet(
+ VAR_OBJ_GFX_ID_0 + (gMapHeader.events->eventObjects[j].graphicsId - EVENT_OBJ_GFX_VAR_0),
+ sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]);
+
gSpecialVar_0x8005 = gMapHeader.events->eventObjects[j].localId;
gSpecialVar_0x8006 = sCurDecorMapX;
gSpecialVar_0x8007 = sCurDecorMapY;
- show_sprite(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
- sub_808EBA8(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007);
- sub_808F254(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ TrySpawnEventObject(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ TryMoveEventObjectToMapCoords(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007);
+ TryOverrideEventObjectTemplateCoords(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
break;
}
}
@@ -1270,9 +1269,9 @@ bool8 sub_8127F38(void)
{
u16 i;
- for (i = 0; i < gUnknown_0203A17C.size; i ++)
+ for (i = 0; i < gDecorationContext.size; i++)
{
- if (gUnknown_0203A17C.items[i] == DECOR_NONE)
+ if (gDecorationContext.items[i] == DECOR_NONE)
{
return TRUE;
}
@@ -1282,7 +1281,7 @@ bool8 sub_8127F38(void)
void sub_8127F68(u8 taskId)
{
- if (gUnknown_0203A17C.isPlayerRoom == TRUE && sCurDecorationCategory != DECORCAT_DOLL && sCurDecorationCategory != DECORCAT_CUSHION)
+ if (gDecorationContext.isPlayerRoom == TRUE && sCurDecorationCategory != DECORCAT_DOLL && sCurDecorationCategory != DECORCAT_CUSHION)
{
StringExpandPlaceholders(gStringVar4, gText_CantPlaceInRoom);
DisplayItemMessageOnField(taskId, gStringVar4, sub_8127A5C);
@@ -1297,8 +1296,8 @@ void sub_8127F68(u8 taskId)
}
else
{
- ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203A17C.size, STR_CONV_MODE_RIGHT_ALIGN, 2);
- if (gUnknown_0203A17C.isPlayerRoom == FALSE) {
+ ConvertIntToDecimalStringN(gStringVar1, gDecorationContext.size, STR_CONV_MODE_RIGHT_ALIGN, 2);
+ if (gDecorationContext.isPlayerRoom == FALSE) {
StringExpandPlaceholders(gStringVar4, gText_NoMoreDecorations);
}
else
@@ -1328,7 +1327,7 @@ void sub_8128060(u8 taskId)
break;
case 1:
gPaletteFade.bufferTransferDisabled = TRUE;
- ConfigureCameraObjectForPlacingDecoration(&sPlaceDecorationGraphicsDataBuffer, gCurDecorInventoryItems[gCurDecorationIndex]);
+ ConfigureCameraObjectForPlacingDecoration(&sPlaceDecorationGraphicsDataBuffer, gCurDecorationItems[gCurDecorationIndex]);
sub_812826C(taskId);
SetUpPlacingDecorationPlayerAvatar(taskId, &sPlaceDecorationGraphicsDataBuffer);
pal_fill_black();
@@ -1351,27 +1350,23 @@ void ConfigureCameraObjectForPlacingDecoration(struct PlaceDecorationGraphicsDat
gFieldCamera.spriteId = gpu_pal_decompress_alloc_tag_and_upload(data, decor);
gSprites[gFieldCamera.spriteId].oam.priority = 1;
gSprites[gFieldCamera.spriteId].callback = sub_81292D0;
- gSprites[gFieldCamera.spriteId].pos1.x = gUnknown_085A7250[data->decoration->shape].x;
- gSprites[gFieldCamera.spriteId].pos1.y = gUnknown_085A7250[data->decoration->shape].y;
+ gSprites[gFieldCamera.spriteId].pos1.x = sDecorationMovementInfo[data->decoration->shape].cameraX;
+ gSprites[gFieldCamera.spriteId].pos1.y = sDecorationMovementInfo[data->decoration->shape].cameraY;
}
void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphicsDataBuffer *data)
{
- u8 v0;
+ u8 x;
- v0 = 16 * (u8)gTasks[taskId].data[5] + gUnknown_085A7250[data->decoration->shape].x - 8 * ((u8)gTasks[taskId].data[5] - 1);
+ x = 16 * (u8)gTasks[taskId].data[5] + sDecorationMovementInfo[data->decoration->shape].cameraX - 8 * ((u8)gTasks[taskId].data[5] - 1);
if (data->decoration->shape == DECORSHAPE_3x1 || data->decoration->shape == DECORSHAPE_3x3 || data->decoration->shape == DECORSHAPE_3x2)
- {
- v0 -= 8;
- }
+ x -= 8;
+
if (gSaveBlock2Ptr->playerGender == MALE)
- {
- sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC1, SpriteCallbackDummy, v0, 0x48, 0);
- }
+ sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, x, 72, 0);
else
- {
- sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC2, SpriteCallbackDummy, v0, 0x48, 0);
- }
+ sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_MAY_DECORATING, SpriteCallbackDummy, x, 72, 0);
+
gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1;
DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]);
sDecor_CameraSpriteObjectIdx1 = gFieldCamera.spriteId;
@@ -1379,7 +1374,7 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphic
void sub_812826C(u8 taskId)
{
- switch (gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].shape)
+ switch (gDecorations[gCurDecorationItems[gCurDecorationIndex]].shape)
{
case DECORSHAPE_1x1:
gTasks[taskId].data[5] = 1;
@@ -1467,14 +1462,12 @@ bool8 sub_81284F4(u16 behaviorAt, const struct Decoration *decoration)
if (MetatileBehavior_IsBlockDecoration(behaviorAt) != TRUE)
{
if (decoration->id == DECOR_SOLID_BOARD && MetatileBehavior_IsSecretBaseHole(behaviorAt) == TRUE)
- {
return TRUE;
- }
+
if (MetatileBehavior_IsNormal(behaviorAt))
- {
return TRUE;
- }
}
+
return FALSE;
}
@@ -1493,127 +1486,108 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
switch (decoration->permission)
{
- case DECORPERM_SOLID_FLOOR:
- case DECORPERM_PASS_FLOOR:
- for (i=0; i<mapY; i++)
- {
- curY = gTasks[taskId].data[1] - i;
- for (j=0; j<mapX; j++)
- {
- curX = gTasks[taskId].data[0] + j;
- behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY);
- behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK;
- if (!sub_81284F4(behaviorAt, decoration))
- {
- return FALSE;
- }
- if (!sub_81284AC(taskId, curX, curY, behaviorBy))
- {
- return FALSE;
- }
- behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0);
- if (behaviorAt != 0 && behaviorAt != 16)
- {
- return FALSE;
- }
- }
- }
- break;
- case DECORPERM_BEHIND_FLOOR:
- for (i=0; i<mapY-1; i++)
- {
- curY = gTasks[taskId].data[1] - i;
- for (j=0; j<mapX; j++)
- {
- curX = gTasks[taskId].data[0] + j;
- behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY);
- behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK;
- if (!MetatileBehavior_IsNormal(behaviorAt) && !sub_8128484(behaviorAt, behaviorBy))
- {
- return FALSE;
- }
- if (!sub_81284AC(taskId, curX, curY, behaviorBy))
- {
- return FALSE;
- }
- if (GetEventObjectIdByXYZ(curX, curY, 0) != 16)
- {
- return FALSE;
- }
- }
- }
- curY = gTasks[taskId].data[1] - mapY + 1;
- for (j=0; j<mapX; j++)
+ case DECORPERM_SOLID_FLOOR:
+ case DECORPERM_PASS_FLOOR:
+ for (i = 0; i < mapY; i++)
+ {
+ curY = gTasks[taskId].data[1] - i;
+ for (j = 0; j < mapX; j++)
{
curX = gTasks[taskId].data[0] + j;
behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY);
- behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[j]) & METATILE_ELEVATION_MASK;
- if (!MetatileBehavior_IsNormal(behaviorAt) && !MetatileBehavior_IsSecretBaseNorthWall(behaviorAt))
- {
+ behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK;
+ if (!sub_81284F4(behaviorAt, decoration))
return FALSE;
- }
+
if (!sub_81284AC(taskId, curX, curY, behaviorBy))
- {
return FALSE;
- }
+
behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0);
if (behaviorAt != 0 && behaviorAt != 16)
- {
return FALSE;
- }
}
- break;
- case DECORPERM_NA_WALL:
- for (i=0; i<mapY; i++)
- {
- curY = gTasks[taskId].data[1] - i;
- for (j=0; j<mapX; j++)
- {
- curX = gTasks[taskId].data[0] + j;
- if (!MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(curX, curY)))
- {
- return FALSE;
- }
- if (MapGridGetMetatileIdAt(curX, curY + 1) == 0x28c)
- {
- return FALSE;
- }
- }
- }
- break;
- case DECORPERM_SOLID_MAT:
- curY = gTasks[taskId].data[1];
- for (j=0; j<mapX; j++)
+ }
+ break;
+ case DECORPERM_BEHIND_FLOOR:
+ for (i = 0; i < mapY - 1; i++)
+ {
+ curY = gTasks[taskId].data[1] - i;
+ for (j = 0; j < mapX; j++)
{
curX = gTasks[taskId].data[0] + j;
behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY);
- if (decoration->shape == DECORSHAPE_1x2)
- {
- if (!MetatileBehavior_IsLargeMatCenter(behaviorAt))
- {
- return FALSE;
- }
- }
- else if (!MetatileBehavior_IsSecretBaseLargeMatEdge(behaviorAt))
- {
- if (!MetatileBehavior_IsLargeMatCenter(behaviorAt))
- {
- return FALSE;
- }
- }
+ behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK;
+ if (!MetatileBehavior_IsNormal(behaviorAt) && !sub_8128484(behaviorAt, behaviorBy))
+ return FALSE;
+
+ if (!sub_81284AC(taskId, curX, curY, behaviorBy))
+ return FALSE;
+
if (GetEventObjectIdByXYZ(curX, curY, 0) != 16)
- {
return FALSE;
- }
}
- break;
+ }
+
+ curY = gTasks[taskId].data[1] - mapY + 1;
+ for (j = 0; j < mapX; j++)
+ {
+ curX = gTasks[taskId].data[0] + j;
+ behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY);
+ behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[j]) & METATILE_ELEVATION_MASK;
+ if (!MetatileBehavior_IsNormal(behaviorAt) && !MetatileBehavior_IsSecretBaseNorthWall(behaviorAt))
+ return FALSE;
+
+ if (!sub_81284AC(taskId, curX, curY, behaviorBy))
+ return FALSE;
+
+ behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0);
+ if (behaviorAt != 0 && behaviorAt != 16)
+ return FALSE;
+ }
+ break;
+ case DECORPERM_NA_WALL:
+ for (i = 0; i < mapY; i++)
+ {
+ curY = gTasks[taskId].data[1] - i;
+ for (j = 0; j < mapX; j++)
+ {
+ curX = gTasks[taskId].data[0] + j;
+ if (!MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(curX, curY)))
+ return FALSE;
+
+ if (MapGridGetMetatileIdAt(curX, curY + 1) == 0x28c)
+ return FALSE;
+ }
+ }
+ break;
+ case DECORPERM_SPRITE:
+ curY = gTasks[taskId].data[1];
+ for (j = 0; j < mapX; j++)
+ {
+ curX = gTasks[taskId].data[0] + j;
+ behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY);
+ if (decoration->shape == DECORSHAPE_1x2)
+ {
+ if (!MetatileBehavior_HoldsLargeDecoration(behaviorAt))
+ return FALSE;
+ }
+ else if (!MetatileBehavior_HoldsSmallDecoration(behaviorAt))
+ {
+ if (!MetatileBehavior_HoldsLargeDecoration(behaviorAt))
+ return FALSE;
+ }
+
+ if (GetEventObjectIdByXYZ(curX, curY, 0) != 16)
+ return FALSE;
+ }
+ break;
}
return TRUE;
}
void sub_8128950(u8 taskId)
{
- if (sub_812853C(taskId, &gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]]) == TRUE)
+ if (sub_812853C(taskId, &gDecorations[gCurDecorationItems[gCurDecorationIndex]]) == TRUE)
{
StringExpandPlaceholders(gStringVar4, gText_PlaceItHere);
DisplayItemMessageOnField(taskId, gStringVar4, sub_81289D0);
@@ -1636,9 +1610,9 @@ void sub_81289F0(u8 taskId)
{
ClearDialogWindowAndFrame(0, 0);
sub_8128AAC(taskId);
- if (gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].permission != DECORPERM_SOLID_MAT)
+ if (gDecorations[gCurDecorationItems[gCurDecorationIndex]].permission != DECORPERM_SPRITE)
{
- sub_8127D38(gTasks[taskId].data[0], gTasks[taskId].data[1], gCurDecorInventoryItems[gCurDecorationIndex]);
+ ShowDecorationOnMap(gTasks[taskId].data[0], gTasks[taskId].data[1], gCurDecorationItems[gCurDecorationIndex]);
}
else
{
@@ -1646,11 +1620,11 @@ void sub_81289F0(u8 taskId)
sCurDecorMapY = gTasks[taskId].data[1] - 7;
ScriptContext1_SetupScript(EventScript_275D1F);
}
+
gSprites[sDecor_CameraSpriteObjectIdx1].pos1.y += 2;
if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE)
- {
TV_PutSecretBaseVisitOnTheAir();
- }
+
sub_8128BBC(taskId);
}
@@ -1658,18 +1632,19 @@ void sub_8128AAC(u8 taskId)
{
u16 i;
- for (i = 0; i < gUnknown_0203A17C.size; i ++)
+ for (i = 0; i < gDecorationContext.size; i++)
{
- if (gUnknown_0203A17C.items[i] == DECOR_NONE)
+ if (gDecorationContext.items[i] == DECOR_NONE)
{
- gUnknown_0203A17C.items[i] = gCurDecorInventoryItems[gCurDecorationIndex];
- gUnknown_0203A17C.pos[i] = ((gTasks[taskId].data[0] - 7) << 4) + (gTasks[taskId].data[1] - 7);
+ gDecorationContext.items[i] = gCurDecorationItems[gCurDecorationIndex];
+ gDecorationContext.pos[i] = ((gTasks[taskId].data[0] - 7) << 4) + (gTasks[taskId].data[1] - 7);
break;
}
}
- if (!gUnknown_0203A17C.isPlayerRoom)
+
+ if (!gDecorationContext.isPlayerRoom)
{
- for (i = 0; i < 16; i ++)
+ for (i = 0; i < 16; i++)
{
if (sSecretBaseItemsIndicesBuffer[i] == 0)
{
@@ -1680,7 +1655,7 @@ void sub_8128AAC(u8 taskId)
}
else
{
- for (i = 0; i < 12; i ++)
+ for (i = 0; i < 12; i++)
{
if (sPlayerRoomItemsIndicesBuffer[i] == 0)
{
@@ -1714,49 +1689,45 @@ void c1_overworld_prev_quest(u8 taskId)
{
switch (gTasks[taskId].data[2])
{
- case 0:
- ScriptContext2_Enable();
- if (!gPaletteFade.active)
- {
- sub_8127B04(taskId);
- gTasks[taskId].data[2] = 1;
- }
- break;
- case 1:
- sub_812A3C8();
- FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG);
- gFieldCallback = sub_8128CD4;
- SetMainCallback2(CB2_ReturnToField);
- DestroyTask(taskId);
- break;
+ case 0:
+ ScriptContext2_Enable();
+ if (!gPaletteFade.active)
+ {
+ sub_8127B04(taskId);
+ gTasks[taskId].data[2] = 1;
+ }
+ break;
+ case 1:
+ sub_812A3C8();
+ FreeSpritePaletteByTag(PLACE_DECORATION_SELECTOR_TAG);
+ gFieldCallback = sub_8128CD4;
+ SetMainCallback2(CB2_ReturnToField);
+ DestroyTask(taskId);
+ break;
}
}
void sub_8128C64(u8 taskId)
{
- s16 *data;
-
- data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
switch (data[2])
{
- case 0:
- sub_80E9578();
- data[2] ++;
- break;
- case 1:
- ScriptContext1_SetupScript(EventScript_275D0C);
- data[2] ++;
- break;
- case 2:
- ScriptContext2_Enable();
- data[2] ++;
- break;
- case 3:
- if (IsWeatherNotFadingIn() == TRUE)
- {
- gTasks[taskId].func = sub_812764C;
- }
- break;
+ case 0:
+ HideSecretBaseDecorationSprites();
+ data[2]++;
+ break;
+ case 1:
+ ScriptContext1_SetupScript(EventScript_275D0C);
+ data[2]++;
+ break;
+ case 2:
+ ScriptContext2_Enable();
+ data[2]++;
+ break;
+ case 3:
+ if (IsWeatherNotFadingIn() == TRUE)
+ gTasks[taskId].func = HandleDecorationItemsMenuInput;
+ break;
}
}
@@ -1773,41 +1744,40 @@ void sub_8128CD4(void)
bool8 sub_8128D10(u8 taskId)
{
- s16 *data;
-
- data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
if (sDecorationLastDirectionMoved == DIR_SOUTH && data[1] - data[6] - 6 < 0)
{
- data[1] ++;
+ data[1]++;
return FALSE;
}
+
if (sDecorationLastDirectionMoved == DIR_NORTH && data[1] - 7 >= gMapHeader.mapLayout->height)
{
- data[1] --;
+ data[1]--;
return FALSE;
}
+
if (sDecorationLastDirectionMoved == DIR_WEST && data[0] - 7 < 0)
{
- data[0] ++;
+ data[0]++;
return FALSE;
}
+
if (sDecorationLastDirectionMoved == DIR_EAST && data[0] + data[5] - 8 >= gMapHeader.mapLayout->width)
{
- data[0] --;
+ data[0]--;
return FALSE;
}
+
return TRUE;
}
bool8 sub_8128DB4(void)
{
- u16 heldKeys;
-
- heldKeys = gMain.heldKeys & 0x0F0;
+ u16 heldKeys = gMain.heldKeys & DPAD_ANY;
if (heldKeys != DPAD_UP && heldKeys != DPAD_DOWN && heldKeys != DPAD_LEFT && heldKeys != DPAD_RIGHT)
- {
return FALSE;
- }
+
return TRUE;
}
@@ -1820,68 +1790,69 @@ void sub_8128DE0(void)
void sub_8128E18(u8 taskId)
{
- s16 *data;
-
- data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
if (!gSprites[sDecor_CameraSpriteObjectIdx1].data[4])
{
if (data[10] == 1)
{
gUnknown_085A72D4[data[12]].yesFunc(taskId);
return;
- } else if (data[10] == 2)
+ }
+ else if (data[10] == 2)
{
gUnknown_085A72D4[data[12]].noFunc(taskId);
return;
}
- if ((gMain.heldKeys & 0x0F0) == DPAD_UP)
+
+ if ((gMain.heldKeys & DPAD_ANY) == DPAD_UP)
{
sDecorationLastDirectionMoved = DIR_SOUTH;
gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0;
gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = -2;
data[1]--;
}
- if ((gMain.heldKeys & 0x0F0) == DPAD_DOWN)
+
+ if ((gMain.heldKeys & DPAD_ANY) == DPAD_DOWN)
{
sDecorationLastDirectionMoved = DIR_NORTH;
gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0;
gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 2;
data[1]++;
}
- if ((gMain.heldKeys & 0x0F0) == DPAD_LEFT)
+
+ if ((gMain.heldKeys & DPAD_ANY) == DPAD_LEFT)
{
sDecorationLastDirectionMoved = DIR_WEST;
gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = -2;
gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0;
data[0]--;
}
- if ((gMain.heldKeys & 0x0F0) == DPAD_RIGHT)
+
+ if ((gMain.heldKeys & DPAD_ANY) == DPAD_RIGHT)
{
sDecorationLastDirectionMoved = DIR_EAST;
gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 2;
gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0;
data[0]++;
}
+
if (!sub_8128DB4() || !sub_8128D10(taskId))
- {
sub_8128DE0();
- }
}
+
if (sDecorationLastDirectionMoved)
{
gSprites[sDecor_CameraSpriteObjectIdx1].data[4]++;
gSprites[sDecor_CameraSpriteObjectIdx1].data[4] &= 7;
}
+
if (!data[10])
{
if (gMain.newKeys & A_BUTTON)
- {
data[10] = A_BUTTON;
- }
+
if (gMain.newKeys & B_BUTTON)
- {
data[10] = B_BUTTON;
- }
}
}
@@ -1896,9 +1867,7 @@ void sub_8128FD8(u8 taskId)
void sub_8129020(u8 taskId)
{
if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
- {
sub_8128FD8(taskId);
- }
}
void sub_8129048(struct PlaceDecorationGraphicsDataBuffer *data)
@@ -1919,49 +1888,46 @@ void sub_8129088(u8 *dest, u16 tile)
mode = tile >> 10;
if (tile != 0)
- {
tile &= 0x03FF;
- }
+
CpuFastCopy(&((u8 *)gTilesetPointer_SecretBase->tiles)[tile << 5], buffer, 32);
switch (mode)
{
- case 0:
- CpuFastCopy(buffer, dest, 32);
- break;
- case 1:
- for (i = 0; i < 8; i ++)
- {
- dest[4 * i] = (buffer[4 * (i + 1) - 1] >> 4) + ((buffer[4 * (i + 1) - 1] & 0x0F) << 4);
- dest[4 * i + 1] = (buffer[4 * (i + 1) - 2] >> 4) + ((buffer[4 * (i + 1) - 2] & 0x0F) << 4);
- dest[4 * i + 2] = (buffer[4 * (i + 1) - 3] >> 4) + ((buffer[4 * (i + 1) - 3] & 0x0F) << 4);
- dest[4 * i + 3] = (buffer[4 * (i + 1) - 4] >> 4) + ((buffer[4 * (i + 1) - 4] & 0x0F) << 4);
- }
- break;
- case 2:
- for (i = 0; i < 8; i ++)
- {
- dest[4 * i] = buffer[4 * (7 - i)];
- dest[4 * i + 1] = buffer[4 * (7 - i) + 1];
- dest[4 * i + 2] = buffer[4 * (7 - i) + 2];
- dest[4 * i + 3] = buffer[4 * (7 - i) + 3];
- }
- break;
- case 3:
- for (i = 0; i < 32; i ++)
- {
- dest[i] = (buffer[31 - i] >> 4) + ((buffer[31 - i] & 0x0F) << 4);
- }
- break;
+ case 0:
+ CpuFastCopy(buffer, dest, 32);
+ break;
+ case 1:
+ for (i = 0; i < 8; i++)
+ {
+ dest[4 * i] = (buffer[4 * (i + 1) - 1] >> 4) + ((buffer[4 * (i + 1) - 1] & 0x0F) << 4);
+ dest[4 * i + 1] = (buffer[4 * (i + 1) - 2] >> 4) + ((buffer[4 * (i + 1) - 2] & 0x0F) << 4);
+ dest[4 * i + 2] = (buffer[4 * (i + 1) - 3] >> 4) + ((buffer[4 * (i + 1) - 3] & 0x0F) << 4);
+ dest[4 * i + 3] = (buffer[4 * (i + 1) - 4] >> 4) + ((buffer[4 * (i + 1) - 4] & 0x0F) << 4);
+ }
+ break;
+ case 2:
+ for (i = 0; i < 8; i++)
+ {
+ dest[4 * i] = buffer[4 * (7 - i)];
+ dest[4 * i + 1] = buffer[4 * (7 - i) + 1];
+ dest[4 * i + 2] = buffer[4 * (7 - i) + 2];
+ dest[4 * i + 3] = buffer[4 * (7 - i) + 3];
+ }
+ break;
+ case 3:
+ for (i = 0; i < 32; i++)
+ {
+ dest[i] = (buffer[31 - i] >> 4) + ((buffer[31 - i] & 0x0F) << 4);
+ }
+ break;
}
}
void sub_81291A4(struct PlaceDecorationGraphicsDataBuffer *data)
{
u16 i;
- for (i = 0; i < 64; i ++)
- {
+ for (i = 0; i < 64; i++)
sub_8129088(&data->image[i * 32], data->tiles[i]);
- }
}
u16 sub_81291CC(u16 tile)
@@ -1975,7 +1941,7 @@ void sub_81291E8(struct PlaceDecorationGraphicsDataBuffer *data)
u8 shape;
shape = data->decoration->shape;
- for (i = 0; i < gUnknown_085A71B0[shape].size; i ++)
+ for (i = 0; i < gUnknown_085A71B0[shape].size; i++)
{
data->tiles[gUnknown_085A71B0[shape].tiles[i]] = sub_81291CC(data->decoration->tiles[gUnknown_085A71B0[shape].y[i]] * 8 + gUnknown_085A71B0[shape].x[i]);
}
@@ -1988,10 +1954,10 @@ void SetDecorSelectionBoxOamAttributes(u8 decorShape)
sDecorSelectorOam.objMode = ST_OAM_OBJ_NORMAL;
sDecorSelectorOam.mosaic = 0;
sDecorSelectorOam.bpp = ST_OAM_4BPP;
- sDecorSelectorOam.shape = gUnknown_085A7250[decorShape].shape;
+ sDecorSelectorOam.shape = sDecorationMovementInfo[decorShape].shape;
sDecorSelectorOam.x = 0;
sDecorSelectorOam.matrixNum = 0;
- sDecorSelectorOam.size = gUnknown_085A7250[decorShape].size;
+ sDecorSelectorOam.size = sDecorationMovementInfo[decorShape].size;
sDecorSelectorOam.tileNum = 0;
sDecorSelectorOam.priority = 0;
sDecorSelectorOam.paletteNum = 0;
@@ -2013,14 +1979,11 @@ void sub_81292E8(struct Sprite *sprite)
if (sprite->data[7] == 0)
{
if (sprite->data[6] < 15)
- {
- sprite->invisible = FALSE;
- }
+ sprite->invisible = 0;
else
- {
- sprite->invisible = TRUE;
- }
- sprite->data[6] ++;
+ sprite->invisible = 1;
+
+ sprite->data[6]++;
sprite->data[6] &= 0x1F;
}
else
@@ -2033,17 +1996,16 @@ u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphicsDataBuf
{
sub_8129048(data);
data->decoration = &gDecorations[decor];
- if (data->decoration->permission == DECORPERM_SOLID_MAT)
- {
+ if (data->decoration->permission == DECORPERM_SPRITE)
return AddPseudoEventObject(data->decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1);
- }
- FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG);
+
+ FreeSpritePaletteByTag(PLACE_DECORATION_SELECTOR_TAG);
sub_81291E8(data);
SetDecorSelectionBoxOamAttributes(data->decoration->shape);
sub_81291A4(data);
sub_8129068(data->palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(data->decoration->tiles[0] * 8) + 7] >> 12);
LoadSpritePalette(&gUnknown_085A72BC);
- return CreateSprite(&sDecorSelectorSpriteTemplate, 0, 0, 0);
+ return CreateSprite(&sDecorationSelectorSpriteTemplate, 0, 0, 0);
}
u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor)
@@ -2054,9 +2016,8 @@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor)
u8 spriteId;
if (!AllocItemIconTemporaryBuffers())
- {
return MAX_SPRITES;
- }
+
LZDecompressWram(GetDecorationIconPicOrPalette(decor, 0), gItemIconDecompressionBuffer);
CopyItemIconPicTo4x4Buffer(gItemIconDecompressionBuffer, gItemIcon4x4Buffer);
sheet.data = gItemIcon4x4Buffer;
@@ -2078,10 +2039,9 @@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor)
const u32 *GetDecorationIconPicOrPalette(u16 decor, u8 mode)
{
- if (decor > 120)
- {
+ if (decor > NUM_DECORATIONS)
decor = DECOR_NONE;
- }
+
return gUnknown_085A6BE8[decor][mode];
}
@@ -2094,7 +2054,7 @@ u8 AddDecorationIconObjectFromEventObject(u16 tilesTag, u16 paletteTag, u8 decor
sub_8129048(&sPlaceDecorationGraphicsDataBuffer);
sPlaceDecorationGraphicsDataBuffer.decoration = &gDecorations[decor];
- if (sPlaceDecorationGraphicsDataBuffer.decoration->permission != DECORPERM_SOLID_MAT)
+ if (sPlaceDecorationGraphicsDataBuffer.decoration->permission != DECORPERM_SPRITE)
{
sub_81291E8(&sPlaceDecorationGraphicsDataBuffer);
SetDecorSelectionBoxOamAttributes(sPlaceDecorationGraphicsDataBuffer.decoration->shape);
@@ -2125,13 +2085,12 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1
{
u8 spriteId;
- if (decor > 120)
+ if (decor > NUM_DECORATIONS)
{
spriteId = AddDecorationIconObjectFromIconTable(tilesTag, paletteTag, DECOR_NONE);
if (spriteId == MAX_SPRITES)
- {
return MAX_SPRITES;
- }
+
gSprites[spriteId].pos2.x = x + 4;
gSprites[spriteId].pos2.y = y + 4;
}
@@ -2139,37 +2098,32 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1
{
spriteId = AddDecorationIconObjectFromEventObject(tilesTag, paletteTag, decor);
if (spriteId == MAX_SPRITES)
- {
return MAX_SPRITES;
- }
+
gSprites[spriteId].pos2.x = x;
if (decor == DECOR_SILVER_SHIELD || decor == DECOR_GOLD_SHIELD)
- {
gSprites[spriteId].pos2.y = y - 4;
- }
else
- {
gSprites[spriteId].pos2.y = y;
- }
}
else
{
spriteId = AddDecorationIconObjectFromIconTable(tilesTag, paletteTag, decor);
if (spriteId == MAX_SPRITES)
- {
return MAX_SPRITES;
- }
+
gSprites[spriteId].pos2.x = x + 4;
gSprites[spriteId].pos2.y = y + 4;
}
+
gSprites[spriteId].oam.priority = priority;
return spriteId;
}
void sub_81296EC(u8 idx)
{
- gUnknown_0203A17C.items[idx] = 0;
- gUnknown_0203A17C.pos[idx] = 0;
+ gDecorationContext.items[idx] = 0;
+ gDecorationContext.pos[idx] = 0;
}
void sub_8129708(void)
@@ -2182,11 +2136,11 @@ void sub_8129708(void)
{
gSpecialVar_Result = 1;
}
- else if (gDecorations[gUnknown_0203A17C.items[sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx]].permission == DECORPERM_SOLID_MAT)
+ else if (gDecorations[gDecorationContext.items[sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx]].permission == DECORPERM_SPRITE)
{
gSpecialVar_0x8005 = sDecorRearrangementDataBuffer[gSpecialVar_0x8004].flagId;
sub_81296EC(sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx);
- for (i = 0; i < gMapHeader.events->eventObjectCount; i ++)
+ for (i = 0; i < gMapHeader.events->eventObjectCount; i++)
{
if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8005)
{
@@ -2201,7 +2155,7 @@ void sub_81297AC(void)
{
u8 i;
- for (i = 0; i < gMapHeader.events->eventObjectCount; i ++)
+ for (i = 0; i < gMapHeader.events->eventObjectCount; i++)
{
if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8004)
{
@@ -2220,20 +2174,21 @@ void sub_81297F8(void)
int posY;
u8 perm;
- for (i = 0; i < sCurDecorSelectedInRearrangement; i ++)
+ for (i = 0; i < sCurDecorSelectedInRearrangement; i++)
{
- perm = gDecorations[gUnknown_0203A17C.items[sDecorRearrangementDataBuffer[i].idx]].permission;
- posX = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[i].idx] >> 4;
- posY = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[i].idx] & 0x0F;
- if (perm != DECORPERM_SOLID_MAT)
+ perm = gDecorations[gDecorationContext.items[sDecorRearrangementDataBuffer[i].idx]].permission;
+ posX = gDecorationContext.pos[sDecorRearrangementDataBuffer[i].idx] >> 4;
+ posY = gDecorationContext.pos[sDecorRearrangementDataBuffer[i].idx] & 0x0F;
+ if (perm != DECORPERM_SPRITE)
{
- for (y = 0; y < sDecorRearrangementDataBuffer[i].height; y ++)
+ for (y = 0; y < sDecorRearrangementDataBuffer[i].height; y++)
{
- for (x = 0; x < sDecorRearrangementDataBuffer[i].width; x ++)
+ for (x = 0; x < sDecorRearrangementDataBuffer[i].width; x++)
{
MapGridSetMetatileEntryAt(posX + 7 + x, posY + 7 - y, gMapHeader.mapLayout->map[posX + x + gMapHeader.mapLayout->width * (posY - y)] | 0x3000);
}
}
+
sub_81296EC(sDecorRearrangementDataBuffer[i].idx);
}
}
@@ -2243,35 +2198,33 @@ void sub_81298EC(u8 taskId)
{
switch (gTasks[taskId].data[2])
{
- case 0:
- sub_81297F8();
- gTasks[taskId].data[2] = 1;
- break;
- case 1:
- if (!gPaletteFade.active) {
- DrawWholeMapView();
- ScriptContext1_SetupScript(EventScript_275D2E);
- ClearDialogWindowAndFrame(0, 1);
- gTasks[taskId].data[2] = 2;
- }
- break;
- case 2:
- ScriptContext2_Enable();
- IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId);
- pal_fill_black();
- gTasks[taskId].data[2] = 3;
- break;
- case 3:
- if (IsWeatherNotFadingIn() == TRUE)
- {
- StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64);
- if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE)
- {
- TV_PutSecretBaseVisitOnTheAir();
- }
- }
- break;
+ case 0:
+ sub_81297F8();
+ gTasks[taskId].data[2] = 1;
+ break;
+ case 1:
+ if (!gPaletteFade.active) {
+ DrawWholeMapView();
+ ScriptContext1_SetupScript(EventScript_275D2E);
+ ClearDialogWindowAndFrame(0, 1);
+ gTasks[taskId].data[2] = 2;
+ }
+ break;
+ case 2:
+ ScriptContext2_Enable();
+ IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId);
+ pal_fill_black();
+ gTasks[taskId].data[2] = 3;
+ break;
+ case 3:
+ if (IsWeatherNotFadingIn() == TRUE)
+ {
+ StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC);
+ DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64);
+ if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE)
+ TV_PutSecretBaseVisitOnTheAir();
+ }
+ break;
}
}
@@ -2279,14 +2232,12 @@ void sub_81298EC(u8 taskId)
bool8 sub_81299AC(u8 taskId)
{
u16 i;
-
- for (i = 0; i < gUnknown_0203A17C.size; i ++)
+ for (i = 0; i < gDecorationContext.size; i++)
{
- if (gUnknown_0203A17C.items[i] != DECOR_NONE)
- {
+ if (gDecorationContext.items[i] != DECOR_NONE)
return TRUE;
- }
}
+
return FALSE;
}
@@ -2295,15 +2246,12 @@ void SetUpPuttingAwayDecorationPlayerAvatar(void)
GetPlayerFacingDirection();
sDecor_CameraSpriteObjectIdx1 = gSprites[gFieldCamera.spriteId].data[0];
sub_812A39C();
- gFieldCamera.spriteId = CreateSprite(&gUnknown_085A7404, 0x78, 0x50, 0);
+ gFieldCamera.spriteId = CreateSprite(&gUnknown_085A7404, 120, 80, 0);
if (gSaveBlock2Ptr->playerGender == MALE)
- {
- sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC1, SpriteCallbackDummy, 0x88, 0x48, 0);
- }
+ sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, 136, 72, 0);
else
- {
- sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC2, SpriteCallbackDummy, 0x88, 0x48, 0);
- }
+ sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_MAY_DECORATING, SpriteCallbackDummy, 136, 72, 0);
+
gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1;
DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]);
sDecor_CameraSpriteObjectIdx1 = gFieldCamera.spriteId;
@@ -2317,27 +2265,27 @@ void sub_8129ABC(u8 taskId)
data = gTasks[taskId].data;
switch (data[2])
{
- case 0:
- if (!gPaletteFade.active)
- {
- sub_8127ACC(taskId);
- data[2] = 1;
- data[6] = 1;
- data[5] = 1;
- }
- break;
- case 1:
- SetUpPuttingAwayDecorationPlayerAvatar();
- pal_fill_black();
- data[2] = 2;
- break;
- case 2:
- if (IsWeatherNotFadingIn() == TRUE)
- {
- data[12] = 1;
- sub_8129B34(taskId);
- }
- break;
+ case 0:
+ if (!gPaletteFade.active)
+ {
+ sub_8127ACC(taskId);
+ data[2] = 1;
+ data[6] = 1;
+ data[5] = 1;
+ }
+ break;
+ case 1:
+ SetUpPuttingAwayDecorationPlayerAvatar();
+ pal_fill_black();
+ data[2] = 2;
+ break;
+ case 2:
+ if (IsWeatherNotFadingIn() == TRUE)
+ {
+ data[12] = 1;
+ sub_8129B34(taskId);
+ }
+ break;
}
}
@@ -2347,8 +2295,8 @@ void sub_8129B34(u8 taskId)
gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0;
gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE;
gSprites[sDecor_CameraSpriteObjectIdx1].callback = sub_812A36C;
- gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = 0x88;
- gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = 0x48;
+ gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = 136;
+ gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = 72;
gTasks[taskId].data[10] = 0;
gTasks[taskId].func = sub_8128E18;
}
@@ -2403,9 +2351,7 @@ void sub_8129C74(u8 taskId)
void sub_8129D64(u8 taskId)
{
if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
- {
sub_8129B34(taskId);
- }
}
void sub_8129D8C(u8 decor, struct DecorRearrangementDataBuffer *data)
@@ -2414,39 +2360,48 @@ void sub_8129D8C(u8 decor, struct DecorRearrangementDataBuffer *data)
{
data->width = 1;
data->height = 1;
- } else if (gDecorations[decor].shape == DECORSHAPE_2x1)
+ }
+ else if (gDecorations[decor].shape == DECORSHAPE_2x1)
{
data->width = 2;
data->height = 1;
- } else if (gDecorations[decor].shape == DECORSHAPE_3x1)
+ }
+ else if (gDecorations[decor].shape == DECORSHAPE_3x1)
{
data->width = 3;
data->height = 1;
- } else if (gDecorations[decor].shape == DECORSHAPE_4x2)
+ }
+ else if (gDecorations[decor].shape == DECORSHAPE_4x2)
{
data->width = 4;
data->height = 2;
- } else if (gDecorations[decor].shape == DECORSHAPE_2x2)
+ }
+ else if (gDecorations[decor].shape == DECORSHAPE_2x2)
{
data->width = 2;
data->height = 2;
- } else if (gDecorations[decor].shape == DECORSHAPE_1x2)
+ }
+ else if (gDecorations[decor].shape == DECORSHAPE_1x2)
{
data->width = 1;
data->height = 2;
- } else if (gDecorations[decor].shape == DECORSHAPE_1x3)
+ }
+ else if (gDecorations[decor].shape == DECORSHAPE_1x3)
{
data->width = 1;
data->height = 3;
- } else if (gDecorations[decor].shape == DECORSHAPE_2x4)
+ }
+ else if (gDecorations[decor].shape == DECORSHAPE_2x4)
{
data->width = 2;
data->height = 4;
- } else if (gDecorations[decor].shape == DECORSHAPE_3x3)
+ }
+ else if (gDecorations[decor].shape == DECORSHAPE_3x3)
{
data->width = 3;
data->height = 3;
- } else if (gDecorations[decor].shape == DECORSHAPE_3x2)
+ }
+ else if (gDecorations[decor].shape == DECORSHAPE_3x2)
{
data->width = 3;
data->height = 2;
@@ -2457,8 +2412,8 @@ void sub_8129E0C(u8 x, u8 y)
{
gSprites[sDecor_CameraSpriteObjectIdx1].invisible = TRUE;
gSprites[sDecor_CameraSpriteObjectIdx1].callback = SpriteCallbackDummy;
- gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = (x << 4) + 0x88;
- gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = (y << 4) + 0x48;
+ gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = (x << 4) + 136;
+ gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = (y << 4) + 72;
}
bool8 sub_8129E74(u8 taskId, u8 idx, struct DecorRearrangementDataBuffer *data)
@@ -2471,18 +2426,18 @@ bool8 sub_8129E74(u8 taskId, u8 idx, struct DecorRearrangementDataBuffer *data)
x = gTasks[taskId].data[0] - 7;
y = gTasks[taskId].data[1] - 7;
- xOff = gUnknown_0203A17C.pos[idx] >> 4;
- yOff = gUnknown_0203A17C.pos[idx] & 0x0F;
+ xOff = gDecorationContext.pos[idx] >> 4;
+ yOff = gDecorationContext.pos[idx] & 0x0F;
ht = data->height;
- if (gUnknown_0203A17C.items[idx] == DECOR_SAND_ORNAMENT && MapGridGetMetatileIdAt(xOff + 7, yOff + 7) == 0x28C)
- {
- ht --;
- }
+ if (gDecorationContext.items[idx] == DECOR_SAND_ORNAMENT && MapGridGetMetatileIdAt(xOff + 7, yOff + 7) == 0x28C)
+ ht--;
+
if (x >= xOff && x < xOff + data->width && y > yOff - ht && y <= yOff)
{
sub_8129E0C(data->width - (x - xOff + 1), yOff - y);
return TRUE;
}
+
return FALSE;
}
@@ -2492,9 +2447,9 @@ void sub_8129F20(void)
u8 yOff;
u16 i;
- xOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] >> 4;
- yOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] & 0x0F;
- for (i = 0; i < 0x40; i ++)
+ xOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] >> 4;
+ yOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] & 0x0F;
+ for (i = 0; i < 0x40; i++)
{
if (gSaveBlock1Ptr->eventObjectTemplates[i].x == xOff && gSaveBlock1Ptr->eventObjectTemplates[i].y == yOff && !FlagGet(gSaveBlock1Ptr->eventObjectTemplates[i].flagId))
{
@@ -2508,13 +2463,13 @@ bool8 sub_8129FC8(u8 taskId)
{
u16 i;
- for (i = 0; i < gUnknown_0203A17C.size; i ++)
+ for (i = 0; i < gDecorationContext.size; i++)
{
- if (gUnknown_0203A17C.items[i] != 0)
+ if (gDecorationContext.items[i] != 0)
{
- if (gDecorations[gUnknown_0203A17C.items[i]].permission == DECORPERM_SOLID_MAT)
+ if (gDecorations[gDecorationContext.items[i]].permission == DECORPERM_SPRITE)
{
- sub_8129D8C(gUnknown_0203A17C.items[i], sDecorRearrangementDataBuffer);
+ sub_8129D8C(gDecorationContext.items[i], sDecorRearrangementDataBuffer);
if (sub_8129E74(taskId, i, sDecorRearrangementDataBuffer) == TRUE)
{
sDecorRearrangementDataBuffer->idx = i;
@@ -2535,12 +2490,12 @@ void sub_812A040(u8 left, u8 top, u8 right, u8 bottom)
u8 yOff;
u8 decorIdx;
- for (i = 0; i < gUnknown_0203A17C.size; i ++)
+ for (i = 0; i < gDecorationContext.size; i++)
{
- decorIdx = gUnknown_0203A17C.items[i];
- xOff = gUnknown_0203A17C.pos[i] >> 4;
- yOff = gUnknown_0203A17C.pos[i] & 0x0F;
- if (decorIdx != 0 && gDecorations[decorIdx].permission == DECORPERM_SOLID_MAT && left <= xOff && top <= yOff && right >= xOff && bottom >= yOff)
+ decorIdx = gDecorationContext.items[i];
+ xOff = gDecorationContext.pos[i] >> 4;
+ yOff = gDecorationContext.pos[i] & 0x0F;
+ if (decorIdx != 0 && gDecorations[decorIdx].permission == DECORPERM_SPRITE && left <= xOff && top <= yOff && right >= xOff && bottom >= yOff)
{
sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx = i;
sub_8129F20();
@@ -2560,9 +2515,9 @@ void sub_812A0E8(u8 taskId)
sCurDecorSelectedInRearrangement = 0;
if (sub_8129FC8(taskId) != TRUE)
{
- for (i = 0; i < gUnknown_0203A17C.size; i++)
+ for (i = 0; i < gDecorationContext.size; i++)
{
- var1 = gUnknown_0203A17C.items[i];
+ var1 = gDecorationContext.items[i];
if (var1 != DECOR_NONE)
{
sub_8129D8C(var1, &sDecorRearrangementDataBuffer[0]);
@@ -2576,8 +2531,8 @@ void sub_812A0E8(u8 taskId)
}
if (sCurDecorSelectedInRearrangement != 0)
{
- xOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[0].idx] >> 4;
- yOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[0].idx] & 0x0F;
+ xOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[0].idx] >> 4;
+ yOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[0].idx] & 0x0F;
var1 = yOff - sDecorRearrangementDataBuffer[0].height + 1;
var2 = sDecorRearrangementDataBuffer[0].width + xOff - 1;
@@ -2622,47 +2577,43 @@ void sub_812A25C(u8 taskId)
{
switch (gTasks[taskId].data[2])
{
- case 0:
- if (!gPaletteFade.active)
- {
- sub_8127B04(taskId);
- gTasks[taskId].data[2] = 1;
- }
- break;
- case 1:
- sub_812A3C8();
- gFieldCallback = sub_812A334;
- SetMainCallback2(CB2_ReturnToField);
- DestroyTask(taskId);
- break;
+ case 0:
+ if (!gPaletteFade.active)
+ {
+ sub_8127B04(taskId);
+ gTasks[taskId].data[2] = 1;
+ }
+ break;
+ case 1:
+ sub_812A3C8();
+ gFieldCallback = sub_812A334;
+ SetMainCallback2(CB2_ReturnToField);
+ DestroyTask(taskId);
+ break;
}
}
void sub_812A2C4(u8 taskId)
{
- s16 *data;
-
- data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
switch (data[2])
{
- case 0:
- sub_80E9578();
- data[2] ++;
- break;
- case 1:
- ScriptContext1_SetupScript(EventScript_275D0C);
- data[2] ++;
- break;
- case 2:
- ScriptContext2_Enable();
- data[2] ++;
- break;
- case 3:
- if (IsWeatherNotFadingIn() == TRUE)
- {
- gTasks[taskId].func = sub_8126B80;
- }
- break;
+ case 0:
+ HideSecretBaseDecorationSprites();
+ data[2]++;
+ break;
+ case 1:
+ ScriptContext1_SetupScript(EventScript_275D0C);
+ data[2]++;
+ break;
+ case 2:
+ ScriptContext2_Enable();
+ data[2]++;
+ break;
+ case 3:
+ if (IsWeatherNotFadingIn() == TRUE)
+ gTasks[taskId].func = HandleDecorationActionsMenuInput;
+ break;
}
}
@@ -2672,47 +2623,39 @@ void sub_812A334(void)
pal_fill_black();
DrawDialogueFrame(0, 1);
- sub_8126ABC();
+ InitDecorationActionsWindow();
taskId = CreateTask(sub_812A2C4, 8);
gTasks[taskId].data[2] = 0;
}
void sub_812A36C(struct Sprite *sprite)
{
- sprite->data[0] ++;
+ sprite->data[0]++;
sprite->data[0] &= 0x1F;
if (sprite->data[0] > 15)
- {
sprite->invisible = TRUE;
- }
else
- {
sprite->invisible = FALSE;
- }
}
void sub_812A39C(void)
{
if (gSaveBlock2Ptr->playerGender == MALE)
- {
LoadSpritePalette(&gUnknown_085A73D8);
- }
else
- {
LoadSpritePalette(&gUnknown_085A73E0);
- }
}
void sub_812A3C8(void)
{
- FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG);
+ FreeSpritePaletteByTag(PLACE_DECORATION_PLAYER_TAG);
}
void sub_812A3D4(u8 taskId)
{
if (IsSelectedDecorInThePC() == TRUE)
{
- StringCopy(gStringVar1, gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].name);
+ StringCopy(gStringVar1, gDecorations[gCurDecorationItems[gCurDecorationIndex]].name);
StringExpandPlaceholders(gStringVar4, gText_DecorationWillBeDiscarded);
DisplayItemMessageOnField(taskId, gStringVar4, sub_812A458);
}
@@ -2731,10 +2674,11 @@ void sub_812A458(u8 taskId)
void sub_812A478(u8 taskId)
{
- gCurDecorInventoryItems[gCurDecorationIndex] = DECOR_NONE;
- sCurDecorCatCount = CountDecorationCategoryN(sCurDecorationCategory);
- CondenseDecorationCategoryN(sCurDecorationCategory);
+ gCurDecorationItems[gCurDecorationIndex] = DECOR_NONE;
+ sNumOwnedDecorationsInCurCategory = GetNumOwnedDecorationsInCategory(sCurDecorationCategory);
+ CondenseDecorationsInCategory(sCurDecorationCategory);
IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId);
StringExpandPlaceholders(gStringVar4, gText_DecorationThrownAway);
DisplayItemMessageOnField(taskId, gStringVar4, sub_8127A5C);
}
+
diff --git a/src/decoration_inventory.c b/src/decoration_inventory.c
index 308320206..80646c69c 100644
--- a/src/decoration_inventory.c
+++ b/src/decoration_inventory.c
@@ -32,7 +32,7 @@ void SetDecorationInventoriesPointers(void)
SET_DECOR_INV(5, gSaveBlock1Ptr->decorPoster);
SET_DECOR_INV(6, gSaveBlock1Ptr->decorDoll);
SET_DECOR_INV(7, gSaveBlock1Ptr->decorCushion);
- sub_8126968();
+ InitDecorationContextItems();
}
static void ClearDecorationInventory(u8 idx)
@@ -120,7 +120,7 @@ bool8 DecorationCheckSpace(u8 decor)
s8 DecorationRemove(u8 decor)
{
u8 i;
- u8 idx;
+ u8 category;
i = 0;
if (decor == DECOR_NONE)
@@ -129,38 +129,38 @@ s8 DecorationRemove(u8 decor)
}
for (i = 0; i < gDecorationInventories[gDecorations[decor].category].size; i ++)
{
- idx = gDecorations[decor].category;
- if (gDecorationInventories[idx].items[i] == decor)
+ category = gDecorations[decor].category;
+ if (gDecorationInventories[category].items[i] == decor)
{
- gDecorationInventories[idx].items[i] = DECOR_NONE;
- CondenseDecorationCategoryN(idx);
+ gDecorationInventories[category].items[i] = DECOR_NONE;
+ CondenseDecorationsInCategory(category);
return 1;
}
}
return 0;
}
-void CondenseDecorationCategoryN(u8 idx)
+void CondenseDecorationsInCategory(u8 category)
{
u8 i;
u8 j;
u8 tmp;
- for (i = 0; i < gDecorationInventories[idx].size; i ++)
+ for (i = 0; i < gDecorationInventories[category].size; i ++)
{
- for (j = i + 1; j < gDecorationInventories[idx].size; j ++)
+ for (j = i + 1; j < gDecorationInventories[category].size; j ++)
{
- if (gDecorationInventories[idx].items[j] != DECOR_NONE && (gDecorationInventories[idx].items[i] == DECOR_NONE || gDecorationInventories[idx].items[i] > gDecorationInventories[idx].items[j]))
+ if (gDecorationInventories[category].items[j] != DECOR_NONE && (gDecorationInventories[category].items[i] == DECOR_NONE || gDecorationInventories[category].items[i] > gDecorationInventories[category].items[j]))
{
- tmp = gDecorationInventories[idx].items[i];
- gDecorationInventories[idx].items[i] = gDecorationInventories[idx].items[j];
- gDecorationInventories[idx].items[j] = tmp;
+ tmp = gDecorationInventories[category].items[i];
+ gDecorationInventories[category].items[i] = gDecorationInventories[category].items[j];
+ gDecorationInventories[category].items[j] = tmp;
}
}
}
}
-u8 CountDecorationCategoryN(u8 idx)
+u8 GetNumOwnedDecorationsInCategory(u8 idx)
{
u8 i;
u8 ct;
@@ -176,15 +176,14 @@ u8 CountDecorationCategoryN(u8 idx)
return ct;
}
-u8 CountDecorations(void)
+u8 GetNumOwnedDecorations(void)
{
- u8 idx;
- u8 ct;
+ u8 category;
+ u8 count;
- ct = 0;
- for (idx = 0; idx < 8; idx ++)
- {
- ct += CountDecorationCategoryN(idx);
- }
- return ct;
+ count = 0;
+ for (category = 0; category < DECORCAT_COUNT; category++)
+ count += GetNumOwnedDecorationsInCategory(category);
+
+ return count;
}
diff --git a/src/easy_chat.c b/src/easy_chat.c
index b03058eb9..b29a05bab 100644
--- a/src/easy_chat.c
+++ b/src/easy_chat.c
@@ -2,7 +2,7 @@
#include "alloc.h"
#include "bard_music.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "dewford_trend.h"
#include "dynamic_placeholder_text_util.h"
@@ -14,8 +14,8 @@
#include "gpu_regs.h"
#include "graphics.h"
#include "international_string_util.h"
-#include "link.h"
#include "main.h"
+#include "mevent.h"
#include "menu.h"
#include "overworld.h"
#include "palette.h"
@@ -772,10 +772,10 @@ static const struct OamData sOamData_8597D10 = {
.objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_SQUARE,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 3,
.paletteNum = 0,
@@ -798,10 +798,10 @@ static const struct OamData sUnknown_08597D30 = {
.objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_H_RECTANGLE,
+ .shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -851,10 +851,10 @@ static const struct OamData sUnknown_08597D80 = {
.objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_H_RECTANGLE,
+ .shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -913,10 +913,10 @@ static const struct OamData sUnknown_08597DE8 = {
.objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_SQUARE,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 3,
.paletteNum = 0,
@@ -939,10 +939,10 @@ static const struct OamData sUnknown_08597E08 = {
.objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_H_RECTANGLE,
+ .shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(32x8),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -955,10 +955,10 @@ static const struct OamData gUnknown_08597E10 = {
.objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_SQUARE,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -1318,7 +1318,7 @@ void ShowEasyChatScreen(void)
words = gSaveBlock2Ptr->apprentices[0].easyChatWords;
break;
case EASY_CHAT_TYPE_QUESTIONNAIRE:
- words = GetSaveBlock1Field3564();
+ words = sub_801B058();
break;
default:
return;
@@ -3721,7 +3721,7 @@ static void sub_811D0BC(void)
{
FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17);
LoadUserWindowBorderGfx(1, 1, 0xE0);
- sub_8098858(1, 1, 14);
+ DrawTextBorderOuter(1, 1, 14);
sub_811D104(0);
PutWindowTilemap(1);
CopyBgTilemapBufferToVram(0);
@@ -4882,7 +4882,7 @@ bool8 ECWord_CheckIfOutsideOfValidRange(u16 easyChatWord)
{
case EC_GROUP_POKEMON:
case EC_GROUP_POKEMON_2:
- numWordsInGroup = gUnknown_085F5490;
+ numWordsInGroup = gNumSpeciesNames;
break;
case EC_GROUP_MOVE_1:
case EC_GROUP_MOVE_2:
@@ -5531,7 +5531,7 @@ void InitializeEasyChatWordArray(u16 *words, u16 length)
void sub_811F8BC(void)
{
int i;
- u16 *words = GetSaveBlock1Field3564();
+ u16 *words = sub_801B058();
for (i = 0; i < 4; i++)
words[i] = 0xFFFF;
}
diff --git a/src/egg_hatch.c b/src/egg_hatch.c
index a9b6001ec..65601d64a 100644
--- a/src/egg_hatch.c
+++ b/src/egg_hatch.c
@@ -33,6 +33,7 @@
#include "naming_screen.h"
#include "pokemon_storage_system.h"
#include "field_screen_effect.h"
+#include "data.h"
#include "battle.h" // to get rid of later
struct EggHatchData
@@ -52,7 +53,6 @@ struct EggHatchData
u8 textColor[3];
};
-extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle
extern const u8 gText_HatchedFromEgg[];
extern const u8 gText_NickHatchPrompt[];
@@ -75,7 +75,7 @@ static void CreateEggShardSprite(u8 x, u8 y, s16 data1, s16 data2, s16 data3, u8
static IWRAM_DATA struct EggHatchData *sEggHatchData;
// rom data
-static const u16 sEggPalette[] = INCBIN_U16("graphics/pokemon/palettes/egg_palette.gbapal");
+static const u16 sEggPalette[] = INCBIN_U16("graphics/pokemon/egg/normal.gbapal");
static const u8 sEggHatchTiles[] = INCBIN_U8("graphics/misc/egg_hatch.4bpp");
static const u8 sEggShardTiles[] = INCBIN_U8("graphics/misc/egg_shard.4bpp");
@@ -86,10 +86,10 @@ static const struct OamData sOamData_EggHatch =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -166,10 +166,10 @@ static const struct OamData sOamData_EggShard =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -469,7 +469,7 @@ static void Task_EggHatch(u8 taskID)
{
CleanupOverworldWindowsAndTilemaps();
SetMainCallback2(CB2_EggHatch_0);
- gFieldCallback = sub_80AF168;
+ gFieldCallback = FieldCallback_ReturnToEventScript2;
DestroyTask(taskID);
}
}
diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c
new file mode 100755
index 000000000..cd64afe0e
--- /dev/null
+++ b/src/ereader_helpers.c
@@ -0,0 +1,543 @@
+#include "global.h"
+#include "alloc.h"
+#include "decompress.h"
+#include "ereader_helpers.h"
+#include "link.h"
+#include "main.h"
+#include "union_room.h"
+#include "save.h"
+#include "sprite.h"
+#include "task.h"
+#include "util.h"
+
+struct Unknown030012C8
+{
+ u8 unk0[8];
+ u32 *unk8;
+ int unkC;
+ int unk10;
+ int unk14;
+};
+
+static void sub_81D4170(void);
+static u16 sub_81D3EE8(u8);
+static void sub_81D413C(void);
+static void sub_81D414C(void);
+static void sub_81D3F1C(u32, u32*, u32*);
+static void sub_81D3F68(void);
+
+IWRAM_DATA struct Unknown030012C8 gUnknown_030012C8;
+IWRAM_DATA u16 gUnknown_030012E0;
+IWRAM_DATA u16 gUnknown_030012E2;
+IWRAM_DATA u16 gUnknown_030012E4;
+IWRAM_DATA u16 gUnknown_030012E6;
+IWRAM_DATA u32 gUnknown_030012E8;
+IWRAM_DATA u16 gUnknown_030012EC;
+IWRAM_DATA u16 gUnknown_030012EE;
+IWRAM_DATA u16 gUnknown_030012F0;
+IWRAM_DATA u16 gUnknown_030012F2;
+IWRAM_DATA u16 gUnknown_030012F4;
+
+extern const u8 gUnknown_08625B6C[][0x148];
+
+static u8 sub_81D38D4(void)
+{
+ return (gSaveBlock1Ptr->trainerHill.unused + 1) % 256;
+}
+
+static bool32 Struct_Unk81D38FC_ValidateChecksum(struct Unk81D38FC *arg0)
+{
+ int checksum = CalcByteArraySum((u8 *)arg0, 0x270);
+ if (checksum != arg0->checksum)
+ return FALSE;
+
+ return TRUE;
+}
+
+bool8 EReader_IsReceivedDataValid(struct EReaderTrainerHillSet *buffer)
+{
+ u32 i;
+ u32 checksum;
+ int var0 = buffer->unk_0;
+ if (var0 < 1 || var0 > 8)
+ return FALSE;
+
+ for (i = 0; i < var0; i++)
+ {
+ if (!Struct_Unk81D38FC_ValidateChecksum(&buffer->unk_8[i]))
+ return FALSE;
+ }
+
+ checksum = CalcByteArraySum((u8 *)buffer->unk_8, var0 * sizeof(struct Unk81D38FC));
+ if (checksum != buffer->checksum)
+ return FALSE;
+
+ return TRUE;
+}
+
+static bool32 TrainerHill_VerifyChecksum(struct EReaderTrainerHillSet *buffer)
+{
+ u32 checksum;
+ int var0 = buffer->unk_0;
+ if (var0 < 1 || var0 > 8)
+ return FALSE;
+
+ checksum = CalcByteArraySum((u8 *)buffer->unk_8, sizeof(struct EReaderTrainerHillSet) - offsetof(struct EReaderTrainerHillSet, unk_8));
+ if (checksum != buffer->checksum)
+ return FALSE;
+
+ return TRUE;
+}
+
+static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *arg0, struct Unk81D3998 *buffer2)
+{
+ int i;
+
+ memset(buffer2, 0, 0x1000);
+ buffer2->unk_000 = arg0->unk_0;
+ buffer2->unk_001 = sub_81D38D4();
+ buffer2->unk_002 = (arg0->unk_0 + 1) / 2;
+
+ for (i = 0; i < arg0->unk_0; i++)
+ {
+ if (!(i & 1))
+ {
+ buffer2->unk_008[i / 2].unk_000[0] = arg0->unk_8[i].unk0;
+ memcpy(buffer2->unk_008[i / 2].unk_294, arg0->unk_8[i].unk14C, 0x124);
+ memcpy(buffer2->unk_008[i / 2].unk_004, arg0->unk_8[i].unk4, 0x148);
+ }
+ else
+ {
+ buffer2->unk_008[i / 2].unk_000[1] = arg0->unk_8[i].unk0;
+ memcpy(buffer2->unk_008[i / 2].unk_14C, arg0->unk_8[i].unk4, 0x148);
+ }
+ }
+
+ if (i & 1)
+ {
+ u8 * dest = buffer2->unk_008[i / 2].unk_14C;
+ const u8 (* src)[0x148] = gUnknown_08625B6C;
+ memcpy(dest, src[i / 2], 0x148);
+ }
+
+ buffer2->checksum = CalcByteArraySum((u8 *)buffer2->unk_008, sizeof(struct Unk81D3998) - offsetof(struct Unk81D3998, unk_008));
+ if (TryWriteSpecialSaveSection(SECTOR_ID_TRAINER_HILL, (u8 *)buffer2) != 1)
+ return FALSE;
+
+ return TRUE;
+}
+
+bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *arg0)
+{
+ struct Unk81D3998 *var0 = AllocZeroed(0x1000);
+ bool32 result = TryWriteTrainerHill_r(arg0, var0);
+ Free(var0);
+ return result;
+}
+
+static bool32 TryReadTrainerHill_r(struct EReaderTrainerHillSet *arg0, u8 *arg1)
+{
+ if (TryReadSpecialSaveSection(SECTOR_ID_TRAINER_HILL, arg1) != 1)
+ return FALSE;
+
+ memcpy(arg0, arg1, sizeof(struct EReaderTrainerHillSet));
+ if (!TrainerHill_VerifyChecksum(arg0))
+ return FALSE;
+
+ return TRUE;
+}
+
+static bool32 TryReadTrainerHill(struct EReaderTrainerHillSet *arg0)
+{
+ u8 *var0 = AllocZeroed(0x1000);
+ bool32 result = TryReadTrainerHill_r(arg0, var0);
+ Free(var0);
+ return result;
+}
+
+bool32 ReadTrainerHillAndValidate(void)
+{
+ struct EReaderTrainerHillSet *var0 = AllocZeroed(0x1000);
+ bool32 result = TryReadTrainerHill(var0);
+ Free(var0);
+ return result;
+}
+
+static int unref_sub_81D3B54(int arg0, u32 *arg1)
+{
+ int result;
+ u16 var0;
+ int var1;
+
+ sub_81D41A0();
+ while (1)
+ {
+ sub_81D4170();
+ if (gUnknown_030012E2 & 2)
+ gShouldAdvanceLinkState = 2;
+
+ var1 = sub_81D3D70(1, arg0, arg1, NULL);
+ gUnknown_030012E4 = var1;
+ if ((gUnknown_030012E4 & 0x13) == 0x10)
+ {
+ result = 0;
+ break;
+ }
+
+ if (gUnknown_030012E4 & 0x8)
+ {
+ result = 1;
+ break;
+ }
+
+ var0 = gUnknown_030012E4 & 0x4;
+ if (var0)
+ {
+ result = 2;
+ break;
+ }
+
+ gShouldAdvanceLinkState = var0;
+ VBlankIntrWait();
+ }
+
+ CpuFill32(0, &gUnknown_030012C8, sizeof(struct Unknown030012C8));
+ sub_81D41F4();
+ return result;
+}
+
+static int unref_sub_81D3BE8(u32 *arg0)
+{
+ int result;
+ u16 var0;
+ int var1;
+
+ sub_81D41A0();
+ while (1)
+ {
+ sub_81D4170();
+ if (gUnknown_030012E2 & 2)
+ gShouldAdvanceLinkState = 2;
+
+ var1 = sub_81D3D70(0, 0, NULL, arg0);
+ gUnknown_030012E4 = var1;
+ if ((gUnknown_030012E4 & 0x13) == 0x10)
+ {
+ result = 0;
+ break;
+ }
+
+ if (gUnknown_030012E4 & 0x8)
+ {
+ result = 1;
+ break;
+ }
+
+ var0 = gUnknown_030012E4 & 0x4;
+ if (var0)
+ {
+ result = 2;
+ break;
+ }
+
+ gShouldAdvanceLinkState = var0;
+ VBlankIntrWait();
+ }
+
+ CpuFill32(0, &gUnknown_030012C8, sizeof(struct Unknown030012C8));
+ sub_81D41F4();
+ return result;
+}
+
+static void sub_81D3C7C(void)
+{
+ REG_IME = 0;
+ REG_IE &= ~(INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL);
+ REG_IME = 1;
+ REG_SIOCNT = 0;
+ REG_TM3CNT_H = 0;
+ REG_IF = INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL;
+}
+
+static void sub_81D3CBC(void)
+{
+ REG_IME = 0;
+ REG_IE &= ~(INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL);
+ REG_IME = 1;
+ REG_RCNT = 0;
+ REG_SIOCNT = SIO_MULTI_MODE;
+ REG_SIOCNT |= SIO_INTR_ENABLE | SIO_115200_BPS;
+ REG_IME = 0;
+ REG_IE |= INTR_FLAG_SERIAL;
+ REG_IME = 1;
+
+ if (!gUnknown_030012C8.unk0[1])
+ CpuFill32(0, &gUnknown_030012C8, sizeof(struct Unknown030012C8));
+}
+
+static void sub_81D3D34(void)
+{
+ REG_RCNT = 0;
+ REG_SIOCNT = SIO_32BIT_MODE | SIO_INTR_ENABLE;
+ REG_SIOCNT |= SIO_MULTI_SD;
+ gShouldAdvanceLinkState = 0;
+ gUnknown_030012E6 = 0;
+ gUnknown_030012E8 = 0;
+}
+
+int sub_81D3D70(u8 arg0, u32 arg1, u32 *arg2, u32 *arg3)
+{
+ switch (gUnknown_030012C8.unk0[1])
+ {
+ case 0:
+ sub_81D3CBC();
+ gUnknown_030012C8.unk0[2] = 1;
+ gUnknown_030012C8.unk0[1] = 1;
+ break;
+ case 1:
+ if (sub_81D3EE8(arg0))
+ sub_81D413C();
+
+ if (gShouldAdvanceLinkState == 2)
+ {
+ gUnknown_030012C8.unk0[4] = 2;
+ gUnknown_030012C8.unk0[1] = 6;
+ }
+ break;
+ case 2:
+ sub_81D3D34();
+ sub_81D3F1C(arg1, arg2, arg3);
+ gUnknown_030012C8.unk0[1] = 3;
+ // fall through
+ case 3:
+ if (gShouldAdvanceLinkState == 2)
+ {
+ gUnknown_030012C8.unk0[4] = 2;
+ gUnknown_030012C8.unk0[1] = 6;
+ }
+ else
+ {
+ gUnknown_030012E6++;
+ gUnknown_030012E8++;
+ if (!gUnknown_030012C8.unk0[0] && gUnknown_030012E8 > 60)
+ {
+ gUnknown_030012C8.unk0[4] = 1;
+ gUnknown_030012C8.unk0[1] = 6;
+ }
+
+ if (gUnknown_030012C8.unk0[2] != 2)
+ {
+ if (gUnknown_030012C8.unk0[0] && gUnknown_030012E6 > 2)
+ {
+ sub_81D413C();
+ gUnknown_030012C8.unk0[2] = 2;
+ }
+ else
+ {
+ sub_81D413C();
+ gUnknown_030012C8.unk0[2] = 2;
+ }
+ }
+ }
+ break;
+ case 4:
+ sub_81D3CBC();
+ gUnknown_030012C8.unk0[1] = 5;
+ break;
+ case 5:
+ if (gUnknown_030012C8.unk0[0] == 1 && gUnknown_030012E6 > 2)
+ sub_81D413C();
+
+ if (++gUnknown_030012E6 > 60)
+ {
+ gUnknown_030012C8.unk0[4] = 1;
+ gUnknown_030012C8.unk0[1] = 6;
+ }
+ break;
+ case 6:
+ if (gUnknown_030012C8.unk0[2])
+ {
+ sub_81D3C7C();
+ gUnknown_030012C8.unk0[2] = 0;
+ }
+ break;
+ }
+
+ return gUnknown_030012C8.unk0[2] | (gUnknown_030012C8.unk0[4] << 2) | (gUnknown_030012C8.unk0[3] << 4);
+}
+
+static u16 sub_81D3EE8(u8 arg0)
+{
+ u16 terminal = (*(vu32 *)REG_ADDR_SIOCNT) & (SIO_MULTI_SI | SIO_MULTI_SD);
+ if (terminal == SIO_MULTI_SD && arg0)
+ {
+ gUnknown_030012C8.unk0[0] = 1;
+ return 1;
+ }
+ else
+ {
+ gUnknown_030012C8.unk0[0] = 0;
+ return 0;
+ }
+}
+
+static void sub_81D3F1C(u32 arg0, u32 *arg1, u32 *arg2)
+{
+ if (gUnknown_030012C8.unk0[0])
+ {
+ REG_SIOCNT |= SIO_38400_BPS;
+ gUnknown_030012C8.unk8 = arg1;
+ REG_SIODATA32 = arg0;
+ gUnknown_030012C8.unk10 = arg0 / 4 + 1;
+ sub_81D3F68();
+ }
+ else
+ {
+ REG_SIOCNT = REG_SIOCNT;
+ gUnknown_030012C8.unk8 = arg2;
+ }
+}
+
+static void sub_81D3F68(void)
+{
+ REG_TM3CNT_L = 0xFDA7;
+ REG_TM3CNT_H = TIMER_INTR_ENABLE;
+ REG_IME = 0;
+ REG_IE |= INTR_FLAG_TIMER3;
+ REG_IME = 1;
+}
+
+void sub_81D3F9C(void)
+{
+ sub_81D414C();
+ sub_81D413C();
+}
+
+void sub_81D3FAC(void)
+{
+ u16 i, playerCount, k;
+ u32 value;
+ u16 var0;
+ u16 recvBuffer[4];
+
+ switch (gUnknown_030012C8.unk0[1])
+ {
+ case 1:
+ REG_SIOMLT_SEND = 0xCCD0; // Handshake id
+ *(u64 *)recvBuffer = REG_SIOMLT_RECV;
+ for (i = 0, playerCount = 0, k = 0; i < 4; i++)
+ {
+ if (recvBuffer[i] == 0xCCD0)
+ playerCount++;
+ else if (recvBuffer[i] != 0xFFFF)
+ k++;
+ }
+
+ if (playerCount == 2 && k == 0)
+ gUnknown_030012C8.unk0[1] = 2;
+ break;
+ case 3:
+ value = REG_SIODATA32;
+ if (!gUnknown_030012C8.unkC && !gUnknown_030012C8.unk0[0])
+ gUnknown_030012C8.unk10 = value / 4 + 1;
+
+ if (gUnknown_030012C8.unk0[0] == 1)
+ {
+ if (gUnknown_030012C8.unkC < gUnknown_030012C8.unk10)
+ {
+ REG_SIODATA32 = gUnknown_030012C8.unk8[gUnknown_030012C8.unkC];
+ gUnknown_030012C8.unk14 += gUnknown_030012C8.unk8[gUnknown_030012C8.unkC];
+ }
+ else
+ {
+ REG_SIODATA32 = gUnknown_030012C8.unk14;
+ }
+ }
+ else
+ {
+ if (gUnknown_030012C8.unkC > 0 && gUnknown_030012C8.unkC < gUnknown_030012C8.unk10 + 1)
+ {
+ gUnknown_030012C8.unk8[gUnknown_030012C8.unkC - 1] = value;
+ gUnknown_030012C8.unk14 += value;
+ }
+ else if (gUnknown_030012C8.unkC)
+ {
+ if (gUnknown_030012C8.unk14 == value)
+ gUnknown_030012C8.unk0[3] = 1;
+ else
+ gUnknown_030012C8.unk0[3] = 2;
+ }
+
+ gUnknown_030012E8 = 0;
+ }
+
+ if (++gUnknown_030012C8.unkC < gUnknown_030012C8.unk10 + 2)
+ {
+ if (gUnknown_030012C8.unk0[0])
+ REG_TM3CNT_H |= TIMER_ENABLE;
+ else
+ sub_81D413C();
+ }
+ else
+ {
+ gUnknown_030012C8.unk0[1] = 4;
+ gUnknown_030012E6 = 0;
+ }
+ break;
+ case 5:
+ if (!gUnknown_030012C8.unk0[0])
+ REG_SIOMLT_SEND = gUnknown_030012C8.unk0[3];
+
+ *(u64 *)recvBuffer = REG_SIOMLT_RECV;
+ var0 = recvBuffer[1] - 1;
+ if (var0 < 2)
+ {
+ if (gUnknown_030012C8.unk0[0] == 1)
+ gUnknown_030012C8.unk0[3] = recvBuffer[1];
+
+ gUnknown_030012C8.unk0[1] = 6;
+ }
+ break;
+ }
+}
+
+static void sub_81D413C(void)
+{
+ REG_SIOCNT |= SIO_ENABLE;
+}
+
+static void sub_81D414C(void)
+{
+ REG_TM3CNT_H &= ~TIMER_ENABLE;
+ REG_TM3CNT_L = 0xFDA7;
+}
+
+static void sub_81D4170(void)
+{
+ int keysMask = REG_KEYINPUT ^ KEYS_MASK;
+ gUnknown_030012E2 = keysMask & ~gUnknown_030012E0;
+ gUnknown_030012E0 = keysMask;
+}
+
+void sub_81D41A0(void)
+{
+ gUnknown_030012EC = REG_IME;
+ gUnknown_030012EE = REG_IE;
+ gUnknown_030012F0 = REG_TM3CNT_H;
+ gUnknown_030012F2 = REG_SIOCNT;
+ gUnknown_030012F4 = REG_RCNT;
+}
+
+void sub_81D41F4(void)
+{
+ REG_IME = gUnknown_030012EC;
+ REG_IE = gUnknown_030012EE;
+ REG_TM3CNT_H = gUnknown_030012F0;
+ REG_SIOCNT = gUnknown_030012F2;
+ REG_RCNT = gUnknown_030012F4;
+}
+
+void sub_81D4238(void)
+{
+ CpuFill32(0, &gUnknown_030012C8, sizeof(struct Unknown030012C8));
+}
diff --git a/src/ereader_screen.c b/src/ereader_screen.c
new file mode 100755
index 000000000..f74efa32b
--- /dev/null
+++ b/src/ereader_screen.c
@@ -0,0 +1,464 @@
+#include "global.h"
+#include "alloc.h"
+#include "decompress.h"
+#include "ereader_helpers.h"
+#include "link.h"
+#include "main.h"
+#include "mystery_gift.h"
+#include "save.h"
+#include "sound.h"
+#include "sprite.h"
+#include "task.h"
+#include "strings.h"
+#include "util.h"
+#include "constants/songs.h"
+
+struct Unk81D5014
+{
+ u16 unk0;
+ u16 unk2;
+ u16 unk4;
+ u16 unk6;
+ u8 unk8;
+ u8 unk9;
+ u8 unkA;
+ u8 unkB;
+ u8 unkC;
+ u8 unkD;
+ u8 unkE;
+ u8 *unk10;
+};
+
+struct Unk03006370
+{
+ u16 unk0;
+ u32 unk4;
+ u32 *unk8;
+};
+
+static void sub_81D5084(u8);
+
+extern struct Unk03006370 gUnknown_03006370;
+
+extern const u8 gUnknown_089A3470[];
+extern const u8 gMultiBootProgram_BerryGlitchFix_Start[];
+
+static void sub_81D4D50(struct Unk03006370 *arg0, int arg1, u32 *arg2)
+{
+ volatile u16 backupIME = REG_IME;
+ REG_IME = 0;
+ gIntrTable[1] = sub_81D3FAC;
+ gIntrTable[2] = sub_81D3F9C;
+ sub_81D41A0();
+ sub_81D4238();
+ REG_IE |= INTR_FLAG_VCOUNT;
+ REG_IME = backupIME;
+ arg0->unk0 = 0;
+ arg0->unk4 = arg1;
+ arg0->unk8 = arg2;
+}
+
+static void sub_81D4DB8(struct Unk03006370 *arg0)
+{
+ volatile u16 backupIME = REG_IME;
+ REG_IME = 0;
+ sub_81D4238();
+ sub_81D41F4();
+ RestoreSerialTimer3IntrHandlers();
+ REG_IME = backupIME;
+}
+
+static u8 sub_81D4DE8(struct Unk03006370 *arg0)
+{
+ u8 var0 = 0;
+ arg0->unk0 = sub_81D3D70(1, arg0->unk4, arg0->unk8, NULL);
+ if ((arg0->unk0 & 0x13) == 0x10)
+ var0 = 1;
+
+ if (arg0->unk0 & 0x8)
+ var0 = 2;
+
+ if (arg0->unk0 & 0x4)
+ var0 = 3;
+
+ gShouldAdvanceLinkState = 0;
+ return var0;
+}
+
+static void sub_81D4E30(void)
+{
+ memset(gDecompressionBuffer, 0, 0x2000);
+ gLinkType = 0x5503;
+ OpenLink();
+ SetSuppressLinkErrorMessage(TRUE);
+}
+
+static bool32 sub_81D4E60(void)
+{
+ volatile u16 backupIME;
+ u16 sp4[4];
+
+ backupIME = REG_IME;
+ REG_IME = 0;
+ *(u64 *)sp4 = *(u64 *)gLink.tempRecvBuffer;
+ REG_IME = backupIME;
+ if (sp4[0] == 0xB9A0 && sp4[1] == 0xCCD0
+ && sp4[2] == 0xFFFF && sp4[3] == 0xFFFF)
+ {
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static bool32 sub_81D4EC0(void)
+{
+ if (IsLinkMaster() && GetLinkPlayerCount_2() == 2)
+ return TRUE;
+
+ return FALSE;
+}
+
+static u32 sub_81D4EE4(u8 *arg0, u16 *arg1)
+{
+ u8 var0;
+
+ var0 = *arg0 - 3;
+ if (var0 < 3 && HasLinkErrorOccurred())
+ {
+ *arg0 = 0;
+ return 3;
+ }
+
+ switch (*arg0)
+ {
+ case 0:
+ if (IsLinkMaster() && GetLinkPlayerCount_2() > 1)
+ {
+ *arg0 = 1;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ *arg0 = 0;
+ return 1;
+ }
+ break;
+ case 1:
+ if (++(*arg1) > 5)
+ {
+ *arg1 = 0;
+ *arg0 = 2;
+ }
+ break;
+ case 2:
+ if (GetLinkPlayerCount_2() == 2)
+ {
+ PlaySE(SE_PINPON);
+ CheckShouldAdvanceLinkState();
+ *arg1 = 0;
+ *arg0 = 3;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ *arg0 = 0;
+ return 1;
+ }
+ break;
+ case 3:
+ if (++(*arg1) > 30)
+ {
+ *arg0 = 0;
+ return 5;
+ }
+
+ if (IsLinkConnectionEstablished())
+ {
+ if (gReceivedRemoteLinkPlayers)
+ {
+ if (IsLinkPlayerDataExchangeComplete())
+ {
+ *arg0 = 0;
+ return 2;
+ }
+ else
+ {
+ *arg0 = 4;
+ }
+ }
+ else
+ {
+ *arg0 = 3;
+ }
+ }
+ break;
+ case 4:
+ sub_800ABF4(0);
+ *arg0 = 5;
+ break;
+ case 5:
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ *arg0 = 0;
+ return 4;
+ }
+ break;
+ default:
+ return 0;
+ }
+
+ return 0;
+}
+
+void task_add_00_ereader(void)
+{
+ int value;
+ struct Unk81D5014 *data;
+ u8 taskId = CreateTask(sub_81D5084, 0);
+ data = (struct Unk81D5014 *)gTasks[taskId].data;
+ data->unk8 = 0;
+ data->unk9 = 0;
+ data->unkA = 0;
+ data->unkB = 0;
+ data->unkC = 0;
+ data->unkD = 0;
+ data->unk0 = 0;
+ data->unk2 = 0;
+ data->unk4 = 0;
+ data->unk6 = 0;
+ data->unkE = 0;
+ data->unk10 = AllocZeroed(0x40);
+}
+
+static void sub_81D505C(u16 *arg0)
+{
+ *arg0 = 0;
+}
+
+static bool32 sub_81D5064(u16 *arg0, u16 arg1)
+{
+ if (++(*arg0) > arg1)
+ {
+ *arg0 = 0;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static void sub_81D5084(u8 taskId)
+{
+ struct Unk81D5014 *data = (struct Unk81D5014 *)gTasks[taskId].data;
+ switch (data->unk8)
+ {
+ case 0:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EDFD6))
+ data->unk8 = 1;
+ break;
+ case 1:
+ sub_81D4E30();
+ sub_81D505C(&data->unk0);
+ data->unk8 = 2;
+ break;
+ case 2:
+ if (sub_81D5064(&data->unk0, 10))
+ data->unk8 = 3;
+ break;
+ case 3:
+ if (!sub_81D4EC0())
+ {
+ CloseLink();
+ data->unk8 = 4;
+ }
+ else
+ {
+ data->unk8 = 13;
+ }
+ break;
+ case 4:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EDFF5))
+ {
+ AddTextPrinterToWindow1(gUnknown_085EE014);
+ sub_81D505C(&data->unk0);
+ data->unk8 = 5;
+ }
+ break;
+ case 5:
+ if (sub_81D5064(&data->unk0, 90))
+ {
+ sub_81D4E30();
+ data->unk8 = 6;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ sub_81D505C(&data->unk0);
+ PlaySE(SE_SELECT);
+ data->unk8 = 23;
+ }
+ break;
+ case 6:
+ if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ CloseLink();
+ sub_81D505C(&data->unk0);
+ data->unk8 = 23;
+ }
+ else if (GetLinkPlayerCount_2() > 1)
+ {
+ sub_81D505C(&data->unk0);
+ CloseLink();
+ data->unk8 = 7;
+ }
+ else if (sub_81D4E60())
+ {
+ PlaySE(SE_SELECT);
+ CloseLink();
+ sub_81D505C(&data->unk0);
+ data->unk8 = 8;
+ }
+ else if (sub_81D5064(&data->unk0, 10))
+ {
+ CloseLink();
+ sub_81D4E30();
+ sub_81D505C(&data->unk0);
+ }
+ break;
+ case 7:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE05C))
+ data->unk8 = 4;
+ break;
+ case 8:
+ AddTextPrinterToWindow1(gUnknown_085EE097);
+ // XXX: This (u32*) cast is discarding the const qualifier from gUnknown_089A3470
+ sub_81D4D50(&gUnknown_03006370, gMultiBootProgram_BerryGlitchFix_Start - gUnknown_089A3470, (u32*)gUnknown_089A3470);
+ data->unk8 = 9;
+ break;
+ case 9:
+ data->unkE = sub_81D4DE8(&gUnknown_03006370);
+ if (data->unkE)
+ data->unk8 = 10;
+ break;
+ case 10:
+ sub_81D4DB8(&gUnknown_03006370);
+ if (data->unkE == 3)
+ {
+ data->unk8 = 20;
+ }
+ else if (data->unkE == 1)
+ {
+ sub_81D505C(&data->unk0);
+ AddTextPrinterToWindow1(gUnknown_085EE120);
+ data->unk8 = 11;
+ }
+ else
+ {
+ data->unk8 = 0;
+ }
+ break;
+ case 11:
+ if (sub_81D5064(&data->unk0, 840))
+ data->unk8 = 12;
+ break;
+ case 12:
+ sub_81D4E30();
+ AddTextPrinterToWindow1(gUnknown_085EE0DC);
+ data->unk8 = 13;
+ break;
+ case 13:
+ switch (sub_81D4EE4(&data->unk9, &data->unk0))
+ {
+ case 0:
+ break;
+ case 2:
+ AddTextPrinterToWindow1(gUnknown_085EE097);
+ data->unk8 = 14;
+ break;
+ case 1:
+ PlaySE(SE_SELECT);
+ CloseLink();
+ data->unk8 = 23;
+ break;
+ case 5:
+ CloseLink();
+ data->unk8 = 21;
+ break;
+ case 3:
+ case 4:
+ CloseLink();
+ data->unk8 = 20;
+ break;
+ }
+ break;
+ case 14:
+ if (HasLinkErrorOccurred())
+ {
+ CloseLink();
+ data->unk8 = 20;
+ }
+ else if (GetBlockReceivedStatus())
+ {
+ ResetBlockReceivedFlags();
+ data->unk8 = 15;
+ }
+ break;
+ case 15:
+ data->unkE = EReader_IsReceivedDataValid((struct EReaderTrainerHillSet *)gDecompressionBuffer);
+ sub_800ABF4(data->unkE);
+ data->unk8 = 16;
+ break;
+ case 16:
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ if (data->unkE == 1)
+ data->unk8 = 17;
+ else
+ data->unk8 = 20;
+ }
+ break;
+ case 17:
+ if (TryWriteTrainerHill((struct EReaderTrainerHillSet *)&gDecompressionBuffer))
+ {
+ AddTextPrinterToWindow1(gUnknown_085EE0FA);
+ sub_81D505C(&data->unk0);
+ data->unk8 = 18;
+ }
+ else
+ {
+ data->unk8 = 22;
+ }
+ break;
+ case 18:
+ if (sub_81D5064(&data->unk0, 120))
+ {
+ AddTextPrinterToWindow1(gUnknown_085EE107);
+ PlayFanfare(MUS_FANFA4);
+ data->unk8 = 19;
+ }
+ break;
+ case 19:
+ if (IsFanfareTaskInactive() && (gMain.newKeys & (A_BUTTON | B_BUTTON)))
+ data->unk8 = 26;
+ break;
+ case 23:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9,gUnknown_085EE06B))
+ data->unk8 = 26;
+ break;
+ case 20:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE0A3))
+ data->unk8 = 0;
+ break;
+ case 21:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE0BF))
+ data->unk8 = 0;
+ break;
+ case 22:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE12D))
+ data->unk8 = 0;
+ break;
+ case 26:
+ Free(data->unk10);
+ DestroyTask(taskId);
+ SetMainCallback2(MainCB_FreeAllBuffersAndReturnToInitTitleScreen);
+ break;
+ }
+}
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index ba62db10d..3e5362de4 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -6,6 +6,7 @@
#include "event_data.h"
#include "event_object_movement.h"
#include "event_scripts.h"
+#include "faraway_island.h"
#include "field_camera.h"
#include "field_effect.h"
#include "field_effect_helpers.h"
@@ -15,7 +16,6 @@
#include "metatile_behavior.h"
#include "overworld.h"
#include "palette.h"
-#include "pokenav.h"
#include "random.h"
#include "sprite.h"
#include "task.h"
@@ -1534,10 +1534,10 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl
paletteSlot -= 16;
sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot);
}
+
if (eventObject->movementType == MOVEMENT_TYPE_INVISIBLE)
- {
eventObject->invisible = TRUE;
- }
+
*(u16 *)&spriteTemplate->paletteTag = 0xFFFF;
spriteId = CreateSprite(spriteTemplate, 0, 0, 0);
if (spriteId == MAX_SPRITES)
@@ -1545,6 +1545,7 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl
gEventObjects[eventObjectId].active = FALSE;
return EVENT_OBJECTS_COUNT;
}
+
sprite = &gSprites[spriteId];
sub_8092FF0(eventObject->currentCoords.x + cameraX, eventObject->currentCoords.y + cameraY, &sprite->pos1.x, &sprite->pos1.y);
sprite->centerToCornerVecX = -(graphicsInfo->width >> 1);
@@ -1557,15 +1558,14 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl
eventObject->spriteId = spriteId;
eventObject->inanimate = graphicsInfo->inanimate;
if (!eventObject->inanimate)
- {
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection));
- }
+
SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1);
UpdateEventObjectVisibility(eventObject, sprite);
return eventObjectId;
}
-static u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY)
+static u8 TrySpawnEventObjectTemplate(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY)
{
u8 eventObjectId;
struct SpriteTemplate spriteTemplate;
@@ -1579,14 +1579,12 @@ static u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u
spriteTemplate.images = &spriteFrameImage;
eventObjectId = TrySetupEventObjectSprite(eventObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY);
if (eventObjectId == EVENT_OBJECTS_COUNT)
- {
return EVENT_OBJECTS_COUNT;
- }
+
gSprites[gEventObjects[eventObjectId].spriteId].images = graphicsInfo->images;
- if (subspriteTables != NULL)
- {
+ if (subspriteTables)
SetSubspriteTables(&gSprites[gEventObjects[eventObjectId].spriteId], subspriteTables);
- }
+
return eventObjectId;
}
@@ -1596,7 +1594,7 @@ u8 SpawnSpecialEventObject(struct EventObjectTemplate *eventObjectTemplate)
s16 cameraY;
GetEventObjectMovingCameraOffset(&cameraX, &cameraY);
- return TrySpawnEventObject(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY);
+ return TrySpawnEventObjectTemplate(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY);
}
u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z)
@@ -1619,19 +1617,17 @@ u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 l
return SpawnSpecialEventObject(&eventObjectTemplate);
}
-u8 show_sprite(u8 localId, u8 mapNum, u8 mapGroup)
+u8 TrySpawnEventObject(u8 localId, u8 mapNum, u8 mapGroup)
{
struct EventObjectTemplate *eventObjectTemplate;
- s16 cameraX;
- s16 cameraY;
+ s16 cameraX, cameraY;
eventObjectTemplate = GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup);
- if (eventObjectTemplate == NULL)
- {
+ if (!eventObjectTemplate)
return EVENT_OBJECTS_COUNT;
- }
+
GetEventObjectMovingCameraOffset(&cameraX, &cameraY);
- return TrySpawnEventObject(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY);
+ return TrySpawnEventObjectTemplate(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY);
}
static void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
@@ -1765,7 +1761,7 @@ void TrySpawnEventObjects(s16 cameraX, s16 cameraY)
if (top <= npcY && bottom >= npcY && left <= npcX && right >= npcX
&& !FlagGet(template->flagId))
- TrySpawnEventObject(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY);
+ TrySpawnEventObjectTemplate(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY);
}
}
}
@@ -1949,7 +1945,7 @@ void EventObjectSetGraphicsId(struct EventObject *eventObject, u8 graphicsId)
sprite->oam.paletteNum = paletteSlot;
eventObject->inanimate = graphicsInfo->inanimate;
eventObject->graphicsId = graphicsId;
- sub_8093038(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y);
+ SetSpritePosToMapCoords(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y);
sprite->centerToCornerVecX = -(graphicsInfo->width >> 1);
sprite->centerToCornerVecY = -(graphicsInfo->height >> 1);
sprite->pos1.x += 8;
@@ -2245,7 +2241,7 @@ static void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y)
eventObject->currentCoords.y = y;
}
-void sub_808EB08(struct EventObject *eventObject, s16 x, s16 y)
+void MoveEventObjectToMapCoords(struct EventObject *eventObject, s16 x, s16 y)
{
struct Sprite *sprite;
const struct EventObjectGraphicsInfo *graphicsInfo;
@@ -2253,27 +2249,24 @@ void sub_808EB08(struct EventObject *eventObject, s16 x, s16 y)
sprite = &gSprites[eventObject->spriteId];
graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId);
SetEventObjectCoords(eventObject, x, y);
- sub_8093038(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y);
+ SetSpritePosToMapCoords(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y);
sprite->centerToCornerVecX = -(graphicsInfo->width >> 1);
sprite->centerToCornerVecY = -(graphicsInfo->height >> 1);
sprite->pos1.x += 8;
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
sub_808E38C(eventObject);
if (eventObject->trackedByCamera)
- {
CameraObjectReset1();
- }
}
-void sub_808EBA8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y)
+void TryMoveEventObjectToMapCoords(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y)
{
u8 eventObjectId;
-
if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId))
{
x += 7;
y += 7;
- sub_808EB08(&gEventObjects[eventObjectId], x, y);
+ MoveEventObjectToMapCoords(&gEventObjects[eventObjectId], x, y);
}
}
@@ -2604,15 +2597,13 @@ void OverrideTemplateCoordsForEventObject(const struct EventObject *eventObject)
}
}
-void OverrideMovementTypeForEventObject(const struct EventObject *eventObject, const u8 *script)
+static void OverrideEventObjectTemplateScript(const struct EventObject *eventObject, const u8 *script)
{
struct EventObjectTemplate *eventObjectTemplate;
eventObjectTemplate = GetBaseTemplateForEventObject(eventObject);
- if (eventObjectTemplate != NULL)
- {
+ if (eventObjectTemplate)
eventObjectTemplate->script = script;
- }
}
void TryOverrideTemplateCoordsForEventObject(const struct EventObject *eventObject, u8 movementType)
@@ -2626,30 +2617,26 @@ void TryOverrideTemplateCoordsForEventObject(const struct EventObject *eventObje
}
}
-void sub_808F254(u8 localId, u8 mapNum, u8 mapGroup)
+void TryOverrideEventObjectTemplateCoords(u8 localId, u8 mapNum, u8 mapGroup)
{
u8 eventObjectId;
-
if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId))
- {
OverrideTemplateCoordsForEventObject(&gEventObjects[eventObjectId]);
- }
}
-void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat)
+void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorationCategory)
{
u8 eventObjectId;
-
if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId))
{
- switch (decorCat)
+ switch (decorationCategory)
{
- case DECORCAT_DOLL:
- OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_SecretPower1);
- break;
- case DECORCAT_CUSHION:
- OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_SecretPower2);
- break;
+ case DECORCAT_DOLL:
+ OverrideEventObjectTemplateScript(&gEventObjects[eventObjectId], SecretBase_EventScript_DollInteract);
+ break;
+ case DECORCAT_CUSHION:
+ OverrideEventObjectTemplateScript(&gEventObjects[eventObjectId], SecretBase_EventScript_CushionInteract);
+ break;
}
}
}
@@ -4414,8 +4401,8 @@ bool8 CopyablePlayerMovement_GoSpeed0(struct EventObject *eventObject, struct Sp
direction = playerDirection;
if (EventObjectIsFarawayIslandMew(eventObject))
{
- direction = sub_81D427C();
- if (direction == 0)
+ direction = GetMewMoveDirection();
+ if (direction == DIR_NONE)
{
direction = playerDirection;
direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction);
@@ -5024,44 +5011,37 @@ static void MoveCoordsInDirection(u32 dir, s16 *x, s16 *y, s16 deltaX, s16 delta
*y -= dy2;
}
-void sub_8092FF0(s16 x, s16 y, s16 *dest_x, s16 *dest_y)
+void sub_8092FF0(s16 x, s16 y, s16 *destX, s16 *destY)
{
- *dest_x = (x - gSaveBlock1Ptr->pos.x) << 4;
- *dest_y = (y - gSaveBlock1Ptr->pos.y) << 4;
- *dest_x -= gTotalCameraPixelOffsetX;
- *dest_y -= gTotalCameraPixelOffsetY;
+ *destX = (x - gSaveBlock1Ptr->pos.x) << 4;
+ *destY = (y - gSaveBlock1Ptr->pos.y) << 4;
+ *destX -= gTotalCameraPixelOffsetX;
+ *destY -= gTotalCameraPixelOffsetY;
}
-void sub_8093038(s16 x, s16 y, s16 *dest_x, s16 *dest_y)
+void SetSpritePosToMapCoords(s16 mapX, s16 mapY, s16 *destX, s16 *destY)
{
- s16 dx;
- s16 dy;
-
- dx = -gTotalCameraPixelOffsetX - gFieldCamera.x;
- dy = -gTotalCameraPixelOffsetY - gFieldCamera.y;
+ s16 dx = -gTotalCameraPixelOffsetX - gFieldCamera.x;
+ s16 dy = -gTotalCameraPixelOffsetY - gFieldCamera.y;
if (gFieldCamera.x > 0)
- {
- dx += 0x10;
- }
+ dx += 1 << 4;
+
if (gFieldCamera.x < 0)
- {
- dx -= 0x10;
- }
+ dx -= 1 << 4;
+
if (gFieldCamera.y > 0)
- {
- dy += 0x10;
- }
+ dy += 1 << 4;
+
if (gFieldCamera.y < 0)
- {
- dy -= 0x10;
- }
- *dest_x = ((x - gSaveBlock1Ptr->pos.x) << 4) + dx;
- *dest_y = ((y - gSaveBlock1Ptr->pos.y) << 4) + dy;
+ dy -= 1 << 4;
+
+ *destX = ((mapX - gSaveBlock1Ptr->pos.x) << 4) + dx;
+ *destY = ((mapY - gSaveBlock1Ptr->pos.y) << 4) + dy;
}
void sub_80930E0(s16 *x, s16 *y, s16 dx, s16 dy)
{
- sub_8093038(*x, *y, x, y);
+ SetSpritePosToMapCoords(*x, *y, x, y);
*x += dx;
*y += dy;
}
diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c
index bfd46978c..e36d47c2b 100644
--- a/src/evolution_graphics.c
+++ b/src/evolution_graphics.c
@@ -53,10 +53,10 @@ static const struct OamData sOamData_EvoSparkle =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
diff --git a/src/evolution_scene.c b/src/evolution_scene.c
index 4bf7701be..4b8223b17 100644
--- a/src/evolution_scene.c
+++ b/src/evolution_scene.c
@@ -3,7 +3,7 @@
#include "battle.h"
#include "battle_message.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "evolution_scene.h"
#include "evolution_graphics.h"
@@ -52,8 +52,6 @@ void (*gCB2_AfterEvolution)(void);
#define sEvoCursorPos gBattleCommunication[1] // when learning a new move
#define sEvoGraphicsTaskID gBattleCommunication[2]
-extern const struct CompressedSpriteSheet gMonFrontPicTable[];
-
// this file's functions
static void Task_EvolutionScene(u8 taskID);
static void Task_TradeEvolutionScene(u8 taskID);
@@ -1228,7 +1226,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (!gPaletteFade.active)
{
if (gWirelessCommType)
- sub_800E084();
+ DestroyWirelessStatusIndicatorSprite();
Free(GetBgTilemapBuffer(3));
Free(GetBgTilemapBuffer(1));
diff --git a/src/faraway_island.c b/src/faraway_island.c
new file mode 100755
index 000000000..6a835a02b
--- /dev/null
+++ b/src/faraway_island.c
@@ -0,0 +1,446 @@
+#include "global.h"
+#include "event_data.h"
+#include "event_object_movement.h"
+#include "field_weather.h"
+#include "fieldmap.h"
+#include "metatile_behavior.h"
+#include "sprite.h"
+#include "constants/event_objects.h"
+#include "constants/flags.h"
+#include "constants/maps.h"
+#include "constants/metatile_behaviors.h"
+#include "constants/vars.h"
+
+static u8 sub_81D4890(u8);
+static bool8 sub_81D4C14(struct EventObject*, u8);
+static u8 sub_81D4C9C(struct EventObject*, u8);
+static u8 sub_81D4C58(struct EventObject*, u8);
+static u8 sub_81D4CE0(struct EventObject*, u8);
+static u8 sub_81D4D24(u8);
+static bool8 CanMewWalkToCoords(s16, s16);
+
+static EWRAM_DATA u8 sUnknown_0203CF50 = 0;
+
+static s16 sPlayerToMewDeltaX;
+static s16 sPlayerToMewDeltaY;
+static u8 sMewDirectionCandidates[4];
+
+extern const struct SpritePalette gFieldEffectObjectPaletteInfo1;
+extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
+
+static const s16 sFarawayIslandRockCoords[4][2] =
+{
+ {21, 16},
+ {25, 16},
+ {16, 17},
+ {20, 20},
+};
+
+static u8 GetMewEventObjectId(void)
+{
+ u8 eventObjectId;
+ TryGetEventObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId);
+ return eventObjectId;
+}
+
+u32 GetMewMoveDirection(void)
+{
+ u8 i;
+ int skip;
+ struct EventObject *mew = &gEventObjects[GetMewEventObjectId()];
+
+ sPlayerToMewDeltaX = gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x - mew->currentCoords.x;
+ sPlayerToMewDeltaY = gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y - mew->currentCoords.y;
+ for (i = 0; i < ARRAY_COUNT(sMewDirectionCandidates); i++)
+ sMewDirectionCandidates[i] = DIR_NONE;
+
+ if (gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x == gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x
+ && gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y == gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y)
+ {
+ return DIR_NONE;
+ }
+
+ if (VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER) % 8 == 0)
+ mew->invisible = 0;
+ else
+ mew->invisible = 1;
+
+ if (VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER) % 9 == 0)
+ return DIR_NONE;
+
+ for (i = 0; i < ARRAY_COUNT(sFarawayIslandRockCoords); i++)
+ {
+ if (gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x == sFarawayIslandRockCoords[i][0])
+ {
+ skip = 0;
+ if (gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y < sFarawayIslandRockCoords[i][1])
+ {
+ if (mew->currentCoords.y <= sFarawayIslandRockCoords[i][1])
+ skip = 1;
+ }
+ else
+ {
+ if (mew->currentCoords.y >= sFarawayIslandRockCoords[i][1])
+ skip = 1;
+ }
+
+ if (!skip)
+ {
+ if (sPlayerToMewDeltaX > 0)
+ {
+ if (mew->currentCoords.x + 1 == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x)
+ {
+ if (CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y))
+ return DIR_EAST;
+ }
+ }
+ else if (sPlayerToMewDeltaX < 0)
+ {
+ if (mew->currentCoords.x - 1 == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x)
+ {
+ if (CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y))
+ return DIR_WEST;
+ }
+ }
+
+ if (mew->currentCoords.x == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x)
+ {
+ if (sPlayerToMewDeltaY > 0)
+ {
+ if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1))
+ return DIR_NORTH;
+ }
+ else
+ {
+ if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1))
+ return DIR_SOUTH;
+ }
+ }
+ }
+ }
+
+ if (gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y == sFarawayIslandRockCoords[i][1])
+ {
+ skip = 0;
+ if (gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x < sFarawayIslandRockCoords[i][0])
+ {
+ if (mew->currentCoords.x <= sFarawayIslandRockCoords[i][0])
+ skip = 1;
+ }
+ else
+ {
+ if (mew->currentCoords.x >= sFarawayIslandRockCoords[i][0])
+ skip = 1;
+ }
+
+ if (!skip)
+ {
+ if (sPlayerToMewDeltaY > 0)
+ {
+ if (mew->currentCoords.y + 1 == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y)
+ {
+ if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1))
+ return DIR_SOUTH;
+ }
+ }
+ else if (sPlayerToMewDeltaY < 0)
+ {
+ if (mew->currentCoords.y - 1 == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y)
+ {
+ if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1))
+ return DIR_NORTH;
+ }
+ }
+
+ if (mew->currentCoords.y == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y)
+ {
+ if (sPlayerToMewDeltaX > 0)
+ {
+ if (CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y))
+ return DIR_WEST;
+ }
+ else
+ {
+ if (CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y))
+ return DIR_EAST;
+ }
+ }
+ }
+ }
+ }
+
+ if (sub_81D4C14(mew, 0))
+ {
+ if (sub_81D4C58(mew, 1))
+ return sub_81D4D24(2);
+ else if (sub_81D4CE0(mew, 1))
+ return sub_81D4D24(2);
+ else
+ return DIR_NORTH;
+ }
+
+ if (sub_81D4C9C(mew, 0))
+ {
+ if (sub_81D4C58(mew, 1))
+ return sub_81D4D24(2);
+ else if (sub_81D4CE0(mew, 1))
+ return sub_81D4D24(2);
+ else
+ return DIR_SOUTH;
+ }
+
+ if (sub_81D4C58(mew, 0))
+ {
+ if (sub_81D4C14(mew, 1))
+ return sub_81D4D24(2);
+ else if (sub_81D4C9C(mew, 1))
+ return sub_81D4D24(2);
+ else
+ return DIR_EAST;
+ }
+
+ if (sub_81D4CE0(mew, 0))
+ {
+ if (sub_81D4C14(mew, 1))
+ return sub_81D4D24(2);
+ else if (sub_81D4C9C(mew, 1))
+ return sub_81D4D24(2);
+ else
+ return DIR_WEST;
+ }
+
+ if (sPlayerToMewDeltaY == 0)
+ {
+ if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y > mew->currentCoords.y)
+ {
+ if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1))
+ return DIR_NORTH;
+ }
+
+ if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y < mew->currentCoords.y)
+ {
+ if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1))
+ return DIR_SOUTH;
+ }
+
+ if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1))
+ return DIR_NORTH;
+
+ if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1))
+ return DIR_SOUTH;
+ }
+
+ if (sPlayerToMewDeltaX == 0)
+ {
+ if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x > mew->currentCoords.x)
+ {
+ if (CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y))
+ return DIR_WEST;
+ }
+
+ if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x < mew->currentCoords.x)
+ {
+ if (CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y))
+ return DIR_EAST;
+ }
+
+ if (CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y))
+ return DIR_EAST;
+
+ if (CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y))
+ return DIR_WEST;
+ }
+
+ return sub_81D4890(DIR_NONE);
+}
+
+static bool8 CanMewWalkToCoords(s16 x, s16 y)
+{
+ if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x == x
+ && gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y == y)
+ {
+ return FALSE;
+ }
+
+ return MetatileBehavior_IsPokeGrass(MapGridGetMetatileBehaviorAt(x, y));
+}
+
+static u8 sub_81D4890(u8 ignoredDir)
+{
+ u8 i;
+ u8 count = 0;
+ struct EventObject *mew = &gEventObjects[GetMewEventObjectId()];
+
+ for (i = 0; i < ARRAY_COUNT(sMewDirectionCandidates); i++)
+ sMewDirectionCandidates[i] = DIR_NONE;
+
+ if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1) == TRUE && ignoredDir != DIR_NORTH)
+ {
+ sMewDirectionCandidates[count] = DIR_NORTH;
+ count++;
+ }
+
+ if (CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y) == TRUE && ignoredDir != DIR_EAST)
+ {
+ sMewDirectionCandidates[count] = DIR_EAST;
+ count++;
+ }
+
+ if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1) == TRUE && ignoredDir != DIR_SOUTH)
+ {
+ sMewDirectionCandidates[count] = DIR_SOUTH;
+ count++;
+ }
+
+ if (CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y) == TRUE && ignoredDir != DIR_WEST)
+ {
+ sMewDirectionCandidates[count] = DIR_WEST;
+ count++;
+ }
+
+ if (count > 1)
+ return sMewDirectionCandidates[VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER) % count];
+ else
+ return sMewDirectionCandidates[0];
+}
+
+void UpdateFarawayIslandStepCounter(void)
+{
+ u16 steps = VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER);
+ if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(FARAWAY_ISLAND_INTERIOR)
+ && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(FARAWAY_ISLAND_INTERIOR))
+ {
+ steps++;
+ if (steps >= 9999)
+ VarSet(VAR_FARAWAY_ISLAND_STEP_COUNTER, 0);
+ else
+ VarSet(VAR_FARAWAY_ISLAND_STEP_COUNTER, steps);
+ }
+}
+
+bool8 EventObjectIsFarawayIslandMew(struct EventObject *eventObject)
+{
+ if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(FARAWAY_ISLAND_INTERIOR)
+ && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(FARAWAY_ISLAND_INTERIOR))
+ {
+ if (eventObject->graphicsId == EVENT_OBJ_GFX_MEW)
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+bool8 IsMewPlayingHideAndSeek(void)
+{
+ if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(FARAWAY_ISLAND_INTERIOR)
+ && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(FARAWAY_ISLAND_INTERIOR))
+ {
+ if (FlagGet(FLAG_CAUGHT_MEW) != TRUE && FlagGet(FLAG_HIDE_MEW) != TRUE)
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+bool8 sub_81D4A58(struct EventObject *eventObject)
+{
+ if (VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER) != 0xFFFF
+ && VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER) % 4 == 0)
+ return TRUE;
+
+ return FALSE;
+}
+
+void sub_81D4A90(void)
+{
+ s16 x;
+ s16 y;
+ u8 spriteId;
+ struct EventObject *mew = &gEventObjects[GetMewEventObjectId()];
+
+ mew->invisible = 0;
+ if (gSpecialVar_0x8004 == 1)
+ {
+ mew->fixedPriority = 1;
+ gSprites[mew->spriteId].subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
+ gSprites[mew->spriteId].subpriority = 1;
+ }
+ else
+ {
+ VarSet(VAR_FARAWAY_ISLAND_STEP_COUNTER, 0xFFFF);
+ mew->fixedPriority = 1;
+ gSprites[mew->spriteId].subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
+ if (gSpecialVar_Facing != DIR_NORTH)
+ gSprites[mew->spriteId].subpriority = 1;
+
+ LoadSpritePalette(&gFieldEffectObjectPaletteInfo1);
+ UpdateSpritePaletteWithWeather(IndexOfSpritePaletteTag(gFieldEffectObjectPaletteInfo1.tag));
+
+ x = mew->currentCoords.x;
+ y = mew->currentCoords.y;
+ sub_80930E0(&x, &y, 8, 8);
+ sUnknown_0203CF50 = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[15], x, y, gSprites[mew->spriteId].subpriority - 1);
+ if (sUnknown_0203CF50 != MAX_SPRITES)
+ {
+ struct Sprite *sprite = &gSprites[sUnknown_0203CF50];
+ sprite->coordOffsetEnabled = 1;
+ sprite->oam.priority = 2;
+ sprite->callback = SpriteCallbackDummy;
+ }
+ }
+}
+
+void sub_81D4BEC(void)
+{
+ if (sUnknown_0203CF50 != MAX_SPRITES)
+ DestroySprite(&gSprites[sUnknown_0203CF50]);
+}
+
+static bool8 sub_81D4C14(struct EventObject *mew, u8 index)
+{
+ if (sPlayerToMewDeltaY > 0 && CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1))
+ {
+ sMewDirectionCandidates[index] = DIR_NORTH;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static u8 sub_81D4C58(struct EventObject *mew, u8 index)
+{
+ if (sPlayerToMewDeltaX < 0 && CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y))
+ {
+ sMewDirectionCandidates[index] = DIR_EAST;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static u8 sub_81D4C9C(struct EventObject *mew, u8 index)
+{
+ if (sPlayerToMewDeltaY < 0 && CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1))
+ {
+ sMewDirectionCandidates[index] = DIR_SOUTH;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static u8 sub_81D4CE0(struct EventObject *mew, u8 index)
+{
+ if (sPlayerToMewDeltaX > 0 && CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y))
+ {
+ sMewDirectionCandidates[index] = DIR_WEST;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static u8 sub_81D4D24(u8 mod)
+{
+ return sMewDirectionCandidates[VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER) % mod];
+}
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index 680191bb3..455c38deb 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -3,6 +3,7 @@
#include "bike.h"
#include "coord_event_weather.h"
#include "daycare.h"
+#include "faraway_island.h"
#include "event_data.h"
#include "event_object_movement.h"
#include "event_scripts.h"
@@ -15,10 +16,10 @@
#include "fldeff_misc.h"
#include "item_menu.h"
#include "link.h"
+#include "match_call.h"
#include "metatile_behavior.h"
#include "overworld.h"
#include "pokemon.h"
-#include "pokenav.h"
#include "safari_zone.h"
#include "script.h"
#include "secret_base.h"
@@ -32,7 +33,6 @@
#include "constants/map_types.h"
#include "constants/maps.h"
#include "constants/songs.h"
-#include "match_call.h"
static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0;
static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0;
@@ -227,8 +227,8 @@ static bool8 TryStartInteractionScript(struct MapPosition *position, u16 metatil
&& script != EventScript_PlayerPCFemale
&& script != EventScript_SecretBasePC
&& script != EventScript_RecordMixingSecretBasePC
- && script != EventScript_SecretPower1
- && script != EventScript_SecretPower2
+ && script != SecretBase_EventScript_DollInteract
+ && script != SecretBase_EventScript_CushionInteract
&& script != EventScript_PC)
PlaySE(SE_SELECT);
@@ -354,7 +354,7 @@ static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *position
if (direction == DIR_NORTH)
{
gSpecialVar_0x8004 = bgEvent->bgUnion.secretBaseId;
- if (sub_80E9680())
+ if (TrySetCurSecretBase())
return EventScript_2759F1;
}
return NULL;
@@ -390,11 +390,11 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me
if (MetatileBehavior_IsBookShelf(metatileBehavior) == TRUE)
return EventScript_BookShelf;
if (MetatileBehavior_IsPokeCenterBookShelf(metatileBehavior) == TRUE)
- return EventScript_PokemonCenterBookshelf;
+ return EventScript_PokemonCenterBookShelf;
if (MetatileBehavior_IsVase(metatileBehavior) == TRUE)
return EventScript_Vase;
if (MetatileBehavior_IsTrashCan(metatileBehavior) == TRUE)
- return EventScript_TrashCan;
+ return EventScript_EmptyTrashCan;
if (MetatileBehavior_IsShopShelf(metatileBehavior) == TRUE)
return EventScript_ShopShelf;
if (MetatileBehavior_IsBlueprint(metatileBehavior) == TRUE)
@@ -421,23 +421,23 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me
return EventScript_SecretBaseShieldOrToyTV;
if (MetatileBehavior_IsMB_C6(metatileBehavior) == TRUE)
{
- sub_80EB56C();
+ SetSecretBaseSecretsTvFlags_MiscFurnature();
return NULL;
}
- if (MetatileBehavior_IsLargeMatCenter(metatileBehavior) == TRUE)
+ if (MetatileBehavior_HoldsLargeDecoration(metatileBehavior) == TRUE)
{
- sub_80EB9E0();
+ SetSecretBaseSecretsTvFlags_LargeDecorationSpot();
return NULL;
}
- if (MetatileBehavior_IsSecretBaseLargeMatEdge(metatileBehavior) == TRUE)
+ if (MetatileBehavior_HoldsSmallDecoration(metatileBehavior) == TRUE)
{
- sub_80EBB28();
+ SetSecretBaseSecretsTvFlags_SmallDecorationSpot();
return NULL;
}
}
else if (MetatileBehavior_IsSecretBasePoster(metatileBehavior) == TRUE)
{
- sub_80EB498();
+ SetSecretBaseSecretsTvFlags_Poster();
return NULL;
}
@@ -541,7 +541,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior)
IncrementRematchStepCounter();
UpdateHappinessStepCounter();
- sub_81D4998();
+ UpdateFarawayIslandStepCounter();
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_6) && !MetatileBehavior_IsForcedMovementTile(metatileBehavior))
{
diff --git a/src/field_effect.c b/src/field_effect.c
index ee9dcb987..22bf44f28 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -33,8 +33,6 @@
#define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))}
-extern struct CompressedSpritePalette gMonPaletteTable[]; // GF made a mistake and did not extern it as const.
-
EWRAM_DATA s32 gFieldEffectArguments[8] = {0};
// Static type declarations
@@ -237,7 +235,9 @@ static void Fldeff_MoveDeoxysRock_Step(u8 taskId);
static IWRAM_DATA u8 sActiveList[32];
// External declarations
-
+extern struct CompressedSpritePalette gMonPaletteTable[]; // GF made a mistake and did not extern it as const.
+extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
+extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
extern u8 *gFieldEffectScriptPointers[];
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
@@ -270,7 +270,8 @@ const u8 gUnknown_0855C190[] = INCBIN_U8("graphics/unknown/unknown_55C190.4bpp")
const u8 gUnknown_0855C1B0[] = INCBIN_U8("graphics/unknown/unknown_55C1B0.4bpp");
const u8 gUnknown_0855C1D0[] = INCBIN_U8("graphics/unknown/unknown_55C1D0.4bpp");
-bool8 (*const gFieldEffectScriptFuncs[])(u8 **, u32 *) = {
+bool8 (*const gFieldEffectScriptFuncs[])(u8 **, u32 *) =
+{
FieldEffectCmd_loadtiles,
FieldEffectCmd_loadfadedpal,
FieldEffectCmd_loadpal,
@@ -281,25 +282,72 @@ bool8 (*const gFieldEffectScriptFuncs[])(u8 **, u32 *) = {
FieldEffectCmd_loadfadedpal_callnative,
};
-const struct OamData gNewGameBirchOamAttributes = {.size = 3};
-const struct OamData gOamData_855C218 = {.size = 0};
-const struct OamData gOamData_855C220 = {.size = 1};
+const struct OamData gNewGameBirchOamAttributes =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+};
-const struct SpriteFrameImage gNewGameBirchPicTable[] = {
+const struct OamData gOamData_855C218 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_855C220 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+};
+
+const struct SpriteFrameImage gNewGameBirchPicTable[] =
+{
obj_frame_tiles(gNewGameBirchPic)
};
-const struct SpritePalette gNewGameBirchObjectPaletteInfo = {.data = gNewGameBirchPalette, .tag = 0x1006};
-const union AnimCmd gNewGameBirchImageAnim[] = {
+const struct SpritePalette gNewGameBirchObjectPaletteInfo =
+{
+ .data = gNewGameBirchPalette,
+ .tag = 0x1006
+};
+
+const union AnimCmd gNewGameBirchImageAnim[] =
+{
ANIMCMD_FRAME(.imageValue = 0, .duration = 1),
ANIMCMD_END
};
-const union AnimCmd *const gNewGameBirchImageAnimTable[] = {
+const union AnimCmd *const gNewGameBirchImageAnimTable[] =
+{
gNewGameBirchImageAnim
};
-const struct SpriteTemplate gNewGameBirchObjectTemplate = {
+const struct SpriteTemplate gNewGameBirchObjectTemplate =
+{
.tileTag = 0xFFFF,
.paletteTag = 4102,
.oam = &gNewGameBirchOamAttributes,
@@ -309,31 +357,55 @@ const struct SpriteTemplate gNewGameBirchObjectTemplate = {
.callback = SpriteCallbackDummy
};
-const struct SpritePalette gFieldEffectObjectPaletteInfo4 = {.data = gFieldEffectObjectPalette4, .tag = 0x1007};
-const struct SpritePalette gFieldEffectObjectPaletteInfo5 = {.data = gFieldEffectObjectPalette5, .tag = 0x1010};
-const struct OamData gOamData_855C26C = {
- .shape = 1,
- .size = 2
+const struct SpritePalette gFieldEffectObjectPaletteInfo4 =
+{
+ .data = gFieldEffectObjectPalette4,
+ .tag = 0x1007
};
-const struct SpriteFrameImage gSpriteImageTable_855C274[] = {
+const struct SpritePalette gFieldEffectObjectPaletteInfo5 =
+{
+ .data = gFieldEffectObjectPalette5,
+ .tag = 0x1010
+};
+
+const struct OamData gOamData_855C26C =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
+ .x = 0,
+ .size = SPRITE_SIZE(32x16),
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+};
+
+const struct SpriteFrameImage gSpriteImageTable_855C274[] =
+{
obj_frame_tiles(gSpriteImage_855A970)
};
-const struct SpriteFrameImage gSpriteImageTable_855C27C[] = {
+const struct SpriteFrameImage gSpriteImageTable_855C27C[] =
+{
obj_frame_tiles(gSpriteImage_855A9B0),
obj_frame_tiles(gSpriteImage_855AA70)
};
-const struct SpriteFrameImage gSpriteImageTable_855C28C[] = {
+const struct SpriteFrameImage gSpriteImageTable_855C28C[] =
+{
obj_frame_tiles(gSpriteImage_855AB30)
};
-const struct SpriteFrameImage gSpriteImageTable_855C294[] = {
+const struct SpriteFrameImage gSpriteImageTable_855C294[] =
+{
{.data = gSpriteImage_855AD30, .size = 0x200} // the macro breaks down here
};
-const struct Subsprite gSubspriteTable_855C29C[] = {
+const struct Subsprite gSubspriteTable_855C29C[] =
+{
{.x = -12, .y = -8, .priority = 2, .tileOffset = 0, .shape = 1, .size = 0},
{.x = 4, .y = -8, .priority = 2, .tileOffset = 2, .shape = 0, .size = 0},
{.x = -12, .y = 0, .priority = 2, .tileOffset = 3, .shape = 1, .size = 0},
@@ -342,7 +414,8 @@ const struct Subsprite gSubspriteTable_855C29C[] = {
const struct SubspriteTable gUnknown_0855C2AC = subsprite_table(gSubspriteTable_855C29C);
-const struct Subsprite gSubspriteTable_855C2B4[] = {
+const struct Subsprite gSubspriteTable_855C2B4[] =
+{
{.x = -32, .y = -8, .priority = 2, .tileOffset = 0, .shape = 1, .size = 1},
{.x = 0, .y = -8, .priority = 2, .tileOffset = 4, .shape = 1, .size = 1},
{.x = -32, .y = 0, .priority = 2, .tileOffset = 8, .shape = 1, .size = 1},
@@ -351,12 +424,14 @@ const struct Subsprite gSubspriteTable_855C2B4[] = {
const struct SubspriteTable gUnknown_0855C2C4 = subsprite_table(gSubspriteTable_855C2B4);
-const union AnimCmd gSpriteAnim_855C2CC[] = {
+const union AnimCmd gSpriteAnim_855C2CC[] =
+{
ANIMCMD_FRAME(.imageValue = 0, .duration = 1),
ANIMCMD_JUMP(0)
};
-const union AnimCmd gSpriteAnim_855C2D4[] = {
+const union AnimCmd gSpriteAnim_855C2D4[] =
+{
ANIMCMD_FRAME(.imageValue = 0, .duration = 16),
ANIMCMD_FRAME(.imageValue = 1, .duration = 16),
ANIMCMD_FRAME(.imageValue = 0, .duration = 16),
@@ -368,16 +443,19 @@ const union AnimCmd gSpriteAnim_855C2D4[] = {
ANIMCMD_END
};
-const union AnimCmd *const gSpriteAnimTable_855C2F8[] = {
+const union AnimCmd *const gSpriteAnimTable_855C2F8[] =
+{
gSpriteAnim_855C2CC,
gSpriteAnim_855C2D4
};
-const union AnimCmd *const gSpriteAnimTable_855C300[] = {
+const union AnimCmd *const gSpriteAnimTable_855C300[] =
+{
gSpriteAnim_855C2CC
};
-const struct SpriteTemplate gSpriteTemplate_855C304 = {
+const struct SpriteTemplate gSpriteTemplate_855C304 =
+{
.tileTag = 0xFFFF,
.paletteTag = 4103,
.oam = &gOamData_855C218,
@@ -387,7 +465,8 @@ const struct SpriteTemplate gSpriteTemplate_855C304 = {
.callback = SpriteCB_PokeballGlow
};
-const struct SpriteTemplate gSpriteTemplate_855C31C = {
+const struct SpriteTemplate gSpriteTemplate_855C31C =
+{
.tileTag = 0xFFFF,
.paletteTag = 4100,
.oam = &gOamData_855C220,
@@ -397,7 +476,8 @@ const struct SpriteTemplate gSpriteTemplate_855C31C = {
.callback = SpriteCB_PokecenterMonitor
};
-const struct SpriteTemplate gSpriteTemplate_855C334 = {
+const struct SpriteTemplate gSpriteTemplate_855C334 =
+{
.tileTag = 0xFFFF,
.paletteTag = 4112,
.oam = &gOamData_855C220,
@@ -407,7 +487,8 @@ const struct SpriteTemplate gSpriteTemplate_855C334 = {
.callback = SpriteCB_HallOfFameMonitor
};
-const struct SpriteTemplate gSpriteTemplate_855C34C = {
+const struct SpriteTemplate gSpriteTemplate_855C34C =
+{
.tileTag = 0xFFFF,
.paletteTag = 4112,
.oam = &gOamData_855C26C,
@@ -417,21 +498,24 @@ const struct SpriteTemplate gSpriteTemplate_855C34C = {
.callback = SpriteCB_HallOfFameMonitor
};
-void (*const gUnknown_0855C364[])(struct Task *) = {
+void (*const gUnknown_0855C364[])(struct Task *) =
+{
PokecenterHealEffect_0,
PokecenterHealEffect_1,
PokecenterHealEffect_2,
PokecenterHealEffect_3
};
-void (*const gUnknown_0855C374[])(struct Task *) = {
+void (*const gUnknown_0855C374[])(struct Task *) =
+{
HallOfFameRecordEffect_0,
HallOfFameRecordEffect_1,
HallOfFameRecordEffect_2,
HallOfFameRecordEffect_3
};
-void (*const gUnknown_0855C384[])(struct Sprite *) = {
+void (*const gUnknown_0855C384[])(struct Sprite *) =
+{
PokeballGlowEffect_0,
PokeballGlowEffect_1,
PokeballGlowEffect_2,
@@ -442,7 +526,8 @@ void (*const gUnknown_0855C384[])(struct Sprite *) = {
PokeballGlowEffect_7
};
-const struct Coords16 gUnknown_0855C3A4[] = {
+const struct Coords16 gUnknown_0855C3A4[] =
+{
{.x = 0, .y = 0},
{.x = 6, .y = 0},
{.x = 0, .y = 4},
@@ -455,7 +540,8 @@ const u8 gUnknown_0855C3BC[] = {16, 12, 8, 0};
const u8 gUnknown_0855C3C0[] = {16, 12, 8, 0};
const u8 gUnknown_0855C3C4[] = { 0, 0, 0, 0};
-bool8 (*const gUnknown_0855C3C8[])(struct Task *) = {
+bool8 (*const gUnknown_0855C3C8[])(struct Task *) =
+{
sub_80B6BCC,
sub_80B6C74,
sub_80B6C90,
@@ -465,7 +551,8 @@ bool8 (*const gUnknown_0855C3C8[])(struct Task *) = {
sub_80B6E18,
};
-bool8 (*const gUnknown_0855C3E4[])(struct Task *) = {
+bool8 (*const gUnknown_0855C3E4[])(struct Task *) =
+{
sub_80B6EC0,
sub_80B6EE0,
sub_80B6F50,
@@ -474,7 +561,8 @@ bool8 (*const gUnknown_0855C3E4[])(struct Task *) = {
sub_80B6FA8,
};
-bool8 (*const gUnknown_0855C3FC[])(struct Task *) = {
+bool8 (*const gUnknown_0855C3FC[])(struct Task *) =
+{
sub_80B7114,
sub_80B7190,
sub_80B71D0,
@@ -484,7 +572,8 @@ bool8 (*const gUnknown_0855C3FC[])(struct Task *) = {
sub_80B72F4,
};
-bool8 (*const gUnknown_0855C418[])(struct Task *, struct EventObject *) = {
+bool8 (*const gUnknown_0855C418[])(struct Task *, struct EventObject *) =
+{
sub_80B73D0,
waterfall_1_do_anim_probably,
waterfall_2_wait_anim_finish_probably,
@@ -492,13 +581,15 @@ bool8 (*const gUnknown_0855C418[])(struct Task *, struct EventObject *) = {
sub_80B7478,
};
-bool8 (*const gUnknown_0855C42C[])(struct Task *) = {
+bool8 (*const gUnknown_0855C42C[])(struct Task *) =
+{
dive_1_lock,
dive_2_unknown,
dive_3_unknown,
};
-bool8 (*const gUnknown_0855C438[])(struct Task *, struct EventObject *, struct Sprite *) = {
+bool8 (*const gUnknown_0855C438[])(struct Task *, struct EventObject *, struct Sprite *) =
+{
sub_80B764C,
sub_80B7684,
sub_80B76B8,
@@ -507,14 +598,16 @@ bool8 (*const gUnknown_0855C438[])(struct Task *, struct EventObject *, struct S
sub_80B7814,
};
-bool8 (*const gUnknown_0855C450[])(struct Task *, struct EventObject *, struct Sprite *) = {
+bool8 (*const gUnknown_0855C450[])(struct Task *, struct EventObject *, struct Sprite *) =
+{
sub_80B78EC,
sub_80B791C,
sub_80B7968,
sub_80B79BC,
};
-bool8 (*const gUnknown_0855C460[])(struct Task *, struct EventObject *, struct Sprite *) = {
+bool8 (*const gUnknown_0855C460[])(struct Task *, struct EventObject *, struct Sprite *) =
+{
sub_80B7AE8,
sub_80B7B18,
sub_80B7B94,
@@ -522,7 +615,8 @@ bool8 (*const gUnknown_0855C460[])(struct Task *, struct EventObject *, struct S
sub_80B7BF4,
};
-void (*const gEscapeRopeFieldEffectFuncs[])(struct Task *) = {
+void (*const gEscapeRopeFieldEffectFuncs[])(struct Task *) =
+{
EscapeRopeFieldEffect_Step0,
EscapeRopeFieldEffect_Step1,
};
@@ -3391,7 +3485,7 @@ static void sub_80B9978(struct Task *task)
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
sprite = &gSprites[eventObject->spriteId];
eventObject->inanimate = 0;
- sub_808EB08(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y);
+ MoveEventObjectToMapCoords(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y);
sprite->pos2.x = 0;
sprite->pos2.y = 0;
sprite->coordOffsetEnabled = 1;
@@ -3697,3 +3791,4 @@ static void Fldeff_MoveDeoxysRock_Step(u8 taskId)
break;
}
}
+
diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c
index 651b2baca..c715da25d 100755
--- a/src/field_effect_helpers.c
+++ b/src/field_effect_helpers.c
@@ -191,7 +191,7 @@ void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y)
sprite = &gSprites[spriteId];
if (sprite->invisible || sprite->data[0] != x || sprite->data[1] != y)
{
- sub_8093038(x, y, &x2, &y2);
+ SetSpritePosToMapCoords(x, y, &x2, &y2);
sprite = &gSprites[spriteId];
sprite->pos1.x = x2 + 8;
sprite->pos1.y = y2 + 8;
@@ -1508,7 +1508,7 @@ void sub_8155F80(struct Sprite *sprite)
}
}
SetGpuReg(REG_OFFSET_BG0VOFS, 0);
- FieldEffectStop(sprite, FLDEFF_64);
+ FieldEffectStop(sprite, FLDEFF_RAYQUAZA);
break;
}
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index a070fe0e1..ab2667c8c 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -1188,9 +1188,9 @@ u8 PlayerGetZCoord(void)
return gEventObjects[gPlayerAvatar.eventObjectId].previousElevation;
}
-void sub_808BC90(s16 a, s16 b)
+void sub_808BC90(s16 x, s16 y)
{
- sub_808EB08(&gEventObjects[gPlayerAvatar.eventObjectId], a, b);
+ MoveEventObjectToMapCoords(&gEventObjects[gPlayerAvatar.eventObjectId], x, y);
}
u8 TestPlayerAvatarFlags(u8 a)
diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c
index b6dcf212c..5769f44af 100644
--- a/src/field_screen_effect.c
+++ b/src/field_screen_effect.c
@@ -44,7 +44,7 @@ static void task0A_fade_n_map_maybe(u8);
static void sub_808115C(u8);
static void palette_bg_faded_fill_white(void);
static void sub_80AF438(u8);
-static bool32 sub_80AF71C(void);
+static bool32 WaitForWeatherFadeIn(void);
static void task0A_mpl_807E31C(u8 taskId);
static void sub_80AFA0C(u8 taskId);
static void sub_80AFA88(u8 taskId);
@@ -119,7 +119,7 @@ static void sub_80AF0F4(u8 arg)
static void task0A_nop_for_a_while(u8 taskId)
{
- if (sub_80AF71C() == TRUE)
+ if (WaitForWeatherFadeIn() == TRUE)
DestroyTask(taskId);
}
@@ -133,14 +133,14 @@ void sub_80AF128(void)
static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID)
{
- if (sub_80AF71C() == TRUE)
+ if (WaitForWeatherFadeIn() == TRUE)
{
DestroyTask(taskID);
EnableBothScriptContexts();
}
}
-void sub_80AF168(void)
+void FieldCallback_ReturnToEventScript2(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
@@ -173,7 +173,7 @@ static void task_mpl_807DD60(u8 taskId)
}
break;
case 2:
- if (sub_80AF71C() == TRUE)
+ if (WaitForWeatherFadeIn() == TRUE)
{
ScriptContext2_Disable();
DestroyTask(taskId);
@@ -213,7 +213,7 @@ static void sub_80AF234(u8 taskId)
}
break;
case 2:
- if (sub_80AF71C() == TRUE)
+ if (WaitForWeatherFadeIn() == TRUE)
{
sub_8009F18();
ScriptContext2_Disable();
@@ -333,7 +333,7 @@ static void sub_80AF438(u8 taskId)
task->data[0] = 1;
break;
case 1:
- if (sub_80AF71C())
+ if (WaitForWeatherFadeIn())
{
u8 eventObjId;
sub_80AF0F4(1);
@@ -381,7 +381,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId)
task->data[0] = 1;
break;
case 1:
- if (sub_80AF71C())
+ if (WaitForWeatherFadeIn())
{
u8 eventObjId;
sub_80AF0F4(1);
@@ -414,7 +414,7 @@ static void task_map_chg_seq_0807E2CC(u8 taskId)
gTasks[taskId].data[0]++;
break;
case 1:
- if (sub_80AF71C())
+ if (WaitForWeatherFadeIn())
{
UnfreezeEventObjects();
ScriptContext2_Disable();
@@ -426,7 +426,7 @@ static void task_map_chg_seq_0807E2CC(u8 taskId)
static void sub_80AF660(u8 taskId)
{
- if (sub_80AF71C() == TRUE)
+ if (WaitForWeatherFadeIn() == TRUE)
{
DestroyTask(taskId);
CreateTask(sub_809FA34, 80);
@@ -448,7 +448,7 @@ bool8 sub_80AF6A4(void)
static void task_mpl_807E3C8(u8 taskId)
{
- if (sub_80AF71C() == 1)
+ if (WaitForWeatherFadeIn() == 1)
{
ScriptContext2_Disable();
DestroyTask(taskId);
@@ -476,7 +476,7 @@ static bool32 PaletteFadeActive(void)
return gPaletteFade.active;
}
-static bool32 sub_80AF71C(void)
+static bool32 WaitForWeatherFadeIn(void)
{
if (IsWeatherNotFadingIn() == TRUE)
return TRUE;
@@ -1007,7 +1007,7 @@ static void task0A_mpl_807E31C(u8 taskId)
gTasks[taskId].data[0]++;
break;
case 1:
- if (sub_80AF71C() && sub_808D1B4() != TRUE)
+ if (WaitForWeatherFadeIn() && sub_808D1B4() != TRUE)
{
UnfreezeEventObjects();
ScriptContext2_Disable();
diff --git a/src/field_specials.c b/src/field_specials.c
index 436b06f53..8bd990063 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -1,8 +1,9 @@
#include "global.h"
+#include "alloc.h"
#include "battle.h"
#include "battle_tower.h"
#include "cable_club.h"
-#include "data2.h"
+#include "data.h"
#include "decoration.h"
#include "diploma.h"
#include "event_data.h"
@@ -20,7 +21,7 @@
#include "link.h"
#include "list_menu.h"
#include "main.h"
-#include "alloc.h"
+#include "mevent.h"
#include "match_call.h"
#include "menu.h"
#include "overworld.h"
@@ -31,7 +32,6 @@
#include "random.h"
#include "rayquaza_scene.h"
#include "region_map.h"
-#include "rom_8011DC0.h"
#include "rtc.h"
#include "script.h"
#include "script_menu.h"
@@ -59,20 +59,20 @@
EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE;
EWRAM_DATA u8 gBikeCollisions = 0;
-EWRAM_DATA u32 gBikeCyclingTimer = 0;
-EWRAM_DATA u8 gUnknown_0203AB5C = 0;
-EWRAM_DATA u8 gUnknown_0203AB5D = 0;
-EWRAM_DATA u8 gUnknown_0203AB5E = 0;
-EWRAM_DATA u16 gUnknown_0203AB60 = 0;
-EWRAM_DATA u16 gUnknown_0203AB62 = 0;
-EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL;
-EWRAM_DATA u16 gUnknown_0203AB68 = 0;
-EWRAM_DATA u16 gUnknown_0203AB6A = 0;
-EWRAM_DATA u8 gUnknown_0203AB6C = 0;
-EWRAM_DATA u8 gUnknown_0203AB6D = 0;
-EWRAM_DATA u8 gUnknown_0203AB6E = 0;
-EWRAM_DATA u8 gUnknown_0203AB6F = 0;
-EWRAM_DATA u32 gUnknown_0203AB70 = 0;
+static EWRAM_DATA u32 gBikeCyclingTimer = 0;
+static EWRAM_DATA u8 gUnknown_0203AB5C = 0;
+static EWRAM_DATA u8 gUnknown_0203AB5D = 0;
+static EWRAM_DATA u8 gUnknown_0203AB5E = 0;
+static EWRAM_DATA u16 gUnknown_0203AB60 = 0;
+static EWRAM_DATA u16 gUnknown_0203AB62 = 0;
+static EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL;
+static EWRAM_DATA u16 gUnknown_0203AB68 = 0;
+static EWRAM_DATA u16 gUnknown_0203AB6A = 0;
+static EWRAM_DATA u8 gUnknown_0203AB6C = 0;
+static EWRAM_DATA u8 gUnknown_0203AB6D = 0;
+static EWRAM_DATA u8 gUnknown_0203AB6E = 0;
+static EWRAM_DATA u8 gUnknown_0203AB6F = 0;
+static EWRAM_DATA u32 gUnknown_0203AB70 = 0;
struct ListMenuTemplate gUnknown_030061D0;
@@ -2610,7 +2610,7 @@ static void sub_813A4EC(u8 taskId)
{
case LIST_NOTHING_CHOSEN:
break;
- case LIST_B_PRESSED:
+ case LIST_CANCEL:
gSpecialVar_Result = 0x7F;
PlaySE(SE_SELECT);
sub_813A570(taskId);
@@ -2690,10 +2690,10 @@ static void sub_813A664(u8 taskId)
static void sub_813A694(u8 taskId)
{
static const struct ScrollArrowsTemplate gUnknown_085B3030 = {
- .firstArrowType = 2,
+ .firstArrowType = SCROLL_ARROW_UP,
.firstX = 0,
.firstY = 0,
- .secondArrowType = 3,
+ .secondArrowType = SCROLL_ARROW_DOWN,
.secondX = 0,
.secondY = 0,
.fullyUpThreshold = 0,
diff --git a/src/field_weather.c b/src/field_weather.c
index 9913e9a61..814e85ef4 100644
--- a/src/field_weather.c
+++ b/src/field_weather.c
@@ -91,7 +91,7 @@ static const struct WeatherCallbacks sWeatherFuncs[] =
{
{None_Init, None_Main, None_Init, None_Finish},
{Clouds_InitVars, Clouds_Main, Clouds_InitAll, Clouds_Finish},
- {Weather2_InitVars, Weather2_Main, Weather2_InitAll, Weather2_Finish},
+ {Sunny_InitVars, Sunny_Main, Sunny_InitAll, Sunny_Finish},
{LightRain_InitVars, LightRain_Main, LightRain_InitAll, LightRain_Finish},
{Snow_InitVars, Snow_Main, Snow_InitAll, Snow_Finish},
{MedRain_InitVars, Rain_Main, MedRain_InitAll, Rain_Finish},
@@ -167,15 +167,15 @@ void StartWeather(void)
gWeatherPtr->altGammaSpritePalIndex = index;
gWeatherPtr->weatherPicSpritePalIndex = AllocSpritePalette(0x1201);
gWeatherPtr->rainSpriteCount = 0;
- gWeatherPtr->unknown_6D8 = 0;
+ gWeatherPtr->curRainSpriteIndex = 0;
gWeatherPtr->cloudSpritesCreated = 0;
gWeatherPtr->snowflakeSpriteCount = 0;
gWeatherPtr->ashSpritesCreated = 0;
gWeatherPtr->fog1SpritesCreated = 0;
gWeatherPtr->fog2SpritesCreated = 0;
- gWeatherPtr->sandstormSprites1Created = 0;
- gWeatherPtr->sandstormSprites2Created = 0;
- gWeatherPtr->unknown_72E = 0;
+ gWeatherPtr->sandstormSpritesCreated = 0;
+ gWeatherPtr->sandstormSwirlSpritesCreated = 0;
+ gWeatherPtr->bubblesSpritesCreated = 0;
gWeatherPtr->lightenedFogSpritePalsCount = 0;
Weather_SetBlendCoeffs(16, 0);
gWeatherPtr->currWeather = 0;
@@ -234,7 +234,8 @@ static void Task_WeatherMain(u8 taskId)
{
if (gWeatherPtr->currWeather != gWeatherPtr->nextWeather)
{
- if (!sWeatherFuncs[gWeatherPtr->currWeather].finish() && gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_SCREEN_FADING_OUT)
+ if (!sWeatherFuncs[gWeatherPtr->currWeather].finish()
+ && gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_SCREEN_FADING_OUT)
{
// Finished cleaning up previous weather. Now transition to next weather.
sWeatherFuncs[gWeatherPtr->nextWeather].initVars();
diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c
index be8fdc6cb..8fca02707 100644
--- a/src/field_weather_effect.c
+++ b/src/field_weather_effect.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "battle_anim.h"
#include "event_object_movement.h"
#include "field_weather.h"
#include "overworld.h"
@@ -12,16 +13,13 @@
#include "trig.h"
#include "gpu_regs.h"
-// This file's functions.
-void sub_80AC6B4(struct Sprite *);
-
// EWRAM
EWRAM_DATA static u8 gCurrentAlternatingWeather = 0;
EWRAM_DATA static u16 gUnusedWeatherRelated = 0;
// CONST
-const u16 gUnknown_0854C290[] = INCBIN_U16("graphics/weather/1.gbapal");
-const u16 gUnknown_0854C2B0[] = INCBIN_U16("graphics/weather/2.gbapal");
+const u16 gCloudsWeatherPalette[] = INCBIN_U16("graphics/weather/cloud.gbapal");
+const u16 gSandstormWeatherPalette[] = INCBIN_U16("graphics/weather/sandstorm.gbapal");
const u8 gWeatherFog2Tiles[] = INCBIN_U8("graphics/weather/fog2.4bpp");
const u8 gWeatherFog1Tiles[] = INCBIN_U8("graphics/weather/fog1.4bpp");
const u8 gWeatherCloudTiles[] = INCBIN_U8("graphics/weather/cloud.4bpp");
@@ -32,58 +30,69 @@ const u8 gWeatherAshTiles[] = INCBIN_U8("graphics/weather/ash.4bpp");
const u8 gWeatherRainTiles[] = INCBIN_U8("graphics/weather/rain.4bpp");
const u8 gWeatherSandstormTiles[] = INCBIN_U8("graphics/weather/sandstorm.4bpp");
-static const struct Coords16 gUnknown_0854FB50[] =
+//------------------------------------------------------------------------------
+// Clouds
+//------------------------------------------------------------------------------
+
+static void CreateCloudSprites(void);
+static void DestroyCloudSprites(void);
+static void UpdateCloudSprite(struct Sprite *);
+
+// The clouds are positioned on the map's grid.
+// These coordinates are for the lower half of Route 120.
+static const struct Coords16 sCloudSpriteMapCoords[] =
{
{ 0, 66},
{ 5, 73},
{10, 78},
};
-static const struct SpriteSheet sCloudSpriteSheet = {gWeatherCloudTiles, sizeof(gWeatherCloudTiles), 0x1200};
+static const struct SpriteSheet sCloudSpriteSheet =
+{
+ .data = gWeatherCloudTiles,
+ .size = sizeof(gWeatherCloudTiles),
+ .tag = 0x1200
+};
-static const struct OamData gOamData_839A9DC =
+static const struct OamData sCloudSpriteOamData =
{
.y = 0,
.affineMode = 0,
- .objMode = 1,
+ .objMode = ST_OAM_OBJ_BLEND,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 3,
.paletteNum = 0,
.affineParam = 0,
};
-static const union AnimCmd gSpriteAnim_839A9E4[] =
+static const union AnimCmd sCloudSpriteAnimCmd[] =
{
ANIMCMD_FRAME(0, 16),
ANIMCMD_END,
};
-static const union AnimCmd *const gSpriteAnimTable_839A9EC[] =
+static const union AnimCmd *const sCloudSpriteAnimCmds[] =
{
- gSpriteAnim_839A9E4,
+ sCloudSpriteAnimCmd,
};
static const struct SpriteTemplate sCloudSpriteTemplate =
{
- .tileTag = 4608,
- .paletteTag = 4609,
- .oam = &gOamData_839A9DC,
- .anims = gSpriteAnimTable_839A9EC,
+ .tileTag = 0x1200,
+ .paletteTag = 0x1201,
+ .oam = &sCloudSpriteOamData,
+ .anims = sCloudSpriteAnimCmds,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AC6B4,
+ .callback = UpdateCloudSprite,
};
-//------------------------------------------------------------------------------
-// Clouds
-//------------------------------------------------------------------------------
-
void Clouds_InitVars(void)
{
gWeatherPtr->gammaTargetIndex = 0;
@@ -101,8 +110,6 @@ void Clouds_InitAll(void)
Clouds_Main();
}
-void CreateCloudSprites(void);
-
void Clouds_Main(void)
{
switch (gWeatherPtr->initStep)
@@ -125,8 +132,6 @@ void Clouds_Main(void)
}
}
-void sub_807E0A0(void);
-
bool8 Clouds_Finish(void)
{
switch (gWeatherPtr->finishStep)
@@ -138,7 +143,7 @@ bool8 Clouds_Finish(void)
case 1:
if (Weather_UpdateBlend())
{
- sub_807E0A0();
+ DestroyCloudSprites();
gWeatherPtr->finishStep++;
}
return TRUE;
@@ -146,49 +151,45 @@ bool8 Clouds_Finish(void)
return FALSE;
}
-//------------------------------------------------------------------------------
-// Weather 2
-//------------------------------------------------------------------------------
-
-void Weather2_InitVars(void)
+void Sunny_InitVars(void)
{
gWeatherPtr->gammaTargetIndex = 0;
gWeatherPtr->gammaStepDelay = 20;
}
-void Weather2_InitAll(void)
+void Sunny_InitAll(void)
{
- Weather2_InitVars();
+ Sunny_InitVars();
}
-void Weather2_Main(void)
+void Sunny_Main(void)
{
}
-bool8 Weather2_Finish(void)
+bool8 Sunny_Finish(void)
{
- return 0;
+ return FALSE;
}
-void CreateCloudSprites(void)
+static void CreateCloudSprites(void)
{
u16 i;
+ u8 spriteId;
+ struct Sprite *sprite;
if (gWeatherPtr->cloudSpritesCreated == TRUE)
return;
+
LoadSpriteSheet(&sCloudSpriteSheet);
- LoadCustomWeatherSpritePalette(gUnknown_0854C290);
- for (i = 0; i < 3; i++)
+ LoadCustomWeatherSpritePalette(gCloudsWeatherPalette);
+ for (i = 0; i < NUM_CLOUD_SPRITES; i++)
{
- u8 spriteId = CreateSprite(&sCloudSpriteTemplate, 0, 0, 0xFF);
-
+ spriteId = CreateSprite(&sCloudSpriteTemplate, 0, 0, 0xFF);
if (spriteId != MAX_SPRITES)
{
- struct Sprite *sprite;
-
gWeatherPtr->sprites.s1.cloudSprites[i] = &gSprites[spriteId];
sprite = gWeatherPtr->sprites.s1.cloudSprites[i];
- sub_8093038(gUnknown_0854FB50[i].x + 7, gUnknown_0854FB50[i].y + 7, &sprite->pos1.x, &sprite->pos1.y);
+ SetSpritePosToMapCoords(sCloudSpriteMapCoords[i].x + 7, sCloudSpriteMapCoords[i].y + 7, &sprite->pos1.x, &sprite->pos1.y);
sprite->coordOffsetEnabled = TRUE;
}
else
@@ -196,28 +197,32 @@ void CreateCloudSprites(void)
gWeatherPtr->sprites.s1.cloudSprites[i] = NULL;
}
}
+
gWeatherPtr->cloudSpritesCreated = TRUE;
}
-void sub_807E0A0(void)
+static void DestroyCloudSprites(void)
{
u16 i;
- if (gWeatherPtr->cloudSpritesCreated == FALSE)
+ if (!gWeatherPtr->cloudSpritesCreated)
return;
- for (i = 0; i < 3; i++)
+
+ for (i = 0; i < NUM_CLOUD_SPRITES; i++)
{
if (gWeatherPtr->sprites.s1.cloudSprites[i] != NULL)
DestroySprite(gWeatherPtr->sprites.s1.cloudSprites[i]);
}
+
FreeSpriteTilesByTag(0x1200);
gWeatherPtr->cloudSpritesCreated = FALSE;
}
-void sub_80AC6B4(struct Sprite *sprite)
+static void UpdateCloudSprite(struct Sprite *sprite)
{
+ // Move 1 pixel left every 2 frames.
sprite->data[0] = (sprite->data[0] + 1) & 1;
- if (sprite->data[0] != 0)
+ if (sprite->data[0])
sprite->pos1.x--;
}
@@ -225,6 +230,8 @@ void sub_80AC6B4(struct Sprite *sprite)
// Drought
//------------------------------------------------------------------------------
+static void UpdateDroughtBlend(u8);
+
void Drought_InitVars(void)
{
gWeatherPtr->initStep = 0;
@@ -276,14 +283,12 @@ void Drought_Main(void)
bool8 Drought_Finish(void)
{
- return 0;
+ return FALSE;
}
-void task50_0807B6D4(u8);
-
-void sub_80AC81C(void)
+void StartDroughtWeatherBlend(void)
{
- CreateTask(task50_0807B6D4, 0x50);
+ CreateTask(UpdateDroughtBlend, 0x50);
}
#define tState data[0]
@@ -291,7 +296,7 @@ void sub_80AC81C(void)
#define tBlendDelay data[2]
#define tWinRange data[3]
-void task50_0807B6D4(u8 taskId)
+static void UpdateDroughtBlend(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -350,14 +355,128 @@ void task50_0807B6D4(u8 taskId)
// Light Rain
//------------------------------------------------------------------------------
+static void LoadRainSpriteSheet(void);
+static bool8 CreateRainSprite(void);
+static void UpdateRainSprite(struct Sprite *sprite);
+static bool8 UpdateVisibleRainSprites(void);
+static void DestroyRainSprites(void);
+
+static const struct Coords16 sRainSpriteCoords[] =
+{
+ { 0, 0},
+ { 0, 160},
+ { 0, 64},
+ {144, 224},
+ {144, 128},
+ { 32, 32},
+ { 32, 192},
+ { 32, 96},
+ { 72, 128},
+ { 72, 32},
+ { 72, 192},
+ {216, 96},
+ {216, 0},
+ {104, 160},
+ {104, 64},
+ {104, 224},
+ {144, 0},
+ {144, 160},
+ {144, 64},
+ { 32, 224},
+ { 32, 128},
+ { 72, 32},
+ { 72, 192},
+ { 48, 96},
+};
+
+static const struct OamData sRainSpriteOamData =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = SPRITE_SHAPE(16x32),
+ .x = 0,
+ .matrixNum = 0,
+ .size = SPRITE_SIZE(16x32),
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 2,
+ .affineParam = 0,
+};
+
+static const union AnimCmd sRainSpriteFallAnimCmd[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sRainSpriteSplashAnimCmd[] =
+{
+ ANIMCMD_FRAME(8, 3),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(40, 2),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sRainSpriteHeavySplashAnimCmd[] =
+{
+ ANIMCMD_FRAME(8, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(24, 4),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const sRainSpriteAnimCmds[] =
+{
+ sRainSpriteFallAnimCmd,
+ sRainSpriteSplashAnimCmd,
+ sRainSpriteHeavySplashAnimCmd,
+};
+
+static const struct SpriteTemplate sRainSpriteTemplate =
+{
+ .tileTag = 4614,
+ .paletteTag = 0x1200,
+ .oam = &sRainSpriteOamData,
+ .anims = sRainSpriteAnimCmds,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateRainSprite,
+};
+
+// Q28.4 fixed-point format values
+static const s16 sRainSpriteMovement[][2] =
+{
+ {-0x68, 0xD0},
+ {-0xA0, 0x140},
+};
+
+// First byte is the number of frames a raindrop falls before it splashes.
+// Second byte is the maximum number of frames a raindrop can "wait" before
+// it appears and starts falling. (This is only for the initial raindrop spawn.)
+static const u16 sRainSpriteFallingDurations[][2] =
+{
+ {18, 7},
+ {12, 10},
+};
+
+static const struct SpriteSheet sRainSpriteSheet =
+{
+ .data = gWeatherRainTiles,
+ .size = sizeof(gWeatherRainTiles),
+ .tag = 0x1206,
+};
+
void LightRain_InitVars(void)
{
gWeatherPtr->initStep = 0;
gWeatherPtr->weatherGfxLoaded = FALSE;
- gWeatherPtr->unknown_6D6 = 0;
- gWeatherPtr->unknown_6DB = 8;
- gWeatherPtr->unknown_6DC = 0;
- gWeatherPtr->unknown_6D9 = 10;
+ gWeatherPtr->rainSpriteVisibleCounter = 0;
+ gWeatherPtr->rainSpriteVisibleDelay = 8;
+ gWeatherPtr->isHeavyRain = 0;
+ gWeatherPtr->targetRainSpriteCount = 10;
gWeatherPtr->gammaTargetIndex = 3;
gWeatherPtr->gammaStepDelay = 20;
SetRainStrengthFromSoundEffect(SE_T_KOAME);
@@ -366,14 +485,10 @@ void LightRain_InitVars(void)
void LightRain_InitAll(void)
{
LightRain_InitVars();
- while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ while (!gWeatherPtr->weatherGfxLoaded)
LightRain_Main();
}
-void LoadRainSpriteSheet(void);
-u8 CreateRainSprite(void);
-u8 sub_807E8E8(void);
-
void LightRain_Main(void)
{
switch (gWeatherPtr->initStep)
@@ -383,11 +498,11 @@ void LightRain_Main(void)
gWeatherPtr->initStep++;
break;
case 1:
- if (CreateRainSprite() == 0)
+ if (!CreateRainSprite())
gWeatherPtr->initStep++;
break;
case 2:
- if (sub_807E8E8() == FALSE)
+ if (!UpdateVisibleRainSprites())
{
gWeatherPtr->weatherGfxLoaded = TRUE;
gWeatherPtr->initStep++;
@@ -396,8 +511,6 @@ void LightRain_Main(void)
}
}
-void DestroyRainSprites(void);
-
bool8 LightRain_Finish(void)
{
switch (gWeatherPtr->finishStep)
@@ -412,12 +525,12 @@ bool8 LightRain_Finish(void)
}
else
{
- gWeatherPtr->unknown_6D9 = 0;
+ gWeatherPtr->targetRainSpriteCount = 0;
gWeatherPtr->finishStep++;
}
// fall through
case 1:
- if (sub_807E8E8() == FALSE)
+ if (!UpdateVisibleRainSprites())
{
DestroyRainSprites();
gWeatherPtr->finishStep++;
@@ -428,66 +541,74 @@ bool8 LightRain_Finish(void)
return FALSE;
}
-// defined below
-extern const s16 gUnknown_0839AABC[][2];
-extern const u16 gUnknown_0839AAC4[][2];
+#define tCounter data[0]
+#define tRandom data[1]
+#define tPosX data[2]
+#define tPosY data[3]
+#define tState data[4]
+#define tActive data[5]
+#define tWaiting data[6]
-void sub_807E4EC(struct Sprite *sprite)
+static void StartRainSpriteFall(struct Sprite *sprite)
{
- u32 randVal;
- u16 r6;
- s32 r4;
- s32 r0;
+ u32 rand;
+ u16 numFallingFrames;
+ int tileX;
+ int tileY;
- if (sprite->data[1] == 0)
- sprite->data[1] = 361;
- randVal = sprite->data[1] * 1103515245 + 12345;
- sprite->data[1] = ((randVal & 0x7FFF0000) >> 16) % 600;
+ if (sprite->tRandom == 0)
+ sprite->tRandom = 361;
- r6 = gUnknown_0839AAC4[gWeatherPtr->unknown_6DC][0];
+ // Standard RNG sequence.
+ rand = sprite->tRandom * 1103515245 + 12345;
+ sprite->tRandom = ((rand & 0x7FFF0000) >> 16) % 600;
- r4 = sprite->data[1] % 30;
- sprite->data[2] = r4 * 8; // useless assignment
+ numFallingFrames = sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][0];
- r0 = sprite->data[1] / 30;
- sprite->data[3] = r0 * 8; // useless assignment
+ tileX = sprite->tRandom % 30;
+ sprite->tPosX = tileX * 8; // Useless assignment, leftover from before fixed-point values were used
- sprite->data[2] = r4;
- sprite->data[2] <<= 7;
+ tileY = sprite->tRandom / 30;
+ sprite->tPosY = tileY * 8; // Useless assignment, leftover from before fixed-point values were used
- sprite->data[3] = r0;
- sprite->data[3] <<= 7;
+ sprite->tPosX = tileX;
+ sprite->tPosX <<= 7; // This is tileX * 8, using a fixed-point value with 4 decimal places
- sprite->data[2] -= gUnknown_0839AABC[gWeatherPtr->unknown_6DC][0] * r6;
- sprite->data[3] -= gUnknown_0839AABC[gWeatherPtr->unknown_6DC][1] * r6;
+ sprite->tPosY = tileY;
+ sprite->tPosY <<= 7; // This is tileX * 8, using a fixed-point value with 4 decimal places
+
+ // "Rewind" the rain sprites, from their ending position.
+ sprite->tPosX -= sRainSpriteMovement[gWeatherPtr->isHeavyRain][0] * numFallingFrames;
+ sprite->tPosY -= sRainSpriteMovement[gWeatherPtr->isHeavyRain][1] * numFallingFrames;
StartSpriteAnim(sprite, 0);
- sprite->data[4] = 0;
+ sprite->tState = 0;
sprite->coordOffsetEnabled = FALSE;
- sprite->data[0] = r6;
+ sprite->tCounter = numFallingFrames;
}
-void sub_807E5C0(struct Sprite *sprite)
+static void UpdateRainSprite(struct Sprite *sprite)
{
- if (sprite->data[4] == 0)
+ if (sprite->tState == 0)
{
- sprite->data[2] += gUnknown_0839AABC[gWeatherPtr->unknown_6DC][0];
- sprite->data[3] += gUnknown_0839AABC[gWeatherPtr->unknown_6DC][1];
- sprite->pos1.x = sprite->data[2] >> 4;
- sprite->pos1.y = sprite->data[3] >> 4;
+ // Raindrop is in its "falling" motion.
+ sprite->tPosX += sRainSpriteMovement[gWeatherPtr->isHeavyRain][0];
+ sprite->tPosY += sRainSpriteMovement[gWeatherPtr->isHeavyRain][1];
+ sprite->pos1.x = sprite->tPosX >> 4;
+ sprite->pos1.y = sprite->tPosY >> 4;
- if (sprite->data[5] != 0
+ if (sprite->tActive
&& (sprite->pos1.x >= -8 && sprite->pos1.x <= 248)
&& sprite->pos1.y >= -16 && sprite->pos1.y <= 176)
sprite->invisible = FALSE;
else
sprite->invisible = TRUE;
- sprite->data[0]--;
- if (sprite->data[0] == 0)
+ if (--sprite->tCounter == 0)
{
- StartSpriteAnim(sprite, gWeatherPtr->unknown_6DC + 1);
- sprite->data[4] = 1;
+ // Make raindrop splash on the ground
+ StartSpriteAnim(sprite, gWeatherPtr->isHeavyRain + 1);
+ sprite->tState = 1;
sprite->pos1.x -= gSpriteCoordOffsetX;
sprite->pos1.y -= gSpriteCoordOffsetY;
sprite->coordOffsetEnabled = TRUE;
@@ -495,363 +616,126 @@ void sub_807E5C0(struct Sprite *sprite)
}
else if (sprite->animEnded)
{
+ // The splashing animation ended.
sprite->invisible = TRUE;
- sub_807E4EC(sprite);
+ StartRainSpriteFall(sprite);
}
}
-void sub_807E6C4(struct Sprite *sprite)
+static void WaitRainSprite(struct Sprite *sprite)
{
- if (sprite->data[0] == 0)
+ if (sprite->tCounter == 0)
{
- sub_807E4EC(sprite);
- sprite->callback = sub_807E5C0;
+ StartRainSpriteFall(sprite);
+ sprite->callback = UpdateRainSprite;
}
else
{
- sprite->data[0]--;
+ sprite->tCounter--;
}
}
-void sub_807E6F0(struct Sprite *sprite, u16 b)
+static void InitRainSpriteMovement(struct Sprite *sprite, u16 val)
{
- u16 r8 = gUnknown_0839AAC4[gWeatherPtr->unknown_6DC][0];
- u16 r6 = b / (gUnknown_0839AAC4[gWeatherPtr->unknown_6DC][1] + r8);
- u16 r4 = b % (gUnknown_0839AAC4[gWeatherPtr->unknown_6DC][1] + r8);
+ u16 numFallingFrames = sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][0];
+ u16 numAdvanceRng = val / (sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][1] + numFallingFrames);
+ u16 frameVal = val % (sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][1] + numFallingFrames);
+
+ while (--numAdvanceRng != 0xFFFF)
+ StartRainSpriteFall(sprite);
- while (--r6 != 0xFFFF)
- sub_807E4EC(sprite);
- if (r4 < r8)
+ if (frameVal < numFallingFrames)
{
- while (--r4 != 0xFFFF)
- sub_807E5C0(sprite);
- sprite->data[6] = 0;
+ while (--frameVal != 0xFFFF)
+ UpdateRainSprite(sprite);
+
+ sprite->tWaiting = 0;
}
else
{
- sprite->data[0] = r4 - r8;
+ sprite->tCounter = frameVal - numFallingFrames;
sprite->invisible = TRUE;
- sprite->data[6] = 1;
+ sprite->tWaiting = 1;
}
}
-extern const struct SpriteSheet sRainSpriteSheet; // defined below
-
-void LoadRainSpriteSheet(void)
+static void LoadRainSpriteSheet(void)
{
LoadSpriteSheet(&sRainSpriteSheet);
}
-static const struct Coords16 sRainSpriteCoords[] =
-{
- { 0, 0},
- { 0, 160},
- { 0, 64},
- {144, 224},
- {144, 128},
- { 32, 32},
- { 32, 192},
- { 32, 96},
- { 72, 128},
- { 72, 32},
- { 72, 192},
- {216, 96},
- {216, 0},
- {104, 160},
- {104, 64},
- {104, 224},
- {144, 0},
- {144, 160},
- {144, 64},
- { 32, 224},
- { 32, 128},
- { 72, 32},
- { 72, 192},
- { 48, 96},
-};
-
-static const struct OamData gOamData_839AA68 =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 2,
- .x = 0,
- .matrixNum = 0,
- .size = 2,
- .tileNum = 0,
- .priority = 1,
- .paletteNum = 2,
- .affineParam = 0,
-};
-
-static const union AnimCmd gSpriteAnim_839AA70[] =
-{
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_JUMP(0),
-};
-
-static const union AnimCmd gSpriteAnim_839AA78[] =
-{
- ANIMCMD_FRAME(8, 3),
- ANIMCMD_FRAME(32, 2),
- ANIMCMD_FRAME(40, 2),
- ANIMCMD_END,
-};
-
-static const union AnimCmd gSpriteAnim_839AA88[] =
-{
- ANIMCMD_FRAME(8, 3),
- ANIMCMD_FRAME(16, 3),
- ANIMCMD_FRAME(24, 4),
- ANIMCMD_END,
-};
-
-static const union AnimCmd *const gSpriteAnimTable_839AA98[] =
-{
- gSpriteAnim_839AA70,
- gSpriteAnim_839AA78,
- gSpriteAnim_839AA88,
-};
-
-static const struct SpriteTemplate sRainSpriteTemplate =
+static bool8 CreateRainSprite(void)
{
- .tileTag = 4614,
- .paletteTag = 4608,
- .oam = &gOamData_839AA68,
- .anims = gSpriteAnimTable_839AA98,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_807E5C0,
-};
-
-const s16 gUnknown_0839AABC[][2] =
-{
- {-104, 208},
- {-160, 320},
-};
-
-const u16 gUnknown_0839AAC4[][2] =
-{
- {18, 7},
- {12, 10},
-};
-
-static const struct SpriteSheet sRainSpriteSheet = {gWeatherRainTiles, sizeof(gWeatherRainTiles), 0x1206};
-
-static const struct OamData gOamData_839AAD4 =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
- .x = 0,
- .matrixNum = 0,
- .size = 0,
- .tileNum = 0,
- .priority = 1,
- .paletteNum = 0,
- .affineParam = 0,
-};
-
-static const struct SpriteFrameImage gSpriteImageTable_839AADC[] =
-{
- {gWeatherSnow1Tiles, sizeof(gWeatherSnow1Tiles)},
- {gWeatherSnow2Tiles, sizeof(gWeatherSnow2Tiles)},
-};
-
-static const union AnimCmd gSpriteAnim_839AAEC[] =
-{
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_END,
-};
-
-static const union AnimCmd gSpriteAnim_839AAF4[] =
-{
- ANIMCMD_FRAME(1, 16),
- ANIMCMD_END,
-};
-
-static const union AnimCmd *const gSpriteAnimTable_839AAFC[] =
-{
- gSpriteAnim_839AAEC,
- gSpriteAnim_839AAF4,
-};
-
-void sub_807ED48(struct Sprite *);
-static const struct SpriteTemplate sSnowflakeSpriteTemplate =
-{
- .tileTag = 0xFFFF,
- .paletteTag = 4608,
- .oam = &gOamData_839AAD4,
- .anims = gSpriteAnimTable_839AAFC,
- .images = gSpriteImageTable_839AADC,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_807ED48,
-};
-
-// unused data
-static const u16 unusedData_839AB1C[] = {0, 6, 6, 12, 18, 42, 300, 300};
-
-static const struct OamData gOamData_839AB2C =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = 1,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
- .x = 0,
- .matrixNum = 0,
- .size = 3,
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
- .affineParam = 0,
-};
-
-static const union AnimCmd gSpriteAnim_839AB34[] =
-{
- ANIMCMD_FRAME(0, 16),
- ANIMCMD_END,
-};
-
-static const union AnimCmd gSpriteAnim_839AB3C[] =
-{
- ANIMCMD_FRAME(32, 16),
- ANIMCMD_END,
-};
-
-static const union AnimCmd gSpriteAnim_839AB44[] =
-{
- ANIMCMD_FRAME(64, 16),
- ANIMCMD_END,
-};
-
-static const union AnimCmd gSpriteAnim_839AB4C[] =
-{
- ANIMCMD_FRAME(96, 16),
- ANIMCMD_END,
-};
-
-static const union AnimCmd gSpriteAnim_839AB54[] =
-{
- ANIMCMD_FRAME(128, 16),
- ANIMCMD_END,
-};
-
-static const union AnimCmd gSpriteAnim_839AB5C[] =
-{
- ANIMCMD_FRAME(160, 16),
- ANIMCMD_END,
-};
-
-static const union AnimCmd *const gSpriteAnimTable_839AB64[] =
-{
- gSpriteAnim_839AB34,
- gSpriteAnim_839AB3C,
- gSpriteAnim_839AB44,
- gSpriteAnim_839AB4C,
- gSpriteAnim_839AB54,
- gSpriteAnim_839AB5C,
-};
-
-static const union AffineAnimCmd gSpriteAffineAnim_839AB7C[] =
-{
- AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
- AFFINEANIMCMD_END,
-};
-
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_839AB8C[] =
-{
- gSpriteAffineAnim_839AB7C,
-};
-
-static void Fog1SpriteCallback(struct Sprite *);
-static const struct SpriteTemplate sFog1SpriteTemplate =
-{
- .tileTag = 4609,
- .paletteTag = 4608,
- .oam = &gOamData_839AB2C,
- .anims = gSpriteAnimTable_839AB64,
- .images = NULL,
- .affineAnims = gSpriteAffineAnimTable_839AB8C,
- .callback = Fog1SpriteCallback,
-};
-
-bool8 CreateRainSprite(void)
-{
- u8 spriteNum;
+ u8 spriteIndex;
u8 spriteId;
- if (gWeatherPtr->rainSpriteCount == 24)
+ if (gWeatherPtr->rainSpriteCount == MAX_RAIN_SPRITES)
return FALSE;
- spriteNum = gWeatherPtr->rainSpriteCount;
+ spriteIndex = gWeatherPtr->rainSpriteCount;
spriteId = CreateSpriteAtEnd(&sRainSpriteTemplate,
- sRainSpriteCoords[spriteNum].x, sRainSpriteCoords[spriteNum].y, 78);
+ sRainSpriteCoords[spriteIndex].x, sRainSpriteCoords[spriteIndex].y, 78);
+
if (spriteId != MAX_SPRITES)
{
- gSprites[spriteId].data[5] = 0;
- gSprites[spriteId].data[1] = spriteNum * 145;
- while (gSprites[spriteId].data[1] >= 600)
- gSprites[spriteId].data[1] -= 600;
- sub_807E4EC(&gSprites[spriteId]);
- sub_807E6F0(&gSprites[spriteId], spriteNum * 9);
+ gSprites[spriteId].tActive = 0;
+ gSprites[spriteId].tRandom = spriteIndex * 145;
+ while (gSprites[spriteId].tRandom >= 600)
+ gSprites[spriteId].tRandom -= 600;
+
+ StartRainSpriteFall(&gSprites[spriteId]);
+ InitRainSpriteMovement(&gSprites[spriteId], spriteIndex * 9);
gSprites[spriteId].invisible = TRUE;
- gWeatherPtr->sprites.s1.rainSprites[spriteNum] = &gSprites[spriteId];
+ gWeatherPtr->sprites.s1.rainSprites[spriteIndex] = &gSprites[spriteId];
}
else
{
- gWeatherPtr->sprites.s1.rainSprites[spriteNum] = NULL;
+ gWeatherPtr->sprites.s1.rainSprites[spriteIndex] = NULL;
}
- if (++gWeatherPtr->rainSpriteCount == 24)
+ if (++gWeatherPtr->rainSpriteCount == MAX_RAIN_SPRITES)
{
u16 i;
-
- for (i = 0; i < 24; i++)
+ for (i = 0; i < MAX_RAIN_SPRITES; i++)
{
- if (gWeatherPtr->sprites.s1.rainSprites[i] != NULL)
+ if (gWeatherPtr->sprites.s1.rainSprites[i])
{
- if (gWeatherPtr->sprites.s1.rainSprites[i]->data[6] == 0)
- gWeatherPtr->sprites.s1.rainSprites[i]->callback = sub_807E5C0;
+ if (!gWeatherPtr->sprites.s1.rainSprites[i]->tWaiting)
+ gWeatherPtr->sprites.s1.rainSprites[i]->callback = UpdateRainSprite;
else
- gWeatherPtr->sprites.s1.rainSprites[i]->callback = sub_807E6C4;
+ gWeatherPtr->sprites.s1.rainSprites[i]->callback = WaitRainSprite;
}
}
+
return FALSE;
}
+
return TRUE;
}
-bool8 sub_807E8E8(void)
+static bool8 UpdateVisibleRainSprites(void)
{
- if (gWeatherPtr->unknown_6D8 == gWeatherPtr->unknown_6D9)
+ if (gWeatherPtr->curRainSpriteIndex == gWeatherPtr->targetRainSpriteCount)
return FALSE;
- if (++gWeatherPtr->unknown_6D6 > gWeatherPtr->unknown_6DB)
+ if (++gWeatherPtr->rainSpriteVisibleCounter > gWeatherPtr->rainSpriteVisibleDelay)
{
- gWeatherPtr->unknown_6D6 = 0;
- if (gWeatherPtr->unknown_6D8 < gWeatherPtr->unknown_6D9)
+ gWeatherPtr->rainSpriteVisibleCounter = 0;
+ if (gWeatherPtr->curRainSpriteIndex < gWeatherPtr->targetRainSpriteCount)
{
- gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->unknown_6D8++]->data[5] = 1;
+ gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->curRainSpriteIndex++]->tActive = 1;
}
else
{
- gWeatherPtr->unknown_6D8--;
- gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->unknown_6D8]->data[5] = 0;
- gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->unknown_6D8]->invisible = TRUE;
+ gWeatherPtr->curRainSpriteIndex--;
+ gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->curRainSpriteIndex]->tActive = 0;
+ gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->curRainSpriteIndex]->invisible = TRUE;
}
}
return TRUE;
}
-void DestroyRainSprites(void)
+static void DestroyRainSprites(void)
{
u16 i;
@@ -864,43 +748,50 @@ void DestroyRainSprites(void)
FreeSpriteTilesByTag(0x1206);
}
+#undef tCounter
+#undef tRandom
+#undef tPosX
+#undef tPosY
+#undef tState
+#undef tActive
+#undef tWaiting
+
//------------------------------------------------------------------------------
// Snow
//------------------------------------------------------------------------------
+static void UpdateSnowflakeSprite(struct Sprite *);
+static bool8 UpdateVisibleSnowflakeSprites(void);
+static bool8 CreateSnowflakeSprite(void);
+static bool8 DestroySnowflakeSprite(void);
+static void InitSnowflakeSpriteMovement(struct Sprite *);
+
void Snow_InitVars(void)
{
gWeatherPtr->initStep = 0;
gWeatherPtr->weatherGfxLoaded = FALSE;
gWeatherPtr->gammaTargetIndex = 3;
gWeatherPtr->gammaStepDelay = 20;
- gWeatherPtr->unknown_6E5 = 16;
- gWeatherPtr->unknown_6E0 = 0;
+ gWeatherPtr->targetSnowflakeSpriteCount = 16;
+ gWeatherPtr->snowflakeVisibleCounter = 0;
}
-void Snow_Main(void);
-void sub_807ED48(struct Sprite *);
-
void Snow_InitAll(void)
{
+ u16 i;
+
Snow_InitVars();
while (gWeatherPtr->weatherGfxLoaded == FALSE)
{
- u16 i;
-
Snow_Main();
for (i = 0; i < gWeatherPtr->snowflakeSpriteCount; i++)
- {
- sub_807ED48(gWeatherPtr->sprites.s1.snowflakeSprites[i]);
- }
+ UpdateSnowflakeSprite(gWeatherPtr->sprites.s1.snowflakeSprites[i]);
}
}
-u8 snowflakes_progress(void);
-
void Snow_Main(void)
{
- if (gWeatherPtr->initStep == 0 && snowflakes_progress() == FALSE)
+ if (gWeatherPtr->initStep == 0 && !UpdateVisibleSnowflakeSprites())
{
gWeatherPtr->weatherGfxLoaded = TRUE;
gWeatherPtr->initStep++;
@@ -912,143 +803,211 @@ bool8 Snow_Finish(void)
switch (gWeatherPtr->finishStep)
{
case 0:
- gWeatherPtr->unknown_6E5 = 0;
- gWeatherPtr->unknown_6E0 = 0;
+ gWeatherPtr->targetSnowflakeSpriteCount = 0;
+ gWeatherPtr->snowflakeVisibleCounter = 0;
gWeatherPtr->finishStep++;
// fall through
case 1:
- if (snowflakes_progress() == FALSE)
+ if (!UpdateVisibleSnowflakeSprites())
{
gWeatherPtr->finishStep++;
return FALSE;
}
return TRUE;
}
+
return FALSE;
}
-bool8 CreateSnowflakeSprite(void);
-bool8 RemoveSnowflakeSprite(void);
-
-bool8 snowflakes_progress(void)
+static bool8 UpdateVisibleSnowflakeSprites(void)
{
- if (gWeatherPtr->snowflakeSpriteCount == gWeatherPtr->unknown_6E5)
+ if (gWeatherPtr->snowflakeSpriteCount == gWeatherPtr->targetSnowflakeSpriteCount)
return FALSE;
- gWeatherPtr->unknown_6E0++;
- if (gWeatherPtr->unknown_6E0 > 36)
+ if (++gWeatherPtr->snowflakeVisibleCounter > 36)
{
- gWeatherPtr->unknown_6E0 = 0;
- if (gWeatherPtr->snowflakeSpriteCount < gWeatherPtr->unknown_6E5)
+ gWeatherPtr->snowflakeVisibleCounter = 0;
+ if (gWeatherPtr->snowflakeSpriteCount < gWeatherPtr->targetSnowflakeSpriteCount)
CreateSnowflakeSprite();
else
- RemoveSnowflakeSprite();
+ DestroySnowflakeSprite();
}
- return (gWeatherPtr->snowflakeSpriteCount != gWeatherPtr->unknown_6E5);
+
+ return gWeatherPtr->snowflakeSpriteCount != gWeatherPtr->targetSnowflakeSpriteCount;
}
-void sub_807EC40(struct Sprite *);
+static const struct OamData sSnowflakeSpriteOamData =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .matrixNum = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const struct SpriteFrameImage sSnowflakeSpriteImages[] =
+{
+ {gWeatherSnow1Tiles, sizeof(gWeatherSnow1Tiles)},
+ {gWeatherSnow2Tiles, sizeof(gWeatherSnow2Tiles)},
+};
-bool8 CreateSnowflakeSprite(void)
+static const union AnimCmd sSnowflakeAnimCmd0[] =
{
- u8 spriteId = CreateSpriteAtEnd(&sSnowflakeSpriteTemplate, 0, 0, 78);
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSnowflakeAnimCmd1[] =
+{
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_END,
+};
+static const union AnimCmd *const sSnowflakeAnimCmds[] =
+{
+ sSnowflakeAnimCmd0,
+ sSnowflakeAnimCmd1,
+};
+
+static const struct SpriteTemplate sSnowflakeSpriteTemplate =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1200,
+ .oam = &sSnowflakeSpriteOamData,
+ .anims = sSnowflakeAnimCmds,
+ .images = sSnowflakeSpriteImages,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateSnowflakeSprite,
+};
+
+#define tPosY data[0]
+#define tDeltaY data[1]
+#define tWaveDelta data[2]
+#define tWaveIndex data[3]
+#define tSnowflakeId data[4]
+#define tFallCounter data[5]
+#define tFallDuration data[6]
+#define tDeltaY2 data[7]
+
+static bool8 CreateSnowflakeSprite(void)
+{
+ u8 spriteId = CreateSpriteAtEnd(&sSnowflakeSpriteTemplate, 0, 0, 78);
if (spriteId == MAX_SPRITES)
return FALSE;
- gSprites[spriteId].data[4] = gWeatherPtr->snowflakeSpriteCount;
- sub_807EC40(&gSprites[spriteId]);
+
+ gSprites[spriteId].tSnowflakeId = gWeatherPtr->snowflakeSpriteCount;
+ InitSnowflakeSpriteMovement(&gSprites[spriteId]);
gSprites[spriteId].coordOffsetEnabled = TRUE;
gWeatherPtr->sprites.s1.snowflakeSprites[gWeatherPtr->snowflakeSpriteCount++] = &gSprites[spriteId];
return TRUE;
}
-bool8 RemoveSnowflakeSprite(void)
+static bool8 DestroySnowflakeSprite(void)
{
- if (gWeatherPtr->snowflakeSpriteCount != 0)
+ if (gWeatherPtr->snowflakeSpriteCount)
{
DestroySprite(gWeatherPtr->sprites.s1.snowflakeSprites[--gWeatherPtr->snowflakeSpriteCount]);
return TRUE;
}
+
return FALSE;
}
-void sub_807EC40(struct Sprite *sprite)
+static void InitSnowflakeSpriteMovement(struct Sprite *sprite)
{
- u16 r4 = ((sprite->data[4] * 5) & 7) * 30 + (Random() % 30);
- u16 r6;
+ u16 rand;
+ u16 x = ((sprite->tSnowflakeId * 5) & 7) * 30 + (Random() % 30);
sprite->pos1.y = -3 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
- sprite->pos1.x = r4 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX);
- sprite->data[0] = sprite->pos1.y * 128;
+ sprite->pos1.x = x - (gSpriteCoordOffsetX + sprite->centerToCornerVecX);
+ sprite->tPosY = sprite->pos1.y * 128;
sprite->pos2.x = 0;
- r6 = Random();
- sprite->data[1] = (r6 & 3) * 5 + 64;
- sprite->data[7] = (r6 & 3) * 5 + 64;
- StartSpriteAnim(sprite, (r6 & 1) ? 0 : 1);
- sprite->data[3] = 0;
- sprite->data[2] = ((r6 & 3) == 0) ? 2 : 1;
- sprite->data[6] = (r6 & 0x1F) + 210;
- sprite->data[5] = 0;
+ rand = Random();
+ sprite->tDeltaY = (rand & 3) * 5 + 64;
+ sprite->tDeltaY2 = sprite->tDeltaY;
+ StartSpriteAnim(sprite, (rand & 1) ? 0 : 1);
+ sprite->tWaveIndex = 0;
+ sprite->tWaveDelta = ((rand & 3) == 0) ? 2 : 1;
+ sprite->tFallDuration = (rand & 0x1F) + 210;
+ sprite->tFallCounter = 0;
}
-void sub_807ECEC(struct Sprite *sprite)
+static void WaitSnowflakeSprite(struct Sprite *sprite)
{
if (gWeatherPtr->unknown_6E2 > 18)
{
sprite->invisible = FALSE;
- sprite->callback = sub_807ED48;
- sprite->pos1.y = 0xFA - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
- sprite->data[0] = sprite->pos1.y * 128;
+ sprite->callback = UpdateSnowflakeSprite;
+ sprite->pos1.y = 250 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
+ sprite->tPosY = sprite->pos1.y * 128;
gWeatherPtr->unknown_6E2 = 0;
}
}
-void sub_807ED48(struct Sprite *sprite)
+static void UpdateSnowflakeSprite(struct Sprite *sprite)
{
- s16 r3;
- s16 r2;
+ s16 x;
+ s16 y;
- sprite->data[0] += sprite->data[1];
- sprite->pos1.y = sprite->data[0] >> 7;
- sprite->data[3] = (sprite->data[3] + sprite->data[2]) & 0xFF;
- sprite->pos2.x = gSineTable[sprite->data[3]] / 64;
+ sprite->tPosY += sprite->tDeltaY;
+ sprite->pos1.y = sprite->tPosY >> 7;
+ sprite->tWaveIndex += sprite->tWaveDelta;
+ sprite->tWaveIndex &= 0xFF;
+ sprite->pos2.x = gSineTable[sprite->tWaveIndex] / 64;
- r3 = (sprite->pos1.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX) & 0x1FF;
- if (r3 & 0x100)
- r3 |= -0x100; // hmm... what is this?
- if (r3 < -3)
+ x = (sprite->pos1.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX) & 0x1FF;
+ if (x & 0x100)
+ x |= -0x100;
+
+ if (x < -3)
sprite->pos1.x = 242 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX);
- else if (r3 > 242)
+ else if (x > 242)
sprite->pos1.x = -3 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX);
- r2 = (sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY) & 0xFF;
- if (r2 > 163 && r2 < 171)
+ y = (sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY) & 0xFF;
+ if (y > 163 && y < 171)
{
sprite->pos1.y = 250 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
- sprite->data[0] = sprite->pos1.y * 128;
- sprite->data[5] = 0;
- sprite->data[6] = 220;
+ sprite->tPosY = sprite->pos1.y * 128;
+ sprite->tFallCounter = 0;
+ sprite->tFallDuration = 220;
}
- else if (r2 > 242 && r2 < 250)
+ else if (y > 242 && y < 250)
{
sprite->pos1.y = 163;
- sprite->data[0] = sprite->pos1.y * 128;
- sprite->data[5] = 0;
- sprite->data[6] = 220;
+ sprite->tPosY = sprite->pos1.y * 128;
+ sprite->tFallCounter = 0;
+ sprite->tFallDuration = 220;
sprite->invisible = TRUE;
- sprite->callback = sub_807ECEC;
+ sprite->callback = WaitSnowflakeSprite;
}
- sprite->data[5]++;
- if (sprite->data[5] == sprite->data[6])
+ if (++sprite->tFallCounter == sprite->tFallDuration)
{
- sub_807EC40(sprite);
+ InitSnowflakeSpriteMovement(sprite);
sprite->pos1.y = 250;
sprite->invisible = TRUE;
- sprite->callback = sub_807ECEC;
+ sprite->callback = WaitSnowflakeSprite;
}
}
+#undef tPosY
+#undef tDeltaY
+#undef tWaveDelta
+#undef tWaveIndex
+#undef tSnowflakeId
+#undef tFallCounter
+#undef tFallDuration
+#undef tDeltaY2
+
//------------------------------------------------------------------------------
// Medium Rain
//------------------------------------------------------------------------------
@@ -1057,19 +1016,17 @@ void MedRain_InitVars(void)
{
gWeatherPtr->initStep = 0;
gWeatherPtr->weatherGfxLoaded = FALSE;
- gWeatherPtr->unknown_6D6 = 0;
- gWeatherPtr->unknown_6DB = 4;
- gWeatherPtr->unknown_6DC = 0;
- gWeatherPtr->unknown_6D9 = 16;
+ gWeatherPtr->rainSpriteVisibleCounter = 0;
+ gWeatherPtr->rainSpriteVisibleDelay = 4;
+ gWeatherPtr->isHeavyRain = 0;
+ gWeatherPtr->targetRainSpriteCount = 16;
gWeatherPtr->gammaTargetIndex = 3;
gWeatherPtr->gammaStepDelay = 20;
gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment
- gWeatherPtr->unknown_6ED = 0;
+ gWeatherPtr->thunderTriggered = 0;
SetRainStrengthFromSoundEffect(SE_T_AME);
}
-void Rain_Main(void);
-
void MedRain_InitAll(void)
{
MedRain_InitVars();
@@ -1081,14 +1038,17 @@ void MedRain_InitAll(void)
// Heavy Rain
//------------------------------------------------------------------------------
+static void UpdateThunderSound(void);
+static void SetThunderCounter(u16);
+
void HeavyRain_InitVars(void)
{
gWeatherPtr->initStep = 0;
gWeatherPtr->weatherGfxLoaded = FALSE;
- gWeatherPtr->unknown_6D6 = 0;
- gWeatherPtr->unknown_6DB = 4;
- gWeatherPtr->unknown_6DC = 1;
- gWeatherPtr->unknown_6D9 = 24;
+ gWeatherPtr->rainSpriteVisibleCounter = 0;
+ gWeatherPtr->rainSpriteVisibleDelay = 4;
+ gWeatherPtr->isHeavyRain = 1;
+ gWeatherPtr->targetRainSpriteCount = 24;
gWeatherPtr->gammaTargetIndex = 3;
gWeatherPtr->gammaStepDelay = 20;
gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment
@@ -1102,9 +1062,6 @@ void HeavyRain_InitAll(void)
Rain_Main();
}
-void UpdateThunderSound(void);
-void SetThunderCounter(u16);
-
void Rain_Main(void)
{
UpdateThunderSound();
@@ -1115,20 +1072,19 @@ void Rain_Main(void)
gWeatherPtr->initStep++;
break;
case 1:
- if (CreateRainSprite())
- break;
- gWeatherPtr->initStep++;
+ if (!CreateRainSprite())
+ gWeatherPtr->initStep++;
break;
case 2:
- if (sub_807E8E8())
- break;
- gWeatherPtr->weatherGfxLoaded = TRUE;
- gWeatherPtr->initStep++;
+ if (!UpdateVisibleRainSprites())
+ {
+ gWeatherPtr->weatherGfxLoaded = TRUE;
+ gWeatherPtr->initStep++;
+ }
break;
case 3:
- if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_CHANGING_WEATHER)
- break;
- gWeatherPtr->initStep = 6;
+ if (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_CHANGING_WEATHER)
+ gWeatherPtr->initStep = 6;
break;
case 4:
gWeatherPtr->unknown_6EA = 1;
@@ -1136,9 +1092,8 @@ void Rain_Main(void)
gWeatherPtr->initStep++;
// fall through
case 5:
- if (--gWeatherPtr->unknown_6E6 != 0)
- break;
- gWeatherPtr->initStep++;
+ if (--gWeatherPtr->unknown_6E6 == 0)
+ gWeatherPtr->initStep++;
break;
case 6:
gWeatherPtr->unknown_6EA = 1;
@@ -1153,57 +1108,60 @@ void Rain_Main(void)
sub_80ABC48(19);
if (gWeatherPtr->unknown_6EB == 0 && gWeatherPtr->unknown_6EC == 1)
SetThunderCounter(20);
+
gWeatherPtr->unknown_6E6 = (Random() % 3) + 6;
gWeatherPtr->initStep++;
break;
case 9:
- if (--gWeatherPtr->unknown_6E6 != 0)
- break;
- sub_80ABC48(3);
- gWeatherPtr->unknown_6EA = 1;
- if (--gWeatherPtr->unknown_6EC != 0)
- {
- gWeatherPtr->unknown_6E6 = (Random() % 16) + 60;
- gWeatherPtr->initStep = 10;
- }
- else if (gWeatherPtr->unknown_6EB == 0)
+ if (--gWeatherPtr->unknown_6E6 == 0)
{
- gWeatherPtr->initStep = 4;
- }
- else
- {
- gWeatherPtr->initStep = 11;
+ sub_80ABC48(3);
+ gWeatherPtr->unknown_6EA = 1;
+ if (--gWeatherPtr->unknown_6EC != 0)
+ {
+ gWeatherPtr->unknown_6E6 = (Random() % 16) + 60;
+ gWeatherPtr->initStep = 10;
+ }
+ else if (gWeatherPtr->unknown_6EB == 0)
+ {
+ gWeatherPtr->initStep = 4;
+ }
+ else
+ {
+ gWeatherPtr->initStep = 11;
+ }
}
break;
case 10:
- if (--gWeatherPtr->unknown_6E6 != 0)
- break;
- gWeatherPtr->initStep = 8;
+ if (--gWeatherPtr->unknown_6E6 == 0)
+ gWeatherPtr->initStep = 8;
break;
case 11:
gWeatherPtr->unknown_6E6 = (Random() % 16) + 60;
gWeatherPtr->initStep++;
break;
case 12:
- if (--gWeatherPtr->unknown_6E6 != 0)
- break;
- SetThunderCounter(100);
- sub_80ABC48(19);
- // Why use "% 16" everywhere else and "& 0xF" here. So dumb.
- gWeatherPtr->unknown_6E6 = (Random() & 0xF) + 30;
- gWeatherPtr->initStep++;
+ if (--gWeatherPtr->unknown_6E6 == 0)
+ {
+ SetThunderCounter(100);
+ sub_80ABC48(19);
+ gWeatherPtr->unknown_6E6 = (Random() & 0xF) + 30;
+ gWeatherPtr->initStep++;
+ }
break;
case 13:
- if (--gWeatherPtr->unknown_6E6 != 0)
- break;
- sub_80ABC7C(19, 3, 5);
- gWeatherPtr->initStep++;
+ if (--gWeatherPtr->unknown_6E6 == 0)
+ {
+ sub_80ABC7C(19, 3, 5);
+ gWeatherPtr->initStep++;
+ }
break;
case 14:
- if (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_IDLE)
- break;
- gWeatherPtr->unknown_6EA = 1;
- gWeatherPtr->initStep = 4;
+ if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_IDLE)
+ {
+ gWeatherPtr->unknown_6EA = 1;
+ gWeatherPtr->initStep = 4;
+ }
break;
}
}
@@ -1218,51 +1176,56 @@ bool8 Rain_Finish(void)
// fall through
case 1:
Rain_Main();
- if (gWeatherPtr->unknown_6EA != 0)
+ if (gWeatherPtr->unknown_6EA)
{
if (gWeatherPtr->nextWeather == WEATHER_RAIN_LIGHT
|| gWeatherPtr->nextWeather == WEATHER_RAIN_MED
|| gWeatherPtr->nextWeather == WEATHER_RAIN_HEAVY)
return FALSE;
- gWeatherPtr->unknown_6D9 = 0;
+
+ gWeatherPtr->targetRainSpriteCount = 0;
gWeatherPtr->finishStep++;
}
break;
case 2:
- if (sub_807E8E8())
- break;
- DestroyRainSprites();
- gWeatherPtr->unknown_6ED = 0;
- gWeatherPtr->finishStep++;
- return FALSE;
+ if (!UpdateVisibleRainSprites())
+ {
+ DestroyRainSprites();
+ gWeatherPtr->thunderTriggered = 0;
+ gWeatherPtr->finishStep++;
+ return FALSE;
+ }
+ break;
default:
return FALSE;
}
return TRUE;
}
-void SetThunderCounter(u16 max)
+static void SetThunderCounter(u16 max)
{
- if (gWeatherPtr->unknown_6ED == 0)
+ if (gWeatherPtr->thunderTriggered == 0)
{
gWeatherPtr->thunderCounter = Random() % max;
- gWeatherPtr->unknown_6ED = 1;
+ gWeatherPtr->thunderTriggered = 1;
}
}
-void UpdateThunderSound(void)
+static void UpdateThunderSound(void)
{
- if (gWeatherPtr->unknown_6ED == 1)
+ if (gWeatherPtr->thunderTriggered == 1)
{
if (gWeatherPtr->thunderCounter == 0)
{
if (IsSEPlaying())
return;
+
if (Random() & 1)
PlaySE(SE_T_KAMI);
else
PlaySE(SE_T_KAMI2);
- gWeatherPtr->unknown_6ED = 0;
+
+ gWeatherPtr->thunderTriggered = 0;
}
else
{
@@ -1275,6 +1238,95 @@ void UpdateThunderSound(void)
// Fog 1
//------------------------------------------------------------------------------
+// unused data
+static const u16 unusedData_839AB1C[] = {0, 6, 6, 12, 18, 42, 300, 300};
+
+static const struct OamData gOamData_839AB2C =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 1,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .matrixNum = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const union AnimCmd gSpriteAnim_839AB34[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_839AB3C[] =
+{
+ ANIMCMD_FRAME(32, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_839AB44[] =
+{
+ ANIMCMD_FRAME(64, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_839AB4C[] =
+{
+ ANIMCMD_FRAME(96, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_839AB54[] =
+{
+ ANIMCMD_FRAME(128, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_839AB5C[] =
+{
+ ANIMCMD_FRAME(160, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const gSpriteAnimTable_839AB64[] =
+{
+ gSpriteAnim_839AB34,
+ gSpriteAnim_839AB3C,
+ gSpriteAnim_839AB44,
+ gSpriteAnim_839AB4C,
+ gSpriteAnim_839AB54,
+ gSpriteAnim_839AB5C,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_839AB7C[] =
+{
+ AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_839AB8C[] =
+{
+ gSpriteAffineAnim_839AB7C,
+};
+
+static void Fog1SpriteCallback(struct Sprite *);
+static const struct SpriteTemplate sFog1SpriteTemplate =
+{
+ .tileTag = 0x1201,
+ .paletteTag = 0x1200,
+ .oam = &gOamData_839AB2C,
+ .anims = gSpriteAnimTable_839AB64,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_839AB8C,
+ .callback = Fog1SpriteCallback,
+};
+
void Fog1_Main(void);
static void CreateFog1Sprites(void);
static void DestroyFog1Sprites(void);
@@ -1287,8 +1339,8 @@ void Fog1_InitVars(void)
gWeatherPtr->gammaStepDelay = 20;
if (gWeatherPtr->fog1SpritesCreated == 0)
{
- gWeatherPtr->unknown_6F0 = 0;
- gWeatherPtr->unknown_6F2 = 0;
+ gWeatherPtr->fog1ScrollCounter = 0;
+ gWeatherPtr->fog1ScrollOffset = 0;
gWeatherPtr->fog1ScrollPosX = 0;
Weather_SetBlendCoeffs(0, 16);
}
@@ -1303,11 +1355,11 @@ void Fog1_InitAll(void)
void Fog1_Main(void)
{
- gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->unknown_6F2) & 0xFF;
- if (++gWeatherPtr->unknown_6F0 > 3)
+ gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->fog1ScrollOffset) & 0xFF;
+ if (++gWeatherPtr->fog1ScrollCounter > 3)
{
- gWeatherPtr->unknown_6F0 = 0;
- gWeatherPtr->unknown_6F2++;
+ gWeatherPtr->fog1ScrollCounter = 0;
+ gWeatherPtr->fog1ScrollOffset++;
}
switch (gWeatherPtr->initStep)
{
@@ -1331,12 +1383,13 @@ void Fog1_Main(void)
bool8 Fog1_Finish(void)
{
- gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->unknown_6F2) & 0xFF;
- if (++gWeatherPtr->unknown_6F0 > 3)
+ gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->fog1ScrollOffset) & 0xFF;
+ if (++gWeatherPtr->fog1ScrollCounter > 3)
{
- gWeatherPtr->unknown_6F0 = 0;
- gWeatherPtr->unknown_6F2++;
+ gWeatherPtr->fog1ScrollCounter = 0;
+ gWeatherPtr->fog1ScrollOffset++;
}
+
switch (gWeatherPtr->finishStep)
{
case 0:
@@ -1344,9 +1397,8 @@ bool8 Fog1_Finish(void)
gWeatherPtr->finishStep++;
break;
case 1:
- if (!Weather_UpdateBlend())
- break;
- gWeatherPtr->finishStep++;
+ if (Weather_UpdateBlend())
+ gWeatherPtr->finishStep++;
break;
case 2:
DestroyFog1Sprites();
@@ -1358,15 +1410,15 @@ bool8 Fog1_Finish(void)
return TRUE;
}
-#define sprColumn data[0]
+#define tSpriteColumn data[0]
static void Fog1SpriteCallback(struct Sprite *sprite)
{
sprite->pos2.y = (u8)gSpriteCoordOffsetY;
- sprite->pos1.x = gWeatherPtr->fog1ScrollPosX + 32 + sprite->sprColumn * 64;
- if (sprite->pos1.x > 0x10F)
+ sprite->pos1.x = gWeatherPtr->fog1ScrollPosX + 32 + sprite->tSpriteColumn * 64;
+ if (sprite->pos1.x > 271)
{
- sprite->pos1.x = 480 + gWeatherPtr->fog1ScrollPosX - (4 - sprite->sprColumn) * 64;
+ sprite->pos1.x = 480 + gWeatherPtr->fog1ScrollPosX - (4 - sprite->tSpriteColumn) * 64;
sprite->pos1.x &= 0x1FF;
}
}
@@ -1374,21 +1426,24 @@ static void Fog1SpriteCallback(struct Sprite *sprite)
static void CreateFog1Sprites(void)
{
u16 i;
+ u8 spriteId;
+ struct Sprite *sprite;
if (!gWeatherPtr->fog1SpritesCreated)
{
- struct SpriteSheet fog1SpriteSheet = {gWeatherFog1Tiles, sizeof(gWeatherFog1Tiles), 0x1201};
-
+ struct SpriteSheet fog1SpriteSheet = {
+ .data = gWeatherFog1Tiles,
+ .size = sizeof(gWeatherFog1Tiles),
+ .tag = 0x1201,
+ };
LoadSpriteSheet(&fog1SpriteSheet);
- for (i = 0; i < 20; i++)
+ for (i = 0; i < NUM_FOG1_SPRITES; i++)
{
- u8 spriteId = CreateSpriteAtEnd(&sFog1SpriteTemplate, 0, 0, 0xFF);
-
+ spriteId = CreateSpriteAtEnd(&sFog1SpriteTemplate, 0, 0, 0xFF);
if (spriteId != MAX_SPRITES)
{
- struct Sprite *sprite = &gSprites[spriteId];
-
- sprite->sprColumn = i % 5;
+ sprite = &gSprites[spriteId];
+ sprite->tSpriteColumn = i % 5;
sprite->pos1.x = (i % 5) * 64 + 32;
sprite->pos1.y = (i / 5) * 64 + 32;
gWeatherPtr->sprites.s2.fog1Sprites[i] = sprite;
@@ -1398,36 +1453,38 @@ static void CreateFog1Sprites(void)
gWeatherPtr->sprites.s2.fog1Sprites[i] = NULL;
}
}
+
gWeatherPtr->fog1SpritesCreated = TRUE;
}
}
-#undef sprColumn
-
static void DestroyFog1Sprites(void)
{
u16 i;
if (gWeatherPtr->fog1SpritesCreated)
{
- for (i = 0; i < 20; i++)
+ for (i = 0; i < NUM_FOG1_SPRITES; i++)
{
if (gWeatherPtr->sprites.s2.fog1Sprites[i] != NULL)
DestroySprite(gWeatherPtr->sprites.s2.fog1Sprites[i]);
}
+
FreeSpriteTilesByTag(0x1201);
gWeatherPtr->fog1SpritesCreated = 0;
}
}
+#undef tSpriteColumn
+
//------------------------------------------------------------------------------
// Volcanic ash
//------------------------------------------------------------------------------
-void Ash_Main(void);
-void LoadAshSpriteSheet(void);
-void CreateAshSprites(void);
-void DestroyAshSprites(void);
+static void LoadAshSpriteSheet(void);
+static void CreateAshSprites(void);
+static void DestroyAshSprites(void);
+static void UpdateAshSprite(struct Sprite *);
void Ash_InitVars(void)
{
@@ -1439,7 +1496,7 @@ void Ash_InitVars(void)
if (!gWeatherPtr->ashSpritesCreated)
{
Weather_SetBlendCoeffs(0, 16);
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(64, 63)); // Those aren't even valid coefficients!
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(64, 63)); // These aren't valid blend coefficients!
}
}
@@ -1452,9 +1509,10 @@ void Ash_InitAll(void)
void Ash_Main(void)
{
- gWeatherPtr->unknown_6FC = gSpriteCoordOffsetX & 0x1FF;
- while (gWeatherPtr->unknown_6FC > 0xEF)
- gWeatherPtr->unknown_6FC -= 0xF0;
+ gWeatherPtr->ashBaseSpritesX = gSpriteCoordOffsetX & 0x1FF;
+ while (gWeatherPtr->ashBaseSpritesX >= 240)
+ gWeatherPtr->ashBaseSpritesX -= 240;
+
switch (gWeatherPtr->initStep)
{
case 0:
@@ -1464,14 +1522,16 @@ void Ash_Main(void)
case 1:
if (!gWeatherPtr->ashSpritesCreated)
CreateAshSprites();
+
Weather_SetTargetBlendCoeffs(16, 0, 1);
gWeatherPtr->initStep++;
break;
case 2:
- if (!Weather_UpdateBlend())
- break;
- gWeatherPtr->weatherGfxLoaded = TRUE;
- gWeatherPtr->initStep++;
+ if (Weather_UpdateBlend())
+ {
+ gWeatherPtr->weatherGfxLoaded = TRUE;
+ gWeatherPtr->initStep++;
+ }
break;
default:
Weather_UpdateBlend();
@@ -1488,10 +1548,11 @@ bool8 Ash_Finish(void)
gWeatherPtr->finishStep++;
break;
case 1:
- if (!Weather_UpdateBlend())
- break;
- DestroyAshSprites();
- gWeatherPtr->finishStep++;
+ if (Weather_UpdateBlend())
+ {
+ DestroyAshSprites();
+ gWeatherPtr->finishStep++;
+ }
break;
case 2:
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
@@ -1503,72 +1564,78 @@ bool8 Ash_Finish(void)
return TRUE;
}
-static const struct SpriteSheet sAshSpriteSheet = {gWeatherAshTiles, sizeof(gWeatherAshTiles), 0x1202};
+static const struct SpriteSheet sAshSpriteSheet =
+{
+ .data = gWeatherAshTiles,
+ .size = sizeof(gWeatherAshTiles),
+ .tag = 0x1202,
+};
-void LoadAshSpriteSheet(void)
+static void LoadAshSpriteSheet(void)
{
LoadSpriteSheet(&sAshSpriteSheet);
}
-const struct OamData gOamData_839ABB8 =
+static const struct OamData sAshSpriteOamData =
{
.y = 0,
- .affineMode = 0,
- .objMode = 1,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
- .matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 1,
.paletteNum = 15,
- .affineParam = 0,
};
-const union AnimCmd gSpriteAnim_839ABC0[] =
+static const union AnimCmd sAshSpriteAnimCmd0[] =
{
ANIMCMD_FRAME(0, 60),
ANIMCMD_FRAME(64, 60),
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gSpriteAnimTable_839ABCC[] =
+static const union AnimCmd *const sAshSpriteAnimCmds[] =
{
- gSpriteAnim_839ABC0,
+ sAshSpriteAnimCmd0,
};
-void sub_807FAA8(struct Sprite *);
static const struct SpriteTemplate sAshSpriteTemplate =
{
.tileTag = 4610,
- .paletteTag = 4608,
- .oam = &gOamData_839ABB8,
- .anims = gSpriteAnimTable_839ABCC,
+ .paletteTag = 0x1200,
+ .oam = &sAshSpriteOamData,
+ .anims = sAshSpriteAnimCmds,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_807FAA8,
+ .callback = UpdateAshSprite,
};
-void CreateAshSprites(void)
+#define tOffsetY data[0]
+#define tCounterY data[1]
+#define tSpriteColumn data[2]
+#define tSpriteRow data[3]
+
+static void CreateAshSprites(void)
{
u8 i;
+ u8 spriteId;
+ struct Sprite *sprite;
if (!gWeatherPtr->ashSpritesCreated)
{
- for (i = 0; i < 20; i++)
+ for (i = 0; i < NUM_ASH_SPRITES; i++)
{
- u8 spriteId = CreateSpriteAtEnd(&sAshSpriteTemplate, 0, 0, 0x4E);
-
+ spriteId = CreateSpriteAtEnd(&sAshSpriteTemplate, 0, 0, 0x4E);
if (spriteId != MAX_SPRITES)
{
- struct Sprite *sprite = &gSprites[spriteId];
-
- sprite->data[1] = 0;
- sprite->data[2] = (u8)(i % 5);
- sprite->data[3] = (u8)(i / 5);
- sprite->data[0] = sprite->data[3] * 64 + 32;
+ sprite = &gSprites[spriteId];
+ sprite->tCounterY = 0;
+ sprite->tSpriteColumn = (u8)(i % 5);
+ sprite->tSpriteRow = (u8)(i / 5);
+ sprite->tOffsetY = sprite->tSpriteRow * 64 + 32;
gWeatherPtr->sprites.s2.ashSprites[i] = sprite;
}
else
@@ -1576,69 +1643,79 @@ void CreateAshSprites(void)
gWeatherPtr->sprites.s2.ashSprites[i] = NULL;
}
}
+
gWeatherPtr->ashSpritesCreated = TRUE;
}
}
-void DestroyAshSprites(void)
+static void DestroyAshSprites(void)
{
u16 i;
if (gWeatherPtr->ashSpritesCreated)
{
- for (i = 0; i < 20; i++)
+ for (i = 0; i < NUM_ASH_SPRITES; i++)
{
if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL)
DestroySprite(gWeatherPtr->sprites.s2.ashSprites[i]);
}
+
FreeSpriteTilesByTag(0x1202);
gWeatherPtr->ashSpritesCreated = FALSE;
}
}
-void sub_807FAA8(struct Sprite *sprite)
+static void UpdateAshSprite(struct Sprite *sprite)
{
- sprite->data[1]++;
- if (sprite->data[1] > 5)
+ if (++sprite->tCounterY > 5)
{
- sprite->data[1] = 0;
- sprite->data[0]++;
+ sprite->tCounterY = 0;
+ sprite->tOffsetY++;
}
- sprite->pos1.y = gSpriteCoordOffsetY + sprite->data[0];
- sprite->pos1.x = gWeatherPtr->unknown_6FC + 32 + sprite->data[2] * 64;
+
+ sprite->pos1.y = gSpriteCoordOffsetY + sprite->tOffsetY;
+ sprite->pos1.x = gWeatherPtr->ashBaseSpritesX + 32 + sprite->tSpriteColumn * 64;
if (sprite->pos1.x > 271)
{
- sprite->pos1.x = gWeatherPtr->unknown_6FC + 0x1E0 - (4 - sprite->data[2]) * 64;
+ sprite->pos1.x = gWeatherPtr->ashBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64;
sprite->pos1.x &= 0x1FF;
}
}
+#undef tOffsetY
+#undef tCounterY
+#undef tSpriteColumn
+#undef tSpriteRow
+
//------------------------------------------------------------------------------
// Fog 2
//------------------------------------------------------------------------------
+static void UpdateFog2Movement(void);
+static void CreateFog2Sprites(void);
+static void DestroyFog2Sprites(void);
+static void UpdateFog2Sprite(struct Sprite *);
+
void Fog2_InitVars(void)
{
gWeatherPtr->initStep = 0;
gWeatherPtr->weatherGfxLoaded = 0;
gWeatherPtr->gammaTargetIndex = 0;
gWeatherPtr->gammaStepDelay = 20;
- gWeatherPtr->unknown_6F0 = 0;
- gWeatherPtr->unknown_6F2 = 1;
- if (gWeatherPtr->fog2SpritesCreated == 0)
- {
- gWeatherPtr->unknown_71C = 0;
- gWeatherPtr->unknown_71E = 0;
- gWeatherPtr->unknown_720 = 0;
- gWeatherPtr->unknown_722 = 0;
- gWeatherPtr->unknown_718 = 0;
- gWeatherPtr->unknown_71A = 0;
+ gWeatherPtr->fog1ScrollCounter = 0;
+ gWeatherPtr->fog1ScrollOffset = 1;
+ if (!gWeatherPtr->fog2SpritesCreated)
+ {
+ gWeatherPtr->fog2ScrollXCounter = 0;
+ gWeatherPtr->fog2ScrollYCounter = 0;
+ gWeatherPtr->fog2XOffset = 0;
+ gWeatherPtr->fog2YOffset = 0;
+ gWeatherPtr->fog2BaseSpritesX = 0;
+ gWeatherPtr->fog2PosY = 0;
Weather_SetBlendCoeffs(0, 16);
}
}
-void Fog2_Main(void);
-
void Fog2_InitAll(void)
{
Fog2_InitVars();
@@ -1646,12 +1723,9 @@ void Fog2_InitAll(void)
Fog2_Main();
}
-void sub_807FC9C(void);
-void CreateFog2Sprites(void);
-
void Fog2_Main(void)
{
- sub_807FC9C();
+ UpdateFog2Movement();
switch (gWeatherPtr->initStep)
{
case 0:
@@ -1671,11 +1745,9 @@ void Fog2_Main(void)
}
}
-void DestroyFog2Sprites(void);
-
bool8 Fog2_Finish(void)
{
- sub_807FC9C();
+ UpdateFog2Movement();
switch (gWeatherPtr->finishStep)
{
case 0:
@@ -1697,170 +1769,185 @@ bool8 Fog2_Finish(void)
return TRUE;
}
-void sub_807FC9C(void)
+static void UpdateFog2Movement(void)
{
- if (++gWeatherPtr->unknown_71C > 2)
+ if (++gWeatherPtr->fog2ScrollXCounter > 2)
{
- gWeatherPtr->unknown_720++;
- gWeatherPtr->unknown_71C = 0;
+ gWeatherPtr->fog2XOffset++;
+ gWeatherPtr->fog2ScrollXCounter = 0;
}
- if (++gWeatherPtr->unknown_71E > 4)
+ if (++gWeatherPtr->fog2ScrollYCounter > 4)
{
- gWeatherPtr->unknown_722++;
- gWeatherPtr->unknown_71E = 0;
+ gWeatherPtr->fog2YOffset++;
+ gWeatherPtr->fog2ScrollYCounter = 0;
}
- gWeatherPtr->unknown_718 = (gSpriteCoordOffsetX - gWeatherPtr->unknown_720) & 0xFF;
- gWeatherPtr->unknown_71A = gSpriteCoordOffsetY + gWeatherPtr->unknown_722;
+ gWeatherPtr->fog2BaseSpritesX = (gSpriteCoordOffsetX - gWeatherPtr->fog2XOffset) & 0xFF;
+ gWeatherPtr->fog2PosY = gSpriteCoordOffsetY + gWeatherPtr->fog2YOffset;
}
-extern const struct SpriteTemplate sFog2SpriteTemplate; // defined below
-
-void CreateFog2Sprites(void)
+static const struct SpriteSheet gFog2SpriteSheet =
{
- u16 i;
-
- if (!gWeatherPtr->fog2SpritesCreated)
- {
- struct SpriteSheet fog2SpriteSheet = {gWeatherFog2Tiles, sizeof(gWeatherFog2Tiles), 0x1203};
-
- LoadSpriteSheet(&fog2SpriteSheet);
- for (i = 0; i < 20; i++)
- {
- u8 spriteId = CreateSpriteAtEnd(&sFog2SpriteTemplate, 0, (i / 5) * 64, 0xFF);
-
- if (spriteId != MAX_SPRITES)
- {
- struct Sprite *sprite = &gSprites[spriteId];
-
- sprite->data[0] = i % 5;
- sprite->data[1] = i / 5;
- gWeatherPtr->sprites.s2.fog2Sprites[i] = sprite;
- }
- else
- {
- gWeatherPtr->sprites.s2.fog2Sprites[i] = NULL;
- }
- }
- gWeatherPtr->fog2SpritesCreated = TRUE;
- }
-}
+ .data = gWeatherFog2Tiles,
+ .size = sizeof(gWeatherFog2Tiles),
+ .tag = 0x1203,
+};
-const struct OamData gOamData_839ABF0 =
+static const struct OamData sFog2SpriteOamData =
{
.y = 0,
- .affineMode = 0,
- .objMode = 1,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
- .matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
- .affineParam = 0,
};
-const union AnimCmd gSpriteAnim_839ABF8[] =
+static const union AnimCmd sFog2SpriteAnimCmd0[] =
{
ANIMCMD_FRAME(0, 16),
ANIMCMD_END,
};
-const union AnimCmd *const gSpriteAnimTable_839AC00[] =
+static const union AnimCmd *const sFog2SpriteAnimCmds[] =
{
- gSpriteAnim_839ABF8,
+ sFog2SpriteAnimCmd0,
};
-void Fog2SpriteCallback(struct Sprite *);
-const struct SpriteTemplate sFog2SpriteTemplate =
+static const struct SpriteTemplate sFog2SpriteTemplate =
{
- .tileTag = 4611,
- .paletteTag = 4608,
- .oam = &gOamData_839ABF0,
- .anims = gSpriteAnimTable_839AC00,
+ .tileTag = 0x1203,
+ .paletteTag = 0x1200,
+ .oam = &sFog2SpriteOamData,
+ .anims = sFog2SpriteAnimCmds,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = Fog2SpriteCallback,
+ .callback = UpdateFog2Sprite,
};
-void DestroyFog2Sprites(void)
+#define tSpriteColumn data[0]
+#define tSpriteRow data[1]
+
+static void CreateFog2Sprites(void)
+{
+ u16 i;
+ struct SpriteSheet fog2SpriteSheet;
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ if (!gWeatherPtr->fog2SpritesCreated)
+ {
+ fog2SpriteSheet = gFog2SpriteSheet;
+ LoadSpriteSheet(&fog2SpriteSheet);
+ for (i = 0; i < NUM_FOG2_SPRITES; i++)
+ {
+ spriteId = CreateSpriteAtEnd(&sFog2SpriteTemplate, 0, (i / 5) * 64, 0xFF);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->tSpriteColumn = i % 5;
+ sprite->tSpriteRow = i / 5;
+ gWeatherPtr->sprites.s2.fog2Sprites[i] = sprite;
+ }
+ else
+ {
+ gWeatherPtr->sprites.s2.fog2Sprites[i] = NULL;
+ }
+ }
+
+ gWeatherPtr->fog2SpritesCreated = TRUE;
+ }
+}
+
+static void DestroyFog2Sprites(void)
{
u16 i;
if (gWeatherPtr->fog2SpritesCreated)
{
- for (i = 0; i < 20; i++)
+ for (i = 0; i < NUM_FOG2_SPRITES; i++)
{
- if (gWeatherPtr->sprites.s2.fog2Sprites[i] != NULL)
+ if (gWeatherPtr->sprites.s2.fog2Sprites[i])
DestroySprite(gWeatherPtr->sprites.s2.fog2Sprites[i]);
}
+
FreeSpriteTilesByTag(0x1203);
gWeatherPtr->fog2SpritesCreated = FALSE;
}
}
-void Fog2SpriteCallback(struct Sprite *sprite)
+static void UpdateFog2Sprite(struct Sprite *sprite)
{
- sprite->pos2.y = gWeatherPtr->unknown_71A;
- sprite->pos1.x = gWeatherPtr->unknown_718 + 32 + sprite->data[0] * 64;
+ sprite->pos2.y = gWeatherPtr->fog2PosY;
+ sprite->pos1.x = gWeatherPtr->fog2BaseSpritesX + 32 + sprite->tSpriteColumn * 64;
if (sprite->pos1.x > 271)
{
- sprite->pos1.x = gWeatherPtr->unknown_718 + 0x1E0 - (4 - sprite->data[0]) * 64;
+ sprite->pos1.x = gWeatherPtr->fog2BaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64;
sprite->pos1.x &= 0x1FF;
}
}
+#undef tSpriteColumn
+#undef tSpriteRow
+
//------------------------------------------------------------------------------
// Sandstorm
//------------------------------------------------------------------------------
+static void UpdateSandstormWaveIndex(void);
+static void UpdateSandstormMovement(void);
+static void CreateSandstormSprites(void);
+static void CreateSwirlSandstormSprites(void);
+static void DestroySandstormSprites(void);
+static void UpdateSandstormSprite(struct Sprite *);
+static void WaitSandSwirlSpriteEntrance(struct Sprite *);
+static void UpdateSandstormSwirlSprite(struct Sprite *);
+
+#define MIN_SANDSTORM_WAVE_INDEX 0x20
+
void Sandstorm_InitVars(void)
{
gWeatherPtr->initStep = 0;
gWeatherPtr->weatherGfxLoaded = 0;
gWeatherPtr->gammaTargetIndex = 0;
gWeatherPtr->gammaStepDelay = 20;
- if (gWeatherPtr->sandstormSprites1Created == 0)
+ if (!gWeatherPtr->sandstormSpritesCreated)
{
- gWeatherPtr->unknown_704 = gWeatherPtr->unknown_708 = 0;
- gWeatherPtr->unknown_712 = 8;
- gWeatherPtr->unknown_714 = 0;
+ gWeatherPtr->sandstormXOffset = gWeatherPtr->sandstormYOffset = 0;
+ gWeatherPtr->sandstormWaveIndex = 8;
+ gWeatherPtr->sandstormWaveCounter = 0;
// Dead code. How does the compiler not optimize this out?
- if (gWeatherPtr->unknown_712 > 0x5F)
- gWeatherPtr->unknown_712 = 0x80 - gWeatherPtr->unknown_712;
+ if (gWeatherPtr->sandstormWaveIndex >= 0x80 - MIN_SANDSTORM_WAVE_INDEX)
+ gWeatherPtr->sandstormWaveIndex = 0x80 - gWeatherPtr->sandstormWaveIndex;
+
Weather_SetBlendCoeffs(0, 16);
}
}
-void Sandstorm_Main(void);
-
void Sandstorm_InitAll(void)
{
Sandstorm_InitVars();
- while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ while (!gWeatherPtr->weatherGfxLoaded)
Sandstorm_Main();
}
-void sub_808002C(void);
-void sub_8080064(void);
-void CreateSandstormSprites_1(void);
-void CreateSandstormSprites_2(void);
-
void Sandstorm_Main(void)
{
- sub_8080064();
- sub_808002C();
- if (gWeatherPtr->unknown_712 > 0x5F)
- gWeatherPtr->unknown_712 = 32;
+ UpdateSandstormMovement();
+ UpdateSandstormWaveIndex();
+ if (gWeatherPtr->sandstormWaveIndex >= 0x80 - MIN_SANDSTORM_WAVE_INDEX)
+ gWeatherPtr->sandstormWaveIndex = MIN_SANDSTORM_WAVE_INDEX;
+
switch (gWeatherPtr->initStep)
{
case 0:
- CreateSandstormSprites_1();
- CreateSandstormSprites_2();
+ CreateSandstormSprites();
+ CreateSwirlSandstormSprites();
gWeatherPtr->initStep++;
break;
case 1:
@@ -1868,20 +1955,19 @@ void Sandstorm_Main(void)
gWeatherPtr->initStep++;
break;
case 2:
- if (!Weather_UpdateBlend())
- break;
- gWeatherPtr->weatherGfxLoaded = TRUE;
- gWeatherPtr->initStep++;
+ if (Weather_UpdateBlend())
+ {
+ gWeatherPtr->weatherGfxLoaded = TRUE;
+ gWeatherPtr->initStep++;
+ }
break;
}
}
-void sub_80800E4(void);
-
bool8 Sandstorm_Finish(void)
{
- sub_8080064();
- sub_808002C();
+ UpdateSandstormMovement();
+ UpdateSandstormWaveIndex();
switch (gWeatherPtr->finishStep)
{
case 0:
@@ -1889,216 +1975,235 @@ bool8 Sandstorm_Finish(void)
gWeatherPtr->finishStep++;
break;
case 1:
- if (!Weather_UpdateBlend())
- break;
- gWeatherPtr->finishStep++;
+ if (Weather_UpdateBlend())
+ gWeatherPtr->finishStep++;
break;
case 2:
- sub_80800E4();
+ DestroySandstormSprites();
gWeatherPtr->finishStep++;
break;
default:
return FALSE;
}
+
return TRUE;
}
-void sub_808002C(void)
+static void UpdateSandstormWaveIndex(void)
{
- if (gWeatherPtr->unknown_714++ > 4)
+ if (gWeatherPtr->sandstormWaveCounter++ > 4)
{
- gWeatherPtr->unknown_712++;
- gWeatherPtr->unknown_714 = 0;
+ gWeatherPtr->sandstormWaveIndex++;
+ gWeatherPtr->sandstormWaveCounter = 0;
}
}
-void sub_8080064(void)
+static void UpdateSandstormMovement(void)
{
- gWeatherPtr->unknown_704 -= gSineTable[gWeatherPtr->unknown_712] * 4;
- gWeatherPtr->unknown_708 -= gSineTable[gWeatherPtr->unknown_712];
- gWeatherPtr->unknown_70E = (gSpriteCoordOffsetX + (gWeatherPtr->unknown_704 >> 8)) & 0xFF;
- gWeatherPtr->unknown_710 = gSpriteCoordOffsetY + (gWeatherPtr->unknown_708 >> 8);
+ gWeatherPtr->sandstormXOffset -= gSineTable[gWeatherPtr->sandstormWaveIndex] * 4;
+ gWeatherPtr->sandstormYOffset -= gSineTable[gWeatherPtr->sandstormWaveIndex];
+ gWeatherPtr->sandstormBaseSpritesX = (gSpriteCoordOffsetX + (gWeatherPtr->sandstormXOffset >> 8)) & 0xFF;
+ gWeatherPtr->sandstormPosY = gSpriteCoordOffsetY + (gWeatherPtr->sandstormYOffset >> 8);
}
-void sub_80800E4(void)
+static void DestroySandstormSprites(void)
{
u16 i;
- if (gWeatherPtr->sandstormSprites1Created)
+ if (gWeatherPtr->sandstormSpritesCreated)
{
- for (i = 0; i < 20; i++)
+ for (i = 0; i < NUM_SANDSTORM_SPRITES; i++)
{
- if (gWeatherPtr->sprites.s2.sandstormSprites1[i] != NULL)
+ if (gWeatherPtr->sprites.s2.sandstormSprites1[i])
DestroySprite(gWeatherPtr->sprites.s2.sandstormSprites1[i]);
}
- gWeatherPtr->sandstormSprites1Created = FALSE;
+
+ gWeatherPtr->sandstormSpritesCreated = FALSE;
FreeSpriteTilesByTag(0x1204);
}
- if (gWeatherPtr->sandstormSprites2Created)
+ if (gWeatherPtr->sandstormSwirlSpritesCreated)
{
- for (i = 0; i < 5; i++)
+ for (i = 0; i < NUM_SWIRL_SANDSTORM_SPRITES; i++)
{
if (gWeatherPtr->sprites.s2.sandstormSprites2[i] != NULL)
DestroySprite(gWeatherPtr->sprites.s2.sandstormSprites2[i]);
}
- gWeatherPtr->sandstormSprites2Created = FALSE;
+
+ gWeatherPtr->sandstormSwirlSpritesCreated = FALSE;
}
}
-const struct OamData gOamData_839AC1C =
+static const struct OamData sSandstormSpriteOamData =
{
.y = 0,
- .affineMode = 0,
- .objMode = 1,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
- .matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
- .affineParam = 0,
};
-const union AnimCmd gSpriteAnim_839AC24[] =
+static const union AnimCmd sSandstormSpriteAnimCmd0[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_END,
};
-const union AnimCmd gSpriteAnim_839AC2C[] =
+static const union AnimCmd sSandstormSpriteAnimCmd1[] =
{
ANIMCMD_FRAME(64, 3),
ANIMCMD_END,
};
-const union AnimCmd *const gSpriteAnimTable_839AC34[] =
+static const union AnimCmd *const sSandstormSpriteAnimCmds[] =
{
- gSpriteAnim_839AC24,
- gSpriteAnim_839AC2C,
+ sSandstormSpriteAnimCmd0,
+ sSandstormSpriteAnimCmd1,
};
-void SandstormSpriteCallback1(struct Sprite *);
-const struct SpriteTemplate sSandstormSpriteTemplate =
+static const struct SpriteTemplate sSandstormSpriteTemplate =
{
- .tileTag = 4612,
- .paletteTag = 4609,
- .oam = &gOamData_839AC1C,
- .anims = gSpriteAnimTable_839AC34,
+ .tileTag = 0x1204,
+ .paletteTag = 0x1201,
+ .oam = &sSandstormSpriteOamData,
+ .anims = sSandstormSpriteAnimCmds,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = SandstormSpriteCallback1,
+ .callback = UpdateSandstormSprite,
+};
+
+static const struct SpriteSheet sSandstormSpriteSheet =
+{
+ .data = gWeatherSandstormTiles,
+ .size = sizeof(gWeatherSandstormTiles),
+ .tag = 0x1204,
};
-static const struct SpriteSheet sSandstormSpriteSheet = {gWeatherSandstormTiles, sizeof(gWeatherSandstormTiles), 0x1204};
+// Regular sandstorm sprites
+#define tSpriteColumn data[0]
+#define tSpriteRow data[1]
+
+// Swirly sandstorm sprites
+#define tRadius data[0]
+#define tWaveIndex data[1]
+#define tRadiusCounter data[2]
+#define tEntranceDelay data[3]
-void CreateSandstormSprites_1(void)
+static void CreateSandstormSprites(void)
{
u16 i;
+ u8 spriteId;
- if (!gWeatherPtr->sandstormSprites1Created)
+ if (!gWeatherPtr->sandstormSpritesCreated)
{
LoadSpriteSheet(&sSandstormSpriteSheet);
- LoadCustomWeatherSpritePalette(gUnknown_0854C2B0);
- for (i = 0; i < 20; i++)
+ LoadCustomWeatherSpritePalette(gSandstormWeatherPalette);
+ for (i = 0; i < NUM_SANDSTORM_SPRITES; i++)
{
- u8 spriteId = CreateSpriteAtEnd(&sSandstormSpriteTemplate, 0, (i / 5) * 64, 1);
-
+ spriteId = CreateSpriteAtEnd(&sSandstormSpriteTemplate, 0, (i / 5) * 64, 1);
if (spriteId != MAX_SPRITES)
{
gWeatherPtr->sprites.s2.sandstormSprites1[i] = &gSprites[spriteId];
- gWeatherPtr->sprites.s2.sandstormSprites1[i]->data[0] = i % 5;
- gWeatherPtr->sprites.s2.sandstormSprites1[i]->data[1] = i / 5;
+ gWeatherPtr->sprites.s2.sandstormSprites1[i]->tSpriteColumn = i % 5;
+ gWeatherPtr->sprites.s2.sandstormSprites1[i]->tSpriteRow = i / 5;
}
else
{
gWeatherPtr->sprites.s2.sandstormSprites1[i] = NULL;
}
}
- gWeatherPtr->sandstormSprites1Created = TRUE;
+
+ gWeatherPtr->sandstormSpritesCreated = TRUE;
}
}
-const u16 gUnknown_0839AC5C[] = {0, 120, 80, 160, 40, 0};
+static const u16 sSwirlEntranceDelays[] = {0, 120, 80, 160, 40, 0};
-void SandstormSpriteCallback2(struct Sprite *);
-
-void CreateSandstormSprites_2(void)
+static void CreateSwirlSandstormSprites(void)
{
u16 i;
+ u8 spriteId;
- if (!gWeatherPtr->sandstormSprites2Created)
+ if (!gWeatherPtr->sandstormSwirlSpritesCreated)
{
- for (i = 0; i < 5; i++)
+ for (i = 0; i < NUM_SWIRL_SANDSTORM_SPRITES; i++)
{
- u8 spriteId = CreateSpriteAtEnd(&sSandstormSpriteTemplate, i * 48 + 24, 208, 1);
-
+ spriteId = CreateSpriteAtEnd(&sSandstormSpriteTemplate, i * 48 + 24, 208, 1);
if (spriteId != MAX_SPRITES)
{
gWeatherPtr->sprites.s2.sandstormSprites2[i] = &gSprites[spriteId];
gWeatherPtr->sprites.s2.sandstormSprites2[i]->oam.size = 2;
- gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[1] = i * 51;
- gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[0] = 8;
- gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[2] = 0;
- gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[4] = 0x6730;
- gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[3] = gUnknown_0839AC5C[i];
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->tSpriteRow = i * 51;
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->tRadius = 8;
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->tRadiusCounter = 0;
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[4] = 0x6730; // unused value
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->tEntranceDelay = sSwirlEntranceDelays[i];
StartSpriteAnim(gWeatherPtr->sprites.s2.sandstormSprites2[i], 1);
CalcCenterToCornerVec(gWeatherPtr->sprites.s2.sandstormSprites2[i], 0, 2, 0);
- gWeatherPtr->sprites.s2.sandstormSprites2[i]->callback = SandstormSpriteCallback2;
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->callback = WaitSandSwirlSpriteEntrance;
}
else
{
gWeatherPtr->sprites.s2.sandstormSprites2[i] = NULL;
}
- gWeatherPtr->sandstormSprites2Created = TRUE;
+
+ gWeatherPtr->sandstormSwirlSpritesCreated = TRUE;
}
}
}
-void SandstormSpriteCallback1(struct Sprite *sprite)
+static void UpdateSandstormSprite(struct Sprite *sprite)
{
- sprite->pos2.y = gWeatherPtr->unknown_710;
- sprite->pos1.x = gWeatherPtr->unknown_70E + 32 + sprite->data[0] * 64;
+ sprite->pos2.y = gWeatherPtr->sandstormPosY;
+ sprite->pos1.x = gWeatherPtr->sandstormBaseSpritesX + 32 + sprite->tSpriteColumn * 64;
if (sprite->pos1.x > 271)
{
- sprite->pos1.x = gWeatherPtr->unknown_70E + 0x1E0 - (4 - sprite->data[0]) * 64;
+ sprite->pos1.x = gWeatherPtr->sandstormBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64;
sprite->pos1.x &= 0x1FF;
}
}
-void SandstormSpriteCallback3(struct Sprite *);
-
-void SandstormSpriteCallback2(struct Sprite *sprite)
+static void WaitSandSwirlSpriteEntrance(struct Sprite *sprite)
{
- if (--sprite->data[3] == -1)
- sprite->callback = SandstormSpriteCallback3;
+ if (--sprite->tEntranceDelay == -1)
+ sprite->callback = UpdateSandstormSwirlSprite;
}
-void SandstormSpriteCallback3(struct Sprite *sprite)
+static void UpdateSandstormSwirlSprite(struct Sprite *sprite)
{
- u32 x;
- u32 y;
+ u32 x, y;
if (--sprite->pos1.y < -48)
{
sprite->pos1.y = 208;
- sprite->data[0] = 4;
+ sprite->tRadius = 4;
}
- x = sprite->data[0] * gSineTable[sprite->data[1]];
- y = sprite->data[0] * gSineTable[sprite->data[1] + 64];
+
+ x = sprite->tRadius * gSineTable[sprite->tWaveIndex];
+ y = sprite->tRadius * gSineTable[sprite->tWaveIndex + 0x40];
sprite->pos2.x = x >> 8;
sprite->pos2.y = y >> 8;
- sprite->data[1] = (sprite->data[1] + 10) & 0xFF;
- if (++sprite->data[2] > 8)
+ sprite->tWaveIndex = (sprite->tWaveIndex + 10) & 0xFF;
+ if (++sprite->tRadiusCounter > 8)
{
- sprite->data[2] = 0;
- sprite->data[0]++;
+ sprite->tRadiusCounter = 0;
+ sprite->tRadius++;
}
}
+#undef tSpriteColumn
+#undef tSpriteRow
+
+#undef tRadius
+#undef tWaveIndex
+#undef tRadiusCounter
+#undef tEntranceDelay
+
//------------------------------------------------------------------------------
// Shade
//------------------------------------------------------------------------------
@@ -2125,165 +2230,172 @@ bool8 Shade_Finish(void)
}
//------------------------------------------------------------------------------
-// Weather 14
+// Bubbles
//------------------------------------------------------------------------------
-const u8 gUnknown_0839AC68[] = {40, 90, 60, 90, 2, 60, 40, 30};
+static void CreateBubbleSprite(u16);
+static void DestroyBubbleSprites(void);
+static void UpdateBubbleSprite(struct Sprite *);
+
+static const u8 sBubbleStartDelays[] = {40, 90, 60, 90, 2, 60, 40, 30};
+
+static const struct SpriteSheet sWeatherBubbleSpriteSheet =
+{
+ .data = gWeatherBubbleTiles,
+ .size = sizeof(gWeatherBubbleTiles),
+ .tag = 0x1205,
+};
-const struct SpriteSheet gWeatherBubbleSpriteSheet = {gWeatherBubbleTiles, sizeof(gWeatherBubbleTiles), 0x1205};
+static const s16 sBubbleStartCoords[][2] =
+{
+ {120, 160},
+ {376, 160},
+ { 40, 140},
+ {296, 140},
+ {180, 130},
+ {436, 130},
+ { 60, 160},
+ {436, 160},
+ {220, 180},
+ {476, 180},
+ { 10, 90},
+ {266, 90},
+ {256, 160},
+};
void Bubbles_InitVars(void)
{
Fog1_InitVars();
- if (gWeatherPtr->unknown_72E == 0)
+ if (!gWeatherPtr->bubblesSpritesCreated)
{
- LoadSpriteSheet(&gWeatherBubbleSpriteSheet);
- gWeatherPtr->unknown_728 = 0;
- gWeatherPtr->unknown_726 = gUnknown_0839AC68[0];
- gWeatherPtr->unknown_72A = 0;
- gWeatherPtr->unknown_72C = 0;
+ LoadSpriteSheet(&sWeatherBubbleSpriteSheet);
+ gWeatherPtr->bubblesDelayIndex = 0;
+ gWeatherPtr->bubblesDelayCounter = sBubbleStartDelays[0];
+ gWeatherPtr->bubblesCoordsIndex = 0;
+ gWeatherPtr->bubblesSpriteCount = 0;
}
}
-void Bubbles_Main(void);
-
void Bubbles_InitAll(void)
{
Bubbles_InitVars();
- while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ while (!gWeatherPtr->weatherGfxLoaded)
Bubbles_Main();
}
-void sub_8080588(u16);
-
void Bubbles_Main(void)
{
Fog1_Main();
- if (++gWeatherPtr->unknown_726 > gUnknown_0839AC68[gWeatherPtr->unknown_728])
+ if (++gWeatherPtr->bubblesDelayCounter > sBubbleStartDelays[gWeatherPtr->bubblesDelayIndex])
{
- gWeatherPtr->unknown_726 = 0;
- if (++gWeatherPtr->unknown_728 > 7)
- gWeatherPtr->unknown_728 = 0;
- sub_8080588(gWeatherPtr->unknown_72A);
- if (++gWeatherPtr->unknown_72A > 12)
- gWeatherPtr->unknown_72A = 0;
+ gWeatherPtr->bubblesDelayCounter = 0;
+ if (++gWeatherPtr->bubblesDelayIndex > ARRAY_COUNT(sBubbleStartDelays) - 1)
+ gWeatherPtr->bubblesDelayIndex = 0;
+
+ CreateBubbleSprite(gWeatherPtr->bubblesCoordsIndex);
+ if (++gWeatherPtr->bubblesCoordsIndex > ARRAY_COUNT(sBubbleStartCoords) - 1)
+ gWeatherPtr->bubblesCoordsIndex = 0;
}
}
-void sub_8080610(void);
-
bool8 Bubbles_Finish(void)
{
if (!Fog1_Finish())
{
- sub_8080610();
+ DestroyBubbleSprites();
return FALSE;
}
+
return TRUE;
}
-const s16 gUnknown_0839AC78[][2] =
-{
- {120, 160},
- {376, 160},
- { 40, 140},
- {296, 140},
- {180, 130},
- {436, 130},
- { 60, 160},
- {436, 160},
- {220, 180},
- {476, 180},
- { 10, 90},
- {266, 90},
- {256, 160},
-};
-
-const union AnimCmd gSpriteAnim_839ACAC[] =
+static const union AnimCmd sBubbleSpriteAnimCmd0[] =
{
ANIMCMD_FRAME(0, 16),
ANIMCMD_FRAME(1, 16),
ANIMCMD_END,
};
-const union AnimCmd *const gSpriteAnimTable_839ACB8[] =
+static const union AnimCmd *const sBubbleSpriteAnimCmds[] =
{
- gSpriteAnim_839ACAC,
+ sBubbleSpriteAnimCmd0,
};
-extern const struct OamData gUnknown_08524904;
-
-void unc_0807DAB4(struct Sprite *);
-const struct SpriteTemplate gSpriteTemplate_839ACBC =
+static const struct SpriteTemplate sBubbleSpriteTemplate =
{
- .tileTag = 4613,
- .paletteTag = 4608,
+ .tileTag = 0x1205,
+ .paletteTag = 0x1200,
.oam = &gUnknown_08524904,
- .anims = gSpriteAnimTable_839ACB8,
+ .anims = sBubbleSpriteAnimCmds,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = unc_0807DAB4,
+ .callback = UpdateBubbleSprite,
};
-void sub_8080588(u16 a)
-{
- s16 x = gUnknown_0839AC78[a][0];
- s16 y = gUnknown_0839AC78[a][1] - gSpriteCoordOffsetY;
- u8 spriteId = CreateSpriteAtEnd(
- &gSpriteTemplate_839ACBC,
- x,
- y,
- 0);
+#define tScrollXCounter data[0]
+#define tScrollXDir data[1]
+#define tCounter data[2]
+static void CreateBubbleSprite(u16 coordsIndex)
+{
+ s16 x = sBubbleStartCoords[coordsIndex][0];
+ s16 y = sBubbleStartCoords[coordsIndex][1] - gSpriteCoordOffsetY;
+ u8 spriteId = CreateSpriteAtEnd(&sBubbleSpriteTemplate, x, y, 0);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].oam.priority = 1;
gSprites[spriteId].coordOffsetEnabled = TRUE;
- gSprites[spriteId].data[0] = 0;
- gSprites[spriteId].data[1] = 0;
- gSprites[spriteId].data[2] = 0;
- gWeatherPtr->unknown_72C++;
+ gSprites[spriteId].tScrollXCounter = 0;
+ gSprites[spriteId].tScrollXDir = 0;
+ gSprites[spriteId].tCounter = 0;
+ gWeatherPtr->bubblesSpriteCount++;
}
}
-void sub_8080610(void)
+static void DestroyBubbleSprites(void)
{
u16 i;
- if (gWeatherPtr->unknown_72C != 0)
+ if (gWeatherPtr->bubblesSpriteCount)
{
- for (i = 0; i < 64; i++)
+ for (i = 0; i < MAX_SPRITES; i++)
{
- if (gSprites[i].template == &gSpriteTemplate_839ACBC)
+ if (gSprites[i].template == &sBubbleSpriteTemplate)
DestroySprite(&gSprites[i]);
}
+
FreeSpriteTilesByTag(0x1205);
- gWeatherPtr->unknown_72C = 0;
+ gWeatherPtr->bubblesSpriteCount = 0;
}
}
-void unc_0807DAB4(struct Sprite *sprite)
+static void UpdateBubbleSprite(struct Sprite *sprite)
{
- ++sprite->data[0];
- if (++sprite->data[0] > 8) // double increment
+ ++sprite->tScrollXCounter;
+ if (++sprite->tScrollXCounter > 8) // double increment
{
- sprite->data[0] = 0;
- if (sprite->data[1] == 0)
+ sprite->tScrollXCounter = 0;
+ if (sprite->tScrollXDir == 0)
{
if (++sprite->pos2.x > 4)
- sprite->data[1] = 1;
+ sprite->tScrollXDir = 1;
}
else
{
if (--sprite->pos2.x <= 0)
- sprite->data[1] = 0;
+ sprite->tScrollXDir = 0;
}
}
+
sprite->pos1.y -= 3;
- if (++sprite->data[2] > 0x77)
+ if (++sprite->tCounter >= 120)
DestroySprite(sprite);
}
+#undef tScrollXCounter
+#undef tScrollXDir
+#undef tCounter
+
//------------------------------------------------------------------------------
// Unused function.
@@ -2470,3 +2582,5 @@ static void UpdateRainCounter(u8 newWeather, u8 oldWeather)
&& (newWeather == WEATHER_RAIN_LIGHT || newWeather == WEATHER_RAIN_MED))
IncrementGameStat(GAME_STAT_GOT_RAINED_ON);
}
+
+
diff --git a/src/fieldmap.c b/src/fieldmap.c
index a96b71c0f..b2b80a2df 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -52,15 +52,15 @@ struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection *
void InitMap(void)
{
InitMapLayoutData(&gMapHeader);
- sub_80E8EE0(gMapHeader.events);
+ SetOccupiedSecretBaseEntranceMetatiles(gMapHeader.events);
RunOnLoadMapScript();
}
void InitMapFromSavedGame(void)
{
InitMapLayoutData(&gMapHeader);
- sub_80E9238(0);
- sub_80E8EE0(gMapHeader.events);
+ InitSecretBaseAppearance(FALSE);
+ SetOccupiedSecretBaseEntranceMetatiles(gMapHeader.events);
LoadSavedMapView();
RunOnLoadMapScript();
UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height);
diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c
index a715608c5..be655b86a 100644
--- a/src/fldeff_cut.c
+++ b/src/fldeff_cut.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "event_obj_lock.h"
#include "event_object_movement.h"
+#include "faraway_island.h"
#include "field_camera.h"
#include "field_effect.h"
#include "field_player_avatar.h"
@@ -20,11 +21,9 @@
#include "constants/field_effects.h"
#include "constants/songs.h"
-extern bool8 IsMewPlayingHideAndSeek(void);
-
extern struct MapPosition gPlayerFacingPosition;
-extern const u8 Route103_EventScript_290705[];
+extern const u8 EventScript_FldEffCut[];
extern const u8 FarawayIsland_Interior_EventScript_267EDB[];
extern const u8 gFieldEffectPic_CutGrass[];
@@ -132,10 +131,10 @@ static const struct OamData sOamData_CutGrass =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 1,
.priority = 1,
.paletteNum = 1,
@@ -328,7 +327,7 @@ bool8 FldEff_UseCutOnGrass(void)
static void FieldCallback_CutTree(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
- ScriptContext1_SetupScript(Route103_EventScript_290705);
+ ScriptContext1_SetupScript(EventScript_FldEffCut);
}
bool8 FldEff_UseCutOnTree(void)
diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c
index d4d6075f3..39ed30260 100644
--- a/src/fldeff_misc.c
+++ b/src/fldeff_misc.c
@@ -23,7 +23,7 @@
#include "constants/songs.h"
#include "constants/vars.h"
-extern struct MapPosition gPlayerFacingPosition;
+EWRAM_DATA struct MapPosition gPlayerFacingPosition = {0};
static void sub_80F9C90(u8);
static void sub_80F9DFC(u8);
@@ -93,8 +93,8 @@ static const struct OamData gOamData_858E4D8 =
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_SQUARE,
- .size = 1,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
.priority = 2,
};
@@ -246,8 +246,8 @@ static const struct OamData gOamData_858E658 =
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 2,
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
.priority = 2,
};
@@ -488,8 +488,8 @@ static void sub_80F9DFC(u8 taskId)
static void SetCurrentSecretBase(void)
{
- sub_80E9608(&gPlayerFacingPosition, gMapHeader.events);
- sub_80E8B6C();
+ SetCurSecretBaseIdFromPosition(&gPlayerFacingPosition, gMapHeader.events);
+ TrySetCurSecretBaseIndex();
}
static void AdjustSecretPowerSpritePixelOffsets(void)
@@ -544,7 +544,7 @@ bool8 SetUpFieldMove_SecretPower(void)
{
u8 mb;
- sub_80E8BC8();
+ CheckPlayerHasSecretBase();
if (gSpecialVar_Result == 1 || GetPlayerFacingDirection() != DIR_NORTH)
return FALSE;
@@ -623,10 +623,8 @@ static void CaveEntranceSpriteCallback2(struct Sprite *sprite)
{
if (sprite->data[0] < 40)
{
- sprite->data[0]++;
-
- if (sprite->data[0] == 20)
- sub_80E8D4C();
+ if (++sprite->data[0] == 20)
+ ToggleSecretBaseEntranceMetatile();
}
else
{
@@ -681,7 +679,7 @@ bool8 FldEff_SecretPowerTree(void)
148);
if (gFieldEffectArguments[7] == 1 || gFieldEffectArguments[7] == 3)
- sub_80E8D4C();
+ ToggleSecretBaseEntranceMetatile();
return FALSE;
}
@@ -702,7 +700,7 @@ static void TreeEntranceSpriteCallback2(struct Sprite *sprite)
if (sprite->data[0] >= 40)
{
if (gFieldEffectArguments[7] == 0 || gFieldEffectArguments[7] == 2)
- sub_80E8D4C();
+ ToggleSecretBaseEntranceMetatile();
sprite->data[0] = 0;
sprite->callback = TreeEntranceSpriteCallbackEnd;
@@ -764,7 +762,7 @@ static void ShrubEntranceSpriteCallback2(struct Sprite *sprite)
sprite->data[0]++;
if (sprite->data[0] == 20)
- sub_80E8D4C();
+ ToggleSecretBaseEntranceMetatile();
}
else
{
@@ -1168,7 +1166,7 @@ void GetShieldToyTVDecorationInfo(void)
bool8 sub_80FADE4(u16 metatileId, u8 arg1)
{
- if (!CurrentMapIsSecretBase())
+ if (!CurMapIsSecretBase())
return FALSE;
if (!arg1)
diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c
index 86df8e943..18cebdf11 100644
--- a/src/fldeff_rocksmash.c
+++ b/src/fldeff_rocksmash.c
@@ -27,9 +27,6 @@ static void sub_813561C(u8 taskId);
static void sub_81356C4(void);
static void sub_8135714(void);
-// extern RAM loc
-extern struct MapPosition gPlayerFacingPosition;
-
// text
bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId)
{
@@ -143,7 +140,7 @@ bool8 SetUpFieldMove_RockSmash(void)
static void sub_81356C4(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
- ScriptContext1_SetupScript(Route111_EventScript_2907F0);
+ ScriptContext1_SetupScript(EventScript_FldEffRockSmash);
}
bool8 FldEff_UseRockSmash(void)
diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c
index c57ab8cdc..47fc7061c 100644
--- a/src/fldeff_strength.c
+++ b/src/fldeff_strength.c
@@ -30,7 +30,7 @@ bool8 SetUpFieldMove_Strength(void)
static void FldEff_UseStrength(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
- ScriptContext1_SetupScript(FieryPath_EventScript_2908FD);
+ ScriptContext1_SetupScript(EventScript_FldEffStrength);
}
bool8 sub_8145E2C(void)
diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c
index a187353ff..788310b5d 100644
--- a/src/fldeff_sweetscent.c
+++ b/src/fldeff_sweetscent.c
@@ -93,7 +93,7 @@ static void FailSweetScentEncounter(u8 taskId)
{
CpuFastSet(gPaletteDecompressionBuffer, gPlttBufferUnfaded, 0x100);
sub_80AC3E4();
- ScriptContext1_SetupScript(EventScript_290CAE);
+ ScriptContext1_SetupScript(EventScript_FailSweetScent);
DestroyTask(taskId);
}
}
diff --git a/src/frontier_util.c b/src/frontier_util.c
index bce7b926f..4dd8159cb 100644
--- a/src/frontier_util.c
+++ b/src/frontier_util.c
@@ -21,7 +21,7 @@
#include "apprentice.h"
#include "pokedex.h"
#include "recorded_battle.h"
-#include "data2.h"
+#include "data.h"
#include "record_mixing.h"
#include "strings.h"
#include "alloc.h"
diff --git a/src/ghost.c b/src/ghost.c
index 998be0caa..97b86aa76 100644
--- a/src/ghost.c
+++ b/src/ghost.c
@@ -87,7 +87,7 @@ const union AffineAnimCmd *const gUnknown_08596D54[] =
gUnknown_08596D44,
};
-const struct SpriteTemplate gUnknown_08596D58 =
+const struct SpriteTemplate gShadowBallSpriteTemplate =
{
.tileTag = ANIM_TAG_SHADOW_BALL,
.paletteTag = ANIM_TAG_SHADOW_BALL,
@@ -261,20 +261,20 @@ static void sub_81116E8(struct Sprite *sprite)
AnimTranslateLinear(sprite);
sprite->pos2.x += Sin(sprite->data[5], 10);
sprite->pos2.y += Cos(sprite->data[5], 15);
-
+
r2 = sprite->data[5];
sprite->data[5] = (sprite->data[5] + 5) & 0xFF;
r0 = sprite->data[5];
-
+
if (r2 == 0 || r2 > 196)
{
if (r0 > 0)
PlaySE(SE_W109);
}
-
+
if (sprite->data[6] == 0)
{
- sprite->invisible = TRUE;
+ sprite->invisible = TRUE;
sprite->callback = DestroyAnimSpriteAndDisableBlend;
}
else
@@ -283,18 +283,18 @@ static void sub_81116E8(struct Sprite *sprite)
static void sub_8111764(struct Sprite *sprite)
{
-
- s16 r0;
+
+ s16 r0;
if (sprite->data[6] > 0xFF)
{
if (++sprite->data[6] == 0x10d)
sprite->data[6] = 0;
return;
}
-
+
r0 = sprite->data[7];
sprite->data[7]++;
-
+
if ((r0 & 0xFF) == 0)
{
sprite->data[7] &= 0xff00;
@@ -392,16 +392,16 @@ static void sub_811196C(u8 taskId)
}
}
-// Spins a sprite towards the target, pausing in the middle.
-// Used in Shadow Ball.
+// Spins a sprite towards the target, pausing in the middle.
+// Used in Shadow Ball.
// arg 0: duration step 1 (attacker -> center)
// arg 1: duration step 2 (spin center)
// arg 2: duration step 3 (center -> target)
static void InitAnimShadowBall(struct Sprite *sprite)
{
- u16 r5, r6;
- r5 = sprite->pos1.x;
- r6 = sprite->pos1.y;
+ s16 oldPosX = sprite->pos1.x;
+ s16 oldPosY = sprite->pos1.y;
+
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
sprite->data[0] = 0;
@@ -410,8 +410,8 @@ static void InitAnimShadowBall(struct Sprite *sprite)
sprite->data[3] = gBattleAnimArgs[2];
sprite->data[4] = sprite->pos1.x << 4;
sprite->data[5] = sprite->pos1.y << 4;
- sprite->data[6] = (((s16)r5 - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1);
- sprite->data[7] = (((s16)r6 - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1);
+ sprite->data[6] = ((oldPosX - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1);
+ sprite->data[7] = ((oldPosY - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1);
sprite->callback = AnimShadowBallStep;
}
@@ -465,50 +465,57 @@ static void sub_8111B9C(struct Sprite *sprite)
sprite->callback = sub_8111BB4;
}
-static void sub_8111BB4(struct Sprite *sprite) {
-
- s8 r5 = FALSE;
+static void sub_8111BB4(struct Sprite *sprite)
+{
+ bool8 r5 = FALSE;
bool8 r6 = FALSE;
- if(sprite->animEnded)
+
+ if (sprite->animEnded)
{
- if(!(sprite->invisible))
- sprite->invisible=TRUE;
- switch(sprite->data[0])
+ if (!sprite->invisible)
+ sprite->invisible = TRUE;
+
+ switch (sprite->data[0])
{
- case 0:
- if((sprite->data[1]) != 2)
- break;
- goto loc_08111C06;
- case 1:
- if((sprite->data[1]) == 4)
- r5 = TRUE;
- break;
- default:
- r6 = TRUE;
+ default:
+ r6 = TRUE;
+ break;
+ case 0:
+ if (sprite->data[1] == 2)
+ r5 = TRUE;
+ break;
+ case 1:
+ if (sprite->data[1] == 4)
+ r5 = TRUE;
+ break;
}
- if(r5)
+
+ if (r5)
{
- loc_08111C06:
sprite->invisible ^= 1;
sprite->data[2]++;
sprite->data[1] = 0;
- if(sprite->data[2] == 5)
+ if (sprite->data[2] == 5)
{
sprite->data[2] = 0;
sprite->data[0]++;
}
}
- else if(r6)
+ else if (r6)
+ {
DestroyAnimSprite(sprite);
+ }
else
+ {
sprite->data[1]++;
+ }
}
}
void sub_8111C50(u8 taskId)
{
struct Task *task;
-
+
task = &gTasks[taskId];
task->data[0] = CloneBattlerSpriteWithBlend(1);
if (task->data[0] < 0)
@@ -523,7 +530,7 @@ void sub_8111C50(u8 taskId)
SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[2], task->data[3]));
gSprites[task->data[0]].data[0] = 80;
- if (GetBattlerSide(gBattleAnimTarget) == 0)
+ if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
{
gSprites[task->data[0]].data[1] = -144;
gSprites[task->data[0]].data[2] = 112;
@@ -573,6 +580,7 @@ static void sub_8111D78(u8 taskId)
break;
case 2:
DestroyAnimVisualTask(taskId);
+ break;
}
}
@@ -595,7 +603,7 @@ static void sub_8111E78(u8 taskId)
switch (task->data[15])
{
case 0:
- task->data[14] = AllocSpritePalette(0x2771);
+ task->data[14] = AllocSpritePalette(ANIM_TAG_BENT_SPOON);
if (task->data[14] == 0xFF || task->data[14] == 0xF)
{
DestroyAnimVisualTask(taskId);
@@ -605,7 +613,7 @@ static void sub_8111E78(u8 taskId)
task->data[0] = CloneBattlerSpriteWithBlend(1);
if (task->data[0] < 0)
{
- FreeSpritePaletteByTag(0x2771);
+ FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON);
DestroyAnimVisualTask(taskId);
}
else
@@ -698,14 +706,14 @@ static void sub_81120DC(u8 taskId)
static void sub_8112170(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- u8 position = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
+ u8 rank = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
switch (task->data[15])
{
case 0:
gScanlineEffect.state = 3;
task->data[14] = GetAnimBattlerSpriteId(1);
- if (position == 1)
+ if (rank == 1)
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON);
else
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON);
@@ -714,12 +722,12 @@ static void sub_8112170(u8 taskId)
BlendPalette(task->data[4], 16, 0, RGB(13, 0, 15));
break;
case 2:
- gSprites[task->data[14]].invisible = 1;
+ gSprites[task->data[14]].invisible = TRUE;
obj_delete_but_dont_free_vram(&gSprites[task->data[0]]);
- FreeSpritePaletteByTag(0x2771);
+ FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
- if (position == 1)
+ if (rank == 1)
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON);
else
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON);
@@ -886,7 +894,7 @@ static void sub_81125E0(u8 taskId)
}
}
}
-
+
if (task->data[10])
task->data[10]--;
else if (task->data[6])
@@ -1081,7 +1089,7 @@ static void sub_8112ACC(struct Sprite *sprite)
if (sprite->data[0] == 0)
{
SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0x10, 0));
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
sprite->data[0]++;
sprite->data[1] = 0;
sprite->data[2] = 0;
@@ -1120,7 +1128,7 @@ static void sub_8112B78(struct Sprite *sprite)
sprite->pos2.x = Sin(sprite->data[0], 12);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
sprite->pos2.x = -sprite->pos2.x;
-
+
sprite->data[0] = (sprite->data[0] + 6) & 0xFF;
sprite->data[1] += 0x100;
sprite->pos2.y = -(sprite->data[1] >> 8);
diff --git a/src/graphics.c b/src/graphics.c
index a3b9eb913..531d337a2 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -4,10 +4,10 @@ const u32 gBattleTextboxTiles[] = INCBIN_U32("graphics/battle_interface/textbox.
const u32 gBattleTextboxPalette[] = INCBIN_U32("graphics/battle_interface/textbox.gbapal.lz");
const u32 gBattleTextboxTilemap[] = INCBIN_U32("graphics/battle_interface/textbox_map.bin.lz");
-const u32 gMonStillFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/front_pics/circled_question_mark_still_front_pic.4bpp.lz");
-const u32 gMonBackPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/back_pics/circled_question_mark_back_pic.4bpp.lz");
-const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/palettes/circled_question_mark_palette.gbapal.lz");
-const u32 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/palettes/circled_question_mark_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/front.4bpp.lz");
+const u32 gMonBackPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/back.4bpp.lz");
+const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/normal.gbapal.lz");
+const u32 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/shiny.gbapal.lz");
const u32 gUnusedGfx_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.4bpp.lz"); // japanese table and bunch of stuff
const u32 gUnusedTimemap_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.bin.lz");
@@ -21,112 +21,112 @@ const u32 gSmokescreenImpactPalette[] = INCBIN_U32("graphics/battle_anims/sprite
const u32 gBlankGfxCompressed[] = INCBIN_U32("graphics/interface/blank.4bpp.lz");
// Battle anims
-const u32 gBattleAnimSpriteSheet_146[] = INCBIN_U32("graphics/battle_anims/sprites/146.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_000[] = INCBIN_U32("graphics/battle_anims/sprites/000.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_003[] = INCBIN_U32("graphics/battle_anims/sprites/003.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_004[] = INCBIN_U32("graphics/battle_anims/sprites/004.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_005[] = INCBIN_U32("graphics/battle_anims/sprites/005.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_006[] = INCBIN_U32("graphics/battle_anims/sprites/006.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Bubble[] = INCBIN_U32("graphics/battle_anims/sprites/bubble.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.4bpp.lz");
-const u32 gBattleAnimSpritePalette_115[] = INCBIN_U32("graphics/battle_anims/sprites/115.gbapal.lz");
-const u32 gBattleAnimSpritePalette_000[] = INCBIN_U32("graphics/battle_anims/sprites/000.gbapal.lz");
-const u32 gBattleAnimSpritePalette_003[] = INCBIN_U32("graphics/battle_anims/sprites/003.gbapal.lz");
-const u32 gBattleAnimSpritePalette_004[] = INCBIN_U32("graphics/battle_anims/sprites/004.gbapal.lz");
-const u32 gBattleAnimSpritePalette_005[] = INCBIN_U32("graphics/battle_anims/sprites/005.gbapal.lz");
-const u32 gBattleAnimSpritePalette_006[] = INCBIN_U32("graphics/battle_anims/sprites/006.gbapal.lz");
+const u32 gBattleAnimSpritePal_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.gbapal.lz");
+const u32 gBattleAnimSpritePal_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.gbapal.lz");
+const u32 gBattleAnimSpritePal_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.gbapal.lz");
+const u32 gBattleAnimSpritePal_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.gbapal.lz");
+const u32 gBattleAnimSpritePal_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.gbapal.lz");
+const u32 gBattleAnimSpritePal_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_161[] = INCBIN_U32("graphics/battle_anims/sprites/161.4bpp.lz");
-const u32 gBattleAnimSpritePalette_161[] = INCBIN_U32("graphics/battle_anims/sprites/161.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.4bpp.lz");
+const u32 gBattleAnimSpritePal_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_007[] = INCBIN_U32("graphics/battle_anims/sprites/007.4bpp.lz");
-const u32 gBattleAnimSpritePalette_007[] = INCBIN_U32("graphics/battle_anims/sprites/007.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.4bpp.lz");
+const u32 gBattleAnimSpritePal_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_008[] = INCBIN_U32("graphics/battle_anims/sprites/008.4bpp.lz");
-const u32 gBattleAnimSpritePalette_008[] = INCBIN_U32("graphics/battle_anims/sprites/008.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.4bpp.lz");
+const u32 gBattleAnimSpritePal_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.gbapal.lz");
-const u32 gBattleAnimSpritePalette_010[] = INCBIN_U32("graphics/battle_anims/sprites/010.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_010[] = INCBIN_U32("graphics/battle_anims/sprites/010.4bpp.lz");
+const u32 gBattleAnimSpritePal_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_009[] = INCBIN_U32("graphics/battle_anims/sprites/009.4bpp.lz");
-const u32 gBattleAnimSpritePalette_009[] = INCBIN_U32("graphics/battle_anims/sprites/009.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.4bpp.lz");
+const u32 gBattleAnimSpritePal_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_011[] = INCBIN_U32("graphics/battle_anims/sprites/011.4bpp.lz");
-const u32 gBattleAnimSpritePalette_011[] = INCBIN_U32("graphics/battle_anims/sprites/011.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.4bpp.lz");
+const u32 gBattleAnimSpritePal_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_012[] = INCBIN_U32("graphics/battle_anims/sprites/012.4bpp.lz");
-const u32 gBattleAnimSpritePalette_012[] = INCBIN_U32("graphics/battle_anims/sprites/012.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.4bpp.lz");
+const u32 gBattleAnimSpritePal_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_152[] = INCBIN_U32("graphics/battle_anims/sprites/152.4bpp.lz");
-const u32 gBattleAnimSpritePalette_152[] = INCBIN_U32("graphics/battle_anims/sprites/152.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.4bpp.lz");
+const u32 gBattleAnimSpritePal_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_013[] = INCBIN_U32("graphics/battle_anims/sprites/013.4bpp.lz");
-const u32 gBattleAnimSpritePalette_013[] = INCBIN_U32("graphics/battle_anims/sprites/013.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.4bpp.lz");
+const u32 gBattleAnimSpritePal_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_015[] = INCBIN_U32("graphics/battle_anims/sprites/015.4bpp.lz");
-const u32 gBattleAnimSpritePalette_015[] = INCBIN_U32("graphics/battle_anims/sprites/015.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.4bpp.lz");
+const u32 gBattleAnimSpritePal_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_016[] = INCBIN_U32("graphics/battle_anims/sprites/016.4bpp.lz");
-const u32 gBattleAnimSpritePalette_016[] = INCBIN_U32("graphics/battle_anims/sprites/016.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.4bpp.lz");
+const u32 gBattleAnimSpritePal_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_017[] = INCBIN_U32("graphics/battle_anims/sprites/017.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_BlackBall[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball.4bpp.lz");
const u32 gUnknownGfx_C035B8[] = INCBIN_U32("graphics/unknown/unknown_C035B8.4bpp.lz");
-const u32 gBattleAnimSpritePalette_019[] = INCBIN_U32("graphics/battle_anims/sprites/019.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_019[] = INCBIN_U32("graphics/battle_anims/sprites/019.4bpp.lz");
+const u32 gBattleAnimSpritePal_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_020[] = INCBIN_U32("graphics/battle_anims/sprites/020.4bpp.lz");
-const u32 gBattleAnimSpritePalette_020[] = INCBIN_U32("graphics/battle_anims/sprites/020.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.4bpp.lz");
+const u32 gBattleAnimSpritePal_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.gbapal.lz");
-const u32 gBattleAnimSpritePalette_023[] = INCBIN_U32("graphics/battle_anims/sprites/023.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_023[] = INCBIN_U32("graphics/battle_anims/sprites/023.4bpp.lz");
+const u32 gBattleAnimSpritePal_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.4bpp.lz");
const u32 gUnused_BattleSpritePalette_023[] = INCBIN_U32("graphics/unused/battle_anim_023.gbapal.lz");
const u32 gUnusedGfx_MusicNotes[] = INCBIN_U32("graphics/unused/music_notes.4bpp.lz");
-const u32 gBattleAnimSpritePalette_021[] = INCBIN_U32("graphics/battle_anims/sprites/021.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_021[] = INCBIN_U32("graphics/battle_anims/sprites/021.4bpp.lz");
+const u32 gBattleAnimSpritePal_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.4bpp.lz");
-const u32 gBattleAnimSpritePalette_022[] = INCBIN_U32("graphics/battle_anims/sprites/022.gbapal.lz");
+const u32 gBattleAnimSpritePal_Hit2[] = INCBIN_U32("graphics/battle_anims/sprites/hit_2.gbapal.lz");
-const u32 gBattleAnimSpritePalette_025[] = INCBIN_U32("graphics/battle_anims/sprites/025.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_025[] = INCBIN_U32("graphics/battle_anims/sprites/025.4bpp.lz");
+const u32 gBattleAnimSpritePal_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_024[] = INCBIN_U32("graphics/battle_anims/sprites/024.4bpp.lz");
-const u32 gBattleAnimSpritePalette_024[] = INCBIN_U32("graphics/battle_anims/sprites/024.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.4bpp.lz");
+const u32 gBattleAnimSpritePal_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_031[] = INCBIN_U32("graphics/battle_anims/sprites/031.4bpp.lz");
-const u32 gBattleAnimSpritePalette_031[] = INCBIN_U32("graphics/battle_anims/sprites/031.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.4bpp.lz");
+const u32 gBattleAnimSpritePal_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.gbapal.lz");
-const u32 gBattleAnimSpritePalette_032[] = INCBIN_U32("graphics/battle_anims/sprites/032.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_032[] = INCBIN_U32("graphics/battle_anims/sprites/032.4bpp.lz");
+const u32 gBattleAnimSpritePal_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_026[] = INCBIN_U32("graphics/battle_anims/sprites/026.4bpp.lz");
-const u32 gBattleAnimSpritePalette_026[] = INCBIN_U32("graphics/battle_anims/sprites/026.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.4bpp.lz");
+const u32 gBattleAnimSpritePal_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.gbapal.lz");
-const u32 gBattleAnimSpritePalette_027[] = INCBIN_U32("graphics/battle_anims/sprites/027.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_027[] = INCBIN_U32("graphics/battle_anims/sprites/027.4bpp.lz");
+const u32 gBattleAnimSpritePal_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.4bpp.lz");
-const u32 gBattleAnimSpritePalette_028[] = INCBIN_U32("graphics/battle_anims/sprites/028.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_028[] = INCBIN_U32("graphics/battle_anims/sprites/028.4bpp.lz");
+const u32 gBattleAnimSpritePal_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_029[] = INCBIN_U32("graphics/battle_anims/sprites/029.4bpp.lz");
-const u32 gBattleAnimSpritePalette_029[] = INCBIN_U32("graphics/battle_anims/sprites/029.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.4bpp.lz");
+const u32 gBattleAnimSpritePal_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_030[] = INCBIN_U32("graphics/battle_anims/sprites/030.4bpp.lz");
-const u32 gBattleAnimSpritePalette_030[] = INCBIN_U32("graphics/battle_anims/sprites/030.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.4bpp.lz");
+const u32 gBattleAnimSpritePal_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.gbapal.lz");
-const u32 gBattleAnimSpritePalette_033[] = INCBIN_U32("graphics/battle_anims/sprites/033.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_033[] = INCBIN_U32("graphics/battle_anims/sprites/033.4bpp.lz");
+const u32 gBattleAnimSpritePal_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_034[] = INCBIN_U32("graphics/battle_anims/sprites/034.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_035[] = INCBIN_U32("graphics/battle_anims/sprites/035.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_SpinningFire[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_fire.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_FirePlume[] = INCBIN_U32("graphics/battle_anims/sprites/fire_plume.4bpp.lz");
-const u32 gBattleAnimSpritePalette_036[] = INCBIN_U32("graphics/battle_anims/sprites/036.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_036[] = INCBIN_U32("graphics/battle_anims/sprites/036.4bpp.lz");
+const u32 gBattleAnimSpritePal_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_037[] = INCBIN_U32("graphics/battle_anims/sprites/037.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Lightning[] = INCBIN_U32("graphics/battle_anims/sprites/lightning.4bpp.lz");
const u32 gUnknownGfx_C06D98[] = INCBIN_U32("graphics/unknown/unknown_C06D98.4bpp.lz");
const u32 gUnknownPal_C06D98[] = INCBIN_U32("graphics/unknown/unknown_C06D98.gbapal.lz");
@@ -141,118 +141,118 @@ const u32 gOldBattleInterfacePal_5_6_7[] = INCBIN_U32("graphics/unused/obi_palpa
const u32 gOldBattleInterfaceGfx2[] = INCBIN_U32("graphics/unused/obi2.4bpp.lz");
const u32 gOldBattleInterfaceTilemap[] = INCBIN_U32("graphics/unused/old_battle_interface_tilemap.bin.lz");
-const u32 gBattleAnimSpritePalette_038[] = INCBIN_U32("graphics/battle_anims/sprites/038.gbapal.lz");
-const u32 gBattleAnimSpritePalette_039[] = INCBIN_U32("graphics/battle_anims/sprites/039.gbapal.lz");
+const u32 gBattleAnimSpritePal_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.gbapal.lz");
+const u32 gBattleAnimSpritePal_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_038[] = INCBIN_U32("graphics/battle_anims/sprites/038.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_039[] = INCBIN_U32("graphics/battle_anims/sprites/039.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_040[] = INCBIN_U32("graphics/battle_anims/sprites/040.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_041[] = INCBIN_U32("graphics/battle_anims/sprites/041.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Scratch3[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_3.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Scratch2[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_2.4bpp.lz");
const u32 gPartyMenuHpBar_Gfx[] = INCBIN_U32("graphics/interface/party_menu_hpbar.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_042[] = INCBIN_U32("graphics/battle_anims/sprites/042.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.4bpp.lz");
-const u32 gBattleAnimSpritePalette_042[] = INCBIN_U32("graphics/battle_anims/sprites/042.gbapal.lz");
+const u32 gBattleAnimSpritePal_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_043[] = INCBIN_U32("graphics/battle_anims/sprites/043.4bpp.lz");
-const u32 gBattleAnimSpritePalette_043[] = INCBIN_U32("graphics/battle_anims/sprites/043.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.4bpp.lz");
+const u32 gBattleAnimSpritePal_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.gbapal.lz");
-const u32 gBattleAnimSpritePalette_044[] = INCBIN_U32("graphics/battle_anims/sprites/044.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_044[] = INCBIN_U32("graphics/battle_anims/sprites/044.4bpp.lz");
+const u32 gBattleAnimSpritePal_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.4bpp.lz");
-const u32 gBattleAnimSpritePalette_045[] = INCBIN_U32("graphics/battle_anims/sprites/045.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_045[] = INCBIN_U32("graphics/battle_anims/sprites/045.4bpp.lz");
+const u32 gBattleAnimSpritePal_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.4bpp.lz");
const u32 gUnknown_08C08F0C[] = INCBIN_U32("graphics/battle_interface/unused_window.4bpp.lz");
const u32 gUnknown_08C093C8[] = INCBIN_U32("graphics/battle_interface/unused_window.gbapal.lz");
const u32 gUnknown_08C093F0[] = INCBIN_U32("graphics/interface/hp_numbers.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_046[] = INCBIN_U32("graphics/battle_anims/sprites/046.4bpp.lz");
-const u32 gBattleAnimSpritePalette_046[] = INCBIN_U32("graphics/battle_anims/sprites/046.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.4bpp.lz");
+const u32 gBattleAnimSpritePal_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.gbapal.lz");
-const u32 gBattleAnimSpritePalette_047[] = INCBIN_U32("graphics/battle_anims/sprites/047.gbapal.lz");
+const u32 gBattleAnimSpritePal_SapDrip2[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip_2.gbapal.lz");
const u32 gUnusedGfx_Window2[] = INCBIN_U32("graphics/battle_interface/unused_window2.4bpp.lz");
const u32 gUnusedGfx_Window2Bar[] = INCBIN_U32("graphics/battle_interface/unused_window2bar.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_048[] = INCBIN_U32("graphics/battle_anims/sprites/048.4bpp.lz");
-const u32 gBattleAnimSpritePalette_048[] = INCBIN_U32("graphics/battle_anims/sprites/048.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.4bpp.lz");
+const u32 gBattleAnimSpritePal_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.gbapal.lz");
-const u32 gBattleAnimSpritePalette_049[] = INCBIN_U32("graphics/battle_anims/sprites/049.gbapal.lz");
-const u32 gBattleAnimSpritePalette_050[] = INCBIN_U32("graphics/battle_anims/sprites/050.gbapal.lz");
+const u32 gBattleAnimSpritePal_Sparkle2[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_2.gbapal.lz");
+const u32 gBattleAnimSpritePal_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_050[] = INCBIN_U32("graphics/battle_anims/sprites/050.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_051[] = INCBIN_U32("graphics/battle_anims/sprites/051.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_052[] = INCBIN_U32("graphics/battle_anims/sprites/052.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_MonsterFoot[] = INCBIN_U32("graphics/battle_anims/sprites/monster_foot.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_HumanoidHand[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_hand.4bpp.lz");
const u32 gUnusedGfx_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.4bpp.lz");
const u32 gUnusedPal_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_054[] = INCBIN_U32("graphics/battle_anims/sprites/054.4bpp.lz");
-const u32 gBattleAnimSpritePalette_054[] = INCBIN_U32("graphics/battle_anims/sprites/054.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.4bpp.lz");
+const u32 gBattleAnimSpritePal_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_056[] = INCBIN_U32("graphics/battle_anims/sprites/056.4bpp.lz");
-const u32 gBattleAnimSpritePalette_056[] = INCBIN_U32("graphics/battle_anims/sprites/056.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.4bpp.lz");
+const u32 gBattleAnimSpritePal_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_055[] = INCBIN_U32("graphics/battle_anims/sprites/055.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_RedFist[] = INCBIN_U32("graphics/battle_anims/sprites/red_fist.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_057[] = INCBIN_U32("graphics/battle_anims/sprites/057.4bpp.lz");
-const u32 gBattleAnimSpritePalette_057[] = INCBIN_U32("graphics/battle_anims/sprites/057.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.4bpp.lz");
+const u32 gBattleAnimSpritePal_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_058[] = INCBIN_U32("graphics/battle_anims/sprites/058.4bpp.lz");
-const u32 gBattleAnimSpritePalette_058[] = INCBIN_U32("graphics/battle_anims/sprites/058.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.4bpp.lz");
+const u32 gBattleAnimSpritePal_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_059[] = INCBIN_U32("graphics/battle_anims/sprites/059.4bpp.lz");
-const u32 gBattleAnimSpritePalette_059[] = INCBIN_U32("graphics/battle_anims/sprites/059.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.4bpp.lz");
+const u32 gBattleAnimSpritePal_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_060[] = INCBIN_U32("graphics/battle_anims/sprites/060.4bpp.lz");
-const u32 gBattleAnimSpritePalette_060[] = INCBIN_U32("graphics/battle_anims/sprites/060.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.4bpp.lz");
+const u32 gBattleAnimSpritePal_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_061[] = INCBIN_U32("graphics/battle_anims/sprites/061.4bpp.lz");
-const u32 gBattleAnimSpritePalette_061[] = INCBIN_U32("graphics/battle_anims/sprites/061.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.4bpp.lz");
+const u32 gBattleAnimSpritePal_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_062[] = INCBIN_U32("graphics/battle_anims/sprites/062.4bpp.lz");
-const u32 gBattleAnimSpritePalette_062[] = INCBIN_U32("graphics/battle_anims/sprites/062.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.4bpp.lz");
+const u32 gBattleAnimSpritePal_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_063[] = INCBIN_U32("graphics/battle_anims/sprites/063.4bpp.lz");
-const u32 gBattleAnimSpritePalette_063[] = INCBIN_U32("graphics/battle_anims/sprites/063.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.4bpp.lz");
+const u32 gBattleAnimSpritePal_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.gbapal.lz");
const u32 gUnusedGfx_Metronome[] = INCBIN_U32("graphics/unused/metronome_hand_small.4bpp.lz"); // unused, was for metronome at one point
-const u32 gBattleAnimSpritePalette_091[] = INCBIN_U32("graphics/battle_anims/sprites/091.gbapal.lz");
+const u32 gBattleAnimSpritePal_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_065[] = INCBIN_U32("graphics/battle_anims/sprites/065.4bpp.lz");
-const u32 gBattleAnimSpritePalette_065[] = INCBIN_U32("graphics/battle_anims/sprites/065.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.4bpp.lz");
+const u32 gBattleAnimSpritePal_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_066[] = INCBIN_U32("graphics/battle_anims/sprites/066.4bpp.lz");
-const u32 gBattleAnimSpritePalette_066[] = INCBIN_U32("graphics/battle_anims/sprites/066.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.4bpp.lz");
+const u32 gBattleAnimSpritePal_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_070[] = INCBIN_U32("graphics/battle_anims/sprites/070.4bpp.lz");
-const u32 gBattleAnimSpritePalette_070[] = INCBIN_U32("graphics/battle_anims/sprites/070.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.4bpp.lz");
+const u32 gBattleAnimSpritePal_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_071[] = INCBIN_U32("graphics/battle_anims/sprites/071.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Sparkle4[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_4.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_072[] = INCBIN_U32("graphics/battle_anims/sprites/072.4bpp.lz");
-const u32 gBattleAnimSpritePalette_072[] = INCBIN_U32("graphics/battle_anims/sprites/072.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.4bpp.lz");
+const u32 gBattleAnimSpritePal_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_073[] = INCBIN_U32("graphics/battle_anims/sprites/073.4bpp.lz");
-const u32 gBattleAnimSpritePalette_073[] = INCBIN_U32("graphics/battle_anims/sprites/073.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.4bpp.lz");
+const u32 gBattleAnimSpritePal_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_075[] = INCBIN_U32("graphics/battle_anims/sprites/075.4bpp.lz");
-const u32 gBattleAnimSpritePalette_075[] = INCBIN_U32("graphics/battle_anims/sprites/075.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.4bpp.lz");
+const u32 gBattleAnimSpritePal_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_078[] = INCBIN_U32("graphics/battle_anims/sprites/078.4bpp.lz");
-const u32 gBattleAnimSpritePalette_078[] = INCBIN_U32("graphics/battle_anims/sprites/078.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.4bpp.lz");
+const u32 gBattleAnimSpritePal_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_079[] = INCBIN_U32("graphics/battle_anims/sprites/079.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Shock[] = INCBIN_U32("graphics/battle_anims/sprites/shock.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_080[] = INCBIN_U32("graphics/battle_anims/sprites/080.4bpp.lz");
-const u32 gBattleAnimSpritePalette_080[] = INCBIN_U32("graphics/battle_anims/sprites/080.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.4bpp.lz");
+const u32 gBattleAnimSpritePal_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_081[] = INCBIN_U32("graphics/battle_anims/sprites/081.4bpp.lz");
-const u32 gBattleAnimSpritePalette_081[] = INCBIN_U32("graphics/battle_anims/sprites/081.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.4bpp.lz");
+const u32 gBattleAnimSpritePal_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.gbapal.lz");
const u16 gUnknown_C0CA1C[] = INCBIN_U16("graphics/unknown/unknown_C0CA1C.bin");
const u16 gUnknown_C0CA40[] = INCBIN_U16("graphics/unknown/unknown_C0CA40.bin");
@@ -261,85 +261,85 @@ const u32 gUnusedGfx8bpp_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch
const u16 gUnknown_C0CAE0[] = INCBIN_U16("graphics/unknown/unknown_C0CAE0.bin");
const u32 gUnusedTilemap_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch_2.bin.lz");
-const u32 gBattleAnimSpriteSheet_082[] = INCBIN_U32("graphics/battle_anims/sprites/082.4bpp.lz");
-const u32 gBattleAnimSpritePalette_082[] = INCBIN_U32("graphics/battle_anims/sprites/082.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.4bpp.lz");
+const u32 gBattleAnimSpritePal_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.gbapal.lz");
-const u32 gBattleAnimSpritePalette_083[] = INCBIN_U32("graphics/battle_anims/sprites/083.gbapal.lz");
-const u32 gBattleAnimSpritePalette_084[] = INCBIN_U32("graphics/battle_anims/sprites/084.gbapal.lz");
-const u32 gBattleAnimSpritePalette_085[] = INCBIN_U32("graphics/battle_anims/sprites/085.gbapal.lz");
-const u32 gBattleAnimSpritePalette_086[] = INCBIN_U32("graphics/battle_anims/sprites/086.gbapal.lz");
-const u32 gBattleAnimSpritePalette_088[] = INCBIN_U32("graphics/battle_anims/sprites/088.gbapal.lz");
-const u32 gBattleAnimSpritePalette_089[] = INCBIN_U32("graphics/battle_anims/sprites/089.gbapal.lz");
-const u32 gBattleAnimSpritePalette_090[] = INCBIN_U32("graphics/battle_anims/sprites/090.gbapal.lz");
-const u32 gBattleAnimSpritePalette_092[] = INCBIN_U32("graphics/battle_anims/sprites/092.gbapal.lz");
-const u32 gBattleAnimSpritePalette_093[] = INCBIN_U32("graphics/battle_anims/sprites/093.gbapal.lz");
-const u32 gBattleAnimSpritePalette_094[] = INCBIN_U32("graphics/battle_anims/sprites/094.gbapal.lz");
+const u32 gBattleAnimSpritePal_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.gbapal.lz");
+const u32 gBattleAnimSpritePal_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.gbapal.lz");
+const u32 gBattleAnimSpritePal_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.gbapal.lz");
+const u32 gBattleAnimSpritePal_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.gbapal.lz");
+const u32 gBattleAnimSpritePal_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.gbapal.lz");
+const u32 gBattleAnimSpritePal_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.gbapal.lz");
+const u32 gBattleAnimSpritePal_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.gbapal.lz");
+const u32 gBattleAnimSpritePal_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.gbapal.lz");
+const u32 gBattleAnimSpritePal_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.gbapal.lz");
+const u32 gBattleAnimSpritePal_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.gbapal.lz");
const u32 gUnknown_D0D2B4[] = INCBIN_U32("graphics/unknown/unknown_D0D2B4.bin.lz");
-const u32 gBattleAnimSpritePalette_095[] = INCBIN_U32("graphics/battle_anims/sprites/095.gbapal.lz");
-const u32 gBattleAnimSpritePalette_096[] = INCBIN_U32("graphics/battle_anims/sprites/096.gbapal.lz");
-const u32 gBattleAnimSpritePalette_097[] = INCBIN_U32("graphics/battle_anims/sprites/097.gbapal.lz");
-const u32 gBattleAnimSpritePalette_100[] = INCBIN_U32("graphics/battle_anims/sprites/100.gbapal.lz");
-const u32 gBattleAnimSpritePalette_101[] = INCBIN_U32("graphics/battle_anims/sprites/101.gbapal.lz");
-const u32 gBattleAnimSpritePalette_103[] = INCBIN_U32("graphics/battle_anims/sprites/103.gbapal.lz");
+const u32 gBattleAnimSpritePal_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.gbapal.lz");
+const u32 gBattleAnimSpritePal_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.gbapal.lz");
+const u32 gBattleAnimSpritePal_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.gbapal.lz");
+const u32 gBattleAnimSpritePal_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.gbapal.lz");
+const u32 gBattleAnimSpritePal_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.gbapal.lz");
+const u32 gBattleAnimSpritePal_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_083[] = INCBIN_U32("graphics/battle_anims/sprites/083.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_084[] = INCBIN_U32("graphics/battle_anims/sprites/084.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_085[] = INCBIN_U32("graphics/battle_anims/sprites/085.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_086[] = INCBIN_U32("graphics/battle_anims/sprites/086.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_088[] = INCBIN_U32("graphics/battle_anims/sprites/088.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_089[] = INCBIN_U32("graphics/battle_anims/sprites/089.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_090[] = INCBIN_U32("graphics/battle_anims/sprites/090.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_091[] = INCBIN_U32("graphics/battle_anims/sprites/091.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_092[] = INCBIN_U32("graphics/battle_anims/sprites/092.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_093[] = INCBIN_U32("graphics/battle_anims/sprites/093.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_094[] = INCBIN_U32("graphics/battle_anims/sprites/094.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_095[] = INCBIN_U32("graphics/battle_anims/sprites/095.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_096[] = INCBIN_U32("graphics/battle_anims/sprites/096.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_097[] = INCBIN_U32("graphics/battle_anims/sprites/097.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_098[] = INCBIN_U32("graphics/battle_anims/sprites/098.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_100[] = INCBIN_U32("graphics/battle_anims/sprites/100.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_101[] = INCBIN_U32("graphics/battle_anims/sprites/101.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_102[] = INCBIN_U32("graphics/battle_anims/sprites/102.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_103[] = INCBIN_U32("graphics/battle_anims/sprites/103.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Web[] = INCBIN_U32("graphics/battle_anims/sprites/web.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_HatchedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/hatched_egg.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_104[] = INCBIN_U32("graphics/battle_anims/sprites/104.4bpp.lz");
-const u32 gBattleAnimSpritePalette_104[] = INCBIN_U32("graphics/battle_anims/sprites/104.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.4bpp.lz");
+const u32 gBattleAnimSpritePal_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_105[] = INCBIN_U32("graphics/battle_anims/sprites/105.4bpp.lz");
-const u32 gBattleAnimSpritePalette_105[] = INCBIN_U32("graphics/battle_anims/sprites/105.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.4bpp.lz");
+const u32 gBattleAnimSpritePal_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_106[] = INCBIN_U32("graphics/battle_anims/sprites/106.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Explosion3[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_3.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_107[] = INCBIN_U32("graphics/battle_anims/sprites/107.4bpp.lz");
-const u32 gBattleAnimSpritePalette_107[] = INCBIN_U32("graphics/battle_anims/sprites/107.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.4bpp.lz");
+const u32 gBattleAnimSpritePal_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_108[] = INCBIN_U32("graphics/battle_anims/sprites/108.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_WaterDroplet2[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet_2.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_109[] = INCBIN_U32("graphics/battle_anims/sprites/109.4bpp.lz");
-const u32 gBattleAnimSpritePalette_109[] = INCBIN_U32("graphics/battle_anims/sprites/109.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.4bpp.lz");
+const u32 gBattleAnimSpritePal_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_110[] = INCBIN_U32("graphics/battle_anims/sprites/110.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Sprout[] = INCBIN_U32("graphics/battle_anims/sprites/sprout.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_111[] = INCBIN_U32("graphics/battle_anims/sprites/111.4bpp.lz");
-const u32 gBattleAnimSpritePalette_111[] = INCBIN_U32("graphics/battle_anims/sprites/111.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.4bpp.lz");
+const u32 gBattleAnimSpritePal_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_112[] = INCBIN_U32("graphics/battle_anims/sprites/112.4bpp.lz");
-const u32 gBattleAnimSpritePalette_112[] = INCBIN_U32("graphics/battle_anims/sprites/112.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.4bpp.lz");
+const u32 gBattleAnimSpritePal_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_113[] = INCBIN_U32("graphics/battle_anims/sprites/113.4bpp.lz");
-const u32 gBattleAnimSpritePalette_113[] = INCBIN_U32("graphics/battle_anims/sprites/113.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.4bpp.lz");
+const u32 gBattleAnimSpritePal_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_114[] = INCBIN_U32("graphics/battle_anims/sprites/114.4bpp.lz");
-const u32 gBattleAnimSpritePalette_114[] = INCBIN_U32("graphics/battle_anims/sprites/114.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.4bpp.lz");
+const u32 gBattleAnimSpritePal_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.gbapal.lz");
const u32 gUnusedTilemap_BlueFrame[] = INCBIN_U32("graphics/unused/blue_frame.bin.lz"); // P1, P2, P3 and P4 tilemaps?
const u32 gUnusedTilemap_RedYellowGreenFrame[] = INCBIN_U32("graphics/unused/redyellowgreen_frame.bin.lz");
const u32 gUnusedGfx_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.4bpp.lz");
const u32 gUnusedPal_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_115[] = INCBIN_U32("graphics/battle_anims/sprites/115.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.4bpp.lz");
const u32 gUnusedGfx8bpp_WaterSplash [] = INCBIN_U32("graphics/unused/water_splash.8bpp.lz");
const u32 gUnusedTilemap_WaterSplash[] = INCBIN_U32("graphics/unused/water_splash.bin.lz");
@@ -379,63 +379,63 @@ const u8 gUnknown_D1300C[] = INCBIN_U8("graphics/unknown/unknown_D1300C.4bpp");
const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz");
const u32 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U32("graphics/battle_interface/unused_window4.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_116[] = INCBIN_U32("graphics/battle_anims/sprites/116.4bpp.lz");
-const u32 gBattleAnimSpritePalette_116[] = INCBIN_U32("graphics/battle_anims/sprites/116.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.4bpp.lz");
+const u32 gBattleAnimSpritePal_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_117[] = INCBIN_U32("graphics/battle_anims/sprites/117.4bpp.lz");
-const u32 gBattleAnimSpritePalette_117[] = INCBIN_U32("graphics/battle_anims/sprites/117.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.4bpp.lz");
+const u32 gBattleAnimSpritePal_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_118[] = INCBIN_U32("graphics/battle_anims/sprites/118.4bpp.lz");
-const u32 gBattleAnimSpritePalette_118[] = INCBIN_U32("graphics/battle_anims/sprites/118.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.4bpp.lz");
+const u32 gBattleAnimSpritePal_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_119[] = INCBIN_U32("graphics/battle_anims/sprites/119.4bpp.lz");
-const u32 gBattleAnimSpritePalette_119[] = INCBIN_U32("graphics/battle_anims/sprites/119.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.4bpp.lz");
+const u32 gBattleAnimSpritePal_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_120[] = INCBIN_U32("graphics/battle_anims/sprites/120.4bpp.lz");
-const u32 gBattleAnimSpritePalette_120[] = INCBIN_U32("graphics/battle_anims/sprites/120.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.4bpp.lz");
+const u32 gBattleAnimSpritePal_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_121[] = INCBIN_U32("graphics/battle_anims/sprites/121.4bpp.lz");
-const u32 gBattleAnimSpritePalette_121[] = INCBIN_U32("graphics/battle_anims/sprites/121.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.4bpp.lz");
+const u32 gBattleAnimSpritePal_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_122[] = INCBIN_U32("graphics/battle_anims/sprites/122.4bpp.lz");
-const u32 gBattleAnimSpritePalette_122[] = INCBIN_U32("graphics/battle_anims/sprites/122.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.4bpp.lz");
+const u32 gBattleAnimSpritePal_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_123[] = INCBIN_U32("graphics/battle_anims/sprites/123.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_PurpleDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/purple_droplet.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_124[] = INCBIN_U32("graphics/battle_anims/sprites/124.4bpp.lz");
-const u32 gBattleAnimSpritePalette_124[] = INCBIN_U32("graphics/battle_anims/sprites/124.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.4bpp.lz");
+const u32 gBattleAnimSpritePal_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_125[] = INCBIN_U32("graphics/battle_anims/sprites/125.4bpp.lz");
-const u32 gBattleAnimSpritePalette_125[] = INCBIN_U32("graphics/battle_anims/sprites/125.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.4bpp.lz");
+const u32 gBattleAnimSpritePal_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_126[] = INCBIN_U32("graphics/battle_anims/sprites/126.4bpp.lz");
-const u32 gBattleAnimSpritePalette_126[] = INCBIN_U32("graphics/battle_anims/sprites/126.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.4bpp.lz");
+const u32 gBattleAnimSpritePal_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_127[] = INCBIN_U32("graphics/battle_anims/sprites/127.4bpp.lz");
-const u32 gBattleAnimSpritePalette_127[] = INCBIN_U32("graphics/battle_anims/sprites/127.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.4bpp.lz");
+const u32 gBattleAnimSpritePal_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_128[] = INCBIN_U32("graphics/battle_anims/sprites/128.4bpp.lz");
-const u32 gBattleAnimSpritePalette_128[] = INCBIN_U32("graphics/battle_anims/sprites/128.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.4bpp.lz");
+const u32 gBattleAnimSpritePal_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_129[] = INCBIN_U32("graphics/battle_anims/sprites/129.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Whirlwind2[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_2.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_130[] = INCBIN_U32("graphics/battle_anims/sprites/130.4bpp.lz");
-const u32 gBattleAnimSpritePalette_130[] = INCBIN_U32("graphics/battle_anims/sprites/130.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.4bpp.lz");
+const u32 gBattleAnimSpritePal_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_131[] = INCBIN_U32("graphics/battle_anims/sprites/131.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Explosion5[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_5.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_132[] = INCBIN_U32("graphics/battle_anims/sprites/132.4bpp.lz");
-const u32 gBattleAnimSpritePalette_132[] = INCBIN_U32("graphics/battle_anims/sprites/132.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.4bpp.lz");
+const u32 gBattleAnimSpritePal_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_133[] = INCBIN_U32("graphics/battle_anims/sprites/133.4bpp.lz");
-const u32 gBattleAnimSpritePalette_133[] = INCBIN_U32("graphics/battle_anims/sprites/133.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.4bpp.lz");
+const u32 gBattleAnimSpritePal_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_134[] = INCBIN_U32("graphics/battle_anims/sprites/134.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Smoke2[] = INCBIN_U32("graphics/battle_anims/sprites/smoke_2.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_076[] = INCBIN_U32("graphics/battle_anims/sprites/076.4bpp.lz");
-const u32 gBattleAnimSpritePalette_076[] = INCBIN_U32("graphics/battle_anims/sprites/076.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.4bpp.lz");
+const u32 gBattleAnimSpritePal_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_077[] = INCBIN_U32("graphics/battle_anims/sprites/077.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_BlueFlames2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames_2.4bpp.lz");
// Contest
@@ -479,118 +479,118 @@ const u32 gUnknown_08C1A12C[] = INCBIN_U32("graphics/contest/misc_2_tilemap_3.bi
const u32 gUnknown_08C1A2B4[] = INCBIN_U32("graphics/contest/misc_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_135[] = INCBIN_U32("graphics/battle_anims/sprites/135.4bpp.lz");
-const u32 gBattleAnimSpritePalette_135[] = INCBIN_U32("graphics/battle_anims/sprites/135.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.4bpp.lz");
+const u32 gBattleAnimSpritePal_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_Particles[] = INCBIN_U32("graphics/battle_anims/sprites/particles.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Particles[] = INCBIN_U32("graphics/battle_anims/sprites/particles.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_136[] = INCBIN_U32("graphics/battle_anims/sprites/136.4bpp.lz");
-const u32 gBattleAnimSpritePalette_136[] = INCBIN_U32("graphics/battle_anims/sprites/136.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.4bpp.lz");
+const u32 gBattleAnimSpritePal_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_137[] = INCBIN_U32("graphics/battle_anims/sprites/137.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Scratch[] = INCBIN_U32("graphics/battle_anims/sprites/scratch.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_139[] = INCBIN_U32("graphics/battle_anims/sprites/139.4bpp.lz");
-const u32 gBattleAnimSpritePalette_139[] = INCBIN_U32("graphics/battle_anims/sprites/139.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.4bpp.lz");
+const u32 gBattleAnimSpritePal_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_145[] = INCBIN_U32("graphics/battle_anims/sprites/145.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Clamp[] = INCBIN_U32("graphics/battle_anims/sprites/clamp.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_138[] = INCBIN_U32("graphics/battle_anims/sprites/138.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Cut[] = INCBIN_U32("graphics/battle_anims/sprites/cut.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_140[] = INCBIN_U32("graphics/battle_anims/sprites/140.4bpp.lz");
-const u32 gBattleAnimSpritePalette_140[] = INCBIN_U32("graphics/battle_anims/sprites/140.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.4bpp.lz");
+const u32 gBattleAnimSpritePal_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_141[] = INCBIN_U32("graphics/battle_anims/sprites/141.4bpp.lz");
-const u32 gBattleAnimSpritePalette_141[] = INCBIN_U32("graphics/battle_anims/sprites/141.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.4bpp.lz");
+const u32 gBattleAnimSpritePal_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_142[] = INCBIN_U32("graphics/battle_anims/sprites/142.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_IceSpikes[] = INCBIN_U32("graphics/battle_anims/sprites/ice_spikes.4bpp.lz");
const u32 gUnusedGfx_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.4bpp.lz");
const u32 gUnusedPal_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_147[] = INCBIN_U32("graphics/battle_anims/sprites/147.4bpp.lz");
-const u32 gBattleAnimSpritePalette_147[] = INCBIN_U32("graphics/battle_anims/sprites/147.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.4bpp.lz");
+const u32 gBattleAnimSpritePal_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_149[] = INCBIN_U32("graphics/battle_anims/sprites/149.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_WaterOrb[] = INCBIN_U32("graphics/battle_anims/sprites/water_orb.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_148[] = INCBIN_U32("graphics/battle_anims/sprites/148.4bpp.lz");
-const u32 gBattleAnimSpritePalette_148[] = INCBIN_U32("graphics/battle_anims/sprites/148.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.4bpp.lz");
+const u32 gBattleAnimSpritePal_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.gbapal.lz");
-const u32 gBattleAnimSpritePalette_259[] = INCBIN_U32("graphics/battle_anims/sprites/259.gbapal.lz");
+const u32 gBattleAnimSpritePal_BrownOrb[] = INCBIN_U32("graphics/battle_anims/sprites/brown_orb.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_074[] = INCBIN_U32("graphics/battle_anims/sprites/074.4bpp.lz");
-const u32 gBattleAnimSpritePalette_074[] = INCBIN_U32("graphics/battle_anims/sprites/074.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.4bpp.lz");
+const u32 gBattleAnimSpritePal_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_150[] = INCBIN_U32("graphics/battle_anims/sprites/150.4bpp.lz");
-const u32 gBattleAnimSpritePalette_150[] = INCBIN_U32("graphics/battle_anims/sprites/150.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.4bpp.lz");
+const u32 gBattleAnimSpritePal_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_151[] = INCBIN_U32("graphics/battle_anims/sprites/151.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_ToxicBubble[] = INCBIN_U32("graphics/battle_anims/sprites/toxic_bubble.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_153[] = INCBIN_U32("graphics/battle_anims/sprites/153.4bpp.lz");
-const u32 gBattleAnimSpritePalette_153[] = INCBIN_U32("graphics/battle_anims/sprites/153.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.4bpp.lz");
+const u32 gBattleAnimSpritePal_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_154[] = INCBIN_U32("graphics/battle_anims/sprites/154.4bpp.lz");
-const u32 gBattleAnimSpritePalette_154[] = INCBIN_U32("graphics/battle_anims/sprites/154.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.4bpp.lz");
+const u32 gBattleAnimSpritePal_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_155[] = INCBIN_U32("graphics/battle_anims/sprites/155.4bpp.lz");
-const u32 gBattleAnimSpritePalette_155[] = INCBIN_U32("graphics/battle_anims/sprites/155.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.4bpp.lz");
+const u32 gBattleAnimSpritePal_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_156[] = INCBIN_U32("graphics/battle_anims/sprites/156.4bpp.lz");
-const u32 gBattleAnimSpritePalette_156[] = INCBIN_U32("graphics/battle_anims/sprites/156.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.4bpp.lz");
+const u32 gBattleAnimSpritePal_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_157[] = INCBIN_U32("graphics/battle_anims/sprites/157.4bpp.lz");
-const u32 gBattleAnimSpritePalette_157[] = INCBIN_U32("graphics/battle_anims/sprites/157.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.4bpp.lz");
+const u32 gBattleAnimSpritePal_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_158[] = INCBIN_U32("graphics/battle_anims/sprites/158.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.4bpp.lz");
-const u32 gBattleAnimSpritePalette_158[] = INCBIN_U32("graphics/battle_anims/sprites/158.gbapal.lz");
+const u32 gBattleAnimSpritePal_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_159[] = INCBIN_U32("graphics/battle_anims/sprites/159.4bpp.lz");
-const u32 gBattleAnimSpritePalette_159[] = INCBIN_U32("graphics/battle_anims/sprites/159.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.4bpp.lz");
+const u32 gBattleAnimSpritePal_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_160[] = INCBIN_U32("graphics/battle_anims/sprites/160.4bpp.lz");
-const u32 gBattleAnimSpritePalette_160[] = INCBIN_U32("graphics/battle_anims/sprites/160.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.4bpp.lz");
+const u32 gBattleAnimSpritePal_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_144[] = INCBIN_U32("graphics/battle_anims/sprites/144.4bpp.lz");
-const u32 gBattleAnimSpritePalette_144[] = INCBIN_U32("graphics/battle_anims/sprites/144.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.4bpp.lz");
+const u32 gBattleAnimSpritePal_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.gbapal.lz");
const u32 gUnknownGfx_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.4bpp.lz");
const u32 gUnknownPal_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.gbapal.lz");
const u32 gUnknownTilemap_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.bin.lz");
-const u32 gBattleAnimSpriteSheet_162[] = INCBIN_U32("graphics/battle_anims/sprites/162.4bpp.lz");
-const u32 gBattleAnimSpritePalette_162[] = INCBIN_U32("graphics/battle_anims/sprites/162.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.4bpp.lz");
+const u32 gBattleAnimSpritePal_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_163[] = INCBIN_U32("graphics/battle_anims/sprites/163.4bpp.lz");
-const u32 gBattleAnimSpritePalette_163[] = INCBIN_U32("graphics/battle_anims/sprites/163.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.4bpp.lz");
+const u32 gBattleAnimSpritePal_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.gbapal.lz");
-const u32 gBattleAnimSpritePalette_288[] = INCBIN_U32("graphics/battle_anims/sprites/288.gbapal.lz");
-const u32 gBattleAnimSpritePalette_164[] = INCBIN_U32("graphics/battle_anims/sprites/164.gbapal.lz");
-const u32 gBattleAnimSpritePalette_165[] = INCBIN_U32("graphics/battle_anims/sprites/165.gbapal.lz");
+const u32 gBattleAnimSpritePal_BlueRing2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring_2.gbapal.lz");
+const u32 gBattleAnimSpritePal_PurpleRing[] = INCBIN_U32("graphics/battle_anims/sprites/purple_ring.gbapal.lz");
+const u32 gBattleAnimSpritePal_BlueRing[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_166[] = INCBIN_U32("graphics/battle_anims/sprites/166.4bpp.lz");
-const u32 gBattleAnimSpritePalette_166[] = INCBIN_U32("graphics/battle_anims/sprites/166.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.4bpp.lz");
+const u32 gBattleAnimSpritePal_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.gbapal.lz");
-const u32 gBattleAnimSpritePalette_167[] = INCBIN_U32("graphics/battle_anims/sprites/167.gbapal.lz");
-const u32 gBattleAnimSpritePalette_168[] = INCBIN_U32("graphics/battle_anims/sprites/168.gbapal.lz");
-const u32 gBattleAnimSpritePalette_169[] = INCBIN_U32("graphics/battle_anims/sprites/169.gbapal.lz");
-const u32 gBattleAnimSpritePalette_170[] = INCBIN_U32("graphics/battle_anims/sprites/170.gbapal.lz");
+const u32 gBattleAnimSpritePal_BlueLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/blue_light_wall.gbapal.lz");
+const u32 gBattleAnimSpritePal_RedLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/red_light_wall.gbapal.lz");
+const u32 gBattleAnimSpritePal_GrayLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/gray_light_wall.gbapal.lz");
+const u32 gBattleAnimSpritePal_OrangeLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/orange_light_wall.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_171[] = INCBIN_U32("graphics/battle_anims/sprites/171.4bpp.lz");
-const u32 gBattleAnimSpritePalette_171[] = INCBIN_U32("graphics/battle_anims/sprites/171.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.4bpp.lz");
+const u32 gBattleAnimSpritePal_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.gbapal.lz");
-const u32 gBattleAnimSpritePalette_172[] = INCBIN_U32("graphics/battle_anims/sprites/172.gbapal.lz");
+const u32 gBattleAnimSpritePal_PurpleGasCloud[] = INCBIN_U32("graphics/battle_anims/sprites/purple_gas_cloud.gbapal.lz");
const u32 gContestJudgeGfx[] = INCBIN_U32("graphics/contest/judge.4bpp.lz");
const u32 gContest2Pal[] = INCBIN_U32("graphics/contest/judge.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_001[] = INCBIN_U32("graphics/battle_anims/sprites/001.4bpp.lz");
-const u32 gBattleAnimSpritePalette_001[] = INCBIN_U32("graphics/battle_anims/sprites/001.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.4bpp.lz");
+const u32 gBattleAnimSpritePal_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_173[] = INCBIN_U32("graphics/battle_anims/sprites/173.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_SparkH[] = INCBIN_U32("graphics/battle_anims/sprites/spark_h.4bpp.lz");
-const u32 gBattleAnimBackgroundImage_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.4bpp.lz");
-const u32 gBattleAnimBackgroundPalette_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.gbapal.lz");
-const u32 gBattleAnimBackgroundTilemap_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.bin.lz");
+const u32 gBattleAnimBgImage_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.4bpp.lz");
+const u32 gBattleAnimBgPalette_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.gbapal.lz");
+const u32 gBattleAnimBgTilemap_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.bin.lz");
const u32 gMetalShineGfx[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.4bpp.lz");
const u32 gMetalShinePalette[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.gbapal.lz");
@@ -600,48 +600,48 @@ const u32 gUnusedGfx_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.4bpp.lz");
const u32 gUnusedPal_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.gbapal.lz");
const u32 gUnusedTilemap_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.bin.lz");
-const u32 gBattleAnimSpriteSheet_174[] = INCBIN_U32("graphics/battle_anims/sprites/174.4bpp.lz");
-const u32 gBattleAnimSpritePalette_174[] = INCBIN_U32("graphics/battle_anims/sprites/174.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.4bpp.lz");
+const u32 gBattleAnimSpritePal_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_175[] = INCBIN_U32("graphics/battle_anims/sprites/175.4bpp.lz");
-const u32 gBattleAnimSpritePalette_175[] = INCBIN_U32("graphics/battle_anims/sprites/175.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.4bpp.lz");
+const u32 gBattleAnimSpritePal_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_176[] = INCBIN_U32("graphics/battle_anims/sprites/176.4bpp.lz");
-const u32 gBattleAnimSpritePalette_176[] = INCBIN_U32("graphics/battle_anims/sprites/176.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.4bpp.lz");
+const u32 gBattleAnimSpritePal_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_177[] = INCBIN_U32("graphics/battle_anims/sprites/177.4bpp.lz");
-const u32 gBattleAnimSpritePalette_177[] = INCBIN_U32("graphics/battle_anims/sprites/177.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.4bpp.lz");
+const u32 gBattleAnimSpritePal_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_178[] = INCBIN_U32("graphics/battle_anims/sprites/178.4bpp.lz");
-const u32 gBattleAnimSpritePalette_178[] = INCBIN_U32("graphics/battle_anims/sprites/178.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.4bpp.lz");
+const u32 gBattleAnimSpritePal_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.gbapal.lz");
-const u32 gBattleAnimSpritePalette_179[] = INCBIN_U32("graphics/battle_anims/sprites/179.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_179[] = INCBIN_U32("graphics/battle_anims/sprites/179.4bpp.lz");
+const u32 gBattleAnimSpritePal_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_180[] = INCBIN_U32("graphics/battle_anims/sprites/180.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_181[] = INCBIN_U32("graphics/battle_anims/sprites/181.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_WebThread[] = INCBIN_U32("graphics/battle_anims/sprites/web_thread.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_SpiderWeb[] = INCBIN_U32("graphics/battle_anims/sprites/spider_web.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_182[] = INCBIN_U32("graphics/battle_anims/sprites/182.4bpp.lz");
-const u32 gBattleAnimSpritePalette_182[] = INCBIN_U32("graphics/battle_anims/sprites/182.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.4bpp.lz");
+const u32 gBattleAnimSpritePal_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_183[] = INCBIN_U32("graphics/battle_anims/sprites/183.4bpp.lz");
-const u32 gBattleAnimSpritePalette_183[] = INCBIN_U32("graphics/battle_anims/sprites/183.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.4bpp.lz");
+const u32 gBattleAnimSpritePal_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_184[] = INCBIN_U32("graphics/battle_anims/sprites/184.4bpp.lz");
-const u32 gBattleAnimSpritePalette_184[] = INCBIN_U32("graphics/battle_anims/sprites/184.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.4bpp.lz");
+const u32 gBattleAnimSpritePal_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_185[] = INCBIN_U32("graphics/battle_anims/sprites/185.4bpp.lz");
-const u32 gBattleAnimSpritePalette_185[] = INCBIN_U32("graphics/battle_anims/sprites/185.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.4bpp.lz");
+const u32 gBattleAnimSpritePal_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.gbapal.lz");
-const u32 gBattleAnimBackgroundImage_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.4bpp.lz");
-const u32 gBattleAnimBackgroundPalette_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.gbapal.lz");
-const u32 gBattleAnimBackgroundTilemap_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.bin.lz");
+const u32 gBattleAnimBgImage_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.4bpp.lz");
+const u32 gBattleAnimBgPalette_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.gbapal.lz");
+const u32 gBattleAnimBgTilemap_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.bin.lz");
-const u32 gBattleAnimSpriteSheet_187[] = INCBIN_U32("graphics/battle_anims/sprites/187.4bpp.lz");
-const u32 gBattleAnimSpritePalette_187[] = INCBIN_U32("graphics/battle_anims/sprites/187.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.4bpp.lz");
+const u32 gBattleAnimSpritePal_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_186[] = INCBIN_U32("graphics/battle_anims/sprites/186.4bpp.lz");
-const u32 gBattleAnimSpritePalette_186[] = INCBIN_U32("graphics/battle_anims/sprites/186.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.4bpp.lz");
+const u32 gBattleAnimSpritePal_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.gbapal.lz");
const u32 gHealthboxSinglesPlayerGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_player.4bpp.lz");
const u32 gHealthboxSinglesOpponentGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_opponent.4bpp.lz");
@@ -652,237 +652,237 @@ const u32 gHealthboxSafariGfx[] = INCBIN_U32("graphics/battle_interface/healthbo
const u32 gUnusedGfx_Shadow[] = INCBIN_U32("graphics/unused/shadow.4bpp.lz");
const u32 gUnusedPal_Shadow[] = INCBIN_U32("graphics/unused/shadow.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_014[] = INCBIN_U32("graphics/battle_anims/sprites/014.4bpp.lz");
-const u32 gBattleAnimSpritePalette_014[] = INCBIN_U32("graphics/battle_anims/sprites/014.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.4bpp.lz");
+const u32 gBattleAnimSpritePal_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_190[] = INCBIN_U32("graphics/battle_anims/sprites/190.4bpp.lz");
-const u32 gBattleAnimSpritePalette_190[] = INCBIN_U32("graphics/battle_anims/sprites/190.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.4bpp.lz");
+const u32 gBattleAnimSpritePal_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_191[] = INCBIN_U32("graphics/battle_anims/sprites/191.4bpp.lz");
-const u32 gBattleAnimSpritePalette_191[] = INCBIN_U32("graphics/battle_anims/sprites/191.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.4bpp.lz");
+const u32 gBattleAnimSpritePal_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_189[] = INCBIN_U32("graphics/battle_anims/sprites/189.4bpp.lz");
-const u32 gBattleAnimSpritePalette_189[] = INCBIN_U32("graphics/battle_anims/sprites/189.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.4bpp.lz");
+const u32 gBattleAnimSpritePal_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_192[] = INCBIN_U32("graphics/battle_anims/sprites/192.4bpp.lz");
-const u32 gBattleAnimSpritePalette_192[] = INCBIN_U32("graphics/battle_anims/sprites/192.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.4bpp.lz");
+const u32 gBattleAnimSpritePal_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_193[] = INCBIN_U32("graphics/battle_anims/sprites/193.4bpp.lz");
-const u32 gBattleAnimSpritePalette_193[] = INCBIN_U32("graphics/battle_anims/sprites/193.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.4bpp.lz");
+const u32 gBattleAnimSpritePal_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.gbapal.lz");
const u32 gUnknown_08C20668[] = INCBIN_U32("graphics/battle_anims/masks/curse.4bpp.lz");
const u32 gUnknown_08C20684[] = INCBIN_U32("graphics/battle_anims/masks/curse.bin.lz");
-const u32 gBattleAnimSpriteSheet_002[] = INCBIN_U32("graphics/battle_anims/sprites/002.4bpp.lz");
-const u32 gBattleAnimSpritePalette_002[] = INCBIN_U32("graphics/battle_anims/sprites/002.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.4bpp.lz");
+const u32 gBattleAnimSpritePal_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_196[] = INCBIN_U32("graphics/battle_anims/sprites/196.4bpp.lz");
-const u32 gBattleAnimSpritePalette_196[] = INCBIN_U32("graphics/battle_anims/sprites/196.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.4bpp.lz");
+const u32 gBattleAnimSpritePal_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_194[] = INCBIN_U32("graphics/battle_anims/sprites/194.4bpp.lz");
-const u32 gBattleAnimSpritePalette_194[] = INCBIN_U32("graphics/battle_anims/sprites/194.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.4bpp.lz");
+const u32 gBattleAnimSpritePal_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_195[] = INCBIN_U32("graphics/battle_anims/sprites/195.4bpp.lz");
-const u32 gBattleAnimSpritePalette_195[] = INCBIN_U32("graphics/battle_anims/sprites/195.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.4bpp.lz");
+const u32 gBattleAnimSpritePal_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_197[] = INCBIN_U32("graphics/battle_anims/sprites/197.4bpp.lz");
-const u32 gBattleAnimSpritePalette_197[] = INCBIN_U32("graphics/battle_anims/sprites/197.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.4bpp.lz");
+const u32 gBattleAnimSpritePal_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_198[] = INCBIN_U32("graphics/battle_anims/sprites/198.4bpp.lz");
-const u32 gBattleAnimSpritePalette_198[] = INCBIN_U32("graphics/battle_anims/sprites/198.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.4bpp.lz");
+const u32 gBattleAnimSpritePal_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_199[] = INCBIN_U32("graphics/battle_anims/sprites/199.4bpp.lz");
-const u32 gBattleAnimSpritePalette_199[] = INCBIN_U32("graphics/battle_anims/sprites/199.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.4bpp.lz");
+const u32 gBattleAnimSpritePal_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_200[] = INCBIN_U32("graphics/battle_anims/sprites/200.4bpp.lz");
-const u32 gBattleAnimSpritePalette_200[] = INCBIN_U32("graphics/battle_anims/sprites/200.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.4bpp.lz");
+const u32 gBattleAnimSpritePal_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_201[] = INCBIN_U32("graphics/battle_anims/sprites/201.4bpp.lz");
-const u32 gBattleAnimSpritePalette_201[] = INCBIN_U32("graphics/battle_anims/sprites/201.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.4bpp.lz");
+const u32 gBattleAnimSpritePal_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_204[] = INCBIN_U32("graphics/battle_anims/sprites/204.4bpp.lz");
-const u32 gBattleAnimSpritePalette_204[] = INCBIN_U32("graphics/battle_anims/sprites/204.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.4bpp.lz");
+const u32 gBattleAnimSpritePal_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_202[] = INCBIN_U32("graphics/battle_anims/sprites/202.4bpp.lz");
-const u32 gBattleAnimSpritePalette_202[] = INCBIN_U32("graphics/battle_anims/sprites/202.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.4bpp.lz");
+const u32 gBattleAnimSpritePal_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_203[] = INCBIN_U32("graphics/battle_anims/sprites/203.4bpp.lz");
-const u32 gBattleAnimSpritePalette_203[] = INCBIN_U32("graphics/battle_anims/sprites/203.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.4bpp.lz");
+const u32 gBattleAnimSpritePal_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_206[] = INCBIN_U32("graphics/battle_anims/sprites/206.4bpp.lz");
-const u32 gBattleAnimSpritePalette_206[] = INCBIN_U32("graphics/battle_anims/sprites/206.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.4bpp.lz");
+const u32 gBattleAnimSpritePal_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_205[] = INCBIN_U32("graphics/battle_anims/sprites/205.4bpp.lz");
-const u32 gBattleAnimSpritePalette_205[] = INCBIN_U32("graphics/battle_anims/sprites/205.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.4bpp.lz");
+const u32 gBattleAnimSpritePal_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_207[] = INCBIN_U32("graphics/battle_anims/sprites/207.4bpp.lz");
-const u32 gBattleAnimSpritePalette_207[] = INCBIN_U32("graphics/battle_anims/sprites/207.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.4bpp.lz");
+const u32 gBattleAnimSpritePal_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_208[] = INCBIN_U32("graphics/battle_anims/sprites/208.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_TornMetal[] = INCBIN_U32("graphics/battle_anims/sprites/torn_metal.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_209[] = INCBIN_U32("graphics/battle_anims/sprites/209.4bpp.lz");
-const u32 gBattleAnimSpritePalette_209[] = INCBIN_U32("graphics/battle_anims/sprites/209.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.4bpp.lz");
+const u32 gBattleAnimSpritePal_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_064[] = INCBIN_U32("graphics/battle_anims/sprites/064.4bpp.lz");
-const u32 gBattleAnimSpritePalette_064[] = INCBIN_U32("graphics/battle_anims/sprites/064.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.4bpp.lz");
+const u32 gBattleAnimSpritePal_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_210[] = INCBIN_U32("graphics/battle_anims/sprites/210.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.4bpp.lz");
-const u32 gBattleAnimSpritePalette_219[] = INCBIN_U32("graphics/battle_anims/sprites/219.gbapal.lz");
-const u32 gBattleAnimSpritePalette_210[] = INCBIN_U32("graphics/battle_anims/sprites/210.gbapal.lz");
-const u32 gBattleAnimSpritePalette_216[] = INCBIN_U32("graphics/battle_anims/sprites/216.gbapal.lz");
+const u32 gBattleAnimSpritePal_PinkHeart[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart.gbapal.lz");
+const u32 gBattleAnimSpritePal_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.gbapal.lz");
+const u32 gBattleAnimSpritePal_RedHeart[] = INCBIN_U32("graphics/battle_anims/sprites/red_heart.gbapal.lz");
const u32 gUnknown_08C232E0[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz");
const u32 gUnknown_08C23D50[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz");
const u32 gUnknown_08C23D78[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz");
-const u32 gBattleAnimSpriteSheet_217[] = INCBIN_U32("graphics/battle_anims/sprites/217.4bpp.lz");
-const u32 gBattleAnimSpritePalette_217[] = INCBIN_U32("graphics/battle_anims/sprites/217.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.4bpp.lz");
+const u32 gBattleAnimSpritePal_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_212[] = INCBIN_U32("graphics/battle_anims/sprites/212.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_211[] = INCBIN_U32("graphics/battle_anims/sprites/211.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_213[] = INCBIN_U32("graphics/battle_anims/sprites/213.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_CircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/circle_of_light.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Electricity[] = INCBIN_U32("graphics/battle_anims/sprites/electricity.4bpp.lz");
-const u32 gBattleAnimSpritePalette_211[] = INCBIN_U32("graphics/battle_anims/sprites/211.gbapal.lz");
+const u32 gBattleAnimSpritePal_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_214[] = INCBIN_U32("graphics/battle_anims/sprites/214.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Finger2[] = INCBIN_U32("graphics/battle_anims/sprites/finger_2.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_215[] = INCBIN_U32("graphics/battle_anims/sprites/215.4bpp.lz");
-const u32 gBattleAnimSpritePalette_215[] = INCBIN_U32("graphics/battle_anims/sprites/215.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.4bpp.lz");
+const u32 gBattleAnimSpritePal_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.gbapal.lz");
const u32 gUnknown_08C249D0[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz");
const u32 gUnknown_08C249F8[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz");
-const u32 gBattleAnimSpritePalette_218[] = INCBIN_U32("graphics/battle_anims/sprites/218.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_218[] = INCBIN_U32("graphics/battle_anims/sprites/218.4bpp.lz");
+const u32 gBattleAnimSpritePal_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_087[] = INCBIN_U32("graphics/battle_anims/sprites/087.4bpp.lz");
-const u32 gBattleAnimSpritePalette_087[] = INCBIN_U32("graphics/battle_anims/sprites/087.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.4bpp.lz");
+const u32 gBattleAnimSpritePal_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_018[] = INCBIN_U32("graphics/battle_anims/sprites/018.4bpp.lz");
-const u32 gBattleAnimSpritePalette_018[] = INCBIN_U32("graphics/battle_anims/sprites/018.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.4bpp.lz");
+const u32 gBattleAnimSpritePal_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.gbapal.lz");
-const u32 gBattleAnimSpritePalette_220[] = INCBIN_U32("graphics/battle_anims/sprites/220.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_220[] = INCBIN_U32("graphics/battle_anims/sprites/220.4bpp.lz");
+const u32 gBattleAnimSpritePal_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.4bpp.lz");
-const u32 gBattleAnimSpritePalette_221[] = INCBIN_U32("graphics/battle_anims/sprites/221.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_221[] = INCBIN_U32("graphics/battle_anims/sprites/221.4bpp.lz");
+const u32 gBattleAnimSpritePal_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_222[] = INCBIN_U32("graphics/battle_anims/sprites/222.4bpp.lz");
-const u32 gBattleAnimSpritePalette_222[] = INCBIN_U32("graphics/battle_anims/sprites/222.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.4bpp.lz");
+const u32 gBattleAnimSpritePal_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.gbapal.lz");
-const u32 gBattleAnimSpritePalette_223[] = INCBIN_U32("graphics/battle_anims/sprites/223.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_223[] = INCBIN_U32("graphics/battle_anims/sprites/223.4bpp.lz");
+const u32 gBattleAnimSpritePal_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.4bpp.lz");
-const u32 gBattleAnimSpritePalette_224[] = INCBIN_U32("graphics/battle_anims/sprites/224.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_224[] = INCBIN_U32("graphics/battle_anims/sprites/224.4bpp.lz");
+const u32 gBattleAnimSpritePal_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.4bpp.lz");
-const u32 gBattleAnimSpritePalette_230[] = INCBIN_U32("graphics/battle_anims/sprites/230.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_230[] = INCBIN_U32("graphics/battle_anims/sprites/230.4bpp.lz");
+const u32 gBattleAnimSpritePal_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.4bpp.lz");
-const u32 gBattleAnimSpritePalette_228[] = INCBIN_U32("graphics/battle_anims/sprites/228.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_228[] = INCBIN_U32("graphics/battle_anims/sprites/228.4bpp.lz");
+const u32 gBattleAnimSpritePal_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz");
-const u32 gBattleAnimBackgroundPalette_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.gbapal.lz");
-const u32 gBattleAnimBackgroundImage_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.4bpp.lz");
-const u32 gBattleAnimBackgroundTilemap_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.bin.lz");
+const u32 gBattleAnimBgPalette_Impact[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact.gbapal.lz");
+const u32 gBattleAnimBgImage_Impact[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact.4bpp.lz");
+const u32 gBattleAnimBgTilemap_ImpactOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_opponent.bin.lz");
-const u32 gBattleAnimBackgroundTilemap_05[] = INCBIN_U32("graphics/battle_anims/backgrounds/05.bin.lz");
-const u32 gBattleAnimBackgroundTilemap_06[] = INCBIN_U32("graphics/battle_anims/backgrounds/06.bin.lz");
+const u32 gBattleAnimBgTilemap_ImpactPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_player.bin.lz");
+const u32 gBattleAnimBgTilemap_ImpactContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_contests.bin.lz");
-const u32 gBattleAnimSpriteSheet_225[] = INCBIN_U32("graphics/battle_anims/sprites/225.4bpp.lz");
-const u32 gBattleAnimSpritePalette_225[] = INCBIN_U32("graphics/battle_anims/sprites/225.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.4bpp.lz");
+const u32 gBattleAnimSpritePal_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_227[] = INCBIN_U32("graphics/battle_anims/sprites/227.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Spotlight[] = INCBIN_U32("graphics/battle_anims/sprites/spotlight.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_226[] = INCBIN_U32("graphics/battle_anims/sprites/226.4bpp.lz");
-const u32 gBattleAnimSpritePalette_226[] = INCBIN_U32("graphics/battle_anims/sprites/226.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.4bpp.lz");
+const u32 gBattleAnimSpritePal_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_229[] = INCBIN_U32("graphics/battle_anims/sprites/229.4bpp.lz");
-const u32 gBattleAnimSpritePalette_229[] = INCBIN_U32("graphics/battle_anims/sprites/229.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.4bpp.lz");
+const u32 gBattleAnimSpritePal_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_099[] = INCBIN_U32("graphics/battle_anims/sprites/099.4bpp.lz");
-const u32 gBattleAnimSpritePalette_099[] = INCBIN_U32("graphics/battle_anims/sprites/099.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.4bpp.lz");
+const u32 gBattleAnimSpritePal_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_232[] = INCBIN_U32("graphics/battle_anims/sprites/232.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_WispFire[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_fire.4bpp.lz");
-const u32 gBattleAnimSpritePalette_231[] = INCBIN_U32("graphics/battle_anims/sprites/231.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_231[] = INCBIN_U32("graphics/battle_anims/sprites/231.4bpp.lz");
+const u32 gBattleAnimSpritePal_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_233[] = INCBIN_U32("graphics/battle_anims/sprites/233.4bpp.lz");
-const u32 gBattleAnimSpritePalette_233[] = INCBIN_U32("graphics/battle_anims/sprites/233.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.4bpp.lz");
+const u32 gBattleAnimSpritePal_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_234[] = INCBIN_U32("graphics/battle_anims/sprites/234.4bpp.lz");
-const u32 gBattleAnimSpritePalette_234[] = INCBIN_U32("graphics/battle_anims/sprites/234.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.4bpp.lz");
+const u32 gBattleAnimSpritePal_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_238[] = INCBIN_U32("graphics/battle_anims/sprites/238.4bpp.lz");
-const u32 gBattleAnimSpritePalette_238[] = INCBIN_U32("graphics/battle_anims/sprites/238.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.4bpp.lz");
+const u32 gBattleAnimSpritePal_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_235[] = INCBIN_U32("graphics/battle_anims/sprites/235.4bpp.lz");
-const u32 gBattleAnimSpritePalette_235[] = INCBIN_U32("graphics/battle_anims/sprites/235.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.4bpp.lz");
+const u32 gBattleAnimSpritePal_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.gbapal.lz");
-const u32 gBattleAnimSpritePalette_236[] = INCBIN_U32("graphics/battle_anims/sprites/236.gbapal.lz");
-const u32 gBattleAnimSpritePalette_237[] = INCBIN_U32("graphics/battle_anims/sprites/237.gbapal.lz");
+const u32 gBattleAnimSpritePal_BlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/blue_orb.gbapal.lz");
+const u32 gBattleAnimSpritePal_RedOrb2[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb_2.gbapal.lz");
-const u32 gBattleAnimBackgroundImage_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.4bpp.lz");
-const u32 gBattleAnimBackgroundPalette_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.gbapal.lz");
+const u32 gBattleAnimBgImage_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.4bpp.lz");
+const u32 gBattleAnimBgPalette_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.gbapal.lz");
-const u32 gBattleAnimBackgroundPalette_18[] = INCBIN_U32("graphics/battle_anims/backgrounds/18.gbapal.lz");
+const u32 gBattleAnimBgPalette_Sky[] = INCBIN_U32("graphics/battle_anims/backgrounds/sky.gbapal.lz");
-const u32 gBattleAnimBackgroundTilemap_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.bin.lz");
-const u32 gBattleAnimBackgroundTilemap_08[] = INCBIN_U32("graphics/battle_anims/backgrounds/08.bin.lz");
+const u32 gBattleAnimBgTilemap_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.bin.lz");
+const u32 gBattleAnimBgTilemap_DrillContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill_contests.bin.lz");
-const u32 gBattleAnimBackgroundImage_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.4bpp.lz");
-const u32 gBattleAnimBackgroundPalette_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.gbapal.lz");
-const u32 gBattleAnimBackgroundTilemap_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.bin.lz");
+const u32 gBattleAnimBgImage_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.4bpp.lz");
+const u32 gBattleAnimBgPalette_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.gbapal.lz");
+const u32 gBattleAnimBgTilemap_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.bin.lz");
-const u32 gBattleAnimBackgroundTilemap_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.bin.lz");
-const u32 gBattleAnimBackgroundPalette_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.gbapal.lz");
+const u32 gBattleAnimBgTilemap_HighspeedOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_opponent.bin.lz");
+const u32 gBattleAnimBgPalette_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.gbapal.lz");
-const u32 gBattleAnimBackgroundPalette_22[] = INCBIN_U32("graphics/battle_anims/backgrounds/22.gbapal.lz");
+const u32 gBattleAnimBgPalette_Bug[] = INCBIN_U32("graphics/battle_anims/backgrounds/bug.gbapal.lz");
-const u32 gBattleAnimBackgroundImage_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.4bpp.lz");
-const u32 gBattleAnimBackgroundTilemap_10[] = INCBIN_U32("graphics/battle_anims/backgrounds/10.bin.lz");
+const u32 gBattleAnimBgImage_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.4bpp.lz");
+const u32 gBattleAnimBgTilemap_HighspeedPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_player.bin.lz");
const u32 gUnknown_08C2A634[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.4bpp.lz");
const u32 gUnknown_08C2A6D4[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.gbapal.lz");
const u32 gUnknown_08C2A6EC[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.bin.lz");
-const u32 gBattleAnimBackgroundTilemap_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.bin.lz");
-const u32 gBattleAnimBackgroundTilemap_13[] = INCBIN_U32("graphics/battle_anims/backgrounds/13.bin.lz");
-const u32 gBattleAnimBackgroundTilemap_14[] = INCBIN_U32("graphics/battle_anims/backgrounds/14.bin.lz");
+const u32 gBattleAnimBgTilemap_GuillotineOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_opponent.bin.lz");
+const u32 gBattleAnimBgTilemap_GuillotinePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_player.bin.lz");
+const u32 gBattleAnimBgTilemap_GuillotineContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_contests.bin.lz");
-const u32 gBattleAnimBackgroundImage_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.4bpp.lz");
-const u32 gBattleAnimBackgroundPalette_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.gbapal.lz");
+const u32 gBattleAnimBgImage_Guillotine[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine.4bpp.lz");
+const u32 gBattleAnimBgPalette_Guillotine[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine.gbapal.lz");
-const u32 gBattleAnimBackgroundImage_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.4bpp.lz");
-const u32 gBattleAnimBackgroundPalette_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.gbapal.lz");
-const u32 gBattleAnimBackgroundTilemap_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.bin.lz");
+const u32 gBattleAnimBgImage_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.4bpp.lz");
+const u32 gBattleAnimBgPalette_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.gbapal.lz");
+const u32 gBattleAnimBgTilemap_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.bin.lz");
-const u32 gBattleAnimSpriteSheet_239[] = INCBIN_U32("graphics/battle_anims/sprites/239.4bpp.lz");
-const u32 gBattleAnimSpritePalette_239[] = INCBIN_U32("graphics/battle_anims/sprites/239.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.4bpp.lz");
+const u32 gBattleAnimSpritePal_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_143[] = INCBIN_U32("graphics/battle_anims/sprites/143.4bpp.lz");
-const u32 gBattleAnimSpritePalette_143[] = INCBIN_U32("graphics/battle_anims/sprites/143.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.4bpp.lz");
+const u32 gBattleAnimSpritePal_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_240[] = INCBIN_U32("graphics/battle_anims/sprites/240.4bpp.lz");
-const u32 gBattleAnimSpritePalette_240[] = INCBIN_U32("graphics/battle_anims/sprites/240.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.4bpp.lz");
+const u32 gBattleAnimSpritePal_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.gbapal.lz");
const u32 gSubstituteDollPal[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.gbapal.lz");
const u32 gSubstituteDollGfx[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.4bpp.lz");
const u32 gSubstituteDollTilemap[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.bin.lz");
-const u32 gBattleAnimSpriteSheet_241[] = INCBIN_U32("graphics/battle_anims/sprites/241.4bpp.lz");
-const u32 gBattleAnimSpritePalette_241[] = INCBIN_U32("graphics/battle_anims/sprites/241.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.4bpp.lz");
+const u32 gBattleAnimSpritePal_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.gbapal.lz");
const u32 gContestConfetti_Gfx[] = INCBIN_U32("graphics/misc/confetti.4bpp.lz");
const u32 gContestConfetti_Pal[] = INCBIN_U32("graphics/misc/confetti.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_242[] = INCBIN_U32("graphics/battle_anims/sprites/242.4bpp.lz");
-const u32 gBattleAnimSpritePalette_242[] = INCBIN_U32("graphics/battle_anims/sprites/242.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.4bpp.lz");
+const u32 gBattleAnimSpritePal_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_243[] = INCBIN_U32("graphics/battle_anims/sprites/243.4bpp.lz");
-const u32 gBattleAnimSpritePalette_243[] = INCBIN_U32("graphics/battle_anims/sprites/243.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.4bpp.lz");
+const u32 gBattleAnimSpritePal_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.gbapal.lz");
const u32 gBattleStatMask_Gfx[] = INCBIN_U32("graphics/battle_anims/masks/stat.4bpp.lz");
const u32 gBattleStatMask1_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/stat_tilemap_1.bin.lz");
@@ -901,60 +901,60 @@ const u32 gCureBubblesGfx[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbl
const u32 gCureBubblesPal[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.gbapal.lz");
const u32 gCureBubblesTilemap[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.bin.lz");
-const u32 gBattleAnimSpritePalette_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.4bpp.lz");
+const u32 gBattleAnimSpritePal_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_246[] = INCBIN_U32("graphics/battle_anims/sprites/246.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_PurpleSwipe[] = INCBIN_U32("graphics/battle_anims/sprites/purple_swipe.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_244[] = INCBIN_U32("graphics/battle_anims/sprites/244.4bpp.lz");
-const u32 gBattleAnimSpritePalette_244[] = INCBIN_U32("graphics/battle_anims/sprites/244.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.4bpp.lz");
+const u32 gBattleAnimSpritePal_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_247[] = INCBIN_U32("graphics/battle_anims/sprites/247.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_TagHand[] = INCBIN_U32("graphics/battle_anims/sprites/tag_hand.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_053[] = INCBIN_U32("graphics/battle_anims/sprites/053.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_NoiseLine[] = INCBIN_U32("graphics/battle_anims/sprites/noise_line.4bpp.lz");
const u32 gUnknown_08C2EA50[] = INCBIN_U32("graphics/battle_anims/masks/unknown_C2EA50.4bpp.lz");
const u32 gUnknown_08C2EA9C[] = INCBIN_U32("graphics/battle_anims/masks/unknown_C2EA50.bin.lz");
-const u32 gBattleAnimSpriteSheet_248[] = INCBIN_U32("graphics/battle_anims/sprites/248.4bpp.lz");
-const u32 gBattleAnimSpritePalette_248[] = INCBIN_U32("graphics/battle_anims/sprites/248.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.4bpp.lz");
+const u32 gBattleAnimSpritePal_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_249[] = INCBIN_U32("graphics/battle_anims/sprites/249.4bpp.lz");
-const u32 gBattleAnimSpritePalette_249[] = INCBIN_U32("graphics/battle_anims/sprites/249.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.4bpp.lz");
+const u32 gBattleAnimSpritePal_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_250[] = INCBIN_U32("graphics/battle_anims/sprites/250.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_XSign[] = INCBIN_U32("graphics/battle_anims/sprites/x_sign.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_251[] = INCBIN_U32("graphics/battle_anims/sprites/251.4bpp.lz");
-const u32 gBattleAnimSpritePalette_251[] = INCBIN_U32("graphics/battle_anims/sprites/251.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.4bpp.lz");
+const u32 gBattleAnimSpritePal_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_252[] = INCBIN_U32("graphics/battle_anims/sprites/252.4bpp.lz");
-const u32 gBattleAnimSpritePalette_252[] = INCBIN_U32("graphics/battle_anims/sprites/252.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.4bpp.lz");
+const u32 gBattleAnimSpritePal_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_253[] = INCBIN_U32("graphics/battle_anims/sprites/253.4bpp.lz");
-const u32 gBattleAnimSpritePalette_253[] = INCBIN_U32("graphics/battle_anims/sprites/253.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.4bpp.lz");
+const u32 gBattleAnimSpritePal_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_254[] = INCBIN_U32("graphics/battle_anims/sprites/254.4bpp.lz");
-const u32 gBattleAnimSpritePalette_254[] = INCBIN_U32("graphics/battle_anims/sprites/254.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.4bpp.lz");
+const u32 gBattleAnimSpritePal_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_255[] = INCBIN_U32("graphics/battle_anims/sprites/255.4bpp.lz");
-const u32 gBattleAnimSpritePalette_255[] = INCBIN_U32("graphics/battle_anims/sprites/255.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.4bpp.lz");
+const u32 gBattleAnimSpritePal_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_258[] = INCBIN_U32("graphics/battle_anims/sprites/258.4bpp.lz");
-const u32 gBattleAnimSpritePalette_258[] = INCBIN_U32("graphics/battle_anims/sprites/258.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.4bpp.lz");
+const u32 gBattleAnimSpritePal_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_256[] = INCBIN_U32("graphics/battle_anims/sprites/256.4bpp.lz");
-const u32 gBattleAnimSpritePalette_256[] = INCBIN_U32("graphics/battle_anims/sprites/256.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.4bpp.lz");
+const u32 gBattleAnimSpritePal_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_257[] = INCBIN_U32("graphics/battle_anims/sprites/257.4bpp.lz");
-const u32 gBattleAnimSpritePalette_257[] = INCBIN_U32("graphics/battle_anims/sprites/257.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.4bpp.lz");
+const u32 gBattleAnimSpritePal_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.gbapal.lz");
const u32 gUnknownPal_C2F9E0[] = INCBIN_U32("graphics/unknown/unknown_C2F9E0.gbapal.lz");
#include "data/graphics/pokemon.h"
#include "data/graphics/trainers.h"
-const u8 gMonIcon_QuestionMark[] = INCBIN_U8("graphics/pokemon/icons/question_mark_icon.4bpp");
-const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/footprints/question_mark_footprint.1bpp");
+const u8 gMonIcon_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/icon.4bpp");
+const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/footprint.1bpp");
const u32 gUnknown_08D778F0[] = INCBIN_U32("graphics/battle_transitions/vs_frame.4bpp.lz");
const u32 gUnknown_08D779D8[] = INCBIN_U32("graphics/battle_transitions/vs_frame.bin.lz");
@@ -1005,58 +1005,58 @@ const u32 gUnknown_08D85A1C[] = INCBIN_U32("graphics/battle_frontier/battle_tile
#include "data/graphics/intro_scene.h"
-const u32 gBattleAnimSpriteSheet_261[] = INCBIN_U32("graphics/battle_anims/sprites/261.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.4bpp.lz");
const u32 gUnknown_08D8D410[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz");
const u32 gUnknown_08D8D58C[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz");
-const u32 gBattleAnimSpritePalette_261[] = INCBIN_U32("graphics/battle_anims/sprites/261.gbapal.lz");
+const u32 gBattleAnimSpritePal_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_260[] = INCBIN_U32("graphics/battle_anims/sprites/260.4bpp.lz");
-const u32 gBattleAnimSpritePalette_260[] = INCBIN_U32("graphics/battle_anims/sprites/260.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.4bpp.lz");
+const u32 gBattleAnimSpritePal_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.gbapal.lz");
-const u32 gBattleAnimBackgroundImage_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.4bpp.lz");
-const u32 gBattleAnimBackgroundPalette_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.gbapal.lz");
-const u32 gBattleAnimBackgroundTilemap_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.bin.lz");
+const u32 gBattleAnimBgImage_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.4bpp.lz");
+const u32 gBattleAnimBgPalette_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.gbapal.lz");
+const u32 gBattleAnimBgTilemap_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.bin.lz");
-const u32 gBattleAnimSpriteSheet_262[] = INCBIN_U32("graphics/battle_anims/sprites/262.4bpp.lz");
-const u32 gBattleAnimSpritePalette_262[] = INCBIN_U32("graphics/battle_anims/sprites/262.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.4bpp.lz");
+const u32 gBattleAnimSpritePal_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.gbapal.lz");
const u32 gContestNextTurnGfx[] = INCBIN_U32("graphics/contest/nextturn.4bpp.lz");
const u8 gContestNextTurnNumbersGfx[] = INCBIN_U8("graphics/contest/nextturn_numbers.4bpp");
const u8 gContestNextTurnRandomGfx[] = INCBIN_U8("graphics/contest/nextturn_random.4bpp");
-const u32 gBattleAnimSpriteSheet_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.4bpp.lz");
-const u32 gBattleAnimSpritePalette_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.gbapal.lz");
-const u32 gBattleAnimSpritePalette_265[] = INCBIN_U32("graphics/battle_anims/sprites/265.gbapal.lz");
-const u32 gBattleAnimSpritePalette_067[] = INCBIN_U32("graphics/battle_anims/sprites/067.gbapal.lz");
-const u32 gBattleAnimSpritePalette_068[] = INCBIN_U32("graphics/battle_anims/sprites/068.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.4bpp.lz");
+const u32 gBattleAnimSpritePal_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.gbapal.lz");
+const u32 gBattleAnimSpritePal_GlowyGreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_green_orb.gbapal.lz");
+const u32 gBattleAnimSpritePal_SleepPowder[] = INCBIN_U32("graphics/battle_anims/sprites/sleep_powder.gbapal.lz");
+const u32 gBattleAnimSpritePal_StunSpore[] = INCBIN_U32("graphics/battle_anims/sprites/stun_spore.gbapal.lz");
const u32 gContestApplauseGfx[] = INCBIN_U32("graphics/contest/applause.4bpp.lz");
const u8 gContestApplauseMeterGfx[] = INCBIN_U8("graphics/contest/applause_meter.4bpp");
const u16 gContestPal[] = INCBIN_U16("graphics/contest/nextturn.gbapal");
-const u32 gBattleAnimSpriteSheet_272[] = INCBIN_U32("graphics/battle_anims/sprites/272.4bpp.lz");
-const u32 gBattleAnimSpritePalette_272[] = INCBIN_U32("graphics/battle_anims/sprites/272.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.4bpp.lz");
+const u32 gBattleAnimSpritePal_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_273[] = INCBIN_U32("graphics/battle_anims/sprites/273.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_SweatBead[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_bead.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_269[] = INCBIN_U32("graphics/battle_anims/sprites/269.4bpp.lz");
-const u32 gBattleAnimSpritePalette_269[] = INCBIN_U32("graphics/battle_anims/sprites/269.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_RedBrick[] = INCBIN_U32("graphics/battle_anims/sprites/red_brick.4bpp.lz");
+const u32 gBattleAnimSpritePal_RedBrick[] = INCBIN_U32("graphics/battle_anims/sprites/red_brick.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_274[] = INCBIN_U32("graphics/battle_anims/sprites/274.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_275[] = INCBIN_U32("graphics/battle_anims/sprites/275.4bpp.lz");
-const u32 gBattleAnimSpriteSheet_276[] = INCBIN_U32("graphics/battle_anims/sprites/276.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Gem2[] = INCBIN_U32("graphics/battle_anims/sprites/gem_2.4bpp.lz");
+const u32 gBattleAnimSpriteGfx_Gem3[] = INCBIN_U32("graphics/battle_anims/sprites/gem_3.4bpp.lz");
-const u32 gBattleAnimSpritePalette_274[] = INCBIN_U32("graphics/battle_anims/sprites/274.gbapal.lz");
+const u32 gBattleAnimSpritePal_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.gbapal.lz");
-const u32 gBattleAnimBackgroundImage_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.4bpp.lz");
-const u32 gBattleAnimBackgroundPalette_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.gbapal.lz");
-const u32 gBattleAnimBackgroundTilemap_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.bin.lz");
+const u32 gBattleAnimBgImage_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.4bpp.lz");
+const u32 gBattleAnimBgPalette_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.gbapal.lz");
+const u32 gBattleAnimBgTilemap_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.bin.lz");
-const u32 gBattleAnimSpriteSheet_280[] = INCBIN_U32("graphics/battle_anims/sprites/280.4bpp.lz");
-const u32 gBattleAnimSpritePalette_280[] = INCBIN_U32("graphics/battle_anims/sprites/280.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.4bpp.lz");
+const u32 gBattleAnimSpritePal_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.gbapal.lz");
const u32 gBattleAnimBackgroundImageMuddyWater_Pal[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz");
@@ -1064,15 +1064,15 @@ const u32 gEnemyMonShadow_Gfx[] = INCBIN_U32("graphics/battle_interface/enemy_mo
const u32 gBattleInterface_BallStatusBarGfx[] = INCBIN_U32("graphics/battle_interface/ball_status_bar.4bpp.lz");
-const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/icons/egg_icon.4bpp");
+const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/egg/icon.4bpp");
-const u32 gBattleAnimBackgroundImage_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.4bpp.lz");
-const u32 gBattleAnimBackgroundPalette_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.gbapal.lz");
-const u32 gBattleAnimBackgroundTilemap_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.bin.lz");
+const u32 gBattleAnimBgImage_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.4bpp.lz");
+const u32 gBattleAnimBgPalette_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.gbapal.lz");
+const u32 gBattleAnimBgTilemap_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.bin.lz");
-const u32 gBattleAnimSpritePalette_287[] = INCBIN_U32("graphics/battle_anims/sprites/287.gbapal.lz");
+const u32 gBattleAnimSpritePal_WhipHit[] = INCBIN_U32("graphics/battle_anims/sprites/whip_hit.gbapal.lz");
-const u32 gBattleAnimBackgroundPalette_24[] = INCBIN_U32("graphics/battle_anims/backgrounds/24.gbapal.lz");
+const u32 gBattleAnimBgPalette_Solarbeam[] = INCBIN_U32("graphics/battle_anims/backgrounds/solarbeam.gbapal.lz");
const u32 gUnknown_E6BC04[] = INCBIN_U32("graphics/unknown/unknown_E6BC04.bin.lz");
@@ -1081,51 +1081,51 @@ const u32 sBlenderCenterGfx[] = INCBIN_U32("graphics/berry_blender/center.8bpp.l
const u32 gUnknown_08D91DB8[] = INCBIN_U32("graphics/berry_blender/outer.4bpp.lz");
const u32 gUnknown_08D927EC[] = INCBIN_U32("graphics/berry_blender/outer_map.bin.lz");
-const u32 gBattleAnimBackgroundPalette_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.gbapal.lz");
-const u32 gBattleAnimBackgroundImage_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.4bpp.lz");
-const u32 gBattleAnimBackgroundTilemap_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.bin.lz");
+const u32 gBattleAnimBgPalette_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.gbapal.lz");
+const u32 gBattleAnimBgImage_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.4bpp.lz");
+const u32 gBattleAnimBgTilemap_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.bin.lz");
-const u32 gBattleAnimSpritePalette_277[] = INCBIN_U32("graphics/battle_anims/sprites/277.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_277[] = INCBIN_U32("graphics/battle_anims/sprites/277.4bpp.lz");
+const u32 gBattleAnimSpritePal_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.4bpp.lz");
const u32 gBattleAnimFogTilemap[] = INCBIN_U32("graphics/battle_anims/backgrounds/fog.bin.lz");
-const u32 gBattleAnimSpritePalette_283[] = INCBIN_U32("graphics/battle_anims/sprites/283.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_283[] = INCBIN_U32("graphics/battle_anims/sprites/283.4bpp.lz");
+const u32 gBattleAnimSpritePal_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.4bpp.lz");
-const u32 gBattleAnimBackgroundTilemap_ScaryFacePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_player.bin.lz");
-const u32 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz");
-const u32 gBattleAnimBackgroundTilemap_ScaryFaceContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz");
+const u32 gBattleAnimBgTilemap_ScaryFacePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_player.bin.lz");
+const u32 gBattleAnimBgTilemap_ScaryFaceOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz");
+const u32 gBattleAnimBgTilemap_ScaryFaceContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz");
-const u32 gBattleAnimSpriteSheet_263[] = INCBIN_U32("graphics/battle_anims/sprites/263.4bpp.lz");
-const u32 gBattleAnimSpritePalette_263[] = INCBIN_U32("graphics/battle_anims/sprites/263.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.4bpp.lz");
+const u32 gBattleAnimSpritePal_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_266[] = INCBIN_U32("graphics/battle_anims/sprites/266.4bpp.lz");
-const u32 gBattleAnimSpritePalette_266[] = INCBIN_U32("graphics/battle_anims/sprites/266.gbapal.lz");
-const u32 gBattleAnimSpritePalette_267[] = INCBIN_U32("graphics/battle_anims/sprites/267.gbapal.lz");
-const u32 gBattleAnimSpritePalette_268[] = INCBIN_U32("graphics/battle_anims/sprites/268.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.4bpp.lz");
+const u32 gBattleAnimSpritePal_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.gbapal.lz");
+const u32 gBattleAnimSpritePal_WhiteCircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/white_circle_of_light.gbapal.lz");
+const u32 gBattleAnimSpritePal_GlowyBlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_blue_orb.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_278[] = INCBIN_U32("graphics/battle_anims/sprites/278.4bpp.lz");
-const u32 gBattleAnimSpritePalette_278[] = INCBIN_U32("graphics/battle_anims/sprites/278.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.4bpp.lz");
+const u32 gBattleAnimSpritePal_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_279[] = INCBIN_U32("graphics/battle_anims/sprites/279.4bpp.lz");
-const u32 gBattleAnimSpritePalette_279[] = INCBIN_U32("graphics/battle_anims/sprites/279.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.4bpp.lz");
+const u32 gBattleAnimSpritePal_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_281[] = INCBIN_U32("graphics/battle_anims/sprites/281.4bpp.lz");
-const u32 gBattleAnimSpritePalette_281[] = INCBIN_U32("graphics/battle_anims/sprites/281.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.4bpp.lz");
+const u32 gBattleAnimSpritePal_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.gbapal.lz");
-const u32 gBattleAnimBackgroundImage_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.4bpp.lz");
-const u32 gBattleAnimBackgroundPalette_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.gbapal.lz");
-const u32 gBattleAnimBackgroundTilemap_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.bin.lz");
+const u32 gBattleAnimBgImage_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.4bpp.lz");
+const u32 gBattleAnimBgPalette_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.gbapal.lz");
+const u32 gBattleAnimBgTilemap_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.bin.lz");
-const u32 gBattleAnimSpriteSheet_284[] = INCBIN_U32("graphics/battle_anims/sprites/284.4bpp.lz");
-const u32 gBattleAnimSpritePalette_284[] = INCBIN_U32("graphics/battle_anims/sprites/284.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.4bpp.lz");
+const u32 gBattleAnimSpritePal_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_285[] = INCBIN_U32("graphics/battle_anims/sprites/285.4bpp.lz");
-const u32 gBattleAnimSpritePalette_285[] = INCBIN_U32("graphics/battle_anims/sprites/285.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.4bpp.lz");
+const u32 gBattleAnimSpritePal_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.gbapal.lz");
-const u32 gBattleAnimBackgroundImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz");
-const u32 gBattleAnimBackgroundPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz");
+const u32 gBattleAnimBgImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz");
+const u32 gBattleAnimBgPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz");
const u32 gUnknown_08D95E00[] = INCBIN_U32("graphics/unknown/unknown_D95E00.bin.lz");
@@ -1133,10 +1133,10 @@ const u32 gUnknown_08D960D0[] = INCBIN_U32("graphics/unknown/unknown_D960D0.bin.
const u32 gUnknown_08D963A4[] = INCBIN_U32("graphics/unknown/unknown_D963A4.bin.lz");
-const u32 gBattleAnimSpritePalette_286[] = INCBIN_U32("graphics/battle_anims/sprites/286.gbapal.lz");
+const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/sprites/slash_2.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_188[] = INCBIN_U32("graphics/battle_anims/sprites/188.4bpp.lz");
-const u32 gBattleAnimSpritePalette_188[] = INCBIN_U32("graphics/battle_anims/sprites/188.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.4bpp.lz");
+const u32 gBattleAnimSpritePal_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.gbapal.lz");
const u32 gPartyMenuMisc_Gfx[] = INCBIN_U32("graphics/interface/party_menu_misc.4bpp.lz");
const u32 gPartyMenuMisc_Pal[] = INCBIN_U32("graphics/interface/party_menu_misc.gbapal.lz");
@@ -1223,14 +1223,14 @@ const u32 gUnknown_08D9BA44[] = INCBIN_U32("graphics/interface/pokeblock_feeding
#include "data/graphics/items.h"
#include "data/graphics/decorations.h"
-const u32 gBattleAnimSpritePalette_282[] = INCBIN_U32("graphics/battle_anims/sprites/282.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_282[] = INCBIN_U32("graphics/battle_anims/sprites/282.4bpp.lz");
+const u32 gBattleAnimSpritePal_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.4bpp.lz");
-const u32 gBattleAnimSpritePalette_270[] = INCBIN_U32("graphics/battle_anims/sprites/270.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_270[] = INCBIN_U32("graphics/battle_anims/sprites/270.4bpp.lz");
+const u32 gBattleAnimSpritePal_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.4bpp.lz");
-const u32 gBattleAnimSpritePalette_271[] = INCBIN_U32("graphics/battle_anims/sprites/271.gbapal.lz");
-const u32 gBattleAnimSpriteSheet_271[] = INCBIN_U32("graphics/battle_anims/sprites/271.4bpp.lz");
+const u32 gBattleAnimSpritePal_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.4bpp.lz");
const u16 gUnknown_08DBA518[] = INCBIN_U16("graphics/misc/cable_car_bg.gbapal");
const u16 gCableCar_Pal[] = INCBIN_U16("graphics/misc/cable_car.gbapal");
@@ -1363,7 +1363,7 @@ const u16 gPokenavMessageBox_Pal[] = INCBIN_U16("graphics/pokenav/message.gbapal
const u32 gPokenavMessageBox_Gfx[] = INCBIN_U32("graphics/pokenav/message.4bpp.lz");
const u32 gPokenavMessageBox_Tilemap[] = INCBIN_U32("graphics/pokenav/message.bin.lz");
-const u16 gHoennMapZoomIcons_Pal[] = INCBIN_U16("graphics/pokenav/zoom.gbapal");
+const u16 gHoennMapZoomIcons_Pal[] = INCBIN_U16("graphics/pokenav/zoom_tiles.gbapal");
const u32 gHoennMapZoomIcons_Gfx[] = INCBIN_U32("graphics/pokenav/zoom.4bpp.lz");
const u16 gPokenavConditionCancel_Pal[] = INCBIN_U16("graphics/pokenav/cancel.gbapal");
diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c
index 2c31dba01..fdf2020ff 100644
--- a/src/hall_of_fame.c
+++ b/src/hall_of_fame.c
@@ -32,7 +32,7 @@
#include "menu.h"
#include "fldeff_misc.h"
#include "trainer_pokemon_sprites.h"
-#include "data2.h"
+#include "data.h"
#include "rom_81520A8.h"
#include "constants/rgb.h"
@@ -178,10 +178,10 @@ static const struct OamData sOamData_85E53FC =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
diff --git a/src/international_string_util.c b/src/international_string_util.c
index a7c42c39e..dfeda49e3 100644
--- a/src/international_string_util.c
+++ b/src/international_string_util.c
@@ -62,7 +62,7 @@ int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2)
return convert_pixel_width_to_tile_width(var);
}
-int sub_81DB41C(const struct ListMenuTemplate *listMenu)
+int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu)
{
int i, maxWidth, finalWidth;
const struct ListMenuItem *items = listMenu->items;
diff --git a/src/intro.c b/src/intro.c
index 23457f370..e97fbedb0 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -145,10 +145,10 @@ static const struct OamData gUnknown_085E4A94 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -214,10 +214,10 @@ static const struct OamData gUnknown_085E4B28 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -251,10 +251,10 @@ static const struct OamData gUnknown_085E4B58 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -307,10 +307,10 @@ static const struct OamData gUnknown_085E4BBC =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -356,10 +356,10 @@ static const struct OamData gUnknown_085E4C14 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -441,10 +441,10 @@ static const struct OamData gUnknown_085E4CF0 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 2,
+ .shape = SPRITE_SHAPE(16x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(16x32),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -481,10 +481,10 @@ static const struct OamData gUnknown_085E4D2C =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -572,10 +572,10 @@ static const struct OamData gUnknown_085E4DD4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -588,10 +588,10 @@ static const struct OamData gUnknown_085E4DDC =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -604,10 +604,10 @@ static const struct OamData gUnknown_085E4DE4 =
.objMode = 1,
.mosaic = 0,
.bpp = 0,
- .shape = 2,
+ .shape = SPRITE_SHAPE(32x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(32x64),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -804,10 +804,10 @@ static const struct OamData gUnknown_085E4FB0 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x32),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -857,10 +857,10 @@ static const struct OamData gUnknown_085E501C =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -2427,7 +2427,7 @@ static void Task_IntroWaterDrops_1(u8 taskId)
| BLDCNT_TGT2_BG3
| BLDCNT_TGT2_OBJ
| BLDCNT_TGT2_BD);
- SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[31]);
+ SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[31]);
SetGpuReg(REG_OFFSET_BLDY, 0);
gTasks[taskId].data[1] = 0x40;
gTasks[taskId].data[0]++;
@@ -2439,11 +2439,11 @@ static void Task_IntroWaterDrops_1(u8 taskId)
gTasks[taskId].data[1]--;
tmp = gTasks[taskId].data[1] / 2;
- SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[tmp]);
+ SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[tmp]);
}
else
{
- SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[0]);
+ SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[0]);
gTasks[taskId].data[1] = 0x10;
gTasks[taskId].data[0]++;
}
@@ -2470,7 +2470,7 @@ static void Task_IntroWaterDrops_2(u8 taskId)
| BLDCNT_TGT2_BG3
| BLDCNT_TGT2_OBJ
| BLDCNT_TGT2_BD);
- SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[0]);
+ SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[0]);
SetGpuReg(REG_OFFSET_BLDY, 0);
gTasks[taskId].data[1] = 0;
gTasks[taskId].data[0]++;
@@ -2482,11 +2482,11 @@ static void Task_IntroWaterDrops_2(u8 taskId)
gTasks[taskId].data[1]++;
tmp = gTasks[taskId].data[1] / 2;
- SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[tmp]);
+ SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[tmp]);
}
else
{
- SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[31]);
+ SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[31]);
gTasks[taskId].data[1] = 0x10;
gTasks[taskId].data[0]++;
}
diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c
index b98708324..059c1079e 100644
--- a/src/intro_credits_graphics.c
+++ b/src/intro_credits_graphics.c
@@ -57,123 +57,380 @@ static void nullsub_65(struct Sprite *sprite);
static void sub_817B7C4(struct Sprite *sprite);
static void nullsub_66(struct Sprite *sprite);
-static const struct SpriteTemplate gUnknown_085F504C = {
- 2000, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_817B62C
+static const struct SpriteTemplate gUnknown_085F504C =
+{
+ .tileTag = 2000,
+ .paletteTag = 0xFFFF,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_817B62C
};
-static const struct CompressedSpriteSheet gUnknown_085F5064[] = {
- { gUnknown_085F16A8, 0x400, 2000 },
- { NULL }
+static const struct CompressedSpriteSheet gUnknown_085F5064[] =
+{
+ {
+ .data = gUnknown_085F16A8,
+ .size = 0x400,
+ .tag = 2000
+ },
+ {}
};
-static const union AnimCmd gUnknown_085F5074[] = {
+static const union AnimCmd gUnknown_085F5074[] =
+{
ANIMCMD_FRAME( 0, 30),
ANIMCMD_END
};
-static const union AnimCmd gUnknown_085F507C[] = {
+static const union AnimCmd gUnknown_085F507C[] =
+{
ANIMCMD_FRAME(16, 30),
ANIMCMD_END
};
-static const union AnimCmd gUnknown_085F5084[] = {
+static const union AnimCmd gUnknown_085F5084[] =
+{
ANIMCMD_FRAME(20, 30),
ANIMCMD_END
};
-static const union AnimCmd gUnknown_085F508C[] = {
+static const union AnimCmd gUnknown_085F508C[] =
+{
ANIMCMD_FRAME(22, 30),
ANIMCMD_END
};
-static const union AnimCmd *const gUnknown_085F5094[] = {
+static const union AnimCmd *const gUnknown_085F5094[] =
+{
gUnknown_085F5074,
gUnknown_085F507C,
gUnknown_085F5084,
gUnknown_085F508C
};
-static const struct IntroCreditsSpriteMetadata gUnknown_085F50A4[] = {
- { 0, ST_OAM_SQUARE, 2, 72, 32, 100, 0xc00 },
- { 0, ST_OAM_SQUARE, 2, 158, 32, 100, 0xc00 },
- { 1, ST_OAM_SQUARE, 1, 192, 40, 101, 0x800 },
- { 1, ST_OAM_SQUARE, 1, 56, 40, 101, 0x800 },
- { 2, ST_OAM_H_RECTANGLE, 0, 100, 44, 102, 0x400 },
- { 2, ST_OAM_H_RECTANGLE, 0, 152, 44, 102, 0x400 },
- { 3, ST_OAM_H_RECTANGLE, 0, 8, 46, 103, 0x100 },
- { 3, ST_OAM_H_RECTANGLE, 0, 56, 46, 103, 0x100 },
- { 3, ST_OAM_H_RECTANGLE, 0, 240, 46, 103, 0x100 },
+static const struct IntroCreditsSpriteMetadata gUnknown_085F50A4[] =
+{
+ {
+ .animNum = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .x = 72,
+ .y = 32,
+ .subpriority = 100,
+ .xOff = 0xc00
+ },
+ {
+ .animNum = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .x = 158,
+ .y = 32,
+ .subpriority = 100,
+ .xOff = 0xc00
+ },
+ {
+ .animNum = 1,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .x = 192,
+ .y = 40,
+ .subpriority = 101,
+ .xOff = 0x800
+ },
+ {
+ .animNum = 1,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .x = 56,
+ .y = 40,
+ .subpriority = 101,
+ .xOff = 0x800
+ },
+ {
+ .animNum = 2,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .x = 100,
+ .y = 44,
+ .subpriority = 102,
+ .xOff = 0x400
+ },
+ {
+ .animNum = 2,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .x = 152,
+ .y = 44,
+ .subpriority = 102,
+ .xOff = 0x400
+ },
+ {
+ .animNum = 3,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .x = 8,
+ .y = 46,
+ .subpriority = 103,
+ .xOff = 0x100
+ },
+ {
+ .animNum = 3,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .x = 56,
+ .y = 46,
+ .subpriority = 103,
+ .xOff = 0x100
+ },
+ {
+ .animNum = 3,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .x = 240,
+ .y = 46,
+ .subpriority = 103,
+ .xOff = 0x100
+ },
};
-static const struct CompressedSpriteSheet gUnknown_085F50EC[] = {
- { gIntro2TreeTiles, 0x400, 2000 },
- { NULL }
+static const struct CompressedSpriteSheet gUnknown_085F50EC[] =
+{
+ {
+ .data = gIntro2TreeTiles,
+ .size = 0x400,
+ .tag = 2000
+ },
+ {}
};
-static const union AnimCmd gUnknown_085F50FC[] = {
+static const union AnimCmd gUnknown_085F50FC[] =
+{
ANIMCMD_FRAME( 0, 30),
ANIMCMD_END
};
-static const union AnimCmd gUnknown_085F5104[] = {
+static const union AnimCmd gUnknown_085F5104[] =
+{
ANIMCMD_FRAME(16, 30),
ANIMCMD_END
};
-static const union AnimCmd gUnknown_085F510C[] = {
+static const union AnimCmd gUnknown_085F510C[] =
+{
ANIMCMD_FRAME(24, 30),
ANIMCMD_END
};
-static const union AnimCmd *const gUnknown_085F5114[] = {
+static const union AnimCmd *const gUnknown_085F5114[] =
+{
gUnknown_085F50FC,
gUnknown_085F5104,
gUnknown_085F510C
};
-static const struct IntroCreditsSpriteMetadata gUnknown_085F5120[] = {
- { 0, ST_OAM_SQUARE, 2, 16, 88, 100, 0x2000 },
- { 0, ST_OAM_SQUARE, 2, 80, 88, 100, 0x2000 },
- { 0, ST_OAM_SQUARE, 2, 144, 88, 100, 0x2000 },
- { 0, ST_OAM_SQUARE, 2, 208, 88, 100, 0x2000 },
- { 1, ST_OAM_V_RECTANGLE, 2, 40, 88, 101, 0x1000 },
- { 1, ST_OAM_V_RECTANGLE, 2, 104, 88, 101, 0x1000 },
- { 1, ST_OAM_V_RECTANGLE, 2, 168, 88, 101, 0x1000 },
- { 1, ST_OAM_V_RECTANGLE, 2, 232, 88, 101, 0x1000 },
- { 2, ST_OAM_V_RECTANGLE, 2, 56, 88, 102, 0x800 },
- { 2, ST_OAM_V_RECTANGLE, 2, 120, 88, 102, 0x800 },
- { 2, ST_OAM_V_RECTANGLE, 2, 184, 88, 102, 0x800 },
- { 2, ST_OAM_V_RECTANGLE, 2, 248, 88, 102, 0x800 },
+static const struct IntroCreditsSpriteMetadata gUnknown_085F5120[] =
+{
+ {
+ .animNum = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .x = 16,
+ .y = 88,
+ .subpriority = 100,
+ .xOff = 0x2000,
+ },
+ {
+ .animNum = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .x = 80,
+ .y = 88,
+ .subpriority = 100,
+ .xOff = 0x2000,
+ },
+ {
+ .animNum = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .x = 144,
+ .y = 88,
+ .subpriority = 100,
+ .xOff = 0x2000,
+ },
+ {
+ .animNum = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .x = 208,
+ .y = 88,
+ .subpriority = 100,
+ .xOff = 0x2000,
+ },
+ {
+ .animNum = 1,
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
+ .x = 40,
+ .y = 88,
+ .subpriority = 101,
+ .xOff = 0x1000,
+ },
+ {
+ .animNum = 1,
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
+ .x = 104,
+ .y = 88,
+ .subpriority = 101,
+ .xOff = 0x1000,
+ },
+ {
+ .animNum = 1,
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
+ .x = 168,
+ .y = 88,
+ .subpriority = 101,
+ .xOff = 0x1000,
+ },
+ {
+ .animNum = 1,
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
+ .x = 232,
+ .y = 88,
+ .subpriority = 101,
+ .xOff = 0x1000,
+ },
+ {
+ .animNum = 2,
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
+ .x = 56,
+ .y = 88,
+ .subpriority = 102,
+ .xOff = 0x800,
+ },
+ {
+ .animNum = 2,
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
+ .x = 120,
+ .y = 88,
+ .subpriority = 102,
+ .xOff = 0x800,
+ },
+ {
+ .animNum = 2,
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
+ .x = 184,
+ .y = 88,
+ .subpriority = 102,
+ .xOff = 0x800,
+ },
+ {
+ .animNum = 2,
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
+ .x = 248,
+ .y = 88,
+ .subpriority = 102,
+ .xOff = 0x800,
+ }
};
-static const struct CompressedSpriteSheet gUnknown_085F5180[] = {
- { gIntro2NightTiles, 0x400, 2000 },
- { NULL }
+static const struct CompressedSpriteSheet gUnknown_085F5180[] =
+{
+ {
+ .data = gIntro2NightTiles,
+ .size = 0x400,
+ .tag = 2000
+ },
+ {}
};
-static const union AnimCmd gUnknown_085F5190[] = {
+static const union AnimCmd gUnknown_085F5190[] =
+{
ANIMCMD_FRAME(0, 30),
ANIMCMD_END
};
-static const union AnimCmd *const gUnknown_085F5198[] = {
+static const union AnimCmd *const gUnknown_085F5198[] =
+{
gUnknown_085F5190
};
-static const struct IntroCreditsSpriteMetadata gUnknown_085F519C[] = {
- { 0, ST_OAM_SQUARE, 2, 24, 88, 100, 0x1000 },
- { 0, ST_OAM_SQUARE, 2, 64, 88, 100, 0x1000 },
- { 0, ST_OAM_SQUARE, 2, 104, 88, 100, 0x1000 },
- { 0, ST_OAM_SQUARE, 2, 144, 88, 100, 0x1000 },
- { 0, ST_OAM_SQUARE, 2, 184, 88, 100, 0x1000 },
- { 0, ST_OAM_SQUARE, 2, 224, 88, 100, 0x1000 },
+static const struct IntroCreditsSpriteMetadata gUnknown_085F519C[] =
+{
+ {
+ .animNum = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .x = 24,
+ .y = 88,
+ .subpriority = 100,
+ .xOff = 0x1000,
+ },
+ {
+ .animNum = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .x = 64,
+ .y = 88,
+ .subpriority = 100,
+ .xOff = 0x1000,
+ },
+ {
+ .animNum = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .x = 104,
+ .y = 88,
+ .subpriority = 100,
+ .xOff = 0x1000,
+ },
+ {
+ .animNum = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .x = 144,
+ .y = 88,
+ .subpriority = 100,
+ .xOff = 0x1000,
+ },
+ {
+ .animNum = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .x = 184,
+ .y = 88,
+ .subpriority = 100,
+ .xOff = 0x1000,
+ },
+ {
+ .animNum = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .x = 224,
+ .y = 88,
+ .subpriority = 100,
+ .xOff = 0x1000,
+ }
};
-static const struct OamData gOamData_85F51CC = {
- .y = 160, .shape = ST_OAM_SQUARE, .size = 3, .priority = 1
+static const struct OamData gOamData_85F51CC =
+{
+ .y = 160,
+ .shape = SPRITE_SHAPE(64x64),
+ .size = SPRITE_SIZE(64x64),
+ .priority = 1
};
-static const union AnimCmd gUnknown_085F51D4[] = {
+static const union AnimCmd gUnknown_085F51D4[] =
+{
ANIMCMD_FRAME( 0, 8),
ANIMCMD_FRAME( 64, 8),
ANIMCMD_FRAME(128, 8),
@@ -181,23 +438,43 @@ static const union AnimCmd gUnknown_085F51D4[] = {
ANIMCMD_JUMP(0)
};
-static const union AnimCmd *const gUnknown_085F51E8[] = {
+static const union AnimCmd *const gUnknown_085F51E8[] =
+{
gUnknown_085F51D4
};
-static const struct SpriteTemplate gUnknown_085F51EC = {
- 1002, 1002, &gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65
+static const struct SpriteTemplate gUnknown_085F51EC =
+{
+ .tileTag = 1002,
+ .paletteTag = 1002,
+ .oam = &gOamData_85F51CC,
+ .anims = gUnknown_085F51E8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = nullsub_65
};
-static const struct SpriteTemplate gUnknown_085F5204 = {
- 1003, 1003, &gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65
+static const struct SpriteTemplate gUnknown_085F5204 =
+{
+ .tileTag = 1003,
+ .paletteTag = 1003,
+ .oam = &gOamData_85F51CC,
+ .anims = gUnknown_085F51E8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = nullsub_65
};
-static const struct OamData gUnknown_085F521C = {
- .y = 160, .shape = ST_OAM_H_RECTANGLE, .size = 3, .priority = 1
+static const struct OamData gUnknown_085F521C =
+{
+ .y = 160,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .priority = 1
};
-static const union AnimCmd gUnknown_085F5224[] = {
+static const union AnimCmd gUnknown_085F5224[] =
+{
ANIMCMD_FRAME( 0, 8),
ANIMCMD_FRAME( 32, 8),
ANIMCMD_FRAME( 64, 8),
@@ -205,119 +482,217 @@ static const union AnimCmd gUnknown_085F5224[] = {
ANIMCMD_JUMP(0)
};
-static const union AnimCmd *const gUnknown_085F5238[] = {
+static const union AnimCmd *const gUnknown_085F5238[] =
+{
gUnknown_085F5224
};
-static const struct SpriteTemplate gUnknown_085F523C = {
- 1001, 1002, &gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4
+static const struct SpriteTemplate gUnknown_085F523C =
+{
+ .tileTag = 1001,
+ .paletteTag = 1002,
+ .oam = &gUnknown_085F521C,
+ .anims = gUnknown_085F5238,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_817B7C4
};
-static const struct SpriteTemplate gUnknown_085F5254 = {
- 1001, 1003, &gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4
+static const struct SpriteTemplate gUnknown_085F5254 =
+{
+ .tileTag = 1001,
+ .paletteTag = 1003,
+ .oam = &gUnknown_085F521C,
+ .anims = gUnknown_085F5238,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_817B7C4
};
-static const struct OamData gUnknown_085F526C = {
- .y = 160, .shape = ST_OAM_SQUARE, .size = 3, .priority = 1
+static const struct OamData gUnknown_085F526C =
+{
+ .y = 160,
+ .shape = SPRITE_SHAPE(64x64),
+ .size = SPRITE_SIZE(64x64),
+ .priority = 1
};
-static const union AnimCmd gUnknown_085F5274[] = {
+static const union AnimCmd gUnknown_085F5274[] =
+{
ANIMCMD_FRAME( 0, 16),
ANIMCMD_END
};
-static const union AnimCmd gUnknown_085F527C[] = {
+static const union AnimCmd gUnknown_085F527C[] =
+{
ANIMCMD_FRAME( 64, 16),
ANIMCMD_END
};
-static const union AnimCmd *const gUnknown_085F5284[] = {
+static const union AnimCmd *const gUnknown_085F5284[] =
+{
gUnknown_085F5274,
gUnknown_085F527C
};
-static const struct SpriteTemplate gUnknown_085F528C = {
- 1004, 1004, &gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66
+static const struct SpriteTemplate gUnknown_085F528C =
+{
+ .tileTag = 1004,
+ .paletteTag = 1004,
+ .oam = &gUnknown_085F526C,
+ .anims = gUnknown_085F5284,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = nullsub_66
};
-static const struct SpriteTemplate gUnknown_085F52A4 = {
- 1005, 1005, &gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66
+static const struct SpriteTemplate gUnknown_085F52A4 =
+{
+ .tileTag = 1005,
+ .paletteTag = 1005,
+ .oam = &gUnknown_085F526C,
+ .anims = gUnknown_085F5284,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = nullsub_66
};
-const struct CompressedSpriteSheet gIntro2BrendanSpriteSheet[] = {
- { gIntro2BrendanNoTurnGfx, 0x2000, 1002 },
- { NULL }
+const struct CompressedSpriteSheet gIntro2BrendanSpriteSheet[] =
+{
+ {
+ .data = gIntro2BrendanNoTurnGfx,
+ .size = 0x2000,
+ .tag = 1002
+ },
+ {}
};
-const struct CompressedSpriteSheet gIntro2MaySpriteSheet[] = {
- { gIntro2MayNoTurnGfx, 0x2000, 1003 },
- { NULL }
+const struct CompressedSpriteSheet gIntro2MaySpriteSheet[] =
+{
+ {
+ .data = gIntro2MayNoTurnGfx,
+ .size = 0x2000,
+ .tag = 1003
+ },
+ {}
};
-const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[] = {
- { gIntro2BicycleTiles, 0x1000, 1001 },
- { NULL }
+const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[] =
+{
+ {
+ .data = gIntro2BicycleTiles,
+ .size = 0x1000,
+ .tag = 1001
+ },
+ {}
};
-static const struct CompressedSpriteSheet gUnknown_085F52EC[] = {
- { gIntro2FlygonGfx, 0x1000, 1004 },
- { NULL }
+static const struct CompressedSpriteSheet gUnknown_085F52EC[] =
+{
+ {
+ .data = gIntro2FlygonGfx,
+ .size = 0x1000,
+ .tag = 1004
+ },
+ {}
};
-const struct CompressedSpriteSheet gIntro2FlygonSpriteSheet[] = {
- { gIntro2FlygonGfx, 0x1000, 1005 },
- { NULL }
+const struct CompressedSpriteSheet gIntro2FlygonSpriteSheet[] =
+{
+ {
+ .data = gIntro2FlygonGfx,
+ .size = 0x1000,
+ .tag = 1005
+ },
+ {}
};
-const struct SpritePalette gIntroBikeAndFlygonPalette[] = {
- { gIntro2BrendanNoTurnPal, 1002 },
- { gIntro2BrendanNoTurnPal, 1003 },
- { gIntro2FlygonPal, 1004 },
- { gIntro2FlygonPal, 1005 },
- { NULL }
+const struct SpritePalette gIntroBikeAndFlygonPalette[] =
+{
+ { .data = gIntro2BrendanNoTurnPal, .tag = 1002 },
+ { .data = gIntro2BrendanNoTurnPal, .tag = 1003 },
+ { .data = gIntro2FlygonPal, .tag = 1004 },
+ { .data = gIntro2FlygonPal, .tag = 1005 },
+ {}
};
-const struct CompressedSpriteSheet gUnknown_085F5334[] = {
- { gIntro2BrendanTiles, 0x3800, 1002 },
- { NULL }
+const struct CompressedSpriteSheet gUnknown_085F5334[] =
+{
+ {
+ .data = gIntro2BrendanTiles,
+ .size = 0x3800,
+ .tag = 1002
+ },
+ {}
};
-const struct CompressedSpriteSheet gUnknown_085F5344[] = {
- { gIntro2MayTiles, 0x3800, 1003 },
- { NULL }
+const struct CompressedSpriteSheet gUnknown_085F5344[] =
+{
+ {
+ .data = gIntro2MayTiles,
+ .size = 0x3800,
+ .tag = 1003
+ },
+ {}
};
-const struct CompressedSpriteSheet gUnknown_085F5354[] = {
- { gIntro2BicycleTiles, 0x1000, 1001 },
- { NULL }
+const struct CompressedSpriteSheet gUnknown_085F5354[] =
+{
+ {
+ .data = gIntro2BicycleTiles,
+ .size = 0x1000,
+ .tag = 1001
+ },
+ {}
};
-static const struct CompressedSpriteSheet gUnknown_085F5364[] = {
- { gIntro2LatiosTiles, 0x1000, 1004 },
- { NULL }
+static const struct CompressedSpriteSheet gUnknown_085F5364[] =
+{
+ {
+ .data = gIntro2LatiosTiles,
+ .size = 0x1000,
+ .tag = 1004
+ },
+ {}
};
-static const struct CompressedSpriteSheet gUnknown_085F5374[] = {
- { gIntro2LatiasTiles, 0x1000, 1005 },
- { NULL }
+static const struct CompressedSpriteSheet gUnknown_085F5374[] =
+{
+ {
+ .data = gIntro2LatiasTiles,
+ .size = 0x1000,
+ .tag = 1005
+ },
+ {}
};
-const struct SpritePalette gUnknown_085F5384[] = {
- { gIntro2BrendanPalette, 1002 },
- { gIntro2MayPalette, 1003 },
- { gIntro2LatiosPalette, 1004 },
- { gIntro2LatiasPalette, 1005 },
- { NULL }
+const struct SpritePalette gUnknown_085F5384[] =
+{
+ { .data = gIntro2BrendanPalette, .tag = 1002 },
+ { .data = gIntro2MayPalette, .tag = 1003 },
+ { .data = gIntro2LatiosPalette, .tag = 1004 },
+ { .data = gIntro2LatiasPalette, .tag = 1005 },
+ {}
};
-const struct CompressedSpriteSheet gUnknown_085F53AC[] = {
- { gIntro2BrendanTiles, 0x2000, 1002},
- { NULL }
+const struct CompressedSpriteSheet gUnknown_085F53AC[] =
+{
+ {
+ .data = gIntro2BrendanTiles,
+ .size = 0x2000,
+ .tag = 1002
+ },
+ {}
};
-const struct CompressedSpriteSheet gUnknown_085F53BC[] = {
- { gIntro2MayTiles, 0x2000, 1003},
- { NULL }
+const struct CompressedSpriteSheet gUnknown_085F53BC[] =
+{
+ {
+ .data = gIntro2MayTiles,
+ .size = 0x2000,
+ .tag = 1003
+ },
+ {}
};
EWRAM_DATA u16 gUnknown_0203BD24 = 0;
diff --git a/src/item.c b/src/item.c
index 0e13ddf4c..fe8e8eadd 100644
--- a/src/item.c
+++ b/src/item.c
@@ -537,7 +537,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count)
if (totalQuantity < count)
return FALSE; // We don't have enough of the item
- if (CurrentMapIsSecretBase() == TRUE)
+ if (CurMapIsSecretBase() == TRUE)
{
VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x200);
VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, itemId);
diff --git a/src/item_icon.c b/src/item_icon.c
index e9379dbba..91c32951a 100644
--- a/src/item_icon.c
+++ b/src/item_icon.c
@@ -20,10 +20,10 @@ static const struct OamData sOamData_ItemIcon =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 2,
@@ -122,7 +122,7 @@ u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId)
}
}
-u8 AddCustomItemIconSprite(struct SpriteTemplate *customSpriteTemplate, u16 tilesTag, u16 paletteTag, u16 itemId)
+u8 AddCustomItemIconSprite(const struct SpriteTemplate *customSpriteTemplate, u16 tilesTag, u16 paletteTag, u16 itemId)
{
if (!AllocItemIconTemporaryBuffers())
{
diff --git a/src/item_menu.c b/src/item_menu.c
index 5738757bd..c000b9563 100755
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -8,7 +8,7 @@
#include "bg.h"
#include "constants/items.h"
#include "constants/songs.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "event_data.h"
#include "event_object_movement.h"
@@ -447,7 +447,7 @@ static EWRAM_DATA struct TempWallyStruct *gUnknown_0203CE80 = 0;
extern u8 *const gPocketNamesStringsTable[];
extern u8* gReturnToXStringsTable[];
-extern const u8 EventScript_2736B3[];
+extern const u8 EventScript_SelectWithoutRegisteredItem[];
extern const u16 gUnknown_0860F074[];
void ResetBagScrollPositions(void)
@@ -1107,7 +1107,7 @@ void Task_BagMenu(u8 taskId)
{
case LIST_NOTHING_CHOSEN:
break;
- case LIST_B_PRESSED:
+ case LIST_CANCEL:
if (gUnknown_0203CE58.location == 5)
{
PlaySE(SE_HAZURE);
@@ -1323,7 +1323,7 @@ void sub_81AC3C0(u8 taskId)
{
case LIST_NOTHING_CHOSEN:
break;
- case LIST_B_PRESSED:
+ case LIST_CANCEL:
PlaySE(SE_SELECT);
if (gMain.newKeys & A_BUTTON)
sub_81AC498(taskId);
@@ -1900,7 +1900,7 @@ bool8 UseRegisteredKeyItemOnField(void)
else
gSaveBlock1Ptr->registeredItem = ITEM_NONE;
}
- ScriptContext1_SetupScript(EventScript_2736B3);
+ ScriptContext1_SetupScript(EventScript_SelectWithoutRegisteredItem);
return TRUE;
}
diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c
index 669195b33..83ed3abfe 100644
--- a/src/item_menu_icons.c
+++ b/src/item_menu_icons.c
@@ -36,10 +36,10 @@ static const struct OamData sOamData_857FAA4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -146,10 +146,10 @@ static const struct OamData sOamData_857FB64 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 4,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -217,10 +217,10 @@ static const struct OamData sOamData_857FBC8 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 1,
.paletteNum = 7,
@@ -234,10 +234,10 @@ static const struct OamData sOamData_857FBD0 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 0,
.paletteNum = 7,
@@ -374,10 +374,10 @@ static const struct OamData sOamData_857FDFC =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
diff --git a/src/item_use.c b/src/item_use.c
index e646a18ee..8e28d48fd 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -4,9 +4,10 @@
#include "battle_pyramid.h"
#include "battle_pyramid_bag.h"
#include "berry.h"
+#include "berry_powder.h"
#include "bike.h"
#include "coins.h"
-#include "data2.h"
+#include "data.h"
#include "event_data.h"
#include "event_object_movement.h"
#include "fieldmap.h"
@@ -41,12 +42,10 @@
#include "constants/vars.h"
#include "event_obj_lock.h"
-extern u8 Route102_EventScript_274482[];
-extern u8 Route102_EventScript_2744C0[];
+extern u8 BerryTree_EventScript_274482[];
+extern u8 BerryTree_EventScript_2744C0[];
extern u8 BattleFrontier_OutsideEast_EventScript_242CFC[];
-extern s32 sub_80247BC(void);
-
void SetUpItemUseCallback(u8 taskId);
void MapPostLoadHook_UseItem(void);
void sub_80AF6D4(void);
@@ -638,7 +637,7 @@ void ItemUseOutOfBattle_CoinCase(u8 taskId)
void ItemUseOutOfBattle_PowderJar(u8 taskId)
{
- ConvertIntToDecimalStringN(gStringVar1, sub_80247BC(), 0, 5);
+ ConvertIntToDecimalStringN(gStringVar1, GetBerryPowder(), 0, 5);
StringExpandPlaceholders(gStringVar4, gText_PowderQty);
if (!gTasks[taskId].data[3])
@@ -670,7 +669,7 @@ void sub_80FDD74(u8 taskId)
{
RemoveBagItem(gSpecialVar_ItemId, 1);
ScriptContext2_Enable();
- ScriptContext1_SetupScript(Route102_EventScript_274482);
+ ScriptContext1_SetupScript(BerryTree_EventScript_274482);
DestroyTask(taskId);
}
@@ -695,7 +694,7 @@ void ItemUseOutOfBattle_WailmerPail(u8 taskId)
void sub_80FDE08(u8 taskId)
{
ScriptContext2_Enable();
- ScriptContext1_SetupScript(Route102_EventScript_2744C0);
+ ScriptContext1_SetupScript(BerryTree_EventScript_2744C0);
DestroyTask(taskId);
}
diff --git a/src/learn_move.c b/src/learn_move.c
deleted file mode 100644
index 879acff6d..000000000
--- a/src/learn_move.c
+++ /dev/null
@@ -1,833 +0,0 @@
-#include "global.h"
-#include "main.h"
-#include "battle.h"
-#include "bg.h"
-#include "contest_effect.h"
-#include "data2.h"
-#include "event_data.h"
-#include "field_screen_effect.h"
-#include "gpu_regs.h"
-#include "learn_move.h"
-#include "list_menu.h"
-#include "alloc.h"
-#include "menu.h"
-#include "menu_helpers.h"
-#include "overworld.h"
-#include "palette.h"
-#include "pokemon_summary_screen.h"
-#include "pokenav.h"
-#include "script.h"
-#include "sound.h"
-#include "sprite.h"
-#include "string_util.h"
-#include "strings.h"
-#include "task.h"
-#include "constants/rgb.h"
-#include "constants/songs.h"
-
-static EWRAM_DATA struct
-{
- u8 state;
- u8 spriteIds[16]; /*0x001*/
- u16 movesToLearn[4]; /*0x012*/
- u8 filler1A[0x44 - 0x1A]; /*0x01A*/
- u8 partyMon; /*0x044*/
- u8 moveSlot; /*0x045*/
- struct ListMenuItem menuItems[20]; /*0x048*/
- u8 fillerE8[0x110 - 0xE8]; /*0x0E8*/
- u8 numMenuChoices; /*0x110*/
- u8 numToShowAtOnce; /*0x111*/
- u8 listMenuTask; /*0x112*/
- u8 scrollArrowTaskId1; /*0x113*/
- u8 scrollArrowTaskId2; /*0x114*/
- u16 scrollOffset; /*0x116*/
-} *sLearnMoveStruct = {0};
-
-static EWRAM_DATA struct {
- u16 listOffset;
- u16 listRow;
- u8 showContestInfo;
-} sLearnMoveStruct2 = {0};
-
-const u16 gUnknown_085CE9F8[] = INCBIN_U16("graphics/interface/ui_learn_move.gbapal");
-const u8 gUnknown_085CEA18[] = INCBIN_U8("graphics/interface/ui_learn_move.4bpp");
-
-const struct OamData gUnknown_085CEB98 =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = ST_OAM_OBJ_NORMAL,
- .mosaic = 0,
- .bpp = ST_OAM_4BPP,
- .shape = ST_OAM_SQUARE,
- .x = 0,
- .matrixNum = 0,
- .size = 0,
- .tileNum = 0,
- .priority = 0,
- .paletteNum = 0,
- .affineParam = 0,
-};
-
-const struct OamData gUnknown_085CEBA0 =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = ST_OAM_OBJ_NORMAL,
- .mosaic = 0,
- .bpp = ST_OAM_4BPP,
- .shape = ST_OAM_V_RECTANGLE,
- .x = 0,
- .matrixNum = 0,
- .size = 0,
- .tileNum = 0,
- .priority = 0,
- .paletteNum = 0,
- .affineParam = 0,
-};
-
-const struct OamData gUnknown_085CEBA8 =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = ST_OAM_OBJ_NORMAL,
- .mosaic = 0,
- .bpp = ST_OAM_4BPP,
- .shape = ST_OAM_H_RECTANGLE,
- .x = 0,
- .matrixNum = 0,
- .size = 0,
- .tileNum = 0,
- .priority = 0,
- .paletteNum = 0,
- .affineParam = 0,
-};
-
-const struct SpriteSheet gUnknown_085CEBB0 =
-{
- .data = gUnknown_085CEA18,
- .size = 0x180,
- .tag = 5525
-};
-
-const struct SpritePalette gUnknown_085CEBB8 =
-{
- .data = gUnknown_085CE9F8,
- .tag = 5526
-};
-
-const struct ScrollArrowsTemplate gUnknown_085CEBC0 =
-{
- .firstArrowType = 0,
- .firstX = 27,
- .firstY = 16,
- .secondArrowType = 1,
- .secondX = 117,
- .secondY = 16,
- .fullyUpThreshold = -1,
- .fullyDownThreshold = -1,
- .tileTag = 5325,
- .palTag = 5325,
- .palNum = 0,
-};
-
-const struct ScrollArrowsTemplate gUnknown_085CEBD0 =
-{
- .firstArrowType = 2,
- .firstX = 192,
- .firstY = 8,
- .secondArrowType = 3,
- .secondX = 192,
- .secondY = 104,
- .fullyUpThreshold = 0,
- .fullyDownThreshold = 0,
- .tileTag = 5425,
- .palTag = 5425,
- .palNum = 0,
-};
-
-const union AnimCmd gUnknown_085CEBE0[] =
-{
- ANIMCMD_FRAME(8, 5, FALSE, FALSE),
- ANIMCMD_END
-};
-
-const union AnimCmd gUnknown_085CEBE8[] =
-{
- ANIMCMD_FRAME(9, 5, FALSE, FALSE),
- ANIMCMD_END
-};
-
-const union AnimCmd gUnknown_085CEBF0[] =
-{
- ANIMCMD_FRAME(10, 5, FALSE, FALSE),
- ANIMCMD_END
-};
-
-const union AnimCmd gUnknown_085CEBF8[] =
-{
- ANIMCMD_FRAME(11, 5, FALSE, FALSE),
- ANIMCMD_END
-};
-
-const union AnimCmd *const gUnknown_085CEC00[] =
-{
- gUnknown_085CEBE0,
- gUnknown_085CEBE8,
- gUnknown_085CEBF0,
- gUnknown_085CEBF8,
-};
-
-const struct SpriteTemplate gUnknown_085CEC10 =
-{
- .tileTag = 5525,
- .paletteTag = 5526,
- .oam = &gUnknown_085CEB98,
- .anims = gUnknown_085CEC00,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy
-};
-
-const struct BgTemplate gUnknown_085CEC28[] =
-{
- {
- .bg = 0,
- .charBaseIndex = 0,
- .mapBaseIndex = 31,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 0,
- .baseTile = 0,
- },
- {
- .bg = 1,
- .charBaseIndex = 0,
- .mapBaseIndex = 30,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 1,
- .baseTile = 0,
- },
-};
-
-static void LearnMoveMain(void);
-static void CreateMenuItemsList(void);
-static void CreateHearts(void);
-static void CB2_Main(void);
-static void Task_WaitForFadeOut(u8 taskId);
-static void CB2_InitLearnMove(void);
-static void CB2_InitLearnMoveReturnFromSelectMove(void);
-static void InitBGs(void);
-static void AddScrollArrows(void);
-static void HandleInput(u8);
-static void ShowTeachMoveText(u8);
-static s32 GetCurrentItemId(void);
-static void FreeListMenuResources(void);
-static void RemoveScrollArrows(void);
-static void HideSpritesAndPrintTeachText(bool8);
-
-static void VBlankCB_LearnMove(void)
-{
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
-}
-
-void TeachMoveTutorMove(void)
-{
- ScriptContext2_Enable();
- CreateTask(Task_WaitForFadeOut, 0xA);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
-}
-
-static void Task_WaitForFadeOut(u8 taskId)
-{
- if (!gPaletteFade.active)
- {
- SetMainCallback2(CB2_InitLearnMove);
- gFieldCallback = sub_80AF168;
- DestroyTask(taskId);
- }
-}
-
-static void CB2_InitLearnMove(void)
-{
- ResetSpriteData();
- FreeAllSpritePalettes();
- ResetTasks();
- clear_scheduled_bg_copies_to_vram();
- sLearnMoveStruct = AllocZeroed(sizeof(*sLearnMoveStruct));
- sLearnMoveStruct->partyMon = gSpecialVar_0x8004;
- SetVBlankCallback(VBlankCB_LearnMove);
-
- InitBGs();
- sub_81D2824(0);
-
- sLearnMoveStruct2.listOffset = 0;
- sLearnMoveStruct2.listRow = 0;
- sLearnMoveStruct2.showContestInfo = FALSE;
-
- CreateMenuItemsList();
-
- LoadSpriteSheet(&gUnknown_085CEBB0);
- LoadSpritePalette(&gUnknown_085CEBB8);
- CreateHearts();
-
- sLearnMoveStruct->listMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sLearnMoveStruct2.listOffset, sLearnMoveStruct2.listRow);
- FillPalette(RGB_BLACK, 0, 2);
- SetMainCallback2(CB2_Main);
-}
-
-static void CB2_InitLearnMoveReturnFromSelectMove(void)
-{
- ResetSpriteData();
- FreeAllSpritePalettes();
- ResetTasks();
- clear_scheduled_bg_copies_to_vram();
- sLearnMoveStruct = AllocZeroed(sizeof(*sLearnMoveStruct));
- sLearnMoveStruct->state = 28;
- sLearnMoveStruct->partyMon = gSpecialVar_0x8004;
- sLearnMoveStruct->moveSlot = gSpecialVar_0x8005;
- SetVBlankCallback(VBlankCB_LearnMove);
-
- InitBGs();
- sub_81D2824(sLearnMoveStruct2.showContestInfo);
- CreateMenuItemsList();
-
- LoadSpriteSheet(&gUnknown_085CEBB0);
- LoadSpritePalette(&gUnknown_085CEBB8);
- CreateHearts();
-
- sLearnMoveStruct->listMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sLearnMoveStruct2.listOffset, sLearnMoveStruct2.listRow);
- FillPalette(RGB_BLACK, 0, 2);
- SetMainCallback2(CB2_Main);
-}
-
-static void InitBGs(void)
-{
- ResetVramOamAndBgCntRegs();
- ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_085CEC28, 2);
- ResetAllBgsCoordinates();
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_OBJ_ON);
- ShowBg(0);
- ShowBg(1);
- SetGpuReg(REG_OFFSET_BLDCNT, 0);
-}
-
-static void CB2_Main(void)
-{
- LearnMoveMain();
- RunTasks();
- AnimateSprites();
- BuildOamBuffer();
- do_scheduled_bg_tilemap_copies_to_vram();
- UpdatePaletteFade();
-}
-
-static void sub_816084C(const u8 *src)
-{
- StringExpandPlaceholders(gStringVar4, src);
- sub_81D2BF4(gStringVar4);
-}
-
-static void LearnMoveMain(void)
-{
- switch (sLearnMoveStruct->state)
- {
- case 0:
- sLearnMoveStruct->state++;
- HideSpritesAndPrintTeachText(FALSE);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
- break;
- case 1:
- if (!gPaletteFade.active)
- {
- sLearnMoveStruct->state = 4;
- }
- break;
- case 2:
- sLearnMoveStruct->state++;
- break;
- case 3:
- HideSpritesAndPrintTeachText(FALSE);
- sLearnMoveStruct->state++;
- AddScrollArrows();
- break;
- case 4:
- HandleInput(FALSE);
- return;
- case 5:
- ShowTeachMoveText(FALSE);
- sLearnMoveStruct->state++;
- AddScrollArrows();
- break;
- case 6:
- HandleInput(TRUE);
- break;
- case 8:
- if (!sub_81D2C3C())
- {
- sub_81D2C50();
- sLearnMoveStruct->state++;
- }
- break;
- case 9:
- {
- s8 selection = Menu_ProcessInputNoWrapClearOnChoose();
-
- if (selection == 0)
- {
- if (GiveMoveToMon(&gPlayerParty[sLearnMoveStruct->partyMon], GetCurrentItemId()) != 0xFFFF)
- {
- sub_816084C(gText_PkmnLearnedMove4);
- gSpecialVar_0x8004 = 1;
- sLearnMoveStruct->state = 31;
- }
- else
- {
- sLearnMoveStruct->state = 16;
- }
- }
- else if (selection == -1 || selection == 1)
- {
- if (sLearnMoveStruct2.showContestInfo == FALSE)
- {
- sLearnMoveStruct->state = 3;
- }
- else if (sLearnMoveStruct2.showContestInfo == TRUE)
- {
- sLearnMoveStruct->state = 5;
- }
- }
- }
- break;
- case 12:
- if (!sub_81D2C3C())
- {
- sub_81D2C50();
- sLearnMoveStruct->state++;
- }
- break;
- case 13:
- {
- s8 selection = Menu_ProcessInputNoWrapClearOnChoose();
-
- if (selection == 0)
- {
- gSpecialVar_0x8004 = selection;
- sLearnMoveStruct->state = 14;
- }
- else if (selection == -1 || selection == 1)
- {
- if (sLearnMoveStruct2.showContestInfo == FALSE)
- {
- sLearnMoveStruct->state = 3;
- }
- else if (sLearnMoveStruct2.showContestInfo == TRUE)
- {
- sLearnMoveStruct->state = 5;
- }
- }
- }
- break;
- case 16:
- sub_816084C(gText_PkmnTryingToLearnMove);
- sLearnMoveStruct->state++;
- break;
- case 17:
- if (!sub_81D2C3C())
- {
- sub_81D2C50();
- sLearnMoveStruct->state = 18;
- }
- break;
- case 18:
- {
- s8 var = Menu_ProcessInputNoWrapClearOnChoose();
-
- if (var == 0)
- {
- sub_816084C(gText_WhichMoveToForget2);
- sLearnMoveStruct->state = 19;
- }
- else if (var == -1 || var == 1)
- {
- sLearnMoveStruct->state = 24;
- }
- }
- break;
- case 24:
- StringCopy(gStringVar2, gMoveNames[GetCurrentItemId()]);
- sub_816084C(gText_StopTryingToTeachMove);
- sLearnMoveStruct->state++;
- break;
- case 25:
- if (!sub_81D2C3C())
- {
- sub_81D2C50();
- sLearnMoveStruct->state++;
- }
- break;
- case 26:
- {
- s8 var = Menu_ProcessInputNoWrapClearOnChoose();
-
- if (var == 0)
- {
- sLearnMoveStruct->state = 27;
- }
- else if (var == -1 || var == 1)
- {
- // What's the point? It gets set to 16, anyway.
- if (sLearnMoveStruct2.showContestInfo == FALSE)
- {
- sLearnMoveStruct->state = 3;
- }
- else if (sLearnMoveStruct2.showContestInfo == TRUE)
- {
- sLearnMoveStruct->state = 5;
- }
- sLearnMoveStruct->state = 16;
- }
- }
- break;
- case 27:
- if (!sub_81D2C3C())
- {
- FillWindowPixelBuffer(3, PIXEL_FILL(1));
- if (sLearnMoveStruct2.showContestInfo == FALSE)
- {
- sLearnMoveStruct->state = 3;
- }
- else if (sLearnMoveStruct2.showContestInfo == TRUE)
- {
- sLearnMoveStruct->state = 5;
- }
- }
- break;
- case 19:
- if (!sub_81D2C3C())
- {
- sLearnMoveStruct->state = 20;
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- }
- break;
- case 20:
- if (!gPaletteFade.active)
- {
- ShowSelectMovePokemonSummaryScreen(gPlayerParty, sLearnMoveStruct->partyMon, gPlayerPartyCount - 1, CB2_InitLearnMoveReturnFromSelectMove, GetCurrentItemId());
- FreeListMenuResources();
- }
- break;
- case 21:
- if (!sub_81D2C3C())
- {
- sLearnMoveStruct->state = 14;
- }
- break;
- case 22:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
- break;
- case 14:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- sLearnMoveStruct->state++;
- break;
- case 15:
- if (!gPaletteFade.active)
- {
- FreeListMenuResources();
- SetMainCallback2(CB2_ReturnToField);
- }
- break;
- case 28:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
- sLearnMoveStruct->state++;
- if (sLearnMoveStruct2.showContestInfo == FALSE)
- {
- HideSpritesAndPrintTeachText(TRUE);
- }
- else if (sLearnMoveStruct2.showContestInfo == TRUE)
- {
- ShowTeachMoveText(TRUE);
- }
- RemoveScrollArrows();
- CopyWindowToVram(3, 2);
- break;
- case 29:
- if (!gPaletteFade.active)
- {
- if (sLearnMoveStruct->moveSlot == MAX_MON_MOVES)
- {
- sLearnMoveStruct->state = 24;
- }
- else
- {
- u16 moveId = GetMonData(&gPlayerParty[sLearnMoveStruct->partyMon], MON_DATA_MOVE1 + sLearnMoveStruct->moveSlot);
-
- StringCopy(gStringVar3, gMoveNames[moveId]);
- RemoveMonPPBonus(&gPlayerParty[sLearnMoveStruct->partyMon], sLearnMoveStruct->moveSlot);
- SetMonMoveSlot(&gPlayerParty[sLearnMoveStruct->partyMon], GetCurrentItemId(), sLearnMoveStruct->moveSlot);
- StringCopy(gStringVar2, gMoveNames[GetCurrentItemId()]);
- sub_816084C(gText_12AndPoof);
- sLearnMoveStruct->state = 30;
- gSpecialVar_0x8004 = 1;
- }
- }
- break;
- case 30:
- if (!sub_81D2C3C())
- {
- sub_816084C(gText_PkmnForgotMoveAndLearnedNew);
- sLearnMoveStruct->state = 31;
- PlayFanfare(MUS_FANFA1);
- }
- break;
- case 31:
- if (!sub_81D2C3C())
- {
- PlayFanfare(MUS_FANFA1);
- sLearnMoveStruct->state = 32;
- }
- break;
- case 32:
- if (IsFanfareTaskInactive())
- {
- sLearnMoveStruct->state = 33;
- }
- break;
- case 33:
- if (gMain.newKeys & A_BUTTON)
- {
- PlaySE(SE_SELECT);
- sLearnMoveStruct->state = 14;
- }
- break;
- }
-}
-
-static void FreeListMenuResources(void)
-{
- RemoveScrollArrows();
- DestroyListMenuTask(sLearnMoveStruct->listMenuTask, &sLearnMoveStruct2.listOffset, &sLearnMoveStruct2.listRow);
- FreeAllWindowBuffers();
- FREE_AND_SET_NULL(sLearnMoveStruct);
- ResetSpriteData();
- FreeAllSpritePalettes();
-}
-
-static void HideSpritesAndPrintTeachText(bool8 a)
-{
- s32 i;
-
- for (i = 0; i < 16; i++)
- {
- gSprites[sLearnMoveStruct->spriteIds[i]].invisible = TRUE;
- }
-
- if (!a)
- {
- StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn);
- FillWindowPixelBuffer(3, PIXEL_FILL(1));
- AddTextPrinterParameterized(3, 1, gStringVar4, 0, 1, 0, NULL);
- }
-}
-
-static void HandleInput(bool8 showContest)
-{
- s32 itemId = ListMenu_ProcessInput(sLearnMoveStruct->listMenuTask);
- ListMenuGetScrollAndRow(sLearnMoveStruct->listMenuTask, &sLearnMoveStruct2.listOffset, &sLearnMoveStruct2.listRow);
-
- switch (itemId)
- {
- case LIST_NOTHING_CHOSEN:
- if (!(gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) && !GetLRKeysState())
- {
- break;
- }
-
- PlaySE(SE_SELECT);
-
- if (showContest == FALSE)
- {
- PutWindowTilemap(1);
- sLearnMoveStruct->state = 5;
- sLearnMoveStruct2.showContestInfo = TRUE;
- }
- else
- {
- PutWindowTilemap(0);
- sLearnMoveStruct->state = 3;
- sLearnMoveStruct2.showContestInfo = FALSE;
- }
-
- schedule_bg_copy_tilemap_to_vram(1);
- ShowHideHearts(GetCurrentItemId());
- break;
- case LIST_B_PRESSED:
- PlaySE(SE_SELECT);
- RemoveScrollArrows();
- sLearnMoveStruct->state = 12;
- StringExpandPlaceholders(gStringVar4, gText_GiveUpTeachingNewMove);
- sub_81D2BF4(gStringVar4);
- break;
- default:
- PlaySE(SE_SELECT);
- RemoveScrollArrows();
- sLearnMoveStruct->state = 8;
- StringCopy(gStringVar2, gMoveNames[itemId]);
- StringExpandPlaceholders(gStringVar4, gText_TeachX);
- sub_81D2BF4(gStringVar4);
- break;
- }
-}
-
-static s32 GetCurrentItemId(void)
-{
- return sLearnMoveStruct->menuItems[sLearnMoveStruct2.listRow + sLearnMoveStruct2.listOffset].id;
-}
-
-static void ShowTeachMoveText(bool8 showContest)
-{
- if (showContest == FALSE)
- {
- StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn);
- FillWindowPixelBuffer(3, PIXEL_FILL(1));
- AddTextPrinterParameterized(3, 1, gStringVar4, 0, 1, 0, NULL);
- }
-}
-
-static void CreateHearts(void)
-{
- int i;
-
- sLearnMoveStruct->scrollArrowTaskId2 = -1;
- sLearnMoveStruct->scrollArrowTaskId1 = -1;
- AddScrollArrows();
-
- for (i = 0; i < 8; i++)
- {
- sLearnMoveStruct->spriteIds[i] = CreateSprite(&gUnknown_085CEC10, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 36, 0);
- }
-
- for (i = 0; i < 8; i++)
- {
- sLearnMoveStruct->spriteIds[i + 8] = CreateSprite(&gUnknown_085CEC10, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 52, 0);
- StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i + 8]], 2);
- }
-
- for (i = 0; i < 16; i++)
- {
- gSprites[sLearnMoveStruct->spriteIds[i]].invisible = TRUE;
- }
-}
-
-static void AddScrollArrows(void)
-{
- if (sLearnMoveStruct->scrollArrowTaskId2 == 0xFF)
- {
- sLearnMoveStruct->scrollArrowTaskId2 = AddScrollIndicatorArrowPair(&gUnknown_085CEBC0, &sLearnMoveStruct->scrollOffset);
- }
-
- if (sLearnMoveStruct->scrollArrowTaskId1 == 0xFF)
- {
- gTempScrollArrowTemplate = gUnknown_085CEBD0;
- gTempScrollArrowTemplate.fullyDownThreshold = sLearnMoveStruct->numMenuChoices - sLearnMoveStruct->numToShowAtOnce;
- sLearnMoveStruct->scrollArrowTaskId1 = AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, &sLearnMoveStruct2.listOffset);
- }
-}
-
-static void RemoveScrollArrows(void)
-{
- if (sLearnMoveStruct->scrollArrowTaskId2 != 0xFF)
- {
- RemoveScrollIndicatorArrowPair(sLearnMoveStruct->scrollArrowTaskId2);
- sLearnMoveStruct->scrollArrowTaskId2 = 0xFF;
- }
-
- if (sLearnMoveStruct->scrollArrowTaskId1 != 0xFF)
- {
- RemoveScrollIndicatorArrowPair(sLearnMoveStruct->scrollArrowTaskId1);
- sLearnMoveStruct->scrollArrowTaskId1 = 0xFF;
- }
-}
-
-static void CreateMenuItemsList(void)
-{
- s32 i;
- u8 nickname[POKEMON_NAME_LENGTH + 1];
-
- sLearnMoveStruct->numMenuChoices = GetMoveRelearnerMoves(&gPlayerParty[sLearnMoveStruct->partyMon], sLearnMoveStruct->movesToLearn);
-
- for (i = 0; i < sLearnMoveStruct->numMenuChoices; i++)
- {
- sLearnMoveStruct->menuItems[i].name = gMoveNames[sLearnMoveStruct->movesToLearn[i]];
- sLearnMoveStruct->menuItems[i].id = sLearnMoveStruct->movesToLearn[i];
- }
-
- GetMonData(&gPlayerParty[sLearnMoveStruct->partyMon], MON_DATA_NICKNAME, nickname);
- StringCopy10(gStringVar1, nickname);
- sLearnMoveStruct->menuItems[sLearnMoveStruct->numMenuChoices].name = gText_Cancel;
- sLearnMoveStruct->menuItems[sLearnMoveStruct->numMenuChoices].id = LIST_B_PRESSED;
- sLearnMoveStruct->numMenuChoices++;
- sLearnMoveStruct->numToShowAtOnce = sub_81D28C8(sLearnMoveStruct->menuItems, sLearnMoveStruct->numMenuChoices);
-}
-
-void ShowHideHearts(s32 item)
-{
- u16 numHearts;
- u16 i;
-
- if (!sLearnMoveStruct2.showContestInfo || item == LIST_B_PRESSED)
- {
- for (i = 0; i < 16; i++)
- {
- gSprites[sLearnMoveStruct->spriteIds[i]].invisible = TRUE;
- }
- }
- else
- {
- numHearts = (u8)(gContestEffects[gContestMoves[item].effect].appeal / 10);
-
- if (numHearts == 0xFF)
- {
- numHearts = 0;
- }
-
- for (i = 0; i < 8; i++)
- {
- if (i < numHearts)
- {
- StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i]], 1);
- }
- else
- {
- StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i]], 0);
- }
- gSprites[sLearnMoveStruct->spriteIds[i]].invisible = FALSE;
- }
-
- numHearts = (u8)(gContestEffects[gContestMoves[item].effect].jam / 10);
-
- if (numHearts == 0xFF)
- {
- numHearts = 0;
- }
-
- for (i = 0; i < 8; i++)
- {
- if (i < numHearts)
- {
- StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i + 8]], 3);
- }
- else
- {
- StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i + 8]], 2);
- }
- gSprites[sLearnMoveStruct->spriteIds[i + 8]].invisible = FALSE;
- }
- }
-}
diff --git a/src/link_rfu.c b/src/link_rfu.c
index d80ff2ae9..7c55df783 100644
--- a/src/link_rfu.c
+++ b/src/link_rfu.c
@@ -11,13 +11,13 @@
#include "overworld.h"
#include "random.h"
#include "palette.h"
-#include "rom_8011DC0.h"
+#include "union_room.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
#include "constants/species.h"
#include "save.h"
-#include "rom_8011DC0.h"
+#include "mystery_gift.h"
extern u16 gHeldKeyCodeToSend;
@@ -154,8 +154,18 @@ const u8 sWireless_RSEtoASCIITable[] = {
0x20, 0x2b, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00
};
-const struct OamData sWirelessStatusIndicatorOamData = {
- .size = 1
+const struct OamData sWirelessStatusIndicatorOamData =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
};
static const union AnimCmd sWirelessStatusIndicatorAnim0[] = {
// 3 bars
@@ -309,10 +319,22 @@ const char gUnknown_082ED7EC[] = "PokemonSioInfo";
const char gUnknown_082ED7FC[] = "LINK LOSS DISCONNECT!";
const char gUnknown_082ED814[] = "LINK LOSS RECOVERY NOW";
-extern const char gUnknown_082ED82C[];
-extern const char gUnknown_082ED84B[];
-extern const char gUnknown_082ED85B[];
-extern const char gUnknown_082ED868[];
+ALIGNED(4) const char gUnknown_082ED82C[31] = {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',0x00};
+const char gUnknown_082ED84B[16] = {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',0x00};
+const char gUnknown_082ED85B[9] = {' ',' ',' ',' ',' ',' ',' ',' ',0x00};
+ALIGNED(4) const char gUnknown_082ED864[2] = {' ',0x00};
+const char gUnknown_082ED866[2] = {'*',0x00};
+const char gUnknown_082ED868[8] = "NOWSLOT";
+const char gUnknown_082ED870[12] = " ";
+const char gUnknown_082ED87C[12] = "CLOCK DRIFT";
+const char gUnknown_082ED888[12] = "BUSY SEND ";
+const char gUnknown_082ED894[12] = "CMD REJECT ";
+const char gUnknown_082ED8A0[12] = "CLOCK SLAVE";
+const char gUnknown_082ED8A8[3][8] = {
+ "CHILD ",
+ "PARENT",
+ "SEARCH"
+};
// .text
@@ -2230,7 +2252,7 @@ void CreateWirelessStatusIndicatorSprite(u8 x, u8 y)
}
}
-void sub_800E084(void)
+void DestroyWirelessStatusIndicatorSprite(void)
{
if (gSprites[gWirelessStatusIndicatorSpriteId].data[7] == 0x1234)
{
@@ -2343,7 +2365,7 @@ void sub_800E174(void)
CpuCopy16(gMain.oamBuffer + 125, (struct OamData *)OAM + 125, sizeof(struct OamData));
if (sub_8011A74() == 1)
{
- sub_800E084();
+ DestroyWirelessStatusIndicatorSprite();
}
}
}
@@ -3652,7 +3674,7 @@ void sub_8010168(void)
gUnknown_03005000.unk_00 = sub_8010148;
}
-void sub_8010198(void)
+void LinkRfu_FatalError(void)
{
sub_800D630();
gUnknown_03005000.unk_ce4 = 1;
@@ -4196,7 +4218,7 @@ void sub_8010DB4(void)
{
if (gUnknown_03005000.unk_ee == 1 && gUnknown_03004140.unk_02 == 0)
{
- if (gMain.callback2 == sub_8018438 || gUnknown_03004140.unk_3c->unk_04)
+ if (gMain.callback2 == c2_mystery_gift_e_reader_run || gUnknown_03004140.unk_3c->unk_04)
gWirelessCommType = 2;
SetMainCallback2(CB2_LinkError);
gMain.savedCallback = CB2_LinkError;
@@ -4728,7 +4750,7 @@ bool32 sub_8011A80(void)
return FALSE;
}
-u8 sub_8011A9C(void)
+bool32 sub_8011A9C(void)
{
return gUnknown_03005000.unk_ce8;
}
@@ -5169,3 +5191,4 @@ u32 GetRfuRecvQueueLength(void)
{
return gUnknown_03005000.unk_124.unk_8c2;
}
+
diff --git a/src/list_menu.c b/src/list_menu.c
index 51d7dcb15..6d51559f7 100644
--- a/src/list_menu.c
+++ b/src/list_menu.c
@@ -129,10 +129,10 @@ static const struct OamData sOamData_ScrollArrowIndicator =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -186,8 +186,8 @@ static const struct Subsprite sSubsprite_RedOutline1 =
{
.x = 0,
.y = 0,
- .shape = 0,
- .size = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
.tileOffset = 0,
.priority = 0,
};
@@ -196,8 +196,8 @@ static const struct Subsprite sSubsprite_RedOutline2 =
{
.x = 0,
.y = 0,
- .shape = 0,
- .size = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
.tileOffset = 1,
.priority = 0,
};
@@ -206,8 +206,8 @@ static const struct Subsprite sSubsprite_RedOutline3 =
{
.x = 0,
.y = 0,
- .shape = 0,
- .size = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
.tileOffset = 2,
.priority = 0,
};
@@ -216,8 +216,8 @@ static const struct Subsprite sSubsprite_RedOutline4 =
{
.x = 0,
.y = 0,
- .shape = 0,
- .size = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
.tileOffset = 3,
.priority = 0,
};
@@ -226,8 +226,8 @@ static const struct Subsprite sSubsprite_RedOutline5 =
{
.x = 0,
.y = 0,
- .shape = 0,
- .size = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
.tileOffset = 4,
.priority = 0,
};
@@ -236,8 +236,8 @@ static const struct Subsprite sSubsprite_RedOutline6 =
{
.x = 0,
.y = 0,
- .shape = 0,
- .size = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
.tileOffset = 5,
.priority = 0,
};
@@ -246,8 +246,8 @@ static const struct Subsprite sSubsprite_RedOutline7 =
{
.x = 0,
.y = 0,
- .shape = 0,
- .size = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
.tileOffset = 6,
.priority = 0,
};
@@ -256,8 +256,8 @@ static const struct Subsprite sSubsprite_RedOutline8 =
{
.x = 0,
.y = 0,
- .shape = 0,
- .size = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
.tileOffset = 7,
.priority = 0,
};
@@ -269,10 +269,10 @@ static const struct OamData sOamData_RedArrowCursor =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -312,7 +312,7 @@ static void ListMenuDummyTask(u8 taskId)
}
-s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum)
+s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum)
{
switch (sMysteryGiftLinkMenu.state)
{
@@ -324,7 +324,7 @@ s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenu
case 2:
LoadUserWindowBorderGfx(sMysteryGiftLinkMenu.windowId, tileNum, palNum);
case 1:
- sub_8098858(sMysteryGiftLinkMenu.windowId, tileNum, palNum / 16);
+ DrawTextBorderOuter(sMysteryGiftLinkMenu.windowId, tileNum, palNum / 16);
break;
}
gMultiuseListMenuTemplate = *listMenuTemplate;
@@ -341,7 +341,7 @@ s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenu
}
if (gMain.newKeys & B_BUTTON)
{
- sMysteryGiftLinkMenu.currItemId = LIST_B_PRESSED;
+ sMysteryGiftLinkMenu.currItemId = LIST_CANCEL;
sMysteryGiftLinkMenu.state = 2;
}
if (sMysteryGiftLinkMenu.state == 2)
@@ -416,7 +416,7 @@ s32 ListMenu_ProcessInput(u8 listTaskId)
}
else if (gMain.newKeys & B_BUTTON)
{
- return LIST_B_PRESSED;
+ return LIST_CANCEL;
}
else if (gMain.newAndRepeatedKeys & DPAD_UP)
{
diff --git a/src/load_save.c b/src/load_save.c
index d6785254f..150c557c6 100644
--- a/src/load_save.c
+++ b/src/load_save.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "alloc.h"
+#include "berry_powder.h"
#include "item.h"
#include "load_save.h"
#include "main.h"
@@ -15,8 +16,6 @@
static void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey);
-extern void ApplyNewEncryptionKeyToBerryPowder(u32 key);
-
#define SAVEBLOCK_MOVE_RANGE 128
struct LoadedSaveData
diff --git a/src/main_menu.c b/src/main_menu.c
index e6e29d942..504c1bd33 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -23,7 +23,7 @@
#include "palette.h"
#include "pokeball.h"
#include "pokedex.h"
-#include "pokemon_3.h"
+#include "pokemon.h"
#include "random.h"
#include "rtc.h"
#include "save.h"
@@ -38,6 +38,7 @@
#include "text_window.h"
#include "title_screen.h"
#include "window.h"
+#include "mystery_gift.h"
/*
* Main menu state machine
@@ -525,7 +526,7 @@ enum
ACTION_OPTION,
ACTION_MYSTERY_GIFT,
ACTION_MYSTERY_EVENTS,
- ACTION_UNKNOWN, // TODO: change when rom_8011DC0 decompiled
+ ACTION_EREADER,
ACTION_INVALID
};
@@ -1033,7 +1034,7 @@ static void Task_HandleMainMenuAPressed(u8 taskId)
}
else
{
- action = ACTION_UNKNOWN;
+ action = ACTION_EREADER;
}
break;
case 3:
@@ -1082,8 +1083,8 @@ static void Task_HandleMainMenuAPressed(u8 taskId)
SetMainCallback2(CB2_InitMysteryEventMenu);
DestroyTask(taskId);
break;
- case ACTION_UNKNOWN:
- SetMainCallback2(sub_801867C);
+ case ACTION_EREADER:
+ SetMainCallback2(c2_ereader);
DestroyTask(taskId);
break;
case ACTION_INVALID:
diff --git a/src/match_call.c b/src/match_call.c
index 641079ba9..35daacc3d 100644
--- a/src/match_call.c
+++ b/src/match_call.c
@@ -3,7 +3,7 @@
#include "battle.h"
#include "battle_setup.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "event_data.h"
#include "event_object_movement.h"
#include "field_player_avatar.h"
diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c
index ec5cb238b..8bb9cb6e4 100644
--- a/src/mauville_old_man.c
+++ b/src/mauville_old_man.c
@@ -914,7 +914,7 @@ struct Story
};
static const struct Story sStorytellerStories[] = {
- {GAME_STAT_50, 1, MauvilleCity_PokemonCenter_1F_Text_28E930, MauvilleCity_PokemonCenter_1F_Text_28E947, MauvilleCity_PokemonCenter_1F_Text_28E956},
+ {GAME_STAT_NUM_UNION_ROOM_BATTLES, 1, MauvilleCity_PokemonCenter_1F_Text_28E930, MauvilleCity_PokemonCenter_1F_Text_28E947, MauvilleCity_PokemonCenter_1F_Text_28E956},
{GAME_STAT_STARTED_TRENDS, 1, MauvilleCity_PokemonCenter_1F_Text_28E9D7, MauvilleCity_PokemonCenter_1F_Text_28E9EF, MauvilleCity_PokemonCenter_1F_Text_28E9FE},
{GAME_STAT_PLANTED_BERRIES, 1, MauvilleCity_PokemonCenter_1F_Text_28EA7D, MauvilleCity_PokemonCenter_1F_Text_28EA98, MauvilleCity_PokemonCenter_1F_Text_28EAA8},
{GAME_STAT_TRADED_BIKES, 1, MauvilleCity_PokemonCenter_1F_Text_28EB19, MauvilleCity_PokemonCenter_1F_Text_28EB31, MauvilleCity_PokemonCenter_1F_Text_28EB3E},
@@ -1193,7 +1193,7 @@ static void Task_StoryListMenu(u8 taskId) // Task_StoryListMenu
gSpecialVar_Result = 1;
sSelectedStory = selection;
}
- sub_80E2A78(sStorytellerWindowId);
+ ClearToTransparentAndRemoveWindow(sStorytellerWindowId);
DestroyTask(taskId);
EnableBothScriptContexts();
break;
diff --git a/src/menu.c b/src/menu.c
index c5bfe890e..354346d27 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -43,8 +43,8 @@ struct Menu
u8 fontId;
u8 optionWidth;
u8 optionHeight;
- u8 horizontalCount;
- u8 verticalCount;
+ u8 columns;
+ u8 rows;
bool8 APressMuted;
};
@@ -432,7 +432,7 @@ void sub_819789C(void)
LoadPalette(gUnknown_0860F074, STD_WINDOW_PALETTE_NUM * 0x10, 0x14);
}
-void sub_81978B0(u16 offset)
+void Menu_LoadStdPalAt(u16 offset)
{
LoadPalette(gUnknown_0860F074, offset, 0x14);
}
@@ -1283,8 +1283,8 @@ u8 sub_8198F58(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 cursorHeight,
sMenu.fontId = fontId;
sMenu.optionWidth = a4;
sMenu.optionHeight = cursorHeight;
- sMenu.horizontalCount = a6;
- sMenu.verticalCount = a7;
+ sMenu.columns = a6;
+ sMenu.rows = a7;
pos = a9;
@@ -1308,16 +1308,16 @@ void sub_8199060(u8 oldCursorPos, u8 newCursorPos)
{
u8 cursorWidth = GetMenuCursorDimensionByFont(sMenu.fontId, 0);
u8 cursorHeight = GetMenuCursorDimensionByFont(sMenu.fontId, 1);
- u8 xPos = (oldCursorPos % sMenu.horizontalCount) * sMenu.optionWidth + sMenu.left;
- u8 yPos = (oldCursorPos / sMenu.horizontalCount) * sMenu.optionHeight + sMenu.top;
+ u8 xPos = (oldCursorPos % sMenu.columns) * sMenu.optionWidth + sMenu.left;
+ u8 yPos = (oldCursorPos / sMenu.columns) * sMenu.optionHeight + sMenu.top;
FillWindowPixelRect(sMenu.windowId,
PIXEL_FILL(1),
xPos,
yPos,
cursorWidth,
cursorHeight);
- xPos = (newCursorPos % sMenu.horizontalCount) * sMenu.optionWidth + sMenu.left;
- yPos = (newCursorPos / sMenu.horizontalCount) * sMenu.optionHeight + sMenu.top;
+ xPos = (newCursorPos % sMenu.columns) * sMenu.optionWidth + sMenu.left;
+ yPos = (newCursorPos / sMenu.columns) * sMenu.optionHeight + sMenu.top;
AddTextPrinterParameterized(sMenu.windowId,
sMenu.fontId,
gText_SelectorArrow3,
@@ -1333,13 +1333,13 @@ u8 sub_8199134(s8 deltaX, s8 deltaY)
if (deltaX != 0)
{
- if ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX < 0)
+ if ((sMenu.cursorPos % sMenu.columns) + deltaX < 0)
{
- sMenu.cursorPos += sMenu.horizontalCount - 1;
+ sMenu.cursorPos += sMenu.columns - 1;
}
- else if ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX >= sMenu.horizontalCount)
+ else if ((sMenu.cursorPos % sMenu.columns) + deltaX >= sMenu.columns)
{
- sMenu.cursorPos = (sMenu.cursorPos / sMenu.horizontalCount) * sMenu.horizontalCount;
+ sMenu.cursorPos = (sMenu.cursorPos / sMenu.columns) * sMenu.columns;
}
else
{
@@ -1349,17 +1349,17 @@ u8 sub_8199134(s8 deltaX, s8 deltaY)
if (deltaY != 0)
{
- if ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY < 0)
+ if ((sMenu.cursorPos / sMenu.columns) + deltaY < 0)
{
- sMenu.cursorPos += sMenu.horizontalCount * (sMenu.verticalCount - 1);
+ sMenu.cursorPos += sMenu.columns * (sMenu.rows - 1);
}
- else if ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY >= sMenu.verticalCount)
+ else if ((sMenu.cursorPos / sMenu.columns) + deltaY >= sMenu.rows)
{
- sMenu.cursorPos -= sMenu.horizontalCount * (sMenu.verticalCount - 1);
+ sMenu.cursorPos -= sMenu.columns * (sMenu.rows - 1);
}
else
{
- sMenu.cursorPos += (sMenu.horizontalCount * deltaY);
+ sMenu.cursorPos += (sMenu.columns * deltaY);
}
}
@@ -1381,8 +1381,8 @@ u8 sub_81991F8(s8 deltaX, s8 deltaY)
if (deltaX != 0)
{
- if (((sMenu.cursorPos % sMenu.horizontalCount) + deltaX >= 0) &&
- ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX < sMenu.horizontalCount))
+ if (((sMenu.cursorPos % sMenu.columns) + deltaX >= 0) &&
+ ((sMenu.cursorPos % sMenu.columns) + deltaX < sMenu.columns))
{
sMenu.cursorPos += deltaX;
}
@@ -1390,10 +1390,10 @@ u8 sub_81991F8(s8 deltaX, s8 deltaY)
if (deltaY != 0)
{
- if (((sMenu.cursorPos / sMenu.horizontalCount) + deltaY >= 0) &&
- ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY < sMenu.verticalCount))
+ if (((sMenu.cursorPos / sMenu.columns) + deltaY >= 0) &&
+ ((sMenu.cursorPos / sMenu.columns) + deltaY < sMenu.rows))
{
- sMenu.cursorPos += (sMenu.horizontalCount * deltaY);
+ sMenu.cursorPos += (sMenu.columns * deltaY);
}
}
@@ -1661,16 +1661,14 @@ void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 pa
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sYesNoWindowId, 2, initialCursorPos);
}
-void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs)
+void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const struct MenuAction *strs)
{
- u32 i;
- u32 j;
- for (i = 0; i < a7; i++)
+ u32 i, j;
+
+ for (i = 0; i < rows; i++)
{
- for (j = 0; j < a6; j++)
- {
- AddTextPrinterParameterized(windowId, 1, strs[(i * a6) + j].text, (a4 * j) + 8, (i * 16) + 1, 0xFF, NULL);
- }
+ for (j = 0; j < columns; j++)
+ AddTextPrinterParameterized(windowId, 1, strs[(i * columns) + j].text, (optionWidth * j) + 8, (i * 16) + 1, 0xFF, NULL);
}
CopyWindowToVram(windowId, 2);
}
@@ -1706,20 +1704,20 @@ void sub_819983C(u8 windowId, u8 a4, u8 itemCount, u8 itemCount2, const struct M
CopyWindowToVram(windowId, 2);
}
-u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount, u8 initialCursorPos)
+u8 sub_8199944(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos)
{
s32 pos;
sMenu.left = 0;
sMenu.top = 1;
sMenu.minCursorPos = 0;
- sMenu.maxCursorPos = (horizontalCount * verticalCount) - 1;
+ sMenu.maxCursorPos = (columns * rows) - 1;
sMenu.windowId = windowId;
sMenu.fontId = 1;
sMenu.optionWidth = optionWidth;
sMenu.optionHeight = 16;
- sMenu.horizontalCount = horizontalCount;
- sMenu.verticalCount = verticalCount;
+ sMenu.columns = columns;
+ sMenu.rows = rows;
pos = initialCursorPos;
diff --git a/src/menu_helpers.c b/src/menu_helpers.c
index 3fb5ca40d..801e2546b 100644
--- a/src/menu_helpers.c
+++ b/src/menu_helpers.c
@@ -37,10 +37,10 @@ static const struct OamData sOamData_859F4E8 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -344,17 +344,17 @@ void sub_812220C(struct ItemSlot *slots, u8 count, u8 *arg2, u8 *usedSlotsCount,
*arg2 = (*usedSlotsCount);
}
-void sub_812225C(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3)
+void sub_812225C(u16 *scrollOffset, u16 *cursorPos, u8 maxShownItems, u8 numItems)
{
- if ((*arg0) != 0 && (*arg0) + arg2 > arg3)
- (*arg0) = arg3 - arg2;
+ if (*scrollOffset != 0 && *scrollOffset + maxShownItems > numItems)
+ *scrollOffset = numItems - maxShownItems;
- if ((*arg0) + (*arg1) >= arg3)
+ if (*scrollOffset + *cursorPos >= numItems)
{
- if (arg3 == 0)
- (*arg1) = 0;
+ if (numItems == 0)
+ *cursorPos = 0;
else
- (*arg1) = arg3 - 1;
+ *cursorPos = numItems - 1;
}
}
diff --git a/src/menu_specialized.c b/src/menu_specialized.c
new file mode 100644
index 000000000..34dd1fe2b
--- /dev/null
+++ b/src/menu_specialized.c
@@ -0,0 +1,1834 @@
+#include "global.h"
+#include "alloc.h"
+#include "battle_main.h"
+#include "contest_effect.h"
+#include "data.h"
+#include "decompress.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "menu.h"
+#include "international_string_util.h"
+#include "menu.h"
+#include "menu_specialized.h"
+#include "move_relearner.h"
+#include "palette.h"
+#include "player_pc.h"
+#include "pokemon_summary_screen.h"
+#include "pokemon_storage_system.h"
+#include "scanline_effect.h"
+#include "sound.h"
+#include "strings.h"
+#include "string_util.h"
+#include "text.h"
+#include "text_window.h"
+#include "trig.h"
+#include "window.h"
+#include "constants/songs.h"
+#include "constants/species.h"
+#include "gba/io_reg.h"
+
+extern const struct CompressedSpriteSheet gMonFrontPicTable[];
+
+EWRAM_DATA static u8 sUnknown_0203CF48[3] = {0};
+EWRAM_DATA static struct ListMenuItem *sUnknown_0203CF4C = NULL;
+
+static void sub_81D1E7C(s32 itemIndex, bool8 onInit, struct ListMenu *list);
+static void sub_81D24A4(struct UnknownStruct_81D1ED4 *a0);
+static void sub_81D2634(struct UnknownStruct_81D1ED4 *a0);
+static void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *list);
+static void nullsub_79(void);
+static void sub_81D3408(struct Sprite *sprite);
+static void sub_81D3564(struct Sprite *sprite);
+static void sub_81D35E8(struct Sprite *sprite);
+
+static const struct WindowTemplate sUnknown_086253E8[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 1,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 0xF,
+ .baseBlock = 0x8
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 21,
+ .tilemapTop = 1,
+ .width = 8,
+ .height = 18,
+ .paletteNum = 0xF,
+ .baseBlock = 0x18
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 1,
+ .width = 11,
+ .height = 8,
+ .paletteNum = 0xF,
+ .baseBlock = 0x18
+ }
+};
+
+static const u8 sUnknown_08625400[] =
+{
+ 1, 2, 3
+};
+
+static const u8 sEmptyItemName[] = _("");
+
+static const struct ScanlineEffectParams sUnknown_08625404 =
+{
+ .dmaDest = (void*)REG_ADDR_WIN0H,
+ .dmaControl = SCANLINE_EFFECT_DMACNT_32BIT,
+ .initState = 1,
+};
+
+static const u8 sUnknown_08625410[] =
+{
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9, 9,
+ 10, 10,
+ 0xB, 0xB,
+ 0xC, 0xC,
+ 0xD, 0xD,
+ 0xD, 0xD,
+ 0xE, 0xE, 0xE, 0xE,
+ 0xF, 0xF, 0xF, 0xF,
+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
+ 0x12, 0x12, 0x12, 0x12, 0x12, 0x12,
+ 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13,
+ 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14,
+ 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15,
+ 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16,
+ 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
+ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
+ 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19,
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+ 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B,
+ 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
+ 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D,
+ 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E,
+ 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
+ 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
+ 0x23
+};
+
+
+static const struct WindowTemplate sMoveRelearnerWindowTemplates[] =
+{
+ {
+ .bg = 1,
+ .tilemapLeft = 1,
+ .tilemapTop = 1,
+ .width = 16,
+ .height = 12,
+ .paletteNum = 0xF,
+ .baseBlock = 0xA
+ },
+ {
+ .bg = 1,
+ .tilemapLeft = 1,
+ .tilemapTop = 1,
+ .width = 16,
+ .height = 12,
+ .paletteNum = 0xF,
+ .baseBlock = 0xCA
+ },
+ {
+ .bg = 1,
+ .tilemapLeft = 19,
+ .tilemapTop = 1,
+ .width = 10,
+ .height = 12,
+ .paletteNum = 0xF,
+ .baseBlock = 0x18A
+ },
+ {
+ .bg = 1,
+ .tilemapLeft = 4,
+ .tilemapTop = 15,
+ .width = 22,
+ .height = 4,
+ .paletteNum = 0xF,
+ .baseBlock = 0x202
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 22,
+ .tilemapTop = 8,
+ .width = 5,
+ .height = 4,
+ .paletteNum = 0xF,
+ .baseBlock = 0x25A
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+static const struct WindowTemplate sMoveRelearnerYesNoMenuTemplate =
+{
+ .bg = 0,
+ .tilemapLeft = 22,
+ .tilemapTop = 8,
+ .width = 5,
+ .height = 4,
+ .paletteNum = 0xF,
+ .baseBlock = 0x25A
+};
+
+
+static const struct ListMenuTemplate sMoveRelearnerMovesListTemplate =
+{
+ .items = NULL,
+ .moveCursorFunc = MoveRelearnerCursorCallback,
+ .itemPrintFunc = NULL,
+ .totalItems = 0,
+ .maxShowed = 0,
+ .windowId = 2,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = LIST_NO_MULTIPLE_SCROLL,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+bool8 sub_81D1C44(u8 count)
+{
+ u8 i;
+
+ sUnknown_0203CF4C = Alloc(count * sizeof(*sUnknown_0203CF4C) + sizeof(*sUnknown_0203CF4C));
+ if (sUnknown_0203CF4C == NULL)
+ return FALSE;
+
+ for (i = 0; i < ARRAY_COUNT(sUnknown_0203CF48); i++)
+ sUnknown_0203CF48[i] = 0xFF;
+
+ return TRUE;
+}
+
+u8 sub_81D1C84(u8 a0)
+{
+ if (sUnknown_0203CF48[a0] == 0xFF)
+ {
+ if (a0 == 2)
+ {
+ struct WindowTemplate template = sUnknown_086253E8[2];
+ template.width = GetMaxWidthInMenuTable(&gMailboxMailOptions[0], 4);
+ sUnknown_0203CF48[2] = AddWindow(&template);
+ }
+ else
+ {
+ sUnknown_0203CF48[a0] = AddWindow(&sUnknown_086253E8[a0]);
+ }
+ SetStandardWindowBorderStyle(sUnknown_0203CF48[a0], 0);
+ }
+ return sUnknown_0203CF48[a0];
+}
+
+void sub_81D1D04(u8 a0)
+{
+ ClearStdWindowAndFrameToTransparent(sUnknown_0203CF48[a0], 0);
+ ClearWindowTilemap(sUnknown_0203CF48[a0]);
+ RemoveWindow(sUnknown_0203CF48[a0]);
+ sUnknown_0203CF48[a0] = 0xFF;
+}
+
+static u8 sub_81D1D34(u8 a0)
+{
+ return sUnknown_0203CF48[a0];
+}
+
+static void sub_81D1D44(u8 windowId, s32 itemId, u8 y)
+{
+ u8 buffer[30];
+ u16 length;
+
+ if (itemId == LIST_CANCEL)
+ return;
+
+ StringCopy(buffer, gSaveBlock1Ptr->mail[6 + itemId].playerName);
+ sub_81DB52C(buffer);
+ length = StringLength(buffer);
+ if (length <= 5)
+ ConvertInternationalString(buffer, LANGUAGE_JAPANESE);
+ AddTextPrinterParameterized4(windowId, 1, 8, y, 0, 0, sUnknown_08625400, -1, buffer);
+}
+
+u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page)
+{
+ u16 i;
+ for (i = 0; i < page->count; i++)
+ {
+ sUnknown_0203CF4C[i].name = sEmptyItemName;
+ sUnknown_0203CF4C[i].id = i;
+ }
+
+ sUnknown_0203CF4C[i].name = gText_Cancel2;
+ sUnknown_0203CF4C[i].id = LIST_CANCEL;
+
+ gMultiuseListMenuTemplate.items = sUnknown_0203CF4C;
+ gMultiuseListMenuTemplate.totalItems = page->count + 1;
+ gMultiuseListMenuTemplate.windowId = sUnknown_0203CF48[1];
+ gMultiuseListMenuTemplate.header_X = 0;
+ gMultiuseListMenuTemplate.item_X = 8;
+ gMultiuseListMenuTemplate.cursor_X = 0;
+ gMultiuseListMenuTemplate.maxShowed = 8;
+ gMultiuseListMenuTemplate.upText_Y = 9;
+ gMultiuseListMenuTemplate.cursorPal = 2;
+ gMultiuseListMenuTemplate.fillValue = 1;
+ gMultiuseListMenuTemplate.cursorShadowPal = 3;
+ gMultiuseListMenuTemplate.moveCursorFunc = sub_81D1E7C;
+ gMultiuseListMenuTemplate.itemPrintFunc = sub_81D1D44;
+ gMultiuseListMenuTemplate.fontId = 1;
+ gMultiuseListMenuTemplate.cursorKind = 0;
+ gMultiuseListMenuTemplate.lettersSpacing = 0;
+ gMultiuseListMenuTemplate.itemVerticalPadding = 0;
+ gMultiuseListMenuTemplate.scrollMultiple = LIST_NO_MULTIPLE_SCROLL;
+ return ListMenuInit(&gMultiuseListMenuTemplate, page->itemsAbove, page->cursorPos);
+}
+
+static void sub_81D1E7C(s32 itemIndex, bool8 onInit, struct ListMenu *list)
+{
+ if (onInit != TRUE)
+ PlaySE(SE_SELECT);
+}
+
+void sub_81D1E90(struct PlayerPCItemPageStruct *page)
+{
+ page->scrollIndicatorId = AddScrollIndicatorArrowPairParameterized(2, 0xC8, 12, 0x94, page->count - page->pageItems + 1, 0x6E, 0x6E, &page->itemsAbove);
+}
+
+void sub_81D1EC0(void)
+{
+ Free(sUnknown_0203CF4C);
+}
+
+void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0)
+{
+ u8 i, j;
+
+ for (j = 0; j < 5; j++)
+ {
+ for (i = 0; i < 10; i++)
+ {
+ a0->unk64[i][j].unk0 = 0;
+ a0->unk64[i][j].unk2 = 0;
+ }
+ for (i = 0; i < 4; i++)
+ {
+ a0->unk0[i][j] = 0;
+ a0->unk14[i][j].unk0 = 0x9B;
+ a0->unk14[i][j].unk2 = 0x5B;
+ }
+
+ a0->unk12C[j].unk0 = 0;
+ a0->unk12C[j].unk2 = 0;
+ }
+
+ a0->unk354 = 0;
+ a0->unk352 = 0;
+}
+
+void sub_81D1F84(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 *arg1, struct UnknownSubStruct_81D1ED4 *arg2)
+{
+ u16 i, j;
+ s32 r5, r6;
+
+ for (i = 0; i < 5; i++)
+ {
+ r5 = arg1[i].unk0 << 8;
+ r6 = ((arg2[i].unk0 - arg1[i].unk0) << 8) / 10;
+ for (j = 0; j < 9; j++)
+ {
+ arg0->unk64[j][i].unk0 = (r5 >> 8) + ((r5 >> 7) & 1);
+ r5 += r6;
+ }
+ arg0->unk64[j][i].unk0 = arg2[i].unk0;
+
+ r5 = arg1[i].unk2 << 8;
+ r6 = ((arg2[i].unk2 - arg1[i].unk2) << 8) / 10;
+ for (j = 0; j < 9; j++)
+ {
+ arg0->unk64[j][i].unk2 = (r5 >> 8) + ((r5 >> 7) & 1);
+ r5 += r6;
+ }
+ arg0->unk64[j][i].unk2 = arg2[i].unk2;
+ }
+
+ arg0->unk352 = 0;
+}
+
+bool32 sub_81D2074(struct UnknownStruct_81D1ED4 *a0)
+{
+ if (a0->unk352 < 10)
+ {
+ sub_81D2230(a0);
+ return (++a0->unk352 != 10);
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+void sub_81D20AC(struct UnknownStruct_81D1ED4 *a0)
+{
+ a0->unk355 = 0;
+}
+
+bool8 sub_81D20BC(struct UnknownStruct_81D1ED4 *arg0)
+{
+ struct ScanlineEffectParams params;
+
+ switch (arg0->unk355)
+ {
+ case 0:
+ ScanlineEffect_Clear();
+ arg0->unk355++;
+ return TRUE;
+ case 1:
+ params = sUnknown_08625404;
+ ScanlineEffect_SetParams(params);
+ arg0->unk355++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+}
+
+void sub_81D2108(struct UnknownStruct_81D1ED4 *arg0)
+{
+ u16 i;
+
+ if (arg0->unk354 == 0)
+ return;
+
+ sub_81D24A4(arg0);
+ sub_81D2634(arg0);
+
+ for (i = 0; i < 66; i++)
+ {
+ gScanlineEffectRegBuffers[1][(i + 55) * 2] = gScanlineEffectRegBuffers[0][(i + 55) * 2] = (arg0->unk140[i][0] << 8) | (arg0->unk140[i][1]);
+ gScanlineEffectRegBuffers[1][(i + 55) * 2 + 1] = gScanlineEffectRegBuffers[0][(i + 55) * 2 + 1] = (arg0->unk248[i][0] << 8) | (arg0->unk248[i][1]);
+ }
+
+ arg0->unk354 = 0;
+}
+
+void sub_81D21DC(u8 bg)
+{
+ u32 flags;
+
+ if (bg > 3)
+ bg = 0;
+
+ // Unset the WINOUT flag for the bg.
+ flags = (WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ) & ~(1 << bg);
+
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, 0xF0));
+ SetGpuReg(REG_OFFSET_WIN1H, WIN_RANGE(0, 0x9B));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0x38, 0x79));
+ SetGpuReg(REG_OFFSET_WIN1V, WIN_RANGE(0x38, 0x79));
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, flags);
+}
+
+void sub_81D2230(struct UnknownStruct_81D1ED4 *arg0)
+{
+ u16 i;
+ for (i = 0; i < 5; i++)
+ arg0->unk12C[i] = arg0->unk64[arg0->unk352][i];
+
+ arg0->unk354 = 1;
+}
+
+/* TODO
+static void sub_81D2278(struct UnknownStruct_81D1ED4 *arg0, u16 arg1[66][2], struct UnknownSubStruct_81D1ED4 *arg2, struct UnknownSubStruct_81D1ED4 *arg3, u8 arg4, u16 arg5[66][2])
+{
+ s32 var_2C = 0;
+ u16 r8;
+ s32 r10, r4, r2, r0, r1, var_30;
+
+ if (arg2->unk2 < arg3->unk2)
+ {
+ r2 = arg2->unk2;
+ r10 = arg2->unk2;
+ r0 = arg3->unk2;
+ r1 = arg2->unk0;
+ r4 = r1 << 10;
+ var_30 = arg3->unk0;
+ }
+ else
+ {
+ r0 = arg2->unk0;
+ r10 = arg3->unk2;
+ r1 = arg3->unk0;
+ r4 = r1 << 10;
+ var_30 = arg2->unk0;
+ r2 = arg3->unk2;
+ }
+ r8 = r0 - r2;
+ if (r8 != 0)
+ var_2C = ((var_30 - r1) << 10) / r8;
+
+ r8++;
+ if (arg5 == NULL)
+ {
+
+ }
+}
+*/
+NAKED
+static void sub_81D2278(struct UnknownStruct_81D1ED4 *arg0, u16 arg1[66][2], struct UnknownSubStruct_81D1ED4 *arg2, struct UnknownSubStruct_81D1ED4 *arg3, u8 arg4, u16 arg5[66][2])
+{
+ asm_unified("\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x18\n\
+ str r0, [sp]\n\
+ adds r6, r1, 0\n\
+ adds r5, r2, 0\n\
+ str r3, [sp, 0x4]\n\
+ ldr r0, [sp, 0x38]\n\
+ ldr r7, [sp, 0x3C]\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r9, r0\n\
+ movs r0, 0\n\
+ str r0, [sp, 0xC]\n\
+ ldrh r0, [r5, 0x2]\n\
+ ldrh r1, [r3, 0x2]\n\
+ cmp r0, r1\n\
+ bcs _081D22B2\n\
+ adds r2, r0, 0\n\
+ mov r10, r2\n\
+ ldrh r0, [r3, 0x2]\n\
+ ldrh r1, [r5]\n\
+ lsls r4, r1, 10\n\
+ ldrh r3, [r3]\n\
+ str r3, [sp, 0x8]\n\
+ b _081D22C6\n\
+ _081D22B2:\n\
+ ldrh r0, [r5, 0x2]\n\
+ ldr r1, [sp, 0x4]\n\
+ ldrh r1, [r1, 0x2]\n\
+ mov r10, r1\n\
+ ldr r2, [sp, 0x4]\n\
+ ldrh r1, [r2]\n\
+ lsls r4, r1, 10\n\
+ ldrh r3, [r5]\n\
+ str r3, [sp, 0x8]\n\
+ mov r2, r10\n\
+ _081D22C6:\n\
+ subs r0, r2\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r8, r0\n\
+ cmp r0, 0\n\
+ beq _081D22DE\n\
+ subs r0, r3, r1\n\
+ lsls r0, 10\n\
+ mov r1, r8\n\
+ bl __divsi3\n\
+ str r0, [sp, 0xC]\n\
+ _081D22DE:\n\
+ mov r0, r8\n\
+ adds r0, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r8, r0\n\
+ cmp r7, 0\n\
+ bne _081D2328\n\
+ mov r0, r10\n\
+ subs r0, 0x38\n\
+ lsls r0, 2\n\
+ adds r6, r0\n\
+ movs r5, 0\n\
+ mov r3, r9\n\
+ lsls r3, 1\n\
+ mov r12, r3\n\
+ ldr r0, [sp, 0x8]\n\
+ add r0, r9\n\
+ str r0, [sp, 0x10]\n\
+ cmp r7, r8\n\
+ bcs _081D23B6\n\
+ movs r7, 0x1\n\
+ _081D2308:\n\
+ adds r2, r3, r6\n\
+ asrs r1, r4, 10\n\
+ asrs r0, r4, 9\n\
+ ands r0, r7\n\
+ adds r1, r0\n\
+ add r1, r9\n\
+ strh r1, [r2]\n\
+ ldr r1, [sp, 0xC]\n\
+ adds r4, r1\n\
+ adds r6, 0x4\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ cmp r5, r8\n\
+ bcc _081D2308\n\
+ b _081D23B6\n\
+ _081D2328:\n\
+ ldr r2, [sp, 0xC]\n\
+ cmp r2, 0\n\
+ ble _081D23C0\n\
+ mov r0, r10\n\
+ subs r0, 0x38\n\
+ lsls r0, 2\n\
+ adds r7, r0\n\
+ movs r5, 0\n\
+ mov r3, r9\n\
+ lsls r3, 1\n\
+ mov r12, r3\n\
+ ldr r0, [sp, 0x8]\n\
+ add r0, r9\n\
+ str r0, [sp, 0x10]\n\
+ cmp r5, r8\n\
+ bcs _081D237A\n\
+ ldr r0, =0x00026bff\n\
+ cmp r4, r0\n\
+ bgt _081D237A\n\
+ mov r1, r12\n\
+ str r1, [sp, 0x14]\n\
+ _081D2352:\n\
+ ldr r3, [sp, 0x14]\n\
+ adds r2, r3, r7\n\
+ asrs r1, r4, 10\n\
+ asrs r0, r4, 9\n\
+ movs r3, 0x1\n\
+ ands r0, r3\n\
+ adds r1, r0\n\
+ add r1, r9\n\
+ strh r1, [r2]\n\
+ ldr r0, [sp, 0xC]\n\
+ adds r4, r0\n\
+ adds r7, 0x4\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ cmp r5, r8\n\
+ bcs _081D237A\n\
+ ldr r1, =0x00026bff\n\
+ cmp r4, r1\n\
+ ble _081D2352\n\
+ _081D237A:\n\
+ mov r2, r10\n\
+ adds r1, r2, r5\n\
+ ldr r3, [sp]\n\
+ movs r2, 0xD4\n\
+ lsls r2, 2\n\
+ adds r0, r3, r2\n\
+ strh r1, [r0]\n\
+ ldrh r0, [r0]\n\
+ subs r0, 0x38\n\
+ lsls r0, 2\n\
+ adds r6, r0\n\
+ cmp r5, r8\n\
+ bcs _081D23B6\n\
+ mov r3, r12\n\
+ movs r7, 0x1\n\
+ _081D2398:\n\
+ adds r2, r3, r6\n\
+ asrs r1, r4, 10\n\
+ asrs r0, r4, 9\n\
+ ands r0, r7\n\
+ adds r1, r0\n\
+ add r1, r9\n\
+ strh r1, [r2]\n\
+ ldr r0, [sp, 0xC]\n\
+ adds r4, r0\n\
+ adds r6, 0x4\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ cmp r5, r8\n\
+ bcc _081D2398\n\
+ _081D23B6:\n\
+ subs r0, r6, 0x4\n\
+ b _081D248C\n\
+ .pool\n\
+ _081D23C0:\n\
+ ldr r1, [sp, 0xC]\n\
+ cmp r1, 0\n\
+ bge _081D2464\n\
+ mov r0, r10\n\
+ subs r0, 0x38\n\
+ lsls r0, 2\n\
+ adds r6, r0\n\
+ movs r5, 0\n\
+ mov r2, r9\n\
+ lsls r2, 1\n\
+ mov r12, r2\n\
+ ldr r3, [sp, 0x8]\n\
+ add r3, r9\n\
+ str r3, [sp, 0x10]\n\
+ cmp r5, r8\n\
+ bcs _081D241E\n\
+ adds r3, r2, r6\n\
+ asrs r1, r4, 10\n\
+ asrs r0, r4, 9\n\
+ movs r2, 0x1\n\
+ ands r0, r2\n\
+ adds r1, r0\n\
+ add r1, r9\n\
+ strh r1, [r3]\n\
+ b _081D2414\n\
+ _081D23F2:\n\
+ ldr r0, [sp, 0xC]\n\
+ adds r4, r0\n\
+ adds r6, 0x4\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ cmp r5, r8\n\
+ bcs _081D241E\n\
+ mov r1, r12\n\
+ adds r3, r1, r6\n\
+ asrs r2, r4, 10\n\
+ asrs r0, r4, 9\n\
+ movs r1, 0x1\n\
+ ands r0, r1\n\
+ adds r2, r0\n\
+ add r2, r9\n\
+ strh r2, [r3]\n\
+ _081D2414:\n\
+ ldr r0, =0x00026bff\n\
+ cmp r4, r0\n\
+ bgt _081D23F2\n\
+ movs r0, 0x9B\n\
+ strh r0, [r3]\n\
+ _081D241E:\n\
+ mov r2, r10\n\
+ adds r1, r2, r5\n\
+ ldr r3, [sp]\n\
+ movs r2, 0xD4\n\
+ lsls r2, 2\n\
+ adds r0, r3, r2\n\
+ strh r1, [r0]\n\
+ ldrh r0, [r0]\n\
+ subs r0, 0x38\n\
+ lsls r0, 2\n\
+ adds r7, r0\n\
+ cmp r5, r8\n\
+ bcs _081D245A\n\
+ mov r3, r12\n\
+ movs r6, 0x1\n\
+ _081D243C:\n\
+ adds r2, r3, r7\n\
+ asrs r1, r4, 10\n\
+ asrs r0, r4, 9\n\
+ ands r0, r6\n\
+ adds r1, r0\n\
+ add r1, r9\n\
+ strh r1, [r2]\n\
+ ldr r0, [sp, 0xC]\n\
+ adds r4, r0\n\
+ adds r7, 0x4\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ cmp r5, r8\n\
+ bcc _081D243C\n\
+ _081D245A:\n\
+ subs r0, r7, 0x4\n\
+ b _081D248C\n\
+ .pool\n\
+ _081D2464:\n\
+ ldr r1, [sp]\n\
+ movs r2, 0xD4\n\
+ lsls r2, 2\n\
+ adds r0, r1, r2\n\
+ mov r3, r10\n\
+ strh r3, [r0]\n\
+ mov r0, r10\n\
+ subs r0, 0x38\n\
+ lsls r0, 2\n\
+ adds r6, r0\n\
+ adds r7, r0\n\
+ ldrh r0, [r5]\n\
+ adds r0, 0x1\n\
+ strh r0, [r6, 0x2]\n\
+ ldr r1, [sp, 0x4]\n\
+ ldrh r0, [r1]\n\
+ strh r0, [r7]\n\
+ movs r0, 0x9B\n\
+ strh r0, [r7, 0x2]\n\
+ b _081D2494\n\
+ _081D248C:\n\
+ add r0, r12\n\
+ mov r2, sp\n\
+ ldrh r2, [r2, 0x10]\n\
+ strh r2, [r0]\n\
+ _081D2494:\n\
+ add sp, 0x18\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ ");
+}
+
+static void sub_81D24A4(struct UnknownStruct_81D1ED4 *arg0)
+{
+ u16 i, r6, varMax;
+
+ if (arg0->unk12C[0].unk2 < arg0->unk12C[1].unk2)
+ {
+ r6 = arg0->unk12C[0].unk2;
+ sub_81D2278(arg0, arg0->unk140, &arg0->unk12C[0], &arg0->unk12C[1], 1, NULL);
+ }
+ else
+ {
+ r6 = arg0->unk12C[1].unk2;
+ sub_81D2278(arg0, arg0->unk140, &arg0->unk12C[1], &arg0->unk12C[0], 0, NULL);
+ }
+
+ sub_81D2278(arg0, arg0->unk140, &arg0->unk12C[1], &arg0->unk12C[2], 1, NULL);
+
+ i = (arg0->unk12C[2].unk2 <= arg0->unk12C[3].unk2);
+ sub_81D2278(arg0, arg0->unk140, &arg0->unk12C[2], &arg0->unk12C[3], i, arg0->unk248);
+ for (i = 56; i < r6; i++)
+ {
+ arg0->unk140[i - 56][0] = 0;
+ arg0->unk140[i - 56][1] = 0;
+ }
+
+ for (i = arg0->unk12C[0].unk2; i <= arg0->unk350; i++)
+ arg0->unk140[i - 56][0] = 155;
+
+ varMax = max(arg0->unk350, arg0->unk12C[2].unk2);
+ for (i = varMax + 1; i < 122; i++)
+ {
+ arg0->unk140[i - 56][0] = 0;
+ arg0->unk140[i - 56][1] = 0;
+ }
+
+ for (i = 56; i < 122; i++)
+ {
+ if (arg0->unk140[i - 56][0] == 0 && arg0->unk140[i - 56][1] != 0)
+ arg0->unk140[i - 56][0] = 155;
+ }
+}
+
+static void sub_81D2634(struct UnknownStruct_81D1ED4 *arg0)
+{
+ s32 i, r6, varMax;
+
+ if (arg0->unk12C[0].unk2 < arg0->unk12C[4].unk2)
+ {
+ r6 = arg0->unk12C[0].unk2;
+ sub_81D2278(arg0, arg0->unk248, &arg0->unk12C[0], &arg0->unk12C[4], 0, NULL);
+ }
+ else
+ {
+ r6 = arg0->unk12C[4].unk2;
+ sub_81D2278(arg0, arg0->unk248, &arg0->unk12C[4], &arg0->unk12C[0], 1, NULL);
+ }
+
+ sub_81D2278(arg0, arg0->unk248, &arg0->unk12C[4], &arg0->unk12C[3], 0, NULL);
+
+ for (i = 56; i < r6; i++)
+ {
+ arg0->unk140[i + 10][0] = 0;
+ arg0->unk140[i + 10][1] = 0;
+ }
+
+ for (i = arg0->unk12C[0].unk2; i <= arg0->unk350; i++)
+ arg0->unk140[i + 10][1] = 155;
+
+ varMax = max(arg0->unk350, arg0->unk12C[3].unk2 + 1);
+ for (i = varMax; i < 122; i++)
+ {
+ arg0->unk140[i + 10][0] = 0;
+ arg0->unk140[i + 10][1] = 0;
+ }
+
+ for (i = 0; i < 66; i++)
+ {
+ if (arg0->unk248[i][0] >= arg0->unk248[i][1])
+ {
+ arg0->unk248[i][1] = 0;
+ arg0->unk248[i][0] = 0;
+ }
+ }
+}
+
+void sub_81D2754(u8 *arg0, struct UnknownSubStruct_81D1ED4 *arg1)
+{
+ u8 r2, r7;
+ s8 r12;
+ u16 i;
+
+ r2 = sUnknown_08625410[*(arg0++)];
+ arg1->unk0 = 155;
+ arg1->unk2 = 91 - r2;
+
+ r7 = 64;
+ r12 = 0;
+ for (i = 1; i < 5; i++)
+ {
+ r7 += 51;
+ if (--r12 < 0)
+ r12 = 4;
+
+ if (r12 == 2)
+ r7++;
+
+ r2 = sUnknown_08625410[*(arg0++)];
+ arg1[r12].unk0 = 155 + ((r2 * gSineTable[64 + r7]) >> 8);
+ arg1[r12].unk2 = 91 - ((r2 * gSineTable[r7]) >> 8);
+
+ if (r12 < 3 && (r2 != 32 || r12 != 2))
+ arg1[r12].unk0 = 156 + ((r2 * gSineTable[64 + r7]) >> 8);
+ }
+}
+
+void InitMoveRelearnerWindows(bool8 useContextWindow)
+{
+ u8 i;
+
+ InitWindows(sMoveRelearnerWindowTemplates);
+ DeactivateAllTextPrinters();
+ LoadUserWindowBorderGfx(0, 1, 0xE0);
+ LoadPalette(gUnknown_0860F074, 0xF0, 0x20);
+
+ for (i = 0; i < 5; i++)
+ {
+ FillWindowPixelBuffer(i, PIXEL_FILL(1));
+ }
+
+ if (!useContextWindow)
+ {
+ PutWindowTilemap(0);
+ DrawStdFrameWithCustomTileAndPalette(0, 0, 0x1, 0xE);
+ }
+ else
+ {
+ PutWindowTilemap(1);
+ DrawStdFrameWithCustomTileAndPalette(1, 0, 1, 0xE);
+ }
+ PutWindowTilemap(2);
+ PutWindowTilemap(3);
+ DrawStdFrameWithCustomTileAndPalette(2, 0, 1, 0xE);
+ DrawStdFrameWithCustomTileAndPalette(3, 0, 1, 0xE);
+ nullsub_79();
+ schedule_bg_copy_tilemap_to_vram(1);
+}
+
+static void nullsub_79(void)
+{
+
+}
+
+u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices)
+{
+ gMultiuseListMenuTemplate = sMoveRelearnerMovesListTemplate;
+ gMultiuseListMenuTemplate.totalItems = numChoices;
+ gMultiuseListMenuTemplate.items = items;
+
+ if (numChoices < 6)
+ {
+ gMultiuseListMenuTemplate.maxShowed = numChoices;
+ }
+ else
+ {
+ gMultiuseListMenuTemplate.maxShowed = 6;
+ }
+ return gMultiuseListMenuTemplate.maxShowed;
+}
+
+static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove)
+{
+ s32 x;
+ const struct BattleMove *move;
+ u8 buffer[0x20];
+ const u8 *str;
+
+ FillWindowPixelBuffer(0, PIXEL_FILL(1));
+ str = gText_MoveRelearnerBattleMoves;
+ x = GetStringCenterAlignXOffset(1, str, 0x80);
+ AddTextPrinterParameterized(0, 1, str, x, 1, TEXT_SPEED_FF, NULL);
+
+ str = gText_MoveRelearnerPP;
+ AddTextPrinterParameterized(0, 1, str, 4, 0x29, TEXT_SPEED_FF, NULL);
+
+ str = gText_MoveRelearnerPower;
+ x = GetStringRightAlignXOffset(1, str, 0x6A);
+ AddTextPrinterParameterized(0, 1, str, x, 0x19, TEXT_SPEED_FF, NULL);
+
+ str = gText_MoveRelearnerAccuracy;
+ x = GetStringRightAlignXOffset(1, str, 0x6A);
+ AddTextPrinterParameterized(0, 1, str, x, 0x29, TEXT_SPEED_FF, NULL);
+ if (chosenMove == LIST_CANCEL)
+ {
+ CopyWindowToVram(0, 2);
+ return;
+ }
+ move = &gBattleMoves[chosenMove];
+ str = gTypeNames[move->type];
+ AddTextPrinterParameterized(0, 1, str, 4, 0x19, TEXT_SPEED_FF, NULL);
+
+ x = 4 + GetStringWidth(1, gText_MoveRelearnerPP, 0);
+ ConvertIntToDecimalStringN(buffer, move->pp, 0, 2);
+ AddTextPrinterParameterized(0, 1, buffer, x, 0x29, TEXT_SPEED_FF, NULL);
+
+ if (move->power < 2)
+ {
+ str = gText_ThreeDashes;
+ }
+ else
+ {
+ ConvertIntToDecimalStringN(buffer, move->power, 0, 3);
+ str = buffer;
+ }
+ AddTextPrinterParameterized(0, 1, str, 0x6A, 0x19, TEXT_SPEED_FF, NULL);
+
+ if (move->accuracy == 0)
+ {
+ str = gText_ThreeDashes;
+ }
+ else
+ {
+ ConvertIntToDecimalStringN(buffer, move->accuracy, 0, 3);
+ str = buffer;
+ }
+ AddTextPrinterParameterized(0, 1, str, 0x6A, 0x29, TEXT_SPEED_FF, NULL);
+
+ str = gMoveDescriptionPointers[chosenMove - 1];
+ AddTextPrinterParameterized(0, 7, str, 0, 0x41, 0, NULL);
+}
+
+static void MoveRelearnerMenuLoadContestMoveDescription(u32 chosenMove)
+{
+ s32 x;
+ const u8 *str;
+ const struct ContestMove *move;
+
+ MoveRelearnerShowHideHearts(chosenMove);
+ FillWindowPixelBuffer(1, PIXEL_FILL(1));
+ str = gText_MoveRelearnerContestMovesTitle;
+ x = GetStringCenterAlignXOffset(1, str, 0x80);
+ AddTextPrinterParameterized(1, 1, str, x, 1, TEXT_SPEED_FF, NULL);
+
+ str = gText_MoveRelearnerAppeal;
+ x = GetStringRightAlignXOffset(1, str, 0x5C);
+ AddTextPrinterParameterized(1, 1, str, x, 0x19, TEXT_SPEED_FF, NULL);
+
+ str = gText_MoveRelearnerJam;
+ x = GetStringRightAlignXOffset(1, str, 0x5C);
+ AddTextPrinterParameterized(1, 1, str, x, 0x29, TEXT_SPEED_FF, NULL);
+
+ if (chosenMove == MENU_NOTHING_CHOSEN)
+ {
+ CopyWindowToVram(1, 2);
+ return;
+ }
+
+ move = &gContestMoves[chosenMove];
+ str = gContestMoveTypeTextPointers[move->contestCategory];
+ AddTextPrinterParameterized(1, 1, str, 4, 0x19, TEXT_SPEED_FF, NULL);
+
+ str = gContestEffectDescriptionPointers[move->effect];
+ AddTextPrinterParameterized(1, 7, str, 0, 0x41, TEXT_SPEED_FF, NULL);
+
+ CopyWindowToVram(1, 2);
+}
+
+static void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *list)
+{
+ if (onInit != TRUE)
+ PlaySE(SE_SELECT);
+ MoveRelearnerLoadBattleMoveDescription(itemIndex);
+ MoveRelearnerMenuLoadContestMoveDescription(itemIndex);
+}
+
+void MoveRelearnerPrintText(u8 *str)
+{
+ u8 speed;
+
+ FillWindowPixelBuffer(3, PIXEL_FILL(1));
+ gTextFlags.canABSpeedUpPrint = TRUE;
+ speed = GetPlayerTextSpeedDelay();
+ AddTextPrinterParameterized2(3, 1, str, speed, NULL, TEXT_COLOR_DARK_GREY, TEXT_COLOR_WHITE, 3);
+}
+
+bool16 MoveRelearnerRunTextPrinters(void)
+{
+ RunTextPrinters();
+ return IsTextPrinterActive(3);
+}
+
+void MoveRelearnerCreateYesNoMenu(void)
+{
+ CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, 1, 0xE, 0);
+}
+
+s32 GetBoxOrPartyMonData(u16 boxId, u16 monId, s32 request, u8 *dst)
+{
+ s32 ret;
+
+ if (boxId == TOTAL_BOXES_COUNT) // Party mon.
+ {
+ if (request == MON_DATA_NICKNAME || request == MON_DATA_OT_NAME)
+ ret = GetMonData(&gPlayerParty[monId], request, dst);
+ else
+ ret = GetMonData(&gPlayerParty[monId], request);
+ }
+ else
+ {
+ if (request == MON_DATA_NICKNAME || request == MON_DATA_OT_NAME)
+ ret = GetAndCopyBoxMonDataAt(boxId, monId, request, dst);
+ else
+ ret = GetBoxMonDataAt(boxId, monId, request);
+ }
+
+ return ret;
+}
+
+static u8 *sub_81D2CD0(u8 *dst, u16 boxId, u16 monId)
+{
+ u16 species, level, gender;
+ struct BoxPokemon *boxMon;
+ u8 *str;
+
+ *(dst++) = EXT_CTRL_CODE_BEGIN;
+ *(dst++) = 4;
+ *(dst++) = 8;
+ *(dst++) = 0;
+ *(dst++) = 9;
+ if (GetBoxOrPartyMonData(boxId, monId, MON_DATA_IS_EGG, NULL))
+ {
+ return StringCopyPadded(dst, gText_EggNickname, 0, 12);
+ }
+ else
+ {
+ GetBoxOrPartyMonData(boxId, monId, MON_DATA_NICKNAME, dst);
+ StringGetEnd10(dst);
+ species = GetBoxOrPartyMonData(boxId, monId, MON_DATA_SPECIES, NULL);
+ if (boxId == TOTAL_BOXES_COUNT) // Party mon.
+ {
+ level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL);
+ gender = GetMonGender(&gPlayerParty[monId]);
+ }
+ else
+ {
+ // Needed to match, feel free to remove.
+ boxId++;boxId--;
+ monId++;monId--;
+
+ boxMon = GetBoxedMonPtr(boxId, monId);
+ gender = GetBoxMonGender(boxMon);
+ level = GetLevelFromBoxMonExp(boxMon);
+ }
+
+ if ((species == SPECIES_NIDORAN_F || species == SPECIES_NIDORAN_M) && !StringCompare(dst, gSpeciesNames[species]))
+ gender = MON_GENDERLESS;
+
+ for (str = dst; *str != EOS; str++)
+ ;
+
+ *(str++) = EXT_CTRL_CODE_BEGIN;
+ *(str++) = 0x12;
+ *(str++) = 0x3C;
+
+ switch (gender)
+ {
+ default:
+ *(str++) = CHAR_SPACE;
+ break;
+ case MON_MALE:
+ *(str++) = EXT_CTRL_CODE_BEGIN;
+ *(str++) = EXT_CTRL_CODE_COLOR;
+ *(str++) = 4;
+ *(str++) = EXT_CTRL_CODE_BEGIN;
+ *(str++) = 3;
+ *(str++) = 5;
+ *(str++) = CHAR_MALE;
+ break;
+ case MON_FEMALE:
+ *(str++) = EXT_CTRL_CODE_BEGIN;
+ *(str++) = EXT_CTRL_CODE_COLOR;
+ *(str++) = 6;
+ *(str++) = EXT_CTRL_CODE_BEGIN;
+ *(str++) = 3;
+ *(str++) = 7;
+ *(str++) = CHAR_FEMALE;
+ break;
+ }
+
+ *(str++) = EXT_CTRL_CODE_BEGIN;
+ *(str++) = 4;
+ *(str++) = 8;
+ *(str++) = 0;
+ *(str++) = 9;
+ *(str++) = CHAR_SLASH;
+ *(str++) = CHAR_SPECIAL_F9;
+ *(str++) = 5;
+ str = ConvertIntToDecimalStringN(str, level, STR_CONV_MODE_LEFT_ALIGN, 3);
+ *(str++) = CHAR_SPACE;
+ *str = EOS;
+
+ return str;
+ }
+}
+
+static u8 *sub_81D2E7C(u8 *dst, const u8 *src, s16 n)
+{
+ while (*src != EOS)
+ {
+ *(dst++) = *(src++);
+ n--;
+ }
+ while (n-- > 0)
+ *(dst++) = CHAR_SPACE;
+
+ *dst = EOS;
+ return dst;
+}
+
+void sub_81D2ED4(u8 *dst, u8 *nameDst, u16 boxId, u16 monId, u16 arg5, u16 arg6, bool8 arg7)
+{
+ u16 i;
+
+ if (!arg7)
+ arg6--;
+
+ if (arg5 != arg6)
+ {
+ sub_81D2CD0(nameDst, boxId, monId);
+ dst[0] = EXT_CTRL_CODE_BEGIN;
+ dst[1] = 4;
+ dst[2] = 8;
+ dst[3] = 0;
+ dst[4] = 9;
+ if (boxId == TOTAL_BOXES_COUNT) // Party mon.
+ {
+ sub_81D2E7C(dst + 5, gText_InParty, 8);
+ }
+ else
+ {
+ boxId++;boxId--; // Again...Someone fix this maybe?
+ sub_81D2E7C(dst + 5, GetBoxNamePtr(boxId), 8);
+ }
+ }
+ else
+ {
+ for (i = 0; i < 12; i++)
+ nameDst[i] = CHAR_SPACE;
+ nameDst[i] = EOS;
+ for (i = 0; i < 8; i++)
+ dst[i] = CHAR_SPACE;
+ dst[i] = EOS;
+ }
+}
+
+void sub_81D2F78(struct UnknownStruct_81D1ED4 *arg0, u8 *sheen, u16 boxId, u16 monId, u16 arg5, u16 id, u16 arg7, bool8 arg8)
+{
+ u16 i;
+
+ if (!arg8)
+ arg7--;
+
+ if (arg5 != arg7)
+ {
+ arg0->unk0[id][0] = GetBoxOrPartyMonData(boxId, monId, MON_DATA_COOL, NULL);
+ arg0->unk0[id][1] = GetBoxOrPartyMonData(boxId, monId, MON_DATA_TOUGH, NULL);
+ arg0->unk0[id][2] = GetBoxOrPartyMonData(boxId, monId, MON_DATA_SMART, NULL);
+ arg0->unk0[id][3] = GetBoxOrPartyMonData(boxId, monId, MON_DATA_CUTE, NULL);
+ arg0->unk0[id][4] = GetBoxOrPartyMonData(boxId, monId, MON_DATA_BEAUTY, NULL);
+
+ sheen[id] = (GetBoxOrPartyMonData(boxId, monId, MON_DATA_SHEEN, NULL) != 0xFF)
+ ? GetBoxOrPartyMonData(boxId, monId, MON_DATA_SHEEN, NULL) / 29u
+ : 9;
+
+ sub_81D2754(arg0->unk0[id], arg0->unk14[id]);
+ }
+ else
+ {
+ for (i = 0; i < 5; i++)
+ {
+ arg0->unk0[id][i] = 0;
+ arg0->unk14[id][i].unk0 = 155;
+ arg0->unk14[id][i].unk2 = 91;
+ }
+ }
+}
+
+void sub_81D3094(void *tilesDst, void *palDst, u16 boxId, u16 monId, u16 arg5, u16 arg6, bool8 arg7)
+{
+ if (!arg7)
+ arg6--;
+
+ if (arg5 != arg6)
+ {
+ u16 species = GetBoxOrPartyMonData(boxId, monId, MON_DATA_SPECIES2, NULL);
+ u32 trainerId = GetBoxOrPartyMonData(boxId, monId, MON_DATA_OT_ID, NULL);
+ u32 personality = GetBoxOrPartyMonData(boxId, monId, MON_DATA_PERSONALITY, NULL);
+
+ LoadSpecialPokePic(&gMonFrontPicTable[species], tilesDst, species, personality, TRUE);
+ LZ77UnCompWram(GetFrontSpritePalFromSpeciesAndPersonality(species, trainerId, personality), palDst);
+ }
+}
+
+bool8 sub_81D312C(s16 *var)
+{
+ *var += 24;
+ if (*var > 0)
+ *var = 0;
+
+ return (*var != 0);
+}
+
+bool8 sub_81D3150(s16 *var)
+{
+ *var -= 24;
+ if (*var < -80)
+ *var = -80;
+
+ return (*var != -80);
+}
+
+bool8 sub_81D3178(struct UnknownStruct_81D1ED4 *arg0, s16 *arg1)
+{
+ bool8 var1 = sub_81D2074(arg0);
+ bool8 var2 = sub_81D312C(arg1);
+
+ return ((var1 != 0) || (var2 != 0));
+}
+
+bool8 sub_81D31A4(struct UnknownStruct_81D1ED4 *arg0, s16 *arg1)
+{
+ bool8 var1 = sub_81D2074(arg0);
+ bool8 var2 = sub_81D3150(arg1);
+
+ return ((var1 != 0) || (var2 != 0));
+}
+
+static const u32 gUnknown_08625560[] = INCBIN_U32("graphics/pokenav/pokeball.4bpp");
+static const u32 gUnknown_08625660[] = INCBIN_U32("graphics/pokenav/pokeball_placeholder.4bpp");
+static const u16 gUnknown_08625680[] = INCBIN_U16("graphics/pokenav/sparkle.gbapal");
+static const u32 gUnknown_086256A0[] = INCBIN_U32("graphics/pokenav/sparkle.4bpp");
+
+static const struct OamData sOamData_8625A20 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_8625A28 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const union AnimCmd sSpriteAnim_8625A30[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8625A38[] =
+{
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_8625A40[] =
+{
+ sSpriteAnim_8625A30,
+ sSpriteAnim_8625A38
+};
+
+void sub_81D31D0(struct SpriteSheet *sheet, struct SpriteTemplate *template, struct SpritePalette *pal)
+{
+ struct SpriteSheet dataSheet = {NULL, 0x800, 100};
+
+ struct SpriteTemplate dataTemplate =
+ {
+ .tileTag = 100,
+ .paletteTag = 100,
+ .oam = &sOamData_8625A20,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ };
+
+ struct SpritePalette dataPal = {NULL, 100};
+
+ *sheet = dataSheet;
+ *template = dataTemplate;
+ *pal = dataPal;
+}
+
+void sub_81D321C(struct SpriteSheet *sheets, struct SpriteTemplate * template, struct SpritePalette *pals)
+{
+ u8 i;
+
+ struct SpriteSheet dataSheets[] =
+ {
+ {gUnknown_08625560, 0x100, 101},
+ {gUnknown_08625660, 0x20, 103},
+ {gPokenavConditionCancel_Gfx, 0x100, 102},
+ {},
+ };
+
+ struct SpritePalette dataPals[] =
+ {
+ {gPokenavConditionCancel_Pal, 101},
+ {gPokenavConditionCancel_Pal + 16, 102},
+ {},
+ };
+
+ struct SpriteTemplate dataTemplate =
+ {
+ .tileTag = 101,
+ .paletteTag = 101,
+ .oam = &sOamData_8625A28,
+ .anims = sSpriteAnimTable_8625A40,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ };
+
+ for (i = 0; i < ARRAY_COUNT(dataSheets); i++)
+ *(sheets++) = dataSheets[i];
+
+ *template = dataTemplate;
+
+ for (i = 0; i < ARRAY_COUNT(dataPals); i++)
+ *(pals++) = dataPals[i];
+}
+
+void sub_81D32B0(struct SpriteSheet *sheet, struct SpritePalette *pal)
+{
+ struct SpriteSheet dataSheet = {gUnknown_086256A0, 0x380, 104};
+ struct SpritePalette dataPal = {gUnknown_08625680, 104};
+
+ *sheet = dataSheet;
+ *pal = dataPal;
+}
+
+static void sub_81D32D4(struct Sprite *sprite)
+{
+ if (++sprite->data[1] > 60)
+ {
+ sprite->data[1] = 0;
+ sub_81D3408(sprite);
+ }
+}
+
+static void sub_81D32F4(struct Sprite *sprite)
+{
+ if (sprite->animEnded)
+ {
+ sprite->data[1] = 0;
+ sprite->callback = sub_81D32D4;
+ }
+}
+
+static const struct OamData sOamData_8625AD0 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .priority = 0,
+};
+
+static const union AnimCmd sSpriteAnim_8625AD8[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(12, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(20, 5),
+ ANIMCMD_FRAME(24, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_8625AF8[] =
+{
+ sSpriteAnim_8625AD8,
+ sSpriteAnim_8625AD8 + 2,
+};
+
+// unused
+static const union AnimCmd *const sSpriteAnimTable_8625B00[] =
+{
+ sSpriteAnim_8625AD8 + 4,
+ sSpriteAnim_8625AD8 + 6,
+};
+
+// unused
+static const union AnimCmd *const sSpriteAnimTable_8625B08[] =
+{
+ sSpriteAnim_8625AD8 + 8,
+ sSpriteAnim_8625AD8 + 10,
+};
+
+// unused
+static const union AnimCmd *const *const sUnknown_08625B10 = sSpriteAnimTable_8625B08;
+
+const struct SpriteTemplate gUnknown_08625B14 =
+{
+ .tileTag = 104,
+ .paletteTag = 104,
+ .oam = &sOamData_8625AD0,
+ .anims = sSpriteAnimTable_8625AF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81D3564,
+};
+
+static const s16 gUnknown_08625B2C[][2] =
+{
+ {0, -35},
+ {20, -28},
+ {33, -10},
+ {33, 10},
+ {20, 28},
+ {0, 35},
+ {-20, 28},
+ {-33, 10},
+ {-33, -10},
+ {-20, -28},
+};
+
+void sub_81D3314(struct Sprite *sprite)
+{
+ struct Sprite *sprite2 = &gSprites[sprite->data[4]];
+
+ if (sprite2 != NULL)
+ {
+ sprite->pos1.x = sprite2->pos1.x + sprite2->pos2.x + gUnknown_08625B2C[sprite->data[0]][0];
+ sprite->pos1.y = sprite2->pos1.y + sprite2->pos2.y + gUnknown_08625B2C[sprite->data[0]][1];
+ }
+ else
+ {
+ sprite->pos1.x = gUnknown_08625B2C[sprite->data[0]][0] + 40;
+ sprite->pos1.y = gUnknown_08625B2C[sprite->data[0]][1] + 104;
+ }
+}
+
+void sub_81D338C(u8 arg0, u8 arg1, struct Sprite **sprites)
+{
+ u16 i;
+
+ for (i = 0; i < 10; i++)
+ {
+ if (sprites[i] != NULL)
+ {
+ sprites[i]->data[0] = i;
+ sprites[i]->data[1] = (i * 16) + 1;
+ sprites[i]->data[2] = arg0;
+ sprites[i]->data[3] = i;
+ if (arg1 == 0 || arg0 != 9)
+ {
+ sprites[i]->callback = sub_81D3564;
+ }
+ else
+ {
+ sub_81D3314(sprites[i]);
+ sub_81D35E8(sprites[i]);
+ sprites[i]->callback = sub_81D32F4;
+ sprites[i]->invisible = FALSE;
+ }
+ }
+ }
+}
+
+static void sub_81D3408(struct Sprite *sprite)
+{
+ u16 i;
+ u8 id = sprite->data[5];
+
+ for (i = 0; i < sprite->data[2] + 1; i++)
+ {
+ gSprites[id].data[1] = (gSprites[id].data[0] * 16) + 1;
+ gSprites[id].callback = sub_81D3564;
+ id = gSprites[id].data[5];
+ }
+}
+
+void sub_81D3464(struct Sprite **sprites)
+{
+ u8 i;
+
+ for (i = 0; i < 10; i++)
+ sprites[i] = NULL;
+}
+
+void sub_81D3480(struct Sprite **sprites, u8 arg1, u8 arg2)
+{
+ u16 i, spriteId, firstSpriteId = 0;
+ u8 count = arg2;
+
+ for (i = 0; i < count + 1; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_08625B14, 0, 0, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprites[i] = &gSprites[spriteId];
+ sprites[i]->invisible = TRUE;
+ sprites[i]->data[4] = arg1;
+ if (i != 0)
+ sprites[i - 1]->data[5] = spriteId;
+ else
+ firstSpriteId = spriteId;
+ }
+ else
+ {
+ break;
+ }
+ }
+
+ sprites[count]->data[5] = firstSpriteId;
+ sub_81D338C(count, 1, sprites);
+}
+
+void sub_81D3520(struct Sprite **sprites)
+{
+ u16 i;
+
+ for (i = 0; i < 10; i++)
+ {
+ if (sprites[i] != NULL)
+ {
+ DestroySprite(sprites[i]);
+ sprites[i] = NULL;
+ }
+ else
+ {
+ break;
+ }
+ }
+}
+
+void sub_81D354C(struct Sprite **sprites)
+{
+ sub_81D3520(sprites);
+ FreeSpriteTilesByTag(104);
+ FreeSpritePaletteByTag(104);
+}
+
+static void sub_81D3564(struct Sprite *sprite)
+{
+ if (sprite->data[1] != 0)
+ {
+ if (--sprite->data[1] != 0)
+ return;
+
+ SeekSpriteAnim(sprite, 0);
+ sprite->invisible = FALSE;
+ }
+
+ sub_81D3314(sprite);
+ if (sprite->animEnded)
+ {
+ sprite->invisible = TRUE;
+ if (sprite->data[3] == sprite->data[2])
+ {
+ if (sprite->data[3] == 9)
+ {
+ sub_81D35E8(sprite);
+ sprite->callback = sub_81D32F4;
+ }
+ else
+ {
+ sprite->callback = sub_81D32D4;
+ }
+ }
+ else
+ {
+ sprite->callback = SpriteCallbackDummy;
+ }
+ }
+}
+
+static void sub_81D35E8(struct Sprite *sprite)
+{
+ u8 i, id = sprite->data[5];
+
+ for (i = 0; i < sprite->data[2] + 1; i++)
+ {
+ SeekSpriteAnim(&gSprites[id], 0);
+ gSprites[id].invisible = FALSE;
+ id = gSprites[id].data[5];
+ }
+}
+
+static const u8 *const sLvlUpStatStrings[] =
+{
+ gUnknown_085EEA46,
+ gUnknown_085EEA4E,
+ gUnknown_085EEA55,
+ gUnknown_085EEA63,
+ gUnknown_085EEA6B,
+ gUnknown_085EEA5D
+};
+
+void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr)
+{
+ u16 i, x;
+ s16 statsDiff[NUM_STATS];
+ u8 text[12];
+ u8 color[3];
+
+ FillWindowPixelBuffer(windowId, PIXEL_FILL(bgClr));
+
+ statsDiff[0] = statsAfter[STAT_HP] - statsBefore[STAT_HP];
+ statsDiff[1] = statsAfter[STAT_ATK] - statsBefore[STAT_ATK];
+ statsDiff[2] = statsAfter[STAT_DEF] - statsBefore[STAT_DEF];
+ statsDiff[3] = statsAfter[STAT_SPATK] - statsBefore[STAT_SPATK];
+ statsDiff[4] = statsAfter[STAT_SPDEF] - statsBefore[STAT_SPDEF];
+ statsDiff[5] = statsAfter[STAT_SPEED] - statsBefore[STAT_SPEED];
+
+ color[0] = bgClr;
+ color[1] = fgClr;
+ color[2] = shadowClr;
+
+ for (i = 0; i < NUM_STATS; i++)
+ {
+
+ AddTextPrinterParameterized3(windowId,
+ 1,
+ 0,
+ 15 * i,
+ color,
+ -1,
+ sLvlUpStatStrings[i]);
+
+ StringCopy(text, (statsDiff[i] >= 0) ? gText_UnkCtrlF904 : gText_Dash);
+ AddTextPrinterParameterized3(windowId,
+ 1,
+ 56,
+ 15 * i,
+ color,
+ -1,
+ text);
+ if (abs(statsDiff[i]) <= 9)
+ x = 18;
+ else
+ x = 12;
+
+ ConvertIntToDecimalStringN(text, abs(statsDiff[i]), STR_CONV_MODE_LEFT_ALIGN, 2);
+ AddTextPrinterParameterized3(windowId,
+ 1,
+ 56 + x,
+ 15 * i,
+ color,
+ -1,
+ text);
+ }
+}
+
+void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 shadowClr)
+{
+ u16 i, numDigits, x;
+ s16 stats[NUM_STATS];
+ u8 text[12];
+ u8 color[3];
+
+ FillWindowPixelBuffer(windowId, PIXEL_FILL(bgClr));
+
+ stats[0] = currStats[STAT_HP];
+ stats[1] = currStats[STAT_ATK];
+ stats[2] = currStats[STAT_DEF];
+ stats[3] = currStats[STAT_SPATK];
+ stats[4] = currStats[STAT_SPDEF];
+ stats[5] = currStats[STAT_SPEED];
+
+ color[0] = bgClr;
+ color[1] = fgClr;
+ color[2] = shadowClr;
+
+ for (i = 0; i < NUM_STATS; i++)
+ {
+ if (stats[i] > 99)
+ numDigits = 3;
+ else if (stats[i] > 9)
+ numDigits = 2;
+ else
+ numDigits = 1;
+
+ ConvertIntToDecimalStringN(text, stats[i], STR_CONV_MODE_LEFT_ALIGN, numDigits);
+ x = 6 * (4 - numDigits);
+
+ AddTextPrinterParameterized3(windowId,
+ 1,
+ 0,
+ 15 * i,
+ color,
+ -1,
+ sLvlUpStatStrings[i]);
+
+ AddTextPrinterParameterized3(windowId,
+ 1,
+ 56 + x,
+ 15 * i,
+ color,
+ -1,
+ text);
+ }
+}
+
+void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *currStats)
+{
+ currStats[STAT_HP] = GetMonData(mon, MON_DATA_MAX_HP);
+ currStats[STAT_ATK] = GetMonData(mon, MON_DATA_ATK);
+ currStats[STAT_DEF] = GetMonData(mon, MON_DATA_DEF);
+ currStats[STAT_SPEED] = GetMonData(mon, MON_DATA_SPEED);
+ currStats[STAT_SPATK] = GetMonData(mon, MON_DATA_SPATK);
+ currStats[STAT_SPDEF] = GetMonData(mon, MON_DATA_SPDEF);
+}
diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c
index 8a2c3ad91..16298183b 100644
--- a/src/metatile_behavior.c
+++ b/src/metatile_behavior.c
@@ -191,7 +191,7 @@ static const u8 sTileBitAttributes[] =
[MB_SECRET_BASE_UNUSED] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_BLOCK_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_DECORATION] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_LARGE_MAT_EDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_HOLDS_SMALL_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_B6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_NORTH_WALL] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_BALLOON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
@@ -205,7 +205,7 @@ static const u8 sTileBitAttributes[] =
[MB_IMPASSABLE_SOUTH_AND_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_IMPASSABLE_WEST_AND_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_HOLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_LARGE_MAT_CENTER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_HOLDS_LARGE_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_TV_SHIELD] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_PLAYER_ROOM_PC_ON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_C6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
@@ -751,17 +751,17 @@ bool8 Unref_MetatileBehavior_IsSecretBaseUnused_B2_2(u8 metatileBehavior)
return FALSE;
}
-bool8 MetatileBehavior_IsSecretBaseLargeMatEdge(u8 metatileBehavior)
+bool8 MetatileBehavior_HoldsSmallDecoration(u8 metatileBehavior)
{
- if (metatileBehavior == MB_SECRET_BASE_LARGE_MAT_EDGE)
+ if (metatileBehavior == MB_HOLDS_SMALL_DECORATION)
return TRUE;
else
return FALSE;
}
-bool8 MetatileBehavior_IsLargeMatCenter(u8 metatileBehavior)
+bool8 MetatileBehavior_HoldsLargeDecoration(u8 metatileBehavior)
{
- if (metatileBehavior == MB_LARGE_MAT_CENTER)
+ if (metatileBehavior == MB_HOLDS_LARGE_DECORATION)
return TRUE;
else
return FALSE;
diff --git a/src/mevent2.c b/src/mevent2.c
new file mode 100755
index 000000000..f36e5d06b
--- /dev/null
+++ b/src/mevent2.c
@@ -0,0 +1,626 @@
+#include "global.h"
+#include "util.h"
+#include "main.h"
+#include "event_data.h"
+#include "easy_chat.h"
+#include "script.h"
+#include "battle_tower.h"
+#include "mevent_news.h"
+#include "string_util.h"
+#include "new_game.h"
+#include "mevent.h"
+#include "constants/species.h"
+
+static EWRAM_DATA bool32 gUnknown_02022C70 = FALSE;
+
+static void sub_801B180(void);
+static void s_DestroyWonderNews(void);
+static bool32 sub_801B114(const struct WonderNews *data);
+static bool32 sub_801B2CC(const struct WonderCard *data);
+static void sub_801B330(void);
+static void sub_801B368(void);
+static void sub_801B9F8(void);
+static void sub_801BA8C(u32 a0, u32 a1, u32 *a2, int a3);
+
+void sub_801AFD8(void)
+{
+ CpuFill32(0, &gSaveBlock1Ptr->unk_322C, sizeof(gSaveBlock1Ptr->unk_322C));
+ sub_801B180();
+ sub_811F8BC();
+}
+
+struct WonderNews *GetSavedWonderNews(void)
+{
+ return &gSaveBlock1Ptr->unk_322C.wonderNews.data;
+}
+
+struct WonderCard *GetSavedWonderCard(void)
+{
+ return &gSaveBlock1Ptr->unk_322C.wonderCard.data;
+}
+
+struct MEventBuffer_3430_Sub *sav1_get_mevent_buffer_2(void)
+{
+ return &gSaveBlock1Ptr->unk_322C.buffer_310.data;
+}
+
+struct MysteryEventStruct *sub_801B044(void)
+{
+ return &gSaveBlock1Ptr->unk_322C.unk_340;
+}
+
+u16 *sub_801B058(void)
+{
+ return gSaveBlock1Ptr->unk_322C.unk_338;
+}
+
+void DestroyWonderNews(void)
+{
+ s_DestroyWonderNews();
+}
+
+bool32 sub_801B078(const struct WonderNews *src)
+{
+ if (!sub_801B114(src))
+ return FALSE;
+
+ s_DestroyWonderNews();
+ gSaveBlock1Ptr->unk_322C.wonderNews.data = *src;
+ gSaveBlock1Ptr->unk_322C.wonderNews.crc = CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.wonderNews.data, sizeof(struct WonderNews));
+ return TRUE;
+}
+
+bool32 ValidateReceivedWonderNews(void)
+{
+ if (CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.wonderNews.data, sizeof(struct WonderNews)) != gSaveBlock1Ptr->unk_322C.wonderNews.crc)
+ return FALSE;
+ if (!sub_801B114(&gSaveBlock1Ptr->unk_322C.wonderNews.data))
+ return FALSE;
+
+ return TRUE;
+}
+
+static bool32 sub_801B114(const struct WonderNews *data)
+{
+ if (data->unk_00 == 0)
+ return FALSE;
+
+ return TRUE;
+}
+
+bool32 WonderNews_Test_Unk_02(void)
+{
+ const struct WonderNews *data = &gSaveBlock1Ptr->unk_322C.wonderNews.data;
+ if (data->unk_02 == 0)
+ return FALSE;
+
+ return TRUE;
+}
+
+static void s_DestroyWonderNews(void)
+{
+ CpuFill32(0, GetSavedWonderNews(), sizeof(gSaveBlock1Ptr->unk_322C.wonderNews.data));
+ gSaveBlock1Ptr->unk_322C.wonderNews.crc = 0;
+}
+
+static void sub_801B180(void)
+{
+ CpuFill32(0, sub_801B044(), sizeof(struct MysteryEventStruct));
+ sub_801DBC0();
+}
+
+bool32 sub_801B1A4(const u8 *src)
+{
+ const u8 *r5 = (const u8 *)&gSaveBlock1Ptr->unk_322C.wonderNews.data;
+ u32 i;
+ if (!ValidateReceivedWonderNews())
+ return FALSE;
+
+ for (i = 0; i < sizeof(struct WonderNews); i++)
+ {
+ if (r5[i] != src[i])
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void DestroyWonderCard(void)
+{
+ sub_801B330();
+ sub_801B368();
+ sub_801B9F8();
+ ClearRamScript();
+ sub_809D4D8();
+ sub_809D570();
+ ClearEReaderTrainer(&gSaveBlock2Ptr->frontier.ereaderTrainer);
+}
+
+bool32 sub_801B21C(const struct WonderCard *data)
+{
+ struct MEventBuffer_3430_Sub *r2;
+ struct WonderCard *r1;
+ if (!sub_801B2CC(data))
+ return FALSE;
+
+ DestroyWonderCard();
+ memcpy(&gSaveBlock1Ptr->unk_322C.wonderCard.data, data, sizeof(struct WonderCard));
+ gSaveBlock1Ptr->unk_322C.wonderCard.crc = CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.wonderCard.data, sizeof(struct WonderCard));
+ r2 = &gSaveBlock1Ptr->unk_322C.buffer_310.data;
+ r1 = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
+ r2->unk_06 = r1->unk_02;
+ return TRUE;
+}
+
+bool32 ValidateReceivedWonderCard(void)
+{
+ if (gSaveBlock1Ptr->unk_322C.wonderCard.crc != CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.wonderCard.data, sizeof(struct WonderCard)))
+ return FALSE;
+ if (!sub_801B2CC(&gSaveBlock1Ptr->unk_322C.wonderCard.data))
+ return FALSE;
+ if (!ValidateSavedRamScript())
+ return FALSE;
+
+ return TRUE;
+}
+
+static bool32 sub_801B2CC(const struct WonderCard *data)
+{
+ if (data->unk_00 == 0)
+ return FALSE;
+ if (data->unk_08_0 > 2)
+ return FALSE;
+ if (!(data->unk_08_6 == 0 || data->unk_08_6 == 1 || data->unk_08_6 == 2))
+ return FALSE;
+ if (data->unk_08_2 > 7)
+ return FALSE;
+ if (data->unk_09 > 7)
+ return FALSE;
+
+ return TRUE;
+}
+
+bool32 WonderCard_Test_Unk_08_6(void)
+{
+ const struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
+ if (data->unk_08_6 == 0)
+ return FALSE;
+
+ return TRUE;
+}
+
+static void sub_801B330(void)
+{
+ CpuFill32(0, &gSaveBlock1Ptr->unk_322C.wonderCard.data, sizeof(struct WonderCard));
+ gSaveBlock1Ptr->unk_322C.wonderCard.crc = 0;
+}
+
+static void sub_801B368(void)
+{
+ CpuFill32(0, sav1_get_mevent_buffer_2(), 18 *sizeof(u16));
+ gSaveBlock1Ptr->unk_322C.buffer_310.crc = 0;
+}
+
+u16 GetWonderCardFlagID(void)
+{
+ if (ValidateReceivedWonderCard())
+ return gSaveBlock1Ptr->unk_322C.wonderCard.data.unk_00;
+
+ return 0;
+}
+
+void WonderCard_ResetInternalReceivedFlag(struct WonderCard *buffer)
+{
+ if (buffer->unk_08_6 == 1)
+ buffer->unk_08_6 = 0;
+}
+
+static bool32 IsWonderCardFlagIDInValidRange(u16 a0)
+{
+ if (a0 >= 1000 && a0 < 1020)
+ return TRUE;
+
+ return FALSE;
+}
+
+static const u16 sMysteryGiftFlags[] =
+{
+ FLAG_RECEIVED_AURORA_TICKET,
+ FLAG_RECEIVED_MYSTIC_TICKET,
+ FLAG_RECEIVED_OLD_SEA_MAP,
+ FLAG_UNUSED_MYSTERY_GIFT_0x13D,
+ FLAG_UNUSED_MYSTERY_GIFT_0x13E,
+ FLAG_UNUSED_MYSTERY_GIFT_0x13F,
+ FLAG_UNUSED_MYSTERY_GIFT_0x140,
+ FLAG_UNUSED_MYSTERY_GIFT_0x141,
+ FLAG_UNUSED_MYSTERY_GIFT_0x142,
+ FLAG_UNUSED_MYSTERY_GIFT_0x143,
+ FLAG_UNUSED_MYSTERY_GIFT_0x144,
+ FLAG_UNUSED_MYSTERY_GIFT_0x145,
+ FLAG_UNUSED_MYSTERY_GIFT_0x146,
+ FLAG_UNUSED_MYSTERY_GIFT_0x147,
+ FLAG_UNUSED_MYSTERY_GIFT_0x148,
+ FLAG_UNUSED_MYSTERY_GIFT_0x149,
+ FLAG_UNUSED_MYSTERY_GIFT_0x14A,
+ FLAG_UNUSED_MYSTERY_GIFT_0x14B,
+ FLAG_UNUSED_MYSTERY_GIFT_0x14C,
+ FLAG_UNUSED_MYSTERY_GIFT_0x14D,
+};
+
+bool32 CheckReceivedGiftFromWonderCard(void)
+{
+ u16 value = GetWonderCardFlagID();
+ if (!IsWonderCardFlagIDInValidRange(value))
+ return FALSE;
+
+ if (FlagGet(sMysteryGiftFlags[value - 1000]) == TRUE)
+ return FALSE;
+
+ return TRUE;
+}
+
+static int sub_801B438(const struct MEventBuffer_3430_Sub *data, int size)
+{
+ int r3 = 0;
+ int i;
+ for (i = 0; i < size; i++)
+ {
+ if (data->unk_08[1][i] && data->unk_08[0][i])
+ r3++;
+ }
+
+ return r3;
+}
+
+static bool32 sub_801B460(const struct MEventBuffer_3430_Sub *data1, const u16 *data2, int size)
+{
+ int i;
+ for (i = 0; i < size; i++)
+ {
+ if (data1->unk_08[1][i] == data2[1])
+ return TRUE;
+ if (data1->unk_08[0][i] == data2[0])
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static bool32 sub_801B4A4(const u16 *data)
+{
+ if (data[1] == 0)
+ return FALSE;
+ if (data[0] == 0)
+ return FALSE;
+ if (data[0] >= NUM_SPECIES)
+ return FALSE;
+ return TRUE;
+}
+
+static int sub_801B4CC(void)
+{
+ struct WonderCard *data;
+ if (!ValidateReceivedWonderCard())
+ return 0;
+
+ data = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
+ if (data->unk_08_0 != 1)
+ return 0;
+
+ return sub_801B438(&gSaveBlock1Ptr->unk_322C.buffer_310.data, data->unk_09);
+}
+
+bool32 sub_801B508(const u16 *data)
+{
+ struct WonderCard *buffer = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
+ int size = buffer->unk_09;
+ int i;
+ if (!sub_801B4A4(data))
+ return FALSE;
+
+ if (sub_801B460(&gSaveBlock1Ptr->unk_322C.buffer_310.data, data, size))
+ return FALSE;
+
+ for (i = 0; i < size; i++)
+ {
+ if (gSaveBlock1Ptr->unk_322C.buffer_310.data.unk_08[1][i] == 0 && gSaveBlock1Ptr->unk_322C.buffer_310.data.unk_08[0][i] == 0)
+ {
+ gSaveBlock1Ptr->unk_322C.buffer_310.data.unk_08[1][i] = data[1];
+ gSaveBlock1Ptr->unk_322C.buffer_310.data.unk_08[0][i] = data[0];
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+void sub_801B580(struct MEventStruct_Unk1442CC *data, bool32 a1)
+{
+ int i;
+ CpuFill32(0, data, sizeof(struct MEventStruct_Unk1442CC));
+ data->unk_00 = 0x101;
+ data->unk_04 = 1;
+ data->unk_08 = 1;
+
+ if (a1)
+ {
+ data->unk_0C = 5;
+ data->unk_10 = 0x0201;
+ }
+ else
+ {
+ data->unk_0C = 4;
+ data->unk_10 = 0x0200;
+ }
+
+ if (ValidateReceivedWonderCard())
+ {
+ data->unk_14 = GetSavedWonderCard()->unk_00;
+ data->unk_20 = *sav1_get_mevent_buffer_2();
+ data->unk_44 = GetSavedWonderCard()->unk_09;
+ }
+ else
+ {
+ data->unk_14 = 0;
+ }
+
+ for (i = 0; i < 4; i++)
+ data->unk_16[i] = gSaveBlock1Ptr->unk_322C.unk_338[i];
+
+ CopyTrainerId(data->unk_4C, gSaveBlock2Ptr->playerTrainerId);
+ StringCopy(data->unk_45, gSaveBlock2Ptr->playerName);
+ for (i = 0; i < 6; i++)
+ data->unk_50[i] = gSaveBlock1Ptr->easyChatProfile[i];
+
+ memcpy(data->unk_5C, RomHeaderGameCode, 4);
+ data->unk_60 = RomHeaderSoftwareVersion;
+}
+
+bool32 sub_801B6A0(const struct MEventStruct_Unk1442CC *data, bool32 a1)
+{
+ if (data->unk_00 != 0x101)
+ return FALSE;
+
+ if (!(data->unk_04 & 1))
+ return FALSE;
+
+ if (!(data->unk_08 & 1))
+ return FALSE;
+
+ if (!a1)
+ {
+ if (!(data->unk_0C & 4))
+ return FALSE;
+
+ if (!(data->unk_10 & 0x380))
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+u32 sub_801B6EC(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const void *unused)
+{
+ if (a1->unk_14 == 0)
+ return 0;
+
+ if (*a0 == a1->unk_14)
+ return 1;
+
+ return 2;
+}
+
+u32 sub_801B708(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const void *unused)
+{
+ int r4 = a1->unk_44 - sub_801B438(&a1->unk_20, a1->unk_44);
+ if (r4 == 0)
+ return 1;
+ if (sub_801B460(&a1->unk_20, a0, a1->unk_44))
+ return 3;
+ if (r4 == 1)
+ return 4;
+ return 2;
+}
+
+bool32 MEventStruct_Unk1442CC_CompareField_unk_16(const struct MEventStruct_Unk1442CC *a0, const u16 *a1)
+{
+ int i;
+ for (i = 0; i < 4; i++)
+ {
+ if (a0->unk_16[i] != a1[i])
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static int sub_801B770(const struct MEventStruct_Unk1442CC *a0)
+{
+ return sub_801B438(&a0->unk_20, a0->unk_44);
+}
+
+u16 MEventStruct_Unk1442CC_GetValueNFrom_unk_20(const struct MEventStruct_Unk1442CC *a0, u32 command)
+{
+ switch (command)
+ {
+ case 0:
+ return a0->unk_20.unk_00;
+ case 1:
+ return a0->unk_20.unk_02;
+ case 2:
+ return a0->unk_20.unk_04;
+ case 3:
+ return sub_801B770(a0);
+ case 4:
+ return a0->unk_44;
+ default:
+ AGB_ASSERT(0);
+ return 0;
+ }
+}
+
+static void sub_801B7D8(u32 command)
+{
+ struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
+ if (data->unk_08_0 == 2)
+ {
+ u16 *dest = NULL;
+ switch (command)
+ {
+ case 0:
+ dest = &gSaveBlock1Ptr->unk_322C.buffer_310.data.unk_00;
+ break;
+ case 1:
+ dest = &gSaveBlock1Ptr->unk_322C.buffer_310.data.unk_02;
+ break;
+ case 2:
+ dest = &gSaveBlock1Ptr->unk_322C.buffer_310.data.unk_04;
+ break;
+ case 3:
+ break;
+ case 4:
+ break;
+ }
+
+ if (dest == NULL)
+ AGB_ASSERT(0);
+ else if (++(*dest) > 999)
+ *dest = 999;
+ }
+}
+
+u16 mevent_081445C0(u32 command)
+{
+ switch (command)
+ {
+ case 0:
+ {
+ struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
+ if (data->unk_08_0 == 2)
+ {
+ struct MEventBuffer_3430_Sub *buffer = &gSaveBlock1Ptr->unk_322C.buffer_310.data;
+ return buffer->unk_00;
+ }
+ break;
+ }
+ case 1:
+ {
+ struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
+ if (data->unk_08_0 == 2)
+ {
+ struct MEventBuffer_3430_Sub *buffer = &gSaveBlock1Ptr->unk_322C.buffer_310.data;
+ return buffer->unk_02;
+ }
+ break;
+ }
+ case 2:
+ {
+ struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
+ if (data->unk_08_0 == 2)
+ {
+ struct MEventBuffer_3430_Sub *buffer = &gSaveBlock1Ptr->unk_322C.buffer_310.data;
+ return buffer->unk_04;
+ }
+ break;
+ }
+ case 3:
+ {
+ struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
+ if (data->unk_08_0 == 1)
+ return sub_801B4CC();
+ break;
+ }
+ case 4:
+ {
+ struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
+ if (data->unk_08_0 == 1)
+ return data->unk_09;
+ break;
+ }
+ }
+
+ AGB_ASSERT(0);
+ return 0;
+}
+
+void sub_801B940(void)
+{
+ gUnknown_02022C70 = FALSE;
+}
+
+bool32 sub_801B94C(u16 a0)
+{
+ gUnknown_02022C70 = FALSE;
+ if (a0 == 0)
+ return FALSE;
+
+ if (!ValidateReceivedWonderCard())
+ return FALSE;
+
+ if (gSaveBlock1Ptr->unk_322C.wonderCard.data.unk_00 != a0)
+ return FALSE;
+
+ gUnknown_02022C70 = TRUE;
+ return TRUE;
+}
+
+void sub_801B990(u32 a0, u32 a1)
+{
+ if (gUnknown_02022C70)
+ {
+ switch (a0)
+ {
+ case 2:
+ sub_801BA8C(2, a1, gSaveBlock1Ptr->unk_322C.unk_344[1], 5);
+ break;
+ case 0:
+ sub_801BA8C(0, a1, gSaveBlock1Ptr->unk_322C.unk_344[0], 5);
+ break;
+ case 1:
+ sub_801BA8C(1, a1, gSaveBlock1Ptr->unk_322C.unk_344[0], 5);
+ break;
+ default:
+ AGB_ASSERT(0);
+ }
+ }
+}
+
+static void sub_801B9F8(void)
+{
+ CpuFill32(0, gSaveBlock1Ptr->unk_322C.unk_344, sizeof(gSaveBlock1Ptr->unk_322C.unk_344));
+}
+
+static bool32 sub_801BA24(u32 a0, u32 *a1, int size)
+{
+ int i;
+ int j;
+
+ for (i = 0; i < size; i++)
+ {
+ if (a1[i] == a0)
+ break;
+ }
+
+ if (i == size)
+ {
+ for (j = size - 1; j > 0; j--)
+ a1[j] = a1[j - 1];
+
+ a1[0] = a0;
+ return TRUE;
+ }
+ else
+ {
+ for (j = i; j > 0; j--)
+ a1[j] = a1[j - 1];
+
+ a1[0] = a0;
+ return FALSE;
+ }
+}
+
+static void sub_801BA8C(u32 a0, u32 a1, u32 *a2, int a3)
+{
+ if (sub_801BA24(a1, a2, a3))
+ sub_801B7D8(a0);
+}
diff --git a/src/mevent_801BAAC.c b/src/mevent_801BAAC.c
new file mode 100644
index 000000000..62240af98
--- /dev/null
+++ b/src/mevent_801BAAC.c
@@ -0,0 +1,826 @@
+#include "global.h"
+#include "constants/species.h"
+#include "bg.h"
+#include "gpu_regs.h"
+#include "palette.h"
+#include "decompress.h"
+#include "alloc.h"
+#include "menu.h"
+#include "pokemon_icon.h"
+#include "union_room.h"
+#include "list_menu.h"
+#include "text_window.h"
+#include "string_util.h"
+#include "link_rfu.h"
+#include "mevent.h"
+#include "mystery_gift.h"
+
+struct UnkStruct_8467FB8
+{
+ u8 textPal1:4;
+ u8 textPal2:4;
+ u8 textPal3:4;
+ u8 textPal4:4;
+ const u32 * tiles;
+ const u32 * map;
+ const u16 * pal;
+};
+
+struct UnkStruct_203F3C8_02DC
+{
+ u8 unk_00;
+ u8 unk_01[41];
+ u8 unk_42[4];
+};
+
+struct UnkStruct_203F3C8
+{
+ /*0000*/ struct WonderCard unk_0000;
+ /*014c*/ struct MEventBuffer_3430_Sub unk_014C;
+ /*0170*/ const struct UnkStruct_8467FB8 * unk_0170;
+ /*0174*/ u8 unk_0174;
+ /*0175*/ u8 unk_0175;
+ /*0176*/ u16 unk_0176[3];
+ /*017C*/ u8 unk_017C;
+ /*017D*/ u8 unk_017D[7][2];
+ /*018B*/ u8 unk_018B[41];
+ /*01B4*/ u8 unk_01B4[41];
+ /*01DD*/ u8 unk_01DD[7];
+ /*01E4*/ u8 unk_01E4[4][41];
+ /*0288*/ u8 unk_0288[41];
+ /*02B1*/ u8 unk_02B1[41];
+ /*02DC*/ struct UnkStruct_203F3C8_02DC unk_02DC[8];
+ /*045C*/ u8 buffer_045C[0x1000];
+};
+
+EWRAM_DATA struct UnkStruct_203F3C8 * sWonderCardData = NULL;
+
+void sub_801BEF8(void);
+void sub_801C178(u8 whichWindow);
+void sub_801C4C0(void);
+void sub_801C61C(void);
+
+extern const struct OamData gUnknown_08524934;
+
+const u8 gUnknown_082F0E10[][3] = {
+ {0, 2, 3},
+ {0, 1, 2}
+};
+const u8 ALIGNED(4) gUnknown_082F0E18[3] = {7, 4, 7};
+const struct WindowTemplate gUnknown_082F0E1C[] = {
+ {
+ .bg = 1,
+ .tilemapLeft = 1,
+ .tilemapTop = 1,
+ .width = 25,
+ .height = 4,
+ .paletteNum = 2,
+ .baseBlock = 0x029c
+ }, {
+ .bg = 1,
+ .tilemapLeft = 1,
+ .tilemapTop = 6,
+ .width = 28,
+ .height = 8,
+ .paletteNum = 2,
+ .baseBlock = 0x01bc
+ }, {
+ .bg = 1,
+ .tilemapLeft = 1,
+ .tilemapTop = 14,
+ .width = 28,
+ .height = 5,
+ .paletteNum = 2,
+ .baseBlock = 0x0130
+ }
+};
+
+const u16 gWonderCardBgPal1[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_1.gbapal");
+const u16 gWonderCardBgPal2[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_2.gbapal");
+const u16 gWonderCardBgPal3[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_3.gbapal");
+const u16 gWonderCardBgPal4[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_4.gbapal");
+const u16 gWonderCardBgPal5[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_5.gbapal");
+const u16 gWonderCardBgPal6[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_6.gbapal");
+const u16 gWonderCardBgPal7[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_7.gbapal");
+const u16 gWonderCardBgPal8[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_8.gbapal");
+const u32 gWonderCardBgGfx1[] = INCBIN_U32("graphics/wonder_transfers/wonder_card_1.4bpp.lz");
+const u32 gWonderCardBgTilemap1[] = INCBIN_U32("graphics/wonder_transfers/wonder_card_1.bin.lz");
+const u32 gWonderCardBgGfx2[] = INCBIN_U32("graphics/wonder_transfers/wonder_card_2.4bpp.lz");
+const u32 gWonderCardBgTilemap2[] = INCBIN_U32("graphics/wonder_transfers/wonder_card_2.bin.lz");
+const u32 gWonderCardBgGfx3[] = INCBIN_U32("graphics/wonder_transfers/wonder_card_3.4bpp.lz");
+const u32 gWonderCardBgTilemap3[] = INCBIN_U32("graphics/wonder_transfers/wonder_card_3.bin.lz");
+const u32 gWonderCardBgGfx7[] = INCBIN_U32("graphics/wonder_transfers/wonder_card_7.4bpp.lz");
+const u32 gWonderCardBgTilemap7[] = INCBIN_U32("graphics/wonder_transfers/wonder_card_7.bin.lz");
+const u32 gWonderCardBgGfx8[] = INCBIN_U32("graphics/wonder_transfers/wonder_card_8.4bpp.lz");
+const u32 gWonderCardBgTilemap8[] = INCBIN_U32("graphics/wonder_transfers/wonder_card_8.bin.lz");
+const u16 gWonderCardShadowPal1[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_shadow_1.gbapal");
+const u16 gWonderCardShadowPal2[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_shadow_2.gbapal");
+const u16 gWonderCardShadowPal3[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_shadow_3.gbapal");
+const u16 gWonderCardShadowPal4[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_shadow_4.gbapal");
+const u16 gWonderCardShadowPal5[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_shadow_5.gbapal");
+const u16 gWonderCardShadowPal6[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_shadow_6.gbapal");
+const u16 gWonderCardShadowPal7[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_shadow_7.gbapal");
+const u16 gWonderCardShadowPal8[] = INCBIN_U16("graphics/wonder_transfers/wonder_card_shadow_8.gbapal");
+const u32 gWonderCardShadowGfx[] = INCBIN_U32("graphics/wonder_transfers/wonder_card_shadow.4bpp.lz");
+
+const struct CompressedSpriteSheet gUnknown_082F1D00 = {
+ gWonderCardShadowGfx, 0x100, 0x8000
+};
+const struct SpritePalette gUnknown_082F1D08[] = {
+ {gWonderCardShadowPal1, 0x8000},
+ {gWonderCardShadowPal2, 0x8000},
+ {gWonderCardShadowPal3, 0x8000},
+ {gWonderCardShadowPal4, 0x8000},
+ {gWonderCardShadowPal5, 0x8000},
+ {gWonderCardShadowPal6, 0x8000},
+ {gWonderCardShadowPal7, 0x8000},
+ {gWonderCardShadowPal8, 0x8000}
+};
+const struct SpriteTemplate gUnknown_082F1D48 = {
+ 0x8000, 0x8000, &gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+};
+const struct UnkStruct_8467FB8 gUnknown_082F1D60[8] = {
+ {1, 0, 0, 0, gWonderCardBgGfx1, gWonderCardBgTilemap1, gWonderCardBgPal1},
+ {1, 0, 0, 1, gWonderCardBgGfx2, gWonderCardBgTilemap2, gWonderCardBgPal2},
+ {1, 0, 0, 2, gWonderCardBgGfx3, gWonderCardBgTilemap3, gWonderCardBgPal3},
+ {1, 0, 0, 3, gWonderCardBgGfx3, gWonderCardBgTilemap3, gWonderCardBgPal4},
+ {1, 0, 0, 4, gWonderCardBgGfx3, gWonderCardBgTilemap3, gWonderCardBgPal5},
+ {1, 0, 0, 5, gWonderCardBgGfx3, gWonderCardBgTilemap3, gWonderCardBgPal6},
+ {1, 0, 0, 6, gWonderCardBgGfx7, gWonderCardBgTilemap7, gWonderCardBgPal7},
+ {1, 0, 0, 7, gWonderCardBgGfx8, gWonderCardBgTilemap8, gWonderCardBgPal8}
+};
+
+bool32 InitWonderCardResources(struct WonderCard * r5, struct MEventBuffer_3430_Sub * r6)
+{
+ if (r5 == NULL || r6 == NULL)
+ return FALSE;
+ sWonderCardData = AllocZeroed(sizeof(struct UnkStruct_203F3C8));
+ if (sWonderCardData == NULL)
+ return FALSE;
+ sWonderCardData->unk_0000 = *r5;
+ sWonderCardData->unk_014C = *r6;
+ if (sWonderCardData->unk_0000.unk_08_2 >= ARRAY_COUNT(gUnknown_082F1D60))
+ sWonderCardData->unk_0000.unk_08_2 = 0;
+ if (sWonderCardData->unk_0000.unk_08_0 >= ARRAY_COUNT(gUnknown_082F0E18))
+ sWonderCardData->unk_0000.unk_08_0 = 0;
+ if (sWonderCardData->unk_0000.unk_09 > ARRAY_COUNT(sWonderCardData->unk_017D))
+ sWonderCardData->unk_0000.unk_09 = 0;
+ sWonderCardData->unk_0170 = &gUnknown_082F1D60[sWonderCardData->unk_0000.unk_08_2];
+ return TRUE;
+}
+
+void DestroyWonderCardResources(void)
+{
+ if (sWonderCardData != NULL)
+ {
+ *sWonderCardData = (struct UnkStruct_203F3C8){};
+ Free(sWonderCardData);
+ sWonderCardData = NULL;
+ }
+}
+
+s32 FadeToWonderCardMenu(void)
+{
+ if (sWonderCardData == NULL)
+ return -1;
+ switch(sWonderCardData->unk_0174)
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ break;
+ case 1:
+ if (UpdatePaletteFade())
+ return 0;
+ break;
+ case 2:
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20);
+ CopyBgTilemapBufferToVram(0);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(2);
+ decompress_and_copy_tile_data_to_vram(2, sWonderCardData->unk_0170->tiles, 0, 0x008, 0);
+ sWonderCardData->unk_0176[0] = AddWindow(&gUnknown_082F0E1C[0]);
+ sWonderCardData->unk_0176[1] = AddWindow(&gUnknown_082F0E1C[1]);
+ sWonderCardData->unk_0176[2] = AddWindow(&gUnknown_082F0E1C[2]);
+ break;
+ case 3:
+ if (free_temp_tile_data_buffers_if_possible())
+ return 0;
+ LoadPalette(stdpal_get(1), 0x20, 0x20);
+ gPaletteFade.bufferTransferDisabled = TRUE;
+ LoadPalette(sWonderCardData->unk_0170->pal, 0x10, 0x20);
+ LZ77UnCompWram(sWonderCardData->unk_0170->map, sWonderCardData->buffer_045C);
+ CopyRectToBgTilemapBufferRect(2, sWonderCardData->buffer_045C, 0, 0, 30, 20, 0, 0, 30, 20, 1, 0x008, 0);
+ CopyBgTilemapBufferToVram(2);
+ break;
+ case 4:
+ sub_801BEF8();
+ break;
+ case 5:
+ sub_801C178(0);
+ sub_801C178(1);
+ sub_801C178(2);
+ CopyBgTilemapBufferToVram(1);
+ break;
+ case 6:
+ LoadMonIconPalettes();
+ break;
+ case 7:
+ ShowBg(1);
+ ShowBg(2);
+ gPaletteFade.bufferTransferDisabled = FALSE;
+ sub_801C4C0();
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ UpdatePaletteFade();
+ break;
+ default:
+ if (UpdatePaletteFade())
+ return 0;
+ sWonderCardData->unk_0174 = 0;
+ return 1;
+ }
+ ++sWonderCardData->unk_0174;
+ return 0;
+}
+
+s32 FadeOutFromWonderCard(bool32 flag)
+{
+ if (sWonderCardData == NULL)
+ return -1;
+ switch (sWonderCardData->unk_0174)
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ break;
+ case 1:
+ if (UpdatePaletteFade())
+ return 0;
+ break;
+ case 2:
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20);
+ CopyBgTilemapBufferToVram(0);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(2);
+ break;
+ case 3:
+ HideBg(1);
+ HideBg(2);
+ RemoveWindow(sWonderCardData->unk_0176[2]);
+ RemoveWindow(sWonderCardData->unk_0176[1]);
+ RemoveWindow(sWonderCardData->unk_0176[0]);
+ break;
+ case 4:
+ sub_801C61C();
+ FreeMonIconPalettes();
+ break;
+ case 5:
+ PrintMysteryGiftOrEReaderTopMenu(gGiftIsFromEReader, flag);
+ CopyBgTilemapBufferToVram(0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ break;
+ default:
+ if (UpdatePaletteFade())
+ return 0;
+ sWonderCardData->unk_0174 = 0;
+ return 1;
+ }
+ ++sWonderCardData->unk_0174;
+ return 0;
+}
+
+void sub_801BEF8(void)
+{
+ u16 i = 0;
+ u16 r6;
+ u16 sp0[3] = {0, 0, 0};
+
+ memcpy(sWonderCardData->unk_018B, sWonderCardData->unk_0000.unk_0A, 40);
+ sWonderCardData->unk_018B[40] = EOS;
+ memcpy(sWonderCardData->unk_01B4, sWonderCardData->unk_0000.unk_32, 40);
+ sWonderCardData->unk_01B4[40] = EOS;
+ if (sWonderCardData->unk_0000.unk_04 > 999999)
+ sWonderCardData->unk_0000.unk_04 = 999999;
+ ConvertIntToDecimalStringN(sWonderCardData->unk_01DD, sWonderCardData->unk_0000.unk_04, STR_CONV_MODE_LEFT_ALIGN, 6);
+ for (i = 0; i < 4; i++)
+ {
+ memcpy(sWonderCardData->unk_01E4[i], sWonderCardData->unk_0000.unk_5A[i], 40);
+ sWonderCardData->unk_01E4[i][40] = EOS;
+ }
+ memcpy(sWonderCardData->unk_0288, sWonderCardData->unk_0000.unk_FA, 40);
+ sWonderCardData->unk_0288[40] = EOS;
+ switch (sWonderCardData->unk_0000.unk_08_0)
+ {
+ case 0:
+ memcpy(sWonderCardData->unk_02B1, sWonderCardData->unk_0000.unk_122, 40);
+ sWonderCardData->unk_02B1[40] = EOS;
+ break;
+ case 1:
+ sWonderCardData->unk_02B1[00] = EOS;
+ break;
+ case 2:
+ sWonderCardData->unk_02B1[00] = EOS;
+ sp0[0] = sWonderCardData->unk_014C.unk_00 < 999 ? sWonderCardData->unk_014C.unk_00 : 999;
+ sp0[1] = sWonderCardData->unk_014C.unk_02 < 999 ? sWonderCardData->unk_014C.unk_02 : 999;
+ sp0[2] = sWonderCardData->unk_014C.unk_04 < 999 ? sWonderCardData->unk_014C.unk_04 : 999;
+ for (i = 0; i < 8; i++)
+ {
+ memset(sWonderCardData->unk_02DC[i].unk_42, EOS, 4);
+ memset(sWonderCardData->unk_02DC[i].unk_01, EOS, 41);
+ }
+ for (i = 0, r6 = 0; i < 40; i++)
+ {
+ if (sWonderCardData->unk_0000.unk_122[i] != 0xF7)
+ {
+ sWonderCardData->unk_02DC[sWonderCardData->unk_0175].unk_01[r6] = sWonderCardData->unk_0000.unk_122[i];
+ r6++;
+ }
+ else
+ {
+ u8 r3 = sWonderCardData->unk_0000.unk_122[i + 1];
+ if (r3 > 2)
+ {
+ i += 2;
+ }
+ else
+ {
+ ConvertIntToDecimalStringN(sWonderCardData->unk_02DC[sWonderCardData->unk_0175].unk_42, sp0[r3], STR_CONV_MODE_LEADING_ZEROS, 3);
+ sWonderCardData->unk_02DC[sWonderCardData->unk_0175].unk_00 = sWonderCardData->unk_0000.unk_122[i + 2];
+ sWonderCardData->unk_0175++;
+ if (sWonderCardData->unk_0175 > 7)
+ break;
+ r6 = 0;
+ i += 2;
+ }
+ }
+ }
+ }
+}
+
+void sub_801C178(u8 whichWindow)
+{
+ s8 sp0C = 0;
+ s32 windowId = sWonderCardData->unk_0176[whichWindow];
+ PutWindowTilemap(windowId);
+ FillWindowPixelBuffer(windowId, 0);
+ switch (whichWindow)
+ {
+ case 0:
+ {
+ s32 x;
+ AddTextPrinterParameterized3(windowId, 3, 0, 1, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_018B);
+ x = 160 - GetStringWidth(3, sWonderCardData->unk_01B4, GetFontAttribute(3, 2));
+ if (x < 0)
+ x = 0;
+ AddTextPrinterParameterized3(windowId, 3, x, 17, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_01B4);
+ if (sWonderCardData->unk_0000.unk_04 != 0)
+ {
+ AddTextPrinterParameterized3(windowId, 1, 166, 17, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_01DD);
+ }
+ break;
+ }
+ case 1:
+ for (; sp0C < 4; sp0C++)
+ {
+ AddTextPrinterParameterized3(windowId, 3, 0, 16 * sp0C + 2, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal2], 0, sWonderCardData->unk_01E4[sp0C]);
+ }
+ break;
+ case 2:
+ AddTextPrinterParameterized3(windowId, 3, 0, gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0], gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_0288);
+ if (sWonderCardData->unk_0000.unk_08_0 != 2)
+ {
+ AddTextPrinterParameterized3(windowId, 3, 0, 16 + gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0], gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02B1);
+ }
+ else
+ {
+ s32 x = 0;
+ s32 y = gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0] + 16;
+ s32 spacing = GetFontAttribute(3, 2);
+ for (; sp0C < sWonderCardData->unk_0175; sp0C++)
+ {
+ AddTextPrinterParameterized3(windowId, 3, x, y, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02DC[sp0C].unk_01);
+ if (sWonderCardData->unk_02DC[sp0C].unk_42[0] != EOS)
+ {
+ x += GetStringWidth(3, sWonderCardData->unk_02DC[sp0C].unk_01, spacing);
+ AddTextPrinterParameterized3(windowId, 3, x, y, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02DC[sp0C].unk_42);
+ x += GetStringWidth(3, sWonderCardData->unk_02DC[sp0C].unk_42, spacing) + sWonderCardData->unk_02DC[sp0C].unk_00;
+ }
+ }
+ }
+ break;
+ }
+ CopyWindowToVram(windowId, 3);
+}
+
+void sub_801C4C0(void)
+{
+ u8 r7 = 0;
+ sWonderCardData->unk_017C = 0xFF;
+ if (sWonderCardData->unk_014C.unk_06 != SPECIES_NONE)
+ {
+ sWonderCardData->unk_017C = sub_80D2D78(sub_80D2E84(sWonderCardData->unk_014C.unk_06), SpriteCallbackDummy, 0xDC, 0x14, 0, FALSE);
+ gSprites[sWonderCardData->unk_017C].oam.priority = 2;
+ }
+ if (sWonderCardData->unk_0000.unk_09 != 0 && sWonderCardData->unk_0000.unk_08_0 == 1)
+ {
+ LoadCompressedSpriteSheetUsingHeap(&gUnknown_082F1D00);
+ LoadSpritePalette(&gUnknown_082F1D08[sWonderCardData->unk_0170->textPal4]);
+ for (; r7 < sWonderCardData->unk_0000.unk_09; r7++)
+ {
+ sWonderCardData->unk_017D[r7][0] = 0xFF;
+ sWonderCardData->unk_017D[r7][1] = 0xFF;
+ sWonderCardData->unk_017D[r7][0] = CreateSprite(&gUnknown_082F1D48, 0xd8 - 32 * r7, 0x90, 8);
+ if (sWonderCardData->unk_014C.unk_08[0][r7] != 0)
+ {
+ sWonderCardData->unk_017D[r7][1] = sub_80D2D78(sub_80D2E84(sWonderCardData->unk_014C.unk_08[0][r7]), SpriteCallbackDummy, 0xd8 - 32 * r7, 0x88, 0, 0);
+ }
+ }
+ }
+}
+
+void sub_801C61C(void)
+{
+ u8 r6 = 0;
+ if (sWonderCardData->unk_017C != 0xFF)
+ sub_80D2EF8(&gSprites[sWonderCardData->unk_017C]);
+ if (sWonderCardData->unk_0000.unk_09 != 0 && sWonderCardData->unk_0000.unk_08_0 == 1)
+ {
+ for (; r6 < sWonderCardData->unk_0000.unk_09; r6++)
+ {
+ if (sWonderCardData->unk_017D[r6][0] != 0xFF)
+ {
+ DestroySprite(&gSprites[sWonderCardData->unk_017D[r6][0]]);
+ }
+ if (sWonderCardData->unk_017D[r6][1] != 0xFF)
+ {
+ sub_80D2EF8(&gSprites[sWonderCardData->unk_017D[r6][1]]);
+ }
+ }
+ FreeSpriteTilesByTag(0x8000);
+ FreeSpritePaletteByTag(0x8000);
+ }
+}
+
+struct UnkStruct_203F3CC
+{
+ /*0000*/ struct WonderNews unk_0000;
+ /*01bc*/ const struct UnkStruct_8467FB8 * unk_01BC;
+ /*01c0*/ u8 unk_01C0_0:1;
+ u8 unk_01C0_1:7;
+ /*01c1*/ u8 unk_01C1;
+ /*01c2*/ u8 unk_01C2_0:1;
+ u8 unk_01C2_1:7;
+ /*01c3*/ u8 unk_01C3_0:1;
+ u8 unk_01C3_1:7;
+ /*01c4*/ u16 unk_01C4;
+ /*01c6*/ u16 unk_01C6;
+ /*01c8*/ u16 unk_01C8[2];
+ /*01cc*/ u8 filler_01CC[2];
+ /*01ce*/ u8 unk_01CE[41];
+ /*01f7*/ u8 unk_01F7[10][41];
+ /*0394*/ struct ScrollArrowsTemplate unk_0394;
+ /*03a4*/ u8 buffer_03A4[0x1000];
+};
+
+EWRAM_DATA struct UnkStruct_203F3CC * sWonderNewsData = NULL;
+
+void sub_801CDCC(void);
+void sub_801CE7C(void);
+void sub_801CFA4(void);
+
+const u8 gUnknown_082F1DE0[][3] = {
+ {0, 2, 3},
+ {0, 1, 2}
+};
+const struct WindowTemplate gUnknown_082F1DE8[] = {
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 0,
+ .width = 28,
+ .height = 3,
+ .paletteNum = 2,
+ .baseBlock = 0x2AC
+ }, {
+ .bg = 2,
+ .tilemapLeft = 1,
+ .tilemapTop = 3,
+ .width = 28,
+ .height = 20,
+ .paletteNum = 2,
+ .baseBlock = 0x07C
+ }
+};
+const struct ScrollArrowsTemplate gUnknown_082F1DF8 = {
+ 0x02, 0xe8, 0x18, 0x03, 0xe8, 0x98,
+ 0x0000, 0x0002, 0x1000, 0x1000, 0x0
+};
+const u16 gWonderNewsPal1[] = INCBIN_U16("graphics/wonder_transfers/wonder_news_1.gbapal");
+const u16 gWonderNewsPal7[] = INCBIN_U16("graphics/wonder_transfers/wonder_news_7.gbapal");
+const u16 gWonderNewsPal8[] = INCBIN_U16("graphics/wonder_transfers/wonder_news_8.gbapal");
+const u32 gWonderNewsGfx1[] = INCBIN_U32("graphics/wonder_transfers/wonder_news_1.4bpp.lz");
+const u32 gWonderNewsTilemap1[] = INCBIN_U32("graphics/wonder_transfers/wonder_news_1.bin.lz");
+const u32 gWonderNewsGfx2[] = INCBIN_U32("graphics/wonder_transfers/wonder_news_2.4bpp.lz");
+const u32 gWonderNewsTilemap2[] = INCBIN_U32("graphics/wonder_transfers/wonder_news_2.bin.lz");
+const u32 gWonderNewsGfx3[] = INCBIN_U32("graphics/wonder_transfers/wonder_news_3.4bpp.lz");
+const u32 gWonderNewsTilemap3[] = INCBIN_U32("graphics/wonder_transfers/wonder_news_3.bin.lz");
+const u32 gWonderNewsGfx7[] = INCBIN_U32("graphics/wonder_transfers/wonder_news_7.4bpp.lz");
+const u32 gWonderNewsTilemap7[] = INCBIN_U32("graphics/wonder_transfers/wonder_news_7.bin.lz");
+const u32 gWonderNewsGfx8[] = INCBIN_U32("graphics/wonder_transfers/wonder_news_8.4bpp.lz");
+const u32 gWonderNewsTilemap8[] = INCBIN_U32("graphics/wonder_transfers/wonder_news_8.bin.lz");
+
+const struct UnkStruct_8467FB8 gUnknown_082F24C8[] = {
+ {1, 0, 0, 0, gWonderNewsGfx1, gWonderNewsTilemap1, gWonderNewsPal1},
+ {1, 0, 0, 0, gWonderNewsGfx2, gWonderNewsTilemap2, gWonderCardBgPal2},
+ {1, 0, 0, 0, gWonderNewsGfx3, gWonderNewsTilemap3, gWonderCardBgPal3},
+ {1, 0, 0, 0, gWonderNewsGfx3, gWonderNewsTilemap3, gWonderCardBgPal4},
+ {1, 0, 0, 0, gWonderNewsGfx3, gWonderNewsTilemap3, gWonderCardBgPal5},
+ {1, 0, 0, 0, gWonderNewsGfx3, gWonderNewsTilemap3, gWonderCardBgPal6},
+ {1, 0, 0, 0, gWonderNewsGfx7, gWonderNewsTilemap7, gWonderNewsPal7},
+ {1, 0, 0, 0, gWonderNewsGfx8, gWonderNewsTilemap8, gWonderNewsPal8}
+};
+
+bool32 InitWonderNewsResources(const struct WonderNews * a0)
+{
+ if (a0 == NULL)
+ return FALSE;
+ sWonderNewsData = AllocZeroed(sizeof(struct UnkStruct_203F3CC));
+ if (sWonderNewsData == NULL)
+ return FALSE;
+ sWonderNewsData->unk_0000 = *a0;
+ if (sWonderNewsData->unk_0000.unk_03 >= ARRAY_COUNT(gUnknown_082F24C8))
+ sWonderNewsData->unk_0000.unk_03 = 0;
+ sWonderNewsData->unk_01BC = &gUnknown_082F24C8[sWonderNewsData->unk_0000.unk_03];
+ sWonderNewsData->unk_01C1 = 0xFF;
+ return TRUE;
+}
+
+void DestroyWonderNewsResources(void)
+{
+ if (sWonderNewsData != NULL)
+ {
+ *sWonderNewsData = (struct UnkStruct_203F3CC){};
+ Free(sWonderNewsData);
+ sWonderNewsData = NULL;
+ }
+}
+
+s32 FadeToWonderNewsMenu(void)
+{
+ if (sWonderNewsData == NULL)
+ return -1;
+
+ switch (sWonderNewsData->unk_01C0_1)
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ break;
+ case 1:
+ if (UpdatePaletteFade())
+ return 0;
+ ChangeBgY(0, 0, 0);
+ ChangeBgY(1, 0, 0);
+ ChangeBgY(2, 0, 0);
+ ChangeBgY(3, 0, 0);
+ SetGpuReg(REG_OFFSET_WIN0H, 0xF0);
+ SetGpuReg(REG_OFFSET_WIN0V, 0x1A98);
+ SetGpuReg(REG_OFFSET_WININ, 0x1F);
+ SetGpuReg(REG_OFFSET_WINOUT, 0x1B);
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ break;
+ case 2:
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 20);
+ CopyBgTilemapBufferToVram(0);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(3);
+ decompress_and_copy_tile_data_to_vram(3, sWonderNewsData->unk_01BC->tiles, 0, 8, 0);
+ sWonderNewsData->unk_01C8[0] = AddWindow(&gUnknown_082F1DE8[0]);
+ sWonderNewsData->unk_01C8[1] = AddWindow(&gUnknown_082F1DE8[1]);
+ break;
+ case 3:
+ if (free_temp_tile_data_buffers_if_possible())
+ return 0;
+ LoadPalette(stdpal_get(1), 0x20, 0x20);
+ gPaletteFade.bufferTransferDisabled = TRUE;
+ LoadPalette(sWonderNewsData->unk_01BC->pal, 0x10, 0x20);
+ LZ77UnCompWram(sWonderNewsData->unk_01BC->map, sWonderNewsData->buffer_03A4);
+ CopyRectToBgTilemapBufferRect(1, sWonderNewsData->buffer_03A4, 0, 0, 30, 3, 0, 0, 30, 3, 1, 8, 0);
+ CopyRectToBgTilemapBufferRect(3, sWonderNewsData->buffer_03A4, 0, 3, 30, 23, 0, 3, 30, 23, 1, 8, 0);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(3);
+ break;
+ case 4:
+ sub_801CDCC();
+ break;
+ case 5:
+ sub_801CE7C();
+ CopyBgTilemapBufferToVram(0);
+ CopyBgTilemapBufferToVram(2);
+ break;
+ case 6:
+ ShowBg(1);
+ ShowBg(2);
+ ShowBg(3);
+ gPaletteFade.bufferTransferDisabled = FALSE;
+ sWonderNewsData->unk_01C1 = AddScrollIndicatorArrowPair(&sWonderNewsData->unk_0394, &sWonderNewsData->unk_01C6);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ UpdatePaletteFade();
+ break;
+ default:
+ if (UpdatePaletteFade())
+ return 0;
+ sWonderNewsData->unk_01C0_1 = 0;
+ return 1;
+ }
+
+ ++sWonderNewsData->unk_01C0_1;
+ return 0;
+}
+
+s32 FadeOutFromWonderNews(bool32 flag)
+{
+ if (sWonderNewsData == NULL)
+ return -1;
+ switch (sWonderNewsData->unk_01C0_1)
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ break;
+ case 1:
+ if (UpdatePaletteFade())
+ return 0;
+ ChangeBgY(2, 0, 0);
+ SetGpuReg(REG_OFFSET_WIN0H, 0);
+ SetGpuReg(REG_OFFSET_WIN0V, 0);
+ SetGpuReg(REG_OFFSET_WININ, 0);
+ SetGpuReg(REG_OFFSET_WINOUT, 0);
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ break;
+ case 2:
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 24);
+ FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 24);
+ CopyBgTilemapBufferToVram(0);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(3);
+ break;
+ case 3:
+ HideBg(1);
+ HideBg(2);
+ RemoveWindow(sWonderNewsData->unk_01C8[1]);
+ RemoveWindow(sWonderNewsData->unk_01C8[0]);
+ break;
+ case 4:
+ ChangeBgY(2, 0, 0);
+ ChangeBgY(3, 0, 0);
+ if (sWonderNewsData->unk_01C1 != 0xFF)
+ {
+ RemoveScrollIndicatorArrowPair(sWonderNewsData->unk_01C1);
+ sWonderNewsData->unk_01C1 = 0xFF;
+ }
+ break;
+ case 5:
+ PrintMysteryGiftOrEReaderTopMenu(gGiftIsFromEReader, flag);
+ MG_DrawCheckerboardPattern(3);
+ CopyBgTilemapBufferToVram(0);
+ CopyBgTilemapBufferToVram(3);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ break;
+ default:
+ if (UpdatePaletteFade())
+ return 0;
+ sWonderNewsData->unk_01C0_1 = 0;
+ return 1;
+ }
+ ++sWonderNewsData->unk_01C0_1;
+ return 0;
+}
+
+void MENews_RemoveScrollIndicatorArrowPair(void)
+{
+ if (!sWonderNewsData->unk_01C0_0 && sWonderNewsData->unk_01C1 != 0xFF)
+ {
+ RemoveScrollIndicatorArrowPair(sWonderNewsData->unk_01C1);
+ sWonderNewsData->unk_01C1 = 0xFF;
+ sWonderNewsData->unk_01C0_0 = TRUE;
+ }
+}
+
+
+void MENews_AddScrollIndicatorArrowPair(void)
+{
+ if (sWonderNewsData->unk_01C0_0)
+ {
+ sWonderNewsData->unk_01C1 = AddScrollIndicatorArrowPair(&sWonderNewsData->unk_0394, &sWonderNewsData->unk_01C6);
+ sWonderNewsData->unk_01C0_0 = FALSE;
+ }
+}
+
+u32 MENews_GetInput(u16 input)
+{
+ if (sWonderNewsData->unk_01C2_0)
+ {
+ sub_801CFA4();
+ return 0xFF;
+ }
+ switch (input)
+ {
+ case A_BUTTON:
+ return 0;
+ case B_BUTTON:
+ return 1;
+ case DPAD_UP:
+ if (sWonderNewsData->unk_01C6 == 0)
+ return 0xFF;
+ if (sWonderNewsData->unk_01C0_0)
+ return 0xFF;
+ sWonderNewsData->unk_01C3_0 = FALSE;
+ break;
+ case DPAD_DOWN:
+ if (sWonderNewsData->unk_01C6 == sWonderNewsData->unk_01C4)
+ return 0xFF;
+ if (sWonderNewsData->unk_01C0_0)
+ return 0xFF;
+ sWonderNewsData->unk_01C3_0 = TRUE;
+ break;
+ default:
+ return 0xFF;
+ }
+ sWonderNewsData->unk_01C2_0 = TRUE;
+ sWonderNewsData->unk_01C2_1 = 2;
+ sWonderNewsData->unk_01C3_1 = 0;
+ if (sWonderNewsData->unk_01C3_0 == FALSE)
+ return 2;
+ else
+ return 3;
+}
+
+void sub_801CDCC(void)
+{
+ u8 i = 0;
+ memcpy(sWonderNewsData->unk_01CE, sWonderNewsData->unk_0000.unk_04, 40);
+ sWonderNewsData->unk_01CE[40] = EOS;
+ for (; i < 10; ++i)
+ {
+ memcpy(sWonderNewsData->unk_01F7[i], sWonderNewsData->unk_0000.unk_2C[i], 40);
+ sWonderNewsData->unk_01F7[i][40] = EOS;
+ if (i > 7 && sWonderNewsData->unk_01F7[i][0] != EOS)
+ ++sWonderNewsData->unk_01C4;
+ }
+ sWonderNewsData->unk_0394 = gUnknown_082F1DF8;
+ sWonderNewsData->unk_0394.fullyDownThreshold = sWonderNewsData->unk_01C4;
+}
+
+void sub_801CE7C(void)
+{
+ u8 i = 0;
+ s32 x;
+ PutWindowTilemap(sWonderNewsData->unk_01C8[0]);
+ PutWindowTilemap(sWonderNewsData->unk_01C8[1]);
+ FillWindowPixelBuffer(sWonderNewsData->unk_01C8[0], 0);
+ FillWindowPixelBuffer(sWonderNewsData->unk_01C8[1], 0);
+ x = (0xe0 - GetStringWidth(3, sWonderNewsData->unk_01CE, GetFontAttribute(3, 2))) / 2;
+ if (x < 0)
+ x = 0;
+ AddTextPrinterParameterized3(sWonderNewsData->unk_01C8[0], 3, x, 6, gUnknown_082F1DE0[sWonderNewsData->unk_01BC->textPal1], 0, sWonderNewsData->unk_01CE);
+ for (; i < 10; ++i)
+ {
+ AddTextPrinterParameterized3(sWonderNewsData->unk_01C8[1], 3, 0, 16 * i + 2, gUnknown_082F1DE0[sWonderNewsData->unk_01BC->textPal2], 0, sWonderNewsData->unk_01F7[i]);
+ }
+ CopyWindowToVram(sWonderNewsData->unk_01C8[0], 3);
+ CopyWindowToVram(sWonderNewsData->unk_01C8[1], 3);
+}
+
+void sub_801CFA4(void)
+{
+ u16 r4 = sWonderNewsData->unk_01C2_1;
+ r4 <<= 8;
+ if (sWonderNewsData->unk_01C3_0)
+ {
+ ChangeBgY(2, r4, 1);
+ ChangeBgY(3, r4, 1);
+ }
+ else
+ {
+ ChangeBgY(2, r4, 2);
+ ChangeBgY(3, r4, 2);
+ }
+ sWonderNewsData->unk_01C3_1 += sWonderNewsData->unk_01C2_1;
+ if (sWonderNewsData->unk_01C3_1 > 15)
+ {
+ if (sWonderNewsData->unk_01C3_0)
+ ++sWonderNewsData->unk_01C6;
+ else
+ --sWonderNewsData->unk_01C6;
+ sWonderNewsData->unk_01C2_0 = FALSE;
+ sWonderNewsData->unk_01C3_1 = 0;
+ }
+}
diff --git a/src/mevent_client.c b/src/mevent_client.c
new file mode 100644
index 000000000..ec8908af2
--- /dev/null
+++ b/src/mevent_client.c
@@ -0,0 +1,291 @@
+#include "global.h"
+#include "alloc.h"
+#include "decompress.h"
+#include "overworld.h"
+#include "script.h"
+#include "battle_tower.h"
+#include "mevent.h"
+#include "mystery_event_script.h"
+#include "mevent_client.h"
+
+EWRAM_DATA struct mevent_client * s_mevent_client_ptr = NULL;
+
+static void mevent_client_init(struct mevent_client *, u32, u32);
+static u32 mevent_client_exec(struct mevent_client *);
+static void mevent_client_free_resources(struct mevent_client *);
+
+extern const struct mevent_client_cmd gUnknown_082F2598[];
+
+void mevent_client_do_init(u32 arg)
+{
+ s_mevent_client_ptr = AllocZeroed(sizeof(struct mevent_client));
+ mevent_client_init(s_mevent_client_ptr, 1, 0);
+ s_mevent_client_ptr->unk_4C = arg;
+}
+
+u32 mevent_client_do_exec(u16 * a0)
+{
+ u32 result;
+ if (s_mevent_client_ptr == NULL)
+ return 6;
+ result = mevent_client_exec(s_mevent_client_ptr);
+ if (result == 6)
+ {
+ *a0 = s_mevent_client_ptr->param;
+ mevent_client_free_resources(s_mevent_client_ptr);
+ Free(s_mevent_client_ptr);
+ s_mevent_client_ptr = NULL;
+ }
+ return result;
+}
+
+void mevent_client_inc_flag(void)
+{
+ s_mevent_client_ptr->flag++;
+}
+
+void * mevent_client_get_buffer(void)
+{
+ return s_mevent_client_ptr->buffer;
+}
+
+void mevent_client_set_param(u32 a0)
+{
+ s_mevent_client_ptr->param = a0;
+}
+
+static void mevent_client_init(struct mevent_client * svr, u32 sendPlayerNo, u32 recvPlayerNo)
+{
+ svr->unk_00 = 0;
+ svr->mainseqno = 0;
+ svr->flag = 0;
+ svr->sendBuffer = AllocZeroed(ME_SEND_BUF_SIZE);
+ svr->recvBuffer = AllocZeroed(ME_SEND_BUF_SIZE);
+ svr->cmdBuffer = AllocZeroed(ME_SEND_BUF_SIZE);
+ svr->buffer = AllocZeroed(0x40);
+ mevent_srv_sub_init(&svr->manager, sendPlayerNo, recvPlayerNo);
+}
+
+static void mevent_client_free_resources(struct mevent_client * svr)
+{
+ Free(svr->sendBuffer);
+ Free(svr->recvBuffer);
+ Free(svr->cmdBuffer);
+ Free(svr->buffer);
+}
+
+static void mevent_client_jmp_buffer(struct mevent_client * svr)
+{
+ memcpy(svr->cmdBuffer, svr->recvBuffer, ME_SEND_BUF_SIZE);
+ svr->cmdidx = 0;
+}
+
+static void mevent_client_send_word(struct mevent_client * svr, u32 ident, u32 word)
+{
+ CpuFill32(0, svr->sendBuffer, ME_SEND_BUF_SIZE);
+ *(u32 *)svr->sendBuffer = word;
+ mevent_srv_sub_init_send(&svr->manager, ident, svr->sendBuffer, sizeof(u32));
+}
+
+static u32 mainseq_0(struct mevent_client * svr)
+{
+ // init
+ memcpy(svr->cmdBuffer, gUnknown_082F2598, ME_SEND_BUF_SIZE);
+ svr->cmdidx = 0;
+ svr->mainseqno = 4;
+ svr->flag = 0;
+ return 0;
+}
+
+static u32 mainseq_1(struct mevent_client * svr)
+{
+ // done
+ return 6;
+}
+
+
+static u32 mainseq_2(struct mevent_client * svr)
+{
+ // do recv
+ if (mevent_srv_sub_recv(&svr->manager))
+ {
+ svr->mainseqno = 4;
+ svr->flag = 0;
+ }
+ return 1;
+}
+
+static u32 mainseq_3(struct mevent_client * svr)
+{
+ // do send
+ if (mevent_srv_sub_send(&svr->manager))
+ {
+ svr->mainseqno = 4;
+ svr->flag = 0;
+ }
+ return 1;
+}
+
+static u32 mainseq_4(struct mevent_client * svr)
+{
+ // process command
+ struct mevent_client_cmd * cmd = &svr->cmdBuffer[svr->cmdidx];
+ ++svr->cmdidx;
+ switch (cmd->instr)
+ {
+ case 0:
+ break;
+ case 1:
+ svr->param = cmd->parameter;
+ svr->mainseqno = 1;
+ svr->flag = 0;
+ break;
+ case 2:
+ mevent_srv_sub_init_recv(&svr->manager, cmd->parameter, svr->recvBuffer);
+ svr->mainseqno = 2;
+ svr->flag = 0;
+ break;
+ case 3:
+ svr->mainseqno = 3;
+ svr->flag = 0;
+ break;
+ case 20:
+ mevent_srv_sub_init_send(&svr->manager, 0x14, svr->sendBuffer, 0);
+ svr->mainseqno = 3;
+ svr->flag = 0;
+ break;
+ case 19:
+ mevent_client_send_word(svr, 0x12, GetGameStat(cmd->parameter));
+ svr->mainseqno = 3;
+ svr->flag = 0;
+ break;
+ case 6:
+ if (svr->param == 0)
+ mevent_client_jmp_buffer(svr);
+ break;
+ case 7:
+ if (svr->param == 1)
+ mevent_client_jmp_buffer(svr);
+ break;
+ case 4:
+ mevent_client_jmp_buffer(svr);
+ break;
+ case 5:
+ memcpy(svr->buffer, svr->recvBuffer, 0x40);
+ svr->mainseqno = 5;
+ svr->flag = 0;
+ return 2;
+ case 11:
+ memcpy(svr->buffer, svr->recvBuffer, 0x40);
+ svr->mainseqno = 5;
+ svr->flag = 0;
+ return 3;
+ case 12:
+ memcpy(svr->buffer, svr->recvBuffer, 0x40);
+ svr->mainseqno = 5;
+ svr->flag = 0;
+ return 5;
+ case 13:
+ svr->mainseqno = 5;
+ svr->flag = 0;
+ return 4;
+ case 8:
+ sub_801B580(svr->sendBuffer, svr->unk_4C);
+ mevent_srv_sub_init_send(&svr->manager, 0x11, svr->sendBuffer, sizeof(struct MEventStruct_Unk1442CC));
+ break;
+ case 14:
+ mevent_client_send_word(svr, 0x13, svr->param);
+ break;
+ case 10:
+ sub_801B21C(svr->recvBuffer);
+ break;
+ case 9:
+ if (!sub_801B1A4(svr->recvBuffer))
+ {
+ sub_801B078(svr->recvBuffer);
+ mevent_client_send_word(svr, 0x13, 0);
+ }
+ else
+ mevent_client_send_word(svr, 0x13, 1);
+ break;
+ case 15:
+ svr->mainseqno = 6;
+ svr->flag = 0;
+ break;
+ case 16:
+ sub_801B508(svr->recvBuffer);
+ break;
+ case 17:
+ InitRamScript_NoEventObject(svr->recvBuffer, 1000);
+ break;
+ case 18:
+ memcpy(&gSaveBlock2Ptr->frontier.ereaderTrainer, svr->recvBuffer, 0xbc);
+ ValidateEReaderTrainer();
+ break;
+ case 21:
+ memcpy(gDecompressionBuffer, svr->recvBuffer, ME_SEND_BUF_SIZE);
+ svr->mainseqno = 7;
+ svr->flag = 0;
+ break;
+ }
+
+ return 1;
+}
+
+static u32 mainseq_5(struct mevent_client * svr)
+{
+ // wait flag
+ if (svr->flag)
+ {
+ svr->mainseqno = 4;
+ svr->flag = 0;
+ }
+ return 1;
+}
+
+static u32 mainseq_6(struct mevent_client * svr)
+{
+ // ???
+ switch (svr->flag)
+ {
+ case 0:
+ sub_8153870(svr->recvBuffer);
+ ++svr->flag;
+ break;
+ case 1:
+ if (!sub_8153884(&svr->param))
+ {
+ svr->mainseqno = 4;
+ svr->flag = 0;
+ }
+ break;
+ }
+ return 1;
+}
+
+static u32 mainseq_7(struct mevent_client * svr)
+{
+ // exec arbitrary code
+ u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer;
+ if (func(&svr->param, gSaveBlock2Ptr, gSaveBlock1Ptr) == 1)
+ {
+ svr->mainseqno = 4;
+ svr->flag = 0;
+ }
+ return 1;
+}
+
+static u32 mevent_client_exec(struct mevent_client * svr)
+{
+ u32 (*funcs[])(struct mevent_client *) = {
+ mainseq_0,
+ mainseq_1,
+ mainseq_2,
+ mainseq_3,
+ mainseq_4,
+ mainseq_5,
+ mainseq_6,
+ mainseq_7
+ };
+ return funcs[svr->mainseqno](svr);
+}
diff --git a/src/mevent_news.c b/src/mevent_news.c
new file mode 100644
index 000000000..192bb0fc7
--- /dev/null
+++ b/src/mevent_news.c
@@ -0,0 +1,147 @@
+#include "global.h"
+#include "mevent.h"
+#include "random.h"
+#include "event_data.h"
+#include "mevent_news.h"
+
+static u32 sub_801DCAC(struct MysteryEventStruct *);
+static void sub_801DD10(struct MysteryEventStruct *);
+static u32 sub_801DD44(struct MysteryEventStruct *);
+static void sub_801DCD8(struct MysteryEventStruct *);
+static void sub_801DCCC(struct MysteryEventStruct *);
+
+void GenerateRandomNews(u32 a0)
+{
+ struct MysteryEventStruct *r5 = sub_801B044();
+
+ r5->unk_0_0 = a0;
+ switch (a0)
+ {
+ case 0:
+ break;
+ case 1:
+ case 2:
+ r5->unk_1 = (Random() % 15) + 16;
+ break;
+ case 3:
+ r5->unk_1 = (Random() % 15) + 1;
+ break;
+ }
+}
+
+void sub_801DBC0(void)
+{
+ struct MysteryEventStruct *r5 = sub_801B044();
+
+ r5->unk_0_0 = 0;
+ r5->unk_0_2 = 0;
+ r5->unk_0_5 = 0;
+ r5->unk_1 = 0;
+ VarSet(VAR_0x402E, 0);
+}
+
+void sub_801DBDC(void)
+{
+ u16 *r4 = GetVarPointer(VAR_0x402E);
+ struct MysteryEventStruct *r2 = sub_801B044();
+ struct MysteryEventStruct r0 = *r2;
+
+ if ((u8)r0.unk_0_5 > 4 && ++(*r4) > 0x1f3)
+ {
+ r2->unk_0_5 = 0;
+ *r4 = 0;
+ }
+}
+
+u16 sub_801DC20(void)
+{
+ u16 *r6 = &gSpecialVar_Result;
+ struct MysteryEventStruct *r4 = sub_801B044();
+ u16 r5;
+
+ if (!IsMysteryEventEnabled() || !ValidateReceivedWonderNews())
+ return 0;
+
+ r5 = sub_801DD44(r4);
+
+ switch (r5)
+ {
+ case 0:
+ break;
+ case 1:
+ *r6 = sub_801DCAC(r4);
+ break;
+ case 2:
+ *r6 = sub_801DCAC(r4);
+ break;
+ case 3:
+ break;
+ case 4:
+ *r6 = sub_801DCAC(r4);
+ sub_801DCD8(r4);
+ break;
+ case 5:
+ *r6 = sub_801DCAC(r4);
+ sub_801DCCC(r4);
+ break;
+ case 6:
+ break;
+ }
+
+ return r5;
+}
+
+static u32 sub_801DCAC(struct MysteryEventStruct *a0)
+{
+ u32 r4;
+
+ a0->unk_0_0 = 0;
+ r4 = a0->unk_1 + 0x84;
+ a0->unk_1 = 0;
+ sub_801DD10(a0);
+ return r4;
+}
+
+static void sub_801DCCC(struct MysteryEventStruct *a0)
+{
+ a0->unk_0_2 = 0;
+}
+
+static void sub_801DCD8(struct MysteryEventStruct *a0)
+{
+ a0->unk_0_2++;
+ if ((u8)a0->unk_0_2 > 4)
+ a0->unk_0_2 = 4;
+}
+
+static void sub_801DD10(struct MysteryEventStruct *a0)
+{
+ a0->unk_0_5++;
+ if ((u8)a0->unk_0_5 > 5)
+ a0->unk_0_5 = 5;
+}
+
+static u32 sub_801DD44(struct MysteryEventStruct *a0)
+{
+ struct MysteryEventStruct r0;
+ if ((u8)a0->unk_0_5 == 5)
+ return 6;
+
+ r0 = *a0;
+ switch (r0.unk_0_0)
+ {
+ case 0:
+ return 3;
+ case 1:
+ return 1;
+ case 2:
+ return 2;
+ case 3:
+ if ((u8)r0.unk_0_2 < 3)
+ return 4;
+ return 5;
+ default:
+ AGB_ASSERT(0);
+ return 0;
+ }
+}
diff --git a/src/mevent_scripts.c b/src/mevent_scripts.c
new file mode 100644
index 000000000..41a5ddd51
--- /dev/null
+++ b/src/mevent_scripts.c
@@ -0,0 +1,191 @@
+#include "global.h"
+#include "mevent_client.h"
+#include "mevent_server.h"
+
+const u8 gText_CanceledReadingCard[] = _("Canceled reading\nthe Card.");
+
+
+const struct mevent_client_cmd gUnknown_082F2598[] = {
+ {.instr = 2, .parameter = 16},
+ {.instr = 4, .parameter = 0}
+};
+
+const struct mevent_client_cmd gUnknown_082F25A8[] = {
+ {.instr = 8, .parameter = 0},
+ {.instr = 3, .parameter = 0},
+ {.instr = 2, .parameter = 16},
+ {.instr = 4, .parameter = 0}
+};
+
+const struct mevent_client_cmd gUnknown_082F25C8[] = {
+ {.instr = 20, .parameter = 0},
+ {.instr = 1, .parameter = 10}
+};
+
+const struct mevent_client_cmd gUnknown_082F25D8[] = {
+ {.instr = 20, .parameter = 0},
+ {.instr = 1, .parameter = 11}
+};
+
+const struct mevent_client_cmd gUnknown_082F25E8[] = {
+ {.instr = 20, .parameter = 0},
+ {.instr = 1, .parameter = 0}
+};
+
+const struct mevent_client_cmd gUnknown_082F25F8[] = {
+ {.instr = 2, .parameter = 22},
+ {.instr = 10, .parameter = 0},
+ {.instr = 2, .parameter = 25},
+ {.instr = 17, .parameter = 0},
+ {.instr = 20, .parameter = 0},
+ {.instr = 1, .parameter = 2}
+};
+
+const struct mevent_client_cmd gUnknown_082F2628[] = {
+ {.instr = 2, .parameter = 23},
+ {.instr = 9, .parameter = 0},
+ {.instr = 3, .parameter = 0},
+ {.instr = 2, .parameter = 16},
+ {.instr = 4, .parameter = 0}
+};
+
+const struct mevent_client_cmd gUnknown_082F2650[] = {
+ {.instr = 20, .parameter = 0},
+ {.instr = 1, .parameter = 7}
+};
+
+const struct mevent_client_cmd gUnknown_082F2660[] = {
+ {.instr = 20, .parameter = 0},
+ {.instr = 1, .parameter = 3}
+};
+
+const struct mevent_client_cmd gUnknown_082F2670[] = {
+ {.instr = 13, .parameter = 0},
+ {.instr = 14, .parameter = 0},
+ {.instr = 3, .parameter = 0},
+ {.instr = 2, .parameter = 16},
+ {.instr = 4, .parameter = 0}
+};
+
+const struct mevent_client_cmd gUnknown_082F2698[] = {
+ {.instr = 20, .parameter = 0},
+ {.instr = 1, .parameter = 9}
+};
+
+const struct mevent_client_cmd gUnknown_082F26A8[] = {
+ {.instr = 20, .parameter = 0},
+ {.instr = 1, .parameter = 5}
+};
+
+const struct mevent_client_cmd gUnknown_082F26B8[] = {
+ {.instr = 2, .parameter = 21},
+ {.instr = 12, .parameter = 0},
+ {.instr = 20, .parameter = 0},
+ {.instr = 1, .parameter = 14},
+ {.instr = 2, .parameter = 21},
+ {.instr = 12, .parameter = 0},
+ {.instr = 20, .parameter = 0},
+ {.instr = 1, .parameter = 13}
+};
+
+const struct mevent_cmd gUnknown_082F26F8[] = {
+ {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F25C8},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 2, .flag = 0x14, .parameter = NULL},
+ {.instr = 0, .flag = 0x0a, .parameter = NULL},
+ {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F25D8},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 2, .flag = 0x14, .parameter = NULL},
+ {.instr = 0, .flag = 0x0b, .parameter = NULL},
+ {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F2698},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 2, .flag = 0x14, .parameter = NULL},
+ {.instr = 0, .flag = 0x09, .parameter = NULL}
+};
+
+const struct mevent_cmd gUnknown_082F2788[] = {
+ {.instr = 18, .flag = 0x20, .parameter = gUnknown_082F26B8},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 20, .flag = 0x1b, .parameter = gText_CanceledReadingCard},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 2, .flag = 0x14, .parameter = NULL},
+ {.instr = 0, .flag = 0x09, .parameter = NULL}
+};
+
+const struct mevent_cmd gUnknown_082F27D0[] = {
+ {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F2650},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 2, .flag = 0x14, .parameter = NULL},
+ {.instr = 0, .flag = 0x07, .parameter = NULL}
+};
+
+const struct mevent_cmd gUnknown_082F2800[] = {
+ {.instr = 18, .flag = 0x28, .parameter = gUnknown_082F2628},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 14, .flag = 0x00, .parameter = NULL},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 2, .flag = 0x13, .parameter = NULL},
+ {.instr = 8, .flag = 0x00, .parameter = NULL},
+ {.instr = 4, .flag = 0x01, .parameter = gUnknown_082F27D0},
+ {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F2660},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 2, .flag = 0x14, .parameter = NULL},
+ {.instr = 0, .flag = 0x03, .parameter = NULL}
+};
+
+const struct mevent_cmd gUnknown_082F2884[] = {
+ {.instr = 18, .flag = 0x30, .parameter = gUnknown_082F25F8},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 13, .flag = 0x00, .parameter = NULL},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 15, .flag = 0x00, .parameter = NULL},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 2, .flag = 0x14, .parameter = NULL},
+ {.instr = 0, .flag = 0x02, .parameter = NULL}
+};
+
+const struct mevent_cmd gUnknown_082F28E4[] = {
+ {.instr = 18, .flag = 0x28, .parameter = gUnknown_082F2670},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 2, .flag = 0x13, .parameter = NULL},
+ {.instr = 8, .flag = 0x00, .parameter = NULL},
+ {.instr = 4, .flag = 0x00, .parameter = gUnknown_082F2884},
+ {.instr = 3, .flag = 0x00, .parameter = gUnknown_082F2788}
+};
+
+const struct mevent_cmd gUnknown_082F292C[] = {
+ {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F26A8},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 2, .flag = 0x14, .parameter = NULL},
+ {.instr = 0, .flag = 0x05, .parameter = NULL},
+ {.instr = 18, .flag = 0x10, .parameter = gUnknown_082F25E8},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 2, .flag = 0x14, .parameter = NULL},
+ {.instr = 0, .flag = 0x00, .parameter = NULL}
+};
+
+const struct mevent_cmd s_mevent_wonder_news[] = {
+ {.instr = 27, .flag = 0x00, .parameter = NULL},
+ {.instr = 18, .flag = 0x20, .parameter = gUnknown_082F25A8},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 2, .flag = 0x11, .parameter = NULL},
+ {.instr = 5, .flag = 0x00, .parameter = NULL},
+ {.instr = 30, .flag = 0x00, .parameter = NULL},
+ {.instr = 4, .flag = 0x00, .parameter = gUnknown_082F26F8},
+ {.instr = 3, .flag = 0x00, .parameter = gUnknown_082F2800}
+};
+
+const struct mevent_cmd s_mevent_wonder_card[] = {
+ {.instr = 26, .flag = 0x00, .parameter = NULL},
+ {.instr = 28, .flag = 0x00, .parameter = NULL},
+ {.instr = 18, .flag = 0x20, .parameter = gUnknown_082F25A8},
+ {.instr = 1, .flag = 0x00, .parameter = NULL},
+ {.instr = 2, .flag = 0x11, .parameter = NULL},
+ {.instr = 5, .flag = 0x00, .parameter = NULL},
+ {.instr = 6, .flag = 0x00, .parameter = NULL},
+ {.instr = 4, .flag = 0x00, .parameter = gUnknown_082F26F8},
+ {.instr = 7, .flag = 0x00, .parameter = NULL},
+ {.instr = 4, .flag = 0x02, .parameter = gUnknown_082F28E4},
+ {.instr = 4, .flag = 0x00, .parameter = gUnknown_082F2884},
+ {.instr = 3, .flag = 0x00, .parameter = gUnknown_082F292C}
+};
diff --git a/src/mevent_server.c b/src/mevent_server.c
new file mode 100644
index 000000000..06b10dd95
--- /dev/null
+++ b/src/mevent_server.c
@@ -0,0 +1,295 @@
+#include "global.h"
+#include "alloc.h"
+#include "script.h"
+#include "mevent.h"
+#include "mevent_server.h"
+#include "mevent_server_helpers.h"
+
+EWRAM_DATA struct mevent_srv_common * s_mevent_srv_common_ptr = NULL;
+
+static void mevent_srv_init_common(struct mevent_srv_common *, const void *, u32, u32);
+static void mevent_srv_free_resources(struct mevent_srv_common *);
+static u32 mevent_srv_exec_common(struct mevent_srv_common *);
+
+extern const struct mevent_cmd s_mevent_wonder_news[];
+extern const struct mevent_cmd s_mevent_wonder_card[];
+
+void mevent_srv_init_wnews(void)
+{
+ s_mevent_srv_common_ptr = AllocZeroed(sizeof(struct mevent_srv_common));
+ mevent_srv_init_common(s_mevent_srv_common_ptr, s_mevent_wonder_news, 0, 1);
+}
+
+void mevent_srv_new_wcard(void)
+{
+ s_mevent_srv_common_ptr = AllocZeroed(sizeof(struct mevent_srv_common));
+ mevent_srv_init_common(s_mevent_srv_common_ptr, s_mevent_wonder_card, 0, 1);
+}
+
+u32 mevent_srv_common_do_exec(u16 * a0)
+{
+ u32 result;
+ if (s_mevent_srv_common_ptr == NULL)
+ return 3;
+ result = mevent_srv_exec_common(s_mevent_srv_common_ptr);
+ if (result == 3)
+ {
+ *a0 = s_mevent_srv_common_ptr->param;
+ mevent_srv_free_resources(s_mevent_srv_common_ptr);
+ Free(s_mevent_srv_common_ptr);
+ s_mevent_srv_common_ptr = NULL;
+ }
+ return result;
+}
+
+static void mevent_srv_init_common(struct mevent_srv_common * svr, const void * cmdBuffer, u32 sendPlayerNo, u32 recvPlayerNo)
+{
+ svr->unk_00 = 0;
+ svr->mainseqno = 0;
+ svr->wonder_card = AllocZeroed(sizeof(struct WonderCard));
+ svr->wonder_news = AllocZeroed(sizeof(struct WonderNews));
+ svr->recvBuffer = AllocZeroed(ME_SEND_BUF_SIZE);
+ svr->mevent_unk1442cc = AllocZeroed(sizeof(struct MEventStruct_Unk1442CC));
+ svr->cmdBuffer = cmdBuffer;
+ svr->cmdidx = 0;
+ mevent_srv_sub_init(&svr->manager, sendPlayerNo, recvPlayerNo);
+}
+
+static void mevent_srv_free_resources(struct mevent_srv_common * svr)
+{
+ Free(svr->wonder_card);
+ Free(svr->wonder_news);
+ Free(svr->recvBuffer);
+ Free(svr->mevent_unk1442cc);
+}
+
+void mevent_srv_common_init_send(struct mevent_srv_common * svr, u32 ident, const void * src, u32 size)
+{
+ AGB_ASSERT(size <= ME_SEND_BUF_SIZE);
+ mevent_srv_sub_init_send(&svr->manager, ident, src, size);
+}
+
+static const void * mevent_first_if_not_null_else_second(const void * a0, const void * a1)
+{
+ if (a0 != NULL)
+ return a0;
+ else
+ return a1;
+}
+
+static u32 mevent_compare_pointers(const void * a0, const void * a1)
+{
+ if (a1 < a0)
+ return 0;
+ else if (a1 == a0)
+ return 1;
+ else
+ return 2;
+}
+
+static u32 common_mainseq_0(struct mevent_srv_common * svr)
+{
+ // start
+ svr->mainseqno = 4;
+ return 0;
+}
+
+static u32 common_mainseq_1(struct mevent_srv_common * svr)
+{
+ // done
+ return 3;
+}
+
+static u32 common_mainseq_2(struct mevent_srv_common * svr)
+{
+ // do recv
+ if (mevent_srv_sub_recv(&svr->manager))
+ svr->mainseqno = 4;
+ return 1;
+}
+
+static u32 common_mainseq_3(struct mevent_srv_common * svr)
+{
+ // do send
+ if (mevent_srv_sub_send(&svr->manager))
+ svr->mainseqno = 4;
+ return 1;
+}
+
+static u32 common_mainseq_4(struct mevent_srv_common * svr)
+{
+ // process command
+ const struct mevent_cmd * cmd = &svr->cmdBuffer[svr->cmdidx];
+ const void * ptr;
+ svr->cmdidx++;
+
+ switch (cmd->instr)
+ {
+ case 0:
+ // end
+ AGB_ASSERT(cmd->parameter == NULL);
+ svr->mainseqno = 1;
+ svr->param = cmd->flag;
+ break;
+ case 1:
+ // wait_send
+ svr->mainseqno = 3;
+ break;
+ case 2:
+ // receive
+ AGB_ASSERT(cmd->parameter == NULL);
+ mevent_srv_sub_init_recv(&svr->manager, cmd->flag, svr->recvBuffer);
+ svr->mainseqno = 2;
+ break;
+ case 3:
+ // jump
+ AGB_ASSERT(cmd->flag == FALSE);
+ svr->cmdidx = 0;
+ svr->cmdBuffer = cmd->parameter;
+ break;
+ case 5:
+ // get_1442CC
+ AGB_ASSERT(cmd->flag == FALSE);
+ AGB_ASSERT(cmd->parameter == NULL);
+ memcpy(svr->mevent_unk1442cc, svr->recvBuffer, sizeof(struct MEventStruct_Unk1442CC));
+ break;
+ case 6:
+ // check_header__pass_false
+ AGB_ASSERT(cmd->flag == FALSE);
+ AGB_ASSERT(cmd->parameter == NULL);
+ svr->param = sub_801B6A0(svr->mevent_unk1442cc, FALSE);
+ break;
+ case 30:
+ // check_header__pass_true
+ AGB_ASSERT(cmd->flag == FALSE);
+ AGB_ASSERT(cmd->parameter == NULL);
+ svr->param = sub_801B6A0(svr->mevent_unk1442cc, TRUE);
+ break;
+ case 4:
+ // jump_if_eq
+ if (svr->param == cmd->flag)
+ {
+ svr->cmdidx = 0;
+ svr->cmdBuffer = cmd->parameter;
+ }
+ break;
+ case 7:
+ // check_crc
+ AGB_ASSERT(cmd->flag == FALSE);
+ ptr = mevent_first_if_not_null_else_second(cmd->parameter, svr->wonder_card);
+ svr->param = sub_801B6EC(ptr, svr->mevent_unk1442cc, ptr);
+ break;
+ case 8:
+ // read_word
+ AGB_ASSERT(cmd->flag == FALSE);
+ AGB_ASSERT(cmd->parameter == NULL);
+ svr->param = *(u32 *)svr->recvBuffer;
+ break;
+ case 9:
+ AGB_ASSERT(cmd->flag == FALSE);
+ ptr = mevent_first_if_not_null_else_second(cmd->parameter, &svr->sendWord);
+ svr->param = sub_801B708(ptr, svr->mevent_unk1442cc, ptr);
+ break;
+ case 10:
+ AGB_ASSERT(cmd->parameter == NULL);
+ svr->param = MEventStruct_Unk1442CC_GetValueNFrom_unk_20(svr->mevent_unk1442cc, cmd->flag);
+ break;
+ case 11:
+ AGB_ASSERT(cmd->flag == FALSE);
+ svr->param = MEventStruct_Unk1442CC_CompareField_unk_16(svr->mevent_unk1442cc, cmd->parameter);
+ break;
+ case 12:
+ AGB_ASSERT(cmd->flag == FALSE);
+ svr->param = mevent_compare_pointers(cmd->parameter, *(void **)svr->recvBuffer);
+ break;
+ case 14:
+ AGB_ASSERT(cmd->flag == FALSE);
+ mevent_srv_common_init_send(svr, 0x17, mevent_first_if_not_null_else_second(cmd->parameter, svr->wonder_news), sizeof(struct WonderNews));
+ break;
+ case 13:
+ AGB_ASSERT(cmd->flag == FALSE);
+ mevent_srv_common_init_send(svr, 0x16, mevent_first_if_not_null_else_second(cmd->parameter, svr->wonder_card), sizeof(struct WonderCard));
+ break;
+ case 16:
+ AGB_ASSERT(cmd->flag == FALSE);
+ mevent_srv_common_init_send(svr, 0x18, mevent_first_if_not_null_else_second(cmd->parameter, &svr->sendWord), 4);
+ break;
+ case 15:
+ if (cmd->parameter == NULL)
+ mevent_srv_common_init_send(svr, 0x19, svr->sendBuffer1, svr->sendBuffer1Size);
+ else
+ mevent_srv_common_init_send(svr, 0x19, cmd->parameter, cmd->flag);
+ break;
+ case 18:
+ if (cmd->parameter == NULL)
+ mevent_srv_common_init_send(svr, 0x10, svr->sendBuffer2, svr->sendBuffer2Size);
+ else
+ mevent_srv_common_init_send(svr, 0x10, cmd->parameter, cmd->flag);
+ break;
+ case 19:
+ AGB_ASSERT(cmd->flag == FALSE);
+ mevent_srv_common_init_send(svr, 0x1a, cmd->parameter, 188);
+ break;
+ case 20:
+ mevent_srv_common_init_send(svr, 0x15, cmd->parameter, cmd->flag);
+ break;
+ case 17:
+ mevent_srv_common_init_send(svr, 0x1c, cmd->parameter, cmd->flag);
+ break;
+ case 22:
+ AGB_ASSERT(cmd->flag == FALSE);
+ memcpy(svr->wonder_card, cmd->parameter, 332);
+ break;
+ case 23:
+ AGB_ASSERT(cmd->flag == FALSE);
+ memcpy(svr->wonder_news, cmd->parameter, 444);
+ break;
+ case 21:
+ AGB_ASSERT(cmd->flag == FALSE);
+ svr->sendWord = *(u32 *)cmd->parameter;
+ break;
+ case 24:
+ svr->sendBuffer1 = cmd->parameter;
+ svr->sendBuffer1Size = cmd->flag;
+ break;
+ case 25:
+ svr->sendBuffer2 = cmd->parameter;
+ svr->sendBuffer2Size = cmd->flag;
+ break;
+ case 26:
+ AGB_ASSERT(cmd->flag == FALSE && cmd->parameter == NULL);
+ memcpy(svr->wonder_card, GetSavedWonderCard(), 332);
+ WonderCard_ResetInternalReceivedFlag(svr->wonder_card);
+ break;
+ case 27:
+ AGB_ASSERT(cmd->flag == FALSE && cmd->parameter == NULL);
+ memcpy(svr->wonder_news, GetSavedWonderNews(), 444);
+ break;
+ case 28:
+ AGB_ASSERT(cmd->flag == FALSE && cmd->parameter == NULL);
+ svr->sendBuffer1 = GetSavedRamScriptIfValid();
+ break;
+ case 29:
+ mevent_srv_common_init_send(svr, 0x1b, cmd->parameter, cmd->flag);
+ break;
+ }
+
+ return 1;
+}
+
+static u32 (*const func_tbl[])(struct mevent_srv_common *) = {
+ common_mainseq_0,
+ common_mainseq_1,
+ common_mainseq_2,
+ common_mainseq_3,
+ common_mainseq_4
+};
+
+static u32 mevent_srv_exec_common(struct mevent_srv_common * svr)
+{
+ u32 response;
+ AGB_ASSERT(svr->mainseqno < NELEMS(func_tbl));
+ response = func_tbl[svr->mainseqno](svr);
+ AGB_ASSERT(svr->mainseqno < NELEMS(func_tbl));
+ return response;
+}
diff --git a/src/mevent_server_helpers.c b/src/mevent_server_helpers.c
new file mode 100644
index 000000000..9d47ba745
--- /dev/null
+++ b/src/mevent_server_helpers.c
@@ -0,0 +1,211 @@
+#include "global.h"
+#include "alloc.h"
+#include "decompress.h"
+#include "util.h"
+#include "link.h"
+#include "link_rfu.h"
+#include "overworld.h"
+#include "script.h"
+#include "battle_tower.h"
+#include "mystery_event_script.h"
+#include "mevent.h"
+#include "mevent_server_helpers.h"
+
+static u32 mevent_receive_func(struct mevent_srv_sub *);
+static u32 mevent_send_func(struct mevent_srv_sub *);
+
+u32 mevent_srv_sub_recv(struct mevent_srv_sub * svr)
+{
+ return svr->recvFunc(svr);
+}
+
+u32 mevent_srv_sub_send(struct mevent_srv_sub * svr)
+{
+ return svr->sendFunc(svr);
+}
+
+void mevent_srv_sub_init(struct mevent_srv_sub * svr, u32 sendPlayerNo, u32 recvPlayerNo)
+{
+ svr->sendPlayerNo = sendPlayerNo;
+ svr->recvPlayerNo = recvPlayerNo;
+ svr->seqno = 0;
+ svr->sendCRC = 0;
+ svr->sendSize = 0;
+ svr->sendCounter = 0;
+ svr->recvCRC = 0;
+ svr->recvSize = 0;
+ svr->recvCounter = 0;
+ svr->sendBfr = NULL;
+ svr->recvBfr = NULL;
+ svr->sendFunc = mevent_send_func;
+ svr->recvFunc = mevent_receive_func;
+}
+
+void mevent_srv_sub_init_send(struct mevent_srv_sub * svr, u32 ident, const void * src, u32 size)
+{
+ svr->seqno = 0;
+ svr->sendIdent = ident;
+ svr->sendCounter = 0;
+ svr->sendCRC = 0;
+ if (size != 0)
+ svr->sendSize = size;
+ else
+ svr->sendSize = ME_SEND_BUF_SIZE;
+ svr->sendBfr = src;
+}
+
+void mevent_srv_sub_init_recv(struct mevent_srv_sub * svr, u32 ident, void * dest)
+{
+ svr->seqno = 0;
+ svr->recvIdent = ident;
+ svr->recvCounter = 0;
+ svr->recvCRC = 0;
+ svr->recvSize = 0;
+ svr->recvBfr = dest;
+}
+
+static void mevent_recv_block(u32 recv_idx, void * dest, size_t size)
+{
+ memcpy(dest, gBlockRecvBuffer[recv_idx], size);
+}
+
+static bool32 mevent_has_received(u32 recv_idx)
+{
+ if ((GetBlockReceivedStatus() >> recv_idx) & 1)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static void mevent_reset_recv(u32 recv_idx)
+{
+ ResetBlockReceivedFlag(recv_idx);
+}
+
+static bool32 mevent_receive_func(struct mevent_srv_sub * svr)
+{
+ struct send_recv_header header;
+
+ switch (svr->seqno)
+ {
+ case 0:
+ if (mevent_has_received(svr->recvPlayerNo))
+ {
+ mevent_recv_block(svr->recvPlayerNo, &header, sizeof(header));
+ svr->recvSize = header.size;
+ svr->recvCRC = header.crc;
+ if (svr->recvSize > ME_SEND_BUF_SIZE)
+ {
+ LinkRfu_FatalError();
+ return FALSE;
+ }
+ else if (svr->recvIdent != header.ident)
+ {
+ LinkRfu_FatalError();
+ return FALSE;
+ }
+ else
+ {
+ svr->recvCounter = 0;
+ mevent_reset_recv(svr->recvPlayerNo);
+ ++svr->seqno;
+ }
+ }
+ break;
+ case 1:
+ if (mevent_has_received(svr->recvPlayerNo))
+ {
+ size_t blocksiz = svr->recvCounter * 252;
+ if (svr->recvSize - blocksiz <= 252)
+ {
+ mevent_recv_block(svr->recvPlayerNo, svr->recvBfr + blocksiz, svr->recvSize - blocksiz);
+ ++svr->recvCounter;
+ ++svr->seqno;
+ }
+ else
+ {
+ mevent_recv_block(svr->recvPlayerNo, svr->recvBfr + blocksiz, 252);
+ ++svr->recvCounter;
+ }
+ mevent_reset_recv(svr->recvPlayerNo);
+ }
+ break;
+ case 2:
+ if (CalcCRC16WithTable(svr->recvBfr, svr->recvSize) != svr->recvCRC)
+ {
+ LinkRfu_FatalError();
+ return FALSE;
+ }
+ else
+ {
+ svr->seqno = 0;
+ return TRUE;
+ }
+ break;
+
+ }
+
+ return FALSE;
+}
+
+static bool32 mevent_send_func(struct mevent_srv_sub * svr)
+{
+ struct send_recv_header header;
+
+ switch (svr->seqno)
+ {
+ case 0:
+ if (IsLinkTaskFinished())
+ {
+ header.ident = svr->sendIdent;
+ header.size = svr->sendSize;
+ header.crc = CalcCRC16WithTable(svr->sendBfr, svr->sendSize);
+ svr->sendCRC = header.crc;
+ svr->sendCounter = 0;
+ SendBlock(0, &header, sizeof(header));
+ ++svr->seqno;
+ }
+ break;
+ case 1:
+ if (IsLinkTaskFinished())
+ {
+ if (mevent_has_received(svr->sendPlayerNo))
+ {
+ size_t blocksiz;
+ mevent_reset_recv(svr->sendPlayerNo);
+ blocksiz = 252 * svr->sendCounter;
+ if (svr->sendSize - blocksiz <= 252)
+ {
+ SendBlock(0, svr->sendBfr + blocksiz, svr->sendSize - blocksiz);
+ ++svr->sendCounter;
+ ++svr->seqno;
+ }
+ else
+ {
+ SendBlock(0, svr->sendBfr + blocksiz, 252);
+ ++svr->sendCounter;
+ }
+ }
+ }
+ break;
+ case 2:
+ if (IsLinkTaskFinished())
+ {
+ if (CalcCRC16WithTable(svr->sendBfr, svr->sendSize) != svr->sendCRC)
+ LinkRfu_FatalError();
+ else
+ ++svr->seqno;
+ }
+ break;
+ case 3:
+ if (mevent_has_received(svr->sendPlayerNo))
+ {
+ mevent_reset_recv(svr->sendPlayerNo);
+ svr->seqno = 0;
+ return TRUE;
+ }
+ break;
+ }
+
+ return FALSE;
+}
diff --git a/src/mirage_tower.c b/src/mirage_tower.c
index 4f5834db1..898180df4 100644
--- a/src/mirage_tower.c
+++ b/src/mirage_tower.c
@@ -142,10 +142,10 @@ static const struct OamData gOamData_8617DF4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 3,
@@ -192,10 +192,10 @@ static const struct OamData sCeilingCrumble2OamData =
.objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_SQUARE,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -230,10 +230,10 @@ static const struct OamData sCeilingCrumble1OamData =
.objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_SQUARE,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
diff --git a/src/mon_markings.c b/src/mon_markings.c
index 48f0f5ecb..f8b128045 100644
--- a/src/mon_markings.c
+++ b/src/mon_markings.c
@@ -30,10 +30,10 @@ static const struct OamData gUnknown_0859EE7C =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -47,10 +47,10 @@ static const struct OamData gUnknown_0859EE84 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -156,10 +156,10 @@ static const struct OamData gUnknown_0859EF1C =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(32x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
diff --git a/src/money.c b/src/money.c
index 4ff8086ea..7b95a75ab 100644
--- a/src/money.c
+++ b/src/money.c
@@ -24,10 +24,10 @@ static const struct OamData sOamData_MoneyLabel =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
diff --git a/src/move_relearner.c b/src/move_relearner.c
new file mode 100644
index 000000000..0b0b4a5aa
--- /dev/null
+++ b/src/move_relearner.c
@@ -0,0 +1,976 @@
+#include "global.h"
+#include "main.h"
+#include "battle.h"
+#include "bg.h"
+#include "contest_effect.h"
+#include "data.h"
+#include "event_data.h"
+#include "field_screen_effect.h"
+#include "gpu_regs.h"
+#include "move_relearner.h"
+#include "list_menu.h"
+#include "alloc.h"
+#include "menu.h"
+#include "menu_helpers.h"
+#include "menu_specialized.h"
+#include "overworld.h"
+#include "palette.h"
+#include "pokemon_summary_screen.h"
+#include "script.h"
+#include "sound.h"
+#include "sprite.h"
+#include "string_util.h"
+#include "strings.h"
+#include "task.h"
+#include "constants/rgb.h"
+#include "constants/songs.h"
+
+/*
+ * Move relearner state machine
+ * ------------------------
+ *
+ * Entry point: TeachMoveRelearnerMove
+ *
+ * TeachMoveRelearnerMove
+ * Task_WaitForFadeOut
+ * CB2_InitLearnMove
+ * - Creates moveDisplayArrowTask to listen to right/left buttons.
+ * - Creates moveListScrollArrowTask to listen to up/down buttons.
+ * - Whenever the selected move changes (and once on init), the MoveRelearnerCursorCallback
+ * is called (see sMoveRelearnerMovesListTemplate). That callback will reload the contest
+ * display and battle display windows for the new move. Both are always loaded in
+ * memory, but only the currently active one is copied to VRAM. The exception to this
+ * is the appeal and jam hearts, which are sprites. MoveRelearnerShowHideHearts is called
+ * while reloading the contest display to control them.
+ * DoMoveRelearnerMain: MENU_STATE_FADE_TO_BLACK
+ * DoMoveRelearnerMain: MENU_STATE_WAIT_FOR_FADE
+ * - Go to MENU_STATE_IDLE_BATTLE_MODE
+ *
+ * DoMoveRelearnerMain: MENU_STATE_SETUP_BATTLE_MODE
+ * DoMoveRelearnerMain: MENU_STATE_IDLE_BATTLE_MODE
+ * - If the player selected a move (pressed A), go to MENU_STATE_PRINT_TEACH_MOVE_PROMPT.
+ * - If the player cancelled (pressed B), go to MENU_STATE_PRINT_GIVE_UP_PROMPT.
+ * - If the player pressed left or right, swap the move display window to contest mode,
+ * and go to MENU_STATE_SETUP_CONTEST_MODE.
+ *
+ * DoMoveRelearnerMain: MENU_STATE_SETUP_CONTEST_MODE
+ * DoMoveRelearnerMain: MENU_STATE_IDLE_CONTEST_MODE
+ * - If the player selected a move, go to MENU_STATE_PRINT_TEACH_MOVE_PROMPT.
+ * - If the player cancelled, go to MENU_STATE_PRINT_GIVE_UP_PROMPT
+ * - If the player pressed left or right, swap the move display window to battle mode,
+ * and go to MENU_STATE_SETUP_BATTLE_MODE.
+ *
+ * DoMoveRelearnerMain: MENU_STATE_PRINT_TEACH_MOVE_PROMPT
+ * DoMoveRelearnerMain: MENU_STATE_TEACH_MOVE_CONFIRM
+ * - Wait for the player to confirm.
+ * - If cancelled, go to either MENU_STATE_SETUP_BATTLE_MODE or MENU_STATE_SETUP_CONTEST_MODE.
+ * - If confirmed and the pokemon had an empty move slot, set VAR_0x8004 to TRUE and go to
+ * MENU_STATE_PRINT_TEXT_THEN_FANFARE.
+ * - If confirmed and the pokemon doesn't have an empty move slot, go to
+ * MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT.
+ *
+ * DoMoveRelearnerMain: MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT
+ * DoMoveRelearnerMain: MENU_STATE_WAIT_FOR_TRYING_TO_LEARN
+ * DoMoveRelearnerMain: MENU_STATE_CONFIRM_DELETE_OLD_MOVE
+ * - If the player confirms, go to MENU_STATE_PRINT_WHICH_MOVE_PROMPT.
+ * - If the player cancels, go to MENU_STATE_PRINT_STOP_TEACHING
+ *
+ * DoMoveRelearnerMain: MENU_STATE_PRINT_STOP_TEACHING
+ * DoMoveRelearnerMain: MENU_STATE_WAIT_FOR_STOP_TEACHING
+ * DoMoveRelearnerMain: MENU_STATE_CONFIRM_STOP_TEACHING
+ * - If the player confirms, go to MENU_STATE_CHOOSE_SETUP_STATE.
+ * - If the player cancels, go back to MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT.
+ *
+ * DoMoveRelearnerMain: MENU_STATE_PRINT_WHICH_MOVE_PROMPT
+ * DoMoveRelearnerMain: MENU_STATE_SHOW_MOVE_SUMMARY_SCREEN
+ * - Go to ShowSelectMovePokemonSummaryScreen. When done, control returns to
+ * CB2_InitLearnMoveReturnFromSelectMove.
+ *
+ * DoMoveRelearnerMain: MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE
+ * DoMoveRelearnerMain: MENU_STATE_PRINT_TEXT_THEN_FANFARE
+ * DoMoveRelearnerMain: MENU_STATE_WAIT_FOR_FANFARE
+ * DoMoveRelearnerMain: MENU_STATE_WAIT_FOR_A_BUTTON
+ * DoMoveRelearnerMain: MENU_STATE_FADE_AND_RETURN
+ * DoMoveRelearnerMain: MENU_STATE_RETURN_TO_FIELD
+ * - Clean up and go to CB2_ReturnToField.
+ *
+ * DoMoveRelearnerMain: MENU_STATE_PRINT_GIVE_UP_PROMPT
+ * DoMoveRelearnerMain: MENU_STATE_GIVE_UP_CONFIRM
+ * - If the player confirms, go to MENU_STATE_FADE_AND_RETURN, and set VAR_0x8004 to FALSE.
+ * - If the player cancels, go to either MENU_STATE_SETUP_BATTLE_MODE or
+ * MENU_STATE_SETUP_CONTEST_MODE.
+ *
+ * CB2_InitLearnMoveReturnFromSelectMove:
+ * - Do most of the same stuff as CB2_InitLearnMove.
+ * DoMoveRelearnerMain: MENU_STATE_FADE_FROM_SUMMARY_SCREEN
+ * DoMoveRelearnerMain: MENU_STATE_TRY_OVERWRITE_MOVE
+ * - If any of the pokemon's existing moves were chosen, overwrite the move and
+ * go to MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE and set VAR_0x8004 to TRUE.
+ * - If the chosen move is the one the player selected before the summary screen,
+ * go to MENU_STATE_PRINT_STOP_TEACHING.
+ *
+ */
+
+#define MENU_STATE_FADE_TO_BLACK 0
+#define MENU_STATE_WAIT_FOR_FADE 1
+#define MENU_STATE_UNREACHABLE 2
+#define MENU_STATE_SETUP_BATTLE_MODE 3
+#define MENU_STATE_IDLE_BATTLE_MODE 4
+#define MENU_STATE_SETUP_CONTEST_MODE 5
+#define MENU_STATE_IDLE_CONTEST_MODE 6
+// State 7 is skipped.
+#define MENU_STATE_PRINT_TEACH_MOVE_PROMPT 8
+#define MENU_STATE_TEACH_MOVE_CONFIRM 9
+// States 10 and 11 are skipped.
+#define MENU_STATE_PRINT_GIVE_UP_PROMPT 12
+#define MENU_STATE_GIVE_UP_CONFIRM 13
+#define MENU_STATE_FADE_AND_RETURN 14
+#define MENU_STATE_RETURN_TO_FIELD 15
+#define MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT 16
+#define MENU_STATE_WAIT_FOR_TRYING_TO_LEARN 17
+#define MENU_STATE_CONFIRM_DELETE_OLD_MOVE 18
+#define MENU_STATE_PRINT_WHICH_MOVE_PROMPT 19
+#define MENU_STATE_SHOW_MOVE_SUMMARY_SCREEN 20
+// States 21, 22, and 23 are skipped.
+#define MENU_STATE_PRINT_STOP_TEACHING 24
+#define MENU_STATE_WAIT_FOR_STOP_TEACHING 25
+#define MENU_STATE_CONFIRM_STOP_TEACHING 26
+#define MENU_STATE_CHOOSE_SETUP_STATE 27
+#define MENU_STATE_FADE_FROM_SUMMARY_SCREEN 28
+#define MENU_STATE_TRY_OVERWRITE_MOVE 29
+#define MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE 30
+#define MENU_STATE_PRINT_TEXT_THEN_FANFARE 31
+#define MENU_STATE_WAIT_FOR_FANFARE 32
+#define MENU_STATE_WAIT_FOR_A_BUTTON 33
+
+// The different versions of hearts are selected using animation
+// commands.
+#define APPEAL_HEART_EMPTY 0
+#define APPEAL_HEART_FULL 1
+#define JAM_HEART_EMPTY 2
+#define JAM_HEART_FULL 3
+
+static EWRAM_DATA struct
+{
+ u8 state;
+ u8 heartSpriteIds[16]; /*0x001*/
+ u16 movesToLearn[4]; /*0x012*/
+ u8 filler1A[0x44 - 0x1A]; /*0x01A*/
+ u8 partyMon; /*0x044*/
+ u8 moveSlot; /*0x045*/
+ struct ListMenuItem menuItems[20]; /*0x048*/
+ u8 fillerE8[0x110 - 0xE8]; /*0x0E8*/
+ u8 numMenuChoices; /*0x110*/
+ u8 numToShowAtOnce; /*0x111*/
+ u8 moveListMenuTask; /*0x112*/
+ u8 moveListScrollArrowTask; /*0x113*/
+ u8 moveDisplayArrowTask; /*0x114*/
+ u16 scrollOffset; /*0x116*/
+} *sMoveRelearnerStruct = {0};
+
+static EWRAM_DATA struct {
+ u16 listOffset;
+ u16 listRow;
+ bool8 showContestInfo;
+} sMoveRelearnerMenuSate = {0};
+
+static const u16 sMoveRelearnerPaletteData[] = INCBIN_U16("graphics/interface/ui_learn_move.gbapal");
+
+// The arrow sprites in this spritesheet aren't used. The scroll-arrow system provides its own
+// arrow sprites.
+static const u8 sMoveRelearnerSpriteSheetData[] = INCBIN_U8("graphics/interface/ui_learn_move.4bpp");
+
+static const struct OamData sHeartSpriteOamData =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .mosaic = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = ST_OAM_SQUARE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const struct OamData sUnusedOam1 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .mosaic = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = ST_OAM_V_RECTANGLE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const struct OamData sUnusedOam2 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .mosaic = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = ST_OAM_H_RECTANGLE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const struct SpriteSheet sMoveRelearnerSpriteSheet =
+{
+ .data = sMoveRelearnerSpriteSheetData,
+ .size = 0x180,
+ .tag = 5525
+};
+
+static const struct SpritePalette sMoveRelearnerPalette =
+{
+ .data = sMoveRelearnerPaletteData,
+ .tag = 5526
+};
+
+static const struct ScrollArrowsTemplate sDisplayModeArrowsTemplate =
+{
+ .firstArrowType = SCROLL_ARROW_LEFT,
+ .firstX = 27,
+ .firstY = 16,
+ .secondArrowType = SCROLL_ARROW_RIGHT,
+ .secondX = 117,
+ .secondY = 16,
+ .fullyUpThreshold = -1,
+ .fullyDownThreshold = -1,
+ .tileTag = 5325,
+ .palTag = 5325,
+ .palNum = 0,
+};
+
+static const struct ScrollArrowsTemplate sMoveListScrollArrowsTemplate =
+{
+ .firstArrowType = SCROLL_ARROW_UP,
+ .firstX = 192,
+ .firstY = 8,
+ .secondArrowType = SCROLL_ARROW_DOWN,
+ .secondX = 192,
+ .secondY = 104,
+ .fullyUpThreshold = 0,
+ .fullyDownThreshold = 0,
+ .tileTag = 5425,
+ .palTag = 5425,
+ .palNum = 0,
+};
+
+static const union AnimCmd sHeartSprite_AppealEmptyFrame[] =
+{
+ ANIMCMD_FRAME(8, 5, FALSE, FALSE),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sHeartSprite_AppealFullFrame[] =
+{
+ ANIMCMD_FRAME(9, 5, FALSE, FALSE),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sHeartSprite_JamEmptyFrame[] =
+{
+ ANIMCMD_FRAME(10, 5, FALSE, FALSE),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sHeartSprite_JamFullFrame[] =
+{
+ ANIMCMD_FRAME(11, 5, FALSE, FALSE),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sHeartSpriteAnimationCommands[] =
+{
+ [APPEAL_HEART_EMPTY] = sHeartSprite_AppealEmptyFrame,
+ [APPEAL_HEART_FULL] = sHeartSprite_AppealFullFrame,
+ [JAM_HEART_EMPTY] = sHeartSprite_JamEmptyFrame,
+ [JAM_HEART_FULL] = sHeartSprite_JamFullFrame,
+};
+
+static const struct SpriteTemplate sConstestMoveHeartSprite =
+{
+ .tileTag = 5525,
+ .paletteTag = 5526,
+ .oam = &sHeartSpriteOamData,
+ .anims = sHeartSpriteAnimationCommands,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+static const struct BgTemplate sMoveRelearnerMenuBackgroundTemplates[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0,
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0,
+ },
+};
+
+static void DoMoveRelearnerMain(void);
+static void CreateLearnableMovesList(void);
+static void CreateUISprites(void);
+static void CB2_MoveRelearnerMain(void);
+static void Task_WaitForFadeOut(u8 taskId);
+static void CB2_InitLearnMove(void);
+static void CB2_InitLearnMoveReturnFromSelectMove(void);
+static void InitMoveRelearnerBackgroundLayers(void);
+static void AddScrollArrows(void);
+static void HandleInput(u8);
+static void ShowTeachMoveText(u8);
+static s32 GetCurrentSelectedMove(void);
+static void FreeMoveRelearnerResources(void);
+static void RemoveScrollArrows(void);
+static void HideHeartSpritesAndShowTeachMoveText(bool8);
+
+static void VBlankCB_MoveRelearner(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+// Script arguments: The pokemon to teach is in VAR_0x8004
+void TeachMoveRelearnerMove(void)
+{
+ ScriptContext2_Enable();
+ CreateTask(Task_WaitForFadeOut, 10);
+ // Fade to black
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
+}
+
+static void Task_WaitForFadeOut(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ SetMainCallback2(CB2_InitLearnMove);
+ gFieldCallback = FieldCallback_ReturnToEventScript2;
+ DestroyTask(taskId);
+ }
+}
+
+static void CB2_InitLearnMove(void)
+{
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ ResetTasks();
+ clear_scheduled_bg_copies_to_vram();
+ sMoveRelearnerStruct = AllocZeroed(sizeof(*sMoveRelearnerStruct));
+ sMoveRelearnerStruct->partyMon = gSpecialVar_0x8004;
+ SetVBlankCallback(VBlankCB_MoveRelearner);
+
+ InitMoveRelearnerBackgroundLayers();
+ InitMoveRelearnerWindows(FALSE);
+
+ sMoveRelearnerMenuSate.listOffset = 0;
+ sMoveRelearnerMenuSate.listRow = 0;
+ sMoveRelearnerMenuSate.showContestInfo = FALSE;
+
+ CreateLearnableMovesList();
+
+ LoadSpriteSheet(&sMoveRelearnerSpriteSheet);
+ LoadSpritePalette(&sMoveRelearnerPalette);
+ CreateUISprites();
+
+ sMoveRelearnerStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveRelearnerMenuSate.listOffset, sMoveRelearnerMenuSate.listRow);
+ FillPalette(RGB_BLACK, 0, 2);
+ SetMainCallback2(CB2_MoveRelearnerMain);
+}
+
+static void CB2_InitLearnMoveReturnFromSelectMove(void)
+{
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ ResetTasks();
+ clear_scheduled_bg_copies_to_vram();
+ sMoveRelearnerStruct = AllocZeroed(sizeof(*sMoveRelearnerStruct));
+ sMoveRelearnerStruct->state = MENU_STATE_FADE_FROM_SUMMARY_SCREEN;
+ sMoveRelearnerStruct->partyMon = gSpecialVar_0x8004;
+ sMoveRelearnerStruct->moveSlot = gSpecialVar_0x8005;
+ SetVBlankCallback(VBlankCB_MoveRelearner);
+
+ InitMoveRelearnerBackgroundLayers();
+ InitMoveRelearnerWindows(sMoveRelearnerMenuSate.showContestInfo);
+ CreateLearnableMovesList();
+
+ LoadSpriteSheet(&sMoveRelearnerSpriteSheet);
+ LoadSpritePalette(&sMoveRelearnerPalette);
+ CreateUISprites();
+
+ sMoveRelearnerStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveRelearnerMenuSate.listOffset, sMoveRelearnerMenuSate.listRow);
+ FillPalette(RGB_BLACK, 0, 2);
+ SetMainCallback2(CB2_MoveRelearnerMain);
+}
+
+static void InitMoveRelearnerBackgroundLayers(void)
+{
+ ResetVramOamAndBgCntRegs();
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, sMoveRelearnerMenuBackgroundTemplates, ARRAY_COUNT(sMoveRelearnerMenuBackgroundTemplates));
+ ResetAllBgsCoordinates();
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_OBJ_ON);
+ ShowBg(0);
+ ShowBg(1);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+}
+
+static void CB2_MoveRelearnerMain(void)
+{
+ DoMoveRelearnerMain();
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ do_scheduled_bg_tilemap_copies_to_vram();
+ UpdatePaletteFade();
+}
+
+static void FormatAndPrintText(const u8 *src)
+{
+ StringExpandPlaceholders(gStringVar4, src);
+ MoveRelearnerPrintText(gStringVar4);
+}
+
+// See the state machine doc at the top of the file.
+static void DoMoveRelearnerMain(void)
+{
+ switch (sMoveRelearnerStruct->state)
+ {
+ case MENU_STATE_FADE_TO_BLACK:
+ sMoveRelearnerStruct->state++;
+ HideHeartSpritesAndShowTeachMoveText(FALSE);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ break;
+ case MENU_STATE_WAIT_FOR_FADE:
+ if (!gPaletteFade.active)
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_IDLE_BATTLE_MODE;
+ }
+ break;
+ case MENU_STATE_UNREACHABLE:
+ sMoveRelearnerStruct->state++;
+ break;
+ case MENU_STATE_SETUP_BATTLE_MODE:
+
+ HideHeartSpritesAndShowTeachMoveText(FALSE);
+ sMoveRelearnerStruct->state++;
+ AddScrollArrows();
+ break;
+ case MENU_STATE_IDLE_BATTLE_MODE:
+ HandleInput(FALSE);
+ break;
+ case MENU_STATE_SETUP_CONTEST_MODE:
+ ShowTeachMoveText(FALSE);
+ sMoveRelearnerStruct->state++;
+ AddScrollArrows();
+ break;
+ case MENU_STATE_IDLE_CONTEST_MODE:
+ HandleInput(TRUE);
+ break;
+ case MENU_STATE_PRINT_TEACH_MOVE_PROMPT:
+ if (!MoveRelearnerRunTextPrinters())
+ {
+ MoveRelearnerCreateYesNoMenu();
+ sMoveRelearnerStruct->state++;
+ }
+ break;
+ case MENU_STATE_TEACH_MOVE_CONFIRM:
+ {
+ s8 selection = Menu_ProcessInputNoWrapClearOnChoose();
+
+ if (selection == 0)
+ {
+ if (GiveMoveToMon(&gPlayerParty[sMoveRelearnerStruct->partyMon], GetCurrentSelectedMove()) != 0xFFFF)
+ {
+ FormatAndPrintText(gText_MoveRelearnerPkmnLearnedMove);
+ gSpecialVar_0x8004 = TRUE;
+ sMoveRelearnerStruct->state = MENU_STATE_PRINT_TEXT_THEN_FANFARE;
+ }
+ else
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT;
+ }
+ }
+ else if (selection == MENU_B_PRESSED || selection == 1)
+ {
+ if (sMoveRelearnerMenuSate.showContestInfo == FALSE)
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE;
+ }
+ else if (sMoveRelearnerMenuSate.showContestInfo == TRUE)
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE;
+ }
+ }
+ }
+ break;
+ case MENU_STATE_PRINT_GIVE_UP_PROMPT:
+ if (!MoveRelearnerRunTextPrinters())
+ {
+ MoveRelearnerCreateYesNoMenu();
+ sMoveRelearnerStruct->state++;
+ }
+ break;
+ case MENU_STATE_GIVE_UP_CONFIRM:
+ {
+ s8 selection = Menu_ProcessInputNoWrapClearOnChoose();
+
+ if (selection == 0)
+ {
+ gSpecialVar_0x8004 = FALSE;
+ sMoveRelearnerStruct->state = MENU_STATE_FADE_AND_RETURN;
+ }
+ else if (selection == -1 || selection == 1)
+ {
+ if (sMoveRelearnerMenuSate.showContestInfo == FALSE)
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE;
+ }
+ else if (sMoveRelearnerMenuSate.showContestInfo == TRUE)
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE;
+ }
+ }
+ }
+ break;
+ case MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT:
+ FormatAndPrintText(gText_MoveRelearnerPkmnTryingToLearnMove);
+ sMoveRelearnerStruct->state++;
+ break;
+ case MENU_STATE_WAIT_FOR_TRYING_TO_LEARN:
+ if (!MoveRelearnerRunTextPrinters())
+ {
+ MoveRelearnerCreateYesNoMenu();
+ sMoveRelearnerStruct->state = MENU_STATE_CONFIRM_DELETE_OLD_MOVE;
+ }
+ break;
+ case MENU_STATE_CONFIRM_DELETE_OLD_MOVE:
+ {
+ s8 var = Menu_ProcessInputNoWrapClearOnChoose();
+
+ if (var == 0)
+ {
+ FormatAndPrintText(gText_MoveRelearnerWhichMoveToForget);
+ sMoveRelearnerStruct->state = MENU_STATE_PRINT_WHICH_MOVE_PROMPT;
+ }
+ else if (var == -1 || var == 1)
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_PRINT_STOP_TEACHING;
+ }
+ }
+ break;
+ case MENU_STATE_PRINT_STOP_TEACHING:
+ StringCopy(gStringVar2, gMoveNames[GetCurrentSelectedMove()]);
+ FormatAndPrintText(gText_MoveRelearnerStopTryingToTeachMove);
+ sMoveRelearnerStruct->state++;
+ break;
+ case MENU_STATE_WAIT_FOR_STOP_TEACHING:
+ if (!MoveRelearnerRunTextPrinters())
+ {
+ MoveRelearnerCreateYesNoMenu();
+ sMoveRelearnerStruct->state++;
+ }
+ break;
+ case MENU_STATE_CONFIRM_STOP_TEACHING:
+ {
+ s8 var = Menu_ProcessInputNoWrapClearOnChoose();
+
+ if (var == 0)
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_CHOOSE_SETUP_STATE;
+ }
+ else if (var == MENU_B_PRESSED || var == 1)
+ {
+ // What's the point? It gets set to MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT, anyway.
+ if (sMoveRelearnerMenuSate.showContestInfo == FALSE)
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE;
+ }
+ else if (sMoveRelearnerMenuSate.showContestInfo == TRUE)
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE;
+ }
+ sMoveRelearnerStruct->state = MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT;
+ }
+ }
+ break;
+ case MENU_STATE_CHOOSE_SETUP_STATE:
+ if (!MoveRelearnerRunTextPrinters())
+ {
+ FillWindowPixelBuffer(3, 0x11);
+ if (sMoveRelearnerMenuSate.showContestInfo == FALSE)
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE;
+ }
+ else if (sMoveRelearnerMenuSate.showContestInfo == TRUE)
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE;
+ }
+ }
+ break;
+ case MENU_STATE_PRINT_WHICH_MOVE_PROMPT:
+ if (!MoveRelearnerRunTextPrinters())
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_SHOW_MOVE_SUMMARY_SCREEN;
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ }
+ break;
+ case MENU_STATE_SHOW_MOVE_SUMMARY_SCREEN:
+ if (!gPaletteFade.active)
+ {
+ ShowSelectMovePokemonSummaryScreen(gPlayerParty, sMoveRelearnerStruct->partyMon, gPlayerPartyCount - 1, CB2_InitLearnMoveReturnFromSelectMove, GetCurrentSelectedMove());
+ FreeMoveRelearnerResources();
+ }
+ break;
+ case 21:
+ if (!MoveRelearnerRunTextPrinters())
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_FADE_AND_RETURN;
+ }
+ break;
+ case 22:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ break;
+ case MENU_STATE_FADE_AND_RETURN:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ sMoveRelearnerStruct->state++;
+ break;
+ case MENU_STATE_RETURN_TO_FIELD:
+ if (!gPaletteFade.active)
+ {
+ FreeMoveRelearnerResources();
+ SetMainCallback2(CB2_ReturnToField);
+ }
+ break;
+ case MENU_STATE_FADE_FROM_SUMMARY_SCREEN:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ sMoveRelearnerStruct->state++;
+ if (sMoveRelearnerMenuSate.showContestInfo == FALSE)
+ {
+ HideHeartSpritesAndShowTeachMoveText(TRUE);
+ }
+ else if (sMoveRelearnerMenuSate.showContestInfo == TRUE)
+ {
+ ShowTeachMoveText(TRUE);
+ }
+ RemoveScrollArrows();
+ CopyWindowToVram(3, 2);
+ break;
+ case MENU_STATE_TRY_OVERWRITE_MOVE:
+ if (!gPaletteFade.active)
+ {
+ if (sMoveRelearnerStruct->moveSlot == MAX_MON_MOVES)
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_PRINT_STOP_TEACHING;
+ }
+ else
+ {
+ u16 moveId = GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_MOVE1 + sMoveRelearnerStruct->moveSlot);
+
+ StringCopy(gStringVar3, gMoveNames[moveId]);
+ RemoveMonPPBonus(&gPlayerParty[sMoveRelearnerStruct->partyMon], sMoveRelearnerStruct->moveSlot);
+ SetMonMoveSlot(&gPlayerParty[sMoveRelearnerStruct->partyMon], GetCurrentSelectedMove(), sMoveRelearnerStruct->moveSlot);
+ StringCopy(gStringVar2, gMoveNames[GetCurrentSelectedMove()]);
+ FormatAndPrintText(gText_MoveRelearnerAndPoof);
+ sMoveRelearnerStruct->state = MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE;
+ gSpecialVar_0x8004 = TRUE;
+ }
+ }
+ break;
+ case MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE:
+ if (!MoveRelearnerRunTextPrinters())
+ {
+ FormatAndPrintText(gText_MoveRelearnerPkmnForgotMoveAndLearnedNew);
+ sMoveRelearnerStruct->state = MENU_STATE_PRINT_TEXT_THEN_FANFARE;
+ PlayFanfare(MUS_FANFA1);
+ }
+ break;
+ case MENU_STATE_PRINT_TEXT_THEN_FANFARE:
+ if (!MoveRelearnerRunTextPrinters())
+ {
+ PlayFanfare(MUS_FANFA1);
+ sMoveRelearnerStruct->state = MENU_STATE_WAIT_FOR_FANFARE;
+ }
+ break;
+ case MENU_STATE_WAIT_FOR_FANFARE:
+ if (IsFanfareTaskInactive())
+ {
+ sMoveRelearnerStruct->state = MENU_STATE_WAIT_FOR_A_BUTTON;
+ }
+ break;
+ case MENU_STATE_WAIT_FOR_A_BUTTON:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sMoveRelearnerStruct->state = MENU_STATE_FADE_AND_RETURN;
+ }
+ break;
+ }
+}
+
+static void FreeMoveRelearnerResources(void)
+{
+ RemoveScrollArrows();
+ DestroyListMenuTask(sMoveRelearnerStruct->moveListMenuTask, &sMoveRelearnerMenuSate.listOffset, &sMoveRelearnerMenuSate.listRow);
+ FreeAllWindowBuffers();
+ FREE_AND_SET_NULL(sMoveRelearnerStruct);
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+}
+
+// Note: The hearts are already made invisible by MoveRelearnerShowHideHearts,
+// which is called whenever the cursor in either list changes.
+static void HideHeartSpritesAndShowTeachMoveText(bool8 onlyHideSprites)
+{
+ s32 i;
+
+ for (i = 0; i < 16; i++)
+ {
+ gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = TRUE;
+ }
+
+ if (!onlyHideSprites)
+ {
+ StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn);
+ FillWindowPixelBuffer(3, 0x11);
+ AddTextPrinterParameterized(3, 1, gStringVar4, 0, 1, 0, NULL);
+ }
+}
+
+static void HandleInput(bool8 showContest)
+{
+ s32 itemId = ListMenu_ProcessInput(sMoveRelearnerStruct->moveListMenuTask);
+ ListMenuGetScrollAndRow(sMoveRelearnerStruct->moveListMenuTask, &sMoveRelearnerMenuSate.listOffset, &sMoveRelearnerMenuSate.listRow);
+
+ switch (itemId)
+ {
+ case LIST_NOTHING_CHOSEN:
+ if (!(gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) && !GetLRKeysState())
+ {
+ break;
+ }
+
+ PlaySE(SE_SELECT);
+
+ if (showContest == FALSE)
+ {
+ PutWindowTilemap(1);
+ sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE;
+ sMoveRelearnerMenuSate.showContestInfo = TRUE;
+ }
+ else
+ {
+ PutWindowTilemap(0);
+ sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE;
+ sMoveRelearnerMenuSate.showContestInfo = FALSE;
+ }
+
+ schedule_bg_copy_tilemap_to_vram(1);
+ MoveRelearnerShowHideHearts(GetCurrentSelectedMove());
+ break;
+ case LIST_CANCEL:
+ PlaySE(SE_SELECT);
+ RemoveScrollArrows();
+ sMoveRelearnerStruct->state = MENU_STATE_PRINT_GIVE_UP_PROMPT;
+ StringExpandPlaceholders(gStringVar4, gText_MoveRelearnerGiveUp);
+ MoveRelearnerPrintText(gStringVar4);
+ break;
+ default:
+ PlaySE(SE_SELECT);
+ RemoveScrollArrows();
+ sMoveRelearnerStruct->state = MENU_STATE_PRINT_TEACH_MOVE_PROMPT;
+ StringCopy(gStringVar2, gMoveNames[itemId]);
+ StringExpandPlaceholders(gStringVar4, gText_MoveRelearnerTeachMoveConfirm);
+ MoveRelearnerPrintText(gStringVar4);
+ break;
+ }
+}
+
+static s32 GetCurrentSelectedMove(void)
+{
+ return sMoveRelearnerStruct->menuItems[sMoveRelearnerMenuSate.listRow + sMoveRelearnerMenuSate.listOffset].id;
+}
+
+// Theory: This used to make the heart sprites visible again (i.e.
+// this was the inverse of HideHeartsAndShowTeachMoveText), but the
+// code was commented out. The bool argument would have been named
+// "justShowHearts." The code for showing/hiding the heards was moved
+// to MoveRelearnerShowHideHearts, which is called whenever a new move is
+// selected and whenever the display mode changes.
+static void ShowTeachMoveText(bool8 shouldDoNothingInstead)
+{
+ if (shouldDoNothingInstead == FALSE)
+ {
+ StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn);
+ FillWindowPixelBuffer(3, 0x11);
+ AddTextPrinterParameterized(3, 1, gStringVar4, 0, 1, 0, NULL);
+ }
+}
+
+static void CreateUISprites(void)
+{
+ int i;
+
+ sMoveRelearnerStruct->moveDisplayArrowTask = 0xFF;
+ sMoveRelearnerStruct->moveListScrollArrowTask = 0xFF;
+ AddScrollArrows();
+
+ // These are the appeal hearts.
+ for (i = 0; i < 8; i++)
+ {
+ sMoveRelearnerStruct->heartSpriteIds[i] = CreateSprite(&sConstestMoveHeartSprite, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 36, 0);
+ }
+
+ // These are the jam harts.
+ // The animation is used to toggle between full/empty heart sprites.
+ for (i = 0; i < 8; i++)
+ {
+ sMoveRelearnerStruct->heartSpriteIds[i + 8] = CreateSprite(&sConstestMoveHeartSprite, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 52, 0);
+ StartSpriteAnim(&gSprites[sMoveRelearnerStruct->heartSpriteIds[i + 8]], 2);
+ }
+
+ for (i = 0; i < 16; i++)
+ {
+ gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = TRUE;
+ }
+}
+
+static void AddScrollArrows(void)
+{
+ if (sMoveRelearnerStruct->moveDisplayArrowTask == 0xFF)
+ {
+ sMoveRelearnerStruct->moveDisplayArrowTask = AddScrollIndicatorArrowPair(&sDisplayModeArrowsTemplate, &sMoveRelearnerStruct->scrollOffset);
+ }
+
+ if (sMoveRelearnerStruct->moveListScrollArrowTask == 0xFF)
+ {
+ gTempScrollArrowTemplate = sMoveListScrollArrowsTemplate;
+ gTempScrollArrowTemplate.fullyDownThreshold = sMoveRelearnerStruct->numMenuChoices - sMoveRelearnerStruct->numToShowAtOnce;
+ sMoveRelearnerStruct->moveListScrollArrowTask = AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, &sMoveRelearnerMenuSate.listOffset);
+ }
+}
+
+static void RemoveScrollArrows(void)
+{
+ if (sMoveRelearnerStruct->moveDisplayArrowTask != 0xFF)
+ {
+ RemoveScrollIndicatorArrowPair(sMoveRelearnerStruct->moveDisplayArrowTask);
+ sMoveRelearnerStruct->moveDisplayArrowTask = 0xFF;
+ }
+
+ if (sMoveRelearnerStruct->moveListScrollArrowTask != 0xFF)
+ {
+ RemoveScrollIndicatorArrowPair(sMoveRelearnerStruct->moveListScrollArrowTask);
+ sMoveRelearnerStruct->moveListScrollArrowTask = 0xFF;
+ }
+}
+
+static void CreateLearnableMovesList(void)
+{
+ s32 i;
+ u8 nickname[POKEMON_NAME_LENGTH + 1];
+
+ sMoveRelearnerStruct->numMenuChoices = GetMoveRelearnerMoves(&gPlayerParty[sMoveRelearnerStruct->partyMon], sMoveRelearnerStruct->movesToLearn);
+
+ for (i = 0; i < sMoveRelearnerStruct->numMenuChoices; i++)
+ {
+ sMoveRelearnerStruct->menuItems[i].name = gMoveNames[sMoveRelearnerStruct->movesToLearn[i]];
+ sMoveRelearnerStruct->menuItems[i].id = sMoveRelearnerStruct->movesToLearn[i];
+ }
+
+ GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_NICKNAME, nickname);
+ StringCopy10(gStringVar1, nickname);
+ sMoveRelearnerStruct->menuItems[sMoveRelearnerStruct->numMenuChoices].name = gText_Cancel;
+ sMoveRelearnerStruct->menuItems[sMoveRelearnerStruct->numMenuChoices].id = LIST_CANCEL;
+ sMoveRelearnerStruct->numMenuChoices++;
+ sMoveRelearnerStruct->numToShowAtOnce = LoadMoveRelearnerMovesList(sMoveRelearnerStruct->menuItems, sMoveRelearnerStruct->numMenuChoices);
+}
+
+void MoveRelearnerShowHideHearts(s32 moveId)
+{
+ u16 numHearts;
+ u16 i;
+
+ if (!sMoveRelearnerMenuSate.showContestInfo || moveId == LIST_CANCEL)
+ {
+ for (i = 0; i < 16; i++)
+ {
+ gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = TRUE;
+ }
+ }
+ else
+ {
+ numHearts = (u8)(gContestEffects[gContestMoves[moveId].effect].appeal / 10);
+
+ if (numHearts == 0xFF)
+ {
+ numHearts = 0;
+ }
+
+ for (i = 0; i < 8; i++)
+ {
+ if (i < numHearts)
+ {
+ StartSpriteAnim(&gSprites[sMoveRelearnerStruct->heartSpriteIds[i]], 1);
+ }
+ else
+ {
+ StartSpriteAnim(&gSprites[sMoveRelearnerStruct->heartSpriteIds[i]], 0);
+ }
+ gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = FALSE;
+ }
+
+ numHearts = (u8)(gContestEffects[gContestMoves[moveId].effect].jam / 10);
+
+ if (numHearts == 0xFF)
+ {
+ numHearts = 0;
+ }
+
+ for (i = 0; i < 8; i++)
+ {
+ if (i < numHearts)
+ {
+ StartSpriteAnim(&gSprites[sMoveRelearnerStruct->heartSpriteIds[i + 8]], 3);
+ }
+ else
+ {
+ StartSpriteAnim(&gSprites[sMoveRelearnerStruct->heartSpriteIds[i + 8]], 2);
+ }
+ gSprites[sMoveRelearnerStruct->heartSpriteIds[i + 8]].invisible = FALSE;
+ }
+ }
+}
diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c
index ad4a2e692..850b22d5b 100644
--- a/src/mystery_event_menu.c
+++ b/src/mystery_event_menu.c
@@ -94,7 +94,7 @@ void CB2_InitMysteryEventMenu(void)
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14);
LoadUserWindowBorderGfx(0, 1u, 0xD0u);
- sub_81978B0(0xE0);
+ Menu_LoadStdPalAt(0xE0);
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
CreateTask(Task_DestroySelf, 0);
diff --git a/src/mystery_gift.c b/src/mystery_gift.c
new file mode 100644
index 000000000..ab3df9020
--- /dev/null
+++ b/src/mystery_gift.c
@@ -0,0 +1,1703 @@
+#include "global.h"
+#include "main.h"
+#include "text.h"
+#include "task.h"
+#include "alloc.h"
+#include "gpu_regs.h"
+#include "scanline_effect.h"
+#include "text_window.h"
+#include "bg.h"
+#include "window.h"
+#include "strings.h"
+#include "text_window.h"
+#include "menu.h"
+#include "palette.h"
+#include "constants/songs.h"
+#include "sound.h"
+#include "mystery_gift.h"
+#include "union_room.h"
+#include "title_screen.h"
+#include "ereader_screen.h"
+#include "international_string_util.h"
+#include "list_menu.h"
+#include "string_util.h"
+#include "mevent.h"
+#include "mevent_801BAAC.h"
+#include "save.h"
+#include "link.h"
+#include "mevent_client.h"
+#include "event_data.h"
+#include "link_rfu.h"
+#include "mevent_news.h"
+#include "mevent_server.h"
+
+void bgid_upload_textbox_1(u8 bgId);
+void task_add_00_mystery_gift(void);
+void task00_mystery_gift(u8 taskId);
+
+EWRAM_DATA u8 sDownArrowCounterAndYCoordIdx[8] = {};
+EWRAM_DATA bool8 gGiftIsFromEReader = FALSE;
+
+static const u16 gUnkTextboxBorderPal[] = INCBIN_U16("graphics/interface/unk_textbox_border.gbapal");
+static const u32 gUnkTextboxBorderGfx[] = INCBIN_U32("graphics/interface/unk_textbox_border.4bpp.lz");
+
+struct MysteryGiftTaskData
+{
+ u16 curPromptWindowId;
+ u16 unk2;
+ u16 unk4;
+ u16 unk6;
+ u8 state;
+ u8 textState;
+ u8 unkA;
+ u8 unkB;
+ u8 IsCardOrNews;
+ u8 source;
+ u8 prevPromptWindowId;
+ u8 * buffer;
+};
+
+static const struct BgTemplate sBGTemplates[] = {
+ {
+ .bg = 0,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 15,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0x000
+ }, {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 14,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0x000
+ }, {
+ .bg = 2,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 13,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0x000
+ }, {
+ .bg = 3,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 12,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0x000
+ }
+};
+
+static const struct WindowTemplate sMainWindows[] = {
+ {
+ .bg = 0x00,
+ .tilemapLeft = 0x00,
+ .tilemapTop = 0x00,
+ .width = 0x1e,
+ .height = 0x02,
+ .paletteNum = 0x0c,
+ .baseBlock = 0x0013
+ }, {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x0f,
+ .width = 0x1c,
+ .height = 0x04,
+ .paletteNum = 0x0c,
+ .baseBlock = 0x004f
+ }, {
+ .bg = 0x00,
+ .tilemapLeft = 0x00,
+ .tilemapTop = 0x0f,
+ .width = 0x1e,
+ .height = 0x05,
+ .paletteNum = 0x0d,
+ .baseBlock = 0x004f
+ }, {
+ 0xFF
+ }
+};
+
+static const struct WindowTemplate sWindowTemplate_PromptYesOrNo_Width28 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x0f,
+ .width = 0x1c,
+ .height = 0x04,
+ .paletteNum = 0x0c,
+ .baseBlock = 0x00e5
+};
+
+static const struct WindowTemplate sWindowTemplate_PromptYesOrNo_Width20 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x0f,
+ .width = 0x14,
+ .height = 0x04,
+ .paletteNum = 0x0c,
+ .baseBlock = 0x00e5
+};
+
+static const struct WindowTemplate sMysteryGiftMenuWindowTemplate = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x0f,
+ .width = 0x13,
+ .height = 0x04,
+ .paletteNum = 0x0c,
+ .baseBlock = 0x00e5
+};
+
+static const struct WindowTemplate sWindowTemplate_ThreeOptions = {
+ .bg = 0x00,
+ .tilemapLeft = 0x08,
+ .tilemapTop = 0x06,
+ .width = 0x0e,
+ .height = 0x06,
+ .paletteNum = 0x0c,
+ .baseBlock = 0x0155
+};
+
+static const struct WindowTemplate sWindowTemplate_YesNoBox = {
+ .bg = 0x00,
+ .tilemapLeft = 0x17,
+ .tilemapTop = 0x0f,
+ .width = 0x06,
+ .height = 0x04,
+ .paletteNum = 0x0c,
+ .baseBlock = 0x0155
+};
+
+static const struct WindowTemplate sWindowTemplate_7by8 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x16,
+ .tilemapTop = 0x0b,
+ .width = 0x07,
+ .height = 0x08,
+ .paletteNum = 0x0c,
+ .baseBlock = 0x0155
+};
+
+static const struct WindowTemplate sWindowTemplate_7by6 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x16,
+ .tilemapTop = 0x0d,
+ .width = 0x07,
+ .height = 0x06,
+ .paletteNum = 0x0c,
+ .baseBlock = 0x0155
+};
+
+static const struct WindowTemplate sWindowTemplate_7by4 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x16,
+ .tilemapTop = 0x0f,
+ .width = 0x07,
+ .height = 0x04,
+ .paletteNum = 0x0c,
+ .baseBlock = 0x0155
+};
+
+static const struct ListMenuItem sListMenuItems_CardsOrNews[] = {
+ { gText_WonderCards, 0 },
+ { gText_WonderNews, 1 },
+ { gText_Exit3, -2 }
+};
+
+static const struct ListMenuItem sListMenuItems_WirelessOrFriend[] = {
+ { gText_WirelessCommunication, 0 },
+ { gText_Friend2, 1 },
+ { gText_Cancel2, -2 }
+};
+
+static const struct ListMenuTemplate sListMenuTemplate_ThreeOptions = {
+ .items = NULL,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = NULL,
+ .totalItems = 3,
+ .maxShowed = 3,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+static const struct ListMenuItem sListMenuItems_ReceiveSendToss[] = {
+ { gText_Receive, 0 },
+ { gText_Send, 1 },
+ { gText_Toss, 2 },
+ { gText_Cancel2, -2 }
+};
+
+static const struct ListMenuItem sListMenuItems_ReceiveToss[] = {
+ { gText_Receive, 0 },
+ { gText_Toss, 2 },
+ { gText_Cancel2, -2 }
+};
+
+static const struct ListMenuItem sListMenuItems_ReceiveSend[] = {
+ { gText_Receive, 0 },
+ { gText_Send, 1 },
+ { gText_Cancel2, -2 }
+};
+
+static const struct ListMenuItem sListMenuItems_Receive[] = {
+ { gText_Receive, 0 },
+ { gText_Cancel2, -2 }
+};
+
+static const struct ListMenuTemplate sListMenu_ReceiveSendToss = {
+ .items = sListMenuItems_ReceiveSendToss,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = NULL,
+ .totalItems = 4,
+ .maxShowed = 4,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+static const struct ListMenuTemplate sListMenu_ReceiveToss = {
+ .items = sListMenuItems_ReceiveToss,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = NULL,
+ .totalItems = 3,
+ .maxShowed = 3,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+static const struct ListMenuTemplate sListMenu_ReceiveSend = {
+ .items = sListMenuItems_ReceiveSend,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = NULL,
+ .totalItems = 3,
+ .maxShowed = 3,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+static const struct ListMenuTemplate sListMenu_Receive = {
+ .items = sListMenuItems_Receive,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = NULL,
+ .totalItems = 2,
+ .maxShowed = 2,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+static const u8 *const Unref_082F0710[] = {
+ gText_VarietyOfEventsImportedWireless,
+ gText_WonderCardsInPossession,
+ gText_ReadNewsThatArrived,
+ gText_ReturnToTitle
+};
+
+ALIGNED(2) const u8 sMG_Ereader_TextColor_1[] = { 0, 1, 2 };
+ALIGNED(2) const u8 sMG_Ereader_TextColor_1_Copy[] = { 0, 1, 2 };
+ALIGNED(2) const u8 sMG_Ereader_TextColor_2[] = { 1, 2, 3 };
+
+void vblankcb_mystery_gift_e_reader_run(void)
+{
+ ProcessSpriteCopyRequests();
+ LoadOam();
+ TransferPlttBuffer();
+}
+
+void c2_mystery_gift_e_reader_run(void)
+{
+ RunTasks();
+ RunTextPrinters();
+ AnimateSprites();
+ BuildOamBuffer();
+}
+
+bool32 HandleMysteryGiftOrEReaderSetup(s32 mg_or_ereader)
+{
+ switch (gMain.state)
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ ResetPaletteFade();
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ ResetTasks();
+ ScanlineEffect_Stop();
+ ResetBgsAndClearDma3BusyFlags(0);
+
+ InitBgsFromTemplates(0, sBGTemplates, ARRAY_COUNT(sBGTemplates));
+ ChangeBgX(0, 0, 0);
+ ChangeBgY(0, 0, 0);
+ ChangeBgX(1, 0, 0);
+ ChangeBgY(1, 0, 0);
+ ChangeBgX(2, 0, 0);
+ ChangeBgY(2, 0, 0);
+ ChangeBgX(3, 0, 0);
+ ChangeBgY(3, 0, 0);
+
+ SetBgTilemapBuffer(3, Alloc(0x800));
+ SetBgTilemapBuffer(2, Alloc(0x800));
+ SetBgTilemapBuffer(1, Alloc(0x800));
+ SetBgTilemapBuffer(0, Alloc(0x800));
+
+ bgid_upload_textbox_1(3);
+ InitWindows(sMainWindows);
+ DeactivateAllTextPrinters();
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+ gMain.state++;
+ break;
+ case 1:
+ LoadPalette(gUnkTextboxBorderPal, 0, 0x20);
+ LoadPalette(stdpal_get(2), 0xd0, 0x20);
+ Menu_LoadStdPalAt(0xC0);
+ LoadUserWindowBorderGfx(0, 0xA, 0xE0);
+ LoadUserWindowBorderGfx_(0, 0x1, 0xF0);
+ FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 0x11);
+ FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11);
+ FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 0x11);
+ MG_DrawCheckerboardPattern(3);
+ PrintMysteryGiftOrEReaderTopMenu(mg_or_ereader, 0);
+ gMain.state++;
+ break;
+ case 2:
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(0);
+ gMain.state++;
+ break;
+ case 3:
+ ShowBg(0);
+ ShowBg(3);
+ PlayBGM(MUS_RG_OKURIMONO);
+ SetVBlankCallback(vblankcb_mystery_gift_e_reader_run);
+ EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_VCOUNT | INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+void c2_mystery_gift(void)
+{
+ if (HandleMysteryGiftOrEReaderSetup(0))
+ {
+ SetMainCallback2(c2_mystery_gift_e_reader_run);
+ gGiftIsFromEReader = FALSE;
+ task_add_00_mystery_gift();
+ }
+ RunTasks();
+}
+
+void c2_ereader(void)
+{
+ if (HandleMysteryGiftOrEReaderSetup(1))
+ {
+ SetMainCallback2(c2_mystery_gift_e_reader_run);
+ gGiftIsFromEReader = TRUE;
+ task_add_00_ereader();
+ }
+}
+
+void MainCB_FreeAllBuffersAndReturnToInitTitleScreen(void)
+{
+ gGiftIsFromEReader = FALSE;
+ FreeAllWindowBuffers();
+ Free(GetBgTilemapBuffer(0));
+ Free(GetBgTilemapBuffer(1));
+ Free(GetBgTilemapBuffer(2));
+ Free(GetBgTilemapBuffer(3));
+ SetMainCallback2(CB2_InitTitleScreen);
+}
+
+void PrintMysteryGiftOrEReaderTopMenu(bool8 mg_or_ereader, bool32 usePickOkCancel)
+{
+ const u8 * header;
+ const u8 * options;
+ FillWindowPixelBuffer(0, 0);
+ if (mg_or_ereader == 0)
+ {
+ header = gText_MysteryGift;
+ options = !usePickOkCancel ? gText_PickOKExit : gText_PickOKCancel;
+ }
+ else
+ {
+ header = gJPText_MysteryGift;
+ options = gJPText_DecideStop;
+ }
+
+ AddTextPrinterParameterized4(0, 1, 4, 1, 0, 0, sMG_Ereader_TextColor_1, -1, header);
+ AddTextPrinterParameterized4(0, 0, GetStringRightAlignXOffset(0, options, 0xDE), 1, 0, 0, sMG_Ereader_TextColor_1, -1, options);
+ CopyWindowToVram(0, 2);
+ PutWindowTilemap(0);
+}
+
+void MG_DrawTextBorder(u8 windowId)
+{
+ DrawTextBorderOuter(windowId, 0x01, 0xF);
+}
+
+void MG_DrawCheckerboardPattern(u32 bg)
+{
+ s32 i = 0, j;
+
+ FillBgTilemapBufferRect(bg, 0x003, 0, 0, 32, 2, 0x11);
+
+ for (i = 0; i < 18; i++)
+ {
+ for (j = 0; j < 32; j++)
+ {
+ if ((i & 1) != (j & 1))
+ {
+ FillBgTilemapBufferRect(bg, 1, j, i + 2, 1, 1, 0x11);
+ }
+ else
+ {
+ FillBgTilemapBufferRect(bg, 2, j, i + 2, 1, 1, 0x11);
+ }
+ }
+ }
+}
+
+void ClearScreenInBg0(bool32 ignoreTopTwoRows)
+{
+ switch (ignoreTopTwoRows)
+ {
+ case 0:
+ FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0x11);
+ break;
+ case 1:
+ FillBgTilemapBufferRect(0, 0, 0, 2, 32, 30, 0x11);
+ break;
+ }
+ CopyBgTilemapBufferToVram(0);
+}
+
+void AddTextPrinterToWindow1(const u8 *str)
+{
+ StringExpandPlaceholders(gStringVar4, str);
+ FillWindowPixelBuffer(1, 0x11);
+ AddTextPrinterParameterized4(1, 1, 0, 1, 0, 0, sMG_Ereader_TextColor_2, 0, gStringVar4);
+ DrawTextBorderOuter(1, 0x001, 0xF);
+ PutWindowTilemap(1);
+ CopyWindowToVram(1, 3);
+}
+
+static void ClearTextWindow(void)
+{
+ rbox_fill_rectangle(1);
+ ClearWindowTilemap(1);
+ CopyWindowToVram(1, 1);
+}
+
+bool32 MG_PrintTextOnWindow1AndWaitButton(u8 *textState, const u8 *str)
+{
+ switch (*textState)
+ {
+ case 0:
+ AddTextPrinterToWindow1(str);
+ goto inc;
+ case 1:
+ DrawDownArrow(1, 0xD0, 0x14, 1, FALSE, &sDownArrowCounterAndYCoordIdx[0], &sDownArrowCounterAndYCoordIdx[1]);
+ if (({gMain.newKeys & (A_BUTTON | B_BUTTON);}))
+ {
+ inc:
+ (*textState)++;
+ }
+ break;
+ case 2:
+ DrawDownArrow(1, 0xD0, 0x14, 1, TRUE, &sDownArrowCounterAndYCoordIdx[0], &sDownArrowCounterAndYCoordIdx[1]);
+ *textState = 0;
+ ClearTextWindow();
+ return TRUE;
+ case 0xFF:
+ *textState = 2;
+ break;
+ }
+ return FALSE;
+}
+
+static void HideDownArrow(void)
+{
+ DrawDownArrow(1, 0xD0, 0x14, 1, FALSE, &sDownArrowCounterAndYCoordIdx[0], &sDownArrowCounterAndYCoordIdx[1]);
+}
+
+static void ShowDownArrow(void)
+{
+ DrawDownArrow(1, 0xD0, 0x14, 1, TRUE, &sDownArrowCounterAndYCoordIdx[0], &sDownArrowCounterAndYCoordIdx[1]);
+}
+
+bool32 unref_HideDownArrowAndWaitButton(u8 * textState)
+{
+ switch (*textState)
+ {
+ case 0:
+ HideDownArrow();
+ if (({gMain.newKeys & (A_BUTTON | B_BUTTON);}))
+ {
+ (*textState)++;
+ }
+ break;
+ case 1:
+ ShowDownArrow();
+ *textState = 0;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static bool32 PrintStringAndWait2Seconds(u8 * counter, const u8 * str)
+{
+ if (*counter == 0)
+ {
+ AddTextPrinterToWindow1(str);
+ }
+ if (++(*counter) > 120)
+ {
+ *counter = 0;
+ ClearTextWindow();
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+static u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whichMenu)
+{
+ struct ListMenuTemplate listMenuTemplate = sListMenuTemplate_ThreeOptions;
+ struct WindowTemplate windowTemplate = sWindowTemplate_ThreeOptions;
+ s32 width;
+ s32 response;
+
+ if (whichMenu == 0)
+ {
+ listMenuTemplate.items = sListMenuItems_CardsOrNews;
+ }
+ else
+ {
+ listMenuTemplate.items = sListMenuItems_WirelessOrFriend;
+ }
+ width = Intl_GetListMenuWidth(&listMenuTemplate);
+ if (width & 1)
+ {
+ width++;
+ }
+ windowTemplate.width = width;
+ if (width < 30)
+ {
+ windowTemplate.tilemapLeft = (30 - width) / 2;
+ }
+ else
+ {
+ windowTemplate.tilemapLeft = 0;
+ }
+ response = DoMysteryGiftListMenu(&windowTemplate, &listMenuTemplate, 1, 0x00A, 0xE0);
+ if (response != -1)
+ {
+ ClearWindowTilemap(2);
+ CopyWindowToVram(2, 1);
+ }
+ return response;
+}
+
+s8 mevent_message_print_and_prompt_yes_no(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, const u8 * str)
+{
+ struct WindowTemplate windowTemplate;
+ s8 input;
+
+ switch (*textState)
+ {
+ case 0:
+ StringExpandPlaceholders(gStringVar4, str);
+ if (yesNoBoxPlacement == 0)
+ {
+ *windowId = AddWindow(&sWindowTemplate_PromptYesOrNo_Width28);
+ }
+ else
+ {
+ *windowId = AddWindow(&sWindowTemplate_PromptYesOrNo_Width20);
+ }
+ FillWindowPixelBuffer(*windowId, 0x11);
+ AddTextPrinterParameterized4(*windowId, 1, 0, 1, 0, 0, sMG_Ereader_TextColor_2, 0, gStringVar4);
+ DrawTextBorderOuter(*windowId, 0x001, 0x0F);
+ CopyWindowToVram(*windowId, 2);
+ PutWindowTilemap(*windowId);
+ (*textState)++;
+ break;
+ case 1:
+ windowTemplate = sWindowTemplate_YesNoBox;
+ if (yesNoBoxPlacement == 0)
+ {
+ windowTemplate.tilemapTop = 9;
+ }
+ else
+ {
+ windowTemplate.tilemapTop = 15;
+ }
+ CreateYesNoMenu(&windowTemplate, 10, 14, 0);
+ (*textState)++;
+ break;
+ case 2:
+ input = Menu_ProcessInputNoWrapClearOnChoose();
+ if (input == -1 || input == 0 || input == 1)
+ {
+ *textState = 0;
+ rbox_fill_rectangle(*windowId);
+ ClearWindowTilemap(*windowId);
+ CopyWindowToVram(*windowId, 1);
+ RemoveWindow(*windowId);
+ return input;
+ }
+ break;
+ case 0xFF:
+ *textState = 0;
+ rbox_fill_rectangle(*windowId);
+ ClearWindowTilemap(*windowId);
+ CopyWindowToVram(*windowId, 1);
+ RemoveWindow(*windowId);
+ return -1;
+ }
+
+ return -2;
+}
+
+static s32 HandleMysteryGiftListMenu(u8 * textState, u16 * windowId, bool32 cannotToss, bool32 cannotSend)
+{
+ struct WindowTemplate windowTemplate;
+ s32 input;
+
+ switch (*textState)
+ {
+ case 0:
+ if (cannotToss == 0)
+ {
+ StringExpandPlaceholders(gStringVar4, gText_WhatToDoWithCards);
+ }
+ else
+ {
+ StringExpandPlaceholders(gStringVar4, gText_WhatToDoWithNews);
+ }
+ *windowId = AddWindow(&sMysteryGiftMenuWindowTemplate);
+ FillWindowPixelBuffer(*windowId, 0x11);
+ AddTextPrinterParameterized4(*windowId, 1, 0, 1, 0, 0, sMG_Ereader_TextColor_2, 0, gStringVar4);
+ DrawTextBorderOuter(*windowId, 0x001, 0x0F);
+ CopyWindowToVram(*windowId, 2);
+ PutWindowTilemap(*windowId);
+ (*textState)++;
+ break;
+ case 1:
+ windowTemplate = sWindowTemplate_YesNoBox;
+ if (cannotSend)
+ {
+ if (cannotToss == 0)
+ {
+ input = DoMysteryGiftListMenu(&sWindowTemplate_7by6, &sListMenu_ReceiveToss, 1, 0x00A, 0xE0);
+ }
+ else
+ {
+ input = DoMysteryGiftListMenu(&sWindowTemplate_7by4, &sListMenu_Receive, 1, 0x00A, 0xE0);
+ }
+ }
+ else
+ {
+ if (cannotToss == 0)
+ {
+ input = DoMysteryGiftListMenu(&sWindowTemplate_7by8, &sListMenu_ReceiveSendToss, 1, 0x00A, 0xE0);
+ }
+ else
+ {
+ input = DoMysteryGiftListMenu(&sWindowTemplate_7by6, &sListMenu_ReceiveSend, 1, 0x00A, 0xE0);
+ }
+ }
+ if (input != -1)
+ {
+ *textState = 0;
+ rbox_fill_rectangle(*windowId);
+ ClearWindowTilemap(*windowId);
+ CopyWindowToVram(*windowId, 1);
+ RemoveWindow(*windowId);
+ return input;
+ }
+ break;
+ case 0xFF:
+ *textState = 0;
+ rbox_fill_rectangle(*windowId);
+ ClearWindowTilemap(*windowId);
+ CopyWindowToVram(*windowId, 1);
+ RemoveWindow(*windowId);
+ return -2;
+ }
+
+ return -1;
+}
+
+static bool32 ValidateCardOrNews(bool32 cardOrNews)
+{
+ if (cardOrNews == 0)
+ {
+ return ValidateReceivedWonderCard();
+ }
+ else
+ {
+ return ValidateReceivedWonderNews();
+ }
+}
+
+static bool32 HandleLoadWonderCardOrNews(u8 * state, bool32 cardOrNews)
+{
+ s32 v0;
+
+ switch (*state)
+ {
+ case 0:
+ if (cardOrNews == 0)
+ {
+ InitWonderCardResources(GetSavedWonderCard(), sav1_get_mevent_buffer_2());
+ }
+ else
+ {
+ InitWonderNewsResources(GetSavedWonderNews());
+ }
+ (*state)++;
+ break;
+ case 1:
+ if (cardOrNews == 0)
+ {
+ v0 = FadeToWonderCardMenu();
+ check:
+ if (v0 != 0)
+ {
+ goto done;
+ }
+ break;
+ }
+ else
+ {
+ v0 = FadeToWonderNewsMenu();
+ goto check;
+ }
+ done:
+ *state = 0;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static bool32 DestroyNewsOrCard(bool32 cardOrNews)
+{
+ if (cardOrNews == 0)
+ {
+ DestroyWonderCard();
+ }
+ else
+ {
+ DestroyWonderNews();
+ }
+ return TRUE;
+}
+
+static bool32 TearDownCardOrNews_ReturnToTopMenu(bool32 cardOrNews, bool32 arg1)
+{
+ if (cardOrNews == 0)
+ {
+ if (FadeOutFromWonderCard(arg1) != 0)
+ {
+ DestroyWonderCardResources();
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+ }
+ else
+ {
+ if (FadeOutFromWonderNews(arg1) != 0)
+ {
+ DestroyWonderNewsResources();
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+ }
+}
+
+static s32 mevent_message_prompt_discard(u8 * textState, u16 * windowId, bool32 cardOrNews)
+{
+ if (cardOrNews == 0)
+ {
+ return mevent_message_print_and_prompt_yes_no(textState, windowId, TRUE, gText_IfThrowAwayCardEventWontHappen);
+ }
+ else
+ {
+ return mevent_message_print_and_prompt_yes_no(textState, windowId, TRUE, gText_OkayToDiscardNews);
+ }
+}
+
+static bool32 mevent_message_was_thrown_away(u8 * textState, bool32 cardOrNews)
+{
+ if (cardOrNews == 0)
+ {
+ return MG_PrintTextOnWindow1AndWaitButton(textState, gText_WonderCardThrownAway);
+ }
+ else
+ {
+ return MG_PrintTextOnWindow1AndWaitButton(textState, gText_WonderNewsThrownAway);
+ }
+}
+
+static bool32 mevent_save_game(u8 * state)
+{
+ switch (*state)
+ {
+ case 0:
+ AddTextPrinterToWindow1(gText_DataWillBeSaved);
+ (*state)++;
+ break;
+ case 1:
+ TrySavingData(0);
+ (*state)++;
+ break;
+ case 2:
+ AddTextPrinterToWindow1(gText_SaveCompletedPressA);
+ (*state)++;
+ break;
+ case 3:
+ if (({gMain.newKeys & (A_BUTTON | B_BUTTON);}))
+ {
+ (*state)++;
+ }
+ break;
+ case 4:
+ *state = 0;
+ ClearTextWindow();
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static const u8 * mevent_message(u32 * a0, u8 a1, u8 cardOrNews, u32 msgId)
+{
+ const u8 * msg = NULL;
+ *a0 = 0;
+
+ switch (msgId)
+ {
+ case 0:
+ *a0 = 0;
+ msg = gText_NothingSentOver;
+ break;
+ case 1:
+ *a0 = 0;
+ msg = gText_RecordUploadedViaWireless;
+ break;
+ case 2:
+ *a0 = 1;
+ msg = cardOrNews == 0 ? gText_WonderCardReceived : gText_WonderCardReceivedFrom;
+ break;
+ case 3:
+ *a0 = 1;
+ msg = cardOrNews == 0 ? gText_WonderNewsReceived : gText_WonderNewsReceivedFrom;
+ break;
+ case 4:
+ *a0 = 1;
+ msg = gText_NewStampReceived;
+ break;
+ case 5:
+ *a0 = 0;
+ msg = gText_AlreadyHadCard;
+ break;
+ case 6:
+ *a0 = 0;
+ msg = gText_AlreadyHadStamp;
+ break;
+ case 7:
+ *a0 = 0;
+ msg = gText_AlreadyHadNews;
+ break;
+ case 8:
+ *a0 = 0;
+ msg = gText_NoMoreRoomForStamps;
+ break;
+ case 9:
+ *a0 = 0;
+ msg = gText_CommunicationCanceled;
+ break;
+ case 10:
+ *a0 = 0;
+ msg = a1 == 0 ? gText_CantAcceptCardFromTrainer : gText_CantAcceptNewsFromTrainer;
+ break;
+ case 11:
+ *a0 = 0;
+ msg = gText_CommunicationError;
+ break;
+ case 12:
+ *a0 = 1;
+ msg = gText_NewTrainerReceived;
+ break;
+ case 13:
+ *a0 = 1;
+ break;
+ case 14:
+ *a0 = 0;
+ break;
+ }
+
+ return msg;
+}
+
+static bool32 PrintMGSuccessMessage(u8 * state, const u8 * arg1, u16 * arg2)
+{
+ switch (*state)
+ {
+ case 0:
+ if (arg1 != NULL)
+ {
+ AddTextPrinterToWindow1(arg1);
+ }
+ PlayFanfare(MUS_FANFA4);
+ *arg2 = 0;
+ (*state)++;
+ break;
+ case 1:
+ if (++(*arg2) > 0xF0)
+ {
+ (*state)++;
+ }
+ break;
+ case 2:
+ if (IsFanfareTaskInactive())
+ {
+ *state = 0;
+ ClearTextWindow();
+ return TRUE;
+ }
+ break;
+ }
+ return FALSE;
+}
+
+static const u8 * mevent_message_stamp_card_etc_send_status(u32 * a0, u8 unused, u32 msgId)
+{
+ const u8 * result = gText_CommunicationError;
+ *a0 = 0;
+ switch (msgId)
+ {
+ case 0:
+ result = gText_NothingSentOver;
+ break;
+ case 1:
+ result = gText_RecordUploadedViaWireless;
+ break;
+ case 2:
+ result = gText_WonderCardSentTo;
+ *a0 = 1;
+ break;
+ case 3:
+ result = gText_WonderNewsSentTo;
+ *a0 = 1;
+ break;
+ case 4:
+ result = gText_StampSentTo;
+ break;
+ case 5:
+ result = gText_OtherTrainerHasCard;
+ break;
+ case 6:
+ result = gText_OtherTrainerHasStamp;
+ break;
+ case 7:
+ result = gText_OtherTrainerHasNews;
+ break;
+ case 8:
+ result = gText_NoMoreRoomForStamps;
+ break;
+ case 9:
+ result = gText_OtherTrainerCanceled;
+ break;
+ case 10:
+ result = gText_CantSendGiftToTrainer;
+ break;
+ case 11:
+ result = gText_CommunicationError;
+ break;
+ case 12:
+ result = gText_GiftSentTo;
+ break;
+ case 13:
+ result = gText_GiftSentTo;
+ break;
+ case 14:
+ result = gText_CantSendGiftToTrainer;
+ break;
+ }
+ return result;
+}
+
+static bool32 PrintMGSendStatus(u8 * state, u16 * arg1, u8 arg2, u32 msgId)
+{
+ u32 flag;
+ const u8 * str = mevent_message_stamp_card_etc_send_status(&flag, arg2, msgId);
+ if (flag)
+ {
+ return PrintMGSuccessMessage(state, str, arg1);
+ }
+ else
+ {
+ return MG_PrintTextOnWindow1AndWaitButton(state, str);
+ }
+}
+
+void task_add_00_mystery_gift(void)
+{
+ u8 taskId = CreateTask(task00_mystery_gift, 0);
+ struct MysteryGiftTaskData * data = (void *)gTasks[taskId].data;
+ data->state = 0;
+ data->textState = 0;
+ data->unkA = 0;
+ data->unkB = 0;
+ data->IsCardOrNews = 0;
+ data->source = 0;
+ data->curPromptWindowId = 0;
+ data->unk2 = 0;
+ data->unk4 = 0;
+ data->unk6 = 0;
+ data->prevPromptWindowId = 0;
+ data->buffer = AllocZeroed(0x40);
+}
+
+void task00_mystery_gift(u8 taskId)
+{
+ struct MysteryGiftTaskData * data = (void *)gTasks[taskId].data;
+ u32 sp0;
+ const u8 * r1;
+
+ switch (data->state)
+ {
+ case 0:
+ data->state = 1;
+ break;
+ case 1:
+ switch (MysteryGift_HandleThreeOptionMenu(&data->textState, &data->curPromptWindowId, FALSE))
+ {
+ case 0:
+ data->IsCardOrNews = 0;
+ if (ValidateReceivedWonderCard() == TRUE)
+ {
+ data->state = 18;
+ }
+ else
+ {
+ data->state = 2;
+ }
+ break;
+ case 1:
+ data->IsCardOrNews = 1;
+ if (ValidateReceivedWonderNews() == TRUE)
+ {
+ data->state = 18;
+ }
+ else
+ {
+ data->state = 2;
+ }
+ break;
+ case -2u:
+ data->state = 37;
+ break;
+ }
+ break;
+ case 2:
+ {
+ if (data->IsCardOrNews == 0)
+ {
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_DontHaveCardNewOneInput))
+ {
+ data->state = 3;
+ PrintMysteryGiftOrEReaderTopMenu(0, 1);
+ }
+ }
+ else
+ {
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_DontHaveNewsNewOneInput))
+ {
+ data->state = 3;
+ PrintMysteryGiftOrEReaderTopMenu(0, 1);
+ }
+ }
+ break;
+ }
+ case 3:
+ if (data->IsCardOrNews == 0)
+ {
+ AddTextPrinterToWindow1(gText_WhereShouldCardBeAccessed);
+ }
+ else
+ {
+ AddTextPrinterToWindow1(gText_WhereShouldNewsBeAccessed);
+ }
+ data->state = 4;
+ break;
+ case 4:
+ switch (MysteryGift_HandleThreeOptionMenu(&data->textState, &data->curPromptWindowId, TRUE))
+ {
+ case 0:
+ ClearTextWindow();
+ data->state = 5;
+ data->source = 0;
+ break;
+ case 1:
+ ClearTextWindow();
+ data->state = 5;
+ data->source = 1;
+ break;
+ case -2u:
+ ClearTextWindow();
+ if (ValidateCardOrNews(data->IsCardOrNews))
+ {
+ data->state = 18;
+ }
+ else
+ {
+ data->state = 0;
+ PrintMysteryGiftOrEReaderTopMenu(0, 0);
+ }
+ break;
+ }
+ break;
+ case 5:
+ {
+ register u8 eos asm("r1");
+ gStringVar1[0] = (eos = EOS);
+ gStringVar2[0] = eos;
+ gStringVar3[0] = eos;
+ }
+ switch (data->IsCardOrNews)
+ {
+ case 0:
+ if (data->source == 1)
+ {
+ MEvent_CreateTask_CardOrNewsWithFriend(0x15);
+ }
+ else if (data->source == 0)
+ {
+ MEvent_CreateTask_CardOrNewsOverWireless(0x15);
+ }
+ break;
+ case 1:
+ if (data->source == 1)
+ {
+ MEvent_CreateTask_CardOrNewsWithFriend(0x16);
+ }
+ else if (data->source == 0)
+ {
+ MEvent_CreateTask_CardOrNewsOverWireless(0x16);
+ }
+ break;
+ }
+ data->state = 6;
+ break;
+ case 6:
+ if (gReceivedRemoteLinkPlayers != 0)
+ {
+ ClearScreenInBg0(TRUE);
+ data->state = 7;
+ mevent_client_do_init(data->IsCardOrNews);
+ }
+ else if (gSpecialVar_Result == 5)
+ {
+ ClearScreenInBg0(TRUE);
+ data->state = 3;
+ }
+ break;
+ case 7:
+ AddTextPrinterToWindow1(gText_Communicating);
+ data->state = 8;
+ break;
+ case 8:
+ switch (mevent_client_do_exec(&data->curPromptWindowId))
+ {
+ case 6:
+ task_add_05_task_del_08FA224_when_no_RfuFunc();
+ data->prevPromptWindowId = data->curPromptWindowId;
+ data->state = 13;
+ break;
+ case 5:
+ memcpy(data->buffer, mevent_client_get_buffer(), 0x40);
+ mevent_client_inc_flag();
+ break;
+ case 3:
+ data->state = 10;
+ break;
+ case 2:
+ data->state = 9;
+ break;
+ case 4:
+ data->state = 11;
+ StringCopy(gStringVar1, gLinkPlayers[0].name);
+ break;
+ }
+ break;
+ case 9:
+ switch ((u32)mevent_message_print_and_prompt_yes_no(&data->textState, &data->curPromptWindowId, FALSE, mevent_client_get_buffer()))
+ {
+ case 0:
+ mevent_client_set_param(0);
+ mevent_client_inc_flag();
+ data->state = 7;
+ break;
+ case 1:
+ mevent_client_set_param(1);
+ mevent_client_inc_flag();
+ data->state = 7;
+ break;
+ case -1u:
+ mevent_client_set_param(1);
+ mevent_client_inc_flag();
+ data->state = 7;
+ break;
+ }
+ break;
+ case 10:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, mevent_client_get_buffer()))
+ {
+ mevent_client_inc_flag();
+ data->state = 7;
+ }
+ break;
+ case 11:
+ switch ((u32)mevent_message_print_and_prompt_yes_no(&data->textState, &data->curPromptWindowId, FALSE, gText_ThrowAwayWonderCard))
+ {
+ case 0:
+ if (CheckReceivedGiftFromWonderCard() == TRUE)
+ {
+ data->state = 12;
+ }
+ else
+ {
+ mevent_client_set_param(0);
+ mevent_client_inc_flag();
+ data->state = 7;
+ }
+ break;
+ case 1:
+ mevent_client_set_param(1);
+ mevent_client_inc_flag();
+ data->state = 7;
+ break;
+ case -1u:
+ mevent_client_set_param(1);
+ mevent_client_inc_flag();
+ data->state = 7;
+ break;
+ }
+ break;
+ case 12:
+ switch ((u32)mevent_message_print_and_prompt_yes_no(&data->textState, &data->curPromptWindowId, FALSE, gText_HaventReceivedCardsGift))
+ {
+ case 0:
+ mevent_client_set_param(0);
+ mevent_client_inc_flag();
+ data->state = 7;
+ break;
+ case 1:
+ mevent_client_set_param(1);
+ mevent_client_inc_flag();
+ data->state = 7;
+ break;
+ case -1u:
+ mevent_client_set_param(1);
+ mevent_client_inc_flag();
+ data->state = 7;
+ break;
+ }
+ break;
+ case 13:
+ if (gReceivedRemoteLinkPlayers == 0)
+ {
+ DestroyWirelessStatusIndicatorSprite();
+ data->state = 14;
+ }
+ break;
+ case 14:
+ if (PrintStringAndWait2Seconds(&data->textState, gText_CommunicationCompleted))
+ {
+ if (data->source == 1)
+ {
+ StringCopy(gStringVar1, gLinkPlayers[0].name);
+ }
+ data->state = 15;
+ }
+ break;
+ case 15:
+ {
+ register bool32 flag asm("r1");
+ r1 = mevent_message(&sp0, data->IsCardOrNews, data->source, data->prevPromptWindowId);
+ if (r1 == NULL)
+ {
+ r1 = data->buffer;
+ }
+ if (sp0)
+ {
+ flag = PrintMGSuccessMessage(&data->textState, r1, &data->curPromptWindowId);
+ }
+ else
+ {
+ flag = MG_PrintTextOnWindow1AndWaitButton(&data->textState, r1);
+ }
+ if (flag)
+ {
+ if (data->prevPromptWindowId == 3)
+ {
+ if (data->source == 1)
+ {
+ GenerateRandomNews(1);
+ }
+ else
+ {
+ GenerateRandomNews(2);
+ }
+ }
+ if (sp0 == 0)
+ {
+ data->state = 0;
+ PrintMysteryGiftOrEReaderTopMenu(0, 0);
+ }
+ else
+ {
+ data->state = 17;
+ }
+ }
+ break;
+ }
+ case 16:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_CommunicationError))
+ {
+ data->state = 0;
+ PrintMysteryGiftOrEReaderTopMenu(0, 0);
+ }
+ break;
+ case 17:
+ if (mevent_save_game(&data->textState))
+ {
+ data->state = 18;
+ }
+ break;
+ case 18:
+ if (HandleLoadWonderCardOrNews(&data->textState, data->IsCardOrNews))
+ {
+ data->state = 20;
+ }
+ break;
+ case 20:
+ if (data->IsCardOrNews == 0)
+ {
+ if (({gMain.newKeys & A_BUTTON;}))
+ {
+ data->state = 21;
+ }
+ if (({gMain.newKeys & B_BUTTON;}))
+ {
+ data->state = 27;
+ }
+ }
+ else
+ {
+ switch (MENews_GetInput(gMain.newKeys))
+ {
+ case 0:
+ MENews_RemoveScrollIndicatorArrowPair();
+ data->state = 21;
+ break;
+ case 1:
+ data->state = 27;
+ break;
+ }
+ }
+ break;
+ case 21:
+ {
+ u32 result;
+ if (data->IsCardOrNews == 0)
+ {
+ if (WonderCard_Test_Unk_08_6())
+ {
+ result = HandleMysteryGiftListMenu(&data->textState, &data->curPromptWindowId, data->IsCardOrNews, FALSE);
+ }
+ else
+ {
+ result = HandleMysteryGiftListMenu(&data->textState, &data->curPromptWindowId, data->IsCardOrNews, TRUE);
+ }
+ }
+ else
+ {
+ if (WonderNews_Test_Unk_02())
+ {
+ result = HandleMysteryGiftListMenu(&data->textState, &data->curPromptWindowId, data->IsCardOrNews, FALSE);
+ }
+ else
+ {
+ result = HandleMysteryGiftListMenu(&data->textState, &data->curPromptWindowId, data->IsCardOrNews, TRUE);
+ }
+ }
+ switch (result)
+ {
+ case 0:
+ data->state = 28;
+ break;
+ case 1:
+ data->state = 29;
+ break;
+ case 2:
+ data->state = 22;
+ break;
+ case -2u:
+ if (data->IsCardOrNews == 1)
+ {
+ MENews_AddScrollIndicatorArrowPair();
+ }
+ data->state = 20;
+ break;
+ }
+ break;
+ }
+ case 22:
+ switch (mevent_message_prompt_discard(&data->textState, &data->curPromptWindowId, data->IsCardOrNews))
+ {
+ case 0:
+ if (data->IsCardOrNews == 0 && CheckReceivedGiftFromWonderCard() == TRUE)
+ {
+ data->state = 23;
+ }
+ else
+ {
+ data->state = 24;
+ }
+ break;
+ case 1:
+ data->state = 21;
+ break;
+ case -1:
+ data->state = 21;
+ break;
+ }
+ break;
+ case 23:
+ switch ((u32)mevent_message_print_and_prompt_yes_no(&data->textState, &data->curPromptWindowId, TRUE, gText_HaventReceivedGiftOkayToDiscard))
+ {
+ case 0:
+ data->state = 24;
+ break;
+ case 1:
+ data->state = 21;
+ break;
+ case -1u:
+ data->state = 21;
+ break;
+ }
+ break;
+ case 24:
+ if (TearDownCardOrNews_ReturnToTopMenu(data->IsCardOrNews, 1))
+ {
+ DestroyNewsOrCard(data->IsCardOrNews);
+ data->state = 25;
+ }
+ break;
+ case 25:
+ if (mevent_save_game(&data->textState))
+ {
+ data->state = 26;
+ }
+ break;
+ case 26:
+ if (mevent_message_was_thrown_away(&data->textState, data->IsCardOrNews))
+ {
+ data->state = 0;
+ PrintMysteryGiftOrEReaderTopMenu(0, 0);
+ }
+ break;
+ case 27:
+ if (TearDownCardOrNews_ReturnToTopMenu(data->IsCardOrNews, 0))
+ {
+ data->state = 0;
+ }
+ break;
+ case 28:
+ if (TearDownCardOrNews_ReturnToTopMenu(data->IsCardOrNews, 1))
+ {
+ data->state = 3;
+ }
+ break;
+ case 29:
+ if (TearDownCardOrNews_ReturnToTopMenu(data->IsCardOrNews, 1))
+ {
+ switch (data->IsCardOrNews)
+ {
+ case 0:
+ MEvent_CreateTask_Leader(21);
+ break;
+ case 1:
+ MEvent_CreateTask_Leader(22);
+ break;
+ }
+ data->source = 1;
+ data->state = 30;
+ }
+ break;
+ case 30:
+ if (gReceivedRemoteLinkPlayers != 0)
+ {
+ ClearScreenInBg0(1);
+ data->state = 31;
+ }
+ else if (gSpecialVar_Result == 5)
+ {
+ ClearScreenInBg0(1);
+ data->state = 18;
+ }
+ break;
+ case 31:
+ {
+ register u8 eos asm("r1");
+ gStringVar1[0] = (eos = EOS);
+ gStringVar2[0] = eos;
+ gStringVar3[0] = eos;
+ }
+ if (data->IsCardOrNews == 0)
+ {
+ AddTextPrinterToWindow1(gText_SendingWonderCard);
+ mevent_srv_new_wcard();
+ }
+ else
+ {
+ AddTextPrinterToWindow1(gText_SendingWonderNews);
+ mevent_srv_init_wnews();
+ }
+ data->state = 32;
+ break;
+ case 32:
+ if (mevent_srv_common_do_exec(&data->curPromptWindowId) == 3)
+ {
+ data->prevPromptWindowId = data->curPromptWindowId;
+ data->state = 33;
+ }
+ break;
+ case 33:
+ task_add_05_task_del_08FA224_when_no_RfuFunc();
+ StringCopy(gStringVar1, gLinkPlayers[1].name);
+ data->state = 34;
+ break;
+ case 34:
+ if (gReceivedRemoteLinkPlayers == 0)
+ {
+ DestroyWirelessStatusIndicatorSprite();
+ data->state = 35;
+ }
+ break;
+ case 35:
+ if (PrintMGSendStatus(&data->textState, &data->curPromptWindowId, data->source, data->prevPromptWindowId))
+ {
+ if (data->source == 1 && data->prevPromptWindowId == 3)
+ {
+ GenerateRandomNews(3);
+ data->state = 17;
+ }
+ else
+ {
+ data->state = 0;
+ PrintMysteryGiftOrEReaderTopMenu(0, 0);
+ }
+ }
+ break;
+ case 36:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_CommunicationError))
+ {
+ data->state = 0;
+ PrintMysteryGiftOrEReaderTopMenu(0, 0);
+ }
+ break;
+ case 37:
+ CloseLink();
+ Free(data->buffer);
+ DestroyTask(taskId);
+ SetMainCallback2(MainCB_FreeAllBuffersAndReturnToInitTitleScreen);
+ break;
+ }
+}
+
+u16 GetMysteryGiftBaseBlock(void)
+{
+ return 0x1A9;
+}
+
+void bgid_upload_textbox_1(u8 bgId)
+{
+ DecompressAndLoadBgGfxUsingHeap(bgId, gUnkTextboxBorderGfx, 0x100, 0, 0);
+}
diff --git a/src/naming_screen.c b/src/naming_screen.c
index 22bbb84d7..ee68edbd0 100644
--- a/src/naming_screen.c
+++ b/src/naming_screen.c
@@ -21,7 +21,7 @@
#include "trig.h"
#include "field_effect.h"
#include "pokemon_icon.h"
-#include "data2.h"
+#include "data.h"
#include "strings.h"
#include "menu.h"
#include "text_window.h"
@@ -449,7 +449,7 @@ static u8 sub_80E3274(void)
static bool8 MainState_BeginFadeIn(void)
{
sub_80E4CF8(3, gUnknown_08DD4544);
- gNamingScreenData->currentPage = 1;
+ gNamingScreenData->currentPage = PAGE_UPPER;
sub_80E4CF8(2, gUnknown_08DD46E0);
sub_80E4CF8(1, gUnknown_08DD4620);
sub_80E4DE4(gNamingScreenData->windows[1], 0);
@@ -1856,7 +1856,7 @@ static const struct NamingScreenTemplate playerNamingScreenTemplate =
.maxChars = 7,
.iconFunction = 1,
.addGenderIcon = 0,
- .initialPage = 1,
+ .initialPage = PAGE_UPPER,
.unused = 35,
.title = gText_YourName,
};
@@ -1867,7 +1867,7 @@ static const struct NamingScreenTemplate pcBoxNamingTemplate =
.maxChars = 8,
.iconFunction = 2,
.addGenderIcon = 0,
- .initialPage = 1,
+ .initialPage = PAGE_UPPER,
.unused = 19,
.title = gText_BoxName,
};
@@ -1878,7 +1878,7 @@ static const struct NamingScreenTemplate monNamingScreenTemplate =
.maxChars = 10,
.iconFunction = 3,
.addGenderIcon = 1,
- .initialPage = 1,
+ .initialPage = PAGE_UPPER,
.unused = 35,
.title = gText_PkmnsNickname,
};
@@ -1889,7 +1889,7 @@ static const struct NamingScreenTemplate wandaWordsScreenTemplate =
.maxChars = 15,
.iconFunction = 4,
.addGenderIcon = 0,
- .initialPage = 1,
+ .initialPage = PAGE_UPPER,
.unused = 11,
.title = gText_TellHimTheWords,
};
@@ -1906,52 +1906,43 @@ static const struct NamingScreenTemplate *const sNamingScreenTemplates[] =
const struct OamData gOamData_858BFEC =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
- .matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
- .affineParam = 0,
};
const struct OamData gOamData_858BFF4 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
- .matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
- .affineParam = 0,
};
const struct OamData gOamData_858BFFC =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 1,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
.x = 0,
- .matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
- .affineParam = 0,
};
static const struct Subsprite gUnknown_0858C004[] =
@@ -2203,3 +2194,5 @@ static const struct SpritePalette gUnknown_0858C230[] =
{gNamingScreenMenu_Pal + 0x40, 0x0007},
{NULL}
};
+
+
diff --git a/src/new_game.c b/src/new_game.c
index 2e8930f7c..0f2903349 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -41,12 +41,11 @@
#include "secret_base.h"
#include "player_pc.h"
#include "field_specials.h"
+#include "berry_powder.h"
+#include "mevent.h"
+#include "union_room_chat.h"
-
-extern void copy_strings_to_sav1(void);
-extern void sub_801AFD8(void);
extern void ResetPokeJumpResults(void);
-extern void SetBerryPowder(u32* powder, u32 newValue);
extern const u8 EventScript_ResetAllMapFlags[];
@@ -171,7 +170,7 @@ void NewGameInitData(void)
InitEventData();
ClearTVShowData();
ResetGabbyAndTy();
- ResetSecretBases();
+ ClearSecretBases();
ClearBerryTrees();
SetMoney(&gSaveBlock1Ptr->money, 3000);
SetCoins(0);
diff --git a/src/overworld.c b/src/overworld.c
index 0ff8d5b7f..a4fafe7c4 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -889,7 +889,7 @@ static void mli0_load_map(u32 a1)
if (a1 != 1 && isIndoors)
{
UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height);
- sub_80E9238(1);
+ InitSecretBaseAppearance(TRUE);
}
}
@@ -1508,7 +1508,7 @@ void SetUnusedCallback(void *func)
static bool8 map_post_load_hook_exec(void)
{
- if (gFieldCallback2 != NULL)
+ if (gFieldCallback2)
{
if (!gFieldCallback2())
{
@@ -1522,7 +1522,7 @@ static bool8 map_post_load_hook_exec(void)
}
else
{
- if (gFieldCallback != NULL)
+ if (gFieldCallback)
gFieldCallback();
else
mapldr_default();
@@ -1688,7 +1688,7 @@ void CB2_ReturnToFieldContinueScript(void)
void CB2_ReturnToFieldContinueScriptPlayMapMusic(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback = sub_80AF168;
+ gFieldCallback = FieldCallback_ReturnToEventScript2;
CB2_ReturnToField();
}
@@ -1701,7 +1701,7 @@ void sub_80861E8(void)
static void sub_8086204(void)
{
- if ((gMapHeader.flags & 0xF8) == 8 && sub_80E909C() == TRUE)
+ if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE)
ShowMapNamePopup();
sub_80AF3C8();
}
@@ -1947,7 +1947,7 @@ static bool32 load_map_stuff(u8 *state, u32 a2)
(*state)++;
break;
case 11:
- if ((gMapHeader.flags & 0xF8) == 8 && sub_80E909C() == 1)
+ if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE)
ShowMapNamePopup();
(*state)++;
break;
@@ -2287,7 +2287,7 @@ static void SetKeyInterceptCallback(u16 (*func)(u32))
static void CheckRfuKeepAliveTimer(void)
{
if (gWirelessCommType != 0 && ++sRfuKeepAliveTimer > 60)
- sub_8010198();
+ LinkRfu_FatalError();
}
static void ResetAllTradingStates(void)
@@ -2960,7 +2960,7 @@ static void InitLinkPlayerEventObjectPos(struct EventObject *eventObj, s16 x, s1
eventObj->currentCoords.y = y;
eventObj->previousCoords.x = x;
eventObj->previousCoords.y = y;
- sub_8093038(x, y, &eventObj->initialCoords.x, &eventObj->initialCoords.y);
+ SetSpritePosToMapCoords(x, y, &eventObj->initialCoords.x, &eventObj->initialCoords.y);
eventObj->initialCoords.x += 8;
EventObjectUpdateZCoord(eventObj);
}
diff --git a/src/party_menu.c b/src/party_menu.c
index ec35fc068..b1dd8b94a 100755
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -10,7 +10,7 @@
#include "battle_pyramid_bag.h"
#include "bg.h"
#include "contest.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "easy_chat.h"
#include "event_data.h"
@@ -37,18 +37,19 @@
#include "main.h"
#include "menu.h"
#include "menu_helpers.h"
+#include "menu_specialized.h"
#include "metatile_behavior.h"
#include "overworld.h"
#include "palette.h"
#include "party_menu.h"
+#include "player_pc.h"
#include "pokemon.h"
#include "pokemon_icon.h"
#include "pokemon_storage_system.h"
#include "pokemon_summary_screen.h"
-#include "pokenav.h"
#include "region_map.h"
#include "reshow_battle_screen.h"
-#include "rom_8011DC0.h"
+#include "union_room.h"
#include "scanline_effect.h"
#include "script.h"
#include "sound.h"
@@ -1175,10 +1176,10 @@ static const struct OamData gOamData_83765EC =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -1231,10 +1232,10 @@ static const struct OamData sOamData_8615ED8 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -1287,10 +1288,10 @@ static const struct OamData sOamData_8615F20 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -1366,10 +1367,10 @@ static const struct OamData sOamData_8615F90 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(32x8),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -6006,7 +6007,7 @@ static void sub_81B767C(u8 taskId)
s16 *arrayPtr = gUnknown_0203CEC4->data;
arrayPtr[12] = sub_81B3364();
- sub_81D3640(arrayPtr[12], arrayPtr, &arrayPtr[6], 1, 2, 3);
+ DrawLevelUpWindowPg1(arrayPtr[12], arrayPtr, &arrayPtr[6], 1, 2, 3);
CopyWindowToVram(arrayPtr[12], 2);
schedule_bg_copy_tilemap_to_vram(2);
}
@@ -6015,7 +6016,7 @@ static void sub_81B76C8(u8 taskId)
{
s16 *arrayPtr = gUnknown_0203CEC4->data;
- sub_81D3784(arrayPtr[12], &arrayPtr[6], 1, 2, 3);
+ DrawLevelUpWindowPg2(arrayPtr[12], &arrayPtr[6], 1, 2, 3);
CopyWindowToVram(arrayPtr[12], 2);
schedule_bg_copy_tilemap_to_vram(2);
}
@@ -7288,7 +7289,7 @@ static void sub_81B9640(u8 taskId)
void sub_81B968C(void)
{
ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, CB2_ReturnToField);
- gFieldCallback = sub_80AF168;
+ gFieldCallback = FieldCallback_ReturnToEventScript2;
}
void sub_81B96D0(void)
diff --git a/src/player_pc.c b/src/player_pc.c
index 6e78533e7..08f24d379 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -20,7 +20,6 @@
#include "overworld.h"
#include "palette.h"
#include "party_menu.h"
-#include "pokenav.h"
#include "player_pc.h"
#include "script.h"
#include "sound.h"
@@ -29,6 +28,7 @@
#include "strings.h"
#include "task.h"
#include "window.h"
+#include "menu_specialized.h"
// structures
struct Struct203BCC4
@@ -412,9 +412,9 @@ static void PlayerPC_Mailbox(u8 taskId)
}
}
-static void PlayerPC_Decoration(u8 var)
+static void PlayerPC_Decoration(u8 taskId)
{
- sub_8126B2C(var); //DoPlayerPCDecoration(var);
+ DoPlayerRoomDecorationMenu(taskId);
}
static void PlayerPC_TurnOff(u8 taskId)
@@ -645,7 +645,7 @@ static void Mailbox_ProcessInput(u8 taskId)
{
case LIST_NOTHING_CHOSEN:
break;
- case LIST_B_PRESSED:
+ case LIST_CANCEL:
PlaySE(SE_SELECT);
RemoveScrollIndicatorArrowPair(playerPCItemPageInfo.scrollIndicatorId);
Mailbox_ReturnToPlayerPC(taskId);
@@ -1151,7 +1151,7 @@ static void ItemStorage_ProcessInput(u8 taskId)
{
case LIST_NOTHING_CHOSEN:
break;
- case LIST_B_PRESSED:
+ case LIST_CANCEL:
PlaySE(SE_SELECT);
ItemStorage_GoBackToPlayerPCMenu(taskId);
break;
@@ -1226,7 +1226,7 @@ static void sub_816C4FC(u8 taskId)
{
case LIST_NOTHING_CHOSEN:
break;
- case LIST_B_PRESSED:
+ case LIST_CANCEL:
if (gMain.newKeys & A_BUTTON)
{
ItemStorage_DoItemSwap(taskId, FALSE);
diff --git a/src/pokeball.c b/src/pokeball.c
index d4605ccd8..793609ec2 100644
--- a/src/pokeball.c
+++ b/src/pokeball.c
@@ -99,10 +99,10 @@ static const struct OamData sBallOamData =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
diff --git a/src/pokeblock.c b/src/pokeblock.c
index 2682754aa..325c2d5d0 100644
--- a/src/pokeblock.c
+++ b/src/pokeblock.c
@@ -222,10 +222,10 @@ static const struct OamData sOamData_PokeblockCase =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -709,7 +709,7 @@ static void HandlePokeblockListMenuItems(void)
StringCopy(sPokeblockMenu->menuItemsStrings[i], gText_StowCase);
sPokeblockMenu->items[i].name = sPokeblockMenu->menuItemsStrings[i];
- sPokeblockMenu->items[i].id = LIST_B_PRESSED;
+ sPokeblockMenu->items[i].id = LIST_CANCEL;
gMultiuseListMenuTemplate = sPokeblockListMenuTemplate;
gMultiuseListMenuTemplate.fontId = 7;
@@ -751,7 +751,7 @@ static void sub_8135FCC(s32 pkblId)
FillWindowPixelBuffer(7, PIXEL_FILL(0));
- if (pkblId != LIST_B_PRESSED)
+ if (pkblId != LIST_CANCEL)
{
pokeblock = &gSaveBlock1Ptr->pokeblocks[pkblId];
rectTilemapSrc[0] = 0x17;
@@ -959,7 +959,7 @@ static void Task_FreeDataAndExitPokeblockCase(u8 taskId)
if (!gPaletteFade.active)
{
if (sPokeblockMenu->caseId == PBLOCK_CASE_FEEDER || sPokeblockMenu->caseId == PBLOCK_CASE_GIVE)
- gFieldCallback = sub_80AF168;
+ gFieldCallback = FieldCallback_ReturnToEventScript2;
DestroyListMenuTask(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos);
sub_8136418();
@@ -1011,7 +1011,7 @@ static void Task_HandlePokeblockMenuInput(u8 taskId)
{
case LIST_NOTHING_CHOSEN:
break;
- case LIST_B_PRESSED:
+ case LIST_CANCEL:
PlaySE(SE_SELECT);
gSpecialVar_Result = 0xFFFF;
gSpecialVar_ItemId = 0;
@@ -1066,7 +1066,7 @@ static void Task_HandlePokeblocksSwapInput(u8 taskId)
{
case LIST_NOTHING_CHOSEN:
break;
- case LIST_B_PRESSED: // same id as STOW CASE field
+ case LIST_CANCEL: // same id as STOW CASE field
PlaySE(SE_SELECT);
if (gMain.newKeys & A_BUTTON)
HandlePokeblocksSwap(taskId, FALSE);
diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c
index da803f454..972ca4285 100644
--- a/src/pokeblock_feed.c
+++ b/src/pokeblock_feed.c
@@ -1,13 +1,14 @@
#include "global.h"
-#include "battle.h" // to get rid of once gMonSpritesGfxPtr is put elsewhere
+#include "alloc.h"
+#include "battle.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "event_data.h"
#include "gpu_regs.h"
#include "graphics.h"
+#include "item_menu.h"
#include "main.h"
-#include "alloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "m4a.h"
@@ -49,10 +50,8 @@ struct PokeblockFeedStruct
u8 unused;
};
-extern u16 gSpecialVar_ItemId;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const u16 gUnknown_0860F074[];
// this file's functions
@@ -463,10 +462,10 @@ static const struct OamData sThrownPokeblockOamData =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
diff --git a/src/pokedex.c b/src/pokedex.c
index 4bf8dff6d..8b18a0e73 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "battle_main.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "event_data.h"
#include "gpu_regs.h"
@@ -248,10 +248,10 @@ static const struct OamData sOamData_855CFE4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = ST_OAM_SQUARE,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -265,10 +265,10 @@ static const struct OamData sOamData_855CFEC =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = ST_OAM_H_RECTANGLE,
+ .shape = SPRITE_SHAPE(16x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(16x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -282,10 +282,10 @@ static const struct OamData sOamData_855CFF4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = ST_OAM_H_RECTANGLE,
+ .shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -299,10 +299,10 @@ static const struct OamData sOamData_855CFFC =
.objMode = 2,
.mosaic = 0,
.bpp = 0,
- .shape = ST_OAM_SQUARE,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -316,10 +316,10 @@ static const struct OamData sOamData_855D004 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = ST_OAM_H_RECTANGLE,
+ .shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x32),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -333,10 +333,10 @@ static const struct OamData sOamData_855D00C =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = ST_OAM_V_RECTANGLE,
+ .shape = SPRITE_SHAPE(8x16),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c
index eeea3c210..1eb8c0953 100755
--- a/src/pokedex_area_screen.c
+++ b/src/pokedex_area_screen.c
@@ -23,6 +23,19 @@
#include "constants/species.h"
#include "constants/vars.h"
+#define AREA_SCREEN_WIDTH 32
+#define AREA_SCREEN_HEIGHT 20
+
+#define GLOW_TILE_FULL 0xFFFF
+#define GLOW_TILE_LEFT (1 << 0)
+#define GLOW_TILE_RIGHT (1 << 1)
+#define GLOW_TILE_TOP (1 << 2)
+#define GLOW_TILE_BOTTOM (1 << 3)
+#define GLOW_TILE_BOTTOM_RIGHT (1 << 4)
+#define GLOW_TILE_TOP_RIGHT (1 << 5)
+#define GLOW_TILE_BOTTOM_LEFT (1 << 6)
+#define GLOW_TILE_TOP_LEFT (1 << 7)
+
struct PokeDexAreaScreenMapIdentity
{
u8 mapGroup;
@@ -83,14 +96,21 @@ static const u32 sAreaGlow_Gfx[] = INCBIN_U32("graphics/pokedex/area_glow.4bpp.l
static const u16 sSpeciesHiddenFromAreaScreen[] = { SPECIES_WYNAUT };
-static const u16 sMovingRegionMapSections[3] = { MAPSEC_MARINE_CAVE, MAPSEC_UNDERWATER_MARINE_CAVE, MAPSEC_TERRA_CAVE };
+static const u16 sMovingRegionMapSections[3] =
+{
+ MAPSEC_MARINE_CAVE,
+ MAPSEC_UNDERWATER_MARINE_CAVE,
+ MAPSEC_TERRA_CAVE
+};
-static const u16 sFeebasData[][3] = {
+static const u16 sFeebasData[][3] =
+{
{SPECIES_FEEBAS, MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119)},
{NUM_SPECIES}
};
-static const u16 sLandmarkData[][2] = {
+static const u16 sLandmarkData[][2] =
+{
{MAPSEC_SKY_PILLAR, FLAG_LANDMARK_SKY_PILLAR},
{MAPSEC_SEAFLOOR_CAVERN, FLAG_LANDMARK_SEAFLOOR_CAVERN},
{MAPSEC_ALTERING_CAVE_2, FLAG_LANDMARK_ALTERING_CAVE},
@@ -100,26 +120,118 @@ static const u16 sLandmarkData[][2] = {
{MAPSEC_NONE}
};
+// Only some parts of this array are acutally used, because corner flags that overlap
+// with edge flags are cancelled out before lookup. For example, GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_RIGHT
+// will never be read.
+//
+// The rest of the bytes seem to be old data from before the cancellation was implemented.
+// Most of them line up as you would expect ([BOTTOM_RIGHT | RIGHT] has the same value as [RIGHT]).
+//
+// Any unreachable entries are simply listed in order, without the fancy "[FLAGS] = 0xXX" notation.
static const u8 sAreaGlowTilemapMapping[] = {
- 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x11, 0x20, 0x02, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x12, 0x21, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x13, 0x22, 0x02, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x14, 0x01, 0x23, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x15, 0x20, 0x23, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x16, 0x21, 0x23, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x17, 0x22, 0x23, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x18, 0x01, 0x24, 0x03, 0x04, 0x05, 0x06, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x19, 0x20, 0x24, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x1a, 0x21, 0x24, 0x03, 0x04, 0x05, 0x06, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x1b, 0x22, 0x24, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x1c, 0x01, 0x25, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x1d, 0x20, 0x25, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x1e, 0x21, 0x25, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x1f, 0x22, 0x25, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ [0] = 0x00,
+ [GLOW_TILE_LEFT] = 0x01,
+ [GLOW_TILE_RIGHT] = 0x02,
+ [GLOW_TILE_RIGHT | GLOW_TILE_LEFT] = 0x03,
+ [GLOW_TILE_TOP] = 0x04,
+ [GLOW_TILE_TOP | GLOW_TILE_LEFT] = 0x05,
+ [GLOW_TILE_TOP | GLOW_TILE_RIGHT] = 0x06,
+ [GLOW_TILE_TOP | GLOW_TILE_RIGHT | GLOW_TILE_LEFT] = 0x07,
+ [GLOW_TILE_BOTTOM] = 0x08,
+ [GLOW_TILE_BOTTOM | GLOW_TILE_LEFT] = 0x09,
+ [GLOW_TILE_BOTTOM | GLOW_TILE_RIGHT] = 0x0a,
+ [GLOW_TILE_BOTTOM | GLOW_TILE_RIGHT | GLOW_TILE_LEFT] = 0x0b,
+ [GLOW_TILE_BOTTOM | GLOW_TILE_TOP] = 0x0c,
+ [GLOW_TILE_BOTTOM | GLOW_TILE_TOP | GLOW_TILE_LEFT] = 0x0d,
+ [GLOW_TILE_BOTTOM | GLOW_TILE_TOP | GLOW_TILE_RIGHT] = 0x0e,
+ [GLOW_TILE_BOTTOM | GLOW_TILE_TOP | GLOW_TILE_RIGHT | GLOW_TILE_LEFT] = 0x0f,
+ [GLOW_TILE_BOTTOM_RIGHT] = 0x11,
+ [GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_LEFT] = 0x20,
+ 0x02, 0x03,
+ [GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_TOP] = 0x27,
+ [GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_TOP | GLOW_TILE_LEFT] = 0x2d,
+ 0x06, 0x07, 0x08, 0x09, 0x0a,
+ 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ [GLOW_TILE_TOP_RIGHT] = 0x12,
+ [GLOW_TILE_TOP_RIGHT | GLOW_TILE_LEFT] = 0x21,
+ 0x02, 0x03, 0x04, 0x05, 0x06,
+ 0x07,
+ [GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM] = 0x2a,
+ [GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM | GLOW_TILE_LEFT] = 0x2e,
+ 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
+ 0x0f,
+ [GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT] = 0x13,
+ [GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_LEFT] = 0x22,
+ 0x02, 0x03, 0x27, 0x2d, 0x06,
+ 0x07, 0x2a, 0x2e, 0x0a, 0x0b,
+ 0x0c, 0x0d, 0x0e, 0x0f,
+ [GLOW_TILE_BOTTOM_LEFT] = 0x14,
+ 0x01,
+ [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_RIGHT] = 0x23,
+ 0x03,
+ [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP] = 0x26,
+ 0x05,
+ [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP | GLOW_TILE_RIGHT] = 0x2c,
+ 0x07, 0x08, 0x09, 0x0a, 0x0b,
+ 0x0c, 0x0d, 0x0e, 0x0f,
+ [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_BOTTOM_RIGHT] = 0x15,
+ 0x20, 0x23, 0x03,
+ [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_TOP] = 0x28,
+ 0x2d, 0x2c, 0x07, 0x08, 0x09,
+ 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
+ 0x0f,
+ [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_RIGHT] = 0x16,
+ 0x21, 0x23, 0x03, 0x26, 0x05,
+ 0x2c, 0x07, 0x2a, 0x2e, 0x0a,
+ 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT] = 0x17,
+ 0x22, 0x23, 0x03, 0x28, 0x2d,
+ 0x2c, 0x07, 0x2a, 0x2e, 0x0a,
+ 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ [GLOW_TILE_TOP_LEFT] = 0x18,
+ 0x01,
+ [GLOW_TILE_TOP_LEFT | GLOW_TILE_RIGHT] = 0x24,
+ 0x03, 0x04, 0x05, 0x06, 0x07,
+ [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM] = 0x29,
+ 0x09,
+ [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM | GLOW_TILE_RIGHT] = 0x2f,
+ 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_RIGHT] = 0x19,
+ 0x20, 0x24, 0x03, 0x27, 0x2d,
+ 0x06, 0x07, 0x29, 0x09, 0x2f,
+ 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ [GLOW_TILE_TOP_LEFT | GLOW_TILE_TOP_RIGHT] = 0x1a,
+ 0x21, 0x24, 0x03, 0x04, 0x05,
+ 0x06, 0x07,
+ [GLOW_TILE_TOP_LEFT | GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM] = 0x2b,
+ 0x2e, 0x2f, 0x0b, 0x0c, 0x0d,
+ 0x0e, 0x0f,
+ [GLOW_TILE_TOP_LEFT | GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT] = 0x1b,
+ 0x22, 0x24, 0x03, 0x27, 0x2d,
+ 0x06, 0x07, 0x2b, 0x2e, 0x2f,
+ 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT] = 0x1c,
+ 0x01,
+ [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_RIGHT] = 0x25,
+ 0x03, 0x26, 0x05, 0x2c, 0x07,
+ 0x29, 0x09, 0x2f, 0x0b, 0x0c,
+ 0x0d, 0x0e, 0x0f,
+ [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_BOTTOM_RIGHT] = 0x1d,
+ 0x20, 0x25, 0x03, 0x28, 0x2d,
+ 0x2c, 0x07, 0x29, 0x09, 0x2f,
+ 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_RIGHT] = 0x1e,
+ 0x21, 0x25, 0x03, 0x26, 0x05,
+ 0x2c, 0x07, 0x2b, 0x2e, 0x2f,
+ 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT] = 0x1f,
+ 0x22, 0x25, 0x03, 0x28, 0x2d,
+ 0x2c, 0x07, 0x2b, 0x2e, 0x2f,
+ 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
};
-static const struct UnkStruct_1C4D70 sUnknown_085B4018 = {
+static const struct UnkStruct_1C4D70 sUnknown_085B4018 =
+{
.bg = 3,
.unk2 = 0,
.unk10 = 0,
@@ -127,21 +239,26 @@ static const struct UnkStruct_1C4D70 sUnknown_085B4018 = {
};
static const u8 sAreaMarkerTiles[];
-static const struct SpriteSheet sAreaMarkerSpriteSheet = {
+static const struct SpriteSheet sAreaMarkerSpriteSheet =
+{
sAreaMarkerTiles, 0x80, 2
};
static const u16 sAreaMarkerPalette[];
-static const struct SpritePalette sAreaMarkerSpritePalette = {
+static const struct SpritePalette sAreaMarkerSpritePalette =
+{
sAreaMarkerPalette, 2
};
-static const struct OamData sAreaMarkerOamData = {
- .size = 1,
+static const struct OamData sAreaMarkerOamData =
+{
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
.priority = 1
};
-static const struct SpriteTemplate sAreaMarkerSpriteTemplate = {
+static const struct SpriteTemplate sAreaMarkerSpriteTemplate =
+{
2,
2,
&sAreaMarkerOamData,
@@ -154,16 +271,20 @@ static const struct SpriteTemplate sAreaMarkerSpriteTemplate = {
static const u16 sAreaMarkerPalette[] = INCBIN_U16("graphics/pokedex/area_marker.gbapal");
static const u8 sAreaMarkerTiles[] = INCBIN_U8("graphics/pokedex/area_marker.4bpp");
-static const struct SpritePalette sAreaUnknownSpritePalette = {
+static const struct SpritePalette sAreaUnknownSpritePalette =
+{
gPokedexAreaScreenAreaUnknown_Pal, 3
};
-static const struct OamData sAreaUnknownOamData = {
- .size = 2,
+static const struct OamData sAreaUnknownOamData =
+{
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
.priority = 1
};
-static const struct SpriteTemplate sAreaUnknownSpriteTemplate = {
+static const struct SpriteTemplate sAreaUnknownSpriteTemplate =
+{
3,
3,
&sAreaUnknownOamData,
@@ -237,11 +358,11 @@ static void FindMapsWithMon(u16 species)
{
switch (sFeebasData[i][1])
{
- case MAP_GROUP(PETALBURG_CITY):
+ case MAP_GROUP_OVERWORLD_MONS:
SetAreaHasMon(sFeebasData[i][1], sFeebasData[i][2]);
break;
- case MAP_GROUP(METEOR_FALLS_1F_1R):
- case MAP_GROUP(SAFARI_ZONE_NORTHWEST):
+ case MAP_GROUP_SPECIAL_MONS_1:
+ case MAP_GROUP_SPECIAL_MONS_2:
SetSpecialMapHasMon(sFeebasData[i][1], sFeebasData[i][2]);
break;
}
@@ -250,15 +371,15 @@ static void FindMapsWithMon(u16 species)
for (i = 0; gWildMonHeaders[i].mapGroup != 0xFF; i++)
{
- if (MapHasMon(gWildMonHeaders + i, species))
+ if (MapHasMon(&gWildMonHeaders[i], species))
{
switch (gWildMonHeaders[i].mapGroup)
{
- case MAP_GROUP(PETALBURG_CITY):
+ case MAP_GROUP_OVERWORLD_MONS:
SetAreaHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum);
break;
- case MAP_GROUP(METEOR_FALLS_1F_1R):
- case MAP_GROUP(SAFARI_ZONE_NORTHWEST):
+ case MAP_GROUP_SPECIAL_MONS_1:
+ case MAP_GROUP_SPECIAL_MONS_2:
SetSpecialMapHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum);
break;
}
@@ -372,18 +493,18 @@ static void BuildAreaGlowTilemap(void)
u16 i, y, x, j;
u16 val;
- for (i = 0; i < 0x280; i++)
+ for (i = 0; i < ARRAY_COUNT(sPokedexAreaScreen->areaGlowTilemap); i++)
sPokedexAreaScreen->areaGlowTilemap[i] = 0;
for (i = 0; i < sPokedexAreaScreen->numOverworldAreas; i++)
{
j = 0;
- for (y = 0; y < 20; y++)
+ for (y = 0; y < AREA_SCREEN_HEIGHT; y++)
{
- for (x = 0; x < 32; x++)
+ for (x = 0; x < AREA_SCREEN_WIDTH; x++)
{
if (GetRegionMapSectionIdAt(x, y) == sPokedexAreaScreen->overworldAreasWithMons[i].regionMapSectionId)
- sPokedexAreaScreen->areaGlowTilemap[j] = 0xFFFF;
+ sPokedexAreaScreen->areaGlowTilemap[j] = GLOW_TILE_FULL;
j++;
}
@@ -391,51 +512,58 @@ static void BuildAreaGlowTilemap(void)
}
j = 0;
- for (y = 0; y < 20; y++)
+ for (y = 0; y < AREA_SCREEN_HEIGHT; y++)
{
- for (x = 0; x < 32; x++)
+ for (x = 0; x < AREA_SCREEN_WIDTH; x++)
{
- if (sPokedexAreaScreen->areaGlowTilemap[j] == 0xFFFF)
+ if (sPokedexAreaScreen->areaGlowTilemap[j] == GLOW_TILE_FULL)
{
- if (x != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 1] != 0xFFFF)
- sPokedexAreaScreen->areaGlowTilemap[j - 1] |= 0x02;
- if (x != 31 && sPokedexAreaScreen->areaGlowTilemap[j + 1] != 0xFFFF)
- sPokedexAreaScreen->areaGlowTilemap[j + 1] |= 0x01;
- if (y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 32] != 0xFFFF)
- sPokedexAreaScreen->areaGlowTilemap[j - 32] |= 0x08;
- if (y != 19 && sPokedexAreaScreen->areaGlowTilemap[j + 32] != 0xFFFF)
- sPokedexAreaScreen->areaGlowTilemap[j + 32] |= 0x04;
- if (x != 0 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 33] != 0xFFFF)
- sPokedexAreaScreen->areaGlowTilemap[j - 33] |= 0x10;
- if (x != 31 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 31] != 0xFFFF)
- sPokedexAreaScreen->areaGlowTilemap[j - 31] |= 0x40;
- if (x != 0 && y != 19 && sPokedexAreaScreen->areaGlowTilemap[j + 31] != 0xFFFF)
- sPokedexAreaScreen->areaGlowTilemap[j + 31] |= 0x20;
- if (x != 31 && y != 19 && sPokedexAreaScreen->areaGlowTilemap[j + 33] != 0xFFFF)
- sPokedexAreaScreen->areaGlowTilemap[j + 33] |= 0x80;
+ // The "tile != GLOW_TILE_FULL" check is pointless in all of these conditionals,
+ // since there's no harm in OR'ing 0xFFFF with anything else.
+
+ // Edges
+ if (x != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 1] != GLOW_TILE_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j - 1] |= GLOW_TILE_RIGHT;
+ if (x != AREA_SCREEN_WIDTH - 1 && sPokedexAreaScreen->areaGlowTilemap[j + 1] != GLOW_TILE_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j + 1] |= GLOW_TILE_LEFT;
+ if (y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH] != GLOW_TILE_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH] |= GLOW_TILE_BOTTOM;
+ if (y != AREA_SCREEN_HEIGHT - 1 && sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH] != GLOW_TILE_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH] |= GLOW_TILE_TOP;
+
+ // Diagonals
+ if (x != 0 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH - 1] != GLOW_TILE_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH - 1] |= GLOW_TILE_BOTTOM_RIGHT;
+ if (x != AREA_SCREEN_WIDTH - 1 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH + 1] != GLOW_TILE_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH + 1] |= GLOW_TILE_BOTTOM_LEFT;
+ if (x != 0 && y != AREA_SCREEN_HEIGHT - 1 && sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH - 1] != GLOW_TILE_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH - 1] |= GLOW_TILE_TOP_RIGHT;
+ if (x != AREA_SCREEN_WIDTH - 1 && y != AREA_SCREEN_HEIGHT - 1 && sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH + 1] != GLOW_TILE_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH + 1] |= GLOW_TILE_TOP_LEFT;
}
j++;
}
}
- for (i = 0; i < 0x280; i++)
+ for (i = 0; i < ARRAY_COUNT(sPokedexAreaScreen->areaGlowTilemap); i++)
{
- if (sPokedexAreaScreen->areaGlowTilemap[i] == 0xFFFF)
+ if (sPokedexAreaScreen->areaGlowTilemap[i] == GLOW_TILE_FULL)
{
sPokedexAreaScreen->areaGlowTilemap[i] = 0x10;
sPokedexAreaScreen->areaGlowTilemap[i] |= 0xA000;
}
else if (sPokedexAreaScreen->areaGlowTilemap[i])
{
- if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x02)
- sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFFCF;
- if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x01)
- sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFF3F;
- if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x08)
- sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFFAF;
- if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x04)
- sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFF5F;
+ // Get rid of overlapping flags
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_TILE_RIGHT)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_TOP_RIGHT);
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_TILE_LEFT)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_LEFT);
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_TILE_BOTTOM)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_BOTTOM_RIGHT);
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_TILE_TOP)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_TILE_TOP_LEFT | GLOW_TILE_TOP_RIGHT);
sPokedexAreaScreen->areaGlowTilemap[i] = sAreaGlowTilemapMapping[sPokedexAreaScreen->areaGlowTilemap[i]];
sPokedexAreaScreen->areaGlowTilemap[i] |= 0xA000;
diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c
index c385141d5..487db6d58 100755..100644
--- a/src/pokedex_cry_screen.c
+++ b/src/pokedex_cry_screen.c
@@ -54,7 +54,8 @@ const u16 gUnknown_085B8378[] = INCBIN_U16("graphics/pokedex/cry_meter_map.bin")
const u16 gUnknown_085B8418[] = INCBIN_U16("graphics/pokedex/cry_meter.gbapal");
const u8 gUnknown_085B8438[] = INCBIN_U8("graphics/pokedex/cry_meter.4bpp.lz");
-const u16 gUnknown_085B8770[][72] = {
+const u16 gUnknown_085B8770[][72] =
+{
{
0x0000, 0x0004, 0x0008, 0x000C, 0x0010, 0x0014, 0x0018, 0x001C,
0x0400, 0x0404, 0x0408, 0x040C, 0x0410, 0x0414, 0x0418, 0x041C,
@@ -142,7 +143,8 @@ const u16 gUnknown_085B8BF0[] = INCBIN_U16("graphics/pokedex/85B8C10.gbapal");
const u8 gUnknown_085B8C10[] = INCBIN_U8("graphics/pokedex/85B8C10.4bpp");
const u8 gUnknown_085B8C30[] = {0xF0, 0x0F};
-const u8 gUnknown_085B8C32[][16] = {
+const u8 gUnknown_085B8C32[][16] =
+{
{
0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08,
0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
@@ -152,23 +154,33 @@ const u8 gUnknown_085B8C32[][16] = {
}
};
-const union AnimCmd gSpriteAnim_85B8C54[] = {
+const union AnimCmd gSpriteAnim_85B8C54[] =
+{
ANIMCMD_FRAME(0, 30),
ANIMCMD_END
};
-const union AnimCmd *const gSpriteAnimTable_85B8C5C[] = {
+const union AnimCmd *const gSpriteAnimTable_85B8C5C[] =
+{
gSpriteAnim_85B8C54
};
-const struct OamData gOamData_85B8C60 = {
+const struct OamData gOamData_85B8C60 =
+{
.y = 160,
.affineMode = ST_OAM_AFFINE_NORMAL,
- .size = 3,
- .priority = 1
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
};
-const struct SpriteTemplate gUnknown_085B8C68 = {
+const struct SpriteTemplate gUnknown_085B8C68 =
+{
0x2000,
0x2000,
&gOamData_85B8C60,
@@ -178,12 +190,14 @@ const struct SpriteTemplate gUnknown_085B8C68 = {
sub_814596C
};
-const struct SpriteSheet gCryMeterNeedleSpriteSheets[] = {
+const struct SpriteSheet gCryMeterNeedleSpriteSheets[] =
+{
{CryMeterNeedleTiles, 0x800, 0x2000},
{}
};
-const struct SpritePalette gCryMeterNeedleSpritePalettes[] = {
+const struct SpritePalette gCryMeterNeedleSpritePalettes[] =
+{
{CryMeterNeedlePalette, 0x2000},
{}
};
@@ -512,3 +526,4 @@ static void sub_8145B24(s8 a0)
sCryVolumeMeter->unk1 = r2;
sCryVolumeMeter->unk2 = 5;
}
+
diff --git a/src/pokemon.c b/src/pokemon.c
index a984abbb9..9c6afe0b8 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -2,12 +2,14 @@
#include "alloc.h"
#include "apprentice.h"
#include "battle.h"
+#include "battle_anim.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_pike.h"
#include "battle_pyramid.h"
#include "battle_setup.h"
#include "battle_tower.h"
+#include "data.h"
#include "event_data.h"
#include "evolution_scene.h"
#include "field_specials.h"
@@ -50,29 +52,6 @@ struct SpeciesItem
u16 item;
};
-extern const struct SpriteFrameImage gUnknown_082FF3A8[];
-extern const struct SpriteFrameImage gUnknown_082FF3C8[];
-extern const struct SpriteFrameImage gUnknown_082FF3E8[];
-extern const struct SpriteFrameImage gUnknown_082FF408[];
-extern const struct SpriteFrameImage gTrainerBackPicTable_Brendan[];
-extern const struct SpriteFrameImage gTrainerBackPicTable_May[];
-extern const struct SpriteFrameImage gTrainerBackPicTable_Red[];
-extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[];
-extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[];
-extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[];
-extern const struct SpriteFrameImage gTrainerBackPicTable_Wally[];
-extern const struct SpriteFrameImage gTrainerBackPicTable_Steven[];
-extern const union AffineAnimCmd *const gUnknown_082FF618[];
-extern const union AffineAnimCmd *const gUnknown_082FF694[];
-extern const union AnimCmd *gPlayerMonSpriteAnimsTable[];
-extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[];
-extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[];
-extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
-extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
-extern const struct CompressedSpritePalette gMonPaletteTable[];
-extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
-extern const u8 gTrainerClassNames[][13];
-
// this file's functions
static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon);
static union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType);
@@ -1809,419 +1788,63 @@ static const u8 sMonFrontAnimIdsTable[] =
[SPECIES_CHIMECHO - 1] = 0x1d,
};
-static const u8 sMonAnimationDelayTable[] =
+static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] =
{
- [SPECIES_BULBASAUR - 1] = 0x00,
- [SPECIES_IVYSAUR - 1] = 0x00,
- [SPECIES_VENUSAUR - 1] = 0x00,
- [SPECIES_CHARMANDER - 1] = 0x00,
- [SPECIES_CHARMELEON - 1] = 0x00,
- [SPECIES_CHARIZARD - 1] = 0x00,
- [SPECIES_SQUIRTLE - 1] = 0x00,
- [SPECIES_WARTORTLE - 1] = 0x00,
[SPECIES_BLASTOISE - 1] = 0x32,
- [SPECIES_CATERPIE - 1] = 0x00,
- [SPECIES_METAPOD - 1] = 0x00,
- [SPECIES_BUTTERFREE - 1] = 0x00,
[SPECIES_WEEDLE - 1] = 0x0a,
[SPECIES_KAKUNA - 1] = 0x14,
[SPECIES_BEEDRILL - 1] = 0x23,
- [SPECIES_PIDGEY - 1] = 0x00,
[SPECIES_PIDGEOTTO - 1] = 0x19,
- [SPECIES_PIDGEOT - 1] = 0x00,
- [SPECIES_RATTATA - 1] = 0x00,
- [SPECIES_RATICATE - 1] = 0x00,
- [SPECIES_SPEAROW - 1] = 0x00,
[SPECIES_FEAROW - 1] = 0x02,
[SPECIES_EKANS - 1] = 0x1e,
- [SPECIES_ARBOK - 1] = 0x00,
- [SPECIES_PIKACHU - 1] = 0x00,
- [SPECIES_RAICHU - 1] = 0x00,
- [SPECIES_SANDSHREW - 1] = 0x00,
- [SPECIES_SANDSLASH - 1] = 0x00,
[SPECIES_NIDORAN_F - 1] = 0x1c,
- [SPECIES_NIDORINA - 1] = 0x00,
- [SPECIES_NIDOQUEEN - 1] = 0x00,
- [SPECIES_NIDORAN_M - 1] = 0x00,
- [SPECIES_NIDORINO - 1] = 0x00,
[SPECIES_NIDOKING - 1] = 0x19,
- [SPECIES_CLEFAIRY - 1] = 0x00,
- [SPECIES_CLEFABLE - 1] = 0x00,
- [SPECIES_VULPIX - 1] = 0x00,
- [SPECIES_NINETALES - 1] = 0x00,
- [SPECIES_JIGGLYPUFF - 1] = 0x00,
- [SPECIES_WIGGLYTUFF - 1] = 0x00,
- [SPECIES_ZUBAT - 1] = 0x00,
- [SPECIES_GOLBAT - 1] = 0x00,
- [SPECIES_ODDISH - 1] = 0x00,
- [SPECIES_GLOOM - 1] = 0x00,
- [SPECIES_VILEPLUME - 1] = 0x00,
[SPECIES_PARAS - 1] = 0x0a,
[SPECIES_PARASECT - 1] = 0x2d,
[SPECIES_VENONAT - 1] = 0x14,
- [SPECIES_VENOMOTH - 1] = 0x00,
[SPECIES_DIGLETT - 1] = 0x19,
[SPECIES_DUGTRIO - 1] = 0x23,
[SPECIES_MEOWTH - 1] = 0x28,
[SPECIES_PERSIAN - 1] = 0x14,
- [SPECIES_PSYDUCK - 1] = 0x00,
- [SPECIES_GOLDUCK - 1] = 0x00,
[SPECIES_MANKEY - 1] = 0x14,
- [SPECIES_PRIMEAPE - 1] = 0x00,
[SPECIES_GROWLITHE - 1] = 0x1e,
[SPECIES_ARCANINE - 1] = 0x28,
- [SPECIES_POLIWAG - 1] = 0x00,
[SPECIES_POLIWHIRL - 1] = 0x05,
- [SPECIES_POLIWRATH - 1] = 0x00,
- [SPECIES_ABRA - 1] = 0x00,
- [SPECIES_KADABRA - 1] = 0x00,
- [SPECIES_ALAKAZAM - 1] = 0x00,
- [SPECIES_MACHOP - 1] = 0x00,
- [SPECIES_MACHOKE - 1] = 0x00,
- [SPECIES_MACHAMP - 1] = 0x00,
- [SPECIES_BELLSPROUT - 1] = 0x00,
[SPECIES_WEEPINBELL - 1] = 0x03,
- [SPECIES_VICTREEBEL - 1] = 0x00,
- [SPECIES_TENTACOOL - 1] = 0x00,
- [SPECIES_TENTACRUEL - 1] = 0x00,
- [SPECIES_GEODUDE - 1] = 0x00,
- [SPECIES_GRAVELER - 1] = 0x00,
- [SPECIES_GOLEM - 1] = 0x00,
- [SPECIES_PONYTA - 1] = 0x00,
- [SPECIES_RAPIDASH - 1] = 0x00,
- [SPECIES_SLOWPOKE - 1] = 0x00,
- [SPECIES_SLOWBRO - 1] = 0x00,
- [SPECIES_MAGNEMITE - 1] = 0x00,
- [SPECIES_MAGNETON - 1] = 0x00,
- [SPECIES_FARFETCHD - 1] = 0x00,
- [SPECIES_DODUO - 1] = 0x00,
- [SPECIES_DODRIO - 1] = 0x00,
- [SPECIES_SEEL - 1] = 0x00,
- [SPECIES_DEWGONG - 1] = 0x00,
- [SPECIES_GRIMER - 1] = 0x00,
[SPECIES_MUK - 1] = 0x2d,
[SPECIES_SHELLDER - 1] = 0x14,
- [SPECIES_CLOYSTER - 1] = 0x00,
- [SPECIES_GASTLY - 1] = 0x00,
[SPECIES_HAUNTER - 1] = 0x17,
- [SPECIES_GENGAR - 1] = 0x00,
- [SPECIES_ONIX - 1] = 0x00,
[SPECIES_DROWZEE - 1] = 0x30,
[SPECIES_HYPNO - 1] = 0x28,
- [SPECIES_KRABBY - 1] = 0x00,
- [SPECIES_KINGLER - 1] = 0x00,
- [SPECIES_VOLTORB - 1] = 0x00,
- [SPECIES_ELECTRODE - 1] = 0x00,
- [SPECIES_EXEGGCUTE - 1] = 0x00,
- [SPECIES_EXEGGUTOR - 1] = 0x00,
- [SPECIES_CUBONE - 1] = 0x00,
- [SPECIES_MAROWAK - 1] = 0x00,
- [SPECIES_HITMONLEE - 1] = 0x00,
[SPECIES_HITMONCHAN - 1] = 0x19,
- [SPECIES_LICKITUNG - 1] = 0x00,
- [SPECIES_KOFFING - 1] = 0x00,
- [SPECIES_WEEZING - 1] = 0x00,
- [SPECIES_RHYHORN - 1] = 0x00,
- [SPECIES_RHYDON - 1] = 0x00,
- [SPECIES_CHANSEY - 1] = 0x00,
- [SPECIES_TANGELA - 1] = 0x00,
- [SPECIES_KANGASKHAN - 1] = 0x00,
- [SPECIES_HORSEA - 1] = 0x00,
- [SPECIES_SEADRA - 1] = 0x00,
- [SPECIES_GOLDEEN - 1] = 0x00,
- [SPECIES_SEAKING - 1] = 0x00,
- [SPECIES_STARYU - 1] = 0x00,
- [SPECIES_STARMIE - 1] = 0x00,
- [SPECIES_MR_MIME - 1] = 0x00,
[SPECIES_SCYTHER - 1] = 0x0a,
- [SPECIES_JYNX - 1] = 0x00,
- [SPECIES_ELECTABUZZ - 1] = 0x00,
- [SPECIES_MAGMAR - 1] = 0x00,
- [SPECIES_PINSIR - 1] = 0x00,
[SPECIES_TAUROS - 1] = 0x0a,
- [SPECIES_MAGIKARP - 1] = 0x00,
- [SPECIES_GYARADOS - 1] = 0x00,
- [SPECIES_LAPRAS - 1] = 0x00,
- [SPECIES_DITTO - 1] = 0x00,
- [SPECIES_EEVEE - 1] = 0x00,
- [SPECIES_VAPOREON - 1] = 0x00,
- [SPECIES_JOLTEON - 1] = 0x00,
- [SPECIES_FLAREON - 1] = 0x00,
- [SPECIES_PORYGON - 1] = 0x00,
- [SPECIES_OMANYTE - 1] = 0x00,
- [SPECIES_OMASTAR - 1] = 0x00,
- [SPECIES_KABUTO - 1] = 0x00,
- [SPECIES_KABUTOPS - 1] = 0x00,
- [SPECIES_AERODACTYL - 1] = 0x00,
- [SPECIES_SNORLAX - 1] = 0x00,
- [SPECIES_ARTICUNO - 1] = 0x00,
- [SPECIES_ZAPDOS - 1] = 0x00,
- [SPECIES_MOLTRES - 1] = 0x00,
- [SPECIES_DRATINI - 1] = 0x00,
- [SPECIES_DRAGONAIR - 1] = 0x00,
- [SPECIES_DRAGONITE - 1] = 0x00,
- [SPECIES_MEWTWO - 1] = 0x00,
- [SPECIES_MEW - 1] = 0x00,
- [SPECIES_CHIKORITA - 1] = 0x00,
- [SPECIES_BAYLEEF - 1] = 0x00,
- [SPECIES_MEGANIUM - 1] = 0x00,
- [SPECIES_CYNDAQUIL - 1] = 0x00,
- [SPECIES_QUILAVA - 1] = 0x00,
[SPECIES_TYPHLOSION - 1] = 0x14,
- [SPECIES_TOTODILE - 1] = 0x00,
- [SPECIES_CROCONAW - 1] = 0x00,
[SPECIES_FERALIGATR - 1] = 0x05,
- [SPECIES_SENTRET - 1] = 0x00,
- [SPECIES_FURRET - 1] = 0x00,
- [SPECIES_HOOTHOOT - 1] = 0x00,
- [SPECIES_NOCTOWL - 1] = 0x00,
- [SPECIES_LEDYBA - 1] = 0x00,
- [SPECIES_LEDIAN - 1] = 0x00,
- [SPECIES_SPINARAK - 1] = 0x00,
- [SPECIES_ARIADOS - 1] = 0x00,
- [SPECIES_CROBAT - 1] = 0x00,
- [SPECIES_CHINCHOU - 1] = 0x00,
- [SPECIES_LANTURN - 1] = 0x00,
- [SPECIES_PICHU - 1] = 0x00,
- [SPECIES_CLEFFA - 1] = 0x00,
- [SPECIES_IGGLYBUFF - 1] = 0x00,
- [SPECIES_TOGEPI - 1] = 0x00,
- [SPECIES_TOGETIC - 1] = 0x00,
[SPECIES_NATU - 1] = 0x1e,
- [SPECIES_XATU - 1] = 0x00,
[SPECIES_MAREEP - 1] = 0x32,
- [SPECIES_FLAAFFY - 1] = 0x00,
[SPECIES_AMPHAROS - 1] = 0x0a,
- [SPECIES_BELLOSSOM - 1] = 0x00,
- [SPECIES_MARILL - 1] = 0x00,
- [SPECIES_AZUMARILL - 1] = 0x00,
- [SPECIES_SUDOWOODO - 1] = 0x00,
[SPECIES_POLITOED - 1] = 0x28,
- [SPECIES_HOPPIP - 1] = 0x00,
- [SPECIES_SKIPLOOM - 1] = 0x00,
- [SPECIES_JUMPLUFF - 1] = 0x00,
- [SPECIES_AIPOM - 1] = 0x00,
- [SPECIES_SUNKERN - 1] = 0x00,
- [SPECIES_SUNFLORA - 1] = 0x00,
- [SPECIES_YANMA - 1] = 0x00,
- [SPECIES_WOOPER - 1] = 0x00,
- [SPECIES_QUAGSIRE - 1] = 0x00,
- [SPECIES_ESPEON - 1] = 0x00,
- [SPECIES_UMBREON - 1] = 0x00,
- [SPECIES_MURKROW - 1] = 0x00,
- [SPECIES_SLOWKING - 1] = 0x00,
- [SPECIES_MISDREAVUS - 1] = 0x00,
- [SPECIES_UNOWN - 1] = 0x00,
- [SPECIES_WOBBUFFET - 1] = 0x00,
- [SPECIES_GIRAFARIG - 1] = 0x00,
- [SPECIES_PINECO - 1] = 0x00,
- [SPECIES_FORRETRESS - 1] = 0x00,
[SPECIES_DUNSPARCE - 1] = 0x0a,
- [SPECIES_GLIGAR - 1] = 0x00,
[SPECIES_STEELIX - 1] = 0x2d,
- [SPECIES_SNUBBULL - 1] = 0x00,
- [SPECIES_GRANBULL - 1] = 0x00,
[SPECIES_QWILFISH - 1] = 0x27,
[SPECIES_SCIZOR - 1] = 0x13,
- [SPECIES_SHUCKLE - 1] = 0x00,
- [SPECIES_HERACROSS - 1] = 0x00,
- [SPECIES_SNEASEL - 1] = 0x00,
- [SPECIES_TEDDIURSA - 1] = 0x00,
- [SPECIES_URSARING - 1] = 0x00,
- [SPECIES_SLUGMA - 1] = 0x00,
- [SPECIES_MAGCARGO - 1] = 0x00,
- [SPECIES_SWINUB - 1] = 0x00,
- [SPECIES_PILOSWINE - 1] = 0x00,
- [SPECIES_CORSOLA - 1] = 0x00,
- [SPECIES_REMORAID - 1] = 0x00,
[SPECIES_OCTILLERY - 1] = 0x14,
- [SPECIES_DELIBIRD - 1] = 0x00,
- [SPECIES_MANTINE - 1] = 0x00,
- [SPECIES_SKARMORY - 1] = 0x00,
- [SPECIES_HOUNDOUR - 1] = 0x00,
- [SPECIES_HOUNDOOM - 1] = 0x00,
- [SPECIES_KINGDRA - 1] = 0x00,
- [SPECIES_PHANPY - 1] = 0x00,
- [SPECIES_DONPHAN - 1] = 0x00,
- [SPECIES_PORYGON2 - 1] = 0x00,
- [SPECIES_STANTLER - 1] = 0x00,
- [SPECIES_SMEARGLE - 1] = 0x00,
- [SPECIES_TYROGUE - 1] = 0x00,
- [SPECIES_HITMONTOP - 1] = 0x00,
[SPECIES_SMOOCHUM - 1] = 0x28,
- [SPECIES_ELEKID - 1] = 0x00,
- [SPECIES_MAGBY - 1] = 0x00,
- [SPECIES_MILTANK - 1] = 0x00,
- [SPECIES_BLISSEY - 1] = 0x00,
- [SPECIES_RAIKOU - 1] = 0x00,
- [SPECIES_ENTEI - 1] = 0x00,
- [SPECIES_SUICUNE - 1] = 0x00,
- [SPECIES_LARVITAR - 1] = 0x00,
- [SPECIES_PUPITAR - 1] = 0x00,
[SPECIES_TYRANITAR - 1] = 0x0a,
[SPECIES_LUGIA - 1] = 0x14,
- [SPECIES_HO_OH - 1] = 0x00,
- [SPECIES_CELEBI - 1] = 0x00,
- [SPECIES_OLD_UNOWN_B - 1] = 0x00,
- [SPECIES_OLD_UNOWN_C - 1] = 0x00,
- [SPECIES_OLD_UNOWN_D - 1] = 0x00,
- [SPECIES_OLD_UNOWN_E - 1] = 0x00,
- [SPECIES_OLD_UNOWN_F - 1] = 0x00,
- [SPECIES_OLD_UNOWN_G - 1] = 0x00,
- [SPECIES_OLD_UNOWN_H - 1] = 0x00,
- [SPECIES_OLD_UNOWN_I - 1] = 0x00,
- [SPECIES_OLD_UNOWN_J - 1] = 0x00,
- [SPECIES_OLD_UNOWN_K - 1] = 0x00,
- [SPECIES_OLD_UNOWN_L - 1] = 0x00,
- [SPECIES_OLD_UNOWN_M - 1] = 0x00,
- [SPECIES_OLD_UNOWN_N - 1] = 0x00,
- [SPECIES_OLD_UNOWN_O - 1] = 0x00,
- [SPECIES_OLD_UNOWN_P - 1] = 0x00,
- [SPECIES_OLD_UNOWN_Q - 1] = 0x00,
- [SPECIES_OLD_UNOWN_R - 1] = 0x00,
- [SPECIES_OLD_UNOWN_S - 1] = 0x00,
- [SPECIES_OLD_UNOWN_T - 1] = 0x00,
- [SPECIES_OLD_UNOWN_U - 1] = 0x00,
- [SPECIES_OLD_UNOWN_V - 1] = 0x00,
- [SPECIES_OLD_UNOWN_W - 1] = 0x00,
- [SPECIES_OLD_UNOWN_X - 1] = 0x00,
- [SPECIES_OLD_UNOWN_Y - 1] = 0x00,
- [SPECIES_OLD_UNOWN_Z - 1] = 0x00,
- [SPECIES_TREECKO - 1] = 0x00,
- [SPECIES_GROVYLE - 1] = 0x00,
- [SPECIES_SCEPTILE - 1] = 0x00,
- [SPECIES_TORCHIC - 1] = 0x00,
- [SPECIES_COMBUSKEN - 1] = 0x00,
- [SPECIES_BLAZIKEN - 1] = 0x00,
- [SPECIES_MUDKIP - 1] = 0x00,
- [SPECIES_MARSHTOMP - 1] = 0x00,
- [SPECIES_SWAMPERT - 1] = 0x00,
- [SPECIES_POOCHYENA - 1] = 0x00,
- [SPECIES_MIGHTYENA - 1] = 0x00,
- [SPECIES_ZIGZAGOON - 1] = 0x00,
- [SPECIES_LINOONE - 1] = 0x00,
- [SPECIES_WURMPLE - 1] = 0x00,
- [SPECIES_SILCOON - 1] = 0x00,
- [SPECIES_BEAUTIFLY - 1] = 0x00,
- [SPECIES_CASCOON - 1] = 0x00,
- [SPECIES_DUSTOX - 1] = 0x00,
- [SPECIES_LOTAD - 1] = 0x00,
- [SPECIES_LOMBRE - 1] = 0x00,
- [SPECIES_LUDICOLO - 1] = 0x00,
- [SPECIES_SEEDOT - 1] = 0x00,
- [SPECIES_NUZLEAF - 1] = 0x00,
- [SPECIES_SHIFTRY - 1] = 0x00,
- [SPECIES_NINCADA - 1] = 0x00,
- [SPECIES_NINJASK - 1] = 0x00,
- [SPECIES_SHEDINJA - 1] = 0x00,
- [SPECIES_TAILLOW - 1] = 0x00,
- [SPECIES_SWELLOW - 1] = 0x00,
- [SPECIES_SHROOMISH - 1] = 0x00,
- [SPECIES_BRELOOM - 1] = 0x00,
- [SPECIES_SPINDA - 1] = 0x00,
- [SPECIES_WINGULL - 1] = 0x00,
- [SPECIES_PELIPPER - 1] = 0x00,
- [SPECIES_SURSKIT - 1] = 0x00,
- [SPECIES_MASQUERAIN - 1] = 0x00,
- [SPECIES_WAILMER - 1] = 0x00,
[SPECIES_WAILORD - 1] = 0x0a,
- [SPECIES_SKITTY - 1] = 0x00,
- [SPECIES_DELCATTY - 1] = 0x00,
[SPECIES_KECLEON - 1] = 0x1e,
- [SPECIES_BALTOY - 1] = 0x00,
- [SPECIES_CLAYDOL - 1] = 0x00,
- [SPECIES_NOSEPASS - 1] = 0x00,
- [SPECIES_TORKOAL - 1] = 0x00,
- [SPECIES_SABLEYE - 1] = 0x00,
- [SPECIES_BARBOACH - 1] = 0x00,
- [SPECIES_WHISCASH - 1] = 0x00,
- [SPECIES_LUVDISC - 1] = 0x00,
- [SPECIES_CORPHISH - 1] = 0x00,
- [SPECIES_CRAWDAUNT - 1] = 0x00,
- [SPECIES_FEEBAS - 1] = 0x00,
[SPECIES_MILOTIC - 1] = 0x2d,
- [SPECIES_CARVANHA - 1] = 0x00,
- [SPECIES_SHARPEDO - 1] = 0x00,
- [SPECIES_TRAPINCH - 1] = 0x00,
- [SPECIES_VIBRAVA - 1] = 0x00,
- [SPECIES_FLYGON - 1] = 0x00,
- [SPECIES_MAKUHITA - 1] = 0x00,
- [SPECIES_HARIYAMA - 1] = 0x00,
- [SPECIES_ELECTRIKE - 1] = 0x00,
- [SPECIES_MANECTRIC - 1] = 0x00,
- [SPECIES_NUMEL - 1] = 0x00,
- [SPECIES_CAMERUPT - 1] = 0x00,
[SPECIES_SPHEAL - 1] = 0x0f,
- [SPECIES_SEALEO - 1] = 0x00,
- [SPECIES_WALREIN - 1] = 0x00,
- [SPECIES_CACNEA - 1] = 0x00,
- [SPECIES_CACTURNE - 1] = 0x00,
[SPECIES_SNORUNT - 1] = 0x14,
- [SPECIES_GLALIE - 1] = 0x00,
- [SPECIES_LUNATONE - 1] = 0x00,
- [SPECIES_SOLROCK - 1] = 0x00,
- [SPECIES_AZURILL - 1] = 0x00,
- [SPECIES_SPOINK - 1] = 0x00,
[SPECIES_GRUMPIG - 1] = 0x0f,
- [SPECIES_PLUSLE - 1] = 0x00,
- [SPECIES_MINUN - 1] = 0x00,
- [SPECIES_MAWILE - 1] = 0x00,
- [SPECIES_MEDITITE - 1] = 0x00,
- [SPECIES_MEDICHAM - 1] = 0x00,
- [SPECIES_SWABLU - 1] = 0x00,
- [SPECIES_ALTARIA - 1] = 0x00,
[SPECIES_WYNAUT - 1] = 0x0f,
- [SPECIES_DUSKULL - 1] = 0x00,
[SPECIES_DUSCLOPS - 1] = 0x1e,
- [SPECIES_ROSELIA - 1] = 0x00,
- [SPECIES_SLAKOTH - 1] = 0x00,
- [SPECIES_VIGOROTH - 1] = 0x00,
- [SPECIES_SLAKING - 1] = 0x00,
- [SPECIES_GULPIN - 1] = 0x00,
- [SPECIES_SWALOT - 1] = 0x00,
- [SPECIES_TROPIUS - 1] = 0x00,
- [SPECIES_WHISMUR - 1] = 0x00,
- [SPECIES_LOUDRED - 1] = 0x00,
- [SPECIES_EXPLOUD - 1] = 0x00,
- [SPECIES_CLAMPERL - 1] = 0x00,
- [SPECIES_HUNTAIL - 1] = 0x00,
- [SPECIES_GOREBYSS - 1] = 0x00,
[SPECIES_ABSOL - 1] = 0x2d,
- [SPECIES_SHUPPET - 1] = 0x00,
- [SPECIES_BANETTE - 1] = 0x00,
- [SPECIES_SEVIPER - 1] = 0x00,
- [SPECIES_ZANGOOSE - 1] = 0x00,
- [SPECIES_RELICANTH - 1] = 0x00,
- [SPECIES_ARON - 1] = 0x00,
- [SPECIES_LAIRON - 1] = 0x00,
- [SPECIES_AGGRON - 1] = 0x00,
- [SPECIES_CASTFORM - 1] = 0x00,
- [SPECIES_VOLBEAT - 1] = 0x00,
- [SPECIES_ILLUMISE - 1] = 0x00,
- [SPECIES_LILEEP - 1] = 0x00,
- [SPECIES_CRADILY - 1] = 0x00,
- [SPECIES_ANORITH - 1] = 0x00,
- [SPECIES_ARMALDO - 1] = 0x00,
- [SPECIES_RALTS - 1] = 0x00,
- [SPECIES_KIRLIA - 1] = 0x00,
- [SPECIES_GARDEVOIR - 1] = 0x00,
- [SPECIES_BAGON - 1] = 0x00,
- [SPECIES_SHELGON - 1] = 0x00,
[SPECIES_SALAMENCE - 1] = 0x46,
- [SPECIES_BELDUM - 1] = 0x00,
- [SPECIES_METANG - 1] = 0x00,
- [SPECIES_METAGROSS - 1] = 0x00,
- [SPECIES_REGIROCK - 1] = 0x00,
- [SPECIES_REGICE - 1] = 0x00,
- [SPECIES_REGISTEEL - 1] = 0x00,
[SPECIES_KYOGRE - 1] = 0x3c,
- [SPECIES_GROUDON - 1] = 0x00,
[SPECIES_RAYQUAZA - 1] = 0x3c,
- [SPECIES_LATIAS - 1] = 0x00,
- [SPECIES_LATIOS - 1] = 0x00,
- [SPECIES_JIRACHI - 1] = 0x00,
- [SPECIES_DEOXYS - 1] = 0x00,
- [SPECIES_CHIMECHO - 1] = 0x00,
};
const u8 gPPUpGetMask[] = {0x03, 0x0c, 0x30, 0xc0}; // Masks for getting PP Up count, also PP Max values
@@ -2462,10 +2085,10 @@ static const struct OamData sOamData_8329F20 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -3670,7 +3293,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
}
// flash fire triggered
- if ((gBattleResources->flags->flags[battlerIdAtk] & UNKNOWN_FLAG_FLASH_FIRE) && type == TYPE_FIRE)
+ if ((gBattleResources->flags->flags[battlerIdAtk] & RESOURCE_FLAG_FLASH_FIRE) && type == TYPE_FIRE)
damage = (15 * damage) / 10;
}
@@ -3790,7 +3413,7 @@ u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality)
return MON_MALE;
}
-void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition)
+void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition)
{
if (gMonSpritesGfxPtr != NULL)
gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition];
@@ -3801,13 +3424,13 @@ void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition)
else
gMultiuseSpriteTemplate = gUnknown_08329D98[battlerPosition];
- gMultiuseSpriteTemplate.paletteTag = species;
+ gMultiuseSpriteTemplate.paletteTag = speciesTag;
if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT)
- gMultiuseSpriteTemplate.anims = gPlayerMonSpriteAnimsTable;
- else if (species > 500)
- gMultiuseSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species - 500];
+ gMultiuseSpriteTemplate.anims = gUnknown_082FF70C;
+ else if (speciesTag > SPECIES_SHINY_TAG)
+ gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag - SPECIES_SHINY_TAG];
else
- gMultiuseSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species];
+ gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag];
}
void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition)
@@ -4821,7 +4444,7 @@ u8 GetMonAbility(struct Pokemon *mon)
return GetAbilityBySpecies(species, altAbility);
}
-void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord)
+void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord)
{
s32 i, j;
@@ -5818,7 +5441,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem)
if (gEvolutionTable[species][i].param == heldItem)
{
heldItem = 0;
- SetMonData(mon, MON_DATA_HELD_ITEM, (u8 *)&heldItem);
+ SetMonData(mon, MON_DATA_HELD_ITEM, &heldItem);
targetSpecies = gEvolutionTable[species][i].targetSpecies;
}
break;
@@ -7174,7 +6797,7 @@ static void sub_806F1FC(struct Unknown_806F160_Struct* structPtr)
structPtr->frameImages[i * structPtr->field_0_0 + j].data = &structPtr->byteArrays[i][j * 0x800];
}
structPtr->templates[i].images = &structPtr->frameImages[i * structPtr->field_0_0];
- structPtr->templates[i].anims = gPlayerMonSpriteAnimsTable;
+ structPtr->templates[i].anims = gUnknown_082FF70C;
structPtr->templates[i].paletteTag = i;
}
}
diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c
index ecb8f4950..6a135875e 100644
--- a/src/pokemon_icon.c
+++ b/src/pokemon_icon.c
@@ -25,446 +25,446 @@ static u8 CreateMonIconSprite(struct MonIconSpriteTemplate *, s16, s16, u8);
const u8 *const gMonIconTable[] =
{
- gMonIcon_Bulbasaur,
- gMonIcon_Bulbasaur,
- gMonIcon_Ivysaur,
- gMonIcon_Venusaur,
- gMonIcon_Charmander,
- gMonIcon_Charmeleon,
- gMonIcon_Charizard,
- gMonIcon_Squirtle,
- gMonIcon_Wartortle,
- gMonIcon_Blastoise,
- gMonIcon_Caterpie,
- gMonIcon_Metapod,
- gMonIcon_Butterfree,
- gMonIcon_Weedle,
- gMonIcon_Kakuna,
- gMonIcon_Beedrill,
- gMonIcon_Pidgey,
- gMonIcon_Pidgeotto,
- gMonIcon_Pidgeot,
- gMonIcon_Rattata,
- gMonIcon_Raticate,
- gMonIcon_Spearow,
- gMonIcon_Fearow,
- gMonIcon_Ekans,
- gMonIcon_Arbok,
- gMonIcon_Pikachu,
- gMonIcon_Raichu,
- gMonIcon_Sandshrew,
- gMonIcon_Sandslash,
- gMonIcon_NidoranF,
- gMonIcon_Nidorina,
- gMonIcon_Nidoqueen,
- gMonIcon_NidoranM,
- gMonIcon_Nidorino,
- gMonIcon_Nidoking,
- gMonIcon_Clefairy,
- gMonIcon_Clefable,
- gMonIcon_Vulpix,
- gMonIcon_Ninetales,
- gMonIcon_Jigglypuff,
- gMonIcon_Wigglytuff,
- gMonIcon_Zubat,
- gMonIcon_Golbat,
- gMonIcon_Oddish,
- gMonIcon_Gloom,
- gMonIcon_Vileplume,
- gMonIcon_Paras,
- gMonIcon_Parasect,
- gMonIcon_Venonat,
- gMonIcon_Venomoth,
- gMonIcon_Diglett,
- gMonIcon_Dugtrio,
- gMonIcon_Meowth,
- gMonIcon_Persian,
- gMonIcon_Psyduck,
- gMonIcon_Golduck,
- gMonIcon_Mankey,
- gMonIcon_Primeape,
- gMonIcon_Growlithe,
- gMonIcon_Arcanine,
- gMonIcon_Poliwag,
- gMonIcon_Poliwhirl,
- gMonIcon_Poliwrath,
- gMonIcon_Abra,
- gMonIcon_Kadabra,
- gMonIcon_Alakazam,
- gMonIcon_Machop,
- gMonIcon_Machoke,
- gMonIcon_Machamp,
- gMonIcon_Bellsprout,
- gMonIcon_Weepinbell,
- gMonIcon_Victreebel,
- gMonIcon_Tentacool,
- gMonIcon_Tentacruel,
- gMonIcon_Geodude,
- gMonIcon_Graveler,
- gMonIcon_Golem,
- gMonIcon_Ponyta,
- gMonIcon_Rapidash,
- gMonIcon_Slowpoke,
- gMonIcon_Slowbro,
- gMonIcon_Magnemite,
- gMonIcon_Magneton,
- gMonIcon_Farfetchd,
- gMonIcon_Doduo,
- gMonIcon_Dodrio,
- gMonIcon_Seel,
- gMonIcon_Dewgong,
- gMonIcon_Grimer,
- gMonIcon_Muk,
- gMonIcon_Shellder,
- gMonIcon_Cloyster,
- gMonIcon_Gastly,
- gMonIcon_Haunter,
- gMonIcon_Gengar,
- gMonIcon_Onix,
- gMonIcon_Drowzee,
- gMonIcon_Hypno,
- gMonIcon_Krabby,
- gMonIcon_Kingler,
- gMonIcon_Voltorb,
- gMonIcon_Electrode,
- gMonIcon_Exeggcute,
- gMonIcon_Exeggutor,
- gMonIcon_Cubone,
- gMonIcon_Marowak,
- gMonIcon_Hitmonlee,
- gMonIcon_Hitmonchan,
- gMonIcon_Lickitung,
- gMonIcon_Koffing,
- gMonIcon_Weezing,
- gMonIcon_Rhyhorn,
- gMonIcon_Rhydon,
- gMonIcon_Chansey,
- gMonIcon_Tangela,
- gMonIcon_Kangaskhan,
- gMonIcon_Horsea,
- gMonIcon_Seadra,
- gMonIcon_Goldeen,
- gMonIcon_Seaking,
- gMonIcon_Staryu,
- gMonIcon_Starmie,
- gMonIcon_Mrmime,
- gMonIcon_Scyther,
- gMonIcon_Jynx,
- gMonIcon_Electabuzz,
- gMonIcon_Magmar,
- gMonIcon_Pinsir,
- gMonIcon_Tauros,
- gMonIcon_Magikarp,
- gMonIcon_Gyarados,
- gMonIcon_Lapras,
- gMonIcon_Ditto,
- gMonIcon_Eevee,
- gMonIcon_Vaporeon,
- gMonIcon_Jolteon,
- gMonIcon_Flareon,
- gMonIcon_Porygon,
- gMonIcon_Omanyte,
- gMonIcon_Omastar,
- gMonIcon_Kabuto,
- gMonIcon_Kabutops,
- gMonIcon_Aerodactyl,
- gMonIcon_Snorlax,
- gMonIcon_Articuno,
- gMonIcon_Zapdos,
- gMonIcon_Moltres,
- gMonIcon_Dratini,
- gMonIcon_Dragonair,
- gMonIcon_Dragonite,
- gMonIcon_Mewtwo,
- gMonIcon_Mew,
- gMonIcon_Chikorita,
- gMonIcon_Bayleef,
- gMonIcon_Meganium,
- gMonIcon_Cyndaquil,
- gMonIcon_Quilava,
- gMonIcon_Typhlosion,
- gMonIcon_Totodile,
- gMonIcon_Croconaw,
- gMonIcon_Feraligatr,
- gMonIcon_Sentret,
- gMonIcon_Furret,
- gMonIcon_Hoothoot,
- gMonIcon_Noctowl,
- gMonIcon_Ledyba,
- gMonIcon_Ledian,
- gMonIcon_Spinarak,
- gMonIcon_Ariados,
- gMonIcon_Crobat,
- gMonIcon_Chinchou,
- gMonIcon_Lanturn,
- gMonIcon_Pichu,
- gMonIcon_Cleffa,
- gMonIcon_Igglybuff,
- gMonIcon_Togepi,
- gMonIcon_Togetic,
- gMonIcon_Natu,
- gMonIcon_Xatu,
- gMonIcon_Mareep,
- gMonIcon_Flaaffy,
- gMonIcon_Ampharos,
- gMonIcon_Bellossom,
- gMonIcon_Marill,
- gMonIcon_Azumarill,
- gMonIcon_Sudowoodo,
- gMonIcon_Politoed,
- gMonIcon_Hoppip,
- gMonIcon_Skiploom,
- gMonIcon_Jumpluff,
- gMonIcon_Aipom,
- gMonIcon_Sunkern,
- gMonIcon_Sunflora,
- gMonIcon_Yanma,
- gMonIcon_Wooper,
- gMonIcon_Quagsire,
- gMonIcon_Espeon,
- gMonIcon_Umbreon,
- gMonIcon_Murkrow,
- gMonIcon_Slowking,
- gMonIcon_Misdreavus,
- gMonIcon_UnownA,
- gMonIcon_Wobbuffet,
- gMonIcon_Girafarig,
- gMonIcon_Pineco,
- gMonIcon_Forretress,
- gMonIcon_Dunsparce,
- gMonIcon_Gligar,
- gMonIcon_Steelix,
- gMonIcon_Snubbull,
- gMonIcon_Granbull,
- gMonIcon_Qwilfish,
- gMonIcon_Scizor,
- gMonIcon_Shuckle,
- gMonIcon_Heracross,
- gMonIcon_Sneasel,
- gMonIcon_Teddiursa,
- gMonIcon_Ursaring,
- gMonIcon_Slugma,
- gMonIcon_Magcargo,
- gMonIcon_Swinub,
- gMonIcon_Piloswine,
- gMonIcon_Corsola,
- gMonIcon_Remoraid,
- gMonIcon_Octillery,
- gMonIcon_Delibird,
- gMonIcon_Mantine,
- gMonIcon_Skarmory,
- gMonIcon_Houndour,
- gMonIcon_Houndoom,
- gMonIcon_Kingdra,
- gMonIcon_Phanpy,
- gMonIcon_Donphan,
- gMonIcon_Porygon2,
- gMonIcon_Stantler,
- gMonIcon_Smeargle,
- gMonIcon_Tyrogue,
- gMonIcon_Hitmontop,
- gMonIcon_Smoochum,
- gMonIcon_Elekid,
- gMonIcon_Magby,
- gMonIcon_Miltank,
- gMonIcon_Blissey,
- gMonIcon_Raikou,
- gMonIcon_Entei,
- gMonIcon_Suicune,
- gMonIcon_Larvitar,
- gMonIcon_Pupitar,
- gMonIcon_Tyranitar,
- gMonIcon_Lugia,
- gMonIcon_HoOh,
- gMonIcon_Celebi,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_Treecko,
- gMonIcon_Grovyle,
- gMonIcon_Sceptile,
- gMonIcon_Torchic,
- gMonIcon_Combusken,
- gMonIcon_Blaziken,
- gMonIcon_Mudkip,
- gMonIcon_Marshtomp,
- gMonIcon_Swampert,
- gMonIcon_Poochyena,
- gMonIcon_Mightyena,
- gMonIcon_Zigzagoon,
- gMonIcon_Linoone,
- gMonIcon_Wurmple,
- gMonIcon_Silcoon,
- gMonIcon_Beautifly,
- gMonIcon_Cascoon,
- gMonIcon_Dustox,
- gMonIcon_Lotad,
- gMonIcon_Lombre,
- gMonIcon_Ludicolo,
- gMonIcon_Seedot,
- gMonIcon_Nuzleaf,
- gMonIcon_Shiftry,
- gMonIcon_Nincada,
- gMonIcon_Ninjask,
- gMonIcon_Shedinja,
- gMonIcon_Taillow,
- gMonIcon_Swellow,
- gMonIcon_Shroomish,
- gMonIcon_Breloom,
- gMonIcon_Spinda,
- gMonIcon_Wingull,
- gMonIcon_Pelipper,
- gMonIcon_Surskit,
- gMonIcon_Masquerain,
- gMonIcon_Wailmer,
- gMonIcon_Wailord,
- gMonIcon_Skitty,
- gMonIcon_Delcatty,
- gMonIcon_Kecleon,
- gMonIcon_Baltoy,
- gMonIcon_Claydol,
- gMonIcon_Nosepass,
- gMonIcon_Torkoal,
- gMonIcon_Sableye,
- gMonIcon_Barboach,
- gMonIcon_Whiscash,
- gMonIcon_Luvdisc,
- gMonIcon_Corphish,
- gMonIcon_Crawdaunt,
- gMonIcon_Feebas,
- gMonIcon_Milotic,
- gMonIcon_Carvanha,
- gMonIcon_Sharpedo,
- gMonIcon_Trapinch,
- gMonIcon_Vibrava,
- gMonIcon_Flygon,
- gMonIcon_Makuhita,
- gMonIcon_Hariyama,
- gMonIcon_Electrike,
- gMonIcon_Manectric,
- gMonIcon_Numel,
- gMonIcon_Camerupt,
- gMonIcon_Spheal,
- gMonIcon_Sealeo,
- gMonIcon_Walrein,
- gMonIcon_Cacnea,
- gMonIcon_Cacturne,
- gMonIcon_Snorunt,
- gMonIcon_Glalie,
- gMonIcon_Lunatone,
- gMonIcon_Solrock,
- gMonIcon_Azurill,
- gMonIcon_Spoink,
- gMonIcon_Grumpig,
- gMonIcon_Plusle,
- gMonIcon_Minun,
- gMonIcon_Mawile,
- gMonIcon_Meditite,
- gMonIcon_Medicham,
- gMonIcon_Swablu,
- gMonIcon_Altaria,
- gMonIcon_Wynaut,
- gMonIcon_Duskull,
- gMonIcon_Dusclops,
- gMonIcon_Roselia,
- gMonIcon_Slakoth,
- gMonIcon_Vigoroth,
- gMonIcon_Slaking,
- gMonIcon_Gulpin,
- gMonIcon_Swalot,
- gMonIcon_Tropius,
- gMonIcon_Whismur,
- gMonIcon_Loudred,
- gMonIcon_Exploud,
- gMonIcon_Clamperl,
- gMonIcon_Huntail,
- gMonIcon_Gorebyss,
- gMonIcon_Absol,
- gMonIcon_Shuppet,
- gMonIcon_Banette,
- gMonIcon_Seviper,
- gMonIcon_Zangoose,
- gMonIcon_Relicanth,
- gMonIcon_Aron,
- gMonIcon_Lairon,
- gMonIcon_Aggron,
- gMonIcon_Castform,
- gMonIcon_Volbeat,
- gMonIcon_Illumise,
- gMonIcon_Lileep,
- gMonIcon_Cradily,
- gMonIcon_Anorith,
- gMonIcon_Armaldo,
- gMonIcon_Ralts,
- gMonIcon_Kirlia,
- gMonIcon_Gardevoir,
- gMonIcon_Bagon,
- gMonIcon_Shelgon,
- gMonIcon_Salamence,
- gMonIcon_Beldum,
- gMonIcon_Metang,
- gMonIcon_Metagross,
- gMonIcon_Regirock,
- gMonIcon_Regice,
- gMonIcon_Registeel,
- gMonIcon_Kyogre,
- gMonIcon_Groudon,
- gMonIcon_Rayquaza,
- gMonIcon_Latias,
- gMonIcon_Latios,
- gMonIcon_Jirachi,
- gMonIcon_Deoxys,
- gMonIcon_Chimecho,
- gMonIcon_Egg,
- gMonIcon_UnownB,
- gMonIcon_UnownC,
- gMonIcon_UnownD,
- gMonIcon_UnownE,
- gMonIcon_UnownF,
- gMonIcon_UnownG,
- gMonIcon_UnownH,
- gMonIcon_UnownI,
- gMonIcon_UnownJ,
- gMonIcon_UnownK,
- gMonIcon_UnownL,
- gMonIcon_UnownM,
- gMonIcon_UnownN,
- gMonIcon_UnownO,
- gMonIcon_UnownP,
- gMonIcon_UnownQ,
- gMonIcon_UnownR,
- gMonIcon_UnownS,
- gMonIcon_UnownT,
- gMonIcon_UnownU,
- gMonIcon_UnownV,
- gMonIcon_UnownW,
- gMonIcon_UnownX,
- gMonIcon_UnownY,
- gMonIcon_UnownZ,
- gMonIcon_UnownExclamationMark,
- gMonIcon_UnownQuestionMark,
+ [SPECIES_NONE] = gMonIcon_Bulbasaur,
+ [SPECIES_BULBASAUR] = gMonIcon_Bulbasaur,
+ [SPECIES_IVYSAUR] = gMonIcon_Ivysaur,
+ [SPECIES_VENUSAUR] = gMonIcon_Venusaur,
+ [SPECIES_CHARMANDER] = gMonIcon_Charmander,
+ [SPECIES_CHARMELEON] = gMonIcon_Charmeleon,
+ [SPECIES_CHARIZARD] = gMonIcon_Charizard,
+ [SPECIES_SQUIRTLE] = gMonIcon_Squirtle,
+ [SPECIES_WARTORTLE] = gMonIcon_Wartortle,
+ [SPECIES_BLASTOISE] = gMonIcon_Blastoise,
+ [SPECIES_CATERPIE] = gMonIcon_Caterpie,
+ [SPECIES_METAPOD] = gMonIcon_Metapod,
+ [SPECIES_BUTTERFREE] = gMonIcon_Butterfree,
+ [SPECIES_WEEDLE] = gMonIcon_Weedle,
+ [SPECIES_KAKUNA] = gMonIcon_Kakuna,
+ [SPECIES_BEEDRILL] = gMonIcon_Beedrill,
+ [SPECIES_PIDGEY] = gMonIcon_Pidgey,
+ [SPECIES_PIDGEOTTO] = gMonIcon_Pidgeotto,
+ [SPECIES_PIDGEOT] = gMonIcon_Pidgeot,
+ [SPECIES_RATTATA] = gMonIcon_Rattata,
+ [SPECIES_RATICATE] = gMonIcon_Raticate,
+ [SPECIES_SPEAROW] = gMonIcon_Spearow,
+ [SPECIES_FEAROW] = gMonIcon_Fearow,
+ [SPECIES_EKANS] = gMonIcon_Ekans,
+ [SPECIES_ARBOK] = gMonIcon_Arbok,
+ [SPECIES_PIKACHU] = gMonIcon_Pikachu,
+ [SPECIES_RAICHU] = gMonIcon_Raichu,
+ [SPECIES_SANDSHREW] = gMonIcon_Sandshrew,
+ [SPECIES_SANDSLASH] = gMonIcon_Sandslash,
+ [SPECIES_NIDORAN_F] = gMonIcon_NidoranF,
+ [SPECIES_NIDORINA] = gMonIcon_Nidorina,
+ [SPECIES_NIDOQUEEN] = gMonIcon_Nidoqueen,
+ [SPECIES_NIDORAN_M] = gMonIcon_NidoranM,
+ [SPECIES_NIDORINO] = gMonIcon_Nidorino,
+ [SPECIES_NIDOKING] = gMonIcon_Nidoking,
+ [SPECIES_CLEFAIRY] = gMonIcon_Clefairy,
+ [SPECIES_CLEFABLE] = gMonIcon_Clefable,
+ [SPECIES_VULPIX] = gMonIcon_Vulpix,
+ [SPECIES_NINETALES] = gMonIcon_Ninetales,
+ [SPECIES_JIGGLYPUFF] = gMonIcon_Jigglypuff,
+ [SPECIES_WIGGLYTUFF] = gMonIcon_Wigglytuff,
+ [SPECIES_ZUBAT] = gMonIcon_Zubat,
+ [SPECIES_GOLBAT] = gMonIcon_Golbat,
+ [SPECIES_ODDISH] = gMonIcon_Oddish,
+ [SPECIES_GLOOM] = gMonIcon_Gloom,
+ [SPECIES_VILEPLUME] = gMonIcon_Vileplume,
+ [SPECIES_PARAS] = gMonIcon_Paras,
+ [SPECIES_PARASECT] = gMonIcon_Parasect,
+ [SPECIES_VENONAT] = gMonIcon_Venonat,
+ [SPECIES_VENOMOTH] = gMonIcon_Venomoth,
+ [SPECIES_DIGLETT] = gMonIcon_Diglett,
+ [SPECIES_DUGTRIO] = gMonIcon_Dugtrio,
+ [SPECIES_MEOWTH] = gMonIcon_Meowth,
+ [SPECIES_PERSIAN] = gMonIcon_Persian,
+ [SPECIES_PSYDUCK] = gMonIcon_Psyduck,
+ [SPECIES_GOLDUCK] = gMonIcon_Golduck,
+ [SPECIES_MANKEY] = gMonIcon_Mankey,
+ [SPECIES_PRIMEAPE] = gMonIcon_Primeape,
+ [SPECIES_GROWLITHE] = gMonIcon_Growlithe,
+ [SPECIES_ARCANINE] = gMonIcon_Arcanine,
+ [SPECIES_POLIWAG] = gMonIcon_Poliwag,
+ [SPECIES_POLIWHIRL] = gMonIcon_Poliwhirl,
+ [SPECIES_POLIWRATH] = gMonIcon_Poliwrath,
+ [SPECIES_ABRA] = gMonIcon_Abra,
+ [SPECIES_KADABRA] = gMonIcon_Kadabra,
+ [SPECIES_ALAKAZAM] = gMonIcon_Alakazam,
+ [SPECIES_MACHOP] = gMonIcon_Machop,
+ [SPECIES_MACHOKE] = gMonIcon_Machoke,
+ [SPECIES_MACHAMP] = gMonIcon_Machamp,
+ [SPECIES_BELLSPROUT] = gMonIcon_Bellsprout,
+ [SPECIES_WEEPINBELL] = gMonIcon_Weepinbell,
+ [SPECIES_VICTREEBEL] = gMonIcon_Victreebel,
+ [SPECIES_TENTACOOL] = gMonIcon_Tentacool,
+ [SPECIES_TENTACRUEL] = gMonIcon_Tentacruel,
+ [SPECIES_GEODUDE] = gMonIcon_Geodude,
+ [SPECIES_GRAVELER] = gMonIcon_Graveler,
+ [SPECIES_GOLEM] = gMonIcon_Golem,
+ [SPECIES_PONYTA] = gMonIcon_Ponyta,
+ [SPECIES_RAPIDASH] = gMonIcon_Rapidash,
+ [SPECIES_SLOWPOKE] = gMonIcon_Slowpoke,
+ [SPECIES_SLOWBRO] = gMonIcon_Slowbro,
+ [SPECIES_MAGNEMITE] = gMonIcon_Magnemite,
+ [SPECIES_MAGNETON] = gMonIcon_Magneton,
+ [SPECIES_FARFETCHD] = gMonIcon_Farfetchd,
+ [SPECIES_DODUO] = gMonIcon_Doduo,
+ [SPECIES_DODRIO] = gMonIcon_Dodrio,
+ [SPECIES_SEEL] = gMonIcon_Seel,
+ [SPECIES_DEWGONG] = gMonIcon_Dewgong,
+ [SPECIES_GRIMER] = gMonIcon_Grimer,
+ [SPECIES_MUK] = gMonIcon_Muk,
+ [SPECIES_SHELLDER] = gMonIcon_Shellder,
+ [SPECIES_CLOYSTER] = gMonIcon_Cloyster,
+ [SPECIES_GASTLY] = gMonIcon_Gastly,
+ [SPECIES_HAUNTER] = gMonIcon_Haunter,
+ [SPECIES_GENGAR] = gMonIcon_Gengar,
+ [SPECIES_ONIX] = gMonIcon_Onix,
+ [SPECIES_DROWZEE] = gMonIcon_Drowzee,
+ [SPECIES_HYPNO] = gMonIcon_Hypno,
+ [SPECIES_KRABBY] = gMonIcon_Krabby,
+ [SPECIES_KINGLER] = gMonIcon_Kingler,
+ [SPECIES_VOLTORB] = gMonIcon_Voltorb,
+ [SPECIES_ELECTRODE] = gMonIcon_Electrode,
+ [SPECIES_EXEGGCUTE] = gMonIcon_Exeggcute,
+ [SPECIES_EXEGGUTOR] = gMonIcon_Exeggutor,
+ [SPECIES_CUBONE] = gMonIcon_Cubone,
+ [SPECIES_MAROWAK] = gMonIcon_Marowak,
+ [SPECIES_HITMONLEE] = gMonIcon_Hitmonlee,
+ [SPECIES_HITMONCHAN] = gMonIcon_Hitmonchan,
+ [SPECIES_LICKITUNG] = gMonIcon_Lickitung,
+ [SPECIES_KOFFING] = gMonIcon_Koffing,
+ [SPECIES_WEEZING] = gMonIcon_Weezing,
+ [SPECIES_RHYHORN] = gMonIcon_Rhyhorn,
+ [SPECIES_RHYDON] = gMonIcon_Rhydon,
+ [SPECIES_CHANSEY] = gMonIcon_Chansey,
+ [SPECIES_TANGELA] = gMonIcon_Tangela,
+ [SPECIES_KANGASKHAN] = gMonIcon_Kangaskhan,
+ [SPECIES_HORSEA] = gMonIcon_Horsea,
+ [SPECIES_SEADRA] = gMonIcon_Seadra,
+ [SPECIES_GOLDEEN] = gMonIcon_Goldeen,
+ [SPECIES_SEAKING] = gMonIcon_Seaking,
+ [SPECIES_STARYU] = gMonIcon_Staryu,
+ [SPECIES_STARMIE] = gMonIcon_Starmie,
+ [SPECIES_MR_MIME] = gMonIcon_Mrmime,
+ [SPECIES_SCYTHER] = gMonIcon_Scyther,
+ [SPECIES_JYNX] = gMonIcon_Jynx,
+ [SPECIES_ELECTABUZZ] = gMonIcon_Electabuzz,
+ [SPECIES_MAGMAR] = gMonIcon_Magmar,
+ [SPECIES_PINSIR] = gMonIcon_Pinsir,
+ [SPECIES_TAUROS] = gMonIcon_Tauros,
+ [SPECIES_MAGIKARP] = gMonIcon_Magikarp,
+ [SPECIES_GYARADOS] = gMonIcon_Gyarados,
+ [SPECIES_LAPRAS] = gMonIcon_Lapras,
+ [SPECIES_DITTO] = gMonIcon_Ditto,
+ [SPECIES_EEVEE] = gMonIcon_Eevee,
+ [SPECIES_VAPOREON] = gMonIcon_Vaporeon,
+ [SPECIES_JOLTEON] = gMonIcon_Jolteon,
+ [SPECIES_FLAREON] = gMonIcon_Flareon,
+ [SPECIES_PORYGON] = gMonIcon_Porygon,
+ [SPECIES_OMANYTE] = gMonIcon_Omanyte,
+ [SPECIES_OMASTAR] = gMonIcon_Omastar,
+ [SPECIES_KABUTO] = gMonIcon_Kabuto,
+ [SPECIES_KABUTOPS] = gMonIcon_Kabutops,
+ [SPECIES_AERODACTYL] = gMonIcon_Aerodactyl,
+ [SPECIES_SNORLAX] = gMonIcon_Snorlax,
+ [SPECIES_ARTICUNO] = gMonIcon_Articuno,
+ [SPECIES_ZAPDOS] = gMonIcon_Zapdos,
+ [SPECIES_MOLTRES] = gMonIcon_Moltres,
+ [SPECIES_DRATINI] = gMonIcon_Dratini,
+ [SPECIES_DRAGONAIR] = gMonIcon_Dragonair,
+ [SPECIES_DRAGONITE] = gMonIcon_Dragonite,
+ [SPECIES_MEWTWO] = gMonIcon_Mewtwo,
+ [SPECIES_MEW] = gMonIcon_Mew,
+ [SPECIES_CHIKORITA] = gMonIcon_Chikorita,
+ [SPECIES_BAYLEEF] = gMonIcon_Bayleef,
+ [SPECIES_MEGANIUM] = gMonIcon_Meganium,
+ [SPECIES_CYNDAQUIL] = gMonIcon_Cyndaquil,
+ [SPECIES_QUILAVA] = gMonIcon_Quilava,
+ [SPECIES_TYPHLOSION] = gMonIcon_Typhlosion,
+ [SPECIES_TOTODILE] = gMonIcon_Totodile,
+ [SPECIES_CROCONAW] = gMonIcon_Croconaw,
+ [SPECIES_FERALIGATR] = gMonIcon_Feraligatr,
+ [SPECIES_SENTRET] = gMonIcon_Sentret,
+ [SPECIES_FURRET] = gMonIcon_Furret,
+ [SPECIES_HOOTHOOT] = gMonIcon_Hoothoot,
+ [SPECIES_NOCTOWL] = gMonIcon_Noctowl,
+ [SPECIES_LEDYBA] = gMonIcon_Ledyba,
+ [SPECIES_LEDIAN] = gMonIcon_Ledian,
+ [SPECIES_SPINARAK] = gMonIcon_Spinarak,
+ [SPECIES_ARIADOS] = gMonIcon_Ariados,
+ [SPECIES_CROBAT] = gMonIcon_Crobat,
+ [SPECIES_CHINCHOU] = gMonIcon_Chinchou,
+ [SPECIES_LANTURN] = gMonIcon_Lanturn,
+ [SPECIES_PICHU] = gMonIcon_Pichu,
+ [SPECIES_CLEFFA] = gMonIcon_Cleffa,
+ [SPECIES_IGGLYBUFF] = gMonIcon_Igglybuff,
+ [SPECIES_TOGEPI] = gMonIcon_Togepi,
+ [SPECIES_TOGETIC] = gMonIcon_Togetic,
+ [SPECIES_NATU] = gMonIcon_Natu,
+ [SPECIES_XATU] = gMonIcon_Xatu,
+ [SPECIES_MAREEP] = gMonIcon_Mareep,
+ [SPECIES_FLAAFFY] = gMonIcon_Flaaffy,
+ [SPECIES_AMPHAROS] = gMonIcon_Ampharos,
+ [SPECIES_BELLOSSOM] = gMonIcon_Bellossom,
+ [SPECIES_MARILL] = gMonIcon_Marill,
+ [SPECIES_AZUMARILL] = gMonIcon_Azumarill,
+ [SPECIES_SUDOWOODO] = gMonIcon_Sudowoodo,
+ [SPECIES_POLITOED] = gMonIcon_Politoed,
+ [SPECIES_HOPPIP] = gMonIcon_Hoppip,
+ [SPECIES_SKIPLOOM] = gMonIcon_Skiploom,
+ [SPECIES_JUMPLUFF] = gMonIcon_Jumpluff,
+ [SPECIES_AIPOM] = gMonIcon_Aipom,
+ [SPECIES_SUNKERN] = gMonIcon_Sunkern,
+ [SPECIES_SUNFLORA] = gMonIcon_Sunflora,
+ [SPECIES_YANMA] = gMonIcon_Yanma,
+ [SPECIES_WOOPER] = gMonIcon_Wooper,
+ [SPECIES_QUAGSIRE] = gMonIcon_Quagsire,
+ [SPECIES_ESPEON] = gMonIcon_Espeon,
+ [SPECIES_UMBREON] = gMonIcon_Umbreon,
+ [SPECIES_MURKROW] = gMonIcon_Murkrow,
+ [SPECIES_SLOWKING] = gMonIcon_Slowking,
+ [SPECIES_MISDREAVUS] = gMonIcon_Misdreavus,
+ [SPECIES_UNOWN] = gMonIcon_UnownA,
+ [SPECIES_WOBBUFFET] = gMonIcon_Wobbuffet,
+ [SPECIES_GIRAFARIG] = gMonIcon_Girafarig,
+ [SPECIES_PINECO] = gMonIcon_Pineco,
+ [SPECIES_FORRETRESS] = gMonIcon_Forretress,
+ [SPECIES_DUNSPARCE] = gMonIcon_Dunsparce,
+ [SPECIES_GLIGAR] = gMonIcon_Gligar,
+ [SPECIES_STEELIX] = gMonIcon_Steelix,
+ [SPECIES_SNUBBULL] = gMonIcon_Snubbull,
+ [SPECIES_GRANBULL] = gMonIcon_Granbull,
+ [SPECIES_QWILFISH] = gMonIcon_Qwilfish,
+ [SPECIES_SCIZOR] = gMonIcon_Scizor,
+ [SPECIES_SHUCKLE] = gMonIcon_Shuckle,
+ [SPECIES_HERACROSS] = gMonIcon_Heracross,
+ [SPECIES_SNEASEL] = gMonIcon_Sneasel,
+ [SPECIES_TEDDIURSA] = gMonIcon_Teddiursa,
+ [SPECIES_URSARING] = gMonIcon_Ursaring,
+ [SPECIES_SLUGMA] = gMonIcon_Slugma,
+ [SPECIES_MAGCARGO] = gMonIcon_Magcargo,
+ [SPECIES_SWINUB] = gMonIcon_Swinub,
+ [SPECIES_PILOSWINE] = gMonIcon_Piloswine,
+ [SPECIES_CORSOLA] = gMonIcon_Corsola,
+ [SPECIES_REMORAID] = gMonIcon_Remoraid,
+ [SPECIES_OCTILLERY] = gMonIcon_Octillery,
+ [SPECIES_DELIBIRD] = gMonIcon_Delibird,
+ [SPECIES_MANTINE] = gMonIcon_Mantine,
+ [SPECIES_SKARMORY] = gMonIcon_Skarmory,
+ [SPECIES_HOUNDOUR] = gMonIcon_Houndour,
+ [SPECIES_HOUNDOOM] = gMonIcon_Houndoom,
+ [SPECIES_KINGDRA] = gMonIcon_Kingdra,
+ [SPECIES_PHANPY] = gMonIcon_Phanpy,
+ [SPECIES_DONPHAN] = gMonIcon_Donphan,
+ [SPECIES_PORYGON2] = gMonIcon_Porygon2,
+ [SPECIES_STANTLER] = gMonIcon_Stantler,
+ [SPECIES_SMEARGLE] = gMonIcon_Smeargle,
+ [SPECIES_TYROGUE] = gMonIcon_Tyrogue,
+ [SPECIES_HITMONTOP] = gMonIcon_Hitmontop,
+ [SPECIES_SMOOCHUM] = gMonIcon_Smoochum,
+ [SPECIES_ELEKID] = gMonIcon_Elekid,
+ [SPECIES_MAGBY] = gMonIcon_Magby,
+ [SPECIES_MILTANK] = gMonIcon_Miltank,
+ [SPECIES_BLISSEY] = gMonIcon_Blissey,
+ [SPECIES_RAIKOU] = gMonIcon_Raikou,
+ [SPECIES_ENTEI] = gMonIcon_Entei,
+ [SPECIES_SUICUNE] = gMonIcon_Suicune,
+ [SPECIES_LARVITAR] = gMonIcon_Larvitar,
+ [SPECIES_PUPITAR] = gMonIcon_Pupitar,
+ [SPECIES_TYRANITAR] = gMonIcon_Tyranitar,
+ [SPECIES_LUGIA] = gMonIcon_Lugia,
+ [SPECIES_HO_OH] = gMonIcon_HoOh,
+ [SPECIES_CELEBI] = gMonIcon_Celebi,
+ [SPECIES_OLD_UNOWN_B] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_C] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_D] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_E] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_F] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_G] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_H] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_I] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_J] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_K] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_L] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_M] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_N] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_O] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_P] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_Q] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_R] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_S] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_T] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_U] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_V] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_W] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_X] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_Y] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_Z] = gMonIcon_QuestionMark,
+ [SPECIES_TREECKO] = gMonIcon_Treecko,
+ [SPECIES_GROVYLE] = gMonIcon_Grovyle,
+ [SPECIES_SCEPTILE] = gMonIcon_Sceptile,
+ [SPECIES_TORCHIC] = gMonIcon_Torchic,
+ [SPECIES_COMBUSKEN] = gMonIcon_Combusken,
+ [SPECIES_BLAZIKEN] = gMonIcon_Blaziken,
+ [SPECIES_MUDKIP] = gMonIcon_Mudkip,
+ [SPECIES_MARSHTOMP] = gMonIcon_Marshtomp,
+ [SPECIES_SWAMPERT] = gMonIcon_Swampert,
+ [SPECIES_POOCHYENA] = gMonIcon_Poochyena,
+ [SPECIES_MIGHTYENA] = gMonIcon_Mightyena,
+ [SPECIES_ZIGZAGOON] = gMonIcon_Zigzagoon,
+ [SPECIES_LINOONE] = gMonIcon_Linoone,
+ [SPECIES_WURMPLE] = gMonIcon_Wurmple,
+ [SPECIES_SILCOON] = gMonIcon_Silcoon,
+ [SPECIES_BEAUTIFLY] = gMonIcon_Beautifly,
+ [SPECIES_CASCOON] = gMonIcon_Cascoon,
+ [SPECIES_DUSTOX] = gMonIcon_Dustox,
+ [SPECIES_LOTAD] = gMonIcon_Lotad,
+ [SPECIES_LOMBRE] = gMonIcon_Lombre,
+ [SPECIES_LUDICOLO] = gMonIcon_Ludicolo,
+ [SPECIES_SEEDOT] = gMonIcon_Seedot,
+ [SPECIES_NUZLEAF] = gMonIcon_Nuzleaf,
+ [SPECIES_SHIFTRY] = gMonIcon_Shiftry,
+ [SPECIES_NINCADA] = gMonIcon_Nincada,
+ [SPECIES_NINJASK] = gMonIcon_Ninjask,
+ [SPECIES_SHEDINJA] = gMonIcon_Shedinja,
+ [SPECIES_TAILLOW] = gMonIcon_Taillow,
+ [SPECIES_SWELLOW] = gMonIcon_Swellow,
+ [SPECIES_SHROOMISH] = gMonIcon_Shroomish,
+ [SPECIES_BRELOOM] = gMonIcon_Breloom,
+ [SPECIES_SPINDA] = gMonIcon_Spinda,
+ [SPECIES_WINGULL] = gMonIcon_Wingull,
+ [SPECIES_PELIPPER] = gMonIcon_Pelipper,
+ [SPECIES_SURSKIT] = gMonIcon_Surskit,
+ [SPECIES_MASQUERAIN] = gMonIcon_Masquerain,
+ [SPECIES_WAILMER] = gMonIcon_Wailmer,
+ [SPECIES_WAILORD] = gMonIcon_Wailord,
+ [SPECIES_SKITTY] = gMonIcon_Skitty,
+ [SPECIES_DELCATTY] = gMonIcon_Delcatty,
+ [SPECIES_KECLEON] = gMonIcon_Kecleon,
+ [SPECIES_BALTOY] = gMonIcon_Baltoy,
+ [SPECIES_CLAYDOL] = gMonIcon_Claydol,
+ [SPECIES_NOSEPASS] = gMonIcon_Nosepass,
+ [SPECIES_TORKOAL] = gMonIcon_Torkoal,
+ [SPECIES_SABLEYE] = gMonIcon_Sableye,
+ [SPECIES_BARBOACH] = gMonIcon_Barboach,
+ [SPECIES_WHISCASH] = gMonIcon_Whiscash,
+ [SPECIES_LUVDISC] = gMonIcon_Luvdisc,
+ [SPECIES_CORPHISH] = gMonIcon_Corphish,
+ [SPECIES_CRAWDAUNT] = gMonIcon_Crawdaunt,
+ [SPECIES_FEEBAS] = gMonIcon_Feebas,
+ [SPECIES_MILOTIC] = gMonIcon_Milotic,
+ [SPECIES_CARVANHA] = gMonIcon_Carvanha,
+ [SPECIES_SHARPEDO] = gMonIcon_Sharpedo,
+ [SPECIES_TRAPINCH] = gMonIcon_Trapinch,
+ [SPECIES_VIBRAVA] = gMonIcon_Vibrava,
+ [SPECIES_FLYGON] = gMonIcon_Flygon,
+ [SPECIES_MAKUHITA] = gMonIcon_Makuhita,
+ [SPECIES_HARIYAMA] = gMonIcon_Hariyama,
+ [SPECIES_ELECTRIKE] = gMonIcon_Electrike,
+ [SPECIES_MANECTRIC] = gMonIcon_Manectric,
+ [SPECIES_NUMEL] = gMonIcon_Numel,
+ [SPECIES_CAMERUPT] = gMonIcon_Camerupt,
+ [SPECIES_SPHEAL] = gMonIcon_Spheal,
+ [SPECIES_SEALEO] = gMonIcon_Sealeo,
+ [SPECIES_WALREIN] = gMonIcon_Walrein,
+ [SPECIES_CACNEA] = gMonIcon_Cacnea,
+ [SPECIES_CACTURNE] = gMonIcon_Cacturne,
+ [SPECIES_SNORUNT] = gMonIcon_Snorunt,
+ [SPECIES_GLALIE] = gMonIcon_Glalie,
+ [SPECIES_LUNATONE] = gMonIcon_Lunatone,
+ [SPECIES_SOLROCK] = gMonIcon_Solrock,
+ [SPECIES_AZURILL] = gMonIcon_Azurill,
+ [SPECIES_SPOINK] = gMonIcon_Spoink,
+ [SPECIES_GRUMPIG] = gMonIcon_Grumpig,
+ [SPECIES_PLUSLE] = gMonIcon_Plusle,
+ [SPECIES_MINUN] = gMonIcon_Minun,
+ [SPECIES_MAWILE] = gMonIcon_Mawile,
+ [SPECIES_MEDITITE] = gMonIcon_Meditite,
+ [SPECIES_MEDICHAM] = gMonIcon_Medicham,
+ [SPECIES_SWABLU] = gMonIcon_Swablu,
+ [SPECIES_ALTARIA] = gMonIcon_Altaria,
+ [SPECIES_WYNAUT] = gMonIcon_Wynaut,
+ [SPECIES_DUSKULL] = gMonIcon_Duskull,
+ [SPECIES_DUSCLOPS] = gMonIcon_Dusclops,
+ [SPECIES_ROSELIA] = gMonIcon_Roselia,
+ [SPECIES_SLAKOTH] = gMonIcon_Slakoth,
+ [SPECIES_VIGOROTH] = gMonIcon_Vigoroth,
+ [SPECIES_SLAKING] = gMonIcon_Slaking,
+ [SPECIES_GULPIN] = gMonIcon_Gulpin,
+ [SPECIES_SWALOT] = gMonIcon_Swalot,
+ [SPECIES_TROPIUS] = gMonIcon_Tropius,
+ [SPECIES_WHISMUR] = gMonIcon_Whismur,
+ [SPECIES_LOUDRED] = gMonIcon_Loudred,
+ [SPECIES_EXPLOUD] = gMonIcon_Exploud,
+ [SPECIES_CLAMPERL] = gMonIcon_Clamperl,
+ [SPECIES_HUNTAIL] = gMonIcon_Huntail,
+ [SPECIES_GOREBYSS] = gMonIcon_Gorebyss,
+ [SPECIES_ABSOL] = gMonIcon_Absol,
+ [SPECIES_SHUPPET] = gMonIcon_Shuppet,
+ [SPECIES_BANETTE] = gMonIcon_Banette,
+ [SPECIES_SEVIPER] = gMonIcon_Seviper,
+ [SPECIES_ZANGOOSE] = gMonIcon_Zangoose,
+ [SPECIES_RELICANTH] = gMonIcon_Relicanth,
+ [SPECIES_ARON] = gMonIcon_Aron,
+ [SPECIES_LAIRON] = gMonIcon_Lairon,
+ [SPECIES_AGGRON] = gMonIcon_Aggron,
+ [SPECIES_CASTFORM] = gMonIcon_Castform,
+ [SPECIES_VOLBEAT] = gMonIcon_Volbeat,
+ [SPECIES_ILLUMISE] = gMonIcon_Illumise,
+ [SPECIES_LILEEP] = gMonIcon_Lileep,
+ [SPECIES_CRADILY] = gMonIcon_Cradily,
+ [SPECIES_ANORITH] = gMonIcon_Anorith,
+ [SPECIES_ARMALDO] = gMonIcon_Armaldo,
+ [SPECIES_RALTS] = gMonIcon_Ralts,
+ [SPECIES_KIRLIA] = gMonIcon_Kirlia,
+ [SPECIES_GARDEVOIR] = gMonIcon_Gardevoir,
+ [SPECIES_BAGON] = gMonIcon_Bagon,
+ [SPECIES_SHELGON] = gMonIcon_Shelgon,
+ [SPECIES_SALAMENCE] = gMonIcon_Salamence,
+ [SPECIES_BELDUM] = gMonIcon_Beldum,
+ [SPECIES_METANG] = gMonIcon_Metang,
+ [SPECIES_METAGROSS] = gMonIcon_Metagross,
+ [SPECIES_REGIROCK] = gMonIcon_Regirock,
+ [SPECIES_REGICE] = gMonIcon_Regice,
+ [SPECIES_REGISTEEL] = gMonIcon_Registeel,
+ [SPECIES_KYOGRE] = gMonIcon_Kyogre,
+ [SPECIES_GROUDON] = gMonIcon_Groudon,
+ [SPECIES_RAYQUAZA] = gMonIcon_Rayquaza,
+ [SPECIES_LATIAS] = gMonIcon_Latias,
+ [SPECIES_LATIOS] = gMonIcon_Latios,
+ [SPECIES_JIRACHI] = gMonIcon_Jirachi,
+ [SPECIES_DEOXYS] = gMonIcon_Deoxys,
+ [SPECIES_CHIMECHO] = gMonIcon_Chimecho,
+ [SPECIES_EGG] = gMonIcon_Egg,
+ [SPECIES_UNOWN_B] = gMonIcon_UnownB,
+ [SPECIES_UNOWN_C] = gMonIcon_UnownC,
+ [SPECIES_UNOWN_D] = gMonIcon_UnownD,
+ [SPECIES_UNOWN_E] = gMonIcon_UnownE,
+ [SPECIES_UNOWN_F] = gMonIcon_UnownF,
+ [SPECIES_UNOWN_G] = gMonIcon_UnownG,
+ [SPECIES_UNOWN_H] = gMonIcon_UnownH,
+ [SPECIES_UNOWN_I] = gMonIcon_UnownI,
+ [SPECIES_UNOWN_J] = gMonIcon_UnownJ,
+ [SPECIES_UNOWN_K] = gMonIcon_UnownK,
+ [SPECIES_UNOWN_L] = gMonIcon_UnownL,
+ [SPECIES_UNOWN_M] = gMonIcon_UnownM,
+ [SPECIES_UNOWN_N] = gMonIcon_UnownN,
+ [SPECIES_UNOWN_O] = gMonIcon_UnownO,
+ [SPECIES_UNOWN_P] = gMonIcon_UnownP,
+ [SPECIES_UNOWN_Q] = gMonIcon_UnownQ,
+ [SPECIES_UNOWN_R] = gMonIcon_UnownR,
+ [SPECIES_UNOWN_S] = gMonIcon_UnownS,
+ [SPECIES_UNOWN_T] = gMonIcon_UnownT,
+ [SPECIES_UNOWN_U] = gMonIcon_UnownU,
+ [SPECIES_UNOWN_V] = gMonIcon_UnownV,
+ [SPECIES_UNOWN_W] = gMonIcon_UnownW,
+ [SPECIES_UNOWN_X] = gMonIcon_UnownX,
+ [SPECIES_UNOWN_Y] = gMonIcon_UnownY,
+ [SPECIES_UNOWN_Z] = gMonIcon_UnownZ,
+ [SPECIES_UNOWN_EMARK] = gMonIcon_UnownExclamationMark,
+ [SPECIES_UNOWN_QMARK] = gMonIcon_UnownQuestionMark,
};
const u8 gMonIconPaletteIndices[] =
@@ -927,18 +927,15 @@ const struct SpritePalette gMonIconPaletteTable[] =
const struct OamData sMonIconOamData =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
- .matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
- .affineParam = 0
};
// fastest to slowest
@@ -1141,7 +1138,7 @@ void sub_80D2EF8(struct Sprite *sprite)
void LoadMonIconPalettes(void)
{
u8 i;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < ARRAY_COUNT(gMonIconPaletteTable); i++)
LoadSpritePalette(&gMonIconPaletteTable[i]);
}
@@ -1195,7 +1192,7 @@ void sub_80D3014(struct Sprite *sprite)
const u8* GetMonIconTiles(u16 species, bool32 extra)
{
const u8* iconSprite = gMonIconTable[species];
- if(species == SPECIES_DEOXYS && extra == TRUE)
+ if (species == SPECIES_DEOXYS && extra == TRUE)
{
iconSprite = (const u8*)(0x400 + (u32)iconSprite); //WTF?
}
diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c
index 98d83d8ce..f63e1ccba 100644
--- a/src/pokemon_size_record.c
+++ b/src/pokemon_size_record.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "data.h"
#include "event_data.h"
#include "pokedex.h"
#include "pokemon.h"
@@ -45,7 +46,6 @@ static const u8 sGiftRibbonsMonDataIds[] =
extern const u8 gText_DecimalPoint[];
extern const u8 gText_Marco[];
-extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
#define CM_PER_INCH 2.54
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index c5d40877b..148be7c5c 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "alloc.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "dma3.h"
#include "dynamic_placeholder_text_util.h"
@@ -463,8 +463,6 @@ EWRAM_DATA static u8 sMovingMonOrigBoxId = 0;
EWRAM_DATA static u8 sMovingMonOrigBoxPos = 0;
EWRAM_DATA static bool8 sCanOnlyMove = 0;
-extern const struct CompressedSpriteSheet gMonFrontPicTable[];
-
// This file's functions.
static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr);
static void Cb2_EnterPSS(u8 boxOption);
@@ -969,10 +967,10 @@ static const struct OamData sOamData_857286C =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -986,10 +984,10 @@ static const struct OamData sOamData_8572874 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(16x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(16x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -1062,10 +1060,10 @@ static const struct OamData sOamData_85728EC =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -1467,8 +1465,8 @@ static const struct SpriteSheet gUnknown_0857B080 = {gPCGfx_Arrow, 0x80, 6};
static const struct OamData gOamData_83BB298 =
{
- .shape = ST_OAM_H_RECTANGLE,
- .size = 2,
+ .shape = SPRITE_SHAPE(32x16),
+ .size = SPRITE_SIZE(32x16),
.priority = 2
};
@@ -1503,7 +1501,8 @@ static const struct SpriteTemplate gSpriteTemplate_857B0A8 =
static const struct OamData gOamData_83BB2D0 =
{
- .shape = ST_OAM_V_RECTANGLE,
+ .shape = SPRITE_SHAPE(8x16),
+ .size = SPRITE_SIZE(8x16),
.priority = 2
};
@@ -2004,7 +2003,7 @@ static void sub_80C7958(u8 curBox)
u8 spriteId;
struct SpriteTemplate template;
struct OamData oamData = {};
- oamData.size = 3;
+ oamData.size = SPRITE_SIZE(64x64);
oamData.paletteNum = 1;
template = (struct SpriteTemplate){
0, 0, &oamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
@@ -2017,8 +2016,8 @@ static void sub_80C7958(u8 curBox)
spriteId = CreateSprite(&template, 160, 96, 0);
gUnknown_02039D04->unk_0000 = gSprites + spriteId;
- oamData.shape = ST_OAM_V_RECTANGLE;
- oamData.size = 1;
+ oamData.shape = SPRITE_SHAPE(8x32);
+ oamData.size = SPRITE_SIZE(8x32);
template.tileTag = gUnknown_02039D04->unk_0240 + 1;
template.anims = sSpriteAnimTable_8571710;
for (i = 0; i < 4; i++)
@@ -4418,7 +4417,7 @@ static void PrintStorageActionText(u8 id)
DynamicPlaceholderTextUtil_ExpandPlaceholders(sPSSData->field_2190, gPCStorageActionTexts[id].text);
FillWindowPixelBuffer(1, PIXEL_FILL(1));
AddTextPrinterParameterized(1, 1, sPSSData->field_2190, 0, 1, TEXT_SPEED_FF, NULL);
- sub_8098858(1, 2, 14);
+ DrawTextBorderOuter(1, 2, 14);
PutWindowTilemap(1);
CopyWindowToVram(1, 2);
schedule_bg_copy_tilemap_to_vram(0);
@@ -8490,12 +8489,14 @@ static void sub_80CFC14(void)
static const struct OamData sOamData_857BA0C =
{
- .size = 2,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
.priority = 1,
};
static const struct OamData sOamData_857BA14 =
{
- .size = 1,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
.priority = 1,
};
@@ -9358,10 +9359,10 @@ static const struct OamData sOamData_857BBA4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index 3bbc832a0..2ec088628 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -9,7 +9,7 @@
#include "bg.h"
#include "contest.h"
#include "contest_effect.h"
-#include "data2.h"
+#include "data.h"
#include "daycare.h"
#include "decompress.h"
#include "dynamic_placeholder_text_util.h"
@@ -164,7 +164,6 @@ static EWRAM_DATA struct PokemonSummaryScreenData
EWRAM_DATA u8 gLastViewedMonIndex = 0;
static EWRAM_DATA u8 sUnknown_0203CF21 = 0;
ALIGNED(4) static EWRAM_DATA u8 sUnknownTaskId = 0;
-extern const struct CompressedSpriteSheet gMonFrontPicTable[];
struct UnkStruct_61CC04
{
@@ -710,10 +709,10 @@ static const struct OamData sOamData_MoveTypes =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x16),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -886,10 +885,10 @@ static const struct OamData gOamData_861CFF4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -975,10 +974,10 @@ static const struct OamData sOamData_StatusCondition =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(32x8),
.tileNum = 0,
.priority = 3,
.paletteNum = 0,
diff --git a/src/pokenav_match_call.c b/src/pokenav_match_call.c
index b775ed10e..1f621922d 100644
--- a/src/pokenav_match_call.c
+++ b/src/pokenav_match_call.c
@@ -1,13 +1,12 @@
#include "global.h"
#include "battle_setup.h"
+#include "data.h"
#include "event_data.h"
#include "string_util.h"
#include "battle.h"
#include "gym_leader_rematch.h"
#include "match_call.h"
-extern const u8 gTrainerClassNames[][13];
-
// Static type declarations
typedef struct MatchCallTextDataStruct {
@@ -73,22 +72,17 @@ struct MatchCallStruct4 {
const match_call_text_data_t *textData;
};
+// Note: Type1 and Type5 have identical struct layouts.
struct MatchCallStruct5 {
u8 type;
u8 v1;
u16 flag;
- u16 v4;
+ u16 rematchTableIdx;
const u8 *desc;
const u8 *name;
const match_call_text_data_t *textData;
};
-#define MATCHCALLDEF(name, type_, ...) \
-static const struct MatchCallStruct##type_ name = { \
- .type = type_, \
- __VA_ARGS__ \
-};
-
typedef union {
const struct MatchCallStructCommon *common;
const struct MatchCallStruct0 *type0;
@@ -328,7 +322,15 @@ static const match_call_text_data_t sMrStoneTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sMrStoneMatchCallHeader, 0, 10, 0xffff, gMrStoneMatchCallDesc, gMrStoneMatchCallName, sMrStoneTextScripts);
+static const struct MatchCallStruct0 sMrStoneMatchCallHeader =
+{
+ .type = 0,
+ .v1 = 10,
+ .flag = 0xFFFF,
+ .desc = gMrStoneMatchCallDesc,
+ .name = gMrStoneMatchCallName,
+ .textData = sMrStoneTextScripts
+};
static const match_call_text_data_t sNormanTextScripts[] = {
{ gText_Norman_Pokenav_2B5719, FLAG_ENABLE_NORMAN_MATCH_CALL, 0xFFFF },
@@ -343,9 +345,25 @@ static const match_call_text_data_t sNormanTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sNormanMatchCallHeader, 5, 7, FLAG_ENABLE_NORMAN_MATCH_CALL, 0x45, gNormanMatchCallDesc, gNormanMatchCallName, sNormanTextScripts);
+static const struct MatchCallStruct5 sNormanMatchCallHeader =
+{
+ .type = 5,
+ .v1 = 7,
+ .flag = FLAG_ENABLE_NORMAN_MATCH_CALL,
+ .rematchTableIdx = REMATCH_NORMAN,
+ .desc = gNormanMatchCallDesc,
+ .name = gNormanMatchCallName,
+ .textData = sNormanTextScripts
+};
-MATCHCALLDEF(sProfBirchMatchCallHeader, 3, 0, FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, gProfBirchMatchCallDesc, gProfBirchMatchCallName)
+static const struct MatchCallStruct3 sProfBirchMatchCallHeader =
+{
+ .type = 3,
+ .v1 = 0,
+ .flag = FLAG_ENABLE_PROF_BIRCH_MATCH_CALL,
+ .desc = gProfBirchMatchCallDesc,
+ .name = gProfBirchMatchCallName
+};
static const match_call_text_data_t sMomTextScripts[] = {
{ gText_Mom_Pokenav_2B227B, 0xffff, 0xffff },
@@ -354,7 +372,15 @@ static const match_call_text_data_t sMomTextScripts[] = {
{ NULL, 0xffff, 0xffff }
};
-MATCHCALLDEF(sMomMatchCallHeader, 0, 0, FLAG_ENABLE_MOM_MATCH_CALL, gMomMatchCallDesc, gMomMatchCallName, sMomTextScripts);
+static const struct MatchCallStruct0 sMomMatchCallHeader =
+{
+ .type = 0,
+ .v1 = 0,
+ .flag = FLAG_ENABLE_MOM_MATCH_CALL,
+ .desc = gMomMatchCallDesc,
+ .name = gMomMatchCallName,
+ .textData = sMomTextScripts
+};
static const match_call_text_data_t sStevenTextScripts[] = {
{ gText_Steven_Pokenav_2B5B95, 0xffff, 0xffff },
@@ -367,7 +393,15 @@ static const match_call_text_data_t sStevenTextScripts[] = {
{ NULL, 0xffff, 0xffff },
};
-MATCHCALLDEF(sStevenMatchCallHeader, 0, 0xd5, FLAG_REGISTERED_STEVEN_POKENAV, gStevenMatchCallDesc, gStevenMatchCallName, sStevenTextScripts);
+static const struct MatchCallStruct0 sStevenMatchCallHeader =
+{
+ .type = 0,
+ .v1 = 0xD5,
+ .flag = FLAG_REGISTERED_STEVEN_POKENAV,
+ .desc = gStevenMatchCallDesc,
+ .name = gStevenMatchCallName,
+ .textData = sStevenTextScripts
+};
static const match_call_text_data_t sMayTextScripts[] = {
{ gText_May_Pokenav_2B3AB3, 0xFFFF, 0xFFFF },
@@ -388,7 +422,15 @@ static const match_call_text_data_t sMayTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sMayMatchCallHeader, 4, MALE, FLAG_ENABLE_RIVAL_MATCH_CALL, gMayBrendanMatchCallDesc, gExpandedPlaceholder_May, sMayTextScripts);
+static const struct MatchCallStruct4 sMayMatchCallHeader =
+{
+ .type = 4,
+ .gender = MALE,
+ .flag = FLAG_ENABLE_RIVAL_MATCH_CALL,
+ .desc = gMayBrendanMatchCallDesc,
+ .name = gExpandedPlaceholder_May,
+ .textData = sMayTextScripts
+};
static const match_call_text_data_t sBrendanTextScripts[] = {
{ gText_Brendan_Pokenav_2B43EF, 0xFFFF, 0xFFFF },
@@ -409,7 +451,15 @@ static const match_call_text_data_t sBrendanTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sBrendanMatchCallHeader, 4, FEMALE, FLAG_ENABLE_RIVAL_MATCH_CALL, gMayBrendanMatchCallDesc, gExpandedPlaceholder_Brendan, sBrendanTextScripts);
+static const struct MatchCallStruct4 sBrendanMatchCallHeader =
+{
+ .type = 4,
+ .gender = FEMALE,
+ .flag = FLAG_ENABLE_RIVAL_MATCH_CALL,
+ .desc = gMayBrendanMatchCallDesc,
+ .name = gExpandedPlaceholder_Brendan,
+ .textData = sBrendanTextScripts
+};
static const match_call_text_data_t sWallyTextScripts[] = {
{ gText_Wally_Pokenav_2B4DE2, 0xFFFF, 0xFFFF },
@@ -429,7 +479,16 @@ const struct MatchCallSubstruct2 sWallyAdditionalData[] = {
{ 0xFFFF, 0xD5 }
};
-MATCHCALLDEF(sWallyMatchCallHeader, 2, 0, FLAG_ENABLE_WALLY_MATCH_CALL, REMATCH_WALLY_3, gWallyMatchCallDesc, sWallyTextScripts, sWallyAdditionalData);
+static const struct MatchCallStruct2 sWallyMatchCallHeader =
+{
+ .type = 2,
+ .v1 = 0,
+ .flag = FLAG_ENABLE_WALLY_MATCH_CALL,
+ .rematchTableIdx = REMATCH_WALLY_3,
+ .desc = gWallyMatchCallDesc,
+ .textData = sWallyTextScripts,
+ .v10 = sWallyAdditionalData
+};
static const match_call_text_data_t sScottTextScripts[] = {
{ gText_Scott_Pokenav_2B5184, 0xFFFF, 0xFFFF },
@@ -443,7 +502,15 @@ static const match_call_text_data_t sScottTextScripts[] = {
};
-MATCHCALLDEF(sScottMatchCallHeader, 0, 0xD5, FLAG_ENABLE_SCOTT_MATCH_CALL, gScottMatchCallDesc, gScottMatchCallName, sScottTextScripts);
+static const struct MatchCallStruct0 sScottMatchCallHeader =
+{
+ .type = 0,
+ .v1 = 0xD5,
+ .flag = FLAG_ENABLE_SCOTT_MATCH_CALL,
+ .desc = gScottMatchCallDesc,
+ .name = gScottMatchCallName,
+ .textData = sScottTextScripts
+};
static const match_call_text_data_t sRoxanneTextScripts[] = {
{ gText_Roxanne_Pokenav_2B2456, 0xFFFE, 0xFFFF },
@@ -453,7 +520,16 @@ static const match_call_text_data_t sRoxanneTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sRoxanneMatchCallHeader, 5, 10, FLAG_ENABLE_ROXANNE_MATCH_CALL, 0x41, gRoxanneMatchCallDesc, NULL, sRoxanneTextScripts);
+static const struct MatchCallStruct5 sRoxanneMatchCallHeader =
+{
+ .type = 5,
+ .v1 = 10,
+ .flag = FLAG_ENABLE_ROXANNE_MATCH_CALL,
+ .rematchTableIdx = REMATCH_ROXANNE,
+ .desc = gRoxanneMatchCallDesc,
+ .name = NULL,
+ .textData = sRoxanneTextScripts
+};
static const match_call_text_data_t sBrawlyTextScripts[] = {
{ gText_Brawly_Pokenav_2B2659, 0xFFFE, 0xFFFF },
@@ -463,7 +539,16 @@ static const match_call_text_data_t sBrawlyTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sBrawlyMatchCallHeader, 5, 2, FLAG_ENABLE_BRAWLY_MATCH_CALL, 0x42, gBrawlyMatchCallDesc, NULL, sBrawlyTextScripts);
+static const struct MatchCallStruct5 sBrawlyMatchCallHeader =
+{
+ .type = 5,
+ .v1 = 2,
+ .flag = FLAG_ENABLE_BRAWLY_MATCH_CALL,
+ .rematchTableIdx = REMATCH_BRAWLY,
+ .desc = gBrawlyMatchCallDesc,
+ .name = NULL,
+ .textData = sBrawlyTextScripts
+};
static const match_call_text_data_t sWattsonTextScripts[] = {
{ gText_Wattson_Pokenav_2B2912, 0xFFFE, 0xFFFF },
@@ -473,7 +558,16 @@ static const match_call_text_data_t sWattsonTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sWattsonMatchCallHeader, 5, 9, FLAG_ENABLE_WATTSON_MATCH_CALL, 0x43, gWattsonMatchCallDesc, NULL, sWattsonTextScripts);
+static const struct MatchCallStruct5 sWattsonMatchCallHeader =
+{
+ .type = 5,
+ .v1 = 9,
+ .flag = FLAG_ENABLE_WATTSON_MATCH_CALL,
+ .rematchTableIdx = REMATCH_WATTSON,
+ .desc = gWattsonMatchCallDesc,
+ .name = NULL,
+ .textData = sWattsonTextScripts
+};
static const match_call_text_data_t sFlanneryTextScripts[] = {
{ gText_Flannery_Pokenav_2B2B4D, 0xFFFE, 0xFFFF },
@@ -483,7 +577,16 @@ static const match_call_text_data_t sFlanneryTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sFlanneryMatchCallHeader, 5, 3, FLAG_ENABLE_FLANNERY_MATCH_CALL, 0x44, gFlanneryMatchCallDesc, NULL, sFlanneryTextScripts);
+static const struct MatchCallStruct5 sFlanneryMatchCallHeader =
+{
+ .type = 5,
+ .v1 = 3,
+ .flag = FLAG_ENABLE_FLANNERY_MATCH_CALL,
+ .rematchTableIdx = REMATCH_FLANNERY,
+ .desc = gFlanneryMatchCallDesc,
+ .name = NULL,
+ .textData = sFlanneryTextScripts
+};
static const match_call_text_data_t sWinonaTextScripts[] = {
{ gText_Winona_Pokenav_2B2DA4, 0xFFFE, 0xFFFF },
@@ -493,7 +596,16 @@ static const match_call_text_data_t sWinonaTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sWinonaMatchCallHeader, 5, 11, FLAG_ENABLE_WINONA_MATCH_CALL, 0x46, gWinonaMatchCallDesc, NULL, sWinonaTextScripts);
+static const struct MatchCallStruct5 sWinonaMatchCallHeader =
+{
+ .type = 5,
+ .v1 = 11,
+ .flag = FLAG_ENABLE_WINONA_MATCH_CALL,
+ .rematchTableIdx = REMATCH_WINONA,
+ .desc = gWinonaMatchCallDesc,
+ .name = NULL,
+ .textData = sWinonaTextScripts
+};
static const match_call_text_data_t sTateLizaTextScripts[] = {
{ gText_TateLiza_Pokenav_2B2F97, 0xFFFE, 0xFFFF },
@@ -503,7 +615,16 @@ static const match_call_text_data_t sTateLizaTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sTateLizaMatchCallHeader, 5, 13, FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL, 0x47, gTateLizaMatchCallDesc, NULL, sTateLizaTextScripts);
+static const struct MatchCallStruct5 sTateLizaMatchCallHeader =
+{
+ .type = 5,
+ .v1 = 13,
+ .flag = FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL,
+ .rematchTableIdx = REMATCH_TATE_AND_LIZA,
+ .desc = gTateLizaMatchCallDesc,
+ .name = NULL,
+ .textData = sTateLizaTextScripts
+};
static const match_call_text_data_t sJuanTextScripts[] = {
{ gText_Juan_Pokenav_2B3249, 0xFFFE, 0xFFFF },
@@ -513,42 +634,96 @@ static const match_call_text_data_t sJuanTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sJuanMatchCallHeader, 5, 14, FLAG_ENABLE_JUAN_MATCH_CALL, 0x48, gJuanMatchCallDesc, NULL, sJuanTextScripts);
+static const struct MatchCallStruct5 sJuanMatchCallHeader =
+{
+ .type = 5,
+ .v1 = 14,
+ .flag = FLAG_ENABLE_JUAN_MATCH_CALL,
+ .rematchTableIdx = REMATCH_JUAN,
+ .desc = gJuanMatchCallDesc,
+ .name = NULL,
+ .textData = sJuanTextScripts
+};
static const match_call_text_data_t sSidneyTextScripts[] = {
{ gText_Sidney_Pokenav_2B34CC, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sSidneyMatchCallHeader, 5, 15, FLAG_REMATCH_JUAN, 0x49, gEliteFourMatchCallDesc, NULL, sSidneyTextScripts);
+static const struct MatchCallStruct5 sSidneyMatchCallHeader =
+{
+ .type = 5,
+ .v1 = 15,
+ .flag = FLAG_REMATCH_SIDNEY,
+ .rematchTableIdx = REMATCH_SIDNEY,
+ .desc = gEliteFourMatchCallDesc,
+ .name = NULL,
+ .textData = sSidneyTextScripts
+};
static const match_call_text_data_t sPhoebeTextScripts[] = {
{ gText_Phoebe_Pokenav_2B3561, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sPhoebeMatchCallHeader, 5, 15, FLAG_REMATCH_SIDNEY, 0x4A, gEliteFourMatchCallDesc, NULL, sPhoebeTextScripts);
+static const struct MatchCallStruct5 sPhoebeMatchCallHeader =
+{
+ .type = 5,
+ .v1 = 15,
+ .flag = FLAG_REMATCH_PHOEBE,
+ .rematchTableIdx = REMATCH_PHOEBE,
+ .desc = gEliteFourMatchCallDesc,
+ .name = NULL,
+ .textData = sPhoebeTextScripts
+};
static const match_call_text_data_t sGlaciaTextScripts[] = {
{ gText_Glacia_Pokenav_2B35E4, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sGlaciaMatchCallHeader, 5, 15, FLAG_REMATCH_PHOEBE, 0x4B, gEliteFourMatchCallDesc, NULL, sGlaciaTextScripts);
+static const struct MatchCallStruct5 sGlaciaMatchCallHeader =
+{
+ .type = 5,
+ .v1 = 15,
+ .flag = FLAG_REMATCH_GLACIA,
+ .rematchTableIdx = REMATCH_GLACIA,
+ .desc = gEliteFourMatchCallDesc,
+ .name = NULL,
+ .textData = sGlaciaTextScripts
+};
static const match_call_text_data_t sDrakeTextScripts[] = {
{ gText_Drake_Pokenav_2B368B, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sDrakeMatchCallHeader, 5, 15, FLAG_REMATCH_GLACIA, 0x4C, gEliteFourMatchCallDesc, NULL, sDrakeTextScripts);
+static const struct MatchCallStruct5 sDrakeMatchCallHeader =
+{
+ .type = 5,
+ .v1 = 15,
+ .flag = FLAG_REMATCH_DRAKE,
+ .rematchTableIdx = REMATCH_DRAKE,
+ .desc = gEliteFourMatchCallDesc,
+ .name = NULL,
+ .textData = sDrakeTextScripts
+};
static const match_call_text_data_t sWallaceTextScripts[] = {
{ gText_Wallace_Pokenav_2B3790, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
-MATCHCALLDEF(sWallaceMatchCallHeader, 5, 15, FLAG_REMATCH_DRAKE, 0x4D, gChampionMatchCallDesc, NULL, sWallaceTextScripts);
+static const struct MatchCallStruct5 sWallaceMatchCallHeader =
+{
+ .type = 5,
+ .v1 = 15,
+ .flag = FLAG_REMATCH_WALLACE,
+ .rematchTableIdx = REMATCH_WALLACE,
+ .desc = gChampionMatchCallDesc,
+ .name = NULL,
+ .textData = sWallaceTextScripts
+};
static const match_call_t sMatchCallHeaders[] = {
{.type0 = &sMrStoneMatchCallHeader},
@@ -680,7 +855,7 @@ bool32 MatchCallFlagGetByIndex(u32 idx)
match_call_t matchCall;
u32 i;
- if (idx > 20)
+ if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
return FALSE;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
@@ -727,7 +902,7 @@ u8 sub_81D16DC(u32 idx)
match_call_t matchCall;
u32 i;
- if (idx > 20)
+ if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
return 0;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
@@ -771,7 +946,7 @@ bool32 MatchCall_IsRematchable(u32 idx)
match_call_t matchCall;
u32 i;
- if (idx > 20)
+ if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
return 0;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
@@ -810,13 +985,13 @@ bool32 sub_81D17E8(u32 idx)
match_call_t matchCall;
u32 i;
- if (idx > 20)
+ if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
return FALSE;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
if (gUnknown_08625338[i](matchCall))
return TRUE;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++)
{
if (sMatchCallCheckPageOverrides[i].idx == idx)
return TRUE;
@@ -854,7 +1029,7 @@ u32 MatchCall_GetRematchTableIdx(u32 idx)
match_call_t matchCall;
u32 i;
- if (idx > 20)
+ if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
return REMATCH_TABLE_ENTRIES;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
@@ -891,7 +1066,7 @@ void MatchCall_GetMessage(u32 idx, u8 *dest)
match_call_t matchCall;
u32 i;
- if (idx > 20)
+ if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
return;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
@@ -906,9 +1081,9 @@ static void MatchCall_GetMessage_Type0(match_call_t matchCall, u8 *dest)
static void MatchCall_GetMessage_Type1(match_call_t matchCall, u8 *dest)
{
if (matchCall.common->type != 5)
- sub_81D1920(matchCall.type5->textData, dest);
+ sub_81D1920(matchCall.type1->textData, dest);
else
- sub_81D199C(matchCall.type1->textData, matchCall.type1->rematchTableIdx, dest);
+ sub_81D199C(matchCall.type5->textData, matchCall.type5->rematchTableIdx, dest);
}
static void MatchCall_GetMessage_Type2(match_call_t matchCall, u8 *dest)
@@ -1093,7 +1268,7 @@ void sub_81D1A78(u32 idx, const u8 **desc, const u8 **name)
match_call_t matchCall;
u32 i;
- if (idx > 20)
+ if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
return;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
@@ -1146,11 +1321,11 @@ const u8 *sub_81D1B40(u32 idx, u32 offset)
{
u32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++)
{
if (sMatchCallCheckPageOverrides[i].idx == idx)
{
- for (; i + 1 < 4 && sMatchCallCheckPageOverrides[i + 1].idx == idx; i++)
+ for (; i + 1 < ARRAY_COUNT(sMatchCallCheckPageOverrides) && sMatchCallCheckPageOverrides[i + 1].idx == idx; i++)
{
if (!FlagGet(sMatchCallCheckPageOverrides[i + 1].v4))
break;
@@ -1244,7 +1419,7 @@ s32 sub_81D1BD0(u32 idx)
{
u32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++)
{
if (sMatchCallCheckPageOverrides[i].idx == idx)
return sMatchCallCheckPageOverrides[i].v2;
@@ -1256,7 +1431,7 @@ bool32 sub_81D1BF8(u32 idx)
{
s32 i;
- for (i = 0; i < 21; i++)
+ for (i = 0; i < (s32)ARRAY_COUNT(sMatchCallHeaders); i++)
{
u32 r0 = MatchCall_GetRematchTableIdx(i);
if (r0 != REMATCH_TABLE_ENTRIES && r0 == idx)
diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c
index 00a73a0a2..e2497a8dc 100644
--- a/src/rayquaza_scene.c
+++ b/src/rayquaza_scene.c
@@ -105,10 +105,10 @@ static const struct OamData sOamData_862A6BC =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -122,10 +122,10 @@ static const struct OamData sOamData_862A6C4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -139,10 +139,10 @@ static const struct OamData sOamData_862A6CC =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x32),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -156,10 +156,10 @@ static const struct OamData sOamData_862A6D4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x16),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -173,10 +173,10 @@ static const struct OamData sOamData_862A6DC =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(16x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(16x8),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -190,10 +190,10 @@ static const struct OamData sOamData_862A6E4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 2,
+ .shape = SPRITE_SHAPE(16x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(16x32),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -207,10 +207,10 @@ static const struct OamData sOamData_862A6EC =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -224,10 +224,10 @@ static const struct OamData sOamData_862A6F4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(32x8),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
diff --git a/src/record_mixing.c b/src/record_mixing.c
index 3a16f817e..85b52e478 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -47,7 +47,7 @@ struct RecordMixingHallRecords
struct PlayerRecordsRS
{
- struct SecretBaseRecord secretBases[SECRET_BASES_COUNT];
+ struct SecretBase secretBases[SECRET_BASES_COUNT];
TVShow tvShows[TV_SHOWS_COUNT];
PokeNews pokeNews[POKE_NEWS_COUNT];
OldMan oldMan;
@@ -60,7 +60,7 @@ struct PlayerRecordsRS
struct PlayerRecordsEmerald
{
- /* 0x0000 */ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT];
+ /* 0x0000 */ struct SecretBase secretBases[SECRET_BASES_COUNT];
/* 0x0c80 */ TVShow tvShows[TV_SHOWS_COUNT];
/* 0x1004 */ PokeNews pokeNews[POKE_NEWS_COUNT];
/* 0x1044 */ OldMan oldMan;
@@ -83,7 +83,7 @@ union PlayerRecords
// Static RAM declarations
static IWRAM_DATA bool8 gUnknown_03001130;
-static IWRAM_DATA struct SecretBaseRecord *sSecretBasesSave;
+static IWRAM_DATA struct SecretBase *sSecretBasesSave;
static IWRAM_DATA TVShow *sTvShowsSave;
static IWRAM_DATA PokeNews *sPokeNewsSave;
static IWRAM_DATA OldMan *sOldManSave;
@@ -208,7 +208,7 @@ static void PrepareUnknownExchangePacket(struct PlayerRecordsRS *dest)
static void PrepareExchangePacketForRubySapphire(struct PlayerRecordsRS *dest)
{
memcpy(dest->secretBases, sSecretBasesSave, sizeof(dest->secretBases));
- sub_80EB18C(dest->secretBases);
+ ClearJapaneseSecretBases(dest->secretBases);
memcpy(dest->tvShows, sTvShowsSave, sizeof(dest->tvShows));
sub_80F1208(dest->tvShows);
memcpy(dest->pokeNews, sPokeNewsSave, sizeof(dest->pokeNews));
@@ -226,7 +226,7 @@ static void PrepareExchangePacketForRubySapphire(struct PlayerRecordsRS *dest)
static void PrepareExchangePacket(void)
{
- sub_80E9914();
+ SetPlayerSecretBaseParty();
sub_80F0BB8();
SetSrcLookupPointers();
diff --git a/src/recorded_battle.c b/src/recorded_battle.c
index c11dc55e7..9f2be36af 100644
--- a/src/recorded_battle.c
+++ b/src/recorded_battle.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "battle.h"
+#include "battle_anim.h"
#include "recorded_battle.h"
#include "main.h"
#include "pokemon.h"
@@ -321,7 +322,7 @@ static bool32 RecordedBattleToSave(struct RecordedBattleSave *battleSave, struct
saveSection->checksum = CalcByteArraySum((void*)(saveSection), sizeof(*saveSection) - 4);
- if (sub_8153634(31, (void*)(saveSection)) != 1)
+ if (TryWriteSpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveSection)) != 1)
return FALSE;
else
return TRUE;
@@ -490,7 +491,7 @@ bool32 MoveRecordedBattleToSaveData(void)
static bool32 TryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst, struct SaveSection *saveBuffer)
{
- if (TryCopySpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveBuffer)) != 1)
+ if (TryReadSpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveBuffer)) != 1)
return FALSE;
memcpy(dst, saveBuffer, sizeof(struct RecordedBattleSave));
diff --git a/src/region_map.c b/src/region_map.c
index 8dadc78a7..25b47479d 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -36,6 +36,13 @@
// Static type declarations
+struct FlagControlledFlyDest
+{
+ const u8 *const *name;
+ u16 mapSecId;
+ u16 flag;
+};
+
// Static RAM declarations
static EWRAM_DATA struct RegionMap *gRegionMap = NULL;
@@ -106,7 +113,8 @@ static const u8 sRegionMap_MapSectionLayout[] = INCBIN_U8("graphics/pokenav/regi
#include "data/region_map/region_map_entries.h"
-static const u16 sRegionMap_SpecialPlaceLocations[][2] = {
+static const u16 sRegionMap_SpecialPlaceLocations[][2] =
+{
{MAPSEC_UNDERWATER_TERRA_CAVE, MAPSEC_ROUTE_105},
{MAPSEC_UNDERWATER_124, MAPSEC_ROUTE_124},
{MAPSEC_UNDERWATER_UNK1, MAPSEC_ROUTE_129},
@@ -133,13 +141,15 @@ static const u16 sRegionMap_SpecialPlaceLocations[][2] = {
{MAPSEC_NONE, MAPSEC_NONE}
};
-static const u16 sRegionMap_MarineCaveMapSecIds[] = {
+static const u16 sRegionMap_MarineCaveMapSecIds[] =
+{
MAPSEC_MARINE_CAVE,
MAPSEC_UNDERWATER_MARINE_CAVE,
MAPSEC_UNDERWATER_MARINE_CAVE
};
-static const u16 sTerraCaveMapSectionIds[] = {
+static const u16 sTerraCaveMapSectionIds[] =
+{
MAPSEC_ROUTE_114,
MAPSEC_ROUTE_114,
MAPSEC_ROUTE_115,
@@ -158,7 +168,8 @@ static const u16 sTerraCaveMapSectionIds[] = {
MAPSEC_ROUTE_129
};
-static const struct UCoords16 sTerraCaveLocationCoords[] = {
+static const struct UCoords16 sTerraCaveLocationCoords[] =
+{
{0x00, 0x0a},
{0x00, 0x0c},
{0x18, 0x03},
@@ -169,21 +180,27 @@ static const struct UCoords16 sTerraCaveLocationCoords[] = {
{0x18, 0x0a}
};
-static const u8 sRegionMap_MapSecAquaHideoutOld[] = {
+static const u8 sRegionMap_MapSecAquaHideoutOld[] =
+{
MAPSEC_AQUA_HIDEOUT_OLD
};
-static const struct OamData sRegionMapCursorOam = {
- .size = 1, .priority = 1
+static const struct OamData sRegionMapCursorOam =
+{
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .priority = 1
};
-static const union AnimCmd sRegionMapCursorAnim1[] = {
+static const union AnimCmd sRegionMapCursorAnim1[] =
+{
ANIMCMD_FRAME(0, 20),
ANIMCMD_FRAME(4, 20),
ANIMCMD_JUMP(0)
};
-static const union AnimCmd sRegionMapCursorAnim2[] = {
+static const union AnimCmd sRegionMapCursorAnim2[] =
+{
ANIMCMD_FRAME( 0, 10),
ANIMCMD_FRAME(16, 10),
ANIMCMD_FRAME(32, 10),
@@ -191,37 +208,49 @@ static const union AnimCmd sRegionMapCursorAnim2[] = {
ANIMCMD_JUMP(0)
};
-static const union AnimCmd *const sRegionMapCursorAnimTable[] = {
+static const union AnimCmd *const sRegionMapCursorAnimTable[] =
+{
sRegionMapCursorAnim1,
sRegionMapCursorAnim2
};
-static const struct SpritePalette sRegionMapCursorSpritePalette = { sRegionMapCursorPal, 0 };
+static const struct SpritePalette sRegionMapCursorSpritePalette =
+{
+ .data = sRegionMapCursorPal,
+ .tag = 0
+};
-static const struct SpriteTemplate sRegionMapCursorSpriteTemplate = {
- 0,
- 0,
- &sRegionMapCursorOam,
- sRegionMapCursorAnimTable,
- NULL,
- gDummySpriteAffineAnimTable,
- SpriteCallback_CursorFull
+static const struct SpriteTemplate sRegionMapCursorSpriteTemplate =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &sRegionMapCursorOam,
+ .anims = sRegionMapCursorAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallback_CursorFull
};
-static const struct OamData sRegionMapPlayerIconOam = {
- .size = 1, .priority = 2
+static const struct OamData sRegionMapPlayerIconOam =
+{
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .priority = 2
};
-static const union AnimCmd sRegionMapPlayerIconAnim1[] = {
+static const union AnimCmd sRegionMapPlayerIconAnim1[] =
+{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END
};
-static const union AnimCmd *const sRegionMapPlayerIconAnimTable[] = {
+static const union AnimCmd *const sRegionMapPlayerIconAnimTable[] =
+{
sRegionMapPlayerIconAnim1
};
-static const u8 sRegionMapEventSectionIds[] = {
+static const u8 sRegionMapEventSectionIds[] =
+{
MAPSEC_BIRTH_ISLAND_2,
MAPSEC_FARAWAY_ISLAND,
MAPSEC_NAVEL_ROCK2
@@ -237,7 +266,8 @@ static const u16 Unknown_085A1D48[] = INCBIN_U16("graphics/pokenav/fly_target_ic
static const u32 sUnknown_085A1D68[] = INCBIN_U32("graphics/pokenav/fly_target_icons.4bpp.lz");
-static const u8 sMapHealLocations[][3] = {
+static const u8 sMapHealLocations[][3] =
+{
{MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F},
{MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), HEAL_LOCATION_OLDALE_TOWN},
{MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), HEAL_LOCATION_DEWFORD_TOWN},
@@ -290,83 +320,150 @@ static const u8 sMapHealLocations[][3] = {
{MAP_GROUP(ROUTE134), MAP_NUM(ROUTE134), 0}
};
-static const u8 *const gUnknown_085A1ED4[] = {
+static const u8 *const gUnknown_085A1ED4[] =
+{
gText_PokemonLeague,
gText_PokemonCenter
};
-static const struct {
- const u8 *const *name;
- u16 mapSecId;
- u16 flag;
-} gUnknown_085A1EDC[] = {
- gUnknown_085A1ED4,
- MAPSEC_EVER_GRANDE_CITY,
- FLAG_LANDMARK_POKEMON_LEAGUE
+static const struct FlagControlledFlyDest gUnknown_085A1EDC[] =
+{
+ {
+ .name = gUnknown_085A1ED4,
+ .mapSecId = MAPSEC_EVER_GRANDE_CITY,
+ .flag = FLAG_LANDMARK_POKEMON_LEAGUE
+ }
};
-static const struct BgTemplate gUnknown_085A1EE4[] = {
- { .bg = 0, .charBaseIndex = 0, .mapBaseIndex = 31, .screenSize = 0, .paletteMode = 0, .priority = 0 },
- { .bg = 1, .charBaseIndex = 3, .mapBaseIndex = 30, .screenSize = 0, .paletteMode = 0, .priority = 1 },
- { .bg = 2, .charBaseIndex = 2, .mapBaseIndex = 28, .screenSize = 2, .paletteMode = 1, .priority = 2 }
+static const struct BgTemplate gUnknown_085A1EE4[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 3,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 28,
+ .screenSize = 2,
+ .paletteMode = 1,
+ .priority = 2
+ }
};
-static const struct WindowTemplate gUnknown_085A1EF0[] = {
- { 0, 17, 17, 12, 2, 15, 0x01 },
- { 0, 17, 15, 12, 4, 15, 0x19 },
- { 0, 1, 18, 14, 2, 15, 0x49 },
+static const struct WindowTemplate gUnknown_085A1EF0[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 17,
+ .tilemapTop = 17,
+ .width = 12,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x01
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 17,
+ .tilemapTop = 15,
+ .width = 12,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 0x19
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 18,
+ .width = 14,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x49
+ },
DUMMY_WIN_TEMPLATE
};
-static const struct SpritePalette gUnknown_085A1F10 = {
- Unknown_085A1D48, 2
+static const struct SpritePalette gUnknown_085A1F10 =
+{
+ .data = Unknown_085A1D48,
+ .tag = 2
};
-static const u16 sUnknown_085A1F18[][2] = {
- {FLAG_LANDMARK_BATTLE_FRONTIER, MAPSEC_BATTLE_FRONTIER},
- {-1, MAPSEC_NONE}
+static const u16 sUnknown_085A1F18[][2] =
+{
+ {
+ FLAG_LANDMARK_BATTLE_FRONTIER,
+ MAPSEC_BATTLE_FRONTIER
+ },
+ {
+ -1,
+ MAPSEC_NONE
+ }
};
-static const struct OamData gOamData_085A1F20 = {
+static const struct OamData gOamData_085A1F20 =
+{
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
.priority = 2
};
-static const union AnimCmd gUnknown_085A1F28[] = {
+static const union AnimCmd gUnknown_085A1F28[] =
+{
ANIMCMD_FRAME( 0, 5),
ANIMCMD_END
};
-static const union AnimCmd gUnknown_085A1F30[] = {
+static const union AnimCmd gUnknown_085A1F30[] =
+{
ANIMCMD_FRAME( 1, 5),
ANIMCMD_END
};
-static const union AnimCmd gUnknown_085A1F38[] = {
+static const union AnimCmd gUnknown_085A1F38[] =
+{
ANIMCMD_FRAME( 3, 5),
ANIMCMD_END
};
-static const union AnimCmd gUnknown_085A1F40[] = {
+static const union AnimCmd gUnknown_085A1F40[] =
+{
ANIMCMD_FRAME( 5, 5),
ANIMCMD_END
};
-static const union AnimCmd gUnknown_085A1F48[] = {
+static const union AnimCmd gUnknown_085A1F48[] =
+{
ANIMCMD_FRAME( 6, 5),
ANIMCMD_END
};
-static const union AnimCmd gUnknown_085A1F50[] = {
+static const union AnimCmd gUnknown_085A1F50[] =
+{
ANIMCMD_FRAME( 8, 5),
ANIMCMD_END
};
-static const union AnimCmd gUnknown_085A1F58[] = {
+static const union AnimCmd gUnknown_085A1F58[] =
+{
ANIMCMD_FRAME(10, 5),
ANIMCMD_END
};
-static const union AnimCmd *const gUnknown_085A1F60[] = {
+static const union AnimCmd *const gUnknown_085A1F60[] =
+{
gUnknown_085A1F28,
gUnknown_085A1F30,
gUnknown_085A1F38,
@@ -376,14 +473,15 @@ static const union AnimCmd *const gUnknown_085A1F60[] = {
gUnknown_085A1F58
};
-static const struct SpriteTemplate gUnknown_085A1F7C = {
- 2,
- 2,
- &gOamData_085A1F20,
- gUnknown_085A1F60,
- NULL,
- gDummySpriteAffineAnimTable,
- SpriteCallbackDummy
+static const struct SpriteTemplate gUnknown_085A1F7C =
+{
+ .tileTag = 2,
+ .paletteTag = 2,
+ .oam = &gOamData_085A1F20,
+ .anims = gUnknown_085A1F60,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
};
// .text
@@ -1679,7 +1777,7 @@ static void sub_8124904(void)
if (sFlyMap->regionMap.iconDrawType > MAPSECTYPE_NONE && sFlyMap->regionMap.iconDrawType <= MAPSECTYPE_BATTLE_FRONTIER)
{
flag = FALSE;
- for (i = 0; i < 1; i++)
+ for (i = 0; i < ARRAY_COUNT(gUnknown_085A1EDC); i++)
{
if (sFlyMap->regionMap.mapSecId == gUnknown_085A1EDC[i].mapSecId)
{
diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c
index ce9f5b98b..6ee757607 100644
--- a/src/reset_rtc_screen.c
+++ b/src/reset_rtc_screen.c
@@ -108,10 +108,10 @@ static const struct OamData sOamData_08510464 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c
index dd177f884..b804d2591 100644
--- a/src/reshow_battle_screen.c
+++ b/src/reshow_battle_screen.c
@@ -15,9 +15,7 @@
#include "constants/trainers.h"
#include "battle_interface.h"
#include "battle_anim.h"
-#include "data2.h"
-
-extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[];
+#include "data.h"
// this file's functions
static void CB2_ReshowBattleScreenAfterMenu(void);
@@ -233,7 +231,7 @@ static void CreateBattlerSprite(u8 battler)
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]);
if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_CASTFORM)
- gSprites[gBattlerSpriteIds[battler]].anims = gMonAnimationsSpriteAnimsPtrTable[SPECIES_CASTFORM];
+ gSprites[gBattlerSpriteIds[battler]].anims = gMonFrontAnimsPtrTable[SPECIES_CASTFORM];
}
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT)
{
@@ -269,7 +267,7 @@ static void CreateBattlerSprite(u8 battler)
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]);
if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_CASTFORM)
- gSprites[gBattlerSpriteIds[battler]].anims = gMonAnimationsSpriteAnimsPtrTable[SPECIES_CASTFORM];
+ gSprites[gBattlerSpriteIds[battler]].anims = gMonFrontAnimsPtrTable[SPECIES_CASTFORM];
}
gSprites[gBattlerSpriteIds[battler]].invisible = gBattleSpritesDataPtr->battlerData[battler].invisible;
diff --git a/src/rock.c b/src/rock.c
index 814b1d88b..f05816362 100644
--- a/src/rock.c
+++ b/src/rock.c
@@ -419,7 +419,7 @@ void AnimTask_LoadSandstormBackground(u8 taskId)
sub_80A6B30(&animBg);
AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08D8D58C, animBg.tilesOffset);
sub_80A6D60(&animBg, gUnknown_08D8D410, 0);
- LoadCompressedPalette(gBattleAnimSpritePalette_261, animBg.paletteId * 16, 32);
+ LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, animBg.paletteId * 16, 32);
if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
var0 = 1;
diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c
deleted file mode 100644
index 3d9eab8d7..000000000
--- a/src/rom_8011DC0.c
+++ /dev/null
@@ -1,3502 +0,0 @@
-#include "global.h"
-#include "window.h"
-#include "bg.h"
-#include "string_util.h"
-#include "task.h"
-#include "event_data.h"
-#include "link.h"
-#include "link_rfu.h"
-#include "librfu.h"
-#include "alloc.h"
-#include "menu.h"
-#include "list_menu.h"
-#include "menu_helpers.h"
-#include "script.h"
-#include "sound.h"
-#include "constants/songs.h"
-#include "constants/game_stat.h"
-#include "constants/maps.h"
-#include "constants/species.h"
-#include "constants/rgb.h"
-#include "constants/battle_frontier.h"
-#include "trade.h"
-#include "trainer_card.h"
-#include "overworld.h"
-#include "battle.h"
-#include "load_save.h"
-#include "cable_club.h"
-#include "field_control_avatar.h"
-#include "party_menu.h"
-#include "field_weather.h"
-#include "palette.h"
-#include "decompress.h"
-#include "start_menu.h"
-#include "data2.h"
-#include "field_screen_effect.h"
-#include "script_pokemon_util_80F87D8.h"
-
-struct UnkStruct_Shared
-{
- struct UnkLinkRfuStruct_02022B14 field_0;
- u8 needingPadding[2];
- u8 playerName[PLAYER_NAME_LENGTH + 1];
-};
-
-struct UnkStruct_x1C
-{
- struct UnkStruct_Shared unk0;
- u8 unk18;
-};
-
-struct UnkStruct_x20
-{
- struct UnkStruct_Shared unk;
- u16 field_18;
- u8 field_1A_0:2;
- u8 field_1A_1:1;
- u8 field_1B;
- u8 field_1D;
- u8 field_1E;
- u8 field_1F;
-};
-
-struct UnkStruct_Main0
-{
- struct UnkStruct_x20 arr[8];
-};
-
-struct UnkStruct_Main4
-{
- struct UnkStruct_x1C arr[5];
-};
-
-struct UnkStruct_Main8
-{
- struct UnkStruct_x20 arr[5];
-};
-
-struct UnkStruct_Leader
-{
- struct UnkStruct_Main0 *field_0;
- struct UnkStruct_Main4 *field_4;
- struct UnkStruct_Main8 *field_8;
- u8 state;
- u8 textState;
- u8 field_E;
- u8 listWindowId;
- u8 field_10;
- u8 field_11;
- u8 listTaskId;
- u8 field_13;
- u8 field_14;
- u8 field_15;
- u8 field_16;
- u8 field_17;
- u8 field_18;
- u8 field_19;
- u16 field_1A;
-};
-
-struct UnkStruct_Group
-{
- struct UnkStruct_Main0 *field_0;
- struct UnkStruct_Main4 *field_4;
- u8 state;
- u8 textState;
- u8 field_A;
- u8 listWindowId;
- u8 field_C;
- u8 field_D;
- u8 listTaskId;
- u8 field_F;
- u8 field_10;
- u8 field_11;
- u8 field_12;
- u8 field_13;
- u8 field_14;
- u8 field_15;
-};
-
-struct UnkStruct_8019BA8
-{
- u8 field_0;
- u8 field_1;
- u8 field_2;
- u8 field_3;
-};
-
-struct UnkStruct_URoom
-{
- struct UnkStruct_Main0 *field_0;
- struct UnkStruct_Main4 *field_4;
- struct UnkStruct_Main0 *field_8;
- struct UnkStruct_Main4 *field_C;
- u16 field_10;
- u16 field_12;
- u8 state;
- u8 stateAfterPrint;
- u8 textState;
- u8 field_17;
- u8 field_18;
- u8 field_19;
- u8 field_1A;
- u8 field_1B;
- u8 field_1C;
- u8 field_1D;
- u8 field_1E;
- u8 field_1F;
- u8 field_20;
- u8 spriteIds[40];
- u8 field_49;
- u8 field_4A;
- u16 field_4C[6];
- u8 field_58[0x98 - 0x58];
- u16 field_98;
- u16 field_9A[3];
- struct UnkStruct_8019BA8 field_A0[8];
-};
-
-union UnkUnion_Main
-{
- struct UnkStruct_Leader *leader;
- struct UnkStruct_Group *group;
- struct UnkStruct_URoom *uRoom;
-};
-
-struct TradeUnkStruct
-{
- u16 field_0;
- u16 field_2;
- u32 field_4;
- u8 field_8;
- u8 field_9;
- u16 field_A;
- u16 field_C;
- u16 species;
- u16 level;
- u16 field_12;
- u32 personality;
-};
-
-extern struct TradeUnkStruct gUnknown_02022C40;
-extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38;
-extern union UnkUnion_Main gUnknown_02022C30;
-extern u8 gUnknown_02022C2C;
-extern u8 gUnknown_02022C2D;
-extern u8 gUnknown_02022C3E;
-extern u16 gUnknown_02022C3C;
-extern u8 gUnknown_02022C20[];
-extern u8 gFieldLinkPlayerCount;
-extern u8 gLocalLinkPlayerId;
-
-// IWRAM vars
-IWRAM_DATA struct UnkStruct_Leader *gUnknown_03000DA0;
-IWRAM_DATA struct UnkStruct_Group *gUnknown_03000DA4;
-IWRAM_DATA struct UnkStruct_URoom *gUnknown_03000DA8;
-IWRAM_DATA void *gUnknown_03000DAC;
-IWRAM_DATA bool32 gUnknown_03000DB0;
-
-// this file's functions
-void sub_80173E0(u8 windowId, u8 arg1, const u8 *str, u8 arg3, u8 arg4, u8 arg5);
-u16 ReadAsU16(const u8 *ptr);
-void sub_8012780(u8 taskId);
-void sub_80134E8(u8 taskId);
-void sub_8013C7C(u8 taskId);
-void sub_8014A40(u8 taskId);
-void sub_8014F48(u8 taskId);
-void sub_80152F4(u8 taskId);
-void sub_80156E0(u8 taskId);
-void sub_80175EC(struct UnkStruct_Main4 *arg0, u8 count);
-void sub_8017580(struct UnkStruct_x20 *arg0, u8 count);
-u8 sub_8016FC0(struct UnkStruct_Main4 *arg0, u32 arg1);
-u8 sub_8016FF0(struct UnkStruct_Main4 *arg0, u32 arg1);
-bool8 PrintOnTextbox(u8 *textState, const u8 *str);
-bool8 sub_801320C(struct UnkStruct_Leader *data, u32 arg1, u32 arg2);
-u8 sub_8013398(struct UnkStruct_Main0 *arg0);
-s8 sub_80170B8(u8 *arg0, bool32 arg1);
-void sub_8018404(u8 *dest, struct UnkStruct_x20 *arg1);
-void sub_8012F64(struct UnkStruct_Leader *data);
-void sub_80149C4(void);
-u8 sub_80132D4(struct UnkStruct_Main0 *arg0);
-void sub_80178A0(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 id);
-u32 sub_80176E4(struct UnkStruct_x20 *arg0, struct UnkStruct_x1C *arg1);
-u8 sub_8017734(struct UnkStruct_x20 *arg0, struct UnkStruct_Shared *arg1, u8 arg2);
-u8 sub_8013E44(void);
-u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id);
-void sub_8013BD8(struct UnkStruct_Group *arg0, s32 id);
-void sub_80173D4(void);
-void sub_80177B8(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 id);
-bool32 sub_8017678(struct UnkStruct_x20 *arg0, struct UnkStruct_x1C *arg1);
-u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId);
-void sub_801807C(struct TradeUnkStruct *arg0);
-void sub_801B940(void);
-void sub_801B94C(u16);
-u16 sub_801B39C(void);
-void sub_801AC54(void);
-void sub_801DD98(void);
-void sub_802A9A8(u8 monId, MainCallback callback);
-void sub_802493C(u8 monId, MainCallback callback);
-void sub_8020C70(MainCallback callback);
-void sub_80149D8(void);
-u16 sub_8019930(void);
-void sub_8018784(u8 windowId);
-void sub_8018884(const u8 *src);
-bool32 mevent_0814257C(u8 *textState, const u8 *str);
-s8 sub_8018B08(u8 *textState, u8 *arg1, u8 arg2, const u8 *str);
-bool32 sub_8016F1C(struct UnkStruct_x20 *arg0, s16 arg1);
-u8 sub_8016DF0(struct UnkStruct_Main4 *arg0, struct UnkStruct_Main4 *arg1, u32 arg2);
-void sub_8019F2C(void);
-void sub_8019E70(u8 *arg0, s32 arg1);
-bool32 sub_80180A0(u8 monId, struct TradeUnkStruct *arg1);
-void sub_80180E8(u8 monId, struct TradeUnkStruct *arg1);
-bool32 sub_801A2A8(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3);
-void sub_80181CC(void);
-bool32 sub_8017940(void);
-u8 sub_8016B00(void);
-void sub_801A274(struct UnkStruct_URoom *arg0);
-void sub_801A284(struct UnkStruct_URoom *arg0);
-bool32 sub_8017FD8(struct UnkStruct_URoom *arg0);
-void sub_801689C(struct UnkStruct_URoom *arg0);
-u8 sub_80181DC(struct UnkStruct_URoom *arg0);
-bool32 sub_80168DC(struct UnkStruct_URoom *arg0);
-bool32 sub_801704C(void);
-s32 sub_8017CF8(s32 arg1, struct UnkStruct_Main0 *arg0);
-s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender);
-void sub_801818C(bool32 arg0);
-void sub_801A3D0(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2);
-s32 sub_8017178(u8 *arg0, u8 *arg1, u8 *arg2, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate);
-s32 sub_80172A0(u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate, struct UnkStruct_Main0 *arg6);
-bool32 sub_8018024(void);
-u32 sub_8017984(u32 arg0);
-void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2);
-void sub_8017D9C(u8 *dst, u32 arg1, u32 playerGender);
-u32 sub_80179AC(struct UnkStruct_x20 *arg0);
-void sub_8017E00(u8 *dst, u8 arg1);
-void sub_8019F04(u8 *spriteIds);
-void sub_8019E3C(void);
-void sub_80173B0(void);
-s32 sub_8017D04(u32 type, u32 species);
-void sub_8017020(const u8 *src);
-void sub_8019BA8(void *);
-s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3);
-void sub_801697C(u8 taskId);
-bool8 sub_8017630(struct UnkStruct_Shared* arg0, const struct UnkStruct_Shared* arg1);
-
-// const rom data
-extern const u8 *const gUnknown_082EDB60[][5];
-
-extern const u8 gText_UnkCtrlCodeF907[];
-extern const u8 gUnknown_082EDBC4[];
-extern const u8 gText_AwaitingCommunication[];
-extern const u8 gText_AwaitingLink[];
-extern const u8 gUnknown_082EDC5C[];
-extern const u8 gUnknown_082EDC9C[];
-extern const u8 gUnknown_082EDC78[];
-extern const u8 gUnknown_082EDD58[];
-extern const u8 gUnknown_082EDBE8[];
-extern const u8 gUnknown_082EDC0C[];
-extern const u8 gUnknown_082EDC34[];
-extern const u8 gUnknown_082EE560[];
-extern const u8 gUnknown_082EE57C[];
-extern const u8 gUnknown_082EFC54[];
-extern const u8 gUnknown_082EFC3C[];
-extern const u8 gUnknown_082EDE0C[];
-extern const u8 gUnknown_082EDDF4[];
-extern const u8 gUnknown_082EF7DC[];
-extern const u8 gUnknown_082EDE48[];
-extern const u8 gUnknown_082EDE64[];
-extern const u8 gUnknown_082EDF40[];
-extern const u8 gText_PleaseStartOver[];
-extern const u8 gUnknown_082EF7F8[];
-extern const u8 gUnknown_082EFBC8[];
-extern const u8 gUnknown_082EFC90[];
-extern const u8 gUnknown_082EDEC4[];
-extern const u8 gUnknown_082EDF04[];
-extern const u8 gText_WirelessSearchCanceled[];
-extern const u8 gUnknown_082EF4FC[];
-extern const u8 gUnknown_082EF520[];
-extern const u8 gUnknown_082EF5B8[];
-extern const u8 gUnknown_082EF1EC[];
-extern const u8 gUnknown_082EF544[];
-extern const u8 gUnknown_082EF47C[];
-extern const u8 gUnknown_082EE6C8[];
-extern const u8 gUnknown_082EE004[];
-extern const u8 gUnknown_082EEBD0[];
-extern const u8 gUnknown_082EEB88[];
-extern const u8 gUnknown_082EE598[];
-extern const u8 gUnknown_082EEC14[];
-extern const u8 gUnknown_082EF590[];
-extern const u8 gUnknown_082EF20C[];
-extern const u8 gUnknown_082EF564[];
-extern const u8 gUnknown_082EF4C4[];
-extern const u8 gUnknown_082EF298[];
-extern const u8 gUnknown_082EF65C[];
-extern const u8 gUnknown_082EF6E4[];
-extern const u8 gUnknown_082EF718[];
-
-extern const u32 gUnknown_082F00C4[];
-
-extern const u8 gUnknown_082F0530[];
-
-extern const struct WindowTemplate gUnknown_082F00BC;
-extern const struct WindowTemplate gUnknown_082F0124;
-extern const struct WindowTemplate gUnknown_082F012C;
-extern const struct WindowTemplate gUnknown_082F011C;
-extern const struct WindowTemplate gUnknown_082F0174;
-extern const struct WindowTemplate gUnknown_082F017C;
-extern const struct WindowTemplate gUnknown_082F021C;
-extern const struct WindowTemplate gUnknown_082F025C;
-extern const struct WindowTemplate gUnknown_082F0294;
-extern const struct WindowTemplate gUnknown_082F034C;
-
-extern const struct ListMenuTemplate gUnknown_082F015C;
-extern const struct ListMenuTemplate gUnknown_082F0204;
-extern const struct ListMenuTemplate gUnknown_082F0244;
-extern const struct ListMenuTemplate gUnknown_082F027C;
-extern const struct ListMenuTemplate gUnknown_082F032C;
-extern const struct ListMenuTemplate gUnknown_082F03A4;
-
-extern const u8 *const gUnknown_082F0048[];
-extern const u8 *const gUnknown_082EDDC4[];
-extern const u8 *const gUnknown_082EFB70[];
-extern const u8 *const gUnknown_082EDD50[];
-extern const u8 *const gUnknown_082EDE9C[];
-extern const u8 *const gUnknown_082EDF80[];
-extern const u8 *const gUnknown_082EFD58[];
-extern const u8 *const gUnknown_082EEB80[];
-extern const u8 *const gUnknown_082EE378[];
-extern const u8 *const gUnknown_082EEC9C[];
-extern const u8 *const gUnknown_082EED3C[];
-extern const u8 *const gUnknown_082EE324[];
-extern const u8 *const gUnknown_082EE17C[];
-
-extern const u8 *const gUnknown_082EE82C[][4];
-
-extern const u8 *const gUnknown_082EE24C[][2];
-
-extern const struct UnkStruct_Shared gUnknown_082F045C;
-
-extern const u8 *const gUnknown_082F04D8[22];
-
-// code
-void nullsub_89(void)
-{
-
-}
-
-void sub_80124EC(u8 windowId, u8 arg1, u8 stringId)
-{
- FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
- switch (arg1 << 8)
- {
- case 0x200:
- sub_80173E0(windowId, 1, gUnknown_082EDB60[0][stringId - 1], 0, 1, 0);
- break;
- case 0x400:
- sub_80173E0(windowId, 1, gUnknown_082EDB60[1][stringId - 1], 0, 1, 0);
- break;
- case 0x2500:
- sub_80173E0(windowId, 1, gUnknown_082EDB60[2][stringId - 1], 0, 1, 0);
- break;
- case 0x3500:
- sub_80173E0(windowId, 1, gUnknown_082EDB60[3][stringId - 1], 0, 1, 0);
- break;
- case 0x2400:
- sub_80173E0(windowId, 1, gUnknown_082EDB60[4][stringId - 1], 0, 1, 0);
- break;
- }
-
- CopyWindowToVram(windowId, 2);
-}
-
-void sub_80125BC(u8 windowId)
-{
- u8 text[30];
- u8 *txtPtr;
-
- sub_80173E0(windowId, 1, gSaveBlock2Ptr->playerName, 0, 1, 0);
- txtPtr = StringCopy(text, gText_UnkCtrlCodeF907);
- ConvertIntToDecimalStringN(txtPtr, ReadAsU16(gSaveBlock2Ptr->playerTrainerId), STR_CONV_MODE_LEADING_ZEROS, 5);
- sub_80173E0(windowId, 1, text, 0, 0x11, 0);
-}
-
-void sub_801262C(u8 *dst, u8 caseId)
-{
- switch (caseId)
- {
- case 1 ... 4:
- case 9 ... 11:
- case 14 ... 16:
- case 21 ... 28:
- // UB: argument *dst isn't used, instead it always prints to gStringVar4
- StringExpandPlaceholders(gStringVar4, gText_AwaitingCommunication);
- break;
- }
-}
-
-bool32 sub_80126CC(u32 caseId)
-{
- switch (caseId)
- {
- case 9 ... 11:
- case 15 ... 16:
- case 23 ... 27:
- return TRUE;
- default:
- return FALSE;
- }
-}
-
-void BerryBlenderLinkBecomeLeader(void)
-{
- u8 taskId;
- struct UnkStruct_Leader *dataPtr;
-
- taskId = CreateTask(sub_8012780, 0);
- gUnknown_02022C30.leader = dataPtr = (void*)(gTasks[taskId].data);
- gUnknown_03000DA0 = dataPtr;
-
- dataPtr->state = 0;
- dataPtr->textState = 0;
- gSpecialVar_Result = 0;
-}
-
-void sub_8012780(u8 taskId)
-{
- u32 id, val;
- struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
-
- switch (data->state)
- {
- case 0:
- if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN)
- gSpecialVar_0x8004++;
- gUnknown_02022C2C = gUnknown_082F00C4[gSpecialVar_0x8004];
- gUnknown_02022C2D = gUnknown_082F00C4[gSpecialVar_0x8004] >> 8;
- sub_8010F84(gUnknown_02022C2C, 0, 0);
- sub_800B488();
- OpenLink();
- sub_8011C10(gUnknown_02022C2D & 0xF);
- data->state = 3;
- break;
- case 3:
- data->field_4 = AllocZeroed(0x70);
- data->field_0 = AllocZeroed(0xA0);
- data->field_8 = AllocZeroed(0xA0);
- sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0->arr, 5);
- sub_800DF90(&data->field_0->arr[0].unk.field_0, data->field_0->arr[0].unk.playerName);
- data->field_0->arr[0].field_18 = 0;
- data->field_0->arr[0].field_1A_0 = 1;
- data->field_0->arr[0].field_1A_1 = 0;
- data->field_0->arr[0].field_1B = 0;
- data->field_17 = sub_8016FC0(data->field_4, 0xFF);
- data->field_10 = AddWindow(&gUnknown_082F00BC);
- switch (gUnknown_02022C2D & 0xF)
- {
- case 2:
- case 3:
- case 4:
- data->listWindowId = AddWindow(&gUnknown_082F011C);
- break;
- case 5:
- data->listWindowId = AddWindow(&gUnknown_082F0124);
- break;
- }
- data->field_11 = AddWindow(&gUnknown_082F012C);
-
- FillWindowPixelBuffer(data->field_10, PIXEL_FILL(2));
- sub_80173E0(data->field_10, 0, gUnknown_082EDBC4, 8, 1, 4);
- PutWindowTilemap(data->field_10);
- CopyWindowToVram(data->field_10, 2);
-
- DrawStdWindowFrame(data->listWindowId, FALSE);
- gMultiuseListMenuTemplate = gUnknown_082F015C;
- gMultiuseListMenuTemplate.windowId = data->listWindowId;
- data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
-
- DrawStdWindowFrame(data->field_11, FALSE);
- PutWindowTilemap(data->field_11);
- CopyWindowToVram(data->field_11, 2);
-
- CopyBgTilemapBufferToVram(0);
- data->field_13 = 1;
- data->state = 4;
- break;
- case 4:
- StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]);
- if ((gUnknown_02022C2D >> 4) != 0)
- {
- if (data->field_13 > (gUnknown_02022C2D >> 4) - 1 && (gUnknown_02022C2D & 0xF) != 0)
- StringExpandPlaceholders(gStringVar4, gText_AwaitingLink);
- else
- StringExpandPlaceholders(gStringVar4, gText_AwaitingCommunication);
- }
- else
- {
- sub_801262C(gStringVar4, gUnknown_02022C2C);
- }
-
- sub_80124EC(data->field_11, gUnknown_02022C2D, data->field_13);
- data->state = 5;
- break;
- case 5:
- if (PrintOnTextbox(&data->textState, gStringVar4))
- data->state = 6;
- break;
- case 6:
- sub_801320C(data, 7, 10);
- if (gMain.newKeys & B_BUTTON)
- {
- if (data->field_13 == 1)
- data->state = 23;
- else if ((gUnknown_02022C2D & 0xF0) != 0)
- data->state = 30;
- else
- data->state = 19;
- }
- if ((gUnknown_02022C2D >> 4) != 0
- && data->field_13 > (gUnknown_02022C2D >> 4) - 1
- && (gUnknown_02022C2D & 0xF) != 0
- && sub_8012240()
- && gMain.newKeys & START_BUTTON)
- {
- data->state = 15;
- sub_800EF38();
- }
- if (data->state == 6 && sub_80105EC())
- {
- data->state = 9;
- }
- break;
- case 9:
- if (!sub_80105EC())
- {
- data->state = 6;
- data->field_13 = sub_8013398(data->field_0);
- }
- break;
- case 10:
- id = ((gUnknown_02022C2C & 0xF) == 2) ? 1 : 0;
- if (PrintOnTextbox(&data->textState, gUnknown_082EDDC4[id]))
- {
- data->field_13 = sub_8013398(data->field_0);
- RedrawListMenu(data->listTaskId);
- data->state = 4;
- }
- break;
- case 29:
- id = ((gUnknown_02022C2D & 0xF) == 2) ? 0 : 1;
- if (PrintOnTextbox(&data->textState, gUnknown_082EDDC4[id]))
- {
- data->state = 21;
- }
- break;
- case 7:
- if (PrintOnTextbox(&data->textState, gStringVar4))
- {
- data->state = 11;
- }
- break;
- case 11:
- switch (sub_80170B8(&data->textState, sub_801064C(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName)))
- {
- case 0:
- sub_800E0E8();
- CreateWirelessStatusIndicatorSprite(0, 0);
- data->field_19 = 5;
- sub_8010688(5, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
- data->state = 12;
- break;
- case 1:
- case -1:
- data->field_19 = 6;
- sub_8010688(6, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
- data->state = 12;
- break;
- case -3:
- data->state = 9;
- break;
- }
- break;
- case 12:
- val = sub_8010714(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
- if (val == 1)
- {
- if (data->field_19 == 5)
- {
- data->field_0->arr[data->field_13].field_1B = 0;
- RedrawListMenu(data->listTaskId);
- data->field_13++;
- if (data->field_13 == (gUnknown_02022C2D & 0xF))
- {
- if ((gUnknown_02022C2D & 0xF0) != 0 || data->field_13 == 4)
- {
- data->state = 15;
- }
- else
- {
- sub_8018404(gStringVar1, &data->field_0->arr[data->field_13 - 1]);
- StringExpandPlaceholders(gStringVar4, gUnknown_082EDC9C);
- data->state = 13;
- }
-
- sub_800EF38();
- sub_80124EC(data->field_11, gUnknown_02022C2D, data->field_13);
- }
- else
- {
- data->state = 4;
- }
- }
- else
- {
- sub_8011DC0(data->field_0->arr[data->field_13].unk.playerName, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId));
- data->field_0->arr[data->field_13].field_1A_0 = 0;
- sub_8013398(data->field_0);
- RedrawListMenu(data->listTaskId);
- data->state = 4;
- }
-
- data->field_19 = 0;
- }
- else if (val == 2)
- {
- sub_8011A64(0, 0);
- data->state = 4;
- }
- break;
- case 13:
- if (PrintOnTextbox(&data->textState, gStringVar4))
- data->state = 14;
- break;
- case 14:
- if (++data->field_E > 120)
- data->state = 17;
- break;
- case 15:
- if (PrintOnTextbox(&data->textState, gUnknown_082EDC5C))
- data->state = 16;
- break;
- case 16:
- switch (sub_80170B8(&data->textState, FALSE))
- {
- case 0:
- data->state = 17;
- break;
- case 1:
- case -1:
- if ((gUnknown_02022C2D & 0xF0) != 0)
- data->state = 30;
- else
- data->state = 19;
- break;
- }
- break;
- case 19:
- if (PrintOnTextbox(&data->textState, gUnknown_082EDC78))
- data->state = 20;
- break;
- case 20:
- switch (sub_80170B8(&data->textState, FALSE))
- {
- case 0:
- data->state = 23;
- break;
- case 1:
- case -1:
- if ((gUnknown_02022C2D & 0xF0) != 0)
- data->state = 15;
- else if (data->field_13 == (gUnknown_02022C2D & 0xF))
- data->state = 15;
- else
- data->state = 4;
- break;
- }
- break;
- case 17:
- if (!sub_801320C(data, 7, 29))
- data->state = 18;
- break;
- case 18:
- if (sub_800EF1C())
- {
- if (sub_800EF58(FALSE))
- {
- data->state = 26;
- }
- else
- {
- if (++data->field_1A > 300)
- {
- data->state = 29;
- data->textState = 0;
- }
- }
- }
- else
- {
- data->state = 29;
- data->textState = 0;
- }
- break;
- case 30:
- if (PrintOnTextbox(&data->textState, gUnknown_082EDD58))
- data->state = 23;
- break;
- case 21:
- case 23:
- sub_800E084();
- sub_800EDD4();
- sub_8012F64(data);
- data->state++;
- break;
- case 24:
- EnableBothScriptContexts();
- DestroyTask(taskId);
- gSpecialVar_Result = 5;
- break;
- case 22:
- EnableBothScriptContexts();
- DestroyTask(taskId);
- gSpecialVar_Result = 8;
- break;
- case 26:
- if (sub_8011A80())
- {
- data->state = 29;
- }
- else
- {
- if (gReceivedRemoteLinkPlayers != 0)
- {
- if (sub_80126CC(gUnknown_02022C2C))
- sub_801103C();
- sub_8011068(1);
- sub_80149C4();
- sub_8012F64(data);
- DestroyTask(taskId);
- }
- }
- break;
- }
-}
-
-void sub_8012F64(struct UnkStruct_Leader *data)
-{
- ClearWindowTilemap(data->field_11);
- ClearStdWindowAndFrame(data->field_11, FALSE);
- DestroyListMenuTask(data->listTaskId, 0, 0);
- ClearWindowTilemap(data->field_10);
- ClearStdWindowAndFrame(data->listWindowId, FALSE);
- CopyBgTilemapBufferToVram(0);
- RemoveWindow(data->field_11);
- RemoveWindow(data->listWindowId);
- RemoveWindow(data->field_10);
- DestroyTask(data->field_17);
-
- Free(data->field_8);
- Free(data->field_0);
- Free(data->field_4);
-}
-
-void sub_8012FC4(u8 *dst, u8 caseId)
-{
- switch (caseId)
- {
- case 1:
- case 2:
- case 4:
- case 14:
- case 28:
- StringExpandPlaceholders(dst, gUnknown_082EDBE8);
- break;
- case 21:
- case 22:
- StringExpandPlaceholders(dst, gUnknown_082EDC0C);
- break;
- case 3:
- case 9:
- case 10:
- case 11:
- case 15:
- case 16:
- case 23:
- case 24:
- case 25:
- case 26:
- case 27:
- StringExpandPlaceholders(dst, gUnknown_082EDC34);
- break;
- }
-}
-
-void sub_8013078(u8 *dst, u8 caseId)
-{
- switch (caseId)
- {
- case 65:
- case 68:
- StringExpandPlaceholders(dst, gUnknown_082EE560);
- break;
- case 69:
- case 72:
- StringExpandPlaceholders(dst, gUnknown_082EE57C);
- break;
- }
-}
-
-void sub_80130B4(u8 *dst, u8 caseId)
-{
- switch (caseId)
- {
- case 1:
- case 2:
- case 4:
- case 14:
- case 21:
- case 22:
- case 28:
- StringExpandPlaceholders(dst, gUnknown_082EFC3C);
- break;
- case 3:
- case 9:
- case 10:
- case 11:
- case 15:
- case 16:
- case 23:
- case 24:
- case 25:
- case 26:
- case 27:
- StringExpandPlaceholders(dst, gUnknown_082EFC54);
- break;
- }
-}
-
-void sub_8013160(u8 *dst, u8 caseId)
-{
- switch (caseId)
- {
- case 1:
- case 2:
- case 4:
- case 14:
- case 21:
- case 22:
- case 28:
- StringExpandPlaceholders(dst, gUnknown_082EDDF4);
- break;
- case 3:
- case 9:
- case 10:
- case 11:
- case 15:
- case 16:
- case 23:
- case 24:
- case 25:
- case 26:
- case 27:
- StringExpandPlaceholders(dst, gUnknown_082EDE0C);
- break;
- }
-}
-
-bool8 sub_801320C(struct UnkStruct_Leader *data, u32 arg1, u32 arg2)
-{
- switch (sub_80132D4(data->field_0))
- {
- case 1:
- PlaySE(SE_PC_LOGIN);
- RedrawListMenu(data->listTaskId);
- sub_8018404(gStringVar2, &data->field_0->arr[data->field_13]);
- sub_8012FC4(gStringVar4, gUnknown_02022C2C);
- data->state = arg1;
- break;
- case 2:
- sub_8011A64(0, 0);
- RedrawListMenu(data->listTaskId);
- data->state = arg2;
- return TRUE;
- }
-
- return FALSE;
-}
-
-void sub_8013278(u8 arg0, u32 id, u8 arg2)
-{
- struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
- u8 var = 0;
-
- switch (data->field_0->arr[id].field_1A_0)
- {
- case 1:
- if (data->field_0->arr[id].field_1B != 0)
- var = 2;
- break;
- case 2:
- var = 1;
- break;
- }
-
- sub_80178A0(arg0, 0, arg2, &data->field_0->arr[id], var, id);
-}
-
-u8 sub_80132D4(struct UnkStruct_Main0 *arg0)
-{
- struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
- u8 ret = 0;
- u8 i;
- s32 id;
-
- for (i = 1; i < 5; i++)
- {
- u16 var = data->field_0->arr[i].field_1A_0;
- if (var == 1)
- {
- id = sub_80176E4(&data->field_0->arr[i], data->field_4->arr);
- if (id != 0xFF)
- {
- data->field_0->arr[i].unk = data->field_4->arr[id].unk0;
- data->field_0->arr[i].field_18 = var;
- }
- else
- {
- data->field_0->arr[i].field_1A_0 = 2;
- ret = 2;
- }
- }
- }
-
- for (id = 0; id < 4; id++)
- sub_8017734(data->field_0->arr, &data->field_4->arr[id].unk0, 5);
-
- if (ret != 2)
- {
- for (id = 0; id < 5; id++)
- {
- if (data->field_0->arr[id].field_1B != 0)
- ret = 1;
- }
- }
-
- return ret;
-}
-
-u8 sub_8013398(struct UnkStruct_Main0 *arg0)
-{
- struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
- u8 copiedCount;
- s32 i;
- u8 ret;
-
- for (i = 0; i < 5; i++)
- data->field_8->arr[i] = data->field_0->arr[i];
-
- copiedCount = 0;
- for (i = 0; i < 5; i++)
- {
- if (data->field_8->arr[i].field_1A_0 == 1)
- {
- data->field_0->arr[copiedCount] = data->field_8->arr[i];
- copiedCount++;
- }
- }
-
- ret = copiedCount;
- for (; copiedCount < 5; copiedCount++)
- {
- data->field_0->arr[copiedCount].unk = gUnknown_082F045C;
- data->field_0->arr[copiedCount].field_18 = 0;
- data->field_0->arr[copiedCount].field_1A_0 = 0;
- data->field_0->arr[copiedCount].field_1A_1 = 0;
- data->field_0->arr[copiedCount].field_1B = 0;
- }
-
- for (i = 0; i < 5; i++)
- {
- if (data->field_0->arr[i].field_1A_0 != 1)
- continue;
- if (data->field_0->arr[i].field_1B != 0x40)
- continue;
-
- ret = i;
- break;
- }
-
- return ret;
-}
-
-void BerryBlenderLinkJoinGroup(void)
-{
- u8 taskId;
- struct UnkStruct_Group *dataPtr;
-
- taskId = CreateTask(sub_80134E8, 0);
- gUnknown_02022C30.group = dataPtr = (void*)(gTasks[taskId].data);
- gUnknown_03000DA4 = dataPtr;
-
- dataPtr->state = 0;
- dataPtr->textState = 0;
- gSpecialVar_Result = 0;
-}
-
-void sub_80134E8(u8 taskId)
-{
- s32 id;
- struct UnkStruct_Group *data = gUnknown_02022C30.group;
-
- switch (data->state)
- {
- case 0:
- if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN)
- gSpecialVar_0x8004++;
- gUnknown_02022C2C = gUnknown_082F0530[gSpecialVar_0x8004];
- sub_8010F84(gUnknown_02022C2C, 0, 0);
- sub_800B488();
- OpenLink();
- sub_8011C5C();
- data->field_4 = AllocZeroed(0x70);
- data->field_0 = AllocZeroed(0x200);
- data->state = 1;
- break;
- case 1:
- if (PrintOnTextbox(&data->textState, gUnknown_082EFB70[gSpecialVar_0x8004]))
- data->state = 2;
- break;
- case 2:
- sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0->arr, 16);
- data->field_11 = sub_8016FC0(data->field_4, gSpecialVar_0x8004);
- data->field_C = AddWindow(&gUnknown_082F00BC);
- data->listWindowId = AddWindow(&gUnknown_082F0174);
- data->field_D = AddWindow(&gUnknown_082F017C);
-
- FillWindowPixelBuffer(data->field_C, PIXEL_FILL(2));
- sub_80173E0(data->field_C, 0, gUnknown_082EF7DC, 8, 1, 4);
- PutWindowTilemap(data->field_C);
- CopyWindowToVram(data->field_C, 2);
-
- DrawStdWindowFrame(data->listWindowId, FALSE);
- gMultiuseListMenuTemplate = gUnknown_082F0204;
- gMultiuseListMenuTemplate.windowId = data->listWindowId;
- data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
-
- DrawStdWindowFrame(data->field_D, FALSE);
- PutWindowTilemap(data->field_D);
- sub_80125BC(data->field_D);
- CopyWindowToVram(data->field_D, 2);
-
- CopyBgTilemapBufferToVram(0);
- data->field_F = 0;
- data->state = 3;
- break;
- case 3:
- id = sub_8013E44();
- switch (id)
- {
- case 1:
- PlaySE(SE_PC_LOGIN);
- RedrawListMenu(data->listTaskId);
- break;
- case 0:
- id = ListMenu_ProcessInput(data->listTaskId);
- if (gMain.newKeys & A_BUTTON && id != -1)
- {
- // this unused variable along with the assignment is needed to match
- u32 unusedVar;
- unusedVar = data->field_0->arr[id].unk.field_0.unk_0a_0;
-
- if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.field_0.unk_0a_7)
- {
- u32 var = sub_8013B8C(data, id);
- if (var == 0)
- {
- sub_8013BD8(data, id);
- data->state = 5;
- PlaySE(SE_PN_ON);
- }
- else
- {
- StringCopy(gStringVar4, gUnknown_082EDD50[var - 1]);
- data->state = 18;
- PlaySE(SE_PN_ON);
- }
- }
- else
- {
- PlaySE(SE_WALL_HIT);
- }
- }
- else if (gMain.newKeys & B_BUTTON)
- {
- data->state = 10;
- }
- break;
- default:
- RedrawListMenu(data->listTaskId);
- break;
- }
- break;
- case 5:
- sub_80130B4(gStringVar4, gUnknown_02022C2C);
- if (PrintOnTextbox(&data->textState, gStringVar4))
- {
- sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
- data->state = 6;
- }
- break;
- case 6:
- if (gReceivedRemoteLinkPlayers != 0)
- {
- gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.unk_0a_0;
- sub_8011A64(0, 0);
- switch (gUnknown_02022C2C)
- {
- case 1 ... 5:
- case 9 ... 11:
- case 13 ... 16:
- case 21 ... 28:
- data->state = 20;
- return;
- }
- }
-
- switch (sub_8011A74())
- {
- case 1:
- data->state = 12;
- break;
- case 2:
- case 6:
- case 9:
- data->state = 14;
- break;
- case 5:
- sub_8013160(gStringVar4, gUnknown_02022C2C);
- if (PrintOnTextbox(&data->textState, gStringVar4))
- {
- if (gUnknown_02022C2C == 28 || gUnknown_02022C2C == 14)
- {
- sub_8011A64(12, 0);
- }
- else
- {
- sub_8011A64(7, 0);
- StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]);
- StringExpandPlaceholders(gStringVar4, gUnknown_082EDE48);
- }
- }
- break;
- case 7:
- if (data->field_15 > 0xF0)
- {
- if (PrintOnTextbox(&data->textState, gStringVar4))
- {
- sub_8011A64(12, 0);
- data->field_15 = 0;
- }
- }
- else
- {
- switch (gUnknown_02022C2C)
- {
- case 1:
- case 2:
- case 4:
- case 14:
- case 28:
- break;
- default:
- data->field_15++;
- break;
- }
- }
- break;
- }
-
- if (!sub_8011A74() && gMain.newKeys & B_BUTTON)
- data->state = 7;
- break;
- case 7:
- if (PrintOnTextbox(&data->textState, gUnknown_082EDE64))
- data->state = 8;
- break;
- case 8:
- switch (sub_80170B8(&data->textState, sub_8011A74()))
- {
- case 0:
- sub_80106D4();
- data->state = 9;
- RedrawListMenu(data->listTaskId);
- break;
- case 1:
- case -1:
- data->state = 5;
- RedrawListMenu(data->listTaskId);
- break;
- case -3:
- data->state = 6;
- RedrawListMenu(data->listTaskId);
- break;
- }
- break;
- case 9:
- if (sub_8011A74())
- data->state = 6;
- break;
- case 10:
- case 12:
- case 14:
- case 18:
- case 20:
- ClearWindowTilemap(data->field_D);
- ClearStdWindowAndFrame(data->field_D, FALSE);
- DestroyListMenuTask(data->listTaskId, 0, 0);
- ClearWindowTilemap(data->field_C);
- ClearStdWindowAndFrame(data->listWindowId, FALSE);
- CopyBgTilemapBufferToVram(0);
- RemoveWindow(data->field_D);
- RemoveWindow(data->listWindowId);
- RemoveWindow(data->field_C);
- DestroyTask(data->field_11);
- Free(data->field_0);
- Free(data->field_4);
- data->state++;
- break;
- case 13:
- sub_800E084();
- if (PrintOnTextbox(&data->textState, gUnknown_082EDE9C[sub_8011A74()]))
- {
- gSpecialVar_Result = 6;
- data->state = 23;
- }
- break;
- case 11:
- sub_800E084();
- gSpecialVar_Result = 5;
- data->state = 23;
- break;
- case 15:
- sub_800E084();
- if (PrintOnTextbox(&data->textState, gUnknown_082EDE9C[sub_8011A74()]))
- {
- gSpecialVar_Result = 8;
- data->state = 23;
- }
- break;
- case 19:
- if (PrintOnTextbox(&data->textState, gStringVar4))
- {
- gSpecialVar_Result = 8;
- data->state = 23;
- }
- break;
- case 23:
- DestroyTask(taskId);
- sub_80173D4();
- sub_800EDD4();
- break;
- case 21:
- sub_80149C4();
- DestroyTask(taskId);
- break;
- }
-}
-
-u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id)
-{
- struct UnkStruct_x20 *structPtr = &arg0->field_0->arr[id];
-
- if (gUnknown_02022C2C == 4 && structPtr->unk.field_0.unk_00.unk_01_2 != 3)
- {
- if (!(gSaveBlock2Ptr->specialSaveWarpFlags & 0x80))
- return 1;
- else if (structPtr->unk.field_0.unk_00.unk_00_7)
- return 0;
- }
- else
- {
- return 0;
- }
-
- return 2;
-}
-
-void sub_8013BD8(struct UnkStruct_Group *data, s32 id)
-{
- data->field_F = id;
- sub_800E0E8();
- CreateWirelessStatusIndicatorSprite(0, 0);
- RedrawListMenu(data->listTaskId);
- sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
- sub_8011090(gUnknown_082F0530[gSpecialVar_0x8004], 0, 1);
- sub_8011FC8(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.field_0.unk_00.playerTrainerId));
-}
-
-u8 sub_8013C40(void)
-{
- u8 taskId;
- struct UnkStruct_Group *dataPtr;
-
- taskId = CreateTask(sub_8013C7C, 0);
- gUnknown_02022C30.group = dataPtr = (void*)(gTasks[taskId].data);
-
- dataPtr->state = 0;
- dataPtr->textState = 0;
-
- gUnknown_03000DA4 = dataPtr;
-
- return taskId;
-}
-
-void sub_8013C7C(u8 taskId)
-{
- struct UnkStruct_Group *data = gUnknown_02022C30.group;
-
- switch (data->state)
- {
- case 0:
- sub_8010F84(0, 0, 0);
- sub_800B488();
- OpenLink();
- sub_8011C5C();
- sub_80111B0(TRUE);
- data->field_4 = AllocZeroed(0x70);
- data->field_0 = AllocZeroed(0x200);
- data->state = 2;
- break;
- case 2:
- sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0->arr, 16);
- data->field_11 = sub_8016FC0(data->field_4, 0xFF);
- data->field_F = 0;
- data->state = 3;
- break;
- case 3:
- if (sub_8013E44() == 1)
- PlaySE(SE_PC_LOGIN);
- if (gTasks[taskId].data[15] == 0xFF)
- data->state = 10;
- break;
- case 10:
- DestroyTask(data->field_11);
- Free(data->field_0);
- Free(data->field_4);
- sub_800EDD4();
- data->state++;
- break;
- case 11:
- sub_800EDD4();
- DestroyTask(taskId);
- break;
- }
-}
-
-bool32 sub_8013D88(u32 arg0, u32 id)
-{
- if (id == 0xFF)
- return TRUE;
-
- if (id <= ARRAY_COUNT(gUnknown_082F04D8)) // UB: <= may access data outside the array
- {
- const u8 *bytes = gUnknown_082F04D8[id];
-
- while ((*(bytes) != 0xFF))
- {
- if ((*bytes) == arg0)
- return TRUE;
- bytes++;
- }
- }
-
- return FALSE;
-}
-
-u8 sub_8013DBC(struct UnkStruct_Group *data, u32 id)
-{
- if (data->field_0->arr[id].field_1A_0 == 1)
- {
- if (data->field_0->arr[id].unk.field_0.unk_0a_7)
- return 3;
- else if (data->field_0->arr[id].field_1A_1 != 0)
- return 1;
- else if (data->field_0->arr[id].field_1B != 0)
- return 2;
- }
-
- return 0;
-}
-
-void sub_8013DF4(u8 arg0, u32 id, u8 arg2)
-{
- struct UnkStruct_Group *data = gUnknown_02022C30.group;
- u8 var = sub_8013DBC(data, id);
-
- sub_80177B8(arg0, 8, arg2, &data->field_0->arr[id], var, id);
-}
-
-u8 sub_8013E44(void)
-{
- struct UnkStruct_Group *data = gUnknown_02022C30.group;
- u8 ret = 0;
- u8 i;
- s32 id;
-
- for (i = 0; i < 16; i++)
- {
- if (data->field_0->arr[i].field_1A_0 != 0)
- {
- id = sub_80176E4(&data->field_0->arr[i], data->field_4->arr);
- if (id != 0xFF)
- {
- if (data->field_0->arr[i].field_1A_0 == 1)
- {
- if (sub_8017678(&data->field_0->arr[i], &data->field_4->arr[id]))
- {
- data->field_0->arr[i].unk = data->field_4->arr[id].unk0;
- data->field_0->arr[i].field_1B = 0x40;
- ret = 1;
- }
- else
- {
- if (data->field_0->arr[i].field_1B != 0)
- {
- data->field_0->arr[i].field_1B--;
- if (data->field_0->arr[i].field_1B == 0)
- ret = 2;
- }
- }
- }
- else
- {
- data->field_0->arr[i].field_1A_0 = 1;
- data->field_0->arr[i].field_1B = 0x40;
- ret = 1;
- }
-
- data->field_0->arr[i].field_18 = 0;
- }
- else
- {
- if (data->field_0->arr[i].field_1A_0 != 2)
- {
- data->field_0->arr[i].field_18++;
- if (data->field_0->arr[i].field_18 >= 300)
- {
- data->field_0->arr[i].field_1A_0 = 2;
- ret = 2;
- }
- }
- }
- }
- }
-
- for (id = 0; id < 4; id++)
- {
- if (sub_8017734(data->field_0->arr, &data->field_4->arr[id].unk0, 16) != 0xFF)
- ret = 1;
- }
-
- return ret;
-}
-
-void sub_8013F60(u8 taskId)
-{
- sub_80773AC();
- DestroyTask(taskId);
-}
-
-u8 sub_8013F78(void)
-{
- u8 taskId = CreateTask(sub_8013F60, 0);
-
- return taskId;
-}
-
-void sub_8013F90(u8 taskId)
-{
- u32 monId = sub_8018120(&gUnknown_02022C40, GetMultiplayerId());
-
- switch (gTasks[taskId].data[0])
- {
- case 0:
- gTasks[taskId].data[0]++;
- SendBlock(0, &gPlayerParty[monId], sizeof(struct Pokemon));
- break;
- case 1:
- if (GetBlockReceivedStatus() == 3)
- {
- gEnemyParty[0] = *(struct Pokemon*)(gBlockRecvBuffer[GetMultiplayerId() ^ 1]);
- IncrementGameStat(GAME_STAT_50);
- ResetBlockReceivedFlags();
- gTasks[taskId].data[0]++;
- }
- break;
- case 2:
- memcpy(gBlockSendBuffer, gSaveBlock1Ptr->mail, sizeof(struct MailStruct) * PARTY_SIZE + 4);
- if (SendBlock(0, gBlockSendBuffer, sizeof(struct MailStruct) * PARTY_SIZE + 4))
- gTasks[taskId].data[0]++;
- break;
- case 3:
- if (GetBlockReceivedStatus() == 3)
- {
- memcpy(gUnknown_020321C0, gBlockRecvBuffer[GetMultiplayerId() ^ 1], sizeof(struct MailStruct) * PARTY_SIZE);
- ResetBlockReceivedFlags();
- gUnknown_02032298[0] = monId;
- gUnknown_02032298[1] = 6;
- gMain.savedCallback = CB2_ReturnToField;
- SetMainCallback2(sub_807AE50);
- sub_801807C(&gUnknown_02022C40);
- DestroyTask(taskId);
- }
- break;
- }
-}
-
-void sub_80140E0(u8 taskId)
-{
- switch (gTasks[taskId].data[0])
- {
- case 0:
- if (GetMultiplayerId() == 0)
- sub_800A4D8(2);
- gTasks[taskId].data[0]++;
- break;
- case 1:
- if (GetBlockReceivedStatus() == sub_800A9D8())
- {
- s32 i;
- u16 *recvBuff;
-
- for (i = 0; i < GetLinkPlayerCount(); i++)
- {
- recvBuff = gBlockRecvBuffer[i];
- CopyTrainerCardData(&gTrainerCards[i], recvBuff, gLinkPlayers[i].version);
- }
-
- if (GetLinkPlayerCount() == 2)
- {
- recvBuff = gBlockRecvBuffer[GetMultiplayerId() ^ 1];
- sub_801B94C(recvBuff[48]);
- }
- else
- {
- sub_801B940();
- }
-
- ResetBlockReceivedFlags();
- DestroyTask(taskId);
- }
- break;
- }
-}
-
-void sub_80141A4(void)
-{
- switch (gMain.state)
- {
- case 0:
- CreateTask(sub_80140E0, 5);
- gMain.state++;
- break;
- case 1:
- if (!FuncIsActiveTask(sub_80140E0))
- ShowTrainerCardInLink(GetMultiplayerId() ^ 1, CB2_ReturnToField);
- break;
- }
-
- RunTasks();
- RunTextPrinters();
- AnimateSprites();
- BuildOamBuffer();
-}
-
-void sub_8014210(u16 battleFlags)
-{
- HealPlayerParty();
- SavePlayerParty();
- LoadPlayerBag();
- gLinkPlayers[0].linkType = 0x2211;
- gLinkPlayers[GetMultiplayerId()].id = GetMultiplayerId();
- gLinkPlayers[GetMultiplayerId() ^ 1].id = GetMultiplayerId() ^ 1;
- gMain.savedCallback = sub_80B360C;
- gBattleTypeFlags = battleFlags;
- PlayBattleBGM();
-}
-
-void sub_8014290(u16 arg0, u16 x, u16 y)
-{
- VarSet(VAR_CABLE_CLUB_STATE, arg0);
- SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y);
- SetDynamicWarpWithCoords(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y);
- WarpIntoMap();
-}
-
-void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 arg4)
-{
- gSpecialVar_0x8004 = arg4;
- VarSet(VAR_CABLE_CLUB_STATE, arg4);
- gFieldLinkPlayerCount = GetLinkPlayerCount();
- gLocalLinkPlayerId = GetMultiplayerId();
- SetCableClubWarp();
- SetWarpDestination(mapGroup, mapNum, -1, x, y);
- WarpIntoMap();
-}
-
-void sub_8014384(void)
-{
- switch (gMain.state)
- {
- case 0:
- CreateTask(sub_80140E0, 5);
- gMain.state++;
- break;
- case 1:
- if (!FuncIsActiveTask(sub_80140E0))
- SetMainCallback2(sub_8086074);
- break;
- }
-
- RunTasks();
- RunTextPrinters();
- AnimateSprites();
- BuildOamBuffer();
-}
-
-void sub_80143E4(void *arg0, bool32 arg1)
-{
- u16 *argAsU16Ptr = arg0;
-
- TrainerCard_GenerateCardForPlayer((struct TrainerCard *)argAsU16Ptr);
- if (arg1)
- argAsU16Ptr[48] = sub_801B39C();
- else
- argAsU16Ptr[48] = 0;
-}
-
-void sub_801440C(u8 taskId)
-{
- sub_801B940();
- switch (gUnknown_02022C2C)
- {
- case 1 ... 4:
- case 9 ... 11:
- case 13:
- case 15:
- RecordMixTrainerNames();
- break;
- }
-
- switch (gUnknown_02022C2C)
- {
- case 65:
- case 81:
- CleanupOverworldWindowsAndTilemaps();
- gMain.savedCallback = sub_801AC54;
- InitChooseHalfPartyForBattle(3);
- break;
- case 1:
- CleanupOverworldWindowsAndTilemaps();
- sub_80143E4(gBlockSendBuffer, TRUE);
- HealPlayerParty();
- SavePlayerParty();
- LoadPlayerBag();
- sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, 1);
- SetMainCallback2(sub_8014384);
- break;
- case 2:
- CleanupOverworldWindowsAndTilemaps();
- HealPlayerParty();
- SavePlayerParty();
- LoadPlayerBag();
- sub_80143E4(gBlockSendBuffer, TRUE);
- sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, 2);
- SetMainCallback2(sub_8014384);
- break;
- case 3:
- CleanupOverworldWindowsAndTilemaps();
- HealPlayerParty();
- SavePlayerParty();
- LoadPlayerBag();
- sub_80143E4(gBlockSendBuffer, TRUE);
- sub_8014304(MAP_GROUP(DOUBLE_BATTLE_COLOSSEUM), MAP_NUM(DOUBLE_BATTLE_COLOSSEUM), 5, 8, 5);
- SetMainCallback2(sub_8014384);
- break;
- case 4:
- sub_80143E4(gBlockSendBuffer, TRUE);
- CleanupOverworldWindowsAndTilemaps();
- sub_8014304(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, 3);
- SetMainCallback2(sub_8014384);
- break;
- case 15:
- sub_80143E4(gBlockSendBuffer, TRUE);
- CleanupOverworldWindowsAndTilemaps();
- sub_8014304(MAP_GROUP(RECORD_CORNER), MAP_NUM(RECORD_CORNER), 8, 9, 4);
- SetMainCallback2(sub_8014384);
- break;
- case 68:
- CleanupOverworldWindowsAndTilemaps();
- CreateTask(sub_8013F90, 0);
- break;
- case 5:
- case 69:
- if (GetMultiplayerId() == 0)
- {
- sub_800ED10();
- }
- else
- {
- sub_800ED28();
- sub_8010F84(69, 0, 1);
- }
- sub_801DD98();
- break;
- case 8:
- case 72:
- sub_80143E4(gBlockSendBuffer, FALSE);
- SetMainCallback2(sub_80141A4);
- break;
- case 9:
- sub_8014290(8, 5, 1);
- sub_802A9A8(GetCursorSelectionMonId(), CB2_LoadMap);
- break;
- case 10:
- sub_8014290(7, 9, 1);
- sub_8020C70(CB2_LoadMap);
- break;
- case 11:
- sub_8014290(8, 5, 1);
- sub_802493C(GetCursorSelectionMonId(), CB2_LoadMap);
- break;
- }
-
- DestroyTask(taskId);
- gSpecialVar_Result = 1;
- if (gUnknown_02022C2C != 68)
- ScriptContext2_Disable();
-}
-
-void sub_8014790(u8 taskId)
-{
- s16 *data = gTasks[taskId].data;
- u16 *sendBuff = (u16*)(gBlockSendBuffer);
-
- switch (data[0])
- {
- case 0:
- gSpecialVar_Result = 1;
- switch (gUnknown_02022C2C)
- {
- case 14:
- case 28:
- gLinkPlayers[0].linkType = 0x2211;
- gLinkPlayers[0].id = 0;
- gLinkPlayers[1].id = 2;
- sendBuff[0] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[0] - 1], MON_DATA_SPECIES);
- sendBuff[1] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[1] - 1], MON_DATA_SPECIES, NULL);
- gMain.savedCallback = NULL;
- data[0] = 4;
- RecordMixTrainerNames();
- ResetBlockReceivedFlags();
- break;
- case 16:
- case 23 ... 27:
- RecordMixTrainerNames();
- DestroyTask(taskId);
- default:
- EnableBothScriptContexts();
- data[0] = 1;
- break;
- }
- break;
- case 1:
- if (!ScriptContext1_IsScriptSetUp())
- {
- FadeScreen(1, 0);
- data[0] = 2;
- }
- break;
- case 2:
- if (!gPaletteFade.active)
- {
- if (gUnknown_02022C2C == 29)
- {
- DestroyTask(taskId);
- SetMainCallback2(sub_80773AC);
- }
- else
- {
- sub_800ADF8();
- data[0] = 3;
- }
- }
- break;
- case 3:
- if (IsLinkTaskFinished())
- {
- DestroyTask(taskId);
- sub_80149D8();
- }
- break;
- case 4:
- if (SendBlock(0, gBlockSendBuffer, 0xE))
- data[0] = 5;
- break;
- case 5:
- if (GetBlockReceivedStatus() == 3)
- {
- ResetBlockReceivedFlags();
- if (sub_80B2AF4(gBlockRecvBuffer[0], gBlockRecvBuffer[1]))
- {
- gSpecialVar_Result = 11;
- data[0] = 7;
- }
- else
- {
- data[0] = 6;
- }
- }
- break;
- case 6:
- EnableBothScriptContexts();
- DestroyTask(taskId);
- break;
- case 7:
- sub_800AC34();
- data[0] = 8;
- break;
- case 8:
- if (gReceivedRemoteLinkPlayers == 0)
- {
- sub_800E084();
- EnableBothScriptContexts();
- DestroyTask(taskId);
- }
- break;
- }
-}
-
-void sub_80149C4(void)
-{
- CreateTask(sub_8014790, 0);
-}
-
-void sub_80149D8(void)
-{
- u8 taskId = CreateTask(sub_801440C, 0);
- gTasks[taskId].data[0] = 0;
-}
-
-void sub_8014A00(u32 arg0)
-{
- u8 taskId;
- struct UnkStruct_Leader *dataPtr;
-
- taskId = CreateTask(sub_8014A40, 0);
- gUnknown_02022C30.leader = dataPtr = (void*)(gTasks[taskId].data);
-
- dataPtr->state = 0;
- dataPtr->textState = 0;
- dataPtr->field_18 = arg0;
- gSpecialVar_Result = 0;
-}
-
-void sub_8014A40(u8 taskId)
-{
- struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
- struct WindowTemplate winTemplate;
- s32 val;
-
- switch (data->state)
- {
- case 0:
- gUnknown_02022C2C = data->field_18;
- gUnknown_02022C2D = 2;
- sub_8010F84(data->field_18, 0, 0);
- sub_8010FA0(FALSE, FALSE);
- sub_800B488();
- OpenLink();
- sub_8011C10(2);
- data->state = 1;
- break;
- case 1:
- data->field_4 = AllocZeroed(0x70);
- data->field_0 = AllocZeroed(0xA0);
- data->field_8 = AllocZeroed(0xA0);
- sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0->arr, 5);
- sub_800DF90(&data->field_0->arr[0].unk.field_0, data->field_0->arr[0].unk.playerName);
- data->field_0->arr[0].field_18 = 0;
- data->field_0->arr[0].field_1A_0 = 1;
- data->field_0->arr[0].field_1A_1 = 0;
- data->field_0->arr[0].field_1B = 0;
- data->field_17 = sub_8016FC0(data->field_4, 0xFF);
-
- winTemplate = gUnknown_082F011C;
- winTemplate.baseBlock = sub_8019930();
- winTemplate.paletteNum = 0xC;
- data->listWindowId = AddWindow(&winTemplate);
- sub_8018784(data->listWindowId);
- gMultiuseListMenuTemplate = gUnknown_082F015C;
- gMultiuseListMenuTemplate.windowId = data->listWindowId;
- data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
-
- CopyBgTilemapBufferToVram(0);
- data->field_13 = 1;
- data->state = 2;
- break;
- case 2:
- StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]);
- sub_801262C(gStringVar4, gUnknown_02022C2C);
- data->state = 3;
- break;
- case 3:
- sub_8018884(gStringVar4);
- data->state = 4;
- break;
- case 4:
- sub_801320C(data, 5, 6);
- if (gMain.newKeys & B_BUTTON)
- {
- data->state = 13;
- sub_800E084();
- }
- break;
- case 6:
- if (mevent_0814257C(&data->textState, gUnknown_082EDF40))
- {
- data->field_13 = sub_8013398(data->field_0);
- RedrawListMenu(data->listTaskId);
- data->state = 2;
- }
- break;
- case 5:
- data->state = 7;
- break;
- case 7:
- switch (sub_8018B08(&data->textState, &data->field_14, 0, gStringVar4))
- {
- case 0:
- sub_800E0E8();
- CreateWirelessStatusIndicatorSprite(0, 0);
- data->field_0->arr[data->field_13].field_1B = 0;
- RedrawListMenu(data->listTaskId);
- data->field_19 = 5;
- sub_8010688(5, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
- data->state = 8;
- break;
- case 1:
- case -1:
- data->field_19 = 6;
- sub_8010688(6, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
- data->state = 8;
- break;
- }
- break;
- case 8:
- val = sub_8010714(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
- if (val == 1)
- {
- if (data->field_19 == 5)
- {
- data->field_0->arr[data->field_13].field_1B = 0;
- RedrawListMenu(data->listTaskId);
- data->field_13++;
- sub_8018404(gStringVar1, &data->field_0->arr[data->field_13 - 1]);
- StringExpandPlaceholders(gStringVar4, gUnknown_082EDC9C);
- data->state = 9;
- sub_800EF38();
- }
- else
- {
- sub_8011DC0(data->field_0->arr[data->field_13].unk.playerName, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId));
- data->field_0->arr[data->field_13].field_1A_0 = 0;
- sub_8013398(data->field_0);
- RedrawListMenu(data->listTaskId);
- data->state = 2;
- }
-
- data->field_19 = 0;
- }
- else if (val == 2)
- {
- sub_8011A64(0, 0);
- data->state = 2;
- }
- break;
- case 9:
- sub_8018884(gStringVar4);
- data->state = 10;
- break;
- case 10:
- if (++data->field_E > 120)
- data->state = 11;
- break;
- case 11:
- if (!sub_801320C(data, 5, 6))
- data->state = 12;
- break;
- case 12:
- if (sub_800EF1C())
- {
- sub_800EF58(FALSE);
- data->state = 15;
- }
- else
- {
- data->state = 6;
- }
- break;
- case 13:
- sub_800E084();
- sub_800EDD4();
- DestroyListMenuTask(data->listTaskId, 0, 0);
- CopyBgTilemapBufferToVram(0);
- RemoveWindow(data->listWindowId);
- DestroyTask(data->field_17);
- Free(data->field_8);
- Free(data->field_0);
- Free(data->field_4);
- data->state++;
- break;
- case 14:
- if (mevent_0814257C(&data->textState, gText_PleaseStartOver))
- {
- DestroyTask(taskId);
- gSpecialVar_Result = 5;
- }
- break;
- case 15:
- if (sub_8011A74() == 1 || sub_8011A74() == 2)
- {
- data->state = 13;
- }
- else if (gReceivedRemoteLinkPlayers != 0)
- {
- sub_8011068(1);
- data->state++;
- }
- break;
- case 16:
- DestroyListMenuTask(data->listTaskId, 0, 0);
- CopyBgTilemapBufferToVram(0);
- RemoveWindow(data->listWindowId);
- DestroyTask(data->field_17);
- Free(data->field_8);
- Free(data->field_0);
- Free(data->field_4);
- sub_800ADF8();
- data->state++;
- break;
- case 17:
- if (IsLinkTaskFinished())
- DestroyTask(taskId);
- break;
- }
-}
-
-void sub_8014EFC(u32 arg0)
-{
- u8 taskId;
- struct UnkStruct_Group *dataPtr;
-
- taskId = CreateTask(sub_8014F48, 0);
- gUnknown_02022C30.group = dataPtr = (void*)(gTasks[taskId].data);
- gUnknown_03000DA4 = dataPtr;
-
- dataPtr->state = 0;
- dataPtr->textState = 0;
- dataPtr->field_12 = arg0 - 21;
- gSpecialVar_Result = 0;
-}
-
-void sub_8014F48(u8 taskId)
-{
- s32 id;
- struct WindowTemplate winTemplate1, winTemplate2;
- struct UnkStruct_Group *data = gUnknown_02022C30.group;
-
- switch (data->state)
- {
- case 0:
- sub_8010F84(data->field_12 + 21, 0, 0);
- sub_800B488();
- OpenLink();
- sub_8011C5C();
- data->field_4 = AllocZeroed(0x70);
- data->field_0 = AllocZeroed(0x200);
- data->state = 1;
- break;
- case 1:
- sub_8018884(gUnknown_082EF7F8);
- data->state = 2;
- break;
- case 2:
- sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0->arr, 16);
- data->field_11 = sub_8016FC0(data->field_4, data->field_12 + 7);
-
- winTemplate1 = gUnknown_082F0174;
- winTemplate1.baseBlock = sub_8019930();
- winTemplate1.paletteNum = 0xC;
- data->listWindowId = AddWindow(&winTemplate1);
-
- winTemplate2 = gUnknown_082F017C;
- winTemplate2.paletteNum = 0xC;
- data->field_D = AddWindow(&winTemplate2);
-
- sub_8018784(data->listWindowId);
- gMultiuseListMenuTemplate = gUnknown_082F0204;
- gMultiuseListMenuTemplate.windowId = data->listWindowId;
- data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
-
- sub_8018784(data->field_D);
- FillWindowPixelBuffer(data->field_D, PIXEL_FILL(1));
- PutWindowTilemap(data->field_D);
- sub_80125BC(data->field_D);
- CopyWindowToVram(data->field_D, 2);
-
- CopyBgTilemapBufferToVram(0);
- data->field_F = 0;
- data->state = 3;
- break;
- case 3:
- id = sub_8013E44();
- switch (id)
- {
- case 1:
- PlaySE(SE_PC_LOGIN);
- default:
- RedrawListMenu(data->listTaskId);
- break;
- case 0:
- id = ListMenu_ProcessInput(data->listTaskId);
- if (gMain.newKeys & A_BUTTON && id != -1)
- {
- // this unused variable along with the assignment is needed to match
- u32 unusedVar;
- unusedVar = data->field_0->arr[id].unk.field_0.unk_0a_0;
-
- if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.field_0.unk_0a_7)
- {
- data->field_F = id;
- sub_800E0E8();
- CreateWirelessStatusIndicatorSprite(0, 0);
- RedrawListMenu(data->listTaskId);
- sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
- sub_8011FC8(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.field_0.unk_00.playerTrainerId));
- PlaySE(SE_PN_ON);
- data->state = 4;
- }
- else
- {
- PlaySE(SE_WALL_HIT);
- }
- }
- else if (gMain.newKeys & B_BUTTON)
- {
- data->state = 6;
- }
- break;
- }
- break;
- case 4:
- sub_8018884(gUnknown_082EFC3C);
- sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
- data->state = 5;
- break;
- case 5:
- if (gReceivedRemoteLinkPlayers != 0)
- {
- gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.unk_0a_0;
- data->state = 10;
- }
-
- switch (sub_8011A74())
- {
- case 1:
- case 2:
- case 6:
- data->state = 8;
- break;
- case 5:
- sub_8018884(gUnknown_082EDDF4);
- sub_8011A64(0, 0);
- break;
- }
- break;
- case 6:
- case 8:
- case 10:
- DestroyListMenuTask(data->listTaskId, 0, 0);
- CopyBgTilemapBufferToVram(0);
- RemoveWindow(data->field_D);
- RemoveWindow(data->listWindowId);
- DestroyTask(data->field_11);
- Free(data->field_0);
- Free(data->field_4);
- data->state++;
- break;
- case 9:
- if (mevent_0814257C(&data->textState, gUnknown_082EDF80[sub_8011A74()]))
- {
- sub_800E084();
- DestroyTask(taskId);
- sub_800EDD4();
- gSpecialVar_Result = 5;
- }
- break;
- case 7:
- sub_800E084();
- sub_8018884(gText_PleaseStartOver);
- DestroyTask(taskId);
- sub_800EDD4();
- gSpecialVar_Result = 5;
- break;
- case 11:
- data->state++;
- sub_800ADF8();
- break;
- case 12:
- if (IsLinkTaskFinished())
- DestroyTask(taskId);
- break;
- }
-}
-
-void sub_80152A8(u32 arg0)
-{
- u8 taskId;
- struct UnkStruct_Group *dataPtr;
-
- taskId = CreateTask(sub_80152F4, 0);
- gUnknown_02022C30.group = dataPtr = (void*)(gTasks[taskId].data);
- gUnknown_03000DA4 = dataPtr;
-
- dataPtr->state = 0;
- dataPtr->textState = 0;
- dataPtr->field_12 = arg0 - 21;
- gSpecialVar_Result = 0;
-}
-
-void sub_80152F4(u8 taskId)
-{
- s32 id;
- struct WindowTemplate winTemplate;
- struct UnkStruct_Group *data = gUnknown_02022C30.group;
-
- switch (data->state)
- {
- case 0:
- sub_8010F84(0, 0, 0);
- sub_800B488();
- OpenLink();
- sub_8011C5C();
- data->field_4 = AllocZeroed(0x70);
- data->field_0 = AllocZeroed(0x200);
- data->state = 1;
- break;
- case 1:
- sub_8018884(gUnknown_082EFBC8);
- data->state = 2;
- break;
- case 2:
- sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0->arr, 16);
- data->field_11 = sub_8016FF0(data->field_4, data->field_12 + 7);
-
- if (data->field_13 != 0)
- {
- winTemplate = gUnknown_082F0174;
- winTemplate.baseBlock = sub_8019930();
- data->listWindowId = AddWindow(&winTemplate);
-
- sub_8018784(data->listWindowId);
- gMultiuseListMenuTemplate = gUnknown_082F0204;
- gMultiuseListMenuTemplate.windowId = data->listWindowId;
- data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
-
- CopyBgTilemapBufferToVram(0);
- }
-
- data->field_F = 0;
- data->state = 3;
- break;
- case 3:
- id = sub_8013E44();
- switch (id)
- {
- case 1:
- PlaySE(SE_PC_LOGIN);
- default:
- if (data->field_13 != 0)
- RedrawListMenu(data->listTaskId);
- break;
- case 0:
- if (data->field_13 != 0)
- id = ListMenu_ProcessInput(data->listTaskId);
- if (data->field_14 > 120)
- {
- if (data->field_0->arr[0].field_1A_0 == 1 && !data->field_0->arr[0].unk.field_0.unk_0a_7)
- {
- if (sub_8016F1C(&data->field_0->arr[0], data->field_12 + 7))
- {
- data->field_F = 0;
- data->field_14 = 0;
- sub_800E0E8();
- CreateWirelessStatusIndicatorSprite(0, 0);
- sub_8011FC8(data->field_0->arr[0].unk.playerName, ReadAsU16(data->field_0->arr[0].unk.field_0.unk_00.playerTrainerId));
- PlaySE(SE_PN_ON);
- data->state = 4;
- }
- else
- {
- PlaySE(SE_BOO);
- data->state = 10;
- }
- }
- }
- else if (gMain.newKeys & B_BUTTON)
- {
- data->state = 6;
- data->field_14 = 0;
- }
- data->field_14++;
- break;
- }
- break;
- case 4:
- sub_8018884(gUnknown_082EFC90);
- sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
- data->state = 5;
- break;
- case 5:
- if (gReceivedRemoteLinkPlayers != 0)
- {
- gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.unk_0a_0;
- data->state = 12;
- }
-
- switch (sub_8011A74())
- {
- case 1:
- case 2:
- case 6:
- data->state = 8;
- break;
- case 5:
- sub_8018884(gUnknown_082EDEC4);
- sub_8011A64(0, 0);
- break;
- }
- break;
- case 6:
- case 8:
- case 10:
- case 12:
- if (data->field_13 != 0)
- {
- DestroyListMenuTask(data->listTaskId, 0, 0);
- CopyBgTilemapBufferToVram(0);
- RemoveWindow(data->listWindowId);
- }
- DestroyTask(data->field_11);
- Free(data->field_0);
- Free(data->field_4);
- data->state++;
- break;
- case 9:
- if (mevent_0814257C(&data->textState, gUnknown_082EDF04))
- {
- sub_800E084();
- DestroyTask(taskId);
- sub_800EDD4();
- gSpecialVar_Result = 5;
- }
- break;
- case 7:
- if (mevent_0814257C(&data->textState, gText_WirelessSearchCanceled))
- {
- sub_800E084();
- DestroyTask(taskId);
- sub_800EDD4();
- gSpecialVar_Result = 5;
- }
- break;
- case 11:
- if (mevent_0814257C(&data->textState, gUnknown_082EFD58[data->field_12]))
- {
- sub_800E084();
- DestroyTask(taskId);
- sub_800EDD4();
- gSpecialVar_Result = 5;
- }
- break;
- case 13:
- data->state++;
- sub_800ADF8();
- break;
- case 14:
- if (IsLinkTaskFinished())
- DestroyTask(taskId);
- break;
- }
-}
-
-void UnionRoomSpecial(void)
-{
- struct UnkStruct_URoom *dataPtr;
-
- sub_8010F60();
- CreateTask(sub_80156E0, 10);
-
- // dumb line needed to match
- gUnknown_02022C30.uRoom = gUnknown_02022C30.uRoom;
-
- dataPtr = AllocZeroed(0x26C);
- gUnknown_02022C30.uRoom = dataPtr;
- gUnknown_03000DA8 = dataPtr;
-
- dataPtr->state = 0;
- dataPtr->textState = 0;
- dataPtr->field_10 = 0;
- dataPtr->field_12 = 0;
-
- gSpecialVar_Result = 0;
- sub_819A2BC(0xD0, 1);
-}
-
-u16 ReadAsU16(const u8 *ptr)
-{
- return (ptr[1] << 8) | (ptr[0]);
-}
-
-void sub_8015664(u32 arg0, const u8 *src)
-{
- struct UnkStruct_URoom *data = gUnknown_02022C30.uRoom;
-
- data->state = 8;
- data->stateAfterPrint = arg0;
- if (src != gStringVar4)
- StringExpandPlaceholders(gStringVar4, src);
-}
-
-void sub_801568C(const u8 *src)
-{
- struct UnkStruct_URoom *data = gUnknown_02022C30.uRoom;
-
- data->state = 26;
- if (src != gStringVar4)
- StringExpandPlaceholders(gStringVar4, src);
-}
-
-void sub_80156B0(struct UnkStruct_URoom *data)
-{
- memcpy(&gDecompressionBuffer[0x3F00], data->field_0, 0x100);
-}
-
-void sub_80156C8(struct UnkStruct_URoom *data)
-{
- memcpy(data->field_0, &gDecompressionBuffer[0x3F00], 0x100);
-}
-
-void sub_80156E0(u8 taskId)
-{
- u32 id = 0;
- s32 var5 = 0;
- s32 playerGender = 0;
- struct UnkStruct_URoom *data = gUnknown_02022C30.uRoom;
- s16 *taskData = gTasks[taskId].data;
-
- switch (data->state)
- {
- case 0:
- data->field_4 = AllocZeroed(0x70);
- data->field_C = AllocZeroed(0x70);
- data->field_0 = AllocZeroed(0x100);
- data->field_8 = AllocZeroed(0x20);
- sub_8017580(data->field_0->arr, 8);
- gUnknown_02022C2C = 0x40;
- data->field_20 = sub_8016DF0(data->field_C, data->field_4, 9);
- sub_8019BA8(data->field_A0);
- sub_8019F2C();
- data->state = 1;
- break;
- case 1:
- sub_8019E70(data->spriteIds, taskData[0]);
- if (++taskData[0] == 8)
- data->state = 2;
- break;
- case 2:
- sub_8010F84(0x40, 0, 0);
- sub_8010FCC(gUnknown_02022C40.field_2, gUnknown_02022C40.field_A, gUnknown_02022C40.field_C);
- sub_800B488();
- OpenLink();
- sub_8011C84();
- sub_8017580(&data->field_8->arr[0], 1);
- sub_80175EC(data->field_4, 4);
- sub_80175EC(data->field_C, 4);
- gSpecialVar_Result = 0;
- data->state = 3;
- break;
- case 3:
- if ((sub_81B1360() == 8 || sub_81B1360() == 9) && gUnknown_02022C40.field_0 != 0)
- {
- id = GetCursorSelectionMonId();
- switch (gUnknown_02022C40.field_0)
- {
- case 1:
- sub_8011090(0x54, 0, 1);
- if (id >= PARTY_SIZE)
- {
- sub_801807C(&gUnknown_02022C40);
- sub_8010FCC(0, 0, 0);
- sub_801568C(gUnknown_082EF4FC);
- }
- else if (!sub_80180A0(GetCursorSelectionMonId(), &gUnknown_02022C40))
- {
- sub_8015664(0x34, gUnknown_082EF47C);
- }
- else
- {
- data->state = 55;
- }
- break;
- case 2:
- sub_80156C8(data);
- taskData[1] = gUnknown_02022C40.field_8;
- if (id >= PARTY_SIZE)
- {
- sub_801568C(gUnknown_082EF544);
- }
- else
- {
- sub_8011090(0x54, 0, 1);
- gUnknown_02022C2C = 0x44;
- sub_80180E8(GetCursorSelectionMonId(), &gUnknown_02022C40);
- data->state = 51;
- }
- break;
- }
- gUnknown_02022C40.field_0 = 0;
- }
- else
- {
- data->state = 4;
- }
- break;
- case 4:
- if (gSpecialVar_Result != 0)
- {
- if (gSpecialVar_Result == 9)
- {
- sub_8011090(0x54, 0, 1);
- PlaySE(SE_PC_LOGIN);
- StringCopy(gStringVar1, gSaveBlock2Ptr->playerName);
- data->state = 42;
- gSpecialVar_Result = 0;
- }
- else if (gSpecialVar_Result == 11)
- {
- sub_8011090(0x54, 0, 1);
- data->state = 23;
- gSpecialVar_Result = 0;
- }
- else
- {
- taskData[0] = 0;
- taskData[1] = gSpecialVar_Result - 1;
- data->state = 24;
- gSpecialVar_Result = 0;
- }
- }
- else if (ScriptContext2_IsEnabled() != TRUE)
- {
- if (gMain.newKeys & A_BUTTON)
- {
- if (sub_801A2A8(data->field_0, &taskData[0], &taskData[1], data->spriteIds))
- {
- PlaySE(SE_SELECT);
- sub_80181CC();
- data->state = 24;
- break;
- }
- else if (sub_8017940())
- {
- sub_8011090(0x54, 0, 1);
- PlaySE(SE_PC_LOGIN);
- sub_80181CC();
- StringCopy(gStringVar1, gSaveBlock2Ptr->playerName);
- data->state = 45;
- break;
- }
- }
-
- switch (sub_8016B00())
- {
- case 1:
- PlaySE(SE_PC_LOGIN);
- case 2:
- sub_801A274(data);
- break;
- case 4:
- data->state = 11;
- sub_80181CC();
- sub_8010FCC(0, 0, 0);
- sub_8011090(0x53, sub_80181DC(data), 0);
- break;
- }
- sub_801A284(data);
- }
- break;
- case 23:
- if (!FuncIsActiveTask(sub_809FA34))
- {
- sub_8011090(0x40, 0, 0);
- data->state = 4;
- }
- break;
- case 24:
- sub_801704C();
- playerGender = sub_8017CF8(taskData[1], data->field_0);
- sub_8011090(0x54, 0, 1);
- switch (sub_80179D4(data->field_0, taskData[0], taskData[1], playerGender))
- {
- case 0:
- data->state = 26;
- break;
- case 1:
- sub_8012188(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, gUnknown_02022C2C);
- data->field_12 = id; // Should be just 0, but won't match any other way.
- data->state = 25;
- break;
- case 2:
- sub_8015664(0x13, gStringVar4);
- break;
- }
- break;
- case 25:
- sub_801704C();
- switch (sub_8011A74())
- {
- case 4:
- sub_801818C(TRUE);
- data->state = 4;
- break;
- case 1:
- case 2:
- if (sub_8011B90() == TRUE)
- sub_801568C(gUnknown_082EE6C8);
- else
- sub_8015664(30, gUnknown_082EE6C8);
-
- gUnknown_02022C2C = 0x40;
- break;
- }
-
- if (gReceivedRemoteLinkPlayers != 0)
- {
- sub_80143E4(gBlockSendBuffer, TRUE);
- CreateTask(sub_80140E0, 5);
- data->state = 38;
- }
- break;
- case 38:
- if (!FuncIsActiveTask(sub_80140E0))
- {
- if (gUnknown_02022C2C == 0x44)
- sub_8015664(31, gUnknown_082EE004);
- else
- data->state = 5;
- }
- break;
- case 30:
- if (gReceivedRemoteLinkPlayers == 0)
- {
- sub_801818C(FALSE);
- sub_801A3D0(taskData[0], taskData[1], data->field_0);
- data->state = 2;
- }
- break;
- case 5:
- id = sub_80179AC(&data->field_0->arr[taskData[1]]);
- playerGender = sub_8017CF8(taskData[1], data->field_0);
- sub_8015664(6, gUnknown_082EE24C[id][playerGender]);
- break;
- case 6:
- var5 = sub_8017178(&data->textState, &data->field_1B, &data->field_1C, &gUnknown_082F021C, &gUnknown_082F0244);
- if (var5 != -1)
- {
- if (gReceivedRemoteLinkPlayers == 0)
- {
- data->state = 28;
- }
- else
- {
- data->field_98 = 0;
- playerGender = sub_8017CF8(taskData[1], data->field_0);
- if (var5 == -2 || var5 == 0x40)
- {
- data->field_4C[0] = 0x40;
- sub_800FE50(data->field_4C);
- StringCopy(gStringVar4, gUnknown_082EEB80[gLinkPlayers[0].gender]);
- data->state = 32;
- }
- else
- {
- gUnknown_02022C2C = var5;
- gUnknown_02022C2D = (u32)(var5) >> 8;
- if (gUnknown_02022C2C == 0x41 && !sub_8018024())
- {
- sub_8015664(5, gUnknown_082EEBD0);
- }
- else
- {
- data->field_4C[0] = gUnknown_02022C2C | 0x40;
- sub_800FE50(data->field_4C);
- data->state = 27;
- }
- }
- }
- }
- break;
- case 28:
- StringCopy(gStringVar4, gUnknown_082EEB88);
- data->state = 36;
- break;
- case 27:
- sub_8017FD8(data);
- playerGender = sub_8017CF8(taskData[1], data->field_0);
- id = sub_8017984(data->field_4C[0] & 0x3F);
- if (PrintOnTextbox(&data->textState, gUnknown_082EE82C[playerGender][id]))
- {
- taskData[3] = 0;
- data->state = 29;
- }
- break;
- case 32:
- sub_800AC34();
- data->state = 36;
- break;
- case 31:
- data->field_4C[0] = 0x44;
- data->field_4C[1] = gUnknown_02022C40.species;
- data->field_4C[2] = gUnknown_02022C40.level;
- sub_800FE50(data->field_4C);
- data->state = 29;
- break;
- case 29:
- if (gReceivedRemoteLinkPlayers == 0)
- {
- StringCopy(gStringVar4, gUnknown_082EEB88);
- data->state = 28;
- }
- else
- {
- sub_8017FD8(data);
- if (data->field_98 == 0x51)
- {
- if (gUnknown_02022C2C == 8)
- {
- sub_8018220(gStringVar4, data, FALSE);
- data->state = 40;
- }
- else
- {
- data->state = 13;
- }
- }
- else if (data->field_98 == 0x52)
- {
- data->state = 32;
- sub_8017D9C(gStringVar4, gUnknown_02022C2C | 0x40, gLinkPlayers[0].gender);
- gUnknown_02022C2C = 0;
- }
- }
- break;
-
- case 7:
- id = sub_80179AC(&data->field_0->arr[taskData[1]]);
- playerGender = sub_8017CF8(taskData[1], data->field_0);
- sub_8015664(6, gUnknown_082EE24C[id][playerGender]);
- break;
- case 40:
- if (PrintOnTextbox(&data->textState, gStringVar4))
- {
- data->state = 41;
- sub_800ADF8();
- data->field_98 = 0;
- data->field_9A[0] = 0;
- }
- break;
- case 41:
- if (IsLinkTaskFinished())
- {
- if (GetMultiplayerId() == 0)
- {
- StringCopy(gStringVar1, gLinkPlayers[GetMultiplayerId() ^ 1].name);
- id = sub_800E540(gLinkPlayers[1].trainerId, gLinkPlayers[1].name);
- StringExpandPlaceholders(gStringVar4, gUnknown_082EE378[id]);
- data->state = 33;
- }
- else
- {
- data->state = 7;
- }
- }
- break;
- case 19:
- switch (sub_80170B8(&data->textState, FALSE))
- {
- case 0:
- CopyBgTilemapBufferToVram(0);
- gUnknown_02022C2C = 0x45;
- sub_8011090(0x45, 0, 1);
- sub_8012188(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, gUnknown_02022C2C);
- data->field_12 = taskData[1];
- data->state = 20;
- taskData[3] = 0;
- break;
- case 1:
- case -1:
- playerGender = sub_8017CF8(taskData[1], data->field_0);
- sub_801568C(gUnknown_082EEC9C[playerGender]);
- break;
- }
- break;
- case 20:
- if (++taskData[2] > 60)
- {
- data->state = 21;
- taskData[2] = 0;
- }
- break;
- case 21:
- switch (sub_8011A74())
- {
- case 4:
- sub_801818C(TRUE);
- data->state = 4;
- break;
- case 1:
- case 2:
- playerGender = sub_8017CF8(taskData[1], data->field_0);
- sub_8011090(0x54, 0, 1);
- if (sub_8011B90() == TRUE)
- sub_801568C(gUnknown_082EED3C[playerGender]);
- else
- sub_8015664(30, gUnknown_082EED3C[playerGender]);
- break;
- case 3:
- data->state = 22;
- break;
- }
- taskData[3]++;
- break;
- case 22:
- if (sub_8011A80())
- {
- playerGender = sub_8017CF8(taskData[1], data->field_0);
- sub_8011090(0x54, 0, 1);
- if (sub_8011B90() == TRUE)
- sub_801568C(gUnknown_082EED3C[playerGender]);
- else
- sub_8015664(30, gUnknown_082EED3C[playerGender]);
- }
- if (gReceivedRemoteLinkPlayers != 0)
- data->state = 16;
- break;
- case 11:
- PlaySE(SE_PINPON);
- sub_800EF7C();
- data->state = 12;
- data->field_9A[0] = 0;
- break;
- case 12:
- if (sub_8011A80())
- {
- sub_801818C(FALSE);
- data->state = 2;
- }
- else if (gReceivedRemoteLinkPlayers != 0)
- {
- sub_80143E4(gBlockSendBuffer, TRUE);
- CreateTask(sub_80140E0, 5);
- data->state = 39;
- }
- break;
- case 39:
- sub_801689C(data);
- if (!FuncIsActiveTask(sub_80140E0))
- {
- data->state = 33;
- StringCopy(gStringVar1, gLinkPlayers[1].name);
- id = sub_800E540(gLinkPlayers[1].trainerId, gLinkPlayers[1].name);
- StringExpandPlaceholders(gStringVar4, gUnknown_082EE324[id]);
- }
- break;
- case 33:
- sub_801689C(data);
- if (PrintOnTextbox(&data->textState, gStringVar4))
- data->state = 34;
- break;
- case 34:
- sub_801689C(data);
- if (sub_80168DC(data) && gMain.newKeys & B_BUTTON)
- {
- sub_8011DE0(1);
- StringCopy(gStringVar4, gUnknown_082EE598);
- data->state = 36;
- }
- break;
- case 35:
- sub_8015664(9, gStringVar4);
- break;
- case 9:
- switch (sub_80170B8(&data->textState, FALSE))
- {
- case 0:
- data->field_4C[0] = 0x51;
- if (gUnknown_02022C2C == 0x45)
- sub_8011090(gUnknown_02022C2C | 0x40, sub_801100C(1), 0);
- else
- sub_8011090(gUnknown_02022C2C | 0x40, sub_801100C(1), 1);
-
- data->field_8->arr[0].field_1B = 0;
- taskData[3] = 0;
- if (gUnknown_02022C2C == 0x41)
- {
- if (!sub_8018024())
- {
- data->field_4C[0] = 0x52;
- sub_800FE50(data->field_4C);
- data->state = 10;
- StringCopy(gStringVar4, gUnknown_082EEC14);
- }
- else
- {
- sub_800FE50(data->field_4C);
- data->state = 13;
- }
- }
- else if (gUnknown_02022C2C == 0x48)
- {
- sub_800FE50(data->field_4C);
- sub_8018220(gStringVar4, data, 1);
- data->state = 40;
- }
- else
- {
- sub_800FE50(data->field_4C);
- data->state = 13;
- }
- break;
- case 1:
- case -1:
- data->field_4C[0] = 0x52;
- sub_800FE50(data->field_4C);
- data->state = 10;
- sub_8013078(gStringVar4, gUnknown_02022C2C);
- break;
- }
- break;
- case 10:
- sub_800AC34();
- data->state = 36;
- break;
- case 36:
- if (gReceivedRemoteLinkPlayers == 0)
- {
- gUnknown_02022C2C = 0x40;
- sub_8015664(0x25, gStringVar4);
- memset(data->field_4C, 0, sizeof(data->field_4C));
- data->field_9A[0] = 0;
- data->field_98 = 0;
- }
- break;
- case 37:
- data->state = 2;
- sub_801818C(FALSE);
- break;
- case 13:
- sub_8017E00(gStringVar4, gUnknown_02022C2C | 0x40);
- sub_8015664(0xE, gStringVar4);
- break;
- case 14:
- sub_800ADF8();
- data->state = 15;
- break;
- case 15:
- if (IsLinkTaskFinished())
- data->state = 16;
- break;
- case 16:
- Free(data->field_8);
- Free(data->field_0);
- Free(data->field_C);
- Free(data->field_4);
- DestroyTask(data->field_20);
- sub_8019F04(data->spriteIds);
- data->state = 17;
- break;
- case 17:
- BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK);
- data->state = 18;
- break;
- case 18:
- if (!UpdatePaletteFade())
- {
- sub_8019E3C();
- DestroyTask(taskId);
- Free(gUnknown_02022C30.uRoom);
- sub_80149D8();
- }
- break;
- case 42:
- if (sub_800F7DC()->species == SPECIES_NONE)
- {
- data->state = 43;
- }
- else
- {
- if (sub_800F7DC()->species == SPECIES_EGG)
- {
- StringCopy(gStringVar4, gUnknown_082EF590);
- }
- else
- {
- StringCopy(gStringVar1, gSpeciesNames[sub_800F7DC()->species]);
- ConvertIntToDecimalStringN(gStringVar2, sub_800F7DC()->unk_0b_1, STR_CONV_MODE_LEFT_ALIGN, 3);
- StringExpandPlaceholders(gStringVar4, gUnknown_082EF564);
- }
- sub_8015664(44, gStringVar4);
- }
- break;
- case 43:
- if (PrintOnTextbox(&data->textState, gUnknown_082EF20C))
- data->state = 47;
- break;
- case 47:
- var5 = sub_8017178(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_082F025C, &gUnknown_082F027C);
- if (var5 != -1)
- {
- if (var5 == -2 || var5 == 3)
- {
- data->state = 4;
- sub_801818C(TRUE);
- }
- else
- {
- switch (var5)
- {
- case 1:
- sub_8015664(53, gUnknown_082EF4C4);
- break;
- case 2:
- sub_8015664(47, gUnknown_082EF298);
- break;
- }
- }
- }
- break;
- case 53:
- BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
- data->state = 54;
- break;
- case 54:
- if (!gPaletteFade.active)
- {
- gUnknown_02022C40.field_0 = 1;
- gFieldCallback = sub_80AF128;
- sub_81B8904(8, CB2_ReturnToField);
- }
- break;
- case 52:
- var5 = sub_8017178(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_082F0294, &gUnknown_082F032C);
- if (var5 != -1)
- {
- switch (var5)
- {
- case -2:
- case 18:
- sub_801807C(&gUnknown_02022C40);
- sub_8010FCC(0, 0, 0);
- sub_801568C(gUnknown_082EF4FC);
- break;
- default:
- gUnknown_02022C40.field_2 = var5;
- data->state = 55;
- break;
- }
- }
- break;
- case 55:
- sub_8010FCC(gUnknown_02022C40.field_2, gUnknown_02022C40.field_A, gUnknown_02022C40.field_C);
- sub_801568C(gUnknown_082EF520);
- break;
- case 44:
- switch (sub_80170B8(&data->textState, FALSE))
- {
- case 0:
- data->state = 56;
- break;
- case 1:
- case -1:
- sub_801818C(TRUE);
- data->state = 4;
- break;
- }
- break;
- case 56:
- if (PrintOnTextbox(&data->textState, gUnknown_082EF5B8))
- {
- sub_8010FCC(0, 0, 0);
- sub_801807C(&gUnknown_02022C40);
- sub_801818C(TRUE);
- data->state = 4;
- }
- break;
- case 45:
- if (PrintOnTextbox(&data->textState, gUnknown_082EF1EC))
- data->state = 46;
- break;
- case 46:
- sub_80173B0();
- data->state = 48;
- break;
- case 48:
- var5 = sub_80172A0(&data->textState, &data->field_1D, &data->field_4A, &data->field_1E, &gUnknown_082F034C, &gUnknown_082F03A4, data->field_0);
- if (var5 != -1)
- {
- switch (var5)
- {
- case -2:
- case 8:
- sub_801818C(TRUE);
- data->state = 4;
- break;
- default:
- sub_80173B0();
- switch (sub_8017D04(data->field_0->arr[var5].unk.field_0.type, data->field_0->arr[var5].unk.field_0.species))
- {
- case 0:
- sub_8018404(gStringVar1, &data->field_0->arr[var5]);
- sub_8015664(49, gUnknown_082EF65C);
- taskData[1] = var5;
- break;
- case 1:
- sub_8018404(gStringVar1, &data->field_0->arr[var5]);
- StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]);
- sub_8015664(46, gUnknown_082EF6E4);
- break;
- case 2:
- sub_8018404(gStringVar1, &data->field_0->arr[var5]);
- StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]);
- sub_8015664(46, gUnknown_082EF718);
- break;
- }
- break;
- }
- }
- break;
- case 49:
- switch (sub_80170B8(&data->textState, FALSE))
- {
- case 0:
- data->state = 50;
- break;
- case -1:
- case 1:
- sub_801818C(TRUE);
- data->state = 4;
- break;
- }
- break;
- case 50:
- if (PrintOnTextbox(&data->textState, gUnknown_082EF4C4))
- {
- gUnknown_02022C40.field_0 = 2;
- memcpy(&gUnknown_02022C38, &data->field_0->arr[taskData[1]].unk.field_0.unk_00, sizeof(gUnknown_02022C38));
- gUnknown_02022C3E = data->field_0->arr[taskData[1]].unk.field_0.type;
- gUnknown_02022C3C = data->field_0->arr[taskData[1]].unk.field_0.species;
- gFieldCallback = sub_80AF128;
- sub_81B8904(9, CB2_ReturnToField);
- sub_80156B0(data);
- gUnknown_02022C40.field_8 = taskData[1];
- }
- break;
- case 51:
- gUnknown_02022C2C = 0x44;
- sub_8012188(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, 0x44);
- sub_8018404(gStringVar1, &data->field_0->arr[taskData[1]]);
- sub_8017020(gUnknown_082EE17C[2]);
- data->state = 25;
- break;
- case 26:
- if (PrintOnTextbox(&data->textState, gStringVar4))
- {
- sub_801818C(TRUE);
- sub_801A3D0(taskData[0], taskData[1], data->field_0);
- data->state = 4;
- }
- break;
- case 8:
- if (PrintOnTextbox(&data->textState, gStringVar4))
- data->state = data->stateAfterPrint;
- break;
- }
-}
-
-void var_800D_set_xB(void)
-{
- if (InUnionRoom() == TRUE)
- gSpecialVar_Result = 11;
-}
-
-void sub_801689C(struct UnkStruct_URoom *arg0)
-{
- if (gRecvCmds[1][1] != 0 && (gRecvCmds[1][0] & 0xFF00) == 0x2F00)
- {
- arg0->field_9A[0] = gRecvCmds[1][1];
- if (gRecvCmds[1][1] == 0x44)
- {
- arg0->field_9A[1] = gRecvCmds[1][2];
- arg0->field_9A[2] = gRecvCmds[1][3];
- }
- }
-}
-
-bool32 sub_80168DC(struct UnkStruct_URoom *arg0)
-{
- if (arg0->field_9A[0] != 0)
- {
- s32 var = sub_8017EA0(gStringVar4, gLinkPlayers[1].gender, &arg0->field_9A[0], arg0);
- if (var == 0)
- {
- return TRUE;
- }
- else if (var == 1)
- {
- arg0->state = 35;
- gUnknown_02022C2C = arg0->field_9A[0];
- return FALSE;
- }
- else if (var == 2)
- {
- arg0->state = 36;
- sub_800AC34();
- return FALSE;
- }
- }
-
- return TRUE;
-}
-
-void sub_8016934(void)
-{
- struct UnkStruct_URoom *ptr;
-
- gUnknown_02022C20[0] = EOS;
- CreateTask(sub_801697C, 0);
- gUnknown_02022C30.uRoom = gUnknown_02022C30.uRoom; // Needed to match.
- gUnknown_02022C30.uRoom = ptr = AllocZeroed(0x26C);
- gUnknown_03000DA8 = gUnknown_02022C30.uRoom;
- ptr->state = 0;
- ptr->textState = 0;
- ptr->field_10 = 0;
- ptr->field_12 = 0;
- gUnknown_02022C20[0] = EOS;
-}
-
-void sub_801697C(u8 taskId)
-{
- s32 i;
- u8 text[32];
- struct UnkStruct_URoom *structPtr = gUnknown_02022C30.uRoom;
-
- switch (structPtr->state)
- {
- case 0:
- structPtr->state = 1;
- break;
- case 1:
- sub_8010F84(0xC, 0, 0);
- sub_800B488();
- OpenLink();
- sub_8011C84();
- sub_80111B0(1);
- structPtr->state = 2;
- break;
- case 2:
- structPtr->field_4 = AllocZeroed(0x70);
- sub_80175EC(structPtr->field_4, 4);
- structPtr->field_C = AllocZeroed(0x70);
- sub_80175EC(structPtr->field_C, 4);
- structPtr->field_0 = AllocZeroed(0x100);
- sub_8017580(structPtr->field_0->arr, 8);
- structPtr->field_8 = AllocZeroed(0x20);
- sub_8017580(&structPtr->field_8->arr[0], 1);
- structPtr->field_20 = sub_8016DF0(structPtr->field_C, structPtr->field_4, 10);
- structPtr->state = 3;
- break;
- case 3:
- switch (sub_8016B00())
- {
- case 1:
- case 2:
- if (gUnknown_02022C20[0] == EOS)
- {
- for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
- {
- if (structPtr->field_0->arr[i].field_1A_0 == 1)
- {
- sub_8018404(text, &structPtr->field_0->arr[i]);
- if (sub_800E540(ReadAsU16(structPtr->field_0->arr[i].unk.field_0.unk_00.playerTrainerId), text))
- {
- StringCopy(gUnknown_02022C20, text);
- break;
- }
- }
- }
- }
- break;
- case 3:
- break;
- }
- break;
- case 4:
- free(structPtr->field_8);
- free(structPtr->field_0);
- free(structPtr->field_C);
- free(structPtr->field_4);
- DestroyTask(structPtr->field_20);
- free(gUnknown_02022C30.uRoom);
- sub_800EDD4();
- DestroyTask(taskId);
- break;
- }
-}
-
-bool16 sp182_move_string(void)
-{
- if (gUnknown_02022C20[0] != EOS)
- {
- StringCopy(gStringVar1, gUnknown_02022C20);
- gUnknown_02022C20[0] = EOS;
- return TRUE;
- }
- else
- {
- return FALSE;
- }
-}
-
-u8 sub_8016B00(void)
-{
- s32 i;
- u8 j;
- struct UnkStruct_URoom *structPtr = gUnknown_02022C30.uRoom;
- s32 r7 = 0;
-
- for (i = 0; i < 4; i++)
- {
- if (sub_8017630(&structPtr->field_C->arr[i].unk0, &gUnknown_082F045C) == TRUE)
- {
- structPtr->field_8->arr[0].unk = structPtr->field_C->arr[i].unk0;
- structPtr->field_8->arr[0].field_18 = 0;
- structPtr->field_8->arr[0].field_1A_0 = 1;
- structPtr->field_8->arr[0].field_1B = 1;
- return 4;
- }
- }
- for (j = 0; j < 8; j++)
- {
- if (structPtr->field_0->arr[j].field_1A_0 != 0)
- {
- i = sub_80176E4(&structPtr->field_0->arr[j], &structPtr->field_4->arr[0]);
- if (i != 0xFF)
- {
- if (structPtr->field_0->arr[j].field_1A_0 == 1)
- {
- if (sub_8017678(&structPtr->field_0->arr[j], &structPtr->field_4->arr[i]))
- {
- structPtr->field_0->arr[j].unk = structPtr->field_4->arr[i].unk0;
- structPtr->field_0->arr[j].field_1B = 0x40;
- r7 = 1;
- }
- else if (structPtr->field_0->arr[j].field_1B != 0)
- {
- structPtr->field_0->arr[j].field_1B--;
- if (structPtr->field_0->arr[j].field_1B == 0)
- r7 = 2;
- }
- }
- else
- {
- structPtr->field_0->arr[j].field_1A_0 = 1;
- structPtr->field_0->arr[j].field_1B = 0;
- r7 = 2;
- }
- structPtr->field_0->arr[j].field_18 = 0;
- }
- else if (structPtr->field_0->arr[j].field_1A_0 != 2)
- {
- structPtr->field_0->arr[j].field_18++;
- if (structPtr->field_0->arr[j].field_18 >= 600)
- {
- structPtr->field_0->arr[j].field_1A_0 = 2;
- r7 = 2;
- }
- }
- else if (structPtr->field_0->arr[j].field_1A_0 == 2)
- {
- structPtr->field_0->arr[j].field_18++;
- if (structPtr->field_0->arr[j].field_18 >= 900)
- {
- sub_8017580(&structPtr->field_0->arr[j], 1);
- }
- }
- }
- }
- for (i = 0; i < 4; i++)
- {
- if (sub_8017734(&structPtr->field_0->arr[0], &structPtr->field_4->arr[i].unk0, 8) != 0xFF)
- r7 = 1;
- }
-
- return r7;
-}
-
-/*
-void sub_8016CA0(u8 taskId)
-{
- s32 i, j;
- struct UnkLinkRfuStruct_02022B14 sp0;
- u8 text[10];
- struct UnkStruct_Main4 *ptr = (void*) gTasks[taskId].data;
-
- for (i = 0; i < 4; i++)
- {
- j = sub_800DE7C(&sp0, text, i);
- if (!sub_8013D88(sp0.unk_0a_0, gTasks[taskId].data[4]))
- sp0 = gUnknown_082F045C.field_0;
- if (sp0.unk_00.unk_00_0 == 1)
- sp0 = gUnknown_082F045C.field_0;
-
- if (!j)
- {
- for (j = 0; j < i; j++)
- {
- if (sub_8017630())
- }
- }
- else
- {
-
- }
- }
-}
-*/
diff --git a/src/rotating_gate.c b/src/rotating_gate.c
index 3513f092e..44d291dc4 100644
--- a/src/rotating_gate.c
+++ b/src/rotating_gate.c
@@ -236,10 +236,10 @@ static const struct OamData sOamData_RotatingGateLarge =
.objMode = 0,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_SQUARE,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 2,
.paletteNum = 2,
@@ -253,10 +253,10 @@ static const struct OamData sOamData_RotatingGateRegular =
.objMode = 0,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_SQUARE,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 2,
.paletteNum = 2,
diff --git a/src/roulette.c b/src/roulette.c
index 05d5006f0..39db5630b 100644
--- a/src/roulette.c
+++ b/src/roulette.c
@@ -1984,7 +1984,7 @@ static void sub_8141E7C(u8 taskId) // end roulette ?
ResetPaletteFade();
ResetSpriteData();
sub_8140418();
- gFieldCallback = sub_80AF168;
+ gFieldCallback = FieldCallback_ReturnToEventScript2;
SetMainCallback2(CB2_ReturnToField);
DestroyTask(taskId);
}
@@ -2311,18 +2311,18 @@ static const u32 RouletteCursorTiles[] = INCBIN_U32("graphics/roulette/cursor.4b
static const struct SpritePalette gUnknown_085B7384[] =
{
- { RouletteSpritePalette_01, 1 },
- { RouletteSpritePalette_02, 2 },
- { RouletteSpritePalette_03, 3 },
- { RouletteSpritePalette_04, 4 },
- { RouletteSpritePalette_05, 5 },
- { RouletteSpritePalette_06, 6 },
- { RouletteSpritePalette_07, 7 },
- { RouletteSpritePalette_08, 8 },
- { RouletteSpritePalette_09, 9 },
- { RouletteSpritePalette_10, 10 },
- { RouletteSpritePalette_11, 11 },
- { RouletteSpritePalette_12, 12 },
+ { .data = RouletteSpritePalette_01, .tag = 1 },
+ { .data = RouletteSpritePalette_02, .tag = 2 },
+ { .data = RouletteSpritePalette_03, .tag = 3 },
+ { .data = RouletteSpritePalette_04, .tag = 4 },
+ { .data = RouletteSpritePalette_05, .tag = 5 },
+ { .data = RouletteSpritePalette_06, .tag = 6 },
+ { .data = RouletteSpritePalette_07, .tag = 7 },
+ { .data = RouletteSpritePalette_08, .tag = 8 },
+ { .data = RouletteSpritePalette_09, .tag = 9 },
+ { .data = RouletteSpritePalette_10, .tag = 10 },
+ { .data = RouletteSpritePalette_11, .tag = 11 },
+ { .data = RouletteSpritePalette_12, .tag = 12 },
{}
};
@@ -2330,8 +2330,8 @@ static const struct OamData gOamData_85B73EC =
{
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 2,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
.priority = 1,
};
@@ -2339,8 +2339,8 @@ static const struct OamData gOamData_85B73F4 =
{
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 1,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
.priority = 1,
};
@@ -2349,35 +2349,41 @@ static const struct OamData gOamData_85B73FC =
.y = 60,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 2,
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
.priority = 2,
};
-static const union AnimCmd gSpriteAnim_85B7404[] = {
+static const union AnimCmd gSpriteAnim_85B7404[] =
+{
ANIMCMD_FRAME(0, 0),
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_85B740C[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B740C[] =
+{
gSpriteAnim_85B7404
};
-static const union AffineAnimCmd gSpriteAffineAnim_85B7410[] = {
+static const union AffineAnimCmd gSpriteAffineAnim_85B7410[] =
+{
AFFINEANIMCMD_END
};
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7418[] = {
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7418[] =
+{
gSpriteAffineAnim_85B7410
};
-static const struct CompressedSpriteSheet gUnknown_085B741C = {
+static const struct CompressedSpriteSheet gUnknown_085B741C =
+{
.data = RoulettePokeIcons2Tiles,
.size = 0xC00,
.tag = 0
};
-static const union AnimCmd gSpriteAnim_85B7420[] = {
+static const union AnimCmd gSpriteAnim_85B7420[] =
+{
ANIMCMD_FRAME(0, 0),
ANIMCMD_FRAME(32, 0),
ANIMCMD_FRAME(64, 0),
@@ -2393,67 +2399,82 @@ static const union AnimCmd gSpriteAnim_85B7420[] = {
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_85B7458[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7458[] =
+{
&gSpriteAnim_85B7420[0]
};
-static const union AnimCmd *const gSpriteAnimTable_85B745C[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B745C[] =
+{
&gSpriteAnim_85B7420[1]
};
-static const union AnimCmd *const gSpriteAnimTable_85B7460[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7460[] =
+{
&gSpriteAnim_85B7420[2]
};
-static const union AnimCmd *const gSpriteAnimTable_85B7464[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7464[] =
+{
&gSpriteAnim_85B7420[3]
};
-static const union AnimCmd *const gSpriteAnimTable_85B7468[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7468[] =
+{
&gSpriteAnim_85B7420[4]
};
-static const union AnimCmd *const gSpriteAnimTable_85B746C[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B746C[] =
+{
&gSpriteAnim_85B7420[5]
};
-static const union AnimCmd *const gSpriteAnimTable_85B7470[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7470[] =
+{
&gSpriteAnim_85B7420[6]
};
-static const union AnimCmd *const gSpriteAnimTable_85B7474[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7474[] =
+{
&gSpriteAnim_85B7420[7]
};
-static const union AnimCmd *const gSpriteAnimTable_85B7478[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7478[] =
+{
&gSpriteAnim_85B7420[8]
};
-static const union AnimCmd *const gSpriteAnimTable_85B747C[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B747C[] =
+{
&gSpriteAnim_85B7420[9]
};
-static const union AnimCmd *const gSpriteAnimTable_85B7480[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7480[] =
+{
&gSpriteAnim_85B7420[10]
};
-static const union AnimCmd *const gSpriteAnimTable_85B7484[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7484[] =
+{
&gSpriteAnim_85B7420[11]
};
-static const struct CompressedSpriteSheet gUnknown_085B7488 = {
+static const struct CompressedSpriteSheet gUnknown_085B7488 =
+{
.data = gRouletteHeadersTiles,
.size = 0x1600,
.tag = 4
};
-static const struct CompressedSpriteSheet gUnknown_085B7490 = {
+static const struct CompressedSpriteSheet gUnknown_085B7490 =
+{
.data = RoulettePokeIconsTiles,
.size = 0x400,
.tag = 5
};
-static const union AnimCmd gSpriteAnim_85B7498[] = {
+static const union AnimCmd gSpriteAnim_85B7498[] =
+{
ANIMCMD_FRAME(0, 0),
ANIMCMD_FRAME(16, 0),
ANIMCMD_FRAME(32, 0),
@@ -2468,7 +2489,8 @@ static const union AnimCmd gSpriteAnim_85B7498[] = {
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_85B74C8[] = {
+static const union AnimCmd gSpriteAnim_85B74C8[] =
+{
ANIMCMD_FRAME(0, 0),
ANIMCMD_FRAME(4, 0),
ANIMCMD_FRAME(8, 0),
@@ -2476,47 +2498,58 @@ static const union AnimCmd gSpriteAnim_85B74C8[] = {
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_85B74DC[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B74DC[] =
+{
&gSpriteAnim_85B7498[0]
};
-static const union AnimCmd *const gSpriteAnimTable_85B74E0[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B74E0[] =
+{
&gSpriteAnim_85B7498[2]
};
-static const union AnimCmd *const gSpriteAnimTable_85B74E4[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B74E4[] =
+{
&gSpriteAnim_85B7498[4]
};
-static const union AnimCmd *const gSpriteAnimTable_85B74E8[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B74E8[] =
+{
&gSpriteAnim_85B7498[6]
};
-static const union AnimCmd *const gSpriteAnimTable_85B74EC[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B74EC[] =
+{
&gSpriteAnim_85B7498[8]
};
-static const union AnimCmd *const gSpriteAnimTable_85B74F0[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B74F0[] =
+{
&gSpriteAnim_85B7498[9]
};
-static const union AnimCmd *const gSpriteAnimTable_85B74F4[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B74F4[] =
+{
&gSpriteAnim_85B7498[10]
};
-static const union AnimCmd *const gSpriteAnimTable_85B74F8[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B74F8[] =
+{
&gSpriteAnim_85B74C8[0]
};
-static const union AnimCmd *const gSpriteAnimTable_85B74FC[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B74FC[] =
+{
&gSpriteAnim_85B74C8[1]
};
-static const union AnimCmd *const gSpriteAnimTable_85B7500[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7500[] =
+{
&gSpriteAnim_85B74C8[2]
};
-static const union AnimCmd *const gSpriteAnimTable_85B7504[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7504[] =
+{
&gSpriteAnim_85B74C8[3]
};
@@ -2747,8 +2780,8 @@ static const struct OamData gOamData_85B7730 =
{
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 3,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
.priority = 1,
};
@@ -2756,8 +2789,8 @@ static const struct OamData gOamData_85B7738 =
{
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_V_RECTANGLE,
- .size = 0,
+ .shape = SPRITE_SHAPE(8x16),
+ .size = SPRITE_SIZE(8x16),
.priority = 1,
};
@@ -2765,8 +2798,8 @@ static const struct OamData gOamData_85B7740 =
{
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 2,
+ .shape = SPRITE_SHAPE(32x16),
+ .size = SPRITE_SIZE(32x16),
.priority = 1,
};
@@ -2774,8 +2807,8 @@ static const struct OamData gOamData_85B7748 =
{
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 0,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
.priority = 1,
};
@@ -2809,7 +2842,8 @@ static const struct CompressedSpriteSheet gUnknown_085B7750[] =
{}
};
-static const union AnimCmd gSpriteAnim_85B7780[] = {
+static const union AnimCmd gSpriteAnim_85B7780[] =
+{
ANIMCMD_FRAME(0, 0),
ANIMCMD_FRAME(2, 0),
ANIMCMD_FRAME(4, 0),
@@ -2824,11 +2858,13 @@ static const union AnimCmd gSpriteAnim_85B7780[] = {
//ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_85B77A8[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B77A8[] =
+{
gSpriteAnim_85B7780
};
-static const union AnimCmd gSpriteAnim_85B77AC[] = {
+static const union AnimCmd gSpriteAnim_85B77AC[] =
+{
ANIMCMD_FRAME(0, 0),
ANIMCMD_FRAME(8, 0),
ANIMCMD_FRAME(16, 0),
@@ -2837,11 +2873,13 @@ static const union AnimCmd gSpriteAnim_85B77AC[] = {
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_85B77C4[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B77C4[] =
+{
gSpriteAnim_85B77AC
};
-static const union AnimCmd gSpriteAnim_85B77C8[] = {
+static const union AnimCmd gSpriteAnim_85B77C8[] =
+{
ANIMCMD_FRAME(0, 0),
ANIMCMD_FRAME(2, 0),
ANIMCMD_FRAME(4, 0),
@@ -2850,7 +2888,8 @@ static const union AnimCmd gSpriteAnim_85B77C8[] = {
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_85B77E0[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B77E0[] =
+{
gSpriteAnim_85B77C8
};
@@ -2913,8 +2952,8 @@ static const struct OamData gOamData_85B785C =
{
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 1,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
.priority = 2,
};
@@ -2924,7 +2963,8 @@ static const struct CompressedSpriteSheet gUnknown_085B7864 = {
.tag = 12
};
-static const union AnimCmd gSpriteAnim_85B786C[] = {
+static const union AnimCmd gSpriteAnim_85B786C[] =
+{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(4, 5),
ANIMCMD_FRAME(8, 5),
@@ -2932,7 +2972,8 @@ static const union AnimCmd gSpriteAnim_85B786C[] = {
ANIMCMD_JUMP(0)
};
-static const union AnimCmd gSpriteAnim_85B7880[] = {
+static const union AnimCmd gSpriteAnim_85B7880[] =
+{
ANIMCMD_FRAME(0, 10),
ANIMCMD_FRAME(4, 10),
ANIMCMD_FRAME(8, 10),
@@ -2940,7 +2981,8 @@ static const union AnimCmd gSpriteAnim_85B7880[] = {
ANIMCMD_JUMP(0)
};
-static const union AnimCmd gSpriteAnim_85B7894[] = {
+static const union AnimCmd gSpriteAnim_85B7894[] =
+{
ANIMCMD_FRAME(0, 15),
ANIMCMD_FRAME(4, 15),
ANIMCMD_FRAME(8, 15),
@@ -2948,7 +2990,8 @@ static const union AnimCmd gSpriteAnim_85B7894[] = {
ANIMCMD_JUMP(0)
};
-static const union AnimCmd gSpriteAnim_85B78A8[] = {
+static const union AnimCmd gSpriteAnim_85B78A8[] =
+{
ANIMCMD_FRAME(4, 2),
ANIMCMD_FRAME(8, 5),
ANIMCMD_FRAME(4, 5),
@@ -2956,7 +2999,8 @@ static const union AnimCmd gSpriteAnim_85B78A8[] = {
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_85B78BC[] = {
+static const union AnimCmd gSpriteAnim_85B78BC[] =
+{
ANIMCMD_FRAME(4, 2),
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(4, 4),
@@ -2965,7 +3009,8 @@ static const union AnimCmd gSpriteAnim_85B78BC[] = {
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_85B78D4[] = {
+static const union AnimCmd gSpriteAnim_85B78D4[] =
+{
ANIMCMD_FRAME(0, 2),
ANIMCMD_FRAME(4, 5),
ANIMCMD_FRAME(8, 5),
@@ -2973,12 +3018,14 @@ static const union AnimCmd gSpriteAnim_85B78D4[] = {
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_85B78E8[] = {
+static const union AnimCmd gSpriteAnim_85B78E8[] =
+{
ANIMCMD_FRAME(12, 0),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_85B78F0[] = {
+static const union AnimCmd gSpriteAnim_85B78F0[] =
+{
ANIMCMD_FRAME(8, 2),
ANIMCMD_FRAME(4, 5),
ANIMCMD_FRAME(0, 5),
@@ -2986,7 +3033,8 @@ static const union AnimCmd gSpriteAnim_85B78F0[] = {
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_85B7904[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7904[] =
+{
gSpriteAnim_85B786C,
gSpriteAnim_85B7880,
gSpriteAnim_85B7894,
@@ -3014,12 +3062,13 @@ static const struct OamData gOamData_85B7940 =
.y = 81,
.affineMode = ST_OAM_AFFINE_DOUBLE,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 3,
+ .shape = SPRITE_SHAPE(64x64),
+ .size = SPRITE_SIZE(64x64),
.priority = 2,
};
-static const struct CompressedSpriteSheet gUnknown_085B7948 = {
+static const struct CompressedSpriteSheet gUnknown_085B7948 =
+{
.data = gRouletteCenter_Gfx,
.size = 0x800,
.tag = 6
@@ -3040,8 +3089,8 @@ static const struct OamData gOamData_85B7968 =
{
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 2,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
.priority = 2,
};
@@ -3049,18 +3098,20 @@ static const struct OamData gOamData_85B7970 =
{
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 2,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
.priority = 2,
};
-static const struct CompressedSpriteSheet gUnknown_085B7978 = {
+static const struct CompressedSpriteSheet gUnknown_085B7978 =
+{
.data = gUnknown_085B67FC,
.size = 0xE00,
.tag = 13
};
-static const union AnimCmd gSpriteAnim_85B7980[] = {
+static const union AnimCmd gSpriteAnim_85B7980[] =
+{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(16, 6),
ANIMCMD_FRAME(32, 6),
@@ -3070,45 +3121,53 @@ static const union AnimCmd gSpriteAnim_85B7980[] = {
ANIMCMD_JUMP(2)
};
-static const union AnimCmd gSpriteAnim_85B799C[] = {
+static const union AnimCmd gSpriteAnim_85B799C[] =
+{
ANIMCMD_FRAME(80, 10),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_85B79A4[] = {
+static const union AnimCmd gSpriteAnim_85B79A4[] =
+{
ANIMCMD_FRAME(80, 10, .hFlip = TRUE),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_85B79AC[] = {
+static const union AnimCmd gSpriteAnim_85B79AC[] =
+{
ANIMCMD_FRAME(80, 20),
ANIMCMD_FRAME(96, 20),
ANIMCMD_JUMP(0)
};
-static const union AnimCmd gSpriteAnim_85B79B8[] = {
+static const union AnimCmd gSpriteAnim_85B79B8[] =
+{
ANIMCMD_FRAME(80, 20, .hFlip = TRUE),
ANIMCMD_FRAME(96, 20, .hFlip = TRUE),
ANIMCMD_JUMP(0)
};
-static const union AnimCmd gSpriteAnim_85B79C4[] = {
+static const union AnimCmd gSpriteAnim_85B79C4[] =
+{
ANIMCMD_FRAME(80, 10),
ANIMCMD_FRAME(96, 10),
ANIMCMD_JUMP(0)
};
-static const union AnimCmd gSpriteAnim_85B79D0[] = {
+static const union AnimCmd gSpriteAnim_85B79D0[] =
+{
ANIMCMD_FRAME(80, 10, .hFlip = TRUE),
ANIMCMD_FRAME(96, 10, .hFlip = TRUE),
ANIMCMD_JUMP(0)
};
-static const union AnimCmd *const gSpriteAnimTable_85B79DC[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B79DC[] =
+{
gSpriteAnim_85B7980
};
-static const union AnimCmd *const gSpriteAnimTable_85B79E0[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B79E0[] =
+{
gSpriteAnim_85B799C,
gSpriteAnim_85B79A4,
gSpriteAnim_85B79AC,
@@ -3143,8 +3202,8 @@ static const struct OamData gOamData_85B7A28 =
{
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_SQUARE,
- .size = 1,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
.priority = 2,
};
@@ -3152,8 +3211,8 @@ static const struct OamData gOamData_85B7A30 =
{
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 2,
+ .shape = SPRITE_SHAPE(32x16),
+ .size = SPRITE_SIZE(32x16),
.priority = 2,
};
@@ -3161,24 +3220,27 @@ static const struct OamData gOamData_85B7A38 =
{
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_NORMAL,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 2,
+ .shape = SPRITE_SHAPE(32x16),
+ .size = SPRITE_SIZE(32x16),
.priority = 2,
};
-static const struct CompressedSpriteSheet gUnknown_085B7A40 = {
+static const struct CompressedSpriteSheet gUnknown_085B7A40 =
+{
.data = gUnknown_085B7290,
.size = 0x180,
.tag = 14
};
-static const union AffineAnimCmd gSpriteAffineAnim_85B7A48[] = {
+static const union AffineAnimCmd gSpriteAffineAnim_85B7A48[] =
+{
AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
AFFINEANIMCMD_FRAME(2, 2, 0, 60),
AFFINEANIMCMD_END
};
-static const union AffineAnimCmd gSpriteAffineAnim_85B7A60[] = {
+static const union AffineAnimCmd gSpriteAffineAnim_85B7A60[] =
+{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(-2, 0x0, 0, 15),
AFFINEANIMCMD_FRAME(-1, -2, 0, 15),
@@ -3186,38 +3248,46 @@ static const union AffineAnimCmd gSpriteAffineAnim_85B7A60[] = {
AFFINEANIMCMD_END
};
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7A88[] = {
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7A88[] =
+{
gSpriteAffineAnim_85B7A48
};
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7A8C[] = {
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7A8C[] =
+{
gSpriteAffineAnim_85B7A60
};
-static const union AffineAnimCmd gSpriteAffineAnim_85B7A90[] = {
+static const union AffineAnimCmd gSpriteAffineAnim_85B7A90[] =
+{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_END
};
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7AA0[] = {
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7AA0[] =
+{
gSpriteAffineAnim_85B7A90
};
-static const union AnimCmd gSpriteAnim_85B7AA4[] = {
+static const union AnimCmd gSpriteAnim_85B7AA4[] =
+{
ANIMCMD_FRAME(0, 0),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_85B7AAC[] = {
+static const union AnimCmd gSpriteAnim_85B7AAC[] =
+{
ANIMCMD_FRAME(4, 0),
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_85B7AB4[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7AB4[] =
+{
gSpriteAnim_85B7AA4
};
-static const union AnimCmd *const gSpriteAnimTable_85B7AB8[] = {
+static const union AnimCmd *const gSpriteAnimTable_85B7AB8[] =
+{
gSpriteAnim_85B7AAC
};
diff --git a/src/save.c b/src/save.c
index 361a88e1e..45a75b5dc 100644
--- a/src/save.c
+++ b/src/save.c
@@ -849,7 +849,7 @@ u16 sub_815355C(void)
return 0;
}
-u32 TryCopySpecialSaveSection(u8 sector, u8* dst)
+u32 TryReadSpecialSaveSection(u8 sector, u8* dst)
{
s32 i;
s32 size;
@@ -858,7 +858,7 @@ u32 TryCopySpecialSaveSection(u8 sector, u8* dst)
if (sector != SECTOR_ID_TRAINER_HILL && sector != SECTOR_ID_RECORDED_BATTLE)
return 0xFF;
ReadFlash(sector, 0, (u8 *)&gSaveDataBuffer, sizeof(struct SaveSection));
- if (*(u32*)(&gSaveDataBuffer.data[0]) != 0xB39D)
+ if (*(u32*)(&gSaveDataBuffer.data[0]) != SPECIAL_SECTION_SENTINEL)
return 0xFF;
// copies whole save section except u32 counter
i = 0;
@@ -869,18 +869,18 @@ u32 TryCopySpecialSaveSection(u8 sector, u8* dst)
return 1;
}
-u32 sub_8153634(u8 sector, u8* src)
+u32 TryWriteSpecialSaveSection(u8 sector, u8* src)
{
s32 i;
s32 size;
u8* savData;
void* savDataBuffer;
- if (sector != 30 && sector != 31)
+ if (sector != SECTOR_ID_TRAINER_HILL && sector != SECTOR_ID_RECORDED_BATTLE)
return 0xFF;
savDataBuffer = &gSaveDataBuffer;
- *(u32*)(savDataBuffer) = 0xB39D;
+ *(u32*)(savDataBuffer) = SPECIAL_SECTION_SENTINEL;
// copies whole save section except u32 counter
i = 0;
diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c
index 08f193890..415907585 100644
--- a/src/save_failed_screen.c
+++ b/src/save_failed_screen.c
@@ -47,19 +47,19 @@ EWRAM_DATA u8 gSaveFailedUnused2[4] = {0};
static const struct OamData sClockOamData =
{
- 160, // Y
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0,
- 0,
- 0
+ .y = 160,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .matrixNum = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0
};
static const struct BgTemplate gUnknown_085EFD88[3] =
diff --git a/src/scanline_effect.c b/src/scanline_effect.c
index a9ae9427b..0a4b0b8fd 100644
--- a/src/scanline_effect.c
+++ b/src/scanline_effect.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "battle.h"
-#include "data2.h"
+#include "data.h"
#include "task.h"
#include "trig.h"
#include "scanline_effect.h"
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 314504600..8d597b887 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -7,7 +7,7 @@
#include "contest.h"
#include "contest_link_80F57C4.h"
#include "contest_painting.h"
-#include "data2.h"
+#include "data.h"
#include "decoration.h"
#include "decoration_inventory.h"
#include "event_data.h"
@@ -281,7 +281,7 @@ bool8 ScrCmd_callstd_if(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_gotoram(struct ScriptContext *ctx)
+bool8 ScrCmd_returnram(struct ScriptContext *ctx)
{
ScriptJump(ctx, gUnknown_020375C0);
return FALSE;
@@ -1068,7 +1068,7 @@ bool8 ScrCmd_addobject(struct ScriptContext *ctx)
{
u16 objectId = VarGet(ScriptReadHalfword(ctx));
- show_sprite(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ TrySpawnEventObject(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
return FALSE;
}
@@ -1078,7 +1078,7 @@ bool8 ScrCmd_addobject_at(struct ScriptContext *ctx)
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
- show_sprite(objectId, mapNum, mapGroup);
+ TrySpawnEventObject(objectId, mapNum, mapGroup);
return FALSE;
}
@@ -1088,7 +1088,7 @@ bool8 ScrCmd_setobjectxy(struct ScriptContext *ctx)
u16 x = VarGet(ScriptReadHalfword(ctx));
u16 y = VarGet(ScriptReadHalfword(ctx));
- sub_808EBA8(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y);
+ TryMoveEventObjectToMapCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y);
return FALSE;
}
@@ -1106,7 +1106,7 @@ bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
- sub_808F254(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ TryOverrideEventObjectTemplateCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
return FALSE;
}
@@ -2215,9 +2215,9 @@ bool8 ScrCmd_checkmonobedience(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_cmdCF(struct ScriptContext *ctx)
+bool8 ScrCmd_gotoram(struct ScriptContext *ctx)
{
- const u8* v1 = sub_8099244();
+ const u8* v1 = GetSavedRamScriptIfValid();
if (v1)
{
diff --git a/src/script.c b/src/script.c
index c95a1141f..27476dba3 100644
--- a/src/script.c
+++ b/src/script.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "script.h"
#include "event_data.h"
+#include "mevent.h"
#include "util.h"
#include "constants/map_scripts.h"
@@ -8,8 +9,6 @@
extern const u8* gUnknown_020375C0;
-extern bool32 sub_801B27C(void);
-
// ewram bss
IWRAM_DATA static u8 sScriptContext1Status;
IWRAM_DATA static u32 sUnusedVariable1;
@@ -387,7 +386,7 @@ const u8 *GetRamScript(u8 objectId, const u8 *script)
}
}
-bool32 sub_80991F8(void)
+bool32 ValidateSavedRamScript(void)
{
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
if (scriptData->magic != RAM_SCRIPT_MAGIC)
@@ -403,10 +402,10 @@ bool32 sub_80991F8(void)
return TRUE;
}
-u8 *sub_8099244(void)
+u8 *GetSavedRamScriptIfValid(void)
{
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
- if (!sub_801B27C())
+ if (!ValidateReceivedWonderCard())
return NULL;
if (scriptData->magic != RAM_SCRIPT_MAGIC)
return NULL;
@@ -427,7 +426,7 @@ u8 *sub_8099244(void)
}
}
-void sub_80992A0(u8 *script, u16 scriptSize)
+void InitRamScript_NoEventObject(u8 *script, u16 scriptSize)
{
if (scriptSize > sizeof(gSaveBlock1Ptr->ramScript.data.script))
scriptSize = sizeof(gSaveBlock1Ptr->ramScript.data.script);
diff --git a/src/script_menu.c b/src/script_menu.c
index c7523a370..082253e35 100644
--- a/src/script_menu.c
+++ b/src/script_menu.c
@@ -1183,7 +1183,7 @@ static void Task_HandleMultichoiceInput(u8 taskId)
{
gSpecialVar_Result = selection;
}
- sub_80E2A78(tWindowId);
+ ClearToTransparentAndRemoveWindow(tWindowId);
DestroyTask(taskId);
EnableBothScriptContexts();
}
@@ -1219,8 +1219,6 @@ bool8 IsScriptActive(void)
static void Task_HandleYesNoInput(u8 taskId)
{
- u8 left, top;
-
if (gTasks[taskId].tRight < 5)
{
gTasks[taskId].tRight++;
@@ -1229,9 +1227,9 @@ static void Task_HandleYesNoInput(u8 taskId)
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
- case -2:
+ case MENU_NOTHING_CHOSEN:
return;
- case -1:
+ case MENU_B_PRESSED:
case 1:
PlaySE(SE_SELECT);
gSpecialVar_Result = 0;
@@ -1247,8 +1245,6 @@ static void Task_HandleYesNoInput(u8 taskId)
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 columnCount)
{
- u8 bottom = 0;
-
if (FuncIsActiveTask(Task_HandleMultichoiceGridInput) == TRUE)
{
return FALSE;
@@ -1256,10 +1252,8 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPr
else
{
u8 taskId;
- u8 unk2;
- int width;
- int i;
- u8 newWidth;
+ u8 rowCount, newWidth;
+ int i, width;
gSpecialVar_Result = 0xFF;
width = 0;
@@ -1272,15 +1266,15 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPr
newWidth = convert_pixel_width_to_tile_width(width);
left = sub_80E2D5C(left, columnCount * newWidth);
- unk2 = gMultichoiceLists[multichoiceId].count / columnCount;
+ rowCount = gMultichoiceLists[multichoiceId].count / columnCount;
taskId = CreateTask(Task_HandleMultichoiceGridInput, 80);
gTasks[taskId].tIgnoreBPress = ignoreBPress;
- gTasks[taskId].tWindowId = CreateWindowFromRect(left, top, columnCount * newWidth, unk2 * 2);
+ gTasks[taskId].tWindowId = CreateWindowFromRect(left, top, columnCount * newWidth, rowCount * 2);
SetStandardWindowBorderStyle(gTasks[taskId].tWindowId, 0);
- sub_81997AC(gTasks[taskId].tWindowId, newWidth * 8, columnCount, unk2, gMultichoiceLists[multichoiceId].list);
- sub_8199944(gTasks[taskId].tWindowId, newWidth * 8, columnCount, unk2, 0);
+ PrintMenuGridTable(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, gMultichoiceLists[multichoiceId].list);
+ sub_8199944(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, 0);
CopyWindowToVram(gTasks[taskId].tWindowId, 3);
return TRUE;
}
@@ -1291,23 +1285,24 @@ static void Task_HandleMultichoiceGridInput(u8 taskId)
s16 *data = gTasks[taskId].data;
s8 selection = Menu_ProcessInputGridLayout();
- if (selection != -2)
+ switch (selection)
{
- if (selection == -1)
- {
- if (tIgnoreBPress)
- return;
- PlaySE(SE_SELECT);
- gSpecialVar_Result = 0x7F;
- }
- else
- {
- gSpecialVar_Result = selection;
- }
- sub_80E2A78(tWindowId);
- DestroyTask(taskId);
- EnableBothScriptContexts();
+ case MENU_NOTHING_CHOSEN:
+ return;
+ case MENU_B_PRESSED:
+ if (tIgnoreBPress)
+ return;
+ PlaySE(SE_SELECT);
+ gSpecialVar_Result = 0x7F;
+ break;
+ default:
+ gSpecialVar_Result = selection;
+ break;
}
+
+ ClearToTransparentAndRemoveWindow(tWindowId);
+ DestroyTask(taskId);
+ EnableBothScriptContexts();
}
#undef tWindowId
@@ -1564,7 +1559,7 @@ static void Task_PokemonPicWindow(u8 taskId)
task->tState++;
break;
case 3:
- sub_80E2A78(task->tWindowId);
+ ClearToTransparentAndRemoveWindow(task->tWindowId);
DestroyTask(taskId);
break;
}
@@ -1628,7 +1623,7 @@ u8 CreateWindowFromRect(u8 x, u8 y, u8 width, u8 height)
return windowId;
}
-void sub_80E2A78(u8 windowId)
+void ClearToTransparentAndRemoveWindow(u8 windowId)
{
ClearStdWindowAndFrameToTransparent(windowId, TRUE);
RemoveWindow(windowId);
@@ -1638,30 +1633,30 @@ static void sub_80E2A94(u8 multichoiceId)
{
switch (multichoiceId)
{
- case 77:
- FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
- break;
- case 76:
- FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
- break;
- case 78:
- FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
- break;
- case 79:
- FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
- break;
- case 75:
- FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
- break;
- case 74:
- FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
- break;
+ case 77:
+ FillWindowPixelBuffer(0, PIXEL_FILL(1));
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 76:
+ FillWindowPixelBuffer(0, PIXEL_FILL(1));
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 78:
+ FillWindowPixelBuffer(0, PIXEL_FILL(1));
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 79:
+ FillWindowPixelBuffer(0, PIXEL_FILL(1));
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 75:
+ FillWindowPixelBuffer(0, PIXEL_FILL(1));
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 74:
+ FillWindowPixelBuffer(0, PIXEL_FILL(1));
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
+ break;
}
}
diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c
index 7d6020c7a..2f32951ed 100755
--- a/src/script_pokemon_util_80F87D8.c
+++ b/src/script_pokemon_util_80F87D8.c
@@ -5,6 +5,7 @@
#include "contest.h"
#include "contest_link_80F57C4.h"
#include "contest_painting.h"
+#include "data.h"
#include "daycare.h"
#include "decompress.h"
#include "event_data.h"
@@ -35,7 +36,6 @@ extern const u16 gEventObjectPalette8[];
extern const u16 gEventObjectPalette17[];
extern const u16 gEventObjectPalette33[];
extern const u16 gEventObjectPalette34[];
-extern const struct CompressedSpriteSheet gMonFrontPicTable[];
static const u8 gUnknown_0858D8EC[] = { 3, 4, 5, 14 };
@@ -395,7 +395,7 @@ static void sub_80F8EE8(u8 taskId)
task->data[0]++;
break;
case 4:
- sub_80E2A78(gTasks[taskId].data[5]);
+ ClearToTransparentAndRemoveWindow(gTasks[taskId].data[5]);
DestroyTask(taskId);
break;
}
@@ -488,7 +488,7 @@ void sub_80F910C(void)
if (gIsLinkContest & 2)
{
if (gReceivedRemoteLinkPlayers)
- sub_800E084();
+ DestroyWirelessStatusIndicatorSprite();
}
}
diff --git a/src/secret_base.c b/src/secret_base.c
index 4b270e424..ac35a090a 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -35,322 +35,351 @@
#include "window.h"
#include "constants/bg_event_constants.h"
#include "constants/decorations.h"
+#include "constants/event_objects.h"
+#include "constants/items.h"
#include "constants/maps.h"
#include "constants/map_types.h"
#include "constants/metatile_behaviors.h"
+#include "constants/moves.h"
#include "constants/secret_bases.h"
#include "constants/songs.h"
#include "constants/species.h"
#include "constants/trainers.h"
-// Static type declarations
-
-struct SecretBaseListMenuBuffer {
+struct SecretBaseRegistryMenu
+{
struct ListMenuItem items[11];
u8 names[11][32];
};
-struct SecretBaseRecordMixer {
- struct SecretBaseRecord *records;
+struct SecretBaseRecordMixer
+{
+ struct SecretBase *secretBases;
u32 version;
u32 language;
};
-// Static RAM declarations
-EWRAM_DATA u8 sCurSecretBaseId = 0;
-EWRAM_DATA bool8 gInFriendSecretBase = FALSE;
-EWRAM_DATA struct SecretBaseListMenuBuffer *gUnknown_0203A020 = NULL;
-
-// Static ROM declarations
-
-void sub_80E9C9C(u8 taskId);
-void game_continue(u8 taskId);
-void sub_80E9DEC(s32 a0, bool8 flag, struct ListMenu *menu);
-void sub_80E9E00(u8 taskId);
-void sub_80E9E44(u8 taskId);
-void sub_80E9E90(u8 taskId);
-void sub_80E9F20(u8 taskId);
-void sub_80E9FB0(u8 taskId);
-void sub_80E9FFC(u8 taskId);
-void sub_80EA06C(u8 taskId);
-void sub_80EA120(u8 taskId);
-void sub_80EA13C(u8 taskId);
-void sub_80EA18C(u8 taskId);
-void task_pc_turn_off(u8 taskId);
-u8 sub_80EA20C(u8 secretBaseRecordId);
-
-// .rodata
-
-const struct {
- u16 tile1;
- u16 tile2;
-} gUnknown_0858CFCC[] = {
- {0x0026, 0x0036},
- {0x0027, 0x0037},
- {0x01a0, 0x01a1},
- {0x01a8, 0x01a9},
- {0x01b0, 0x01b1},
- {0x0208, 0x0210},
- {0x0271, 0x0278}
+struct SecretBaseEntranceMetatiles
+{
+ u16 closedMetatileId;
+ u16 openMetatileId;
};
-const u8 gUnknown_0858CFE8[] = {
- MAP_NUM(SECRET_BASE_RED_CAVE1), 0x00, 0x01, 0x03,
- MAP_NUM(SECRET_BASE_RED_CAVE2), 0x00, 0x05, 0x09,
- MAP_NUM(SECRET_BASE_RED_CAVE3), 0x00, 0x01, 0x03,
- MAP_NUM(SECRET_BASE_RED_CAVE4), 0x00, 0x07, 0x0d,
- MAP_NUM(SECRET_BASE_BROWN_CAVE1), 0x00, 0x02, 0x03,
- MAP_NUM(SECRET_BASE_BROWN_CAVE2), 0x00, 0x09, 0x02,
- MAP_NUM(SECRET_BASE_BROWN_CAVE3), 0x00, 0x0d, 0x04,
- MAP_NUM(SECRET_BASE_BROWN_CAVE4), 0x00, 0x01, 0x02,
- MAP_NUM(SECRET_BASE_BLUE_CAVE1), 0x00, 0x01, 0x03,
- MAP_NUM(SECRET_BASE_BLUE_CAVE2), 0x00, 0x01, 0x02,
- MAP_NUM(SECRET_BASE_BLUE_CAVE3), 0x00, 0x03, 0x0f,
- MAP_NUM(SECRET_BASE_BLUE_CAVE4), 0x00, 0x03, 0x0e,
- MAP_NUM(SECRET_BASE_YELLOW_CAVE1), 0x00, 0x09, 0x03,
- MAP_NUM(SECRET_BASE_YELLOW_CAVE2), 0x00, 0x08, 0x07,
- MAP_NUM(SECRET_BASE_YELLOW_CAVE3), 0x00, 0x03, 0x06,
- MAP_NUM(SECRET_BASE_YELLOW_CAVE4), 0x00, 0x05, 0x09,
- MAP_NUM(SECRET_BASE_TREE1), 0x00, 0x02, 0x03,
- MAP_NUM(SECRET_BASE_TREE2), 0x00, 0x05, 0x06,
- MAP_NUM(SECRET_BASE_TREE3), 0x00, 0x0f, 0x03,
- MAP_NUM(SECRET_BASE_TREE4), 0x00, 0x04, 0x0a,
- MAP_NUM(SECRET_BASE_SHRUB1), 0x00, 0x03, 0x03,
- MAP_NUM(SECRET_BASE_SHRUB2), 0x00, 0x01, 0x02,
- MAP_NUM(SECRET_BASE_SHRUB3), 0x00, 0x07, 0x08,
- MAP_NUM(SECRET_BASE_SHRUB4), 0x00, 0x09, 0x06
+static EWRAM_DATA u8 sCurSecretBaseId = 0;
+static EWRAM_DATA bool8 sInFriendSecretBase = FALSE;
+static EWRAM_DATA struct SecretBaseRegistryMenu *sRegistryMenu = NULL;
+
+static void Task_ShowSecretBaseRegistryMenu(u8 taskId);
+static void BuildRegistryMenuItems(u8 taskId);
+static void RegistryMenu_OnCursorMove(int unused, bool8 flag, struct ListMenu *menu);
+static void FinalizeRegistryMenu(u8 taskId);
+static void AddRegistryMenuScrollArrows(u8 taskId);
+static void HandleRegistryMenuInput(u8 taskId);
+static void ShowRegistryMenuActions(u8 taskId);
+static void HandleRegistryMenuActionsInput(u8 taskId);
+static void ShowRegistryMenuDeleteConfirmation(u8 taskId);
+static void ShowRegistryMenuDeleteYesNo(u8 taskId);
+static void DeleteRegistry_Yes(u8 taskId);
+static void DeleteRegistry_No(u8 taskId);
+static void ReturnToMainRegistryMenu(u8 taskId);
+static void GoToSecretBasePCMainMenu(u8 taskId);
+static u8 GetSecretBaseOwnerType(u8 secretBaseId);
+
+static const struct SecretBaseEntranceMetatiles sSecretBaseEntranceMetatiles[] =
+{
+ {.closedMetatileId = 0x0026, .openMetatileId = 0x0036},
+ {.closedMetatileId = 0x0027, .openMetatileId = 0x0037},
+ {.closedMetatileId = 0x01a0, .openMetatileId = 0x01a1},
+ {.closedMetatileId = 0x01a8, .openMetatileId = 0x01a9},
+ {.closedMetatileId = 0x01b0, .openMetatileId = 0x01b1},
+ {.closedMetatileId = 0x0208, .openMetatileId = 0x0210},
+ {.closedMetatileId = 0x0271, .openMetatileId = 0x0278},
};
-const struct MenuAction gUnknown_0858D048[] = {
- {gUnknown_085EA79D, {.void_u8 = sub_80E9FFC}},
- {gText_Cancel, {.void_u8 = sub_80EA18C}}
+// mapNum, warpId, x, y
+// x, y positions are for when the player warps in for the first time (in front of the computer)
+static const u8 sSecretBaseEntrancePositions[] =
+{
+ MAP_NUM(SECRET_BASE_RED_CAVE1), 0, 1, 3,
+ MAP_NUM(SECRET_BASE_RED_CAVE2), 0, 5, 9,
+ MAP_NUM(SECRET_BASE_RED_CAVE3), 0, 1, 3,
+ MAP_NUM(SECRET_BASE_RED_CAVE4), 0, 7, 13,
+ MAP_NUM(SECRET_BASE_BROWN_CAVE1), 0, 2, 3,
+ MAP_NUM(SECRET_BASE_BROWN_CAVE2), 0, 9, 2,
+ MAP_NUM(SECRET_BASE_BROWN_CAVE3), 0, 13, 4,
+ MAP_NUM(SECRET_BASE_BROWN_CAVE4), 0, 1, 2,
+ MAP_NUM(SECRET_BASE_BLUE_CAVE1), 0, 1, 3,
+ MAP_NUM(SECRET_BASE_BLUE_CAVE2), 0, 1, 2,
+ MAP_NUM(SECRET_BASE_BLUE_CAVE3), 0, 3, 15,
+ MAP_NUM(SECRET_BASE_BLUE_CAVE4), 0, 3, 14,
+ MAP_NUM(SECRET_BASE_YELLOW_CAVE1), 0, 9, 3,
+ MAP_NUM(SECRET_BASE_YELLOW_CAVE2), 0, 8, 7,
+ MAP_NUM(SECRET_BASE_YELLOW_CAVE3), 0, 3, 6,
+ MAP_NUM(SECRET_BASE_YELLOW_CAVE4), 0, 5, 9,
+ MAP_NUM(SECRET_BASE_TREE1), 0, 2, 3,
+ MAP_NUM(SECRET_BASE_TREE2), 0, 5, 6,
+ MAP_NUM(SECRET_BASE_TREE3), 0, 15, 3,
+ MAP_NUM(SECRET_BASE_TREE4), 0, 4, 10,
+ MAP_NUM(SECRET_BASE_SHRUB1), 0, 3, 3,
+ MAP_NUM(SECRET_BASE_SHRUB2), 0, 1, 2,
+ MAP_NUM(SECRET_BASE_SHRUB3), 0, 7, 8,
+ MAP_NUM(SECRET_BASE_SHRUB4), 0, 9, 6,
};
-const struct YesNoFuncTable gUnknown_0858D058 = {
- sub_80EA120, sub_80EA13C
+static const struct MenuAction sRegistryMenuActions[] =
+{
+ {
+ .text = gText_DelRegist,
+ .func = { .void_u8 = ShowRegistryMenuDeleteConfirmation },
+ },
+ {
+ .text = gText_Cancel,
+ .func = { .void_u8 = ReturnToMainRegistryMenu },
+ },
};
-const u8 gUnknown_0858D060[10] = {
- 0x23, 0x24, 0x0f, 0x1f, 0x21,
- 0x2f, 0x0e, 0x14, 0x20, 0x22
+static const struct YesNoFuncTable sDeleteRegistryYesNoFuncs =
+{
+ .yesFunc = DeleteRegistry_Yes,
+ .noFunc = DeleteRegistry_No,
};
-const struct WindowTemplate gUnknown_0858D06C[] = {
- { 0, 18, 1, 11, 18, 15, 0x01 },
- { 0, 2, 1, 28, 4, 15, 0xc7 }
+static const u8 sSecretBaseOwnerGfxIds[10] =
+{
+ // Male
+ EVENT_OBJ_GFX_YOUNGSTER,
+ EVENT_OBJ_GFX_BUG_CATCHER,
+ EVENT_OBJ_GFX_RICH_BOY,
+ EVENT_OBJ_GFX_CAMPER,
+ EVENT_OBJ_GFX_MAN_3,
+ // Female
+ EVENT_OBJ_GFX_LASS,
+ EVENT_OBJ_GFX_GIRL_3,
+ EVENT_OBJ_GFX_WOMAN_2,
+ EVENT_OBJ_GFX_PICNICKER,
+ EVENT_OBJ_GFX_WOMAN_5,
};
-const struct ListMenuTemplate gUnknown_0858D07C = {
- NULL,
- sub_80E9DEC,
- NULL,
- 0, 0,
- 0, 0, 8, 0,
- 9, 2, 1, 3, FALSE, 0, FALSE, 1
+static const struct WindowTemplate sRegistryWindowTemplates[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 18,
+ .tilemapTop = 1,
+ .width = 11,
+ .height = 18,
+ .paletteNum = 15,
+ .baseBlock = 0x01,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 2,
+ .tilemapTop = 1,
+ .width = 28,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 0xc7,
+ }
};
-// .text
+static const struct ListMenuTemplate sRegistryListMenuTemplate =
+{
+ .items = NULL,
+ .moveCursorFunc = RegistryMenu_OnCursorMove,
+ .itemPrintFunc = NULL,
+ .totalItems = 0,
+ .maxShowed = 0,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 9,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = LIST_NO_MULTIPLE_SCROLL,
+ .fontId = 1,
+ .cursorKind = 0,
+};
-void ClearSecretBase(struct SecretBaseRecord *sbr)
+static void ClearSecretBase(struct SecretBase *secretBase)
{
u16 i;
-
- CpuFastFill16(0, sbr, sizeof(struct SecretBaseRecord));
- for (i = 0; i < 7; i ++)
- {
- sbr->trainerName[i] = EOS;
- }
+ CpuFastFill16(0, secretBase, sizeof(struct SecretBase));
+ for (i = 0; i < PLAYER_NAME_LENGTH; i++)
+ secretBase->trainerName[i] = EOS;
}
-void ResetSecretBases(void)
+void ClearSecretBases(void)
{
u16 i;
-
- for (i = 0; i < SECRET_BASES_COUNT; i ++)
- {
+ for (i = 0; i < SECRET_BASES_COUNT; i++)
ClearSecretBase(&gSaveBlock1Ptr->secretBases[i]);
- }
}
-void sub_80E8B58(void)
+static void SetCurSecretBaseId(void)
{
sCurSecretBaseId = gSpecialVar_0x8004;
}
-void sub_80E8B6C(void)
+void TrySetCurSecretBaseIndex(void)
{
u16 i;
gSpecialVar_Result = FALSE;
- for (i = 0; i < SECRET_BASES_COUNT; i ++)
+ for (i = 0; i < SECRET_BASES_COUNT; i++)
{
- if (sCurSecretBaseId != gSaveBlock1Ptr->secretBases[i].secretBaseId)
+ if (sCurSecretBaseId == gSaveBlock1Ptr->secretBases[i].secretBaseId)
{
- continue;
+ gSpecialVar_Result = TRUE;
+ VarSet(VAR_CURRENT_SECRET_BASE, i);
+ break;
}
- gSpecialVar_Result = TRUE;
- VarSet(VAR_CURRENT_SECRET_BASE, i);
- break;
}
}
-void sub_80E8BC8(void)
+void CheckPlayerHasSecretBase(void)
{
- if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0)
- {
+ // The player's secret base is always the first in the array.
+ if (gSaveBlock1Ptr->secretBases[0].secretBaseId)
gSpecialVar_Result = TRUE;
- }
else
- {
gSpecialVar_Result = FALSE;
- }
}
-u8 sub_80E8BF8(void)
+static u8 GetSecretBaseTypeInFrontOfPlayer_(void)
{
- s16 x;
- s16 y;
+ s16 x, y;
s16 behavior;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
behavior = MapGridGetMetatileBehaviorAt(x, y) & 0xFFF;
if (behavior == MB_SECRET_BASE_SPOT_RED_CAVE || behavior == MB_SECRET_BASE_SPOT_RED_CAVE_OPEN)
- {
return SECRET_BASE_RED_CAVE;
- }
+
if (behavior == MB_SECRET_BASE_SPOT_BROWN_CAVE || behavior == MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN)
- {
return SECRET_BASE_BROWN_CAVE;
- }
+
if (behavior == MB_SECRET_BASE_SPOT_BLUE_CAVE || behavior == MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN)
- {
return SECRET_BASE_BLUE_CAVE;
- }
+
if (behavior == MB_SECRET_BASE_SPOT_YELLOW_CAVE || behavior == MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN)
- {
return SECRET_BASE_YELLOW_CAVE;
- }
- if (behavior == MB_SECRET_BASE_SPOT_TREE_LEFT || behavior == MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN)
- {
+
+ if (behavior == MB_SECRET_BASE_SPOT_TREE_LEFT || behavior == MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN
+ || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN)
return SECRET_BASE_TREE;
- }
+
if (behavior == MB_SECRET_BASE_SPOT_SHRUB || behavior == MB_SECRET_BASE_SPOT_SHRUB_OPEN)
- {
return SECRET_BASE_SHRUB;
- }
+
return 0;
}
-void sub_80E8C98(void)
+void GetSecretBaseTypeInFrontOfPlayer(void)
{
- gSpecialVar_0x8007 = sub_80E8BF8();
+ gSpecialVar_0x8007 = GetSecretBaseTypeInFrontOfPlayer_();
}
-void sub_80E8CB0(s16 *xPtr, s16 *yPtr, u16 tile)
+static void FindMetatileIdMapCoords(s16 *x, s16 *y, u16 metatileId)
{
- const struct MapLayout *mapLayout;
- s16 x;
- s16 y;
+ s16 i, j;
+ const struct MapLayout *mapLayout = gMapHeader.mapLayout;
- mapLayout = gMapHeader.mapLayout;
- for (y = 0; y < mapLayout->height; y ++)
+ for (j = 0; j < mapLayout->height; j++)
{
- for (x = 0; x < mapLayout->width; x ++)
+ for (i = 0; i < mapLayout->width; i++)
{
- if ((mapLayout->map[y * mapLayout->width + x] & METATILE_ID_MASK) == tile)
+ if ((mapLayout->map[j * mapLayout->width + i] & METATILE_ID_MASK) == metatileId)
{
- *xPtr = x;
- *yPtr = y;
+ *x = i;
+ *y = j;
return;
}
}
}
}
-void sub_80E8D4C(void)
+// Opens or closes the secret base entrance metatile in front of the player.
+void ToggleSecretBaseEntranceMetatile(void)
{
- s16 x;
- s16 y;
- s16 tile;
u16 i;
+ s16 x, y;
+ s16 metatileId;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
- tile = MapGridGetMetatileIdAt(x, y);
- for (i = 0; i < 7; i ++)
+ metatileId = MapGridGetMetatileIdAt(x, y);
+ for (i = 0; i < ARRAY_COUNT(sSecretBaseEntranceMetatiles); i++)
{
- if (gUnknown_0858CFCC[i].tile1 == tile)
+ if (sSecretBaseEntranceMetatiles[i].closedMetatileId == metatileId)
{
- MapGridSetMetatileIdAt(x, y, gUnknown_0858CFCC[i].tile2 | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].openMetatileId | METATILE_COLLISION_MASK);
CurrentMapDrawMetatileAt(x, y);
return;
}
}
- for (i = 0; i < 7; i ++)
+
+ for (i = 0; i < ARRAY_COUNT(sSecretBaseEntranceMetatiles); i++)
{
- if (gUnknown_0858CFCC[i].tile2 == tile)
+ if (sSecretBaseEntranceMetatiles[i].openMetatileId == metatileId)
{
- MapGridSetMetatileIdAt(x, y, gUnknown_0858CFCC[i].tile1 | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].closedMetatileId | METATILE_COLLISION_MASK);
CurrentMapDrawMetatileAt(x, y);
return;
}
}
}
-u8 sub_80E8DF4(const u8 *src)
+static u8 GetNameLength(const u8 *secretBaseOwnerName)
{
u8 i;
-
- for (i = 0; i < 7; i ++)
+ for (i = 0; i < PLAYER_NAME_LENGTH; i++)
{
- if (src[i] == EOS)
- {
+ if (secretBaseOwnerName[i] == EOS)
return i;
- }
}
- return 7;
+
+ return PLAYER_NAME_LENGTH;
}
-void sub_80E8E18(void)
+void SetPlayerSecretBase(void)
{
u16 i;
gSaveBlock1Ptr->secretBases[0].secretBaseId = sCurSecretBaseId;
- for (i = 0; i < 4; i ++)
- {
+ for (i = 0; i < 4; i++)
gSaveBlock1Ptr->secretBases[0].trainerId[i] = gSaveBlock2Ptr->playerTrainerId[i];
- }
+
VarSet(VAR_CURRENT_SECRET_BASE, 0);
- StringCopyN(gSaveBlock1Ptr->secretBases[0].trainerName, gSaveBlock2Ptr->playerName, sub_80E8DF4(gSaveBlock2Ptr->playerName));
+ StringCopyN(gSaveBlock1Ptr->secretBases[0].trainerName, gSaveBlock2Ptr->playerName, GetNameLength(gSaveBlock2Ptr->playerName));
gSaveBlock1Ptr->secretBases[0].gender = gSaveBlock2Ptr->playerGender;
gSaveBlock1Ptr->secretBases[0].language = GAME_LANGUAGE;
VarSet(VAR_SECRET_BASE_MAP, gMapHeader.regionMapSectionId);
}
-void sub_80E8EE0(struct MapEvents const *events)
+void SetOccupiedSecretBaseEntranceMetatiles(struct MapEvents const *events)
{
- u16 bgEventIndex;
- u16 i;
- u16 j;
- s16 tile_id;
- s16 x;
- s16 y;
+ u16 bgId;
+ u16 i, j;
- for (bgEventIndex = 0; bgEventIndex < events->bgEventCount; bgEventIndex ++)
+ for (bgId = 0; bgId < events->bgEventCount; bgId++)
{
- if (events->bgEvents[bgEventIndex].kind == BG_EVENT_SECRET_BASE)
+ if (events->bgEvents[bgId].kind == BG_EVENT_SECRET_BASE)
{
- for (j = 0; j < SECRET_BASES_COUNT; j ++)
+ for (j = 0; j < SECRET_BASES_COUNT; j++)
{
- if (gSaveBlock1Ptr->secretBases[j].secretBaseId == events->bgEvents[bgEventIndex].bgUnion.secretBaseId)
+ if (gSaveBlock1Ptr->secretBases[j].secretBaseId == events->bgEvents[bgId].bgUnion.secretBaseId)
{
- x = events->bgEvents[bgEventIndex].x + 7;
- y = events->bgEvents[bgEventIndex].y + 7;
- tile_id = MapGridGetMetatileIdAt(x, y);
- for (i = 0; i < 7; i ++)
+ s16 x = events->bgEvents[bgId].x + 7;
+ s16 y = events->bgEvents[bgId].y + 7;
+ s16 tile_id = MapGridGetMetatileIdAt(x, y);
+ for (i = 0; i < ARRAY_COUNT(sSecretBaseEntranceMetatiles); i++)
{
- if (gUnknown_0858CFCC[i].tile1 == tile_id)
+ if (sSecretBaseEntranceMetatiles[i].closedMetatileId == tile_id)
{
- MapGridSetMetatileIdAt(x, y, gUnknown_0858CFCC[i].tile2 | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].openMetatileId | METATILE_COLLISION_MASK);
break;
}
}
@@ -361,58 +390,52 @@ void sub_80E8EE0(struct MapEvents const *events)
}
}
-void sub_80E8F9C(void)
+static void SetSecretBaseWarpDestination(void)
{
- s8 idx;
-
- idx = sCurSecretBaseId / 10 * 4;
- SetWarpDestinationToMapWarp(MAP_GROUP(SECRET_BASE_RED_CAVE1), gUnknown_0858CFE8[idx], gUnknown_0858CFE8[idx + 1]);
+ s8 offset = (sCurSecretBaseId / 10) * 4;
+ SetWarpDestinationToMapWarp(MAP_GROUP(SECRET_BASE_RED_CAVE1), sSecretBaseEntrancePositions[offset], sSecretBaseEntrancePositions[offset + 1]);
}
-void sub_80E8FD0(u8 taskId)
+static void Task_EnterSecretBase(u8 taskId)
{
- u16 secretBaseRecordId;
+ u16 secretBaseId;
switch (gTasks[taskId].data[0])
{
- case 0:
- if (!gPaletteFade.active)
- {
- gTasks[taskId].data[0] = 1;
- }
- break;
- case 1:
- secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE);
- if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_10 < 255)
- {
- gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_10 ++;
- }
- sub_80E8F9C();
- WarpIntoMap();
- gFieldCallback = sub_80AF168;
- SetMainCallback2(CB2_LoadMap);
- DestroyTask(taskId);
- break;
+ case 0:
+ if (!gPaletteFade.active)
+ gTasks[taskId].data[0] = 1;
+ break;
+ case 1:
+ secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE);
+ if (gSaveBlock1Ptr->secretBases[secretBaseId].numTimesEntered < 255)
+ gSaveBlock1Ptr->secretBases[secretBaseId].numTimesEntered++;
+
+ SetSecretBaseWarpDestination();
+ WarpIntoMap();
+ gFieldCallback = FieldCallback_ReturnToEventScript2;
+ SetMainCallback2(CB2_LoadMap);
+ DestroyTask(taskId);
+ break;
}
}
-void sub_80E9068(void)
+void EnterSecretBase(void)
{
- CreateTask(sub_80E8FD0, 0);
+ CreateTask(Task_EnterSecretBase, 0);
FadeScreen(1, 0);
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
-bool8 sub_80E909C(void)
+bool8 SecretBaseMapPopupEnabled(void)
{
if (gMapHeader.mapType == MAP_TYPE_SECRET_BASE && VarGet(VAR_INIT_SECRET_BASE) == 0)
- {
return FALSE;
- }
+
return TRUE;
}
-void sub_80E90C8(u8 taskId)
+static void EnterNewlyCreatedSecretBase_WaitFadeIn(u8 taskId)
{
EventObjectTurn(&gEventObjects[gPlayerAvatar.eventObjectId], DIR_NORTH);
if (IsWeatherNotFadingIn() == TRUE)
@@ -422,189 +445,202 @@ void sub_80E90C8(u8 taskId)
}
}
-void sub_80E9108(void)
+static void EnterNewlyCreatedSecretBase_StartFadeIn(void)
{
- s16 x;
- s16 y;
+ s16 x, y;
ScriptContext2_Enable();
HideMapNamePopUpWindow();
- sub_80E8CB0(&x, &y, 0x220);
+ FindMetatileIdMapCoords(&x, &y, 0x220);
x += 7;
y += 7;
MapGridSetMetatileIdAt(x, y, 0x220 | METATILE_COLLISION_MASK);
CurrentMapDrawMetatileAt(x, y);
pal_fill_black();
- CreateTask(sub_80E90C8, 0);
+ CreateTask(EnterNewlyCreatedSecretBase_WaitFadeIn, 0);
}
-void sub_80E916C(u8 taskId)
+static void Task_EnterNewlyCreatedSecretBase(u8 taskId)
{
- s8 idx;
-
if (!gPaletteFade.active)
{
- idx = sCurSecretBaseId / 10 * 4;
- SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, gUnknown_0858CFE8[idx + 2], gUnknown_0858CFE8[idx + 3]);
+ s8 offset = sCurSecretBaseId / 10 * 4;
+ SetWarpDestination(
+ gSaveBlock1Ptr->location.mapGroup,
+ gSaveBlock1Ptr->location.mapNum,
+ -1,
+ sSecretBaseEntrancePositions[offset + 2],
+ sSecretBaseEntrancePositions[offset + 3]);
WarpIntoMap();
- gFieldCallback = sub_80E9108;
+ gFieldCallback = EnterNewlyCreatedSecretBase_StartFadeIn;
SetMainCallback2(CB2_LoadMap);
DestroyTask(taskId);
}
}
-void sub_80E91F8(void)
+void EnterNewlyCreatedSecretBase(void)
{
- CreateTask(sub_80E916C, 0);
- FadeScreen(1, 0);
+ CreateTask(Task_EnterNewlyCreatedSecretBase, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
}
-bool8 CurrentMapIsSecretBase(void)
+bool8 CurMapIsSecretBase(void)
{
- if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SECRET_BASE_RED_CAVE1) && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(SECRET_BASE_SHRUB4))
- {
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SECRET_BASE_RED_CAVE1)
+ && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(SECRET_BASE_SHRUB4))
return TRUE;
- }
- return FALSE;
+ else
+ return FALSE;
}
-void sub_80E9238(u8 flagIn)
+void InitSecretBaseAppearance(bool8 hidePC)
{
- u16 curBaseId;
- u16 x;
- u16 y;
+ u16 secretBaseId;
+ u16 x, y;
u8 *decorations;
u8 *decorPos;
- if (CurrentMapIsSecretBase())
+ if (CurMapIsSecretBase())
{
- curBaseId = VarGet(VAR_CURRENT_SECRET_BASE);
- decorations = gSaveBlock1Ptr->secretBases[curBaseId].decorations;
- decorPos = gSaveBlock1Ptr->secretBases[curBaseId].decorationPos;
- for (x = 0; x < 16; x ++)
+ secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE);
+ decorations = gSaveBlock1Ptr->secretBases[secretBaseId].decorations;
+ decorPos = gSaveBlock1Ptr->secretBases[secretBaseId].decorationPositions;
+ for (x = 0; x < 16; x++)
{
- if (decorations[x] > 0 && decorations[x] <= 0x78 && gDecorations[decorations[x]].permission != DECORPERM_SOLID_MAT) {
- sub_8127D38((decorPos[x] >> 4) + 7, (decorPos[x] & 0xF) + 7, decorations[x]);
- }
+ if (decorations[x] > 0 && decorations[x] <= NUM_DECORATIONS && gDecorations[decorations[x]].permission != DECORPERM_SPRITE)
+ ShowDecorationOnMap((decorPos[x] >> 4) + 7, (decorPos[x] & 0xF) + 7, decorations[x]);
}
- if (curBaseId != 0)
+
+ if (secretBaseId != 0)
{
- sub_80E8CB0(&x, &y, 0x220);
+ // Another player's secret base. Change PC type to the "Register" PC.
+ FindMetatileIdMapCoords(&x, &y, 0x220);
MapGridSetMetatileIdAt(x + 7, y + 7, 0x221 | METATILE_COLLISION_MASK);
}
- else if (flagIn == 1 && VarGet(VAR_SECRET_BASE_INITIALIZED) == 1)
+ else if (hidePC == TRUE && VarGet(VAR_SECRET_BASE_INITIALIZED) == 1)
{
- sub_80E8CB0(&x, &y, 0x220);
+ // Change PC to regular ground tile.
+ FindMetatileIdMapCoords(&x, &y, 0x220);
MapGridSetMetatileIdAt(x + 7, y + 7, 0x20a | METATILE_COLLISION_MASK);
}
}
}
-void sub_80E933C(void)
+void InitSecretBaseDecorationSprites(void)
{
- u8 *roomDecor;
- u8 *roomDecorPos;
- u8 decorIdx;
- u8 objIdx;
- u8 metatile;
+ u8 i;
+ u8 *decorations;
+ u8 *decorationPositions;
+ u8 eventObjectId;
+ u8 metatileBehavior;
u8 category;
u8 permission;
- u8 nDecor;
- u16 curBase;
+ u8 numDecorations;
- objIdx = 0;
- if (!CurrentMapIsSecretBase())
+ eventObjectId = 0;
+ if (!CurMapIsSecretBase())
{
- roomDecor = gSaveBlock1Ptr->playerRoomDecor;
- roomDecorPos = gSaveBlock1Ptr->playerRoomDecorPos;
- nDecor = 12;
+ decorations = gSaveBlock1Ptr->playerRoomDecor;
+ decorationPositions = gSaveBlock1Ptr->playerRoomDecorPos;
+ numDecorations = 12;
}
else
{
- curBase = VarGet(VAR_CURRENT_SECRET_BASE);
- roomDecor = gSaveBlock1Ptr->secretBases[curBase].decorations;
- roomDecorPos = gSaveBlock1Ptr->secretBases[curBase].decorationPos;
- nDecor = 16;
+ u16 secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE);
+ decorations = gSaveBlock1Ptr->secretBases[secretBaseId].decorations;
+ decorationPositions = gSaveBlock1Ptr->secretBases[secretBaseId].decorationPositions;
+ numDecorations = 16;
}
- for (decorIdx = 0; decorIdx < nDecor; decorIdx ++)
+
+ for (i = 0; i < numDecorations; i++)
{
- if (roomDecor[decorIdx] != DECOR_NONE)
+ if (decorations[i] == DECOR_NONE)
+ continue;
+
+ permission = gDecorations[decorations[i]].permission;
+ category = gDecorations[decorations[i]].category;
+ if (permission == DECORPERM_SPRITE)
{
- permission = gDecorations[roomDecor[decorIdx]].permission;
- category = gDecorations[roomDecor[decorIdx]].category;
- if (permission == DECORPERM_SOLID_MAT)
+ for (eventObjectId = 0; eventObjectId < gMapHeader.events->eventObjectCount; eventObjectId++)
{
- for (objIdx = 0; objIdx < gMapHeader.events->eventObjectCount; objIdx ++)
+ if (gMapHeader.events->eventObjects[eventObjectId].flagId == FLAG_DECORATION_1 + gSpecialVar_0x8004)
+ break;
+ }
+
+ if (eventObjectId == gMapHeader.events->eventObjectCount)
+ continue;
+
+ gSpecialVar_0x8006 = decorationPositions[i] >> 4;
+ gSpecialVar_0x8007 = decorationPositions[i] & 0xF;
+ metatileBehavior = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7);
+ if (MetatileBehavior_HoldsSmallDecoration(metatileBehavior) == TRUE
+ || MetatileBehavior_HoldsLargeDecoration(metatileBehavior) == TRUE)
+ {
+ gSpecialVar_Result = VAR_OBJ_GFX_ID_0 + (gMapHeader.events->eventObjects[eventObjectId].graphicsId - EVENT_OBJ_GFX_VAR_0);
+ VarSet(gSpecialVar_Result, gDecorations[decorations[i]].tiles[0]);
+ gSpecialVar_Result = gMapHeader.events->eventObjects[eventObjectId].localId;
+ FlagClear(FLAG_DECORATION_1 + gSpecialVar_0x8004);
+ TrySpawnEventObject(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ TryMoveEventObjectToMapCoords(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007);
+ TryOverrideEventObjectTemplateCoords(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ if (CurMapIsSecretBase() == TRUE && VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
- if (gMapHeader.events->eventObjects[objIdx].flagId == gSpecialVar_0x8004 + 0xAE)
+ if (category == DECORCAT_DOLL)
{
- break;
+ OverrideSecretBaseDecorationSpriteScript(
+ gSpecialVar_Result,
+ gSaveBlock1Ptr->location.mapNum,
+ gSaveBlock1Ptr->location.mapGroup,
+ DECORCAT_DOLL);
}
- }
- if (objIdx == gMapHeader.events->eventObjectCount)
- {
- continue;
- }
- gSpecialVar_0x8006 = roomDecorPos[decorIdx] >> 4;
- gSpecialVar_0x8007 = roomDecorPos[decorIdx] & 0xF;
- metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7);
- if (MetatileBehavior_IsSecretBaseLargeMatEdge(metatile) == TRUE || MetatileBehavior_IsLargeMatCenter(metatile) == TRUE)
- {
- gSpecialVar_Result = gMapHeader.events->eventObjects[objIdx].graphicsId + UNKNOWN_VAR_OFFSET_3F20;
- VarSet(gSpecialVar_Result, gDecorations[roomDecor[decorIdx]].tiles[0]);
- gSpecialVar_Result = gMapHeader.events->eventObjects[objIdx].localId;
- FlagClear(gSpecialVar_0x8004 + 0xAE);
- show_sprite(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
- sub_808EBA8(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007);
- sub_808F254(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
- if (CurrentMapIsSecretBase() == TRUE && VarGet(VAR_CURRENT_SECRET_BASE) != 0)
+ else if (category == DECORCAT_CUSHION)
{
- if (category == DECORCAT_DOLL)
- {
- sub_808F28C(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_DOLL);
- }
- else if (category == DECORCAT_CUSHION)
- {
- sub_808F28C(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_CUSHION);
- }
+ OverrideSecretBaseDecorationSpriteScript(
+ gSpecialVar_Result,
+ gSaveBlock1Ptr->location.mapNum,
+ gSaveBlock1Ptr->location.mapGroup,
+ DECORCAT_CUSHION);
}
- gSpecialVar_0x8004 ++;
}
+
+ gSpecialVar_0x8004++;
}
}
}
}
-void sub_80E9578(void)
+void HideSecretBaseDecorationSprites(void)
{
- u8 objectEventIdx;
- u16 flagId;
+ u8 eventObjectId;
+ u16 flag;
- for (objectEventIdx = 0; objectEventIdx < gMapHeader.events->eventObjectCount; objectEventIdx ++)
+ for (eventObjectId = 0; eventObjectId < gMapHeader.events->eventObjectCount; eventObjectId++)
{
- flagId = gMapHeader.events->eventObjects[objectEventIdx].flagId;
- if (flagId >= FLAG_DECORATION_1 && flagId <= FLAG_DECORATION_14)
+ flag = gMapHeader.events->eventObjects[eventObjectId].flagId;
+ if (flag >= FLAG_DECORATION_1 && flag <= FLAG_DECORATION_14)
{
- RemoveEventObjectByLocalIdAndMap(gMapHeader.events->eventObjects[objectEventIdx].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
- FlagSet(flagId);
+ RemoveEventObjectByLocalIdAndMap(
+ gMapHeader.events->eventObjects[eventObjectId].localId,
+ gSaveBlock1Ptr->location.mapNum,
+ gSaveBlock1Ptr->location.mapGroup);
+ FlagSet(flag);
}
}
}
-void sub_80E95D4(void)
+void SetSecretBaseOwnerGfxId(void)
{
- VarSet(VAR_OBJ_GFX_ID_F, gUnknown_0858D060[sub_80EA20C(VarGet(VAR_CURRENT_SECRET_BASE))]);
+ VarSet(VAR_OBJ_GFX_ID_F, sSecretBaseOwnerGfxIds[GetSecretBaseOwnerType(VarGet(VAR_CURRENT_SECRET_BASE))]);
}
-void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events)
+void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const struct MapEvents *events)
{
- s16 bgEventIdx;
-
- for (bgEventIdx = 0; bgEventIdx < events->bgEventCount; bgEventIdx ++)
+ s16 i;
+ for (i = 0; i < events->bgEventCount; i++)
{
- if (events->bgEvents[bgEventIdx].kind == BG_EVENT_SECRET_BASE && position->x == events->bgEvents[bgEventIdx].x + 7 && position->y == events->bgEvents[bgEventIdx].y + 7)
+ if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE && position->x == events->bgEvents[i].x + 7 && position->y == events->bgEvents[i].y + 7)
{
- sCurSecretBaseId = events->bgEvents[bgEventIdx].bgUnion.secretBaseId;
+ sCurSecretBaseId = events->bgEvents[i].bgUnion.secretBaseId;
break;
}
}
@@ -612,101 +648,92 @@ void sub_80E9608(const struct MapPosition *position, const struct MapEvents *eve
void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events)
{
- sub_80E9608(position, events);
- sub_80E8B6C();
+ SetCurSecretBaseIdFromPosition(position, events);
+ TrySetCurSecretBaseIndex();
ScriptContext1_SetupScript(EventScript_275BB7);
}
-bool8 sub_80E9680(void)
+bool8 TrySetCurSecretBase(void)
{
- sub_80E8B58();
- sub_80E8B6C();
+ SetCurSecretBaseId();
+ TrySetCurSecretBaseIndex();
if (gSpecialVar_Result == TRUE)
- {
return FALSE;
- }
+
return TRUE;
}
-void sub_80E96A4(u8 taskId)
+static void Task_WarpOutOfSecretBase(u8 taskId)
{
switch (gTasks[taskId].data[0])
{
- case 0:
- ScriptContext2_Enable();
- gTasks[taskId].data[0] = 1;
- break;
- case 1:
- if (!gPaletteFade.active)
- {
- gTasks[taskId].data[0] = 2;
- }
- break;
- case 2:
- SetWarpDestinationToDynamicWarp(0x7e);
- WarpIntoMap();
- gFieldCallback = mapldr_default;
- SetMainCallback2(CB2_LoadMap);
- ScriptContext2_Disable();
- DestroyTask(taskId);
- break;
+ case 0:
+ ScriptContext2_Enable();
+ gTasks[taskId].data[0] = 1;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ gTasks[taskId].data[0] = 2;
+ break;
+ case 2:
+ SetWarpDestinationToDynamicWarp(0x7e);
+ WarpIntoMap();
+ gFieldCallback = mapldr_default;
+ SetMainCallback2(CB2_LoadMap);
+ ScriptContext2_Disable();
+ DestroyTask(taskId);
+ break;
}
}
-void sub_80E9728(void)
+static void WarpOutOfSecretBase(void)
{
- CreateTask(sub_80E96A4, 0);
- FadeScreen(1, 0);
+ CreateTask(Task_WarpOutOfSecretBase, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
}
-void sub_80E9744(void)
+void IsCurSecretBaseOwnedByAnotherPlayer(void)
{
if (gSaveBlock1Ptr->secretBases[0].secretBaseId != sCurSecretBaseId)
- {
gSpecialVar_Result = TRUE;
- }
else
- {
gSpecialVar_Result = FALSE;
- }
}
-u8 *sub_80E9780(u8 *dest, u8 secretBaseRecordId)
+static u8 *GetSecretBaseName(u8 *dest, u8 secretBaseId)
{
- *StringCopyN(dest, gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName, sub_80E8DF4(gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName)) = EOS;
- ConvertInternationalString(dest, gSaveBlock1Ptr->secretBases[secretBaseRecordId].language);
+ *StringCopyN(dest, gSaveBlock1Ptr->secretBases[secretBaseId].trainerName, GetNameLength(gSaveBlock1Ptr->secretBases[secretBaseId].trainerName)) = EOS;
+ ConvertInternationalString(dest, gSaveBlock1Ptr->secretBases[secretBaseId].language);
return StringAppend(dest, gText_ApostropheSBase);
}
u8 *GetSecretBaseMapName(u8 *dest)
{
- return sub_80E9780(dest, VarGet(VAR_CURRENT_SECRET_BASE));
+ return GetSecretBaseName(dest, VarGet(VAR_CURRENT_SECRET_BASE));
}
-void sub_80E980C(void)
+void CopyCurSecretBaseOwnerName_StrVar1(void)
{
- u8 secretBaseRecordId;
- const u8 *src;
+ u8 secretBaseId;
+ const u8 *name;
- secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE);
- src = gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName;
- *StringCopyN(gStringVar1, src, sub_80E8DF4(src)) = EOS;
- ConvertInternationalString(gStringVar1, gSaveBlock1Ptr->secretBases[secretBaseRecordId].language);
+ secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE);
+ name = gSaveBlock1Ptr->secretBases[secretBaseId].trainerName;
+ *StringCopyN(gStringVar1, name, GetNameLength(name)) = EOS;
+ ConvertInternationalString(gStringVar1, gSaveBlock1Ptr->secretBases[secretBaseId].language);
}
-bool8 sub_80E9878(u8 secretBaseRecordId)
+static bool8 IsSecretBaseRegistered(u8 secretBaseId)
{
- if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_6 != 0)
- {
+ if (gSaveBlock1Ptr->secretBases[secretBaseId].registryStatus)
return TRUE;
- }
+
return FALSE;
}
-u8 sub_80E98AC(struct Pokemon *pokemon)
+static u8 GetAverageEVs(struct Pokemon *pokemon)
{
u16 evTotal;
-
evTotal = GetMonData(pokemon, MON_DATA_HP_EV);
evTotal += GetMonData(pokemon, MON_DATA_ATK_EV);
evTotal += GetMonData(pokemon, MON_DATA_DEF_EV);
@@ -716,173 +743,162 @@ u8 sub_80E98AC(struct Pokemon *pokemon)
return evTotal / 6;
}
-void sub_80E9914(void)
+void SetPlayerSecretBaseParty(void)
{
- u16 partyIdx;
+ u16 i;
u16 moveIdx;
- u16 sbPartyIdx;
+ u16 partyId;
struct SecretBaseParty *party;
- sbPartyIdx = 0;
+ partyId = 0;
party = &gSaveBlock1Ptr->secretBases[0].party;
- if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0)
+ if (gSaveBlock1Ptr->secretBases[0].secretBaseId)
{
- for (partyIdx = 0; partyIdx < PARTY_SIZE; partyIdx++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
- for (moveIdx = 0; moveIdx < 4; moveIdx++)
- {
- party->moves[partyIdx * 4 + moveIdx] = 0;
- }
- party->species[partyIdx] = 0;
- party->heldItems[partyIdx] = 0;
- party->levels[partyIdx] = 0;
- party->personality[partyIdx] = 0;
- party->EVs[partyIdx] = 0;
- if (GetMonData(&gPlayerParty[partyIdx], MON_DATA_SPECIES) != SPECIES_NONE
- && !GetMonData(&gPlayerParty[partyIdx], MON_DATA_IS_EGG))
+ for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++)
+ party->moves[i * MAX_MON_MOVES + moveIdx] = MOVE_NONE;
+
+ party->species[i] = SPECIES_NONE;
+ party->heldItems[i] = ITEM_NONE;
+ party->levels[i] = 0;
+ party->personality[i] = 0;
+ party->EVs[i] = 0;
+
+ if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE
+ && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG))
{
- for (moveIdx = 0; moveIdx < 4; moveIdx++)
- {
- party->moves[sbPartyIdx * 4 + moveIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_MOVE1 + moveIdx);
- }
- party->species[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_SPECIES);
- party->heldItems[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_HELD_ITEM);
- party->levels[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_LEVEL);
- party->personality[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_PERSONALITY);
- party->EVs[sbPartyIdx] = sub_80E98AC(&gPlayerParty[partyIdx]);
- sbPartyIdx++;
+ for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++)
+ party->moves[partyId * MAX_MON_MOVES + moveIdx] = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + moveIdx);
+
+ party->species[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES);
+ party->heldItems[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
+ party->levels[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL);
+ party->personality[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY);
+ party->EVs[partyId] = GetAverageEVs(&gPlayerParty[i]);
+ partyId++;
}
}
}
}
-void sub_80E9A90(void)
+void ClearAndLeaveSecretBase(void)
{
- u16 sbr_e;
-
- sbr_e = gSaveBlock1Ptr->secretBases[0].sbr_field_e;
+ u16 temp = gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived;
ClearSecretBase(&gSaveBlock1Ptr->secretBases[0]);
- gSaveBlock1Ptr->secretBases[0].sbr_field_e = sbr_e;
- sub_80E9728();
+ gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived = temp;
+ WarpOutOfSecretBase();
}
-void sub_80E9AC0(void)
+void MoveOutOfSecretBase(void)
{
IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE);
- sub_80E9A90();
+ ClearAndLeaveSecretBase();
}
-void sub_80E9AD0(void)
+static void ClosePlayerSecretBaseEntrance(void)
{
u16 i;
u16 j;
- s16 tile;
- const struct MapEvents *events;
+ s16 metatileId;
+ const struct MapEvents *events = gMapHeader.events;
- events = gMapHeader.events;
- for (i = 0; i < events->bgEventCount; i ++)
+ for (i = 0; i < events->bgEventCount; i++)
{
- if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE && gSaveBlock1Ptr->secretBases[0].secretBaseId == events->bgEvents[i].bgUnion.secretBaseId)
+ if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE
+ && gSaveBlock1Ptr->secretBases[0].secretBaseId == events->bgEvents[i].bgUnion.secretBaseId)
{
- tile = MapGridGetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7);
- for (j = 0; j < 7; j ++)
+ metatileId = MapGridGetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7);
+ for (j = 0; j < 7; j++)
{
- if (gUnknown_0858CFCC[j].tile2 == tile)
+ if (sSecretBaseEntranceMetatiles[j].openMetatileId == metatileId)
{
- MapGridSetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7, gUnknown_0858CFCC[j].tile1 | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7, sSecretBaseEntranceMetatiles[j].closedMetatileId | METATILE_COLLISION_MASK);
break;
}
}
+
DrawWholeMapView();
break;
}
}
}
-void sub_80E9B70(void)
+// When the player moves to a new secret base by interacting with a new secret base
+// entrance in the overworld.
+void MoveOutOfSecretBaseFromOutside(void)
{
- u16 sbr_e;
+ u16 temp;
- sub_80E9AD0();
+ ClosePlayerSecretBaseEntrance();
IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE);
- sbr_e = gSaveBlock1Ptr->secretBases[0].sbr_field_e;
+ temp = gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived;
ClearSecretBase(&gSaveBlock1Ptr->secretBases[0]);
- gSaveBlock1Ptr->secretBases[0].sbr_field_e = sbr_e;
+ gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived = temp;
}
-u8 sub_80E9BA8(void)
+static u8 GetNumRegisteredSecretBases(void)
{
- u8 sum;
s16 i;
-
- sum = 0;
- for (i = 1; i < SECRET_BASES_COUNT; i ++)
+ u8 count = 0;
+ for (i = 1; i < SECRET_BASES_COUNT; i++)
{
- if (sub_80E9878(i) == TRUE)
- {
- sum ++;
- }
+ if (IsSecretBaseRegistered(i) == TRUE)
+ count++;
}
- return sum;
+
+ return count;
}
-void sub_80E9BDC(void)
+void GetCurSecretBaseRegistrationValidity(void)
{
- if (sub_80E9878(VarGet(VAR_CURRENT_SECRET_BASE)) == TRUE)
- {
+ if (IsSecretBaseRegistered(VarGet(VAR_CURRENT_SECRET_BASE)) == TRUE)
gSpecialVar_Result = 1;
- }
- else if (sub_80E9BA8() > 9)
- {
+ else if (GetNumRegisteredSecretBases() >= 10)
gSpecialVar_Result = 2;
- }
else
- {
gSpecialVar_Result = 0;
- }
}
-void sub_80E9C2C(void)
+void ToggleCurSecretBaseRegistry(void)
{
- gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].sbr_field_1_6 ^= 1;
- FlagSet(FLAG_DECORATION_16);
+ gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].registryStatus ^= 1;
+ FlagSet(FLAG_SECRET_BASE_REGISTRY_ENABLED);
}
-void sub_80E9C74(void)
+void ShowSecretBaseDecorationMenu(void)
{
- CreateTask(sub_8126AD8, 0);
+ CreateTask(DoSecretBaseDecorationMenu, 0);
}
-void sub_80E9C88(void)
+void ShowSecretBaseRegistryMenu(void)
{
- CreateTask(sub_80E9C9C, 0);
+ CreateTask(Task_ShowSecretBaseRegistryMenu, 0);
}
-void sub_80E9C9C(u8 taskId)
+static void Task_ShowSecretBaseRegistryMenu(u8 taskId)
{
- s16 *data;
-
- data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
ScriptContext2_Enable();
- data[0] = sub_80E9BA8();
+ data[0] = GetNumRegisteredSecretBases();
if (data[0] != 0)
{
data[1] = 0;
data[2] = 0;
ClearDialogWindowAndFrame(0, 0);
- gUnknown_0203A020 = calloc(1, sizeof(struct SecretBaseListMenuBuffer));
- data[6] = AddWindow(&gUnknown_0858D06C[0]);
- game_continue(taskId);
- sub_80E9E00(taskId);
- gTasks[taskId].func = sub_80E9E90;
+ sRegistryMenu = calloc(1, sizeof(*sRegistryMenu));
+ data[6] = AddWindow(&sRegistryWindowTemplates[0]);
+ BuildRegistryMenuItems(taskId);
+ FinalizeRegistryMenu(taskId);
+ gTasks[taskId].func = HandleRegistryMenuInput;
}
else
{
- DisplayItemMessageOnField(taskId, gText_NoRegistry, task_pc_turn_off);
+ DisplayItemMessageOnField(taskId, gText_NoRegistry, GoToSecretBasePCMainMenu);
}
}
-void game_continue(u8 taskId)
+static void BuildRegistryMenuItems(u8 taskId)
{
s16 *data;
u8 i;
@@ -890,62 +906,54 @@ void game_continue(u8 taskId)
data = gTasks[taskId].data;
count = 0;
- for (i = 1; i < SECRET_BASES_COUNT; i ++)
+ for (i = 1; i < SECRET_BASES_COUNT; i++)
{
- if (sub_80E9878(i))
+ if (IsSecretBaseRegistered(i))
{
- sub_80E9780(gUnknown_0203A020->names[count], i);
- gUnknown_0203A020->items[count].name = gUnknown_0203A020->names[count];
- gUnknown_0203A020->items[count].id = i;
- count ++;
+ GetSecretBaseName(sRegistryMenu->names[count], i);
+ sRegistryMenu->items[count].name = sRegistryMenu->names[count];
+ sRegistryMenu->items[count].id = i;
+ count++;
}
}
- gUnknown_0203A020->items[count].name = gText_Cancel;
- gUnknown_0203A020->items[count].id = -2;
+
+ sRegistryMenu->items[count].name = gText_Cancel;
+ sRegistryMenu->items[count].id = -2;
data[0] = count + 1;
if (data[0] < 8)
- {
data[3] = data[0];
- }
else
- {
data[3] = 8;
- }
- gMultiuseListMenuTemplate = gUnknown_0858D07C;
+
+ gMultiuseListMenuTemplate = sRegistryListMenuTemplate;
gMultiuseListMenuTemplate.windowId = data[6];
gMultiuseListMenuTemplate.totalItems = data[0];
- gMultiuseListMenuTemplate.items = gUnknown_0203A020->items;
+ gMultiuseListMenuTemplate.items = sRegistryMenu->items;
gMultiuseListMenuTemplate.maxShowed = data[3];
}
-void sub_80E9DEC(s32 a0, bool8 flag, struct ListMenu *menu)
+static void RegistryMenu_OnCursorMove(int unused, bool8 flag, struct ListMenu *menu)
{
if (flag != TRUE)
- {
PlaySE(SE_SELECT);
- }
}
-void sub_80E9E00(u8 taskId)
+static void FinalizeRegistryMenu(u8 taskId)
{
- s16 *data;
-
- data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
SetStandardWindowBorderStyle(data[6], 0);
data[5] = ListMenuInit(&gMultiuseListMenuTemplate, data[2], data[1]);
- sub_80E9E44(taskId);
+ AddRegistryMenuScrollArrows(taskId);
schedule_bg_copy_tilemap_to_vram(0);
}
-void sub_80E9E44(u8 taskId)
+static void AddRegistryMenuScrollArrows(u8 taskId)
{
- s16 *data;
-
- data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
data[8] = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xbc, 0x0c, 0x94, data[0] - data[3], 0x13f8, 0x13f8, &data[2]);
}
-void sub_80E9E90(u8 taskId)
+static void HandleRegistryMenuInput(u8 taskId)
{
s16 *data;
s32 input;
@@ -955,219 +963,185 @@ void sub_80E9E90(u8 taskId)
ListMenuGetScrollAndRow(data[5], &data[2], &data[1]);
switch (input)
{
- case LIST_NOTHING_CHOSEN:
- break;
- case LIST_B_PRESSED:
- PlaySE(SE_SELECT);
- DestroyListMenuTask(data[5], NULL, NULL);
- RemoveScrollIndicatorArrowPair(data[8]);
- ClearStdWindowAndFrame(data[6], 0);
- ClearWindowTilemap(data[6]);
- RemoveWindow(data[6]);
- schedule_bg_copy_tilemap_to_vram(0);
- free(gUnknown_0203A020);
- task_pc_turn_off(taskId);
- break;
- default:
- PlaySE(SE_SELECT);
- data[4] = input;
- sub_80E9F20(taskId);
- break;
+ case LIST_NOTHING_CHOSEN:
+ break;
+ case LIST_CANCEL:
+ PlaySE(SE_SELECT);
+ DestroyListMenuTask(data[5], NULL, NULL);
+ RemoveScrollIndicatorArrowPair(data[8]);
+ ClearStdWindowAndFrame(data[6], 0);
+ ClearWindowTilemap(data[6]);
+ RemoveWindow(data[6]);
+ schedule_bg_copy_tilemap_to_vram(0);
+ free(sRegistryMenu);
+ GoToSecretBasePCMainMenu(taskId);
+ break;
+ default:
+ PlaySE(SE_SELECT);
+ data[4] = input;
+ ShowRegistryMenuActions(taskId);
+ break;
}
}
-void sub_80E9F20(u8 taskId)
+static void ShowRegistryMenuActions(u8 taskId)
{
struct WindowTemplate template;
- s16 *data;
-
- data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
RemoveScrollIndicatorArrowPair(data[8]);
- template = gUnknown_0858D06C[1];
- template.width = GetMaxWidthInMenuTable(gUnknown_0858D048, 2);
+ template = sRegistryWindowTemplates[1];
+ template.width = GetMaxWidthInMenuTable(sRegistryMenuActions, 2);
data[7] = AddWindow(&template);
SetStandardWindowBorderStyle(data[7], 0);
- PrintMenuTable(data[7], 2, gUnknown_0858D048);
+ PrintMenuTable(data[7], 2, sRegistryMenuActions);
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(data[7], 2, 0);
schedule_bg_copy_tilemap_to_vram(0);
- gTasks[taskId].func = sub_80E9FB0;
+ gTasks[taskId].func = HandleRegistryMenuActionsInput;
}
-void sub_80E9FB0(u8 taskId)
+static void HandleRegistryMenuActionsInput(u8 taskId)
{
- s8 input;
-
- input = Menu_ProcessInputNoWrap();
+ s8 input = Menu_ProcessInputNoWrap();
switch (input)
{
- case MENU_B_PRESSED:
- PlaySE(SE_SELECT);
- sub_80EA18C(taskId);
- break;
- case MENU_NOTHING_CHOSEN:
- break;
- default:
- PlaySE(SE_SELECT);
- gUnknown_0858D048[input].func.void_u8(taskId);
- break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ ReturnToMainRegistryMenu(taskId);
+ break;
+ case MENU_NOTHING_CHOSEN:
+ break;
+ default:
+ PlaySE(SE_SELECT);
+ sRegistryMenuActions[input].func.void_u8(taskId);
+ break;
}
}
-void sub_80E9FFC(u8 taskId)
+static void ShowRegistryMenuDeleteConfirmation(u8 taskId)
{
- s16 *data;
-
- data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
ClearStdWindowAndFrame(data[6], FALSE);
ClearStdWindowAndFrame(data[7], FALSE);
ClearWindowTilemap(data[6]);
ClearWindowTilemap(data[7]);
RemoveWindow(data[7]);
schedule_bg_copy_tilemap_to_vram(0);
- sub_80E9780(gStringVar1, data[4]);
+ GetSecretBaseName(gStringVar1, data[4]);
StringExpandPlaceholders(gStringVar4, gText_OkayToDeleteFromRegistry);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_80EA06C);
+ DisplayItemMessageOnField(taskId, gStringVar4, ShowRegistryMenuDeleteYesNo);
}
-void sub_80EA06C(u8 taskId)
+static void ShowRegistryMenuDeleteYesNo(u8 taskId)
{
DisplayYesNoMenuDefaultYes();
- DoYesNoFuncWithChoice(taskId, &gUnknown_0858D058);
+ DoYesNoFuncWithChoice(taskId, &sDeleteRegistryYesNoFuncs);
}
-void sub_80EA08C(u8 taskId)
+void DeleteRegistry_Yes_Callback(u8 taskId)
{
- s16 *data;
-
- data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
ClearDialogWindowAndFrame(0, 0);
DestroyListMenuTask(data[5], &data[2], &data[1]);
- gSaveBlock1Ptr->secretBases[data[4]].sbr_field_1_6 = 0;
- game_continue(taskId);
+ gSaveBlock1Ptr->secretBases[data[4]].registryStatus = 0;
+ BuildRegistryMenuItems(taskId);
sub_812225C(&data[2], &data[1], data[3], data[0]);
- sub_80E9E00(taskId);
- gTasks[taskId].func = sub_80E9E90;
+ FinalizeRegistryMenu(taskId);
+ gTasks[taskId].func = HandleRegistryMenuInput;
}
-void sub_80EA120(u8 taskId)
+static void DeleteRegistry_Yes(u8 taskId)
{
- DisplayItemMessageOnField(taskId, gText_RegisteredDataDeleted, sub_80EA08C);
+ DisplayItemMessageOnField(taskId, gText_RegisteredDataDeleted, DeleteRegistry_Yes_Callback);
}
-void sub_80EA13C(u8 taskId)
+static void DeleteRegistry_No(u8 taskId)
{
- s16 *data;
-
- data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
ClearDialogWindowAndFrame(0, 0);
DestroyListMenuTask(data[5], &data[2], &data[1]);
- sub_80E9E00(taskId);
- gTasks[taskId].func = sub_80E9E90;
+ FinalizeRegistryMenu(taskId);
+ gTasks[taskId].func = HandleRegistryMenuInput;
}
-void sub_80EA18C(u8 taskId)
+static void ReturnToMainRegistryMenu(u8 taskId)
{
- s16 *data;
-
- data = gTasks[taskId].data;
- sub_80E9E44(taskId);
+ s16 *data = gTasks[taskId].data;
+ AddRegistryMenuScrollArrows(taskId);
ClearStdWindowAndFrame(data[7], 0);
ClearWindowTilemap(data[7]);
RemoveWindow(data[7]);
schedule_bg_copy_tilemap_to_vram(0);
- gTasks[taskId].func = sub_80E9E90;
+ gTasks[taskId].func = HandleRegistryMenuInput;
}
-void task_pc_turn_off(u8 taskId)
+static void GoToSecretBasePCMainMenu(u8 taskId)
{
if (VarGet(VAR_CURRENT_SECRET_BASE) == 0)
- {
ScriptContext1_SetupScript(gUnknown_0823B4E8);
- }
else
- {
ScriptContext1_SetupScript(gUnknown_0823B5E9);
- }
+
DestroyTask(taskId);
}
-u8 sub_80EA20C(u8 secretBaseRecordId)
+static u8 GetSecretBaseOwnerType(u8 secretBaseId)
{
- return (gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerId[0] % 5) + (gSaveBlock1Ptr->secretBases[secretBaseRecordId].gender * 5);
+ return (gSaveBlock1Ptr->secretBases[secretBaseId].trainerId[0] % 5)
+ + (gSaveBlock1Ptr->secretBases[secretBaseId].gender * 5);
}
const u8 *GetSecretBaseTrainerLoseText(void)
{
- u8 param;
-
- param = sub_80EA20C(VarGet(VAR_CURRENT_SECRET_BASE));
- if (param == 0)
- {
+ u8 ownerType = GetSecretBaseOwnerType(VarGet(VAR_CURRENT_SECRET_BASE));
+ if (ownerType == 0)
return SecretBase_RedCave1_Text_274966;
- }
- if (param == 1)
- {
+ else if (ownerType == 1)
return SecretBase_RedCave1_Text_274D13;
- }
- if (param == 2)
- {
+ else if (ownerType == 2)
return SecretBase_RedCave1_Text_274FFE;
- }
- if (param == 3)
- {
+ else if (ownerType == 3)
return SecretBase_RedCave1_Text_275367;
- }
- if (param == 4)
- {
+ else if (ownerType == 4)
return SecretBase_RedCave1_Text_2756C7;
- }
- if (param == 5)
- {
+ else if (ownerType == 5)
return SecretBase_RedCave1_Text_274B24;
- }
- if (param == 6)
- {
+ else if (ownerType == 6)
return SecretBase_RedCave1_Text_274E75;
- }
- if (param == 7)
- {
+ else if (ownerType == 7)
return SecretBase_RedCave1_Text_2751E1;
- }
- if (param == 8)
- {
+ else if (ownerType == 8)
return SecretBase_RedCave1_Text_2754F6;
- }
- return SecretBase_RedCave1_Text_2758CC;
+ else
+ return SecretBase_RedCave1_Text_2758CC;
}
-void sub_80EA2E4(void)
+void PrepSecretBaseBattleFlags(void)
{
- sub_813BADC(TRUE);
+ sub_813BADC(1);
gTrainerBattleOpponent_A = TRAINER_SECRET_BASE;
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_SECRET_BASE;
}
void sub_80EA30C(void)
{
- gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].sbr_field_1_5 = gSpecialVar_Result;
+ gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].battledOwnerToday = gSpecialVar_Result;
}
-void sub_80EA354(void)
+void GetSecretBaseOwnerInteractionState(void)
{
- u16 secretBaseRecordId;
+ u16 secretBaseId;
u8 i;
- secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE);
+ secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE);
if (!FlagGet(FLAG_DAILY_SECRET_BASE))
{
- for (i = 0; i < SECRET_BASES_COUNT; i ++)
- {
- gSaveBlock1Ptr->secretBases[i].sbr_field_1_5 = FALSE;
- }
+ for (i = 0; i < SECRET_BASES_COUNT; i++)
+ gSaveBlock1Ptr->secretBases[i].battledOwnerToday = FALSE;
+
FlagSet(FLAG_DAILY_SECRET_BASE);
}
- gSpecialVar_0x8004 = sub_80EA20C(secretBaseRecordId);
- gSpecialVar_Result = gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_5;
+ gSpecialVar_0x8004 = GetSecretBaseOwnerType(secretBaseId);
+ gSpecialVar_Result = gSaveBlock1Ptr->secretBases[secretBaseId].battledOwnerToday;
}
void SecretBasePerStepCallback(u8 taskId)
@@ -1181,318 +1155,286 @@ void SecretBasePerStepCallback(u8 taskId)
data = gTasks[taskId].data;
switch (data[1])
{
- case 0:
- if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
+ case 0:
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
+ sInFriendSecretBase = TRUE;
+ else
+ sInFriendSecretBase = FALSE;
+
+ PlayerGetDestCoords(&data[2], &data[3]);
+ data[1] = 1;
+ break;
+ case 1:
+ PlayerGetDestCoords(&x, &y);
+ if (x != data[2] || y != data[3])
+ {
+ data[2] = x;
+ data[3] = y;
+ VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1);
+ behavior = MapGridGetMetatileBehaviorAt(x, y);
+ tileId = MapGridGetMetatileIdAt(x, y);
+ if (tileId == 0x234 || tileId == 0x23C)
{
- gInFriendSecretBase = TRUE;
+ if (sInFriendSecretBase == TRUE)
+ {
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x20);
+ }
}
- else
+ else if (tileId == 0x2b8 || tileId == 0x2b9 || tileId == 0x2ba || tileId == 0x2c0 || tileId == 0x2c1 || tileId == 0x2c2 || tileId == 0x2c8 || tileId == 0x2c9 || tileId == 0x2ca)
{
- gInFriendSecretBase = FALSE;
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x01);
}
- PlayerGetDestCoords(&data[2], &data[3]);
- data[1] = 1;
- break;
- case 1:
- PlayerGetDestCoords(&x, &y);
- if (x != data[2] || y != data[3])
+ else if (tileId == 0x239 || tileId == 0x241 || tileId == 0x251 || tileId == 0x259)
{
- data[2] = x;
- data[3] = y;
- VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1);
- behavior = MapGridGetMetatileBehaviorAt(x, y);
- tileId = MapGridGetMetatileIdAt(x, y);
- if (tileId == 0x234 || tileId == 0x23C)
- {
- if (gInFriendSecretBase == TRUE)
- {
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x20);
- }
- }
- else if (tileId == 0x2b8 || tileId == 0x2b9 || tileId == 0x2ba || tileId == 0x2c0 || tileId == 0x2c1 || tileId == 0x2c2 || tileId == 0x2c8 || tileId == 0x2c9 || tileId == 0x2ca)
- {
- if (gInFriendSecretBase == TRUE)
- {
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x01);
- }
- }
- else if (tileId == 0x239 || tileId == 0x241 || tileId == 0x251 || tileId == 0x259)
- {
- if (gInFriendSecretBase == TRUE)
- {
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x04);
- }
- }
- else if ((behavior == 0x34 && tileId == 0x26d) || (behavior == 0x35 && MapGridGetMetatileIdAt(x, y) == 0x26a))
- {
- if (gInFriendSecretBase == TRUE)
- {
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x200);
- }
- }
- else if (behavior == 0xc1 && tileId == 0x23d)
- {
- if (gInFriendSecretBase == TRUE)
- {
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x1000);
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x2000);
- }
- }
- else if (behavior == 0x47 && tileId == 0x23e)
- {
- if (gInFriendSecretBase == TRUE)
- {
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x1000);
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x2000);
- }
- }
- else if (MetatileBehavior_IsSecretBaseGlitterMat(behavior) == TRUE)
- {
- if (gInFriendSecretBase == TRUE)
- {
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x80);
- }
- }
- else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE)
- {
- PopSecretBaseBalloon(MapGridGetMetatileIdAt(x, y), x, y);
- if (gInFriendSecretBase == TRUE)
- {
- switch ((int)MapGridGetMetatileIdAt(x, y))
- {
- case 0x338:
- case 0x33c:
- case 0x340:
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x02);
- break;
- case 0x228:
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x100);
- break;
- }
- }
- }
- else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE)
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x04);
+ }
+ else if ((behavior == 0x34 && tileId == 0x26d) || (behavior == 0x35 && MapGridGetMetatileIdAt(x, y) == 0x26a))
+ {
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x200);
+ }
+ else if (behavior == 0xc1 && tileId == 0x23d)
+ {
+ if (sInFriendSecretBase == TRUE)
{
- if (gInFriendSecretBase == TRUE)
- {
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x400);
- }
- ShatterSecretBaseBreakableDoor(x, y);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x1000);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x2000);
}
- else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){
- if (gInFriendSecretBase == TRUE) {
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8000);
- }
- }
- else if (MetatileBehavior_IsSecretBaseJumpMat(behavior) == TRUE)
+ }
+ else if (behavior == 0x47 && tileId == 0x23e)
+ {
+ if (sInFriendSecretBase == TRUE)
{
- if (gInFriendSecretBase == TRUE)
- {
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4000);
- }
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x1000);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x2000);
}
- else if (MetatileBehavior_IsSecretBaseSpinMat(behavior) == TRUE)
+ }
+ else if (MetatileBehavior_IsSecretBaseGlitterMat(behavior) == TRUE)
+ {
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x80);
+ }
+ else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE)
+ {
+ PopSecretBaseBalloon(MapGridGetMetatileIdAt(x, y), x, y);
+ if (sInFriendSecretBase == TRUE)
{
- if (gInFriendSecretBase == TRUE)
+ switch ((int)MapGridGetMetatileIdAt(x, y))
{
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x02);
+ case 0x338:
+ case 0x33c:
+ case 0x340:
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x02);
+ break;
+ case 0x228:
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x100);
+ break;
}
}
}
- break;
- case 2:
- if (!FieldEffectActiveListContains(data[4]))
+ else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE)
{
- data[1] = 1;
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x400);
+
+ ShatterSecretBaseBreakableDoor(x, y);
}
- break;
+ else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8000);
+ }
+ else if (MetatileBehavior_IsSecretBaseJumpMat(behavior) == TRUE)
+ {
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4000);
+ }
+ else if (MetatileBehavior_IsSecretBaseSpinMat(behavior) == TRUE)
+ {
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x02);
+ }
+ }
+ break;
+ case 2:
+ if (!FieldEffectActiveListContains(data[4]))
+ data[1] = 1;
+ break;
}
}
-void sub_80EA828(u8 secretBaseRecordId, struct SecretBaseRecord *base, u32 version, u32 language)
+static void SetSecretBaseDataAndLanguage(u8 secretBaseId, struct SecretBase *secretBase, u32 version, u32 language)
{
int stringLength;
u8 *name;
- gSaveBlock1Ptr->secretBases[secretBaseRecordId] = *base;
- gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_6 = 2;
+ gSaveBlock1Ptr->secretBases[secretBaseId] = *secretBase;
+ gSaveBlock1Ptr->secretBases[secretBaseId].registryStatus = 2;
if (version == VERSION_SAPPHIRE || version == VERSION_RUBY)
- {
- gSaveBlock1Ptr->secretBases[secretBaseRecordId].language = LANGUAGE_ENGLISH;
- }
+ gSaveBlock1Ptr->secretBases[secretBaseId].language = LANGUAGE_ENGLISH;
+
if (version == VERSION_EMERALD && language == LANGUAGE_JAPANESE)
{
- name = gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName;
- for (stringLength = 0; stringLength < 7; stringLength ++)
+ name = gSaveBlock1Ptr->secretBases[secretBaseId].trainerName;
+ for (stringLength = 0; stringLength < 7; stringLength++)
{
if (name[stringLength] == EOS)
- {
break;
- }
}
+
if (stringLength > 5)
- {
- gSaveBlock1Ptr->secretBases[secretBaseRecordId].language = LANGUAGE_ENGLISH;
- }
+ gSaveBlock1Ptr->secretBases[secretBaseId].language = LANGUAGE_ENGLISH;
}
}
-bool8 sub_80EA8D4(struct SecretBaseRecord *sbr1, struct SecretBaseRecord *sbr2)
+static bool8 SecretBasesHaveSameTrainerId(struct SecretBase *secretBase1, struct SecretBase *secretBase2)
{
u8 i;
- for (i = 0; i < 4; i ++)
+ for (i = 0; i < 4; i++)
{
- if (sbr1->trainerId[i] != sbr2->trainerId[i])
- {
+ if (secretBase1->trainerId[i] != secretBase2->trainerId[i])
return FALSE;
- }
}
+
return TRUE;
}
-bool8 sub_80EA904(struct SecretBaseRecord *sbr1, struct SecretBaseRecord *sbr2)
+static bool8 SecretBasesHaveSameTrainerName(struct SecretBase *sbr1, struct SecretBase *sbr2)
{
u8 i;
-
for (i = 0; i < PLAYER_NAME_LENGTH && (sbr1->trainerName[i] != EOS || sbr2->trainerName[i] != EOS); i++)
{
if (sbr1->trainerName[i] != sbr2->trainerName[i])
- {
return FALSE;
- }
}
+
return TRUE;
}
-bool8 sub_80EA950(struct SecretBaseRecord *sbr1, struct SecretBaseRecord *sbr2)
+static bool8 SecretBasesBelongToSamePlayer(struct SecretBase *secretBase1, struct SecretBase *secretBase2)
{
- if (sbr1->gender == sbr2->gender && sub_80EA8D4(sbr1, sbr2) && sub_80EA904(sbr1, sbr2))
+ if (secretBase1->gender == secretBase2->gender
+ && SecretBasesHaveSameTrainerId(secretBase1, secretBase2)
+ && SecretBasesHaveSameTrainerName(secretBase1, secretBase2))
{
return TRUE;
}
+
return FALSE;
}
-s16 sub_80EA990(u8 secretBaseRecordId)
+static s16 GetSecretBaseIndexFromId(u8 secretBaseId)
{
s16 i;
-
- for (i = 0; i < SECRET_BASES_COUNT; i ++)
+ for (i = 0; i < SECRET_BASES_COUNT; i++)
{
- if (gSaveBlock1Ptr->secretBases[i].secretBaseId == secretBaseRecordId)
- {
+ if (gSaveBlock1Ptr->secretBases[i].secretBaseId == secretBaseId)
return i;
- }
}
+
return -1;
}
-u8 sub_80EA9D8(void)
+static u8 FindAvailableSecretBaseIndex(void)
{
s16 i;
-
- for (i = 1; i < SECRET_BASES_COUNT; i ++)
+ for (i = 1; i < SECRET_BASES_COUNT; i++)
{
if (gSaveBlock1Ptr->secretBases[i].secretBaseId == 0)
- {
return i;
- }
}
+
return 0;
}
-u8 sub_80EAA18(void)
+static u8 sub_80EAA18(void)
{
s16 i;
-
- for (i = 1; i < SECRET_BASES_COUNT; i ++)
+ for (i = 1; i < SECRET_BASES_COUNT; i++)
{
- if (gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 == 0 && gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 == 0)
- {
+ if (gSaveBlock1Ptr->secretBases[i].registryStatus == 0 && gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 == 0)
return i;
- }
}
+
return 0;
}
-u8 sub_80EAA64(struct SecretBaseRecord *base, u32 version, u32 language)
+static u8 sub_80EAA64(struct SecretBase *secretBase, u32 version, u32 language)
{
- s16 secretBaseRecordId;
+ s16 index;
- if (base->secretBaseId == 0)
- {
+ if (!secretBase->secretBaseId)
return 0;
- }
- secretBaseRecordId = sub_80EA990(base->secretBaseId);
- if (secretBaseRecordId != 0)
+
+ index = GetSecretBaseIndexFromId(secretBase->secretBaseId);
+ if (index != 0)
{
- if (secretBaseRecordId != -1)
+ if (index != -1)
{
- if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_0 == 1)
- {
+ if (gSaveBlock1Ptr->secretBases[index].sbr_field_1_0 == 1)
return 0;
- }
- if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_6 != 2 || base->sbr_field_1_0 == 1)
+
+ if (gSaveBlock1Ptr->secretBases[index].registryStatus != 2 || secretBase->sbr_field_1_0 == 1)
{
- sub_80EA828(secretBaseRecordId, base, version, language);
- return secretBaseRecordId;
+ SetSecretBaseDataAndLanguage(index, secretBase, version, language);
+ return index;
}
}
else
{
- secretBaseRecordId = sub_80EA9D8();
- if (secretBaseRecordId != 0)
+ index = FindAvailableSecretBaseIndex();
+ if (index != 0)
{
- sub_80EA828(secretBaseRecordId, base, version, language);
- return secretBaseRecordId;
+ SetSecretBaseDataAndLanguage(index, secretBase, version, language);
+ return index;
}
- secretBaseRecordId = sub_80EAA18();
- if (secretBaseRecordId != 0)
+
+ index = sub_80EAA18();
+ if (index != 0)
{
- sub_80EA828(secretBaseRecordId, base, version, language);
- return secretBaseRecordId;
+ SetSecretBaseDataAndLanguage(index, secretBase, version, language);
+ return index;
}
}
}
return 0;
}
-void sub_80EAAF4(void)
+// Moves the registered secret bases to the beginning of the array, so that
+// they won't be forgotten during record mixing.
+static void SortSecretBasesByRegistryStatus(void)
{
u8 i;
u8 j;
- struct SecretBaseRecord base;
- struct SecretBaseRecord *secretBases;
+ struct SecretBase *secretBases;
secretBases = gSaveBlock1Ptr->secretBases;
- for (i = 1; i < 19; i ++)
+ for (i = 1; i < 19; i++)
{
- for (j = i + 1; j < SECRET_BASES_COUNT; j ++)
+ for (j = i + 1; j < SECRET_BASES_COUNT; j++)
{
- if ((secretBases[i].sbr_field_1_6 == 0 && secretBases[j].sbr_field_1_6 == 1) || (secretBases[i].sbr_field_1_6 == 2 && secretBases[j].sbr_field_1_6 != 2))
+ if ((secretBases[i].registryStatus == 0 && secretBases[j].registryStatus == 1) || (secretBases[i].registryStatus == 2 && secretBases[j].registryStatus != 2))
{
- base = secretBases[i];
+ struct SecretBase temp = secretBases[i];
secretBases[i] = secretBases[j];
- secretBases[j] = base;
+ secretBases[j] = temp;
}
}
}
}
-void sub_80EABA4(struct SecretBaseRecordMixer *mixer, u8 b)
+void sub_80EABA4(struct SecretBaseRecordMixer *mixer, u8 registryStatus)
{
u16 i;
-
- for (i = 1; i < SECRET_BASES_COUNT; i ++)
+ for (i = 1; i < SECRET_BASES_COUNT; i++)
{
- if (mixer->records[i].sbr_field_1_6 == b)
- {
- sub_80EAA64(&mixer->records[i], mixer->version, mixer->language);
- }
+ if (mixer->secretBases[i].registryStatus == registryStatus)
+ sub_80EAA64(&mixer->secretBases[i], mixer->version, mixer->language);
}
}
-bool8 DoesSecretBaseBelongToPlayer(struct SecretBaseRecord *secretBase)
+bool8 SecretBaseBelongsToPlayer(struct SecretBase *secretBase)
{
u8 i;
@@ -1503,13 +1445,13 @@ bool8 DoesSecretBaseBelongToPlayer(struct SecretBaseRecord *secretBase)
return FALSE;
// Check if the player's trainer Id matches the secret base's id.
- for (i = 0; i < 4; i ++)
+ for (i = 0; i < 4; i++)
{
if (secretBase->trainerId[i] != gSaveBlock2Ptr->playerTrainerId[i])
return FALSE;
}
- for (i = 0; i < PLAYER_NAME_LENGTH && (secretBase->trainerName[i] != EOS || gSaveBlock2Ptr->playerName[i] != EOS); i ++)
+ for (i = 0; i < PLAYER_NAME_LENGTH && (secretBase->trainerName[i] != EOS || gSaveBlock2Ptr->playerName[i] != EOS); i++)
{
if (secretBase->trainerName[i] != gSaveBlock2Ptr->playerName[i])
return FALSE;
@@ -1518,16 +1460,16 @@ bool8 DoesSecretBaseBelongToPlayer(struct SecretBaseRecord *secretBase)
return TRUE;
}
-void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC)
+void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBase *basesA, struct SecretBase *basesB, struct SecretBase *basesC)
{
u8 i;
u8 sbFlags = 0x0;
- for (i = 0; i < SECRET_BASES_COUNT; i ++)
+ for (i = 0; i < SECRET_BASES_COUNT; i++)
{
if (!(sbFlags & 0x1)) // 001
{
- if (DoesSecretBaseBelongToPlayer(&basesA[i]) == TRUE)
+ if (SecretBaseBelongsToPlayer(&basesA[i]) == TRUE)
{
ClearSecretBase(&basesA[i]);
sbFlags |= 1;
@@ -1536,7 +1478,7 @@ void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseR
if (!(sbFlags & 0x2)) // 010
{
- if (DoesSecretBaseBelongToPlayer(&basesB[i]) == TRUE)
+ if (SecretBaseBelongsToPlayer(&basesB[i]) == TRUE)
{
ClearSecretBase(&basesB[i]);
sbFlags |= 2;
@@ -1545,7 +1487,7 @@ void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseR
if (!(sbFlags & 0x4)) // 100
{
- if (DoesSecretBaseBelongToPlayer(&basesC[i]) == TRUE)
+ if (SecretBaseBelongsToPlayer(&basesC[i]) == TRUE)
{
ClearSecretBase(&basesC[i]);
sbFlags |= 4;
@@ -1559,15 +1501,15 @@ void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseR
}
}
-bool8 sub_80EAD14(struct SecretBaseRecord *base, struct SecretBaseRecord *secretBases, u8 c)
+bool8 sub_80EAD14(struct SecretBase *secretBase, struct SecretBase *secretBases, u8 c)
{
u8 i;
- for (i = 0; i < SECRET_BASES_COUNT; i ++)
+ for (i = 0; i < SECRET_BASES_COUNT; i++)
{
if (secretBases[i].secretBaseId != 0)
{
- if (sub_80EA950(base, &secretBases[i]) == TRUE)
+ if (SecretBasesBelongToSamePlayer(secretBase, &secretBases[i]) == TRUE)
{
if (c == 0)
{
@@ -1575,15 +1517,14 @@ bool8 sub_80EAD14(struct SecretBaseRecord *base, struct SecretBaseRecord *secret
return FALSE;
}
- if (base->sbr_field_e > secretBases[i].sbr_field_e)
+ if (secretBase->numSecretBasesReceived > secretBases[i].numSecretBasesReceived)
{
ClearSecretBase(&secretBases[i]);
return FALSE;
}
- secretBases[i].sbr_field_1_0 = base->sbr_field_1_0;
-
- ClearSecretBase(base);
+ secretBases[i].sbr_field_1_0 = secretBase->sbr_field_1_0;
+ ClearSecretBase(secretBase);
return TRUE;
}
}
@@ -1592,15 +1533,15 @@ bool8 sub_80EAD14(struct SecretBaseRecord *base, struct SecretBaseRecord *secret
return FALSE;
}
-void sub_80EAD94(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC, struct SecretBaseRecord *basesD)
+void sub_80EAD94(struct SecretBase *basesA, struct SecretBase *basesB, struct SecretBase *basesC, struct SecretBase *basesD)
{
u8 i;
- for (i = 1; i < SECRET_BASES_COUNT; i ++)
+ for (i = 1; i < SECRET_BASES_COUNT; i++)
{
if (basesA[i].secretBaseId)
{
- if (basesA[i].sbr_field_1_6 == 1)
+ if (basesA[i].registryStatus == 1)
{
basesA[i].sbr_field_1_0 = 1;
}
@@ -1613,32 +1554,32 @@ void sub_80EAD94(struct SecretBaseRecord *basesA, struct SecretBaseRecord *bases
}
}
}
- for (i = 0; i < SECRET_BASES_COUNT; i ++)
+ for (i = 0; i < SECRET_BASES_COUNT; i++)
{
if (basesB[i].secretBaseId)
{
- basesB[i].sbr_field_1_5 = 0;
+ basesB[i].battledOwnerToday = 0;
if (!sub_80EAD14(&basesB[i], basesC, i))
{
sub_80EAD14(&basesB[i], basesD, i);
}
}
}
- for (i = 0; i < SECRET_BASES_COUNT; i ++)
+ for (i = 0; i < SECRET_BASES_COUNT; i++)
{
if (basesC[i].secretBaseId)
{
- basesC[i].sbr_field_1_5 = 0;
+ basesC[i].battledOwnerToday = 0;
sub_80EAD14(&basesC[i], basesD, i);
}
if (basesD[i].secretBaseId)
{
- basesD[i].sbr_field_1_5 = 0;
+ basesD[i].battledOwnerToday = 0;
}
}
}
-void sub_80EAE90(struct SecretBaseRecord *base, u32 version, u32 language)
+void sub_80EAE90(struct SecretBase *base, u32 version, u32 language)
{
if (base->sbr_field_1_0 == 1)
{
@@ -1651,22 +1592,22 @@ void sub_80EAEB4(struct SecretBaseRecordMixer *mixers)
{
u16 i;
- for (i = 0; i < SECRET_BASES_COUNT; i ++)
+ for (i = 0; i < SECRET_BASES_COUNT; i++)
{
- sub_80EAE90(&mixers[0].records[i], mixers[0].version, mixers[0].language);
- sub_80EAE90(&mixers[1].records[i], mixers[1].version, mixers[1].language);
- sub_80EAE90(&mixers[2].records[i], mixers[2].version, mixers[2].language);
+ sub_80EAE90(&mixers[0].secretBases[i], mixers[0].version, mixers[0].language);
+ sub_80EAE90(&mixers[1].secretBases[i], mixers[1].version, mixers[1].language);
+ sub_80EAE90(&mixers[2].secretBases[i], mixers[2].version, mixers[2].language);
}
}
void sub_80EAEF4(struct SecretBaseRecordMixer *mixers)
{
- DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(mixers[0].records, mixers[1].records, mixers[2].records);
- sub_80EAD94(gSaveBlock1Ptr->secretBases, mixers[0].records, mixers[1].records, mixers[2].records);
+ DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(mixers[0].secretBases, mixers[1].secretBases, mixers[2].secretBases);
+ sub_80EAD94(gSaveBlock1Ptr->secretBases, mixers[0].secretBases, mixers[1].secretBases, mixers[2].secretBases);
sub_80EAEB4(mixers);
- sub_80EAA64(mixers[0].records, mixers[0].version, mixers[0].language);
- sub_80EAA64(mixers[1].records, mixers[1].version, mixers[1].language);
- sub_80EAA64(mixers[2].records, mixers[2].version, mixers[2].language);
+ sub_80EAA64(mixers[0].secretBases, mixers[0].version, mixers[0].language);
+ sub_80EAA64(mixers[1].secretBases, mixers[1].version, mixers[1].language);
+ sub_80EAA64(mixers[2].secretBases, mixers[2].version, mixers[2].language);
sub_80EABA4(&mixers[0], 1);
sub_80EABA4(&mixers[1], 1);
sub_80EABA4(&mixers[2], 1);
@@ -1675,7 +1616,7 @@ void sub_80EAEF4(struct SecretBaseRecordMixer *mixers)
sub_80EABA4(&mixers[2], 0);
}
-void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx)
+void ReceiveSecretBasesData(void *secretBases, size_t recordSize, u8 linkIdx)
{
struct SecretBaseRecordMixer mixers[3];
u16 i;
@@ -1684,95 +1625,97 @@ void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx)
{
switch (GetLinkPlayerCount())
{
- case 2:
- memset(records + 2 * recordSize, 0, recordSize);
- memset(records + 3 * recordSize, 0, recordSize);
- break;
- case 3:
- memset(records + 3 * recordSize, 0, recordSize);
- break;
+ case 2:
+ memset(secretBases + 2 * recordSize, 0, recordSize);
+ memset(secretBases + 3 * recordSize, 0, recordSize);
+ break;
+ case 3:
+ memset(secretBases + 3 * recordSize, 0, recordSize);
+ break;
}
+
switch (linkIdx)
{
- case 0:
- mixers[0].records = records + 1 * recordSize;
- mixers[0].version = gLinkPlayers[1].version & 0xFF;
- mixers[0].language = gLinkPlayers[1].language;
- mixers[1].records = records + 2 * recordSize;
- mixers[1].version = gLinkPlayers[2].version & 0xFF;
- mixers[1].language = gLinkPlayers[2].language;
- mixers[2].records = records + 3 * recordSize;
- mixers[2].version = gLinkPlayers[3].version & 0xFF;
- mixers[2].language = gLinkPlayers[3].language;
- break;
- case 1:
- mixers[0].records = records + 2 * recordSize;
- mixers[0].version = gLinkPlayers[2].version & 0xFF;
- mixers[0].language = gLinkPlayers[2].language;
- mixers[1].records = records + 3 * recordSize;
- mixers[1].version = gLinkPlayers[3].version & 0xFF;
- mixers[1].language = gLinkPlayers[3].language;
- mixers[2].records = records + 0 * recordSize;
- mixers[2].version = gLinkPlayers[0].version & 0xFF;
- mixers[2].language = gLinkPlayers[0].language;
- break;
- case 2:
- mixers[0].records = records + 3 * recordSize;
- mixers[0].version = gLinkPlayers[3].version & 0xFF;
- mixers[0].language = gLinkPlayers[3].language;
- mixers[1].records = records + 0 * recordSize;
- mixers[1].version = gLinkPlayers[0].version & 0xFF;
- mixers[1].language = gLinkPlayers[0].language;
- mixers[2].records = records + 1 * recordSize;
- mixers[2].version = gLinkPlayers[1].version & 0xFF;
- mixers[2].language = gLinkPlayers[1].language;
- break;
- case 3:
- mixers[0].records = records + 0 * recordSize;
- mixers[0].version = gLinkPlayers[0].version & 0xFF;
- mixers[0].language = gLinkPlayers[0].language;
- mixers[1].records = records + 1 * recordSize;
- mixers[1].version = gLinkPlayers[1].version & 0xFF;
- mixers[1].language = gLinkPlayers[1].language;
- mixers[2].records = records + 2 * recordSize;
- mixers[2].version = gLinkPlayers[2].version & 0xFF;
- mixers[2].language = gLinkPlayers[2].language;
- break;
+ case 0:
+ mixers[0].secretBases = secretBases + 1 * recordSize;
+ mixers[0].version = gLinkPlayers[1].version & 0xFF;
+ mixers[0].language = gLinkPlayers[1].language;
+ mixers[1].secretBases = secretBases + 2 * recordSize;
+ mixers[1].version = gLinkPlayers[2].version & 0xFF;
+ mixers[1].language = gLinkPlayers[2].language;
+ mixers[2].secretBases = secretBases + 3 * recordSize;
+ mixers[2].version = gLinkPlayers[3].version & 0xFF;
+ mixers[2].language = gLinkPlayers[3].language;
+ break;
+ case 1:
+ mixers[0].secretBases = secretBases + 2 * recordSize;
+ mixers[0].version = gLinkPlayers[2].version & 0xFF;
+ mixers[0].language = gLinkPlayers[2].language;
+ mixers[1].secretBases = secretBases + 3 * recordSize;
+ mixers[1].version = gLinkPlayers[3].version & 0xFF;
+ mixers[1].language = gLinkPlayers[3].language;
+ mixers[2].secretBases = secretBases + 0 * recordSize;
+ mixers[2].version = gLinkPlayers[0].version & 0xFF;
+ mixers[2].language = gLinkPlayers[0].language;
+ break;
+ case 2:
+ mixers[0].secretBases = secretBases + 3 * recordSize;
+ mixers[0].version = gLinkPlayers[3].version & 0xFF;
+ mixers[0].language = gLinkPlayers[3].language;
+ mixers[1].secretBases = secretBases + 0 * recordSize;
+ mixers[1].version = gLinkPlayers[0].version & 0xFF;
+ mixers[1].language = gLinkPlayers[0].language;
+ mixers[2].secretBases = secretBases + 1 * recordSize;
+ mixers[2].version = gLinkPlayers[1].version & 0xFF;
+ mixers[2].language = gLinkPlayers[1].language;
+ break;
+ case 3:
+ mixers[0].secretBases = secretBases + 0 * recordSize;
+ mixers[0].version = gLinkPlayers[0].version & 0xFF;
+ mixers[0].language = gLinkPlayers[0].language;
+ mixers[1].secretBases = secretBases + 1 * recordSize;
+ mixers[1].version = gLinkPlayers[1].version & 0xFF;
+ mixers[1].language = gLinkPlayers[1].language;
+ mixers[2].secretBases = secretBases + 2 * recordSize;
+ mixers[2].version = gLinkPlayers[2].version & 0xFF;
+ mixers[2].language = gLinkPlayers[2].language;
+ break;
}
+
sub_80EAEF4(mixers);
- for (i = 1; i < SECRET_BASES_COUNT; i ++)
+ for (i = 1; i < SECRET_BASES_COUNT; i++)
{
if (gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 == 1)
{
- gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 = 1;
+ gSaveBlock1Ptr->secretBases[i].registryStatus = 1;
gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 = 0;
}
}
- sub_80EAAF4();
- for (i = 1; i < SECRET_BASES_COUNT; i ++)
+
+ SortSecretBasesByRegistryStatus();
+ for (i = 1; i < SECRET_BASES_COUNT; i++)
{
- if (gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 == 2)
+ if (gSaveBlock1Ptr->secretBases[i].registryStatus == 2)
{
- gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 = 0;
+ gSaveBlock1Ptr->secretBases[i].registryStatus = 0;
}
}
- if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0 && gSaveBlock1Ptr->secretBases[0].sbr_field_e != 0xFFFF)
+
+ if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0
+ && gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived != 0xFFFF)
{
- gSaveBlock1Ptr->secretBases[0].sbr_field_e ++;
+ gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived++;
}
}
}
-void sub_80EB18C(struct SecretBaseRecord *bases)
+void ClearJapaneseSecretBases(struct SecretBase *bases)
{
u32 i;
-
- for (i = 0; i < SECRET_BASES_COUNT; i ++)
+ for (i = 0; i < SECRET_BASES_COUNT; i++)
{
if (bases[i].language == LANGUAGE_JAPANESE)
- {
ClearSecretBase(&bases[i]);
- }
}
}
@@ -1783,22 +1726,19 @@ void sub_80EB1AC(void)
VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, 0);
VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, 0);
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, TRUE);
- }
else
- {
VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, FALSE);
- }
- gInFriendSecretBase = FALSE;
+
+ sInFriendSecretBase = FALSE;
}
void sub_80EB218(void)
{
- if (VarGet(VAR_SECRET_BASE_IS_NOT_LOCAL) && gInFriendSecretBase == TRUE && !CurrentMapIsSecretBase())
+ if (VarGet(VAR_SECRET_BASE_IS_NOT_LOCAL) && sInFriendSecretBase == TRUE && !CurMapIsSecretBase())
{
VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, FALSE);
- gInFriendSecretBase = FALSE;
+ sInFriendSecretBase = FALSE;
sub_80EEA70();
VarSet(VAR_SECRET_BASE_STEP_COUNTER, 0);
VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, 0);
@@ -1811,17 +1751,13 @@ void sub_80EB218(void)
void sub_80EB290(void)
{
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x800);
- }
}
void sub_80EB2C8(void)
{
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x400);
- }
}
void sub_80EB300(void)
@@ -1864,10 +1800,9 @@ void sub_80EB438(void)
}
}
-void sub_80EB498(void)
+void SetSecretBaseSecretsTvFlags_Poster(void)
{
- s16 x;
- s16 y;
+ s16 x, y;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
switch (MapGridGetMetatileIdAt(x, y))
@@ -1888,27 +1823,23 @@ void sub_80EB498(void)
case 0x333:
case 0x334:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x4000);
- }
break;
}
}
-void sub_80EB56C(void)
+void SetSecretBaseSecretsTvFlags_MiscFurnature(void)
{
- s16 x;
- s16 y;
+ s16 x, y;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
switch (MapGridGetMetatileIdAt(x, y))
{
case 0x28a:
case 0x28b:
+ // Bird Statue
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x40);
- }
break;
case 0x2d8:
case 0x2d9:
@@ -1928,32 +1859,28 @@ void sub_80EB56C(void)
case 0x2f9:
case 0x2fa:
case 0x2fb:
+ // Plants
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8);
- }
break;
case 0x22c:
case 0x233:
+ // Fence
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x40);
- }
break;
case 0x288:
case 0x289:
+ // Tire
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100);
- }
break;
case 0x22d:
case 0x22e:
case 0x22f:
+ // Bricks
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10);
- }
break;
case 0x287:
case 0x28f:
@@ -1978,18 +1905,16 @@ void sub_80EB56C(void)
case 0x2cd:
case 0x2ce:
case 0x2cf:
+ // Tables
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8);
- }
break;
}
}
-void sub_80EB9E0(void)
+void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void)
{
- s16 x;
- s16 y;
+ s16 x, y;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
switch (MapGridGetMetatileIdAt(x, y))
@@ -2006,17 +1931,14 @@ void sub_80EB9E0(void)
case 0x2c3:
case 0x2c6:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8);
- }
break;
}
}
-void sub_80EBB28(void)
+void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void)
{
- s16 x;
- s16 y;
+ s16 x, y;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
switch (MapGridGetMetatileIdAt(x, y))
@@ -2044,42 +1966,34 @@ void sub_80EBB28(void)
case 0x2c5:
case 0x2c7:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8);
- }
break;
case 0x280:
case 0x281:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100);
- }
break;
case 0x225:
case 0x226:
case 0x227:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10);
- }
break;
}
}
-void sub_80EBE7C(void)
+void SetSecretBaseSecretsTvFlags_SandOrnament(void)
{
- s16 x;
- s16 y;
+ s16 x, y;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
switch ((int)MapGridGetMetatileIdAt(x, y))
{
case 0x28d:
case 0x28e:
+ // Sand Ornament
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- {
VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4);
- }
break;
}
}
diff --git a/src/shop.c b/src/shop.c
index e03e2ab0c..ab7f31c1f 100755
--- a/src/shop.c
+++ b/src/shop.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "decoration.h"
#include "decoration_inventory.h"
@@ -918,7 +918,7 @@ static void Task_BuyMenu(u8 taskId)
{
case LIST_NOTHING_CHOSEN:
break;
- case LIST_B_PRESSED:
+ case LIST_CANCEL:
PlaySE(SE_SELECT);
ExitBuyMenu(taskId);
break;
diff --git a/src/smokescreen.c b/src/smokescreen.c
index d9780bbb6..61e011451 100644
--- a/src/smokescreen.c
+++ b/src/smokescreen.c
@@ -1,11 +1,15 @@
#include "global.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "sprite.h"
#include "util.h"
static void sub_8075370(struct Sprite *);
+extern const struct CompressedSpriteSheet gUnknown_0831C620;
+extern const struct CompressedSpritePalette gUnknown_0831C628;
+extern const struct SpriteTemplate gUnknown_0831C688;
+
u8 sub_807521C(s16 x, s16 y, u8 a3)
{
u8 mainSpriteId;
diff --git a/src/sound.c b/src/sound.c
index ebb4fad75..16f024858 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -264,7 +264,7 @@ void FadeInNewBGM(u16 songNum, u8 speed)
{
if (gDisableMusic)
songNum = 0;
- if (songNum == 0xFFFF)
+ if (songNum == MUS_NONE)
songNum = 0;
m4aSongNumStart(songNum);
m4aMPlayImmInit(&gMPlayInfo_BGM);
@@ -561,7 +561,7 @@ void PlayBGM(u16 songNum)
{
if (gDisableMusic)
songNum = 0;
- if (songNum == 0xFFFF)
+ if (songNum == MUS_NONE)
songNum = 0;
m4aSongNumStart(songNum);
}
diff --git a/src/sprite.c b/src/sprite.c
index 4087dd8c4..d2ea7889c 100644
--- a/src/sprite.c
+++ b/src/sprite.c
@@ -91,21 +91,21 @@ typedef void (*AnimFunc)(struct Sprite *);
typedef void (*AnimCmdFunc)(struct Sprite *);
typedef void (*AffineAnimCmdFunc)(u8 matrixNum, struct Sprite *);
-#define DUMMY_OAM_DATA \
-{ \
- 160, /* Y (off-screen) */ \
- 0, \
- 0, \
- 0, \
- 0, \
- 0, \
- 304, /* X */ \
- 0, \
- 0, \
- 0, \
- 3, /* lowest priority */ \
- 0, \
- 0 \
+#define DUMMY_OAM_DATA \
+{ \
+ .y = 160, \
+ .affineMode = 0, \
+ .objMode = 0, \
+ .mosaic = 0, \
+ .bpp = 0, \
+ .shape = SPRITE_SHAPE(8x8), \
+ .x = 304, \
+ .matrixNum = 0, \
+ .size = SPRITE_SIZE(8x8), \
+ .tileNum = 0, \
+ .priority = 3, /* lowest priority */ \
+ .paletteNum = 0, \
+ .affineParam = 0 \
}
#define ANIM_END 0xFFFF
diff --git a/src/start_menu.c b/src/start_menu.c
index 4822c12e6..5b527e15e 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -44,6 +44,7 @@
#include "window.h"
#include "constants/songs.h"
#include "rom_8011DC0.h"
+#include "union_room.h"
// Menu actions
enum
@@ -1184,7 +1185,7 @@ static bool32 sub_80A03E4(u8 *par1)
InitBgsFromTemplates(0, sUnknown_085105A8, ARRAY_COUNT(sUnknown_085105A8));
InitWindows(sUnknown_085105AC);
LoadUserWindowBorderGfx_(0, 8, 224);
- sub_81978B0(240);
+ Menu_LoadStdPalAt(240);
break;
case 3:
ShowBg(0);
@@ -1233,7 +1234,7 @@ static void sub_80A0550(u8 taskId)
2,
1,
3);
- sub_8098858(0, 8, 14);
+ DrawTextBorderOuter(0, 8, 14);
PutWindowTilemap(0);
CopyWindowToVram(0, 3);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
diff --git a/src/starter_choose.c b/src/starter_choose.c
index 4ed53539f..c3957e403 100644
--- a/src/starter_choose.c
+++ b/src/starter_choose.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "bg.h"
-#include "data2.h"
+#include "data.h"
#include "decompress.h"
#include "event_data.h"
#include "gpu_regs.h"
@@ -170,10 +170,10 @@ static const struct OamData gOamData_85B1E10 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -187,10 +187,10 @@ static const struct OamData gOamData_85B1E18 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -204,10 +204,10 @@ static const struct OamData gOamData_85B1E20 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -296,21 +296,35 @@ static const union AffineAnimCmd * const gSpriteAffineAnimTable_85B1ED4[] = {gSp
static const struct CompressedSpriteSheet gUnknown_085B1ED8[] =
{
- gUnknown_085B18AC, 0x0800, 0x1000,
- NULL,
+ {
+ .data = gUnknown_085B18AC,
+ .size = 0x0800,
+ .tag = 0x1000
+ },
+ {}
};
static const struct CompressedSpriteSheet gUnknown_085B1EE8[] =
{
- gUnknown_085B1BCC, 0x0800, 0x1001,
- NULL,
+ {
+ .data = gUnknown_085B1BCC,
+ .size = 0x0800,
+ .tag = 0x1001
+ },
+ {}
};
static const struct SpritePalette gUnknown_085B1EF8[] =
{
- gBirchBallarrow_Pal, 0x1000,
- gBirchCircle_Pal, 0x1001,
- NULL,
+ {
+ .data = gBirchBallarrow_Pal,
+ .tag = 0x1000
+ },
+ {
+ .data = gBirchCircle_Pal,
+ .tag = 0x1001
+ },
+ {},
};
static const struct SpriteTemplate sSpriteTemplate_Hand =
diff --git a/src/strings.c b/src/strings.c
index c4266a135..12cf9cacf 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -529,7 +529,7 @@ const u8 gText_ApostropheSBase[] = _("'s BASE");
const u8 gText_OkayToDeleteFromRegistry[] = _("Is it okay to delete {STR_VAR_1}\nfrom the REGISTRY?");
const u8 gText_RegisteredDataDeleted[] = _("The registered data was deleted.{PAUSE_UNTIL_PRESS}");
const u8 gText_NoRegistry[] = _("There is no REGISTRY.{PAUSE_UNTIL_PRESS}");
-const u8 gUnknown_085EA79D[] = _("DEL REGIST.");
+const u8 gText_DelRegist[] = _("DEL REGIST.");
const u8 gUnknown_085EA7A9[] = _("{STR_VAR_3}{STR_VAR_1}/{STR_VAR_2}");
const u8 gText_Decorate[] = _("DECORATE");
const u8 gText_PutAway[] = _("PUT AWAY");
@@ -1742,23 +1742,23 @@ const u8 gText_TrainerHill2F[] = _("2F");
const u8 gText_TrainerHill3F[] = _("3F");
const u8 gText_TrainerHill4F[] = _("4F");
const u8 gText_TeachWhichMoveToPkmn[] = _("Teach which move to {STR_VAR_1}?");
-const u8 gText_TeachX[] = _("Teach {STR_VAR_2}?");
-const u8 gText_PkmnLearnedMove4[] = _("{STR_VAR_1} learned\n{STR_VAR_2}!");
-const u8 gText_PkmnTryingToLearnMove[] = _("{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can't learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?");
-const u8 gText_StopTryingToTeachMove[] = _("Stop trying to teach\n{STR_VAR_2}?");
-const u8 gText_12AndPoof[] = _("{PAUSE 32}1, {PAUSE 15}2, and {PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p");
-const u8 gText_PkmnForgotMoveAndLearnedNew[] = _("{STR_VAR_1} forgot {STR_VAR_3}.\pAnd…\p{STR_VAR_1} learned {STR_VAR_2}.");
+const u8 gText_MoveRelearnerTeachMoveConfirm[] = _("Teach {STR_VAR_2}?");
+const u8 gText_MoveRelearnerPkmnLearnedMove[] = _("{STR_VAR_1} learned\n{STR_VAR_2}!");
+const u8 gText_MoveRelearnerPkmnTryingToLearnMove[] = _("{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can't learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?");
+const u8 gText_MoveRelearnerStopTryingToTeachMove[] = _("Stop trying to teach\n{STR_VAR_2}?");
+const u8 gText_MoveRelearnerAndPoof[] = _("{PAUSE 32}1, {PAUSE 15}2, and {PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p");
+const u8 gText_MoveRelearnerPkmnForgotMoveAndLearnedNew[] = _("{STR_VAR_1} forgot {STR_VAR_3}.\pAnd…\p{STR_VAR_1} learned {STR_VAR_2}.");
const u8 gUnknown_085EF9C8[] = _("{STR_VAR_1} did not learn the\nmove {STR_VAR_2}.");
-const u8 gText_GiveUpTeachingNewMove[] = _("Give up trying to teach a new\nmove to {STR_VAR_1}?");
-const u8 gText_WhichMoveToForget2[] = _("Which move should be\nforgotten?\p");
-const u8 gText_BattleMoves2[] = _("BATTLE MOVES");
-const u8 gText_ContestMoves2[] = _("CONTEST MOVES");
+const u8 gText_MoveRelearnerGiveUp[] = _("Give up trying to teach a new\nmove to {STR_VAR_1}?");
+const u8 gText_MoveRelearnerWhichMoveToForget[] = _("Which move should be\nforgotten?\p");
+const u8 gText_MoveRelearnerBattleMoves[] = _("BATTLE MOVES");
+const u8 gText_MoveRelearnerContestMovesTitle[] = _("CONTEST MOVES");
const u8 gUnknown_085EFA4C[] = _("TYPE/");
-const u8 gText_PPSlash[] = _("PP/");
-const u8 gText_PowerSlash[] = _("POWER/");
-const u8 gText_AccuracySlash[] = _("ACCURACY/");
-const u8 gText_Appeal2[] = _("APPEAL");
-const u8 gText_Jam2[] = _("JAM");
+const u8 gText_MoveRelearnerPP[] = _("PP/");
+const u8 gText_MoveRelearnerPower[] = _("POWER/");
+const u8 gText_MoveRelearnerAccuracy[] = _("ACCURACY/");
+const u8 gText_MoveRelearnerAppeal[] = _("APPEAL");
+const u8 gText_MoveRelearnerJam[] = _("JAM");
const u8 gText_Kira[] = _("KIRA");
const u8 gText_Amy[] = _("AMY");
const u8 gText_John[] = _("JOHN");
diff --git a/src/text.c b/src/text.c
index be4bf2697..43834eab4 100644
--- a/src/text.c
+++ b/src/text.c
@@ -1601,7 +1601,7 @@ u16 RenderText(struct TextPrinter *textPrinter)
textPrinter->printerTemplate.currentX = *textPrinter->printerTemplate.currentChar + textPrinter->printerTemplate.x;
textPrinter->printerTemplate.currentChar++;
return 2;
- case 19:
+ case EXT_CTRL_CODE_CLEAR_TO:
{
widthHelper = *textPrinter->printerTemplate.currentChar;
widthHelper += textPrinter->printerTemplate.x;
@@ -1615,7 +1615,7 @@ u16 RenderText(struct TextPrinter *textPrinter)
}
}
return 2;
- case 20:
+ case EXT_CTRL_CODE_MIN_LETTER_SPACING:
textPrinter->minLetterSpacing = *textPrinter->printerTemplate.currentChar++;
return 2;
case EXT_CTRL_CODE_JPN:
diff --git a/src/text_window.c b/src/text_window.c
index 517f4bdb9..98fc09e87 100644
--- a/src/text_window.c
+++ b/src/text_window.c
@@ -113,7 +113,7 @@ void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palOffset)
LoadWindowGfx(windowId, gSaveBlock2Ptr->optionsWindowFrameType, destOffset, palOffset);
}
-void sub_8098858(u8 windowId, u16 tileNum, u8 palNum)
+void DrawTextBorderOuter(u8 windowId, u16 tileNum, u8 palNum)
{
u8 bgLayer = GetWindowAttribute(windowId, WINDOW_BG);
u16 tilemapLeft = GetWindowAttribute(windowId, WINDOW_TILEMAP_LEFT);
@@ -131,7 +131,7 @@ void sub_8098858(u8 windowId, u16 tileNum, u8 palNum)
FillBgTilemapBufferRect(bgLayer, tileNum + 8, tilemapLeft + width, tilemapTop + height, 1, 1, palNum);
}
-void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum)
+void DrawTextBorderInner(u8 windowId, u16 tileNum, u8 palNum)
{
u8 bgLayer = GetWindowAttribute(windowId, WINDOW_BG);
u16 tilemapLeft = GetWindowAttribute(windowId, WINDOW_TILEMAP_LEFT);
diff --git a/src/title_screen.c b/src/title_screen.c
index ca34f90f8..b9ef53000 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -23,9 +23,7 @@
#include "constants/rgb.h"
#include "constants/songs.h"
-#define VERSION_BANNER_SHAPE 1
#define VERSION_BANNER_RIGHT_TILEOFFSET 64
-#define VERSION_BANNER_BYTES 0x1000
#define VERSION_BANNER_LEFT_X 98
#define VERSION_BANNER_RIGHT_X 162
#define VERSION_BANNER_Y 2
@@ -64,16 +62,41 @@ static const u32 sTitleScreenRayquazaTilemap[] = INCBIN_U32("graphics/title_scre
static const u32 sTitleScreenLogoShineGfx[] = INCBIN_U32("graphics/title_screen/logo_shine.4bpp.lz");
static const u32 sTitleScreenCloudsGfx[] = INCBIN_U32("graphics/title_screen/clouds.4bpp.lz");
-const u16 gIntroWaterDropData[] =
-{
- 0x0010, 0x0110, 0x0210, 0x0310, 0x0410, 0x0510, 0x0610, 0x0710,
- 0x0810, 0x0910, 0x0a10, 0x0b10, 0x0c10, 0x0d10, 0x0e10, 0x0f10,
- 0x100f, 0x100e, 0x100d, 0x100c, 0x100b, 0x100a, 0x1009, 0x1008,
- 0x1007, 0x1006, 0x1005, 0x1004, 0x1003, 0x1002, 0x1001, 0x1000,
- 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
- 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
- 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
- 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
+const u16 gIntroWaterDropAlphaBlend[] =
+{
+ BLDALPHA_BLEND(16, 0),
+ BLDALPHA_BLEND(16, 1),
+ BLDALPHA_BLEND(16, 2),
+ BLDALPHA_BLEND(16, 3),
+ BLDALPHA_BLEND(16, 4),
+ BLDALPHA_BLEND(16, 5),
+ BLDALPHA_BLEND(16, 6),
+ BLDALPHA_BLEND(16, 7),
+ BLDALPHA_BLEND(16, 8),
+ BLDALPHA_BLEND(16, 9),
+ BLDALPHA_BLEND(16, 10),
+ BLDALPHA_BLEND(16, 11),
+ BLDALPHA_BLEND(16, 12),
+ BLDALPHA_BLEND(16, 13),
+ BLDALPHA_BLEND(16, 14),
+ BLDALPHA_BLEND(16, 15),
+ BLDALPHA_BLEND(15, 16),
+ BLDALPHA_BLEND(14, 16),
+ BLDALPHA_BLEND(13, 16),
+ BLDALPHA_BLEND(12, 16),
+ BLDALPHA_BLEND(11, 16),
+ BLDALPHA_BLEND(10, 16),
+ BLDALPHA_BLEND(9, 16),
+ BLDALPHA_BLEND(8, 16),
+ BLDALPHA_BLEND(7, 16),
+ BLDALPHA_BLEND(6, 16),
+ BLDALPHA_BLEND(5, 16),
+ BLDALPHA_BLEND(4, 16),
+ BLDALPHA_BLEND(3, 16),
+ BLDALPHA_BLEND(2, 16),
+ BLDALPHA_BLEND(1, 16),
+ BLDALPHA_BLEND(0, 16),
+ [32 ... 63] = BLDALPHA_BLEND(0, 16)
};
static const struct OamData sVersionBannerLeftOamData =
@@ -83,10 +106,10 @@ static const struct OamData sVersionBannerLeftOamData =
.objMode = 0,
.mosaic = 0,
.bpp = 1,
- .shape = VERSION_BANNER_SHAPE,
+ .shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x32),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -100,10 +123,10 @@ static const struct OamData sVersionBannerRightOamData =
.objMode = 0,
.mosaic = 0,
.bpp = 1,
- .shape = VERSION_BANNER_SHAPE,
+ .shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x32),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -156,8 +179,12 @@ static const struct SpriteTemplate sVersionBannerRightSpriteTemplate =
static const struct CompressedSpriteSheet sSpriteSheet_EmeraldVersion[] =
{
- {gTitleScreenEmeraldVersionGfx, VERSION_BANNER_BYTES, 1000},
- {NULL},
+ {
+ .data = gTitleScreenEmeraldVersionGfx,
+ .size = 0x1000,
+ .tag = 1000
+ },
+ {},
};
static const struct OamData sOamData_CopyrightBanner =
@@ -167,10 +194,10 @@ static const struct OamData sOamData_CopyrightBanner =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(32x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -255,14 +282,21 @@ static const struct SpriteTemplate sStartCopyrightBannerSpriteTemplate =
static const struct CompressedSpriteSheet sSpriteSheet_PressStart[] =
{
- {gTitleScreenPressStartGfx, 0x520, 1001},
- {NULL},
+ {
+ .data = gTitleScreenPressStartGfx,
+ .size = 0x520,
+ .tag = 1001
+ },
+ {},
};
static const struct SpritePalette sSpritePalette_PressStart[] =
{
- {gTitleScreenPressStartPal, 1001},
- {NULL},
+ {
+ .data = gTitleScreenPressStartPal,
+ .tag = 1001
+ },
+ {},
};
static const struct OamData sPokemonLogoShineOamData =
@@ -272,10 +306,10 @@ static const struct OamData sPokemonLogoShineOamData =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -306,8 +340,12 @@ static const struct SpriteTemplate sPokemonLogoShineSpriteTemplate =
static const struct CompressedSpriteSheet sPokemonLogoShineSpriteSheet[] =
{
- {sTitleScreenLogoShineGfx, 0x800, 1002},
- {NULL},
+ {
+ .data = sTitleScreenLogoShineGfx,
+ .size = 0x800,
+ .tag = 1002
+ },
+ {},
};
// code
@@ -324,7 +362,7 @@ static void SpriteCB_VersionBannerLeft(struct Sprite *sprite)
sprite->pos1.y++;
if (sprite->data[0] != 0)
sprite->data[0]--;
- SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[sprite->data[0]]);
+ SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[sprite->data[0]]);
}
}
diff --git a/src/trade.c b/src/trade.c
index 9a9828f34..353ba4ce3 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -4,7 +4,7 @@
#include "battle_interface.h"
#include "bg.h"
#include "cable_club.h"
-#include "data2.h"
+#include "data.h"
#include "daycare.h"
#include "decompress.h"
#include "event_data.h"
@@ -19,6 +19,8 @@
#include "load_save.h"
#include "mail.h"
#include "main.h"
+#include "mevent2.h"
+#include "mystery_gift.h"
#include "overworld.h"
#include "palette.h"
#include "party_menu.h"
@@ -39,6 +41,7 @@
#include "text_window.h"
#include "trainer_card.h"
#include "trade.h"
+#include "union_room.h"
#include "util.h"
#include "window.h"
#include "constants/easy_chat.h"
@@ -256,72 +259,89 @@ static const u8 gText_YourOnlyPkmnForBattle[] = _("That's your only\nPOKéMON fo
static const u8 gText_WaitingForYourFriend[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…");
static const u8 gText_YourFriendWantsToTrade[] = _("Your friend wants\nto trade POKéMON.");
-static const struct OamData gOamData_832DC14 = {
- .shape = ST_OAM_H_RECTANGLE,
- .size = 2,
+static const struct OamData gOamData_832DC14 =
+{
+ .shape = SPRITE_SHAPE(32x16),
+ .size = SPRITE_SIZE(32x16),
.priority = 1
};
-static const struct OamData gOamData_832DC1C = {
- .shape = ST_OAM_H_RECTANGLE,
- .size = 3,
+static const struct OamData gOamData_832DC1C =
+{
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
.priority = 1
};
-static const union AnimCmd gSpriteAnim_832DC24[] = {
+static const union AnimCmd gSpriteAnim_832DC24[] =
+{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_832DC2C[] = {
+static const union AnimCmd gSpriteAnim_832DC2C[] =
+{
ANIMCMD_FRAME(32, 5),
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_832DC34[] = {
+static const union AnimCmd *const gSpriteAnimTable_832DC34[] =
+{
gSpriteAnim_832DC24,
gSpriteAnim_832DC2C
};
-static const struct SpriteSheet gUnknown_0832DC3C = {
- gUnknown_08DDC6E4, 0x800, 300
+static const struct SpriteSheet gUnknown_0832DC3C =
+{
+ .data = gUnknown_08DDC6E4,
+ .size = 0x800,
+ .tag = 300
};
-static const struct SpritePalette gUnknown_0832DC44 = {
- gUnknown_08DDB444, 2345
+static const struct SpritePalette gUnknown_0832DC44 =
+{
+ .data = gUnknown_08DDB444,
+ .tag = 2345
};
-static const union AnimCmd gSpriteAnim_832DC4C[] = {
+static const union AnimCmd gSpriteAnim_832DC4C[] =
+{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_832DC54[] = {
+static const union AnimCmd gSpriteAnim_832DC54[] =
+{
ANIMCMD_FRAME(8, 5),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_832DC5C[] = {
+static const union AnimCmd gSpriteAnim_832DC5C[] =
+{
ANIMCMD_FRAME(16, 5),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_832DC64[] = {
+static const union AnimCmd gSpriteAnim_832DC64[] =
+{
ANIMCMD_FRAME(24, 5),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_832DC6C[] = {
+static const union AnimCmd gSpriteAnim_832DC6C[] =
+{
ANIMCMD_FRAME(32, 5),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_832DC74[] = {
+static const union AnimCmd gSpriteAnim_832DC74[] =
+{
ANIMCMD_FRAME(40, 5),
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_832DC7C[] = {
+static const union AnimCmd *const gSpriteAnimTable_832DC7C[] =
+{
gSpriteAnim_832DC4C,
gSpriteAnim_832DC54,
gSpriteAnim_832DC5C,
@@ -355,7 +375,8 @@ static const struct SpriteTemplate gSpriteTemplate_832DCAC =
static const u16 TradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text.gbapal");
static const struct SpritePalette gSpritePalette_TradeScreenText =
{
- TradeScreenTextPalette, 4925
+ .data = TradeScreenTextPalette,
+ .tag = 4925
};
// This is used to determine the next mon to select when the D-Pad is
@@ -367,7 +388,6 @@ static const struct SpritePalette gSpritePalette_TradeScreenText =
// 2 3 8 9
// 4 5 10 11
// 12
-
static const u8 gTradeNextSelectedMonTable[][4][6] =
{
{
@@ -471,7 +491,8 @@ static const u8 gTradeMonSpriteCoords[][2] =
{23, 18} // CANCEL
};
-static const u8 gTradeLevelDisplayCoords[][6][2] = {
+static const u8 gTradeLevelDisplayCoords[][6][2] =
+{
{
// Your party
{5, 4},
@@ -492,7 +513,8 @@ static const u8 gTradeLevelDisplayCoords[][6][2] = {
}
};
-static const u8 gTradeMonBoxCoords[][6][2] = {
+static const u8 gTradeMonBoxCoords[][6][2] =
+{
{
// Your party
{1, 3},
@@ -513,7 +535,8 @@ static const u8 gTradeMonBoxCoords[][6][2] = {
}
};
-static const u8 sUnref_0832DE6E[] = {
+static const u8 sUnref_0832DE6E[] =
+{
0x00, 0x0e,
0x0f, 0x1d,
0x03, 0x05,
@@ -544,7 +567,8 @@ static const u8 *const gUnknown_0832DE94[] =
gJPText_832DB2E
};
-static const struct MenuAction gUnknown_0832DEAC[] = {
+static const struct MenuAction gUnknown_0832DEAC[] =
+{
{gText_Summary4, sub_807A000},
{gText_Trade3, sub_807A024}
};
@@ -817,12 +841,15 @@ static const u16 gUnknown_08337EA0[] = INCBIN_U16("graphics/trade/black.gbapal")
static const u32 gUnknown_08337EC0[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz");
static const u32 gUnknown_08338550[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz");
-static const struct OamData gOamData_8338C44 = {
+static const struct OamData gOamData_8338C44 =
+{
.affineMode = 1,
- .size = 1
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16)
};
-static const union AnimCmd gSpriteAnim_8338C4C[] = {
+static const union AnimCmd gSpriteAnim_8338C4C[] =
+{
ANIMCMD_FRAME( 0, 3),
ANIMCMD_FRAME( 4, 3),
ANIMCMD_FRAME( 8, 3),
@@ -840,7 +867,8 @@ static const union AnimCmd gSpriteAnim_8338C4C[] = {
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_8338C88[] = {
+static const union AnimCmd gSpriteAnim_8338C88[] =
+{
ANIMCMD_FRAME( 0, 3),
ANIMCMD_FRAME( 4, 3),
ANIMCMD_FRAME( 8, 3),
@@ -858,171 +886,213 @@ static const union AnimCmd gSpriteAnim_8338C88[] = {
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_8338C88[] = {
+static const union AnimCmd *const gSpriteAnimTable_8338C88[] =
+{
gSpriteAnim_8338C4C,
gSpriteAnim_8338C88
};
-static const union AffineAnimCmd gSpriteAffineAnim_8338CCC[] = {
+static const union AffineAnimCmd gSpriteAffineAnim_8338CCC[] =
+{
AFFINEANIMCMD_FRAME(0, 0, 0, 1),
AFFINEANIMCMD_END
};
-static const union AffineAnimCmd gSpriteAffineAnim_8338CDC[] = {
+static const union AffineAnimCmd gSpriteAffineAnim_8338CDC[] =
+{
AFFINEANIMCMD_FRAME(-8, 0, 0, 20),
AFFINEANIMCMD_END
};
-static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] = {
+static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] =
+{
AFFINEANIMCMD_FRAME(0x60, 0x100, 0, 0),
AFFINEANIMCMD_FRAME( 0, 0, 0, 5),
AFFINEANIMCMD_FRAME( 8, 0, 0, 20),
AFFINEANIMCMD_END
};
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D0C[] = {
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D0C[] =
+{
gSpriteAffineAnim_8338CCC,
gSpriteAffineAnim_8338CDC,
gSpriteAffineAnim_8338CEC
};
-static const struct SpriteSheet gUnknown_08338D18 = {
- gTradeBallTiles, 0x600, 5557
+static const struct SpriteSheet gUnknown_08338D18 =
+{
+ .data = gTradeBallTiles,
+ .size = 0x600,
+ .tag = 5557
};
-static const struct SpritePalette gUnknown_08338D20 = {
- gTradeBallPalette, 5558
+static const struct SpritePalette gUnknown_08338D20 =
+{
+ .data = gTradeBallPalette,
+ .tag = 5558
};
-static const struct SpriteTemplate gSpriteTemplate_8338D28 = {
- 5557,
- 5558,
- &gOamData_8338C44,
- gSpriteAnimTable_8338C88,
- NULL,
- gSpriteAffineAnimTable_8338D0C,
- sub_807E55C
+static const struct SpriteTemplate gSpriteTemplate_8338D28 =
+{
+ .tileTag = 5557,
+ .paletteTag = 5558,
+ .oam = &gOamData_8338C44,
+ .anims = gSpriteAnimTable_8338C88,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8338D0C,
+ .callback = sub_807E55C
};
-static const struct OamData gOamData_8338D40 = {
+static const struct OamData gOamData_8338D40 =
+{
.affineMode = 1,
.objMode = 1,
- .size = 2,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
.priority = 1
};
-static const union AnimCmd gSpriteAnim_8338D48[] = {
+static const union AnimCmd gSpriteAnim_8338D48[] =
+{
ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE),
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_8338D50[] = {
+static const union AnimCmd *const gSpriteAnimTable_8338D50[] =
+{
gSpriteAnim_8338D48
};
-static const union AffineAnimCmd gSpriteAffineAnim_8338D54[] = {
+static const union AffineAnimCmd gSpriteAffineAnim_8338D54[] =
+{
AFFINEANIMCMD_FRAME(-10, -10, 0, 5),
AFFINEANIMCMD_FRAME(10, 10, 0, 5),
AFFINEANIMCMD_JUMP(0)
};
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D6C[] = {
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D6C[] =
+{
gSpriteAffineAnim_8338D54
};
-static const struct SpriteSheet gUnknown_08338D70 = {
- gTradeGlow1Tiles, 0x200, 5550
+static const struct SpriteSheet gUnknown_08338D70 =
+{
+ .data = gTradeGlow1Tiles,
+ .size = 0x200,
+ .tag = 5550
};
-static const struct SpritePalette gUnknown_08338D78 = {
- gUnknown_08330940, 5551
+static const struct SpritePalette gUnknown_08338D78 =
+{
+ .data = gUnknown_08330940,
+ .tag = 5551
};
-static const struct SpritePalette gUnknown_08338D80 = {
- gUnknown_083308E0, 5555
+static const struct SpritePalette gUnknown_08338D80 =
+{
+ .data = gUnknown_083308E0,
+ .tag = 5555
};
-static const struct SpriteTemplate gUnknown_08338D88 = {
- 5550,
- 5551,
- &gOamData_8338D40,
- gSpriteAnimTable_8338D50,
- NULL,
- gSpriteAffineAnimTable_8338D6C,
- sub_807AA28
+static const struct SpriteTemplate gUnknown_08338D88 =
+{
+ .tileTag = 5550,
+ .paletteTag = 5551,
+ .oam = &gOamData_8338D40,
+ .anims = gSpriteAnimTable_8338D50,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8338D6C,
+ .callback = sub_807AA28
};
-static const struct OamData gOamData_8338DA0 = {
- .shape = ST_OAM_V_RECTANGLE,
- .size = 2,
+static const struct OamData gOamData_8338DA0 =
+{
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
.priority = 1
};
-static const union AnimCmd gSpriteAnim_8338DA8[] = {
+static const union AnimCmd gSpriteAnim_8338DA8[] =
+{
ANIMCMD_FRAME(0, 5, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_8338DB0[] = {
+static const union AnimCmd gSpriteAnim_8338DB0[] =
+{
ANIMCMD_FRAME(8, 5, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_8338DB8[] = {
+static const union AnimCmd *const gSpriteAnimTable_8338DB8[] =
+{
gSpriteAnim_8338DA8,
gSpriteAnim_8338DB0
};
-static const struct SpriteSheet gUnknown_08338DC0 = {
- gTradeGlow2Tiles, 0x300, 5552
+static const struct SpriteSheet gUnknown_08338DC0 =
+{
+ .data = gTradeGlow2Tiles,
+ .size = 0x300,
+ .tag = 5552
};
-static const struct SpriteTemplate gSpriteTemplate_8338DC8 = {
- 5552,
- 5551,
- &gOamData_8338DA0,
- gSpriteAnimTable_8338DB8,
- NULL,
- gDummySpriteAffineAnimTable,
- sub_807AA7C
+static const struct SpriteTemplate gSpriteTemplate_8338DC8 =
+{
+ .tileTag = 5552,
+ .paletteTag = 5551,
+ .oam = &gOamData_8338DA0,
+ .anims = gSpriteAnimTable_8338DB8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_807AA7C
};
-static const struct OamData gOamData_8338DE0 = {
- .shape = ST_OAM_V_RECTANGLE,
- .size = 2,
+static const struct OamData gOamData_8338DE0 =
+{
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
.priority = 1
};
-static const union AnimCmd gSpriteAnim_8338DE8[] = {
+static const union AnimCmd gSpriteAnim_8338DE8[] =
+{
ANIMCMD_FRAME(0, 10),
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_8338DF0[] = {
+static const union AnimCmd *const gSpriteAnimTable_8338DF0[] =
+{
gSpriteAnim_8338DE8
};
-static const struct SpriteSheet gUnknown_08338DF4 = {
- gTradeCableEndTiles, 0x100, 5554
+static const struct SpriteSheet gUnknown_08338DF4 =
+{
+ .data = gTradeCableEndTiles,
+ .size = 0x100,
+ .tag = 5554
};
-static const struct SpriteTemplate gSpriteTemplate_8338DFC = {
- 5554,
- 5555,
- &gOamData_8338DE0,
- gSpriteAnimTable_8338DF0,
- NULL,
- gDummySpriteAffineAnimTable,
- sub_807AABC
+static const struct SpriteTemplate gSpriteTemplate_8338DFC =
+{
+ .tileTag = 5554,
+ .paletteTag = 5555,
+ .oam = &gOamData_8338DE0,
+ .anims = gSpriteAnimTable_8338DF0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_807AABC
};
-static const struct OamData gOamData_8338E14 = {
- .shape = ST_OAM_H_RECTANGLE,
- .size = 3,
+static const struct OamData gOamData_8338E14 =
+{
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
.priority = 1
};
-static const union AnimCmd gSpriteAnim_8338E1C[] = {
+static const union AnimCmd gSpriteAnim_8338E1C[] =
+{
ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE),
@@ -1034,7 +1104,8 @@ static const union AnimCmd gSpriteAnim_8338E1C[] = {
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_8338E40[] = {
+static const union AnimCmd gSpriteAnim_8338E40[] =
+{
ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE),
@@ -1046,50 +1117,60 @@ static const union AnimCmd gSpriteAnim_8338E40[] = {
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_8338E64[] = {
+static const union AnimCmd *const gSpriteAnimTable_8338E64[] =
+{
gSpriteAnim_8338E1C
};
-static const union AnimCmd *const gSpriteAnimTable_8338E68[] = {
+static const union AnimCmd *const gSpriteAnimTable_8338E68[] =
+{
gSpriteAnim_8338E40
};
-static const struct SpriteSheet gUnknown_08338E6C = {
- gTradeGBAScreenTiles, 0x1000, 5556
+static const struct SpriteSheet gUnknown_08338E6C =
+{
+ .data = gTradeGBAScreenTiles,
+ .size = 0x1000,
+ .tag = 5556
};
-static const struct SpriteTemplate gSpriteTemplate_8338E74 = {
- 5556,
- 5555,
- &gOamData_8338E14,
- gSpriteAnimTable_8338E64,
- NULL,
- gDummySpriteAffineAnimTable,
- sub_807AB04
+static const struct SpriteTemplate gSpriteTemplate_8338E74 =
+{
+ .tileTag = 5556,
+ .paletteTag = 5555,
+ .oam = &gOamData_8338E14,
+ .anims = gSpriteAnimTable_8338E64,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_807AB04
};
-static const struct SpriteTemplate gSpriteTemplate_8338E8C = {
- 5556,
- 5555,
- &gOamData_8338E14,
- gSpriteAnimTable_8338E68,
- NULL,
- gDummySpriteAffineAnimTable,
- sub_807AB04
+static const struct SpriteTemplate gSpriteTemplate_8338E8C =
+{
+ .tileTag = 5556,
+ .paletteTag = 5555,
+ .oam = &gOamData_8338E14,
+ .anims = gSpriteAnimTable_8338E68,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_807AB04
};
static const u16 gUnknown_08338EA4[] = INCBIN_U16("graphics/trade/unknown_338EA4.gbapal");
-static const union AffineAnimCmd gSpriteAffineAnim_8338EBC[] = {
+static const union AffineAnimCmd gSpriteAffineAnim_8338EBC[] =
+{
AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0),
AFFINEANIMCMD_JUMP(0)
};
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[] = {
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[] =
+{
gSpriteAffineAnim_8338EBC
};
-static const struct InGameTrade gIngameTrades[] = {
+static const struct InGameTrade gIngameTrades[] =
+{
{
_("DOTS"), SPECIES_SEEDOT,
5, 4, 5, 4, 4, 4,
@@ -1131,7 +1212,8 @@ static const struct InGameTrade gIngameTrades[] = {
}
};
-static const u16 gIngameTradeMail[][10] = {
+static const u16 gIngameTradeMail[][10] =
+{
{
EC_WORD_BE,
EC_WORD_NICE,
@@ -1233,7 +1315,8 @@ static const struct BgTemplate gUnknown_08339014[] =
},
};
-static const s8 gTradeBallVerticalVelocityTable[] = {
+static const s8 gTradeBallVerticalVelocityTable[] =
+{
0, 0, 1, 0,
1, 0, 1, 1,
1, 1, 2, 2,
@@ -1301,10 +1384,6 @@ static const u8 gUnknown_08339090[][2] =
{0, 0}
};
-// external to this file
-extern const struct CompressedSpriteSheet gMonFrontPicTable[];
-extern const struct MonCoords gMonFrontPicCoords[];
-
static bool8 sub_8077170(const void *a0, u32 a1)
{
if (gUnknown_02022C2C == 29)
@@ -1931,7 +2010,7 @@ static void sub_80781C8(void)
FreeAllWindowBuffers();
Free(gUnknown_0203229C);
gMain.callback1 = NULL;
- sub_800E084();
+ DestroyWirelessStatusIndicatorSprite();
SetMainCallback2(sub_807AE50);
}
}
@@ -2460,7 +2539,7 @@ static void sub_8078DBC(void)
if (gUnknown_0203229C->tradeMenuCursorPosition < 6)
{
- sub_8098858(1, 1, 14);
+ DrawTextBorderOuter(1, 1, 14);
FillWindowPixelBuffer(1, PIXEL_FILL(1));
PrintMenuTable(1, 2, gUnknown_0832DEAC);
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(1, 2, 0);
@@ -2761,7 +2840,7 @@ static void sub_80794CC(void)
Free(gUnknown_02032184);
Free(gUnknown_0203229C);
FreeAllWindowBuffers();
- sub_800E084();
+ DestroyWirelessStatusIndicatorSprite();
SetMainCallback2(CB2_ReturnToFieldFromMultiplayer);
}
}
@@ -3258,7 +3337,7 @@ static void sub_807A19C(u8 a0)
{
FillWindowPixelBuffer(0, PIXEL_FILL(1));
AddTextPrinterParameterized(0, 1, gUnknown_0832DEBC[a0], 0, 1, TEXT_SPEED_FF, NULL);
- sub_8098858(0, 20, 12);
+ DrawTextBorderOuter(0, 20, 12);
PutWindowTilemap(0);
CopyWindowToVram(0, 3);
}
@@ -6040,7 +6119,7 @@ static void c2_080543C4(void)
FreeMonSpritesGfx();
FREE_AND_SET_NULL(gUnknown_020322A0);
if (gWirelessCommType)
- sub_800E084();
+ DestroyWirelessStatusIndicatorSprite();
SetMainCallback2(gMain.savedCallback);
}
RunTasks();
@@ -6061,7 +6140,7 @@ static void sub_807F110(u8 taskId)
if (!gPaletteFade.active)
{
SetMainCallback2(sub_807B270);
- gFieldCallback = sub_80AF168;
+ gFieldCallback = FieldCallback_ReturnToEventScript2;
DestroyTask(taskId);
}
}
diff --git a/src/trader.c b/src/trader.c
index 97bc4626f..dcf1fa076 100644
--- a/src/trader.c
+++ b/src/trader.c
@@ -142,7 +142,7 @@ void ScrSpecial_DoesPlayerHaveNoDecorations(void)
for (i = 0; i < 8; i++)
{
- if (CountDecorationCategoryN(i))
+ if (GetNumOwnedDecorationsInCategory(i))
{
gSpecialVar_Result = FALSE;
return;
@@ -157,21 +157,21 @@ void ScrSpecial_IsDecorationFull(void)
if (gDecorations[gSpecialVar_0x8004].category != gDecorations[gSpecialVar_0x8006].category
&& GetFirstEmptyDecorSlot(gDecorations[gSpecialVar_0x8004].category) == -1)
{
- sub_8127250(gStringVar2, gDecorations[gSpecialVar_0x8004].category);
+ CopyDecorationCategoryName(gStringVar2, gDecorations[gSpecialVar_0x8004].category);
gSpecialVar_Result = TRUE;
}
}
void ScrSpecial_TraderMenuGiveDecoration(void)
{
- CreateTask(sub_8127208, 0);
+ CreateTask(ShowDecorationCategoriesWindow, 0);
}
void sub_8133DA0(u8 taskId)
{
if (IsSelectedDecorInThePC() == TRUE)
{
- gSpecialVar_0x8006 = gCurDecorInventoryItems[gCurDecorationIndex];
+ gSpecialVar_0x8006 = gCurDecorationItems[gCurDecorationIndex];
StringCopy(gStringVar3, gDecorations[gSpecialVar_0x8004].name);
StringCopy(gStringVar2, gDecorations[gSpecialVar_0x8006].name);
}
@@ -183,7 +183,7 @@ void sub_8133DA0(u8 taskId)
EnableBothScriptContexts();
}
-void sub_8133E1C(u8 taskId)
+void ExitTraderMenu(u8 taskId)
{
gSpecialVar_0x8006 = 0;
DestroyTask(taskId);
diff --git a/src/trainer_hill.c b/src/trainer_hill.c
index 43b29e26e..650a748cb 100644
--- a/src/trainer_hill.c
+++ b/src/trainer_hill.c
@@ -3,6 +3,7 @@
#include "battle.h"
#include "battle_tower.h"
#include "battle_setup.h"
+#include "ereader_helpers.h"
#include "event_data.h"
#include "event_scripts.h"
#include "fieldmap.h"
@@ -32,8 +33,6 @@
#include "constants/easy_chat.h"
#include "constants/trainer_hill.h"
-extern bool32 sub_81D3B34(void);
-
#define HILL_TAG_NORMAL 0
#define HILL_TAG_VARIETY 1
#define HILL_TAG_UNIQUE 2
@@ -429,7 +428,7 @@ void CopyTrainerHillTrainerText(u8 which, u16 trainerId)
static void TrainerHillStartChallenge(void)
{
nullsub_2();
- if (!sub_81D3B34())
+ if (!ReadTrainerHillAndValidate())
gSaveBlock1Ptr->trainerHill.field_3D6E_0f = 1;
else
gSaveBlock1Ptr->trainerHill.field_3D6E_0f = 0;
diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c
index d57685423..6824e8747 100644
--- a/src/trainer_pokemon_sprites.c
+++ b/src/trainer_pokemon_sprites.c
@@ -6,21 +6,10 @@
#include "palette.h"
#include "decompress.h"
#include "trainer_pokemon_sprites.h"
-#include "data2.h"
+#include "data.h"
#include "pokemon.h"
#include "constants/trainers.h"
-extern const struct CompressedSpriteSheet gMonFrontPicTable[NUM_SPECIES];
-extern const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES];
-extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
-extern const struct CompressedSpriteSheet gTrainerBackPicTable[];
-extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
-extern const union AffineAnimCmd *const gUnknown_082FF618[];
-extern const union AffineAnimCmd *const gUnknown_082FF694[];
-extern const union AnimCmd *const gPlayerMonSpriteAnimsTable[];
-extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[NUM_SPECIES];
-extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
-
// Static type declarations
struct PicData
@@ -43,13 +32,18 @@ static EWRAM_DATA struct PicData sSpritePics[PICS_COUNT] = {};
// .rodata
static const struct PicData sDummyPicData = {};
+
static const struct OamData gUnknown_0860B064 =
{
- .size = 3
+ .shape = SPRITE_SHAPE(64x64),
+ .size = SPRITE_SIZE(64x64)
};
+
static const struct OamData gUnknown_0860B06C =
{
- .affineMode = 1, .size = 3
+ .affineMode = 1,
+ .shape = SPRITE_SHAPE(64x64),
+ .size = SPRITE_SIZE(64x64)
};
// .text
@@ -144,7 +138,7 @@ static void LoadPicPaletteBySlot(u16 species, u32 otId, u32 personality, u8 pale
static void AssignSpriteAnimsTable(bool8 isTrainer)
{
if (!isTrainer)
- sCreatingSpriteTemplate.anims = gPlayerMonSpriteAnimsTable;
+ sCreatingSpriteTemplate.anims = gUnknown_082FF70C;
else
sCreatingSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[0];
}
@@ -265,7 +259,7 @@ u16 CreatePicSprite2(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s1
images[j].size = 0x800;
}
sCreatingSpriteTemplate.tileTag = 0xFFFF;
- sCreatingSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species];
+ sCreatingSpriteTemplate.anims = gMonFrontAnimsPtrTable[species];
sCreatingSpriteTemplate.images = images;
if (flags2 == 0x01)
{
diff --git a/src/trainer_see.c b/src/trainer_see.c
index 16ea88a45..9925aa6bc 100644
--- a/src/trainer_see.c
+++ b/src/trainer_see.c
@@ -100,10 +100,10 @@ static const struct OamData sOamData_Icons =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -112,13 +112,22 @@ static const struct OamData sOamData_Icons =
static const struct SpriteFrameImage sSpriteImageTable_ExclamationQuestionMark[] =
{
- {sEmotion_ExclamationMarkGfx, 0x80},
- {sEmotion_QuestionMarkGfx, 0x80}
+ {
+ .data = sEmotion_ExclamationMarkGfx,
+ .size = 0x80
+ },
+ {
+ .data = sEmotion_QuestionMarkGfx,
+ .size = 0x80
+ }
};
static const struct SpriteFrameImage sSpriteImageTable_HeartIcon[] =
{
- {sEmotion_HeartGfx, 0x80}
+ {
+ .data = sEmotion_HeartGfx,
+ .size = 0x80
+ }
};
static const union AnimCmd sSpriteAnim_Icons1[] =
diff --git a/src/tv.c b/src/tv.c
index 17243a456..01b43f100 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -37,7 +37,7 @@
#include "decoration.h"
#include "secret_base.h"
#include "tv.h"
-#include "data2.h"
+#include "data.h"
#include "constants/layouts.h"
#include "constants/metatile_behaviors.h"
@@ -2567,7 +2567,7 @@ void sub_80EEA70(void)
show->secretBaseSecrets.active = FALSE;
StringCopy(show->secretBaseSecrets.playerName, gSaveBlock2Ptr->playerName);
show->secretBaseSecrets.stepsInBase = VarGet(VAR_SECRET_BASE_STEP_COUNTER);
- sub_80E980C();
+ CopyCurSecretBaseOwnerName_StrVar1();
StringCopy(strbuf, gStringVar1);
StripExtCtrlCodes(strbuf);
StringCopy(show->secretBaseSecrets.baseOwnersName, strbuf);
@@ -7366,7 +7366,7 @@ u8 TVShowGetFlagCount(TVShow *show)
return tot;
}
-u8 TVShowGetStateForFlagNumber(TVShow *show, u8 a1)
+static u8 SecretBaseSecrets_GetStateForFlagNumber(TVShow *show, u8 a1)
{
u8 i;
u8 tot;
@@ -7409,7 +7409,7 @@ static void DoTVShowSecretBaseSecrets(void)
{
show->secretBaseSecrets.savedState = 1;
sTVSecretBaseSecretsRandomValues[0] = Random() % bitCount;
- sTVShowState = TVShowGetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]);
+ sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]);
}
break;
case 1:
@@ -7424,11 +7424,11 @@ static void DoTVShowSecretBaseSecrets(void)
show->secretBaseSecrets.savedState = 2;
if (sTVSecretBaseSecretsRandomValues[0] == 0)
{
- sTVShowState = TVShowGetStateForFlagNumber(show, 1);
+ sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 1);
}
else
{
- sTVShowState = TVShowGetStateForFlagNumber(show, 0);
+ sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 0);
}
break;
default:
@@ -7441,7 +7441,7 @@ static void DoTVShowSecretBaseSecrets(void)
}
}
show->secretBaseSecrets.savedState = 2;
- sTVShowState = TVShowGetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]);
+ sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]);
break;
}
break;
@@ -7463,7 +7463,7 @@ static void DoTVShowSecretBaseSecrets(void)
}
}
show->secretBaseSecrets.savedState = 3;
- sTVShowState = TVShowGetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]);
+ sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]);
}
break;
case 3:
diff --git a/src/union_room.c b/src/union_room.c
new file mode 100644
index 000000000..687efbf5e
--- /dev/null
+++ b/src/union_room.c
@@ -0,0 +1,5382 @@
+#include "global.h"
+#include "window.h"
+#include "bg.h"
+#include "random.h"
+#include "string_util.h"
+#include "task.h"
+#include "event_data.h"
+#include "link.h"
+#include "link_rfu.h"
+#include "librfu.h"
+#include "alloc.h"
+#include "menu.h"
+#include "list_menu.h"
+#include "menu_helpers.h"
+#include "script.h"
+#include "sound.h"
+#include "constants/songs.h"
+#include "constants/game_stat.h"
+#include "constants/maps.h"
+#include "constants/species.h"
+#include "constants/rgb.h"
+#include "constants/battle_frontier.h"
+#include "trade.h"
+#include "trainer_card.h"
+#include "overworld.h"
+#include "battle.h"
+#include "load_save.h"
+#include "cable_club.h"
+#include "field_control_avatar.h"
+#include "party_menu.h"
+#include "field_weather.h"
+#include "palette.h"
+#include "decompress.h"
+#include "start_menu.h"
+#include "data.h"
+#include "field_screen_effect.h"
+#include "script_pokemon_util_80F87D8.h"
+#include "international_string_util.h"
+#include "field_player_avatar.h"
+#include "strings.h"
+#include "mevent.h"
+#include "dynamic_placeholder_text_util.h"
+#include "union_room.h"
+#include "easy_chat.h"
+#include "event_obj_lock.h"
+#include "union_room_chat.h"
+#include "berry_crush.h"
+#include "mystery_gift.h"
+#include "union_room_player_avatar.h"
+
+EWRAM_DATA u8 gUnknown_02022C20[12] = {};
+EWRAM_DATA u8 gUnknown_02022C2C = 0;
+EWRAM_DATA u8 gUnknown_02022C2D = 0;
+EWRAM_DATA union UnkUnion_Main gUnknown_02022C30 = {};
+EWRAM_DATA u32 gFiller_02022C34 = 0;
+EWRAM_DATA struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38 = {};
+EWRAM_DATA u16 gUnknown_02022C3C = 0;
+EWRAM_DATA u8 gUnknown_02022C3E = 0;
+EWRAM_DATA struct TradeUnkStruct gUnknown_02022C40 = {};
+
+// IWRAM vars
+IWRAM_DATA struct UnkStruct_Leader *gUnknown_03000DA0;
+IWRAM_DATA struct UnkStruct_Group *gUnknown_03000DA4;
+IWRAM_DATA struct UnkStruct_URoom *gUnknown_03000DA8;
+
+// this file's functions
+void sub_80173E0(u8 windowId, u8 arg1, const u8 *str, u8 arg3, u8 arg4, u8 arg5);
+u16 ReadAsU16(const u8 *ptr);
+void sub_8012780(u8 taskId);
+void sub_80134E8(u8 taskId);
+void sub_8013C7C(u8 taskId);
+void sub_8014A40(u8 taskId);
+void sub_8014F48(u8 taskId);
+void sub_80152F4(u8 taskId);
+void sub_80156E0(u8 taskId);
+void sub_80175EC(struct UnkStruct_Main4 *arg0, u8 count);
+void sub_8017580(struct UnkStruct_x20 *arg0, u8 count);
+u8 sub_8016FC0(struct UnkStruct_Main4 *arg0, u32 arg1);
+u8 sub_8016FF0(struct UnkStruct_Main4 *arg0, u32 arg1);
+bool8 PrintOnTextbox(u8 *textState, const u8 *str);
+bool8 sub_801320C(struct UnkStruct_Leader *data, u32 arg1, u32 arg2);
+u8 sub_8013398(struct UnkStruct_Main0 *arg0);
+s8 sub_80170B8(u8 *arg0, bool32 arg1);
+void sub_8018404(u8 *dest, struct UnkStruct_x20 *arg1);
+void sub_8012F64(struct UnkStruct_Leader *data);
+void sub_80149C4(void);
+u8 sub_80132D4(struct UnkStruct_Main0 *arg0);
+void sub_80178A0(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 id);
+u32 sub_80176E4(struct UnkStruct_x20 *arg0, struct UnkStruct_x1C *arg1);
+u8 sub_8017734(struct UnkStruct_x20 *arg0, struct UnkStruct_x1C *arg1, u8 arg2);
+u8 sub_8013E44(void);
+u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id);
+void sub_8013BD8(struct UnkStruct_Group *arg0, s32 id);
+void sub_80173D4(void);
+void sub_80177B8(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 id);
+bool32 sub_8017678(struct UnkStruct_Shared *arg0, struct UnkStruct_Shared *arg1);
+u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId);
+void sub_801807C(struct TradeUnkStruct *arg0);
+void sub_801AC54(void);
+void sub_802A9A8(u8 monId, MainCallback callback);
+void sub_802493C(u8 monId, MainCallback callback);
+void sub_80149D8(void);
+void MG_DrawTextBorder(u8 windowId);
+s8 mevent_message_print_and_prompt_yes_no(u8 *textState, u8 *arg1, u8 arg2, const u8 *str);
+bool32 sub_8016F1C(struct UnkLinkRfuStruct_02022B14 *arg0, s16 arg1);
+u8 sub_8016DF0(struct UnkStruct_Main4 *arg0, struct UnkStruct_Main4 *arg1, u32 arg2);
+void sub_8019F2C(void);
+bool32 sub_80180A0(u32 monId, struct TradeUnkStruct *arg1);
+void sub_80180E8(u32 monId, struct TradeUnkStruct *arg1);
+void sub_80181CC(void);
+bool32 sub_8017940(void);
+u8 sub_8016B00(void);
+void sub_801A274(struct UnkStruct_URoom *arg0);
+bool32 sub_8017FD8(struct UnkStruct_URoom *arg0);
+void sub_801689C(struct UnkStruct_URoom *arg0);
+u8 sub_80181DC(struct UnkStruct_URoom *arg0);
+bool32 sub_80168DC(struct UnkStruct_URoom *arg0);
+bool32 sub_801704C(void);
+s32 sub_8017CF8(s32 arg1, struct UnkStruct_Main0 *arg0);
+s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender);
+void sub_801818C(bool32 arg0);
+s32 sub_8017178(u8 *arg0, u8 *arg1, u8 *arg2, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate);
+s32 sub_80172A0(u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate, struct UnkStruct_Main0 *arg6);
+s32 sub_8017CB0(struct UnkStruct_x20 * arg, s32 arg1);
+bool32 sub_8018024(void);
+u32 sub_8017984(s32 arg0);
+void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2);
+void sub_8017D9C(u8 *dst, s32 arg1, u32 playerGender);
+u32 sub_80179AC(struct UnkStruct_x20 *arg0);
+void sub_8017E00(u8 *dst, u8 arg1);
+void sub_80173B0(void);
+s32 sub_8017D04(u32 type, u32 species);
+bool32 sub_8017020(const u8 *src);
+u8 sub_8019BA8(struct UnkStruct_8019BA8 * );
+s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3);
+void sub_801697C(u8 taskId);
+bool8 sub_8017630(struct UnkStruct_Shared* arg0, const struct UnkStruct_Shared* arg1);
+void sub_8013278(u8 windowId, s32 itemId, u8 y);
+void sub_8013DF4(u8 windowId, s32 itemId, u8 y);
+void sub_8017BE8(u8 windowId, s32 itemId, u8 y);
+void nullsub_14(u8 windowId, s32 itemId, u8 y);
+
+// const rom data
+
+ALIGNED(4) const u8 gText_EmptyString[] = _("");
+ALIGNED(4) const u8 gText_Colon[] = _(":");
+ALIGNED(4) const u8 gText_UnkCtrlCodeF907[] = _("{ID}");
+ALIGNED(4) const u8 gText_PleaseStartOver[] = _("Please start over from the beginning.");
+ALIGNED(4) const u8 gText_WirelessSearchCanceled[] = _("The WIRELESS COMMUNICATION\nSYSTEM search has been canceled.");
+ALIGNED(4) const u8 unref_text_union_room_0[] = _("Awaiting communication\nfrom another player.");
+ALIGNED(4) const u8 gText_AwaitingCommunication[] = _("{STR_VAR_1}! Awaiting\ncommunication from another player.");
+ALIGNED(4) const u8 gText_AwaitingLink[] = _("{STR_VAR_1}! Awaiting link!\nPress START when everyone's ready.");
+ALIGNED(4) const u8 gJPText_SingleBattle[] = _("シングルバトルを かいさいする");
+ALIGNED(4) const u8 gJPText_DoubleBattle[] = _("ダブルバトルを かいさいする");
+ALIGNED(4) const u8 gJPText_MultiBattle[] = _("マルチバトルを かいさいする");
+ALIGNED(4) const u8 gJPText_TradePokemon[] = _("ポケモンこうかんを かいさいする");
+ALIGNED(4) const u8 gJPText_Chat[] = _("チャットを かいさいする");
+ALIGNED(4) const u8 gJPText_DistWonderCard[] = _("ふしぎなカードをくばる");
+ALIGNED(4) const u8 gJPText_DistWonderNews[] = _("ふしぎなニュースをくばる");
+ALIGNED(4) const u8 unref_text_union_room_1[] = _("ふしぎなできごとを かいさいする");
+ALIGNED(4) const u8 gJPText_HoldPokemonJump[] = _("なわとびを かいさいする");
+ALIGNED(4) const u8 gJPText_HoldBerryCrush[] = _("きのみマッシャーを かいさいする");
+ALIGNED(4) const u8 gJPText_HoldBerryPicking[] = _("きのみどりを かいさいする");
+ALIGNED(4) const u8 gJPText_HoldSpinTrade[] = _("ぐるぐるこうかんを かいさいする");
+ALIGNED(4) const u8 gJPText_HoldSpinShop[] = _("ぐるぐるショップを かいさいする");
+
+const u8 *const unref_text_ptrs_union_room_0[] = {
+ gJPText_SingleBattle,
+ gJPText_DoubleBattle,
+ gJPText_MultiBattle,
+ gJPText_TradePokemon,
+ gJPText_Chat,
+ gJPText_DistWonderCard,
+ gJPText_DistWonderNews,
+ gJPText_DistWonderCard,
+ gJPText_HoldPokemonJump,
+ gJPText_HoldBerryCrush,
+ gJPText_HoldBerryPicking,
+ gJPText_HoldBerryPicking,
+ gJPText_HoldSpinTrade,
+ gJPText_HoldSpinShop
+};
+
+const u8 gText_1PlayerNeeded[] = _("1 player\nneeded.");
+const u8 gText_2PlayersNeeded[] = _("2 players\nneeded.");
+const u8 gText_3PlayersNeeded[] = _("3 players\nneeded.");
+const u8 gText_4PlayersNeeded[] = _("4 players\nneeded.");
+const u8 gText_2PlayerMode[] = _("2-PLAYER\nMODE");
+const u8 gText_3PlayerMode[] = _("3-PLAYER\nMODE");
+const u8 gText_4PlayerMode[] = _("4-PLAYER\nMODE");
+const u8 gText_5PlayerMode[] = _("5-PLAYER\nMODE");
+
+const u8 *const gUnknown_082EDB60[][5] = {
+ {
+ gText_1PlayerNeeded,
+ gText_2PlayerMode,
+ NULL,
+ NULL,
+ NULL
+ }, {
+ gText_3PlayersNeeded,
+ gText_2PlayersNeeded,
+ gText_1PlayerNeeded,
+ gText_4PlayerMode,
+ NULL
+ }, {
+ gText_1PlayerNeeded,
+ gText_2PlayerMode,
+ gText_3PlayerMode,
+ gText_4PlayerMode,
+ gText_5PlayerMode
+ }, {
+ gText_2PlayersNeeded,
+ gText_1PlayerNeeded,
+ gText_3PlayerMode,
+ gText_4PlayerMode,
+ gText_5PlayerMode
+ }, {
+ gText_1PlayerNeeded,
+ gText_2PlayerMode,
+ gText_3PlayerMode,
+ gText_4PlayerMode,
+ NULL
+ }
+};
+
+ALIGNED(4) const u8 gUnknown_082EDBC4[] = _("{B_BUTTON}CANCEL");
+ALIGNED(4) const u8 unref_text_union_room_2[] = _("ため\nさんかしゃ ぼしゅうちゅう です!");
+ALIGNED(4) const u8 gUnknown_082EDBE8[] = _("{STR_VAR_2} contacted you for\n{STR_VAR_1}. Accept?");
+ALIGNED(4) const u8 gUnknown_082EDC0C[] = _("{STR_VAR_2} contacted you.\nWill you share {STR_VAR_1}?");
+ALIGNED(4) const u8 gUnknown_082EDC34[] = _("{STR_VAR_2} contacted you.\nAdd to the members?");
+ALIGNED(4) const u8 gUnknown_082EDC5C[] = _("{STR_VAR_1}!\nAre these members OK?");
+ALIGNED(4) const u8 gUnknown_082EDC78[] = _("Cancel {STR_VAR_1} MODE\nwith these members?");
+ALIGNED(4) const u8 gUnknown_082EDC9C[] = _("An “OK” was sent\nto {STR_VAR_1}.");
+ALIGNED(4) const u8 gUnknown_082EDCB4[] = _("The other TRAINER doesn't appear\nto be available now…\p");
+ALIGNED(4) const u8 gUnknown_082EDCEC[] = _("You can't transmit with a TRAINER\nwho is too far away.\p");
+ALIGNED(4) const u8 gUnknown_082EDD24[] = _("The other TRAINER(S) is/are not\nready yet.\p");
+
+const u8 *const gUnknown_082EDD50[] = {
+ gUnknown_082EDCEC,
+ gUnknown_082EDD24
+};
+
+ALIGNED(4) const u8 gUnknown_082EDD58[] = _("The {STR_VAR_1} MODE with\nthese members will be canceled.{PAUSE 60}");
+ALIGNED(4) const u8 gUnknown_082EDD8C[] = _("There is a member who can no\nlonger remain available.\p");
+
+const u8 *const gUnknown_082EDDC4[] = {
+ gUnknown_082EDCB4,
+ gUnknown_082EDD8C
+};
+
+ALIGNED(4) const u8 gUnknown_082EDDCC[] = _("The other TRAINER appears\nunavailable…\p");
+ALIGNED(4) const u8 gUnknown_082EDDF4[] = _("{STR_VAR_1} sent back an “OK”!");
+ALIGNED(4) const u8 gUnknown_082EDE0C[] = _("{STR_VAR_1} OK'd your registration as\na member.");
+ALIGNED(4) const u8 gUnknown_082EDE34[] = _("{STR_VAR_1} replied, “No…”\p");
+ALIGNED(4) const u8 gUnknown_082EDE48[] = _("{STR_VAR_1}!\nAwaiting other members!");
+ALIGNED(4) const u8 gUnknown_082EDE64[] = _("Quit being a member?");
+ALIGNED(4) const u8 gUnknown_082EDE7C[] = _("You stopped being a member.\p");
+
+const u8 *const gUnknown_082EDE9C[] = {
+ NULL,
+ gUnknown_082EDD8C,
+ gUnknown_082EDDCC,
+ NULL,
+ NULL,
+ NULL,
+ gUnknown_082EDE34,
+ NULL,
+ NULL,
+ gUnknown_082EDE7C
+};
+
+ALIGNED(4) const u8 gUnknown_082EDEC4[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been established.");
+ALIGNED(4) const u8 gUnknown_082EDF04[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…");
+ALIGNED(4) const u8 gUnknown_082EDF40[] = _("The link with your friend has been\ndropped…");
+ALIGNED(4) const u8 gUnknown_082EDF6C[] = _("{STR_VAR_1} replied, “No…”");
+
+const u8 *const gUnknown_082EDF80[] = {
+ NULL,
+ gUnknown_082EDF40,
+ gUnknown_082EDF40,
+ NULL,
+ NULL,
+ NULL,
+ gUnknown_082EDF6C,
+ NULL,
+ NULL,
+ NULL
+};
+
+ALIGNED(4) const u8 gUnknown_082EDFA8[] = _("Do you want the {STR_VAR_2}\nMODE?");
+ALIGNED(4) const u8 gUnknown_082EDFC4[] = _("Do you want the {STR_VAR_2}\nMODE?");
+
+const u8 *const unref_text_ptrs_union_room_1[] = {
+ gUnknown_082EDFA8,
+ gUnknown_082EDFC4
+};
+
+ALIGNED(4) const u8 unref_text_union_room_3[] = _("Communicating…\nPlease wait.");
+ALIGNED(4) const u8 gUnknown_082EE004[] = _("Awaiting {STR_VAR_1}'s response about\nthe trade…");
+ALIGNED(4) const u8 gUnknown_082EE02C[] = _("Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.");
+ALIGNED(4) const u8 gUnknown_082EE098[] = _("Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.");
+ALIGNED(4) const u8 gUnknown_082EE104[] = _("Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.");
+
+const u8 *const gUnknown_082EE17C[] = {
+ gUnknown_082EE02C,
+ gUnknown_082EE098,
+ gUnknown_082EE104
+};
+
+ALIGNED(4) const u8 gUnknown_082EE188[] = _("Hiya! Is there something that you\nwanted to do?");
+ALIGNED(4) const u8 gUnknown_082EE1B8[] = _("Hello!\nWould you like to do something?");
+ALIGNED(4) const u8 gUnknown_082EE1E0[] = _("{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?");
+ALIGNED(4) const u8 gUnknown_082EE218[] = _("{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?");
+
+const u8 *const gUnknown_082EE24C[][2] = {
+ {
+ gUnknown_082EE188,
+ gUnknown_082EE1B8
+ }, {
+ gUnknown_082EE1E0,
+ gUnknown_082EE218
+ }
+};
+
+ALIGNED(4) const u8 gUnknown_082EE25C[] = _("Want to do something?");
+ALIGNED(4) const u8 gUnknown_082EE274[] = _("Would you like to do something?");
+ALIGNED(4) const u8 gUnknown_082EE294[] = _("{STR_VAR_1}: What would you like to\ndo now?");
+ALIGNED(4) const u8 unref_text_union_room_4[] = _("{STR_VAR_1}: Want to do anything else?");
+
+const u8 *const unref_text_ptrs_union_room_2[][2] = {
+ {
+ gUnknown_082EE25C,
+ gUnknown_082EE274
+ }, {
+ gUnknown_082EE294,
+ gUnknown_082EE294
+ }
+};
+
+ALIGNED(4) const u8 gUnknown_082EE2E8[] = _("Somebody has contacted you.{PAUSE 60}");
+ALIGNED(4) const u8 gUnknown_082EE308[] = _("{STR_VAR_1} has contacted you.{PAUSE 60}");
+
+const u8 *const gUnknown_082EE324[] = {
+ gUnknown_082EE2E8,
+ gUnknown_082EE308
+};
+
+ALIGNED(4) const u8 gUnknown_082EE32C[] = _("Awaiting a response from\nthe other TRAINER…");
+ALIGNED(4) const u8 gUnknown_082EE358[] = _("Awaiting a response from\n{STR_VAR_1}…");
+
+const u8 *const gUnknown_082EE378[] = {
+ gUnknown_082EE32C,
+ gUnknown_082EE358
+};
+
+ALIGNED(4) const u8 gUnknown_082EE380[] = _("The other TRAINER showed\nyou their TRAINER CARD.\pWould you like to show your\nTRAINER CARD?");
+ALIGNED(4) const u8 gUnknown_082EE3DC[] = _("The other TRAINER challenges you\nto battle.\pWill you accept the battle\nchallenge?");
+ALIGNED(4) const u8 gUnknown_082EE430[] = _("The other TRAINER invites you\nto chat.\pWill you accept the chat\ninvitation?");
+ALIGNED(4) const u8 gUnknown_082EE47C[] = _("There is an offer to trade your\nregistered Lv. {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}\pin exchange for a\nLv. {SPECIAL_F7 0x02} {SPECIAL_F7 0x03}.\pWill you accept this trade\noffer?");
+ALIGNED(4) const u8 gUnknown_082EE4F0[] = _("There is an offer to trade your\nregistered EGG.\lWill you accept this trade offer?");
+ALIGNED(4) const u8 gUnknown_082EE544[] = _("The chat has been dropped.\p");
+ALIGNED(4) const u8 gUnknown_082EE560[] = _("You declined the offer.\p");
+ALIGNED(4) const u8 gUnknown_082EE57C[] = _("You declined the offer.\p");
+ALIGNED(4) const u8 gUnknown_082EE598[] = _("The chat was ended.\p");
+
+const u8 *const unref_text_ptrs_union_room_3[] = {
+ gUnknown_082EE380,
+ gUnknown_082EE3DC,
+ gUnknown_082EE430,
+ gUnknown_082EE47C
+};
+
+ALIGNED(4) const u8 gUnknown_082EE5C0[] = _("Oh, hey! We're in a chat right now.\nWant to join us?");
+ALIGNED(4) const u8 gUnknown_082EE5F8[] = _("{STR_VAR_1}: Hey, {PLAYER}!\nWe're having a chat right now.\lWant to join us?");
+ALIGNED(4) const u8 gUnknown_082EE638[] = _("Oh, hi! We're having a chat now.\nWould you like to join us?");
+ALIGNED(4) const u8 gUnknown_082EE674[] = _("{STR_VAR_1}: Oh, hi, {PLAYER}!\nWe're having a chat now.\lWould you like to join us?");
+
+const u8 *const gUnknown_082EE6B8[][2] = {
+ {
+ gUnknown_082EE5C0,
+ gUnknown_082EE638
+ }, {
+ gUnknown_082EE5F8,
+ gUnknown_082EE674
+ }
+};
+
+ALIGNED(4) const u8 gUnknown_082EE6C8[] = _("……\nThe TRAINER appears to be busy…\p");
+ALIGNED(4) const u8 gUnknown_082EE6EC[] = _("A battle, huh?\nAll right, just give me some time.");
+ALIGNED(4) const u8 gUnknown_082EE720[] = _("You want to chat, huh?\nSure, just wait a little.");
+ALIGNED(4) const u8 gUnknown_082EE754[] = _("Sure thing! As my “Greetings,”\nhere's my TRAINER CARD.");
+ALIGNED(4) const u8 gUnknown_082EE78C[] = _("A battle? Of course, but I need\ntime to get ready.");
+ALIGNED(4) const u8 gUnknown_082EE7C0[] = _("Did you want to chat?\nOkay, but please wait a moment.");
+ALIGNED(4) const u8 gUnknown_082EE7F8[] = _("As my introduction, I'll show you\nmy TRAINER CARD.");
+
+const u8 *const gUnknown_082EE82C[][4] = {
+ {
+ gUnknown_082EE6EC,
+ gUnknown_082EE720,
+ NULL,
+ gUnknown_082EE754
+ }, {
+ gUnknown_082EE78C,
+ gUnknown_082EE7C0,
+ NULL,
+ gUnknown_082EE7F8
+ }
+};
+
+ALIGNED(4) const u8 unref_text_union_room_5[] = _("You want to chat, huh?\nSure, just wait a little.");
+ALIGNED(4) const u8 gUnknown_082EE880[] = _("Thanks for waiting!\nLet's get our battle started!{PAUSE 60}");
+ALIGNED(4) const u8 gUnknown_082EE8B8[] = _("All right!\nLet's chat!{PAUSE 60}");
+ALIGNED(4) const u8 gUnknown_082EE8D4[] = _("Sorry I made you wait!\nLet's get started!{PAUSE 60}");
+ALIGNED(4) const u8 gUnknown_082EE904[] = _("Sorry I made you wait!\nLet's chat.{PAUSE 60}");
+ALIGNED(4) const u8 gUnknown_082EE92C[] = _("The trade will be started.{PAUSE 60}");
+ALIGNED(4) const u8 gUnknown_082EE94C[] = _("The battle will be started.{PAUSE 60}");
+ALIGNED(4) const u8 gUnknown_082EE96C[] = _("Entering the chat…{PAUSE 60}");
+
+const u8 *const gUnknown_082EE984[][2][3] = {
+ {
+ {
+ gUnknown_082EE94C,
+ gUnknown_082EE96C,
+ gUnknown_082EE92C
+ }, {
+ gUnknown_082EE94C,
+ gUnknown_082EE96C,
+ gUnknown_082EE92C
+ }
+ }, {
+ {
+ gUnknown_082EE880,
+ gUnknown_082EE8B8,
+ gUnknown_082EE92C
+ }, {
+ gUnknown_082EE8D4,
+ gUnknown_082EE904,
+ gUnknown_082EE92C
+ }
+ }
+};
+
+ALIGNED(4) const u8 gUnknown_082EE9B4[] = _("Sorry! My POKéMON don't seem to\nbe feeling too well right now.\lLet me battle you another time.\p");
+ALIGNED(4) const u8 gUnknown_082EEA14[] = _("I'm terribly sorry, but my POKéMON\naren't feeling well…\pLet's battle another time.\p");
+
+const u8 *const gUnknown_082EEA68[] = {
+ gUnknown_082EE9B4,
+ gUnknown_082EEA14
+};
+
+ALIGNED(4) const u8 gUnknown_082EEA70[] = _("Huh? My TRAINER CARD…\nWhere'd it go now?\lSorry! I'll show you another time!\p");
+ALIGNED(4) const u8 gUnknown_082EEAC0[] = _("Oh? Now where did I put my\nTRAINER CARD?…\lSorry! I'll show you later!\p");
+
+const u8 *const gUnknown_082EEB08[] = {
+ gUnknown_082EEA70,
+ gUnknown_082EEAC0
+};
+
+ALIGNED(4) const u8 gUnknown_082EEB10[] = _("If you want to do something with\nme, just give me a shout!\p");
+ALIGNED(4) const u8 gUnknown_082EEB4C[] = _("If you want to do something with\nme, don't be shy.\p");
+
+const u8 *const gUnknown_082EEB80[] = {
+ gUnknown_082EEB10,
+ gUnknown_082EEB4C
+};
+
+ALIGNED(4) const u8 gUnknown_082EEB88[] = _("Whoops! Sorry, but I have to do\nsomething else.\lAnother time, okay?\p");
+ALIGNED(4) const u8 gUnknown_082EEBD0[] = _("If you want to battle, you need\ntwo POKéMON that are below\lLv. 30.\p");
+ALIGNED(4) const u8 gUnknown_082EEC14[] = _("For a battle, you need two\nPOKéMON that are below Lv. 30.\p");
+ALIGNED(4) const u8 gUnknown_082EEC50[] = _("Oh, all right.\nCome see me anytime, okay?\p");
+ALIGNED(4) const u8 gUnknown_082EEC7C[] = _("Oh…\nPlease come by anytime.\p");
+
+const u8 *const gUnknown_082EEC9C[] = {
+ gUnknown_082EEC50,
+ gUnknown_082EEC7C
+};
+
+ALIGNED(4) const u8 gUnknown_082EECA4[] = _("Oh, sorry!\nI just can't right this instant.\lLet's chat another time.\p");
+ALIGNED(4) const u8 gUnknown_082EECEC[] = _("Oh, I'm sorry.\nI have too much to do right now.\lLet's chat some other time.\p");
+
+const u8 *const gUnknown_082EED3C[] = {
+ gUnknown_082EECA4,
+ gUnknown_082EECEC
+};
+
+ALIGNED(4) const u8 gUnknown_082EED44[] = _("Whoa!\nI can tell you're pretty tough!\p");
+ALIGNED(4) const u8 gUnknown_082EED6C[] = _("You used that move?\nThat's good strategy!\p");
+ALIGNED(4) const u8 gUnknown_082EED98[] = _("Way to go!\nThat was an eye-opener!\p");
+ALIGNED(4) const u8 gUnknown_082EEDBC[] = _("Oh! How could you use that\nPOKéMON in that situation?\p");
+ALIGNED(4) const u8 gUnknown_082EEDF4[] = _("That POKéMON…\nIt's been raised really well!\p");
+ALIGNED(4) const u8 gUnknown_082EEE24[] = _("That's it!\nThis is the right move now!\p");
+ALIGNED(4) const u8 gUnknown_082EEE4C[] = _("That's awesome!\nYou can battle that way?\p");
+ALIGNED(4) const u8 gUnknown_082EEE78[] = _("You have exquisite timing for\nswitching POKéMON!\p");
+
+const u8 *const gUnknown_082EEEAC[][4] = {
+ {
+ gUnknown_082EED44,
+ gUnknown_082EED6C,
+ gUnknown_082EED98,
+ gUnknown_082EEDBC
+ }, {
+ gUnknown_082EEDF4,
+ gUnknown_082EEE24,
+ gUnknown_082EEE4C,
+ gUnknown_082EEE78
+ }
+};
+
+ALIGNED(4) const u8 gUnknown_082EEECC[] = _("Oh, I see!\nThis is educational!\p");
+ALIGNED(4) const u8 gUnknown_082EEEF0[] = _("Don't say anything funny anymore!\nI'm sore from laughing!\p");
+ALIGNED(4) const u8 gUnknown_082EEF2C[] = _("Oh?\nSomething like that happened.\p");
+ALIGNED(4) const u8 gUnknown_082EEF50[] = _("Hmhm… What?\nSo is this what you're saying?\p");
+ALIGNED(4) const u8 gUnknown_082EEF7C[] = _("Is that right?\nI didn't know that.\p");
+ALIGNED(4) const u8 gUnknown_082EEFA0[] = _("Ahaha!\nWhat is that about?\p");
+ALIGNED(4) const u8 gUnknown_082EEFBC[] = _("Yes, that's exactly it!\nThat's what I meant.\p");
+ALIGNED(4) const u8 gUnknown_082EEFEC[] = _("In other words…\nYes! That's right!\p");
+
+const u8 *const gUnknown_082EF010[][4] = {
+ {
+ gUnknown_082EEECC,
+ gUnknown_082EEEF0,
+ gUnknown_082EEF2C,
+ gUnknown_082EEF50
+ }, {
+ gUnknown_082EEF7C,
+ gUnknown_082EEFA0,
+ gUnknown_082EEFBC,
+ gUnknown_082EEFEC
+ }
+};
+
+ALIGNED(4) const u8 gUnknown_082EF030[] = _("I'm just showing my TRAINER CARD\nas my way of greeting.\p");
+ALIGNED(4) const u8 gUnknown_082EF06C[] = _("I hope I get to know you better!\p");
+ALIGNED(4) const u8 gUnknown_082EF090[] = _("We're showing each other our\nTRAINER CARDS to get acquainted.\p");
+ALIGNED(4) const u8 gUnknown_082EF0D0[] = _("Glad to meet you.\nPlease don't be a stranger!\p");
+
+const u8 *const gUnknown_082EF100[][2] = {
+ {
+ gUnknown_082EF030,
+ gUnknown_082EF06C
+ }, {
+ gUnknown_082EF090,
+ gUnknown_082EF0D0
+ }
+};
+
+ALIGNED(4) const u8 gUnknown_082EF110[] = _("Yeahah!\nI really wanted this POKéMON!\p");
+ALIGNED(4) const u8 gUnknown_082EF138[] = _("Finally, a trade got me that\nPOKéMON I'd wanted a long time.\p");
+ALIGNED(4) const u8 gUnknown_082EF178[] = _("I'm trading POKéMON right now.\p");
+ALIGNED(4) const u8 gUnknown_082EF198[] = _("I finally got that POKéMON I\nwanted in a trade!\p");
+
+const u8 *const gUnknown_082EF1CC[][4] = {
+ {
+ gUnknown_082EF110,
+ gUnknown_082EF138,
+ NULL,
+ NULL
+ }, {
+ gUnknown_082EF178,
+ gUnknown_082EF198,
+ NULL,
+ NULL
+ }
+};
+
+ALIGNED(4) const u8 gUnknown_082EF1EC[] = _("{STR_VAR_1} checked the\nTRADING BOARD.\p");
+ALIGNED(4) const u8 gUnknown_082EF20C[] = _("Welcome to the TRADING BOARD.\pYou may register your POKéMON\nand offer it up for a trade.\pWould you like to register one of\nyour POKéMON?");
+ALIGNED(4) const u8 gUnknown_082EF298[] = _("This TRADING BOARD is used for\noffering a POKéMON for a trade.\pAll you need to do is register a\nPOKéMON for a trade.\pAnother TRAINER may offer a party\nPOKéMON in return for the trade.\pWe hope you will register POKéMON\nand trade them with many, many\lother TRAINERS.\pWould you like to register one of\nyour POKéMON?");
+ALIGNED(4) const u8 unref_text_union_room_6[] = _("We have registered your POKéMON for\ntrade on the TRADING BOARD.\pThank you for using this service!\p");
+ALIGNED(4) const u8 unref_text_union_room_7[] = _("Nobody has registered any POKéMON\nfor trade on the TRADING BOARD.\p\n");
+ALIGNED(4) const u8 gUnknown_082EF47C[] = _("Please choose the type of POKéMON\nthat you would like in the trade.\n");
+ALIGNED(4) const u8 gUnknown_082EF4C4[] = _("Which of your party POKéMON will\nyou offer in trade?\p");
+ALIGNED(4) const u8 gUnknown_082EF4FC[] = _("Registration has been canceled.\p");
+ALIGNED(4) const u8 gUnknown_082EF520[] = _("Registration has been completed.\p");
+ALIGNED(4) const u8 gUnknown_082EF544[] = _("The trade has been canceled.\p");
+ALIGNED(4) const u8 gUnknown_082EF564[] = _("Cancel the registration of your\nLv. {STR_VAR_2} {STR_VAR_1}?");
+ALIGNED(4) const u8 gUnknown_082EF590[] = _("Cancel the registration of your\nEGG?");
+ALIGNED(4) const u8 gUnknown_082EF5B8[] = _("The registration has been canceled.\p");
+ALIGNED(4) const u8 unref_text_union_room_8[] = _("TRAINERS wishing to make a trade\nwill be listed.");
+ALIGNED(4) const u8 unref_text_union_room_9[] = _("Please choose the TRAINER with whom\nyou would like to trade POKéMON.");
+ALIGNED(4) const u8 gUnknown_082EF65C[] = _("Would you like to ask {STR_VAR_1} to\nmake a trade?");
+ALIGNED(4) const u8 unref_text_union_room_10[] = _("Awaiting a response from\nthe other TRAINER…");
+ALIGNED(4) const u8 unref_text_union_room_11[] = _("You have not registered a POKéMON\nfor trading.\p");
+ALIGNED(4) const u8 gUnknown_082EF6E4[] = _("You don't have a {STR_VAR_2}-type\nPOKéMON that {STR_VAR_1} wants.\p");
+ALIGNED(4) const u8 gUnknown_082EF718[] = _("You don't have an EGG that\n{STR_VAR_1} wants.\p");
+ALIGNED(4) const u8 gUnknown_082EF740[] = _("{STR_VAR_1} can't make a trade for\nyour POKéMON right now.\p");
+ALIGNED(4) const u8 gUnknown_082EF774[] = _("You can't make a trade for\n{STR_VAR_1}'s POKéMON right now.\p");
+
+const u8 *const unref_text_ptrs_union_room_4[] = {
+ gUnknown_082EF740,
+ gUnknown_082EF774
+};
+
+ALIGNED(4) const u8 gUnknown_082EF7B0[] = _("Your trade offer was rejected.\p");
+ALIGNED(4) const u8 gUnknown_082EF7D0[] = _("EGG TRADE");
+ALIGNED(4) const u8 gUnknown_082EF7DC[] = _("{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL");
+ALIGNED(4) const u8 gUnknown_082EF7F8[] = _("Please choose a TRAINER.");
+ALIGNED(4) const u8 gUnknown_082EF814[] = _("Please choose a TRAINER for\na SINGLE BATTLE.");
+ALIGNED(4) const u8 gUnknown_082EF844[] = _("Please choose a TRAINER for\na DOUBLE BATTLE.");
+ALIGNED(4) const u8 gUnknown_082EF874[] = _("Please choose the LEADER\nfor a MULTI BATTLE.");
+ALIGNED(4) const u8 gUnknown_082EF8A4[] = _("Please choose the TRAINER to\ntrade with.");
+ALIGNED(4) const u8 gUnknown_082EF8D0[] = _("Please choose the TRAINER who is\nsharing WONDER CARDS.");
+ALIGNED(4) const u8 gUnknown_082EF908[] = _("Please choose the TRAINER who is\nsharing WONDER NEWS.");
+ALIGNED(4) const u8 gUnknown_082EF940[] = _("Jump with mini POKéMON!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 gUnknown_082EF974[] = _("BERRY CRUSH!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 gUnknown_082EF99C[] = _("DODRIO BERRY-PICKING!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 gUnknown_082EF9CC[] = _("BERRY BLENDER!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 gUnknown_082EF9F8[] = _("RECORD CORNER!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 gUnknown_082EFA24[] = _("COOLNESS CONTEST!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 gUnknown_082EFA50[] = _("BEAUTY CONTEST!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 gUnknown_082EFA7C[] = _("CUTENESS CONTEST!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 gUnknown_082EFAA8[] = _("SMARTNESS CONTEST!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 gUnknown_082EFAD8[] = _("TOUGHNESS CONTEST!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 gUnknown_082EFB08[] = _("BATTLE TOWER LEVEL 50!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 gUnknown_082EFB3C[] = _("BATTLE TOWER OPEN LEVEL!\nPlease choose the LEADER.");
+
+const u8 *const gUnknown_082EFB70[] = {
+ gUnknown_082EF814,
+ gUnknown_082EF844,
+ gUnknown_082EF874,
+ gUnknown_082EF8A4,
+ gUnknown_082EF940,
+ gUnknown_082EF974,
+ gUnknown_082EF99C,
+ gUnknown_082EF8D0,
+ gUnknown_082EF908,
+ NULL,
+ NULL,
+ NULL,
+ gUnknown_082EF9F8,
+ gUnknown_082EF9CC,
+ NULL,
+ gUnknown_082EFA24,
+ gUnknown_082EFA50,
+ gUnknown_082EFA7C,
+ gUnknown_082EFAA8,
+ gUnknown_082EFAD8,
+ gUnknown_082EFB08,
+ gUnknown_082EFB3C
+};
+
+ALIGNED(4) const u8 gUnknown_082EFBC8[] = _("Searching for a WIRELESS\nCOMMUNICATION SYSTEM. Wait...");
+ALIGNED(4) const u8 unref_text_union_room_12[] = _("For a DOUBLE BATTLE, you must have\nat least two POKéMON.\p");
+ALIGNED(4) const u8 gUnknown_082EFC3C[] = _("Awaiting {STR_VAR_1}'s response…");
+ALIGNED(4) const u8 gUnknown_082EFC54[] = _("{STR_VAR_1} has been asked to register\nyou as a member. Please wait.");
+ALIGNED(4) const u8 gUnknown_082EFC90[] = _("Awaiting a response from the\nWIRELESS COMMUNICATION SYSTEM.");
+ALIGNED(4) const u8 unref_text_union_room_13[] = _("Please wait for other TRAINERS to\ngather and get ready.");
+ALIGNED(4) const u8 gUnknown_082EFD04[] = _("No CARDS appear to be shared \nright now.");
+ALIGNED(4) const u8 gUnknown_082EFD30[] = _("No NEWS appears to be shared\nright now.");
+
+const u8 *const gUnknown_082EFD58[] = {
+ gUnknown_082EFD04,
+ gUnknown_082EFD30
+};
+
+ALIGNED(4) const u8 gUnknown_082EFD60[] = _("BATTLE");
+ALIGNED(4) const u8 gUnknown_082EFD68[] = _("CHAT");
+ALIGNED(4) const u8 gUnknown_082EFD70[] = _("GREETINGS");
+ALIGNED(4) const u8 gUnknown_082EFD7C[] = _("EXIT");
+ALIGNED(4) const u8 gUnknown_082EFD84[] = _("EXIT");
+ALIGNED(4) const u8 gUnknown_082EFD8C[] = _("INFO");
+ALIGNED(4) const u8 gUnknown_082EFD94[] = _("NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV.");
+ALIGNED(4) const u8 gUnknown_082EFDB0[] = _("SINGLE BATTLE");
+ALIGNED(4) const u8 gUnknown_082EFDC0[] = _("DOUBLE BATTLE");
+ALIGNED(4) const u8 gUnknown_082EFDD0[] = _("MULTI BATTLE");
+ALIGNED(4) const u8 gUnknown_082EFDE0[] = _("POKéMON TRADES");
+ALIGNED(4) const u8 gUnknown_082EFDF0[] = _("CHAT");
+ALIGNED(4) const u8 gUnknown_082EFDF8[] = _("CARDS");
+ALIGNED(4) const u8 gUnknown_082EFE00[] = _("WONDER CARDS");
+ALIGNED(4) const u8 gUnknown_082EFE10[] = _("WONDER NEWS");
+ALIGNED(4) const u8 gUnknown_082EFE1C[] = _("POKéMON JUMP");
+ALIGNED(4) const u8 gUnknown_082EFE2C[] = _("BERRY CRUSH");
+ALIGNED(4) const u8 gUnknown_082EFE38[] = _("BERRY-PICKING");
+ALIGNED(4) const u8 gUnknown_082EFE48[] = _("SEARCH");
+ALIGNED(4) const u8 gUnknown_082EFE50[] = _("BERRY BLENDER");
+ALIGNED(4) const u8 gUnknown_082EFE60[] = _("RECORD CORNER");
+ALIGNED(4) const u8 gUnknown_082EFE70[] = _("COOL CONTEST");
+ALIGNED(4) const u8 gUnknown_082EFE80[] = _("BEAUTY CONTEST");
+ALIGNED(4) const u8 gUnknown_082EFE90[] = _("CUTE CONTEST");
+ALIGNED(4) const u8 gUnknown_082EFEA0[] = _("SMART CONTEST");
+ALIGNED(4) const u8 gUnknown_082EFEB0[] = _("TOUGH CONTEST");
+ALIGNED(4) const u8 gUnknown_082EFEC0[] = _("BATTLE TOWER LV. 50");
+ALIGNED(4) const u8 gUnknown_082EFED4[] = _("BATTLE TOWER OPEN LEVEL");
+ALIGNED(4) const u8 gUnknown_082EFEEC[] = _("It's a NORMAL CARD.");
+ALIGNED(4) const u8 gUnknown_082EFF00[] = _("It's a BRONZE CARD!");
+ALIGNED(4) const u8 gUnknown_082EFF14[] = _("It's a COPPER CARD!");
+ALIGNED(4) const u8 gUnknown_082EFF28[] = _("It's a SILVER CARD!");
+ALIGNED(4) const u8 gUnknown_082EFF3C[] = _("It's a GOLD CARD!");
+
+const u8 *const gUnknown_082EFF50[] = {
+ gUnknown_082EFEEC,
+ gUnknown_082EFF00,
+ gUnknown_082EFF14,
+ gUnknown_082EFF28,
+ gUnknown_082EFF3C
+};
+
+ALIGNED(4) const u8 gUnknown_082EFF64[] = _("This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p");
+ALIGNED(4) const u8 gUnknown_082EFFA4[] = _("BATTLES: WINS: {SPECIAL_F7 0x00} LOSSES: {SPECIAL_F7 0x02}\nTRADES: {SPECIAL_F7 0x03}\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p");
+ALIGNED(4) const u8 gUnknown_082EFFDC[] = _("{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}");
+ALIGNED(4) const u8 gUnknown_082EFFFC[] = _("{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}");
+
+const u8 *const gUnknown_082F0018[] = {
+ gUnknown_082EFFDC,
+ gUnknown_082EFFFC
+};
+
+ALIGNED(4) const u8 gUnknown_082F0020[] = _("Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}");
+
+const u8 *const gUnknown_082F0048[] = {
+ gText_EmptyString,
+ gUnknown_082EFDB0,
+ gUnknown_082EFDC0,
+ gUnknown_082EFDD0,
+ gUnknown_082EFDE0,
+ gUnknown_082EFDF0,
+ gUnknown_082EFE00,
+ gUnknown_082EFE10,
+ gUnknown_082EFDF8,
+ gUnknown_082EFE1C,
+ gUnknown_082EFE2C,
+ gUnknown_082EFE38,
+ gUnknown_082EFE48,
+ gText_EmptyString,
+ gUnknown_082EFED4,
+ gUnknown_082EFE60,
+ gUnknown_082EFE50,
+ gText_EmptyString,
+ gText_EmptyString,
+ gText_EmptyString,
+ gText_EmptyString,
+ gUnknown_082EFE00,
+ gUnknown_082EFE10,
+ gUnknown_082EFE70,
+ gUnknown_082EFE80,
+ gUnknown_082EFE90,
+ gUnknown_082EFEA0,
+ gUnknown_082EFEB0,
+ gUnknown_082EFEC0
+};
+
+const struct WindowTemplate gUnknown_082F00BC = {
+ .bg = 0x00,
+ .tilemapLeft = 0x00,
+ .tilemapTop = 0x00,
+ .width = 0x1E,
+ .height = 0x02,
+ .paletteNum = 0x0F,
+ .baseBlock = 0x0008
+};
+
+const u32 gUnknown_082F00C4[] = {
+ 0x0201,
+ 0x0202,
+ 0x0403,
+ 0x0204,
+ 0x2509,
+ 0x250a,
+ 0x350b,
+ 0x0000,
+ 0x0000,
+ 0x0000,
+ 0x0000,
+ 0x0000,
+ 0x240f,
+ 0x2410,
+ 0x0000,
+ 0x2417,
+ 0x2418,
+ 0x2419,
+ 0x241a,
+ 0x241b,
+ 0x021c,
+ 0x020e
+};
+
+const struct WindowTemplate gUnknown_082F011C = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x03,
+ .width = 0x0d,
+ .height = 0x08,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0044
+};
+
+const struct WindowTemplate gUnknown_082F0124 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x03,
+ .width = 0x0d,
+ .height = 0x0a,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0044
+};
+
+const struct WindowTemplate gUnknown_082F012C = {
+ .bg = 0x00,
+ .tilemapLeft = 0x10,
+ .tilemapTop = 0x03,
+ .width = 0x07,
+ .height = 0x04,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x00c6
+};
+
+const struct ListMenuItem gUnknown_082F0134[] = {
+ { gText_EmptyString, 0 },
+ { gText_EmptyString, 1 },
+ { gText_EmptyString, 2 },
+ { gText_EmptyString, 3 },
+ { gText_EmptyString, 4 }
+};
+
+const struct ListMenuTemplate gUnknown_082F015C = {
+ .items = gUnknown_082F0134,
+ .moveCursorFunc = NULL,
+ .itemPrintFunc = sub_8013278,
+ .totalItems = 5,
+ .maxShowed = 5,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 0,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 1
+};
+
+const struct WindowTemplate gUnknown_082F0174 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x03,
+ .width = 0x11,
+ .height = 0x0a,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0044
+};
+
+const struct WindowTemplate gUnknown_082F017C = {
+ .bg = 0x00,
+ .tilemapLeft = 0x14,
+ .tilemapTop = 0x03,
+ .width = 0x07,
+ .height = 0x04,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x00ee
+};
+
+const struct ListMenuItem gUnknown_082F0184[] = {
+ { gText_EmptyString, 0 },
+ { gText_EmptyString, 1 },
+ { gText_EmptyString, 2 },
+ { gText_EmptyString, 3 },
+ { gText_EmptyString, 4 },
+ { gText_EmptyString, 5 },
+ { gText_EmptyString, 6 },
+ { gText_EmptyString, 7 },
+ { gText_EmptyString, 8 },
+ { gText_EmptyString, 9 },
+ { gText_EmptyString, 10 },
+ { gText_EmptyString, 11 },
+ { gText_EmptyString, 12 },
+ { gText_EmptyString, 13 },
+ { gText_EmptyString, 14 },
+ { gText_EmptyString, 15 }
+};
+
+const struct ListMenuTemplate gUnknown_082F0204 = {
+ .items = gUnknown_082F0184,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = sub_8013DF4,
+ .totalItems = 16,
+ .maxShowed = 5,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 1,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+const struct WindowTemplate gUnknown_082F021C = {
+ .bg = 0x00,
+ .tilemapLeft = 0x14,
+ .tilemapTop = 0x05,
+ .width = 0x10,
+ .height = 0x08,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0001
+};
+
+const struct ListMenuItem gUnknown_082F0224[] = {
+ { gUnknown_082EFD70, 0x208 },
+ { gUnknown_082EFD60, 0x241 },
+ { gUnknown_082EFD68, 0x245 },
+ { gUnknown_082EFD7C, 0x040 }
+};
+
+const struct ListMenuTemplate gUnknown_082F0244 = {
+ .items = gUnknown_082F0224,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = NULL,
+ .totalItems = 4,
+ .maxShowed = 4,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+const struct WindowTemplate gUnknown_082F025C = {
+ .bg = 0x00,
+ .tilemapLeft = 0x12,
+ .tilemapTop = 0x07,
+ .width = 0x10,
+ .height = 0x06,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0001
+};
+
+const struct ListMenuItem gUnknown_082F0264[] = {
+ { gText_Register, 1 },
+ { gUnknown_082EFD8C, 2 },
+ { gUnknown_082EFD7C, 3 }
+};
+
+const struct ListMenuTemplate gUnknown_082F027C = {
+ .items = gUnknown_082F0264,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = NULL,
+ .totalItems = 3,
+ .maxShowed = 3,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+const struct WindowTemplate gUnknown_082F0294 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x14,
+ .tilemapTop = 0x01,
+ .width = 0x10,
+ .height = 0x0c,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0001
+};
+
+const struct ListMenuItem gUnknown_082F029C[] = {
+ { gTypeNames[TYPE_NORMAL], TYPE_NORMAL },
+ { gTypeNames[TYPE_FIRE], TYPE_FIRE },
+ { gTypeNames[TYPE_WATER], TYPE_WATER },
+ { gTypeNames[TYPE_ELECTRIC], TYPE_ELECTRIC },
+ { gTypeNames[TYPE_GRASS], TYPE_GRASS },
+ { gTypeNames[TYPE_ICE], TYPE_ICE },
+ { gTypeNames[TYPE_GROUND], TYPE_GROUND },
+ { gTypeNames[TYPE_ROCK], TYPE_ROCK },
+ { gTypeNames[TYPE_FLYING], TYPE_FLYING },
+ { gTypeNames[TYPE_PSYCHIC], TYPE_PSYCHIC },
+ { gTypeNames[TYPE_FIGHTING], TYPE_FIGHTING },
+ { gTypeNames[TYPE_POISON], TYPE_POISON },
+ { gTypeNames[TYPE_BUG], TYPE_BUG },
+ { gTypeNames[TYPE_GHOST], TYPE_GHOST },
+ { gTypeNames[TYPE_DRAGON], TYPE_DRAGON },
+ { gTypeNames[TYPE_STEEL], TYPE_STEEL },
+ { gTypeNames[TYPE_DARK], TYPE_DARK },
+ { gUnknown_082EFD7C, NUMBER_OF_MON_TYPES }
+};
+
+const struct ListMenuTemplate gUnknown_082F032C = {
+ .items = gUnknown_082F029C,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = NULL,
+ .totalItems = NUMBER_OF_MON_TYPES,
+ .maxShowed = 6,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+const struct WindowTemplate gUnknown_082F0344 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x01,
+ .width = 0x1c,
+ .height = 0x02,
+ .paletteNum = 0x0d,
+ .baseBlock = 0x0001
+};
+
+const struct WindowTemplate gUnknown_082F034C = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x05,
+ .width = 0x1c,
+ .height = 0x0c,
+ .paletteNum = 0x0d,
+ .baseBlock = 0x0039
+};
+
+const struct ListMenuItem gUnknown_082F0354[] = {
+ { gText_EmptyString, -3 },
+ { gText_EmptyString, 0 },
+ { gText_EmptyString, 1 },
+ { gText_EmptyString, 2 },
+ { gText_EmptyString, 3 },
+ { gText_EmptyString, 4 },
+ { gText_EmptyString, 5 },
+ { gText_EmptyString, 6 },
+ { gText_EmptyString, 7 },
+ { gUnknown_082EFD84, 8 }
+};
+
+const struct ListMenuTemplate gUnknown_082F03A4 = {
+ .items = gUnknown_082F0354,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = sub_8017BE8,
+ .totalItems = 10,
+ .maxShowed = 6,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 14,
+ .fillValue = 15,
+ .cursorShadowPal = 13,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+const struct WindowTemplate UnrefWindowTemplate_082F03B4 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x05,
+ .width = 0x1c,
+ .height = 0x0c,
+ .paletteNum = 0x0d,
+ .baseBlock = 0x0039
+};
+
+const struct ListMenuItem gUnknown_082F03C4[] = {
+ { gText_EmptyString, 0 },
+ { gText_EmptyString, 1 },
+ { gText_EmptyString, 2 },
+ { gText_EmptyString, 3 },
+ { gText_EmptyString, 4 },
+ { gText_EmptyString, 5 },
+ { gText_EmptyString, 6 },
+ { gText_EmptyString, 7 },
+ { gText_EmptyString, 8 },
+ { gText_EmptyString, 9 },
+ { gText_EmptyString, 10 },
+ { gText_EmptyString, 11 },
+ { gText_EmptyString, 12 },
+ { gText_EmptyString, 13 },
+ { gText_EmptyString, 14 },
+ { gText_EmptyString, 15 }
+};
+
+const struct ListMenuTemplate UnrefListMenuTemplate_082F0444 = {
+ .items = gUnknown_082F03C4,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = nullsub_14,
+ .totalItems = 16,
+ .maxShowed = 4,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 1,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+const struct UnkStruct_Shared gUnknown_082F045C = {0};
+
+ALIGNED(4) const u8 gUnknown_082F0474[] = {0x01, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0478[] = {0x02, 0xff};
+ALIGNED(4) const u8 gUnknown_082F047C[] = {0x03, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0480[] = {0x04, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0484[] = {0x09, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0488[] = {0x0a, 0xff};
+ALIGNED(4) const u8 gUnknown_082F048C[] = {0x0b, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0490[] = {0x15, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0494[] = {0x16, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0498[] = {0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04A4[] = {0x0c, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04A8[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15, 0x16, 0x0d, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04B4[] = {0x0f, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04B8[] = {0x10, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04BC[] = {0x17, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04C0[] = {0x18, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04C4[] = {0x19, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04C8[] = {0x1a, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04CC[] = {0x1b, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04D0[] = {0x1c, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04D4[] = {0x0e, 0xff};
+
+const u8 *const gUnknown_082F04D8[] = {
+ gUnknown_082F0474,
+ gUnknown_082F0478,
+ gUnknown_082F047C,
+ gUnknown_082F0480,
+ gUnknown_082F0484,
+ gUnknown_082F0488,
+ gUnknown_082F048C,
+ gUnknown_082F0490,
+ gUnknown_082F0494,
+ gUnknown_082F0498,
+ gUnknown_082F04A4,
+ gUnknown_082F04A8,
+ gUnknown_082F04B4,
+ gUnknown_082F04B8,
+ NULL,
+ gUnknown_082F04BC,
+ gUnknown_082F04C0,
+ gUnknown_082F04C4,
+ gUnknown_082F04C8,
+ gUnknown_082F04CC,
+ gUnknown_082F04D0,
+ gUnknown_082F04D4
+};
+
+const u8 gUnknown_082F0530[] = {
+ 0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15,
+ 0x16, 0x00, 0x00, 0x00, 0x0f, 0x10, 0x00, 0x17,
+ 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x0e, 0x00, 0x00
+};
+
+// code
+void nullsub_89(u8 taskId)
+{
+
+}
+
+void sub_80124EC(u8 windowId, u8 arg1, u8 stringId)
+{
+ FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
+ switch (arg1 << 8)
+ {
+ case 0x200:
+ sub_80173E0(windowId, 1, gUnknown_082EDB60[0][stringId - 1], 0, 1, 0);
+ break;
+ case 0x400:
+ sub_80173E0(windowId, 1, gUnknown_082EDB60[1][stringId - 1], 0, 1, 0);
+ break;
+ case 0x2500:
+ sub_80173E0(windowId, 1, gUnknown_082EDB60[2][stringId - 1], 0, 1, 0);
+ break;
+ case 0x3500:
+ sub_80173E0(windowId, 1, gUnknown_082EDB60[3][stringId - 1], 0, 1, 0);
+ break;
+ case 0x2400:
+ sub_80173E0(windowId, 1, gUnknown_082EDB60[4][stringId - 1], 0, 1, 0);
+ break;
+ }
+
+ CopyWindowToVram(windowId, 2);
+}
+
+void sub_80125BC(u8 windowId)
+{
+ u8 text[30];
+ u8 *txtPtr;
+
+ sub_80173E0(windowId, 1, gSaveBlock2Ptr->playerName, 0, 1, 0);
+ txtPtr = StringCopy(text, gText_UnkCtrlCodeF907);
+ ConvertIntToDecimalStringN(txtPtr, ReadAsU16(gSaveBlock2Ptr->playerTrainerId), STR_CONV_MODE_LEADING_ZEROS, 5);
+ sub_80173E0(windowId, 1, text, 0, 0x11, 0);
+}
+
+void sub_801262C(u8 *dst, u8 caseId)
+{
+ switch (caseId)
+ {
+ case 1 ... 4:
+ case 9 ... 11:
+ case 14 ... 16:
+ case 21 ... 28:
+ // UB: argument *dst isn't used, instead it always prints to gStringVar4
+ StringExpandPlaceholders(gStringVar4, gText_AwaitingCommunication);
+ break;
+ }
+}
+
+bool32 sub_80126CC(u32 caseId)
+{
+ switch (caseId)
+ {
+ case 9 ... 11:
+ case 15 ... 16:
+ case 23 ... 27:
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}
+
+void BerryBlenderLinkBecomeLeader(void)
+{
+ u8 taskId;
+ struct UnkStruct_Leader *dataPtr;
+
+ taskId = CreateTask(sub_8012780, 0);
+ gUnknown_02022C30.leader = dataPtr = (void*)(gTasks[taskId].data);
+ gUnknown_03000DA0 = dataPtr;
+
+ dataPtr->state = 0;
+ dataPtr->textState = 0;
+ gSpecialVar_Result = 0;
+}
+
+void sub_8012780(u8 taskId)
+{
+ u32 id, val;
+ struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
+
+ switch (data->state)
+ {
+ case 0:
+ if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN)
+ gSpecialVar_0x8004++;
+ gUnknown_02022C2C = gUnknown_082F00C4[gSpecialVar_0x8004];
+ gUnknown_02022C2D = gUnknown_082F00C4[gSpecialVar_0x8004] >> 8;
+ sub_8010F84(gUnknown_02022C2C, 0, 0);
+ sub_800B488();
+ OpenLink();
+ sub_8011C10(gUnknown_02022C2D & 0xF);
+ data->state = 3;
+ break;
+ case 3:
+ data->field_4 = AllocZeroed(0x70);
+ data->field_0 = AllocZeroed(0xA0);
+ data->field_8 = AllocZeroed(0xA0);
+ sub_80175EC(data->field_4, 4);
+ sub_8017580(data->field_0->arr, 5);
+ sub_800DF90(&data->field_0->arr[0].unk.field_0, data->field_0->arr[0].unk.playerName);
+ data->field_0->arr[0].field_18 = 0;
+ data->field_0->arr[0].field_1A_0 = 1;
+ data->field_0->arr[0].field_1A_1 = 0;
+ data->field_0->arr[0].field_1B = 0;
+ data->field_17 = sub_8016FC0(data->field_4, 0xFF);
+ data->field_10 = AddWindow(&gUnknown_082F00BC);
+ switch (gUnknown_02022C2D & 0xF)
+ {
+ case 2:
+ case 3:
+ case 4:
+ data->listWindowId = AddWindow(&gUnknown_082F011C);
+ break;
+ case 5:
+ data->listWindowId = AddWindow(&gUnknown_082F0124);
+ break;
+ }
+ data->field_11 = AddWindow(&gUnknown_082F012C);
+
+ FillWindowPixelBuffer(data->field_10, PIXEL_FILL(2));
+ sub_80173E0(data->field_10, 0, gUnknown_082EDBC4, 8, 1, 4);
+ PutWindowTilemap(data->field_10);
+ CopyWindowToVram(data->field_10, 2);
+
+ DrawStdWindowFrame(data->listWindowId, FALSE);
+ gMultiuseListMenuTemplate = gUnknown_082F015C;
+ gMultiuseListMenuTemplate.windowId = data->listWindowId;
+ data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
+
+ DrawStdWindowFrame(data->field_11, FALSE);
+ PutWindowTilemap(data->field_11);
+ CopyWindowToVram(data->field_11, 2);
+
+ CopyBgTilemapBufferToVram(0);
+ data->field_13 = 1;
+ data->state = 4;
+ break;
+ case 4:
+ StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]);
+ if ((gUnknown_02022C2D >> 4) != 0)
+ {
+ if (data->field_13 > (gUnknown_02022C2D >> 4) - 1 && (gUnknown_02022C2D & 0xF) != 0)
+ StringExpandPlaceholders(gStringVar4, gText_AwaitingLink);
+ else
+ StringExpandPlaceholders(gStringVar4, gText_AwaitingCommunication);
+ }
+ else
+ {
+ sub_801262C(gStringVar4, gUnknown_02022C2C);
+ }
+
+ sub_80124EC(data->field_11, gUnknown_02022C2D, data->field_13);
+ data->state = 5;
+ break;
+ case 5:
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ data->state = 6;
+ break;
+ case 6:
+ sub_801320C(data, 7, 10);
+ if (gMain.newKeys & B_BUTTON)
+ {
+ if (data->field_13 == 1)
+ data->state = 23;
+ else if ((gUnknown_02022C2D & 0xF0) != 0)
+ data->state = 30;
+ else
+ data->state = 19;
+ }
+ if ((gUnknown_02022C2D >> 4) != 0
+ && data->field_13 > (gUnknown_02022C2D >> 4) - 1
+ && (gUnknown_02022C2D & 0xF) != 0
+ && sub_8012240()
+ && gMain.newKeys & START_BUTTON)
+ {
+ data->state = 15;
+ sub_800EF38();
+ }
+ if (data->state == 6 && sub_80105EC())
+ {
+ data->state = 9;
+ }
+ break;
+ case 9:
+ if (!sub_80105EC())
+ {
+ data->state = 6;
+ data->field_13 = sub_8013398(data->field_0);
+ }
+ break;
+ case 10:
+ id = ((gUnknown_02022C2C & 0xF) == 2) ? 1 : 0;
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDDC4[id]))
+ {
+ data->field_13 = sub_8013398(data->field_0);
+ RedrawListMenu(data->listTaskId);
+ data->state = 4;
+ }
+ break;
+ case 29:
+ id = ((gUnknown_02022C2D & 0xF) == 2) ? 0 : 1;
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDDC4[id]))
+ {
+ data->state = 21;
+ }
+ break;
+ case 7:
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ {
+ data->state = 11;
+ }
+ break;
+ case 11:
+ switch (sub_80170B8(&data->textState, sub_801064C(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName)))
+ {
+ case 0:
+ sub_800E0E8();
+ CreateWirelessStatusIndicatorSprite(0, 0);
+ data->field_19 = 5;
+ sub_8010688(5, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
+ data->state = 12;
+ break;
+ case 1:
+ case -1:
+ data->field_19 = 6;
+ sub_8010688(6, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
+ data->state = 12;
+ break;
+ case -3:
+ data->state = 9;
+ break;
+ }
+ break;
+ case 12:
+ val = sub_8010714(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
+ if (val == 1)
+ {
+ if (data->field_19 == 5)
+ {
+ data->field_0->arr[data->field_13].field_1B = 0;
+ RedrawListMenu(data->listTaskId);
+ data->field_13++;
+ if (data->field_13 == (gUnknown_02022C2D & 0xF))
+ {
+ if ((gUnknown_02022C2D & 0xF0) != 0 || data->field_13 == 4)
+ {
+ data->state = 15;
+ }
+ else
+ {
+ sub_8018404(gStringVar1, &data->field_0->arr[data->field_13 - 1]);
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EDC9C);
+ data->state = 13;
+ }
+
+ sub_800EF38();
+ sub_80124EC(data->field_11, gUnknown_02022C2D, data->field_13);
+ }
+ else
+ {
+ data->state = 4;
+ }
+ }
+ else
+ {
+ sub_8011DC0(data->field_0->arr[data->field_13].unk.playerName, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId));
+ data->field_0->arr[data->field_13].field_1A_0 = 0;
+ sub_8013398(data->field_0);
+ RedrawListMenu(data->listTaskId);
+ data->state = 4;
+ }
+
+ data->field_19 = 0;
+ }
+ else if (val == 2)
+ {
+ sub_8011A64(0, 0);
+ data->state = 4;
+ }
+ break;
+ case 13:
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ data->state = 14;
+ break;
+ case 14:
+ if (++data->field_E > 120)
+ data->state = 17;
+ break;
+ case 15:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDC5C))
+ data->state = 16;
+ break;
+ case 16:
+ switch (sub_80170B8(&data->textState, FALSE))
+ {
+ case 0:
+ data->state = 17;
+ break;
+ case 1:
+ case -1:
+ if ((gUnknown_02022C2D & 0xF0) != 0)
+ data->state = 30;
+ else
+ data->state = 19;
+ break;
+ }
+ break;
+ case 19:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDC78))
+ data->state = 20;
+ break;
+ case 20:
+ switch (sub_80170B8(&data->textState, FALSE))
+ {
+ case 0:
+ data->state = 23;
+ break;
+ case 1:
+ case -1:
+ if ((gUnknown_02022C2D & 0xF0) != 0)
+ data->state = 15;
+ else if (data->field_13 == (gUnknown_02022C2D & 0xF))
+ data->state = 15;
+ else
+ data->state = 4;
+ break;
+ }
+ break;
+ case 17:
+ if (!sub_801320C(data, 7, 29))
+ data->state = 18;
+ break;
+ case 18:
+ if (sub_800EF1C())
+ {
+ if (sub_800EF58(FALSE))
+ {
+ data->state = 26;
+ }
+ else
+ {
+ if (++data->field_1A > 300)
+ {
+ data->state = 29;
+ data->textState = 0;
+ }
+ }
+ }
+ else
+ {
+ data->state = 29;
+ data->textState = 0;
+ }
+ break;
+ case 30:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDD58))
+ data->state = 23;
+ break;
+ case 21:
+ case 23:
+ DestroyWirelessStatusIndicatorSprite();
+ sub_800EDD4();
+ sub_8012F64(data);
+ data->state++;
+ break;
+ case 24:
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ gSpecialVar_Result = 5;
+ break;
+ case 22:
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ gSpecialVar_Result = 8;
+ break;
+ case 26:
+ if (sub_8011A80())
+ {
+ data->state = 29;
+ }
+ else
+ {
+ if (gReceivedRemoteLinkPlayers != 0)
+ {
+ if (sub_80126CC(gUnknown_02022C2C))
+ sub_801103C();
+ sub_8011068(1);
+ sub_80149C4();
+ sub_8012F64(data);
+ DestroyTask(taskId);
+ }
+ }
+ break;
+ }
+}
+
+void sub_8012F64(struct UnkStruct_Leader *data)
+{
+ ClearWindowTilemap(data->field_11);
+ ClearStdWindowAndFrame(data->field_11, FALSE);
+ DestroyListMenuTask(data->listTaskId, 0, 0);
+ ClearWindowTilemap(data->field_10);
+ ClearStdWindowAndFrame(data->listWindowId, FALSE);
+ CopyBgTilemapBufferToVram(0);
+ RemoveWindow(data->field_11);
+ RemoveWindow(data->listWindowId);
+ RemoveWindow(data->field_10);
+ DestroyTask(data->field_17);
+
+ Free(data->field_8);
+ Free(data->field_0);
+ Free(data->field_4);
+}
+
+void sub_8012FC4(u8 *dst, u8 caseId)
+{
+ switch (caseId)
+ {
+ case 1:
+ case 2:
+ case 4:
+ case 14:
+ case 28:
+ StringExpandPlaceholders(dst, gUnknown_082EDBE8);
+ break;
+ case 21:
+ case 22:
+ StringExpandPlaceholders(dst, gUnknown_082EDC0C);
+ break;
+ case 3:
+ case 9:
+ case 10:
+ case 11:
+ case 15:
+ case 16:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 27:
+ StringExpandPlaceholders(dst, gUnknown_082EDC34);
+ break;
+ }
+}
+
+void sub_8013078(u8 *dst, u8 caseId)
+{
+ switch (caseId)
+ {
+ case 65:
+ case 68:
+ StringExpandPlaceholders(dst, gUnknown_082EE560);
+ break;
+ case 69:
+ case 72:
+ StringExpandPlaceholders(dst, gUnknown_082EE57C);
+ break;
+ }
+}
+
+void sub_80130B4(u8 *dst, u8 caseId)
+{
+ switch (caseId)
+ {
+ case 1:
+ case 2:
+ case 4:
+ case 14:
+ case 21:
+ case 22:
+ case 28:
+ StringExpandPlaceholders(dst, gUnknown_082EFC3C);
+ break;
+ case 3:
+ case 9:
+ case 10:
+ case 11:
+ case 15:
+ case 16:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 27:
+ StringExpandPlaceholders(dst, gUnknown_082EFC54);
+ break;
+ }
+}
+
+void sub_8013160(u8 *dst, u8 caseId)
+{
+ switch (caseId)
+ {
+ case 1:
+ case 2:
+ case 4:
+ case 14:
+ case 21:
+ case 22:
+ case 28:
+ StringExpandPlaceholders(dst, gUnknown_082EDDF4);
+ break;
+ case 3:
+ case 9:
+ case 10:
+ case 11:
+ case 15:
+ case 16:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 27:
+ StringExpandPlaceholders(dst, gUnknown_082EDE0C);
+ break;
+ }
+}
+
+bool8 sub_801320C(struct UnkStruct_Leader *data, u32 arg1, u32 arg2)
+{
+ switch (sub_80132D4(data->field_0))
+ {
+ case 1:
+ PlaySE(SE_PC_LOGIN);
+ RedrawListMenu(data->listTaskId);
+ sub_8018404(gStringVar2, &data->field_0->arr[data->field_13]);
+ sub_8012FC4(gStringVar4, gUnknown_02022C2C);
+ data->state = arg1;
+ break;
+ case 2:
+ sub_8011A64(0, 0);
+ RedrawListMenu(data->listTaskId);
+ data->state = arg2;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+void sub_8013278(u8 arg0, s32 id, u8 arg2)
+{
+ struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
+ u8 var = 0;
+
+ switch (data->field_0->arr[id].field_1A_0)
+ {
+ case 1:
+ if (data->field_0->arr[id].field_1B != 0)
+ var = 2;
+ break;
+ case 2:
+ var = 1;
+ break;
+ }
+
+ sub_80178A0(arg0, 0, arg2, &data->field_0->arr[id], var, id);
+}
+
+u8 sub_80132D4(struct UnkStruct_Main0 *arg0)
+{
+ struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
+ u8 ret = 0;
+ u8 i;
+ s32 id;
+
+ for (i = 1; i < 5; i++)
+ {
+ u16 var = data->field_0->arr[i].field_1A_0;
+ if (var == 1)
+ {
+ id = sub_80176E4(&data->field_0->arr[i], data->field_4->arr);
+ if (id != 0xFF)
+ {
+ data->field_0->arr[i].unk = data->field_4->arr[id].unk0;
+ data->field_0->arr[i].field_18 = var;
+ }
+ else
+ {
+ data->field_0->arr[i].field_1A_0 = 2;
+ ret = 2;
+ }
+ }
+ }
+
+ for (id = 0; id < 4; id++)
+ sub_8017734(data->field_0->arr, &data->field_4->arr[id], 5);
+
+ if (ret != 2)
+ {
+ for (id = 0; id < 5; id++)
+ {
+ if (data->field_0->arr[id].field_1B != 0)
+ ret = 1;
+ }
+ }
+
+ return ret;
+}
+
+u8 sub_8013398(struct UnkStruct_Main0 *arg0)
+{
+ struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
+ u8 copiedCount;
+ s32 i;
+ u8 ret;
+
+ for (i = 0; i < 5; i++)
+ data->field_8->arr[i] = data->field_0->arr[i];
+
+ copiedCount = 0;
+ for (i = 0; i < 5; i++)
+ {
+ if (data->field_8->arr[i].field_1A_0 == 1)
+ {
+ data->field_0->arr[copiedCount] = data->field_8->arr[i];
+ copiedCount++;
+ }
+ }
+
+ ret = copiedCount;
+ for (; copiedCount < 5; copiedCount++)
+ {
+ data->field_0->arr[copiedCount].unk = gUnknown_082F045C;
+ data->field_0->arr[copiedCount].field_18 = 0;
+ data->field_0->arr[copiedCount].field_1A_0 = 0;
+ data->field_0->arr[copiedCount].field_1A_1 = 0;
+ data->field_0->arr[copiedCount].field_1B = 0;
+ }
+
+ for (i = 0; i < 5; i++)
+ {
+ if (data->field_0->arr[i].field_1A_0 != 1)
+ continue;
+ if (data->field_0->arr[i].field_1B != 0x40)
+ continue;
+
+ ret = i;
+ break;
+ }
+
+ return ret;
+}
+
+void BerryBlenderLinkJoinGroup(void)
+{
+ u8 taskId;
+ struct UnkStruct_Group *dataPtr;
+
+ taskId = CreateTask(sub_80134E8, 0);
+ gUnknown_02022C30.group = dataPtr = (void*)(gTasks[taskId].data);
+ gUnknown_03000DA4 = dataPtr;
+
+ dataPtr->state = 0;
+ dataPtr->textState = 0;
+ gSpecialVar_Result = 0;
+}
+
+void sub_80134E8(u8 taskId)
+{
+ s32 id;
+ struct UnkStruct_Group *data = gUnknown_02022C30.group;
+
+ switch (data->state)
+ {
+ case 0:
+ if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN)
+ gSpecialVar_0x8004++;
+ gUnknown_02022C2C = gUnknown_082F0530[gSpecialVar_0x8004];
+ sub_8010F84(gUnknown_02022C2C, 0, 0);
+ sub_800B488();
+ OpenLink();
+ sub_8011C5C();
+ data->field_4 = AllocZeroed(0x70);
+ data->field_0 = AllocZeroed(0x200);
+ data->state = 1;
+ break;
+ case 1:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EFB70[gSpecialVar_0x8004]))
+ data->state = 2;
+ break;
+ case 2:
+ sub_80175EC(data->field_4, 4);
+ sub_8017580(data->field_0->arr, 16);
+ data->field_11 = sub_8016FC0(data->field_4, gSpecialVar_0x8004);
+ data->field_C = AddWindow(&gUnknown_082F00BC);
+ data->listWindowId = AddWindow(&gUnknown_082F0174);
+ data->field_D = AddWindow(&gUnknown_082F017C);
+
+ FillWindowPixelBuffer(data->field_C, PIXEL_FILL(2));
+ sub_80173E0(data->field_C, 0, gUnknown_082EF7DC, 8, 1, 4);
+ PutWindowTilemap(data->field_C);
+ CopyWindowToVram(data->field_C, 2);
+
+ DrawStdWindowFrame(data->listWindowId, FALSE);
+ gMultiuseListMenuTemplate = gUnknown_082F0204;
+ gMultiuseListMenuTemplate.windowId = data->listWindowId;
+ data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
+
+ DrawStdWindowFrame(data->field_D, FALSE);
+ PutWindowTilemap(data->field_D);
+ sub_80125BC(data->field_D);
+ CopyWindowToVram(data->field_D, 2);
+
+ CopyBgTilemapBufferToVram(0);
+ data->field_F = 0;
+ data->state = 3;
+ break;
+ case 3:
+ id = sub_8013E44();
+ switch (id)
+ {
+ case 1:
+ PlaySE(SE_PC_LOGIN);
+ RedrawListMenu(data->listTaskId);
+ break;
+ case 0:
+ id = ListMenu_ProcessInput(data->listTaskId);
+ if (gMain.newKeys & A_BUTTON && id != -1)
+ {
+ // this unused variable along with the assignment is needed to match
+ u32 unusedVar;
+ unusedVar = data->field_0->arr[id].unk.field_0.unk_0a_0;
+
+ if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.field_0.unk_0a_7)
+ {
+ u32 var = sub_8013B8C(data, id);
+ if (var == 0)
+ {
+ sub_8013BD8(data, id);
+ data->state = 5;
+ PlaySE(SE_PN_ON);
+ }
+ else
+ {
+ StringCopy(gStringVar4, gUnknown_082EDD50[var - 1]);
+ data->state = 18;
+ PlaySE(SE_PN_ON);
+ }
+ }
+ else
+ {
+ PlaySE(SE_WALL_HIT);
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ data->state = 10;
+ }
+ break;
+ default:
+ RedrawListMenu(data->listTaskId);
+ break;
+ }
+ break;
+ case 5:
+ sub_80130B4(gStringVar4, gUnknown_02022C2C);
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ {
+ sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
+ data->state = 6;
+ }
+ break;
+ case 6:
+ if (gReceivedRemoteLinkPlayers != 0)
+ {
+ gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.unk_0a_0;
+ sub_8011A64(0, 0);
+ switch (gUnknown_02022C2C)
+ {
+ case 1 ... 5:
+ case 9 ... 11:
+ case 13 ... 16:
+ case 21 ... 28:
+ data->state = 20;
+ return;
+ }
+ }
+
+ switch (sub_8011A74())
+ {
+ case 1:
+ data->state = 12;
+ break;
+ case 2:
+ case 6:
+ case 9:
+ data->state = 14;
+ break;
+ case 5:
+ sub_8013160(gStringVar4, gUnknown_02022C2C);
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ {
+ if (gUnknown_02022C2C == 28 || gUnknown_02022C2C == 14)
+ {
+ sub_8011A64(12, 0);
+ }
+ else
+ {
+ sub_8011A64(7, 0);
+ StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]);
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EDE48);
+ }
+ }
+ break;
+ case 7:
+ if (data->field_15 > 0xF0)
+ {
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ {
+ sub_8011A64(12, 0);
+ data->field_15 = 0;
+ }
+ }
+ else
+ {
+ switch (gUnknown_02022C2C)
+ {
+ case 1:
+ case 2:
+ case 4:
+ case 14:
+ case 28:
+ break;
+ default:
+ data->field_15++;
+ break;
+ }
+ }
+ break;
+ }
+
+ if (!sub_8011A74() && gMain.newKeys & B_BUTTON)
+ data->state = 7;
+ break;
+ case 7:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDE64))
+ data->state = 8;
+ break;
+ case 8:
+ switch (sub_80170B8(&data->textState, sub_8011A74()))
+ {
+ case 0:
+ sub_80106D4();
+ data->state = 9;
+ RedrawListMenu(data->listTaskId);
+ break;
+ case 1:
+ case -1:
+ data->state = 5;
+ RedrawListMenu(data->listTaskId);
+ break;
+ case -3:
+ data->state = 6;
+ RedrawListMenu(data->listTaskId);
+ break;
+ }
+ break;
+ case 9:
+ if (sub_8011A74())
+ data->state = 6;
+ break;
+ case 10:
+ case 12:
+ case 14:
+ case 18:
+ case 20:
+ ClearWindowTilemap(data->field_D);
+ ClearStdWindowAndFrame(data->field_D, FALSE);
+ DestroyListMenuTask(data->listTaskId, 0, 0);
+ ClearWindowTilemap(data->field_C);
+ ClearStdWindowAndFrame(data->listWindowId, FALSE);
+ CopyBgTilemapBufferToVram(0);
+ RemoveWindow(data->field_D);
+ RemoveWindow(data->listWindowId);
+ RemoveWindow(data->field_C);
+ DestroyTask(data->field_11);
+ Free(data->field_0);
+ Free(data->field_4);
+ data->state++;
+ break;
+ case 13:
+ DestroyWirelessStatusIndicatorSprite();
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDE9C[sub_8011A74()]))
+ {
+ gSpecialVar_Result = 6;
+ data->state = 23;
+ }
+ break;
+ case 11:
+ DestroyWirelessStatusIndicatorSprite();
+ gSpecialVar_Result = 5;
+ data->state = 23;
+ break;
+ case 15:
+ DestroyWirelessStatusIndicatorSprite();
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDE9C[sub_8011A74()]))
+ {
+ gSpecialVar_Result = 8;
+ data->state = 23;
+ }
+ break;
+ case 19:
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ {
+ gSpecialVar_Result = 8;
+ data->state = 23;
+ }
+ break;
+ case 23:
+ DestroyTask(taskId);
+ sub_80173D4();
+ sub_800EDD4();
+ break;
+ case 21:
+ sub_80149C4();
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id)
+{
+ struct UnkStruct_x20 *structPtr = &arg0->field_0->arr[id];
+
+ if (gUnknown_02022C2C == 4 && structPtr->unk.field_0.unk_00.unk_01_2 != 3)
+ {
+ if (!(gSaveBlock2Ptr->specialSaveWarpFlags & 0x80))
+ return 1;
+ else if (structPtr->unk.field_0.unk_00.unk_00_7)
+ return 0;
+ }
+ else
+ {
+ return 0;
+ }
+
+ return 2;
+}
+
+void sub_8013BD8(struct UnkStruct_Group *data, s32 id)
+{
+ data->field_F = id;
+ sub_800E0E8();
+ CreateWirelessStatusIndicatorSprite(0, 0);
+ RedrawListMenu(data->listTaskId);
+ sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
+ sub_8011090(gUnknown_082F0530[gSpecialVar_0x8004], 0, 1);
+ sub_8011FC8(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.field_0.unk_00.playerTrainerId));
+}
+
+u8 sub_8013C40(void)
+{
+ u8 taskId;
+ struct UnkStruct_Group *dataPtr;
+
+ taskId = CreateTask(sub_8013C7C, 0);
+ gUnknown_02022C30.group = dataPtr = (void*)(gTasks[taskId].data);
+
+ dataPtr->state = 0;
+ dataPtr->textState = 0;
+
+ gUnknown_03000DA4 = dataPtr;
+
+ return taskId;
+}
+
+void sub_8013C7C(u8 taskId)
+{
+ struct UnkStruct_Group *data = gUnknown_02022C30.group;
+
+ switch (data->state)
+ {
+ case 0:
+ sub_8010F84(0, 0, 0);
+ sub_800B488();
+ OpenLink();
+ sub_8011C5C();
+ sub_80111B0(TRUE);
+ data->field_4 = AllocZeroed(0x70);
+ data->field_0 = AllocZeroed(0x200);
+ data->state = 2;
+ break;
+ case 2:
+ sub_80175EC(data->field_4, 4);
+ sub_8017580(data->field_0->arr, 16);
+ data->field_11 = sub_8016FC0(data->field_4, 0xFF);
+ data->field_F = 0;
+ data->state = 3;
+ break;
+ case 3:
+ if (sub_8013E44() == 1)
+ PlaySE(SE_PC_LOGIN);
+ if (gTasks[taskId].data[15] == 0xFF)
+ data->state = 10;
+ break;
+ case 10:
+ DestroyTask(data->field_11);
+ Free(data->field_0);
+ Free(data->field_4);
+ sub_800EDD4();
+ data->state++;
+ break;
+ case 11:
+ sub_800EDD4();
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+bool32 sub_8013D88(u32 arg0, u32 id)
+{
+ if (id == 0xFF)
+ return TRUE;
+
+ if (id <= ARRAY_COUNT(gUnknown_082F04D8)) // UB: <= may access data outside the array
+ {
+ const u8 *bytes = gUnknown_082F04D8[id];
+
+ while ((*(bytes) != 0xFF))
+ {
+ if ((*bytes) == arg0)
+ return TRUE;
+ bytes++;
+ }
+ }
+
+ return FALSE;
+}
+
+u8 sub_8013DBC(struct UnkStruct_Group *data, u32 id)
+{
+ if (data->field_0->arr[id].field_1A_0 == 1)
+ {
+ if (data->field_0->arr[id].unk.field_0.unk_0a_7)
+ return 3;
+ else if (data->field_0->arr[id].field_1A_1 != 0)
+ return 1;
+ else if (data->field_0->arr[id].field_1B != 0)
+ return 2;
+ }
+
+ return 0;
+}
+
+void sub_8013DF4(u8 arg0, s32 id, u8 arg2)
+{
+ struct UnkStruct_Group *data = gUnknown_02022C30.group;
+ u8 var = sub_8013DBC(data, id);
+
+ sub_80177B8(arg0, 8, arg2, &data->field_0->arr[id], var, id);
+}
+
+u8 sub_8013E44(void)
+{
+ struct UnkStruct_Group *data = gUnknown_02022C30.group;
+ u8 ret = 0;
+ u8 i;
+ s32 id;
+
+ for (i = 0; i < 16; i++)
+ {
+ if (data->field_0->arr[i].field_1A_0 != 0)
+ {
+ id = sub_80176E4(&data->field_0->arr[i], data->field_4->arr);
+ if (id != 0xFF)
+ {
+ if (data->field_0->arr[i].field_1A_0 == 1)
+ {
+ if (sub_8017678(&data->field_0->arr[i].unk, &data->field_4->arr[id].unk0))
+ {
+ data->field_0->arr[i].unk = data->field_4->arr[id].unk0;
+ data->field_0->arr[i].field_1B = 0x40;
+ ret = 1;
+ }
+ else
+ {
+ if (data->field_0->arr[i].field_1B != 0)
+ {
+ data->field_0->arr[i].field_1B--;
+ if (data->field_0->arr[i].field_1B == 0)
+ ret = 2;
+ }
+ }
+ }
+ else
+ {
+ data->field_0->arr[i].field_1A_0 = 1;
+ data->field_0->arr[i].field_1B = 0x40;
+ ret = 1;
+ }
+
+ data->field_0->arr[i].field_18 = 0;
+ }
+ else
+ {
+ if (data->field_0->arr[i].field_1A_0 != 2)
+ {
+ data->field_0->arr[i].field_18++;
+ if (data->field_0->arr[i].field_18 >= 300)
+ {
+ data->field_0->arr[i].field_1A_0 = 2;
+ ret = 2;
+ }
+ }
+ }
+ }
+ }
+
+ for (id = 0; id < 4; id++)
+ {
+ if (sub_8017734(data->field_0->arr, &data->field_4->arr[id], 16) != 0xFF)
+ ret = 1;
+ }
+
+ return ret;
+}
+
+void sub_8013F60(u8 taskId)
+{
+ sub_80773AC();
+ DestroyTask(taskId);
+}
+
+u8 sub_8013F78(void)
+{
+ u8 taskId = CreateTask(sub_8013F60, 0);
+
+ return taskId;
+}
+
+void sub_8013F90(u8 taskId)
+{
+ u32 monId = sub_8018120(&gUnknown_02022C40, GetMultiplayerId());
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ gTasks[taskId].data[0]++;
+ SendBlock(0, &gPlayerParty[monId], sizeof(struct Pokemon));
+ break;
+ case 1:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ gEnemyParty[0] = *(struct Pokemon*)(gBlockRecvBuffer[GetMultiplayerId() ^ 1]);
+ IncrementGameStat(GAME_STAT_NUM_UNION_ROOM_BATTLES);
+ ResetBlockReceivedFlags();
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 2:
+ memcpy(gBlockSendBuffer, gSaveBlock1Ptr->mail, sizeof(struct MailStruct) * PARTY_SIZE + 4);
+ if (SendBlock(0, gBlockSendBuffer, sizeof(struct MailStruct) * PARTY_SIZE + 4))
+ gTasks[taskId].data[0]++;
+ break;
+ case 3:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ memcpy(gUnknown_020321C0, gBlockRecvBuffer[GetMultiplayerId() ^ 1], sizeof(struct MailStruct) * PARTY_SIZE);
+ ResetBlockReceivedFlags();
+ gUnknown_02032298[0] = monId;
+ gUnknown_02032298[1] = 6;
+ gMain.savedCallback = CB2_ReturnToField;
+ SetMainCallback2(sub_807AE50);
+ sub_801807C(&gUnknown_02022C40);
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+void sub_80140E0(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ if (GetMultiplayerId() == 0)
+ sub_800A4D8(2);
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ if (GetBlockReceivedStatus() == sub_800A9D8())
+ {
+ s32 i;
+ u16 *recvBuff;
+
+ for (i = 0; i < GetLinkPlayerCount(); i++)
+ {
+ recvBuff = gBlockRecvBuffer[i];
+ CopyTrainerCardData(&gTrainerCards[i], recvBuff, gLinkPlayers[i].version);
+ }
+
+ if (GetLinkPlayerCount() == 2)
+ {
+ recvBuff = gBlockRecvBuffer[GetMultiplayerId() ^ 1];
+ sub_801B94C(recvBuff[48]);
+ }
+ else
+ {
+ sub_801B940();
+ }
+
+ ResetBlockReceivedFlags();
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+void sub_80141A4(void)
+{
+ switch (gMain.state)
+ {
+ case 0:
+ CreateTask(sub_80140E0, 5);
+ gMain.state++;
+ break;
+ case 1:
+ if (!FuncIsActiveTask(sub_80140E0))
+ ShowTrainerCardInLink(GetMultiplayerId() ^ 1, CB2_ReturnToField);
+ break;
+ }
+
+ RunTasks();
+ RunTextPrinters();
+ AnimateSprites();
+ BuildOamBuffer();
+}
+
+void sub_8014210(u16 battleFlags)
+{
+ HealPlayerParty();
+ SavePlayerParty();
+ LoadPlayerBag();
+ gLinkPlayers[0].linkType = 0x2211;
+ gLinkPlayers[GetMultiplayerId()].id = GetMultiplayerId();
+ gLinkPlayers[GetMultiplayerId() ^ 1].id = GetMultiplayerId() ^ 1;
+ gMain.savedCallback = sub_80B360C;
+ gBattleTypeFlags = battleFlags;
+ PlayBattleBGM();
+}
+
+void sub_8014290(u16 arg0, u16 x, u16 y)
+{
+ VarSet(VAR_CABLE_CLUB_STATE, arg0);
+ SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y);
+ SetDynamicWarpWithCoords(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y);
+ WarpIntoMap();
+}
+
+void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 arg4)
+{
+ gSpecialVar_0x8004 = arg4;
+ VarSet(VAR_CABLE_CLUB_STATE, arg4);
+ gFieldLinkPlayerCount = GetLinkPlayerCount();
+ gLocalLinkPlayerId = GetMultiplayerId();
+ SetCableClubWarp();
+ SetWarpDestination(mapGroup, mapNum, -1, x, y);
+ WarpIntoMap();
+}
+
+void sub_8014384(void)
+{
+ switch (gMain.state)
+ {
+ case 0:
+ CreateTask(sub_80140E0, 5);
+ gMain.state++;
+ break;
+ case 1:
+ if (!FuncIsActiveTask(sub_80140E0))
+ SetMainCallback2(sub_8086074);
+ break;
+ }
+
+ RunTasks();
+ RunTextPrinters();
+ AnimateSprites();
+ BuildOamBuffer();
+}
+
+void sub_80143E4(void *arg0, bool32 arg1)
+{
+ u16 *argAsU16Ptr = arg0;
+
+ TrainerCard_GenerateCardForPlayer((struct TrainerCard *)argAsU16Ptr);
+ if (arg1)
+ argAsU16Ptr[48] = GetWonderCardFlagID();
+ else
+ argAsU16Ptr[48] = 0;
+}
+
+void sub_801440C(u8 taskId)
+{
+ sub_801B940();
+ switch (gUnknown_02022C2C)
+ {
+ case 1 ... 4:
+ case 9 ... 11:
+ case 13:
+ case 15:
+ RecordMixTrainerNames();
+ break;
+ }
+
+ switch (gUnknown_02022C2C)
+ {
+ case 65:
+ case 81:
+ CleanupOverworldWindowsAndTilemaps();
+ gMain.savedCallback = sub_801AC54;
+ InitChooseHalfPartyForBattle(3);
+ break;
+ case 1:
+ CleanupOverworldWindowsAndTilemaps();
+ sub_80143E4(gBlockSendBuffer, TRUE);
+ HealPlayerParty();
+ SavePlayerParty();
+ LoadPlayerBag();
+ sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, 1);
+ SetMainCallback2(sub_8014384);
+ break;
+ case 2:
+ CleanupOverworldWindowsAndTilemaps();
+ HealPlayerParty();
+ SavePlayerParty();
+ LoadPlayerBag();
+ sub_80143E4(gBlockSendBuffer, TRUE);
+ sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, 2);
+ SetMainCallback2(sub_8014384);
+ break;
+ case 3:
+ CleanupOverworldWindowsAndTilemaps();
+ HealPlayerParty();
+ SavePlayerParty();
+ LoadPlayerBag();
+ sub_80143E4(gBlockSendBuffer, TRUE);
+ sub_8014304(MAP_GROUP(DOUBLE_BATTLE_COLOSSEUM), MAP_NUM(DOUBLE_BATTLE_COLOSSEUM), 5, 8, 5);
+ SetMainCallback2(sub_8014384);
+ break;
+ case 4:
+ sub_80143E4(gBlockSendBuffer, TRUE);
+ CleanupOverworldWindowsAndTilemaps();
+ sub_8014304(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, 3);
+ SetMainCallback2(sub_8014384);
+ break;
+ case 15:
+ sub_80143E4(gBlockSendBuffer, TRUE);
+ CleanupOverworldWindowsAndTilemaps();
+ sub_8014304(MAP_GROUP(RECORD_CORNER), MAP_NUM(RECORD_CORNER), 8, 9, 4);
+ SetMainCallback2(sub_8014384);
+ break;
+ case 68:
+ CleanupOverworldWindowsAndTilemaps();
+ CreateTask(sub_8013F90, 0);
+ break;
+ case 5:
+ case 69:
+ if (GetMultiplayerId() == 0)
+ {
+ sub_800ED10();
+ }
+ else
+ {
+ sub_800ED28();
+ sub_8010F84(69, 0, 1);
+ }
+ sub_801DD98();
+ break;
+ case 8:
+ case 72:
+ sub_80143E4(gBlockSendBuffer, FALSE);
+ SetMainCallback2(sub_80141A4);
+ break;
+ case 9:
+ sub_8014290(8, 5, 1);
+ sub_802A9A8(GetCursorSelectionMonId(), CB2_LoadMap);
+ break;
+ case 10:
+ sub_8014290(7, 9, 1);
+ sub_8020C70(CB2_LoadMap);
+ break;
+ case 11:
+ sub_8014290(8, 5, 1);
+ sub_802493C(GetCursorSelectionMonId(), CB2_LoadMap);
+ break;
+ }
+
+ DestroyTask(taskId);
+ gSpecialVar_Result = 1;
+ if (gUnknown_02022C2C != 68)
+ ScriptContext2_Disable();
+}
+
+void sub_8014790(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+ u16 *sendBuff = (u16*)(gBlockSendBuffer);
+
+ switch (data[0])
+ {
+ case 0:
+ gSpecialVar_Result = 1;
+ switch (gUnknown_02022C2C)
+ {
+ case 14:
+ case 28:
+ gLinkPlayers[0].linkType = 0x2211;
+ gLinkPlayers[0].id = 0;
+ gLinkPlayers[1].id = 2;
+ sendBuff[0] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[0] - 1], MON_DATA_SPECIES);
+ sendBuff[1] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[1] - 1], MON_DATA_SPECIES, NULL);
+ gMain.savedCallback = NULL;
+ data[0] = 4;
+ RecordMixTrainerNames();
+ ResetBlockReceivedFlags();
+ break;
+ case 16:
+ case 23 ... 27:
+ RecordMixTrainerNames();
+ DestroyTask(taskId);
+ default:
+ EnableBothScriptContexts();
+ data[0] = 1;
+ break;
+ }
+ break;
+ case 1:
+ if (!ScriptContext1_IsScriptSetUp())
+ {
+ FadeScreen(1, 0);
+ data[0] = 2;
+ }
+ break;
+ case 2:
+ if (!gPaletteFade.active)
+ {
+ if (gUnknown_02022C2C == 29)
+ {
+ DestroyTask(taskId);
+ SetMainCallback2(sub_80773AC);
+ }
+ else
+ {
+ sub_800ADF8();
+ data[0] = 3;
+ }
+ }
+ break;
+ case 3:
+ if (IsLinkTaskFinished())
+ {
+ DestroyTask(taskId);
+ sub_80149D8();
+ }
+ break;
+ case 4:
+ if (SendBlock(0, gBlockSendBuffer, 0xE))
+ data[0] = 5;
+ break;
+ case 5:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ ResetBlockReceivedFlags();
+ if (sub_80B2AF4(gBlockRecvBuffer[0], gBlockRecvBuffer[1]))
+ {
+ gSpecialVar_Result = 11;
+ data[0] = 7;
+ }
+ else
+ {
+ data[0] = 6;
+ }
+ }
+ break;
+ case 6:
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ break;
+ case 7:
+ sub_800AC34();
+ data[0] = 8;
+ break;
+ case 8:
+ if (gReceivedRemoteLinkPlayers == 0)
+ {
+ DestroyWirelessStatusIndicatorSprite();
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+void sub_80149C4(void)
+{
+ CreateTask(sub_8014790, 0);
+}
+
+void sub_80149D8(void)
+{
+ u8 taskId = CreateTask(sub_801440C, 0);
+ gTasks[taskId].data[0] = 0;
+}
+
+void MEvent_CreateTask_Leader(u32 arg0)
+{
+ u8 taskId;
+ struct UnkStruct_Leader *dataPtr;
+
+ taskId = CreateTask(sub_8014A40, 0);
+ gUnknown_02022C30.leader = dataPtr = (void*)(gTasks[taskId].data);
+
+ dataPtr->state = 0;
+ dataPtr->textState = 0;
+ dataPtr->field_18 = arg0;
+ gSpecialVar_Result = 0;
+}
+
+void sub_8014A40(u8 taskId)
+{
+ struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
+ struct WindowTemplate winTemplate;
+ s32 val;
+
+ switch (data->state)
+ {
+ case 0:
+ gUnknown_02022C2C = data->field_18;
+ gUnknown_02022C2D = 2;
+ sub_8010F84(data->field_18, 0, 0);
+ sub_8010FA0(FALSE, FALSE);
+ sub_800B488();
+ OpenLink();
+ sub_8011C10(2);
+ data->state = 1;
+ break;
+ case 1:
+ data->field_4 = AllocZeroed(0x70);
+ data->field_0 = AllocZeroed(0xA0);
+ data->field_8 = AllocZeroed(0xA0);
+ sub_80175EC(data->field_4, 4);
+ sub_8017580(data->field_0->arr, 5);
+ sub_800DF90(&data->field_0->arr[0].unk.field_0, data->field_0->arr[0].unk.playerName);
+ data->field_0->arr[0].field_18 = 0;
+ data->field_0->arr[0].field_1A_0 = 1;
+ data->field_0->arr[0].field_1A_1 = 0;
+ data->field_0->arr[0].field_1B = 0;
+ data->field_17 = sub_8016FC0(data->field_4, 0xFF);
+
+ winTemplate = gUnknown_082F011C;
+ winTemplate.baseBlock = GetMysteryGiftBaseBlock();
+ winTemplate.paletteNum = 0xC;
+ data->listWindowId = AddWindow(&winTemplate);
+ MG_DrawTextBorder(data->listWindowId);
+ gMultiuseListMenuTemplate = gUnknown_082F015C;
+ gMultiuseListMenuTemplate.windowId = data->listWindowId;
+ data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
+
+ CopyBgTilemapBufferToVram(0);
+ data->field_13 = 1;
+ data->state = 2;
+ break;
+ case 2:
+ StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]);
+ sub_801262C(gStringVar4, gUnknown_02022C2C);
+ data->state = 3;
+ break;
+ case 3:
+ AddTextPrinterToWindow1(gStringVar4);
+ data->state = 4;
+ break;
+ case 4:
+ sub_801320C(data, 5, 6);
+ if (gMain.newKeys & B_BUTTON)
+ {
+ data->state = 13;
+ DestroyWirelessStatusIndicatorSprite();
+ }
+ break;
+ case 6:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_082EDF40))
+ {
+ data->field_13 = sub_8013398(data->field_0);
+ RedrawListMenu(data->listTaskId);
+ data->state = 2;
+ }
+ break;
+ case 5:
+ data->state = 7;
+ break;
+ case 7:
+ switch (mevent_message_print_and_prompt_yes_no(&data->textState, &data->field_14, 0, gStringVar4))
+ {
+ case 0:
+ sub_800E0E8();
+ CreateWirelessStatusIndicatorSprite(0, 0);
+ data->field_0->arr[data->field_13].field_1B = 0;
+ RedrawListMenu(data->listTaskId);
+ data->field_19 = 5;
+ sub_8010688(5, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
+ data->state = 8;
+ break;
+ case 1:
+ case -1:
+ data->field_19 = 6;
+ sub_8010688(6, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
+ data->state = 8;
+ break;
+ }
+ break;
+ case 8:
+ val = sub_8010714(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
+ if (val == 1)
+ {
+ if (data->field_19 == 5)
+ {
+ data->field_0->arr[data->field_13].field_1B = 0;
+ RedrawListMenu(data->listTaskId);
+ data->field_13++;
+ sub_8018404(gStringVar1, &data->field_0->arr[data->field_13 - 1]);
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EDC9C);
+ data->state = 9;
+ sub_800EF38();
+ }
+ else
+ {
+ sub_8011DC0(data->field_0->arr[data->field_13].unk.playerName, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId));
+ data->field_0->arr[data->field_13].field_1A_0 = 0;
+ sub_8013398(data->field_0);
+ RedrawListMenu(data->listTaskId);
+ data->state = 2;
+ }
+
+ data->field_19 = 0;
+ }
+ else if (val == 2)
+ {
+ sub_8011A64(0, 0);
+ data->state = 2;
+ }
+ break;
+ case 9:
+ AddTextPrinterToWindow1(gStringVar4);
+ data->state = 10;
+ break;
+ case 10:
+ if (++data->field_E > 120)
+ data->state = 11;
+ break;
+ case 11:
+ if (!sub_801320C(data, 5, 6))
+ data->state = 12;
+ break;
+ case 12:
+ if (sub_800EF1C())
+ {
+ sub_800EF58(FALSE);
+ data->state = 15;
+ }
+ else
+ {
+ data->state = 6;
+ }
+ break;
+ case 13:
+ DestroyWirelessStatusIndicatorSprite();
+ sub_800EDD4();
+ DestroyListMenuTask(data->listTaskId, 0, 0);
+ CopyBgTilemapBufferToVram(0);
+ RemoveWindow(data->listWindowId);
+ DestroyTask(data->field_17);
+ Free(data->field_8);
+ Free(data->field_0);
+ Free(data->field_4);
+ data->state++;
+ break;
+ case 14:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_PleaseStartOver))
+ {
+ DestroyTask(taskId);
+ gSpecialVar_Result = 5;
+ }
+ break;
+ case 15:
+ if (sub_8011A74() == 1 || sub_8011A74() == 2)
+ {
+ data->state = 13;
+ }
+ else if (gReceivedRemoteLinkPlayers != 0)
+ {
+ sub_8011068(1);
+ data->state++;
+ }
+ break;
+ case 16:
+ DestroyListMenuTask(data->listTaskId, 0, 0);
+ CopyBgTilemapBufferToVram(0);
+ RemoveWindow(data->listWindowId);
+ DestroyTask(data->field_17);
+ Free(data->field_8);
+ Free(data->field_0);
+ Free(data->field_4);
+ sub_800ADF8();
+ data->state++;
+ break;
+ case 17:
+ if (IsLinkTaskFinished())
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+void MEvent_CreateTask_CardOrNewsWithFriend(u32 arg0)
+{
+ u8 taskId;
+ struct UnkStruct_Group *dataPtr;
+
+ taskId = CreateTask(sub_8014F48, 0);
+ gUnknown_02022C30.group = dataPtr = (void*)(gTasks[taskId].data);
+ gUnknown_03000DA4 = dataPtr;
+
+ dataPtr->state = 0;
+ dataPtr->textState = 0;
+ dataPtr->field_12 = arg0 - 21;
+ gSpecialVar_Result = 0;
+}
+
+void sub_8014F48(u8 taskId)
+{
+ s32 id;
+ struct WindowTemplate winTemplate1, winTemplate2;
+ struct UnkStruct_Group *data = gUnknown_02022C30.group;
+
+ switch (data->state)
+ {
+ case 0:
+ sub_8010F84(data->field_12 + 21, 0, 0);
+ sub_800B488();
+ OpenLink();
+ sub_8011C5C();
+ data->field_4 = AllocZeroed(0x70);
+ data->field_0 = AllocZeroed(0x200);
+ data->state = 1;
+ break;
+ case 1:
+ AddTextPrinterToWindow1(gUnknown_082EF7F8);
+ data->state = 2;
+ break;
+ case 2:
+ sub_80175EC(data->field_4, 4);
+ sub_8017580(data->field_0->arr, 16);
+ data->field_11 = sub_8016FC0(data->field_4, data->field_12 + 7);
+
+ winTemplate1 = gUnknown_082F0174;
+ winTemplate1.baseBlock = GetMysteryGiftBaseBlock();
+ winTemplate1.paletteNum = 0xC;
+ data->listWindowId = AddWindow(&winTemplate1);
+
+ winTemplate2 = gUnknown_082F017C;
+ winTemplate2.paletteNum = 0xC;
+ data->field_D = AddWindow(&winTemplate2);
+
+ MG_DrawTextBorder(data->listWindowId);
+ gMultiuseListMenuTemplate = gUnknown_082F0204;
+ gMultiuseListMenuTemplate.windowId = data->listWindowId;
+ data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
+
+ MG_DrawTextBorder(data->field_D);
+ FillWindowPixelBuffer(data->field_D, PIXEL_FILL(1));
+ PutWindowTilemap(data->field_D);
+ sub_80125BC(data->field_D);
+ CopyWindowToVram(data->field_D, 2);
+
+ CopyBgTilemapBufferToVram(0);
+ data->field_F = 0;
+ data->state = 3;
+ break;
+ case 3:
+ id = sub_8013E44();
+ switch (id)
+ {
+ case 1:
+ PlaySE(SE_PC_LOGIN);
+ default:
+ RedrawListMenu(data->listTaskId);
+ break;
+ case 0:
+ id = ListMenu_ProcessInput(data->listTaskId);
+ if (gMain.newKeys & A_BUTTON && id != -1)
+ {
+ // this unused variable along with the assignment is needed to match
+ u32 unusedVar;
+ unusedVar = data->field_0->arr[id].unk.field_0.unk_0a_0;
+
+ if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.field_0.unk_0a_7)
+ {
+ data->field_F = id;
+ sub_800E0E8();
+ CreateWirelessStatusIndicatorSprite(0, 0);
+ RedrawListMenu(data->listTaskId);
+ sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
+ sub_8011FC8(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.field_0.unk_00.playerTrainerId));
+ PlaySE(SE_PN_ON);
+ data->state = 4;
+ }
+ else
+ {
+ PlaySE(SE_WALL_HIT);
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ data->state = 6;
+ }
+ break;
+ }
+ break;
+ case 4:
+ AddTextPrinterToWindow1(gUnknown_082EFC3C);
+ sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
+ data->state = 5;
+ break;
+ case 5:
+ if (gReceivedRemoteLinkPlayers != 0)
+ {
+ gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.unk_0a_0;
+ data->state = 10;
+ }
+
+ switch (sub_8011A74())
+ {
+ case 1:
+ case 2:
+ case 6:
+ data->state = 8;
+ break;
+ case 5:
+ AddTextPrinterToWindow1(gUnknown_082EDDF4);
+ sub_8011A64(0, 0);
+ break;
+ }
+ break;
+ case 6:
+ case 8:
+ case 10:
+ DestroyListMenuTask(data->listTaskId, 0, 0);
+ CopyBgTilemapBufferToVram(0);
+ RemoveWindow(data->field_D);
+ RemoveWindow(data->listWindowId);
+ DestroyTask(data->field_11);
+ Free(data->field_0);
+ Free(data->field_4);
+ data->state++;
+ break;
+ case 9:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_082EDF80[sub_8011A74()]))
+ {
+ DestroyWirelessStatusIndicatorSprite();
+ DestroyTask(taskId);
+ sub_800EDD4();
+ gSpecialVar_Result = 5;
+ }
+ break;
+ case 7:
+ DestroyWirelessStatusIndicatorSprite();
+ AddTextPrinterToWindow1(gText_PleaseStartOver);
+ DestroyTask(taskId);
+ sub_800EDD4();
+ gSpecialVar_Result = 5;
+ break;
+ case 11:
+ data->state++;
+ sub_800ADF8();
+ break;
+ case 12:
+ if (IsLinkTaskFinished())
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+void MEvent_CreateTask_CardOrNewsOverWireless(u32 arg0)
+{
+ u8 taskId;
+ struct UnkStruct_Group *dataPtr;
+
+ taskId = CreateTask(sub_80152F4, 0);
+ gUnknown_02022C30.group = dataPtr = (void*)(gTasks[taskId].data);
+ gUnknown_03000DA4 = dataPtr;
+
+ dataPtr->state = 0;
+ dataPtr->textState = 0;
+ dataPtr->field_12 = arg0 - 21;
+ gSpecialVar_Result = 0;
+}
+
+void sub_80152F4(u8 taskId)
+{
+ s32 id;
+ struct WindowTemplate winTemplate;
+ struct UnkStruct_Group *data = gUnknown_02022C30.group;
+
+ switch (data->state)
+ {
+ case 0:
+ sub_8010F84(0, 0, 0);
+ sub_800B488();
+ OpenLink();
+ sub_8011C5C();
+ data->field_4 = AllocZeroed(0x70);
+ data->field_0 = AllocZeroed(0x200);
+ data->state = 1;
+ break;
+ case 1:
+ AddTextPrinterToWindow1(gUnknown_082EFBC8);
+ data->state = 2;
+ break;
+ case 2:
+ sub_80175EC(data->field_4, 4);
+ sub_8017580(data->field_0->arr, 16);
+ data->field_11 = sub_8016FF0(data->field_4, data->field_12 + 7);
+
+ if (data->field_13 != 0)
+ {
+ winTemplate = gUnknown_082F0174;
+ winTemplate.baseBlock = GetMysteryGiftBaseBlock();
+ data->listWindowId = AddWindow(&winTemplate);
+
+ MG_DrawTextBorder(data->listWindowId);
+ gMultiuseListMenuTemplate = gUnknown_082F0204;
+ gMultiuseListMenuTemplate.windowId = data->listWindowId;
+ data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
+
+ CopyBgTilemapBufferToVram(0);
+ }
+
+ data->field_F = 0;
+ data->state = 3;
+ break;
+ case 3:
+ id = sub_8013E44();
+ switch (id)
+ {
+ case 1:
+ PlaySE(SE_PC_LOGIN);
+ default:
+ if (data->field_13 != 0)
+ RedrawListMenu(data->listTaskId);
+ break;
+ case 0:
+ if (data->field_13 != 0)
+ id = ListMenu_ProcessInput(data->listTaskId);
+ if (data->field_14 > 120)
+ {
+ if (data->field_0->arr[0].field_1A_0 == 1 && !data->field_0->arr[0].unk.field_0.unk_0a_7)
+ {
+ if (sub_8016F1C(&data->field_0->arr[0].unk.field_0, data->field_12 + 7))
+ {
+ data->field_F = 0;
+ data->field_14 = 0;
+ sub_800E0E8();
+ CreateWirelessStatusIndicatorSprite(0, 0);
+ sub_8011FC8(data->field_0->arr[0].unk.playerName, ReadAsU16(data->field_0->arr[0].unk.field_0.unk_00.playerTrainerId));
+ PlaySE(SE_PN_ON);
+ data->state = 4;
+ }
+ else
+ {
+ PlaySE(SE_BOO);
+ data->state = 10;
+ }
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ data->state = 6;
+ data->field_14 = 0;
+ }
+ data->field_14++;
+ break;
+ }
+ break;
+ case 4:
+ AddTextPrinterToWindow1(gUnknown_082EFC90);
+ sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
+ data->state = 5;
+ break;
+ case 5:
+ if (gReceivedRemoteLinkPlayers != 0)
+ {
+ gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.unk_0a_0;
+ data->state = 12;
+ }
+
+ switch (sub_8011A74())
+ {
+ case 1:
+ case 2:
+ case 6:
+ data->state = 8;
+ break;
+ case 5:
+ AddTextPrinterToWindow1(gUnknown_082EDEC4);
+ sub_8011A64(0, 0);
+ break;
+ }
+ break;
+ case 6:
+ case 8:
+ case 10:
+ case 12:
+ if (data->field_13 != 0)
+ {
+ DestroyListMenuTask(data->listTaskId, 0, 0);
+ CopyBgTilemapBufferToVram(0);
+ RemoveWindow(data->listWindowId);
+ }
+ DestroyTask(data->field_11);
+ Free(data->field_0);
+ Free(data->field_4);
+ data->state++;
+ break;
+ case 9:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_082EDF04))
+ {
+ DestroyWirelessStatusIndicatorSprite();
+ DestroyTask(taskId);
+ sub_800EDD4();
+ gSpecialVar_Result = 5;
+ }
+ break;
+ case 7:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_WirelessSearchCanceled))
+ {
+ DestroyWirelessStatusIndicatorSprite();
+ DestroyTask(taskId);
+ sub_800EDD4();
+ gSpecialVar_Result = 5;
+ }
+ break;
+ case 11:
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_082EFD58[data->field_12]))
+ {
+ DestroyWirelessStatusIndicatorSprite();
+ DestroyTask(taskId);
+ sub_800EDD4();
+ gSpecialVar_Result = 5;
+ }
+ break;
+ case 13:
+ data->state++;
+ sub_800ADF8();
+ break;
+ case 14:
+ if (IsLinkTaskFinished())
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+void UnionRoomSpecial(void)
+{
+ struct UnkStruct_URoom *dataPtr;
+
+ sub_8010F60();
+ CreateTask(sub_80156E0, 10);
+
+ // dumb line needed to match
+ gUnknown_02022C30.uRoom = gUnknown_02022C30.uRoom;
+
+ dataPtr = AllocZeroed(sizeof(*gUnknown_02022C30.uRoom));
+ gUnknown_02022C30.uRoom = dataPtr;
+ gUnknown_03000DA8 = dataPtr;
+
+ dataPtr->state = 0;
+ dataPtr->textState = 0;
+ dataPtr->field_10 = 0;
+ dataPtr->field_12 = 0;
+
+ gSpecialVar_Result = 0;
+ sub_819A2BC(0xD0, 1);
+}
+
+u16 ReadAsU16(const u8 *ptr)
+{
+ return (ptr[1] << 8) | (ptr[0]);
+}
+
+void sub_8015664(u32 nextState, const u8 *src)
+{
+ struct UnkStruct_URoom *data = gUnknown_02022C30.uRoom;
+
+ data->state = 8;
+ data->stateAfterPrint = nextState;
+ if (src != gStringVar4)
+ StringExpandPlaceholders(gStringVar4, src);
+}
+
+void sub_801568C(const u8 *src)
+{
+ struct UnkStruct_URoom *data = gUnknown_02022C30.uRoom;
+
+ data->state = 26;
+ if (src != gStringVar4)
+ StringExpandPlaceholders(gStringVar4, src);
+}
+
+void sub_80156B0(struct UnkStruct_URoom *data)
+{
+ memcpy(&gDecompressionBuffer[0x3F00], data->field_0, 0x100);
+}
+
+void sub_80156C8(struct UnkStruct_URoom *data)
+{
+ memcpy(data->field_0, &gDecompressionBuffer[0x3F00], 0x100);
+}
+
+void sub_80156E0(u8 taskId)
+{
+ u32 id = 0;
+ s32 var5 = 0;
+ s32 playerGender = 0;
+ struct UnkStruct_URoom *data = gUnknown_02022C30.uRoom;
+ s16 *taskData = gTasks[taskId].data;
+
+ switch (data->state)
+ {
+ case 0:
+ data->field_4 = AllocZeroed(0x70);
+ data->field_C = AllocZeroed(0x70);
+ data->field_0 = AllocZeroed(0x100);
+ data->field_8 = AllocZeroed(0x20);
+ sub_8017580(data->field_0->arr, 8);
+ gUnknown_02022C2C = 0x40;
+ data->field_20 = sub_8016DF0(data->field_C, data->field_4, 9);
+ sub_8019BA8(data->field_A0);
+ sub_8019F2C();
+ data->state = 1;
+ break;
+ case 1:
+ sub_8019E70(data->spriteIds, taskData[0]);
+ if (++taskData[0] == 8)
+ data->state = 2;
+ break;
+ case 2:
+ sub_8010F84(0x40, 0, 0);
+ sub_8010FCC(gUnknown_02022C40.type, gUnknown_02022C40.playerSpecies, gUnknown_02022C40.playerLevel);
+ sub_800B488();
+ OpenLink();
+ sub_8011C84();
+ sub_8017580(&data->field_8->arr[0], 1);
+ sub_80175EC(data->field_4, 4);
+ sub_80175EC(data->field_C, 4);
+ gSpecialVar_Result = 0;
+ data->state = 3;
+ break;
+ case 3:
+ if ((sub_81B1360() == 8 || sub_81B1360() == 9) && gUnknown_02022C40.field_0 != 0)
+ {
+ id = GetCursorSelectionMonId();
+ switch (gUnknown_02022C40.field_0)
+ {
+ case 1:
+ sub_8011090(0x54, 0, 1);
+ if (id >= PARTY_SIZE)
+ {
+ sub_801807C(&gUnknown_02022C40);
+ sub_8010FCC(0, 0, 0);
+ sub_801568C(gUnknown_082EF4FC);
+ }
+ else if (!sub_80180A0(GetCursorSelectionMonId(), &gUnknown_02022C40))
+ {
+ sub_8015664(0x34, gUnknown_082EF47C);
+ }
+ else
+ {
+ data->state = 55;
+ }
+ break;
+ case 2:
+ sub_80156C8(data);
+ taskData[1] = gUnknown_02022C40.field_8;
+ if (id >= PARTY_SIZE)
+ {
+ sub_801568C(gUnknown_082EF544);
+ }
+ else
+ {
+ sub_8011090(0x54, 0, 1);
+ gUnknown_02022C2C = 0x44;
+ sub_80180E8(GetCursorSelectionMonId(), &gUnknown_02022C40);
+ data->state = 51;
+ }
+ break;
+ }
+ gUnknown_02022C40.field_0 = 0;
+ }
+ else
+ {
+ data->state = 4;
+ }
+ break;
+ case 4:
+ if (gSpecialVar_Result != 0)
+ {
+ if (gSpecialVar_Result == 9)
+ {
+ sub_8011090(0x54, 0, 1);
+ PlaySE(SE_PC_LOGIN);
+ StringCopy(gStringVar1, gSaveBlock2Ptr->playerName);
+ data->state = 42;
+ gSpecialVar_Result = 0;
+ }
+ else if (gSpecialVar_Result == 11)
+ {
+ sub_8011090(0x54, 0, 1);
+ data->state = 23;
+ gSpecialVar_Result = 0;
+ }
+ else
+ {
+ taskData[0] = 0;
+ taskData[1] = gSpecialVar_Result - 1;
+ data->state = 24;
+ gSpecialVar_Result = 0;
+ }
+ }
+ else if (ScriptContext2_IsEnabled() != TRUE)
+ {
+ if (gMain.newKeys & A_BUTTON)
+ {
+ if (sub_801A2A8(data->field_0, &taskData[0], &taskData[1], data->spriteIds))
+ {
+ PlaySE(SE_SELECT);
+ sub_80181CC();
+ data->state = 24;
+ break;
+ }
+ else if (sub_8017940())
+ {
+ sub_8011090(0x54, 0, 1);
+ PlaySE(SE_PC_LOGIN);
+ sub_80181CC();
+ StringCopy(gStringVar1, gSaveBlock2Ptr->playerName);
+ data->state = 45;
+ break;
+ }
+ }
+
+ switch (sub_8016B00())
+ {
+ case 1:
+ PlaySE(SE_PC_LOGIN);
+ case 2:
+ sub_801A274(data);
+ break;
+ case 4:
+ data->state = 11;
+ sub_80181CC();
+ sub_8010FCC(0, 0, 0);
+ sub_8011090(0x53, sub_80181DC(data), 0);
+ break;
+ }
+ sub_801A284(data);
+ }
+ break;
+ case 23:
+ if (!FuncIsActiveTask(sub_809FA34))
+ {
+ sub_8011090(0x40, 0, 0);
+ data->state = 4;
+ }
+ break;
+ case 24:
+ sub_801704C();
+ playerGender = sub_8017CF8(taskData[1], data->field_0);
+ sub_8011090(0x54, 0, 1);
+ switch (sub_80179D4(data->field_0, taskData[0], taskData[1], playerGender))
+ {
+ case 0:
+ data->state = 26;
+ break;
+ case 1:
+ sub_8012188(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, gUnknown_02022C2C);
+ data->field_12 = id; // Should be just 0, but won't match any other way.
+ data->state = 25;
+ break;
+ case 2:
+ sub_8015664(0x13, gStringVar4);
+ break;
+ }
+ break;
+ case 25:
+ sub_801704C();
+ switch (sub_8011A74())
+ {
+ case 4:
+ sub_801818C(TRUE);
+ data->state = 4;
+ break;
+ case 1:
+ case 2:
+ if (sub_8011B90() == TRUE)
+ sub_801568C(gUnknown_082EE6C8);
+ else
+ sub_8015664(30, gUnknown_082EE6C8);
+
+ gUnknown_02022C2C = 0x40;
+ break;
+ }
+
+ if (gReceivedRemoteLinkPlayers != 0)
+ {
+ sub_80143E4(gBlockSendBuffer, TRUE);
+ CreateTask(sub_80140E0, 5);
+ data->state = 38;
+ }
+ break;
+ case 38:
+ if (!FuncIsActiveTask(sub_80140E0))
+ {
+ if (gUnknown_02022C2C == 0x44)
+ sub_8015664(31, gUnknown_082EE004);
+ else
+ data->state = 5;
+ }
+ break;
+ case 30:
+ if (gReceivedRemoteLinkPlayers == 0)
+ {
+ sub_801818C(FALSE);
+ sub_801A3D0(taskData[0], taskData[1], data->field_0);
+ data->state = 2;
+ }
+ break;
+ case 5:
+ id = sub_80179AC(&data->field_0->arr[taskData[1]]);
+ playerGender = sub_8017CF8(taskData[1], data->field_0);
+ sub_8015664(6, gUnknown_082EE24C[id][playerGender]);
+ break;
+ case 6:
+ var5 = sub_8017178(&data->textState, &data->field_1B, &data->field_1C, &gUnknown_082F021C, &gUnknown_082F0244);
+ if (var5 != -1)
+ {
+ if (gReceivedRemoteLinkPlayers == 0)
+ {
+ data->state = 28;
+ }
+ else
+ {
+ data->field_98 = 0;
+ playerGender = sub_8017CF8(taskData[1], data->field_0);
+ if (var5 == -2 || var5 == 0x40)
+ {
+ data->field_4C[0] = 0x40;
+ sub_800FE50(data->field_4C);
+ StringCopy(gStringVar4, gUnknown_082EEB80[gLinkPlayers[0].gender]);
+ data->state = 32;
+ }
+ else
+ {
+ gUnknown_02022C2C = var5;
+ gUnknown_02022C2D = (u32)(var5) >> 8;
+ if (gUnknown_02022C2C == 0x41 && !sub_8018024())
+ {
+ sub_8015664(5, gUnknown_082EEBD0);
+ }
+ else
+ {
+ data->field_4C[0] = gUnknown_02022C2C | 0x40;
+ sub_800FE50(data->field_4C);
+ data->state = 27;
+ }
+ }
+ }
+ }
+ break;
+ case 28:
+ StringCopy(gStringVar4, gUnknown_082EEB88);
+ data->state = 36;
+ break;
+ case 27:
+ sub_8017FD8(data);
+ playerGender = sub_8017CF8(taskData[1], data->field_0);
+ id = sub_8017984(data->field_4C[0] & 0x3F);
+ if (PrintOnTextbox(&data->textState, gUnknown_082EE82C[playerGender][id]))
+ {
+ taskData[3] = 0;
+ data->state = 29;
+ }
+ break;
+ case 32:
+ sub_800AC34();
+ data->state = 36;
+ break;
+ case 31:
+ data->field_4C[0] = 0x44;
+ data->field_4C[1] = gUnknown_02022C40.species;
+ data->field_4C[2] = gUnknown_02022C40.level;
+ sub_800FE50(data->field_4C);
+ data->state = 29;
+ break;
+ case 29:
+ if (gReceivedRemoteLinkPlayers == 0)
+ {
+ StringCopy(gStringVar4, gUnknown_082EEB88);
+ data->state = 28;
+ }
+ else
+ {
+ sub_8017FD8(data);
+ if (data->field_98 == 0x51)
+ {
+ if (gUnknown_02022C2C == 8)
+ {
+ sub_8018220(gStringVar4, data, FALSE);
+ data->state = 40;
+ }
+ else
+ {
+ data->state = 13;
+ }
+ }
+ else if (data->field_98 == 0x52)
+ {
+ data->state = 32;
+ sub_8017D9C(gStringVar4, gUnknown_02022C2C | 0x40, gLinkPlayers[0].gender);
+ gUnknown_02022C2C = 0;
+ }
+ }
+ break;
+
+ case 7:
+ id = sub_80179AC(&data->field_0->arr[taskData[1]]);
+ playerGender = sub_8017CF8(taskData[1], data->field_0);
+ sub_8015664(6, gUnknown_082EE24C[id][playerGender]);
+ break;
+ case 40:
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ {
+ data->state = 41;
+ sub_800ADF8();
+ data->field_98 = 0;
+ data->field_9A[0] = 0;
+ }
+ break;
+ case 41:
+ if (IsLinkTaskFinished())
+ {
+ if (GetMultiplayerId() == 0)
+ {
+ StringCopy(gStringVar1, gLinkPlayers[GetMultiplayerId() ^ 1].name);
+ id = sub_800E540(gLinkPlayers[1].trainerId, gLinkPlayers[1].name);
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EE378[id]);
+ data->state = 33;
+ }
+ else
+ {
+ data->state = 7;
+ }
+ }
+ break;
+ case 19:
+ switch (sub_80170B8(&data->textState, FALSE))
+ {
+ case 0:
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_02022C2C = 0x45;
+ sub_8011090(0x45, 0, 1);
+ sub_8012188(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, gUnknown_02022C2C);
+ data->field_12 = taskData[1];
+ data->state = 20;
+ taskData[3] = 0;
+ break;
+ case 1:
+ case -1:
+ playerGender = sub_8017CF8(taskData[1], data->field_0);
+ sub_801568C(gUnknown_082EEC9C[playerGender]);
+ break;
+ }
+ break;
+ case 20:
+ if (++taskData[2] > 60)
+ {
+ data->state = 21;
+ taskData[2] = 0;
+ }
+ break;
+ case 21:
+ switch (sub_8011A74())
+ {
+ case 4:
+ sub_801818C(TRUE);
+ data->state = 4;
+ break;
+ case 1:
+ case 2:
+ playerGender = sub_8017CF8(taskData[1], data->field_0);
+ sub_8011090(0x54, 0, 1);
+ if (sub_8011B90() == TRUE)
+ sub_801568C(gUnknown_082EED3C[playerGender]);
+ else
+ sub_8015664(30, gUnknown_082EED3C[playerGender]);
+ break;
+ case 3:
+ data->state = 22;
+ break;
+ }
+ taskData[3]++;
+ break;
+ case 22:
+ if (sub_8011A80())
+ {
+ playerGender = sub_8017CF8(taskData[1], data->field_0);
+ sub_8011090(0x54, 0, 1);
+ if (sub_8011B90() == TRUE)
+ sub_801568C(gUnknown_082EED3C[playerGender]);
+ else
+ sub_8015664(30, gUnknown_082EED3C[playerGender]);
+ }
+ if (gReceivedRemoteLinkPlayers != 0)
+ data->state = 16;
+ break;
+ case 11:
+ PlaySE(SE_PINPON);
+ sub_800EF7C();
+ data->state = 12;
+ data->field_9A[0] = 0;
+ break;
+ case 12:
+ if (sub_8011A80())
+ {
+ sub_801818C(FALSE);
+ data->state = 2;
+ }
+ else if (gReceivedRemoteLinkPlayers != 0)
+ {
+ sub_80143E4(gBlockSendBuffer, TRUE);
+ CreateTask(sub_80140E0, 5);
+ data->state = 39;
+ }
+ break;
+ case 39:
+ sub_801689C(data);
+ if (!FuncIsActiveTask(sub_80140E0))
+ {
+ data->state = 33;
+ StringCopy(gStringVar1, gLinkPlayers[1].name);
+ id = sub_800E540(gLinkPlayers[1].trainerId, gLinkPlayers[1].name);
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EE324[id]);
+ }
+ break;
+ case 33:
+ sub_801689C(data);
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ data->state = 34;
+ break;
+ case 34:
+ sub_801689C(data);
+ if (sub_80168DC(data) && gMain.newKeys & B_BUTTON)
+ {
+ sub_8011DE0(1);
+ StringCopy(gStringVar4, gUnknown_082EE598);
+ data->state = 36;
+ }
+ break;
+ case 35:
+ sub_8015664(9, gStringVar4);
+ break;
+ case 9:
+ switch (sub_80170B8(&data->textState, FALSE))
+ {
+ case 0:
+ data->field_4C[0] = 0x51;
+ if (gUnknown_02022C2C == 0x45)
+ sub_8011090(gUnknown_02022C2C | 0x40, sub_801100C(1), 0);
+ else
+ sub_8011090(gUnknown_02022C2C | 0x40, sub_801100C(1), 1);
+
+ data->field_8->arr[0].field_1B = 0;
+ taskData[3] = 0;
+ if (gUnknown_02022C2C == 0x41)
+ {
+ if (!sub_8018024())
+ {
+ data->field_4C[0] = 0x52;
+ sub_800FE50(data->field_4C);
+ data->state = 10;
+ StringCopy(gStringVar4, gUnknown_082EEC14);
+ }
+ else
+ {
+ sub_800FE50(data->field_4C);
+ data->state = 13;
+ }
+ }
+ else if (gUnknown_02022C2C == 0x48)
+ {
+ sub_800FE50(data->field_4C);
+ sub_8018220(gStringVar4, data, 1);
+ data->state = 40;
+ }
+ else
+ {
+ sub_800FE50(data->field_4C);
+ data->state = 13;
+ }
+ break;
+ case 1:
+ case -1:
+ data->field_4C[0] = 0x52;
+ sub_800FE50(data->field_4C);
+ data->state = 10;
+ sub_8013078(gStringVar4, gUnknown_02022C2C);
+ break;
+ }
+ break;
+ case 10:
+ sub_800AC34();
+ data->state = 36;
+ break;
+ case 36:
+ if (gReceivedRemoteLinkPlayers == 0)
+ {
+ gUnknown_02022C2C = 0x40;
+ sub_8015664(0x25, gStringVar4);
+ memset(data->field_4C, 0, sizeof(data->field_4C));
+ data->field_9A[0] = 0;
+ data->field_98 = 0;
+ }
+ break;
+ case 37:
+ data->state = 2;
+ sub_801818C(FALSE);
+ break;
+ case 13:
+ sub_8017E00(gStringVar4, gUnknown_02022C2C | 0x40);
+ sub_8015664(14, gStringVar4);
+ break;
+ case 14:
+ sub_800ADF8();
+ data->state = 15;
+ break;
+ case 15:
+ if (IsLinkTaskFinished())
+ data->state = 16;
+ break;
+ case 16:
+ Free(data->field_8);
+ Free(data->field_0);
+ Free(data->field_C);
+ Free(data->field_4);
+ DestroyTask(data->field_20);
+ sub_8019F04(data->spriteIds);
+ data->state = 17;
+ break;
+ case 17:
+ BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK);
+ data->state = 18;
+ break;
+ case 18:
+ if (!UpdatePaletteFade())
+ {
+ sub_8019E3C();
+ DestroyTask(taskId);
+ Free(gUnknown_02022C30.uRoom);
+ sub_80149D8();
+ }
+ break;
+ case 42:
+ if (sub_800F7DC()->species == SPECIES_NONE)
+ {
+ data->state = 43;
+ }
+ else
+ {
+ if (sub_800F7DC()->species == SPECIES_EGG)
+ {
+ StringCopy(gStringVar4, gUnknown_082EF590);
+ }
+ else
+ {
+ StringCopy(gStringVar1, gSpeciesNames[sub_800F7DC()->species]);
+ ConvertIntToDecimalStringN(gStringVar2, sub_800F7DC()->unk_0b_1, STR_CONV_MODE_LEFT_ALIGN, 3);
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EF564);
+ }
+ sub_8015664(44, gStringVar4);
+ }
+ break;
+ case 43:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EF20C))
+ data->state = 47;
+ break;
+ case 47:
+ var5 = sub_8017178(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_082F025C, &gUnknown_082F027C);
+ if (var5 != -1)
+ {
+ if (var5 == -2 || var5 == 3)
+ {
+ data->state = 4;
+ sub_801818C(TRUE);
+ }
+ else
+ {
+ switch (var5)
+ {
+ case 1:
+ sub_8015664(53, gUnknown_082EF4C4);
+ break;
+ case 2:
+ sub_8015664(47, gUnknown_082EF298);
+ break;
+ }
+ }
+ }
+ break;
+ case 53:
+ BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
+ data->state = 54;
+ break;
+ case 54:
+ if (!gPaletteFade.active)
+ {
+ gUnknown_02022C40.field_0 = 1;
+ gFieldCallback = sub_80AF128;
+ sub_81B8904(8, CB2_ReturnToField);
+ }
+ break;
+ case 52:
+ var5 = sub_8017178(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_082F0294, &gUnknown_082F032C);
+ if (var5 != -1)
+ {
+ switch (var5)
+ {
+ case -2:
+ case 18:
+ sub_801807C(&gUnknown_02022C40);
+ sub_8010FCC(0, 0, 0);
+ sub_801568C(gUnknown_082EF4FC);
+ break;
+ default:
+ gUnknown_02022C40.type = var5;
+ data->state = 55;
+ break;
+ }
+ }
+ break;
+ case 55:
+ sub_8010FCC(gUnknown_02022C40.type, gUnknown_02022C40.playerSpecies, gUnknown_02022C40.playerLevel);
+ sub_801568C(gUnknown_082EF520);
+ break;
+ case 44:
+ switch (sub_80170B8(&data->textState, FALSE))
+ {
+ case 0:
+ data->state = 56;
+ break;
+ case 1:
+ case -1:
+ sub_801818C(TRUE);
+ data->state = 4;
+ break;
+ }
+ break;
+ case 56:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EF5B8))
+ {
+ sub_8010FCC(0, 0, 0);
+ sub_801807C(&gUnknown_02022C40);
+ sub_801818C(TRUE);
+ data->state = 4;
+ }
+ break;
+ case 45:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EF1EC))
+ data->state = 46;
+ break;
+ case 46:
+ sub_80173B0();
+ data->state = 48;
+ break;
+ case 48:
+ var5 = sub_80172A0(&data->textState, &data->field_1D, &data->field_4A, &data->field_1E, &gUnknown_082F034C, &gUnknown_082F03A4, data->field_0);
+ if (var5 != -1)
+ {
+ switch (var5)
+ {
+ case -2:
+ case 8:
+ sub_801818C(TRUE);
+ data->state = 4;
+ break;
+ default:
+ sub_80173B0();
+ switch (sub_8017D04(data->field_0->arr[var5].unk.field_0.type, data->field_0->arr[var5].unk.field_0.species))
+ {
+ case 0:
+ sub_8018404(gStringVar1, &data->field_0->arr[var5]);
+ sub_8015664(49, gUnknown_082EF65C);
+ taskData[1] = var5;
+ break;
+ case 1:
+ sub_8018404(gStringVar1, &data->field_0->arr[var5]);
+ StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]);
+ sub_8015664(46, gUnknown_082EF6E4);
+ break;
+ case 2:
+ sub_8018404(gStringVar1, &data->field_0->arr[var5]);
+ StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]);
+ sub_8015664(46, gUnknown_082EF718);
+ break;
+ }
+ break;
+ }
+ }
+ break;
+ case 49:
+ switch (sub_80170B8(&data->textState, FALSE))
+ {
+ case 0:
+ data->state = 50;
+ break;
+ case -1:
+ case 1:
+ sub_801818C(TRUE);
+ data->state = 4;
+ break;
+ }
+ break;
+ case 50:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EF4C4))
+ {
+ gUnknown_02022C40.field_0 = 2;
+ memcpy(&gUnknown_02022C38, &data->field_0->arr[taskData[1]].unk.field_0.unk_00, sizeof(gUnknown_02022C38));
+ gUnknown_02022C3E = data->field_0->arr[taskData[1]].unk.field_0.type;
+ gUnknown_02022C3C = data->field_0->arr[taskData[1]].unk.field_0.species;
+ gFieldCallback = sub_80AF128;
+ sub_81B8904(9, CB2_ReturnToField);
+ sub_80156B0(data);
+ gUnknown_02022C40.field_8 = taskData[1];
+ }
+ break;
+ case 51:
+ gUnknown_02022C2C = 0x44;
+ sub_8012188(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, 0x44);
+ sub_8018404(gStringVar1, &data->field_0->arr[taskData[1]]);
+ sub_8017020(gUnknown_082EE17C[2]);
+ data->state = 25;
+ break;
+ case 26:
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ {
+ sub_801818C(TRUE);
+ sub_801A3D0(taskData[0], taskData[1], data->field_0);
+ data->state = 4;
+ }
+ break;
+ case 8:
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ data->state = data->stateAfterPrint;
+ break;
+ }
+}
+
+void var_800D_set_xB(void)
+{
+ if (InUnionRoom() == TRUE)
+ gSpecialVar_Result = 11;
+}
+
+void sub_801689C(struct UnkStruct_URoom *arg0)
+{
+ if (gRecvCmds[1][1] != 0 && (gRecvCmds[1][0] & 0xFF00) == 0x2F00)
+ {
+ arg0->field_9A[0] = gRecvCmds[1][1];
+ if (gRecvCmds[1][1] == 0x44)
+ {
+ arg0->field_9A[1] = gRecvCmds[1][2];
+ arg0->field_9A[2] = gRecvCmds[1][3];
+ }
+ }
+}
+
+bool32 sub_80168DC(struct UnkStruct_URoom *arg0)
+{
+ if (arg0->field_9A[0] != 0)
+ {
+ s32 var = sub_8017EA0(gStringVar4, gLinkPlayers[1].gender, &arg0->field_9A[0], arg0);
+ if (var == 0)
+ {
+ return TRUE;
+ }
+ else if (var == 1)
+ {
+ arg0->state = 35;
+ gUnknown_02022C2C = arg0->field_9A[0];
+ return FALSE;
+ }
+ else if (var == 2)
+ {
+ arg0->state = 36;
+ sub_800AC34();
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+void sub_8016934(void)
+{
+ struct UnkStruct_URoom *ptr;
+
+ gUnknown_02022C20[0] = EOS;
+ CreateTask(sub_801697C, 0);
+ gUnknown_02022C30.uRoom = gUnknown_02022C30.uRoom; // Needed to match.
+ gUnknown_02022C30.uRoom = ptr = AllocZeroed(0x26C);
+ gUnknown_03000DA8 = gUnknown_02022C30.uRoom;
+ ptr->state = 0;
+ ptr->textState = 0;
+ ptr->field_10 = 0;
+ ptr->field_12 = 0;
+ gUnknown_02022C20[0] = EOS;
+}
+
+void sub_801697C(u8 taskId)
+{
+ s32 i;
+ u8 text[32];
+ struct UnkStruct_URoom *structPtr = gUnknown_02022C30.uRoom;
+
+ switch (structPtr->state)
+ {
+ case 0:
+ structPtr->state = 1;
+ break;
+ case 1:
+ sub_8010F84(0xC, 0, 0);
+ sub_800B488();
+ OpenLink();
+ sub_8011C84();
+ sub_80111B0(1);
+ structPtr->state = 2;
+ break;
+ case 2:
+ structPtr->field_4 = AllocZeroed(0x70);
+ sub_80175EC(structPtr->field_4, 4);
+ structPtr->field_C = AllocZeroed(0x70);
+ sub_80175EC(structPtr->field_C, 4);
+ structPtr->field_0 = AllocZeroed(0x100);
+ sub_8017580(structPtr->field_0->arr, 8);
+ structPtr->field_8 = AllocZeroed(0x20);
+ sub_8017580(&structPtr->field_8->arr[0], 1);
+ structPtr->field_20 = sub_8016DF0(structPtr->field_C, structPtr->field_4, 10);
+ structPtr->state = 3;
+ break;
+ case 3:
+ switch (sub_8016B00())
+ {
+ case 1:
+ case 2:
+ if (gUnknown_02022C20[0] == EOS)
+ {
+ for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
+ {
+ if (structPtr->field_0->arr[i].field_1A_0 == 1)
+ {
+ sub_8018404(text, &structPtr->field_0->arr[i]);
+ if (sub_800E540(ReadAsU16(structPtr->field_0->arr[i].unk.field_0.unk_00.playerTrainerId), text))
+ {
+ StringCopy(gUnknown_02022C20, text);
+ break;
+ }
+ }
+ }
+ }
+ break;
+ case 3:
+ break;
+ }
+ break;
+ case 4:
+ free(structPtr->field_8);
+ free(structPtr->field_0);
+ free(structPtr->field_C);
+ free(structPtr->field_4);
+ DestroyTask(structPtr->field_20);
+ free(gUnknown_02022C30.uRoom);
+ sub_800EDD4();
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+bool16 sp182_move_string(void)
+{
+ if (gUnknown_02022C20[0] != EOS)
+ {
+ StringCopy(gStringVar1, gUnknown_02022C20);
+ gUnknown_02022C20[0] = EOS;
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+u8 sub_8016B00(void)
+{
+ s32 i;
+ u8 j;
+ struct UnkStruct_URoom *structPtr = gUnknown_02022C30.uRoom;
+ s32 r7 = 0;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (sub_8017630(&structPtr->field_C->arr[i].unk0, &gUnknown_082F045C) == TRUE)
+ {
+ structPtr->field_8->arr[0].unk = structPtr->field_C->arr[i].unk0;
+ structPtr->field_8->arr[0].field_18 = 0;
+ structPtr->field_8->arr[0].field_1A_0 = 1;
+ structPtr->field_8->arr[0].field_1B = 1;
+ return 4;
+ }
+ }
+ for (j = 0; j < 8; j++)
+ {
+ if (structPtr->field_0->arr[j].field_1A_0 != 0)
+ {
+ i = sub_80176E4(&structPtr->field_0->arr[j], &structPtr->field_4->arr[0]);
+ if (i != 0xFF)
+ {
+ if (structPtr->field_0->arr[j].field_1A_0 == 1)
+ {
+ if (sub_8017678(&structPtr->field_0->arr[j].unk, &structPtr->field_4->arr[i].unk0))
+ {
+ structPtr->field_0->arr[j].unk = structPtr->field_4->arr[i].unk0;
+ structPtr->field_0->arr[j].field_1B = 0x40;
+ r7 = 1;
+ }
+ else if (structPtr->field_0->arr[j].field_1B != 0)
+ {
+ structPtr->field_0->arr[j].field_1B--;
+ if (structPtr->field_0->arr[j].field_1B == 0)
+ r7 = 2;
+ }
+ }
+ else
+ {
+ structPtr->field_0->arr[j].field_1A_0 = 1;
+ structPtr->field_0->arr[j].field_1B = 0;
+ r7 = 2;
+ }
+ structPtr->field_0->arr[j].field_18 = 0;
+ }
+ else if (structPtr->field_0->arr[j].field_1A_0 != 2)
+ {
+ structPtr->field_0->arr[j].field_18++;
+ if (structPtr->field_0->arr[j].field_18 >= 600)
+ {
+ structPtr->field_0->arr[j].field_1A_0 = 2;
+ r7 = 2;
+ }
+ }
+ else if (structPtr->field_0->arr[j].field_1A_0 == 2)
+ {
+ structPtr->field_0->arr[j].field_18++;
+ if (structPtr->field_0->arr[j].field_18 >= 900)
+ {
+ sub_8017580(&structPtr->field_0->arr[j], 1);
+ }
+ }
+ }
+ }
+ for (i = 0; i < 4; i++)
+ {
+ if (sub_8017734(&structPtr->field_0->arr[0], &structPtr->field_4->arr[i], 8) != 0xFF)
+ r7 = 1;
+ }
+
+ return r7;
+}
+
+void sub_8016CA0(u8 taskId)
+{
+ s32 i, j;
+ struct UnkStruct_Shared sp0;
+ struct UnkStruct_Main4 **ptr = (void*) gTasks[taskId].data;
+ bool8 r4;
+
+ for (i = 0; i < 4; i++)
+ {
+ r4 = sub_800DE7C(&sp0.field_0, sp0.playerName, i);
+ if (!sub_8013D88(sp0.field_0.unk_0a_0, gTasks[taskId].data[4]))
+ {
+ sp0 = gUnknown_082F045C;
+ }
+ if (sp0.field_0.unk_00.unk_00_0 == 1)
+ {
+ sp0 = gUnknown_082F045C;
+ }
+ if (!r4)
+ {
+ for (j = 0; j < i; j++)
+ {
+ if (!sub_8017630(&ptr[1]->arr[j].unk0, &sp0))
+ {
+ sp0 = gUnknown_082F045C;
+ }
+ }
+ ptr[1]->arr[i].unk0 = sp0;
+ ptr[1]->arr[i].unk18 = sub_8017630(&ptr[1]->arr[i].unk0, &gUnknown_082F045C);
+ }
+ else
+ {
+ ptr[0]->arr[i].unk0 = sp0;
+ ptr[0]->arr[i].unk18 = sub_8017630(&ptr[0]->arr[i].unk0, &gUnknown_082F045C);
+ }
+ }
+}
+
+u8 sub_8016DF0(struct UnkStruct_Main4 * a0, struct UnkStruct_Main4 * a1, u32 a2)
+{
+ u8 taskId = CreateTask(sub_8016CA0, 0);
+ struct UnkStruct_Main4 ** data = (void *)gTasks[taskId].data;
+ data[0] = a0;
+ data[1] = a1;
+ gTasks[taskId].data[4] = a2;
+ return taskId;
+}
+
+void sub_8016E24(u8 taskId)
+{
+ s32 i, j;
+ struct UnkStruct_Main4 **ptr = (void*) gTasks[taskId].data;
+
+ for (i = 0; i < 4; i++)
+ {
+ sub_800DE7C(&ptr[0]->arr[i].unk0.field_0, ptr[0]->arr[i].unk0.playerName, i);
+ if (!sub_8013D88(ptr[0]->arr[i].unk0.field_0.unk_0a_0, gTasks[taskId].data[2]))
+ {
+ ptr[0]->arr[i].unk0 = gUnknown_082F045C;
+ }
+ for (j = 0; j < i; j++)
+ {
+ if (!sub_8017630(&ptr[0]->arr[j].unk0, &ptr[0]->arr[i].unk0))
+ {
+ ptr[0]->arr[i].unk0 = gUnknown_082F045C;
+ }
+ }
+ ptr[0]->arr[i].unk18 = sub_8017630(&ptr[0]->arr[i].unk0, &gUnknown_082F045C);
+ }
+}
+
+bool32 sub_8016F1C(struct UnkLinkRfuStruct_02022B14 *arg0, s16 arg1)
+{
+ if (arg1 == 7)
+ {
+ if (!arg0->unk_00.unk_00_5)
+ {
+ return FALSE;
+ }
+ else
+ {
+ return TRUE;
+ }
+ }
+ else if (arg1 == 8)
+ {
+ if (!arg0->unk_00.unk_00_4)
+ {
+ return FALSE;
+ }
+ else
+ {
+ return TRUE;
+ }
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+void sub_8016F44(u8 taskId)
+{
+ s32 i;
+ struct UnkStruct_Main4 **ptr = (void*) gTasks[taskId].data;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (sub_800DF34(&ptr[0]->arr[i].unk0.field_0, ptr[0]->arr[i].unk0.playerName, i))
+ {
+ sub_8016F1C(&ptr[0]->arr[i].unk0.field_0, gTasks[taskId].data[2]);
+ }
+ ptr[0]->arr[i].unk18 = sub_8017630(&ptr[0]->arr[i].unk0, &gUnknown_082F045C);
+ }
+}
+
+u8 sub_8016FC0(struct UnkStruct_Main4 * a0, u32 a1)
+{
+ u8 taskId = CreateTask(sub_8016E24, 0);
+ struct UnkStruct_Main4 **ptr = (void*) gTasks[taskId].data;
+ ptr[0] = a0;
+ gTasks[taskId].data[2] = a1;
+ return taskId;
+}
+
+u8 sub_8016FF0(struct UnkStruct_Main4 * a0, u32 a1)
+{
+ u8 taskId = CreateTask(sub_8016F44, 0);
+ struct UnkStruct_Main4 **ptr = (void*) gTasks[taskId].data;
+ ptr[0] = a0;
+ gTasks[taskId].data[2] = a1;
+ return taskId;
+}
+
+bool32 sub_8017020(const u8 *src)
+{
+ sub_81973A4();
+ DrawDialogueFrame(0, 1);
+ StringExpandPlaceholders(gStringVar4, src);
+ AddTextPrinterWithCustomSpeedForMessage(FALSE, 1);
+ return FALSE;
+}
+
+bool32 sub_801704C(void)
+{
+ if (!RunTextPrintersAndIsPrinter0Active())
+ {
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+bool8 PrintOnTextbox(u8 *textState, const u8 *str)
+{
+ switch (*textState)
+ {
+ case 0:
+ sub_81973A4();
+ DrawDialogueFrame(0, 1);
+ StringExpandPlaceholders(gStringVar4, str);
+ AddTextPrinterForMessage_2(TRUE);
+ (*textState)++;
+ break;
+ case 1:
+ if (!RunTextPrintersAndIsPrinter0Active())
+ {
+ *textState = 0;
+ return TRUE;
+ }
+ break;
+ }
+ return FALSE;
+}
+
+s8 sub_80170B8(u8 *arg0, bool32 arg1)
+{
+ s8 r1;
+
+ switch (*arg0)
+ {
+ case 0:
+ if (arg1)
+ {
+ return -3;
+ }
+ DisplayYesNoMenuDefaultYes();
+ (*arg0)++;
+ break;
+ case 1:
+ if (arg1)
+ {
+ sub_8198C78();
+ *arg0 = 0;
+ return -3;
+ }
+ r1 = Menu_ProcessInputNoWrapClearOnChoose();
+ if (r1 == -1 || r1 == 0 || r1 == 1)
+ {
+ *arg0 = 0;
+ return r1;
+ }
+ break;
+ }
+ return -2;
+}
+
+u8 sub_8017118(const struct WindowTemplate * template)
+{
+ u8 windowId = AddWindow(template);
+ DrawStdWindowFrame(windowId, FALSE);
+ FillWindowPixelBuffer(windowId, 0xFF);
+ sub_80173E0(windowId, 1, gUnknown_082EFD94, 8, 1, 6);
+ CopyWindowToVram(windowId, 2);
+ PutWindowTilemap(windowId);
+ return windowId;
+}
+
+void sub_8017168(u8 windowId)
+{
+ RemoveWindow(windowId);
+}
+
+s32 sub_8017178(u8 *arg0, u8 *arg1, u8 *arg2, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate)
+{
+ s32 r1, r8;
+ struct WindowTemplate winTemplateCopy;
+
+ switch (*arg0)
+ {
+ case 0:
+ winTemplateCopy = *winTemplate;
+ r1 = Intl_GetListMenuWidth(menuTemplate);
+ if (winTemplateCopy.width > r1)
+ {
+ winTemplateCopy.width = r1;
+ }
+ if (winTemplateCopy.tilemapLeft + winTemplateCopy.width > 29)
+ {
+ winTemplateCopy.tilemapLeft = max(29 - winTemplateCopy.width, 0);
+ }
+ *arg1 = AddWindow(&winTemplateCopy);
+ DrawStdWindowFrame(*arg1, FALSE);
+ gMultiuseListMenuTemplate = *menuTemplate;
+ gMultiuseListMenuTemplate.windowId = *arg1;
+ *arg2 = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
+ CopyWindowToVram(*arg1, TRUE);
+ (*arg0)++;
+ break;
+ case 1:
+ r8 = ListMenu_ProcessInput(*arg2);
+ if (({gMain.newKeys & A_BUTTON;}))
+ {
+ DestroyListMenuTask(*arg2, NULL, NULL);
+ ClearStdWindowAndFrame(*arg1, TRUE);
+ RemoveWindow(*arg1);
+ *arg0 = 0;
+ return r8;
+ }
+ else if (({gMain.newKeys & B_BUTTON;}))
+ {
+ DestroyListMenuTask(*arg2, NULL, NULL);
+ ClearStdWindowAndFrame(*arg1, TRUE);
+ RemoveWindow(*arg1);
+ *arg0 = 0;
+ return -2;
+ }
+ break;
+ }
+
+ return -1;
+}
+
+s32 sub_80172A0(u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate, struct UnkStruct_Main0 *arg6)
+{
+ s32 input;
+ s32 r4;
+
+ switch (*arg0)
+ {
+ case 0:
+ *arg3 = sub_8017118(&gUnknown_082F0344);
+ *arg1 = AddWindow(winTemplate);
+ DrawStdWindowFrame(*arg1, FALSE);
+ gMultiuseListMenuTemplate = *menuTemplate;
+ gMultiuseListMenuTemplate.windowId = *arg1;
+ *arg2 = ListMenuInit(&gMultiuseListMenuTemplate, 0, 1);
+ (*arg0)++;
+ break;
+ case 1:
+ CopyWindowToVram(*arg1, TRUE);
+ (*arg0)++;
+ break;
+ case 2:
+ // Register swap r1 <---> r2
+ input = ListMenu_ProcessInput(*arg2);
+ if (({gMain.newKeys & (A_BUTTON | B_BUTTON);}))
+ {
+ if (input == 8 || ({gMain.newKeys & B_BUTTON;}))
+ {
+ DestroyListMenuTask(*arg2, NULL, NULL);
+ RemoveWindow(*arg1);
+ sub_8017168(*arg3);
+ *arg0 = 0;
+ return -2;
+ }
+ else
+ {
+ r4 = sub_8017CB0(arg6->arr, input);
+ if (r4 >= 0)
+ {
+ DestroyListMenuTask(*arg2, NULL, NULL);
+ RemoveWindow(*arg1);
+ sub_8017168(*arg3);
+ *arg0 = 0;
+ return r4;
+ }
+ else
+ {
+ PlaySE(SE_WALL_HIT);
+ }
+ }
+ }
+ break;
+ }
+
+ return -1;
+}
+void sub_80173B0(void)
+{
+ FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0);
+ CopyBgTilemapBufferToVram(0);
+}
+
+void sub_80173D4(void)
+{
+ EnableBothScriptContexts();
+}
+
+void sub_80173E0(u8 windowId, u8 arg1, const u8 *str, u8 arg3, u8 arg4, u8 arg5)
+{
+ struct TextPrinterTemplate sp0;
+
+ sp0.currentChar = str;
+ sp0.windowId = windowId;
+ sp0.fontId = arg1;
+ sp0.x = arg3;
+ sp0.y = arg4;
+ sp0.currentX = arg3;
+ sp0.currentY = arg4;
+ sp0.unk = 0;
+
+ gTextFlags.useAlternateDownArrow = FALSE;
+ switch (arg5)
+ {
+ case 0:
+ sp0.letterSpacing = 0;
+ sp0.lineSpacing = 0;
+ sp0.fgColor = 2;
+ sp0.bgColor = 1;
+ sp0.shadowColor = 3;
+ break;
+ case 1:
+ sp0.letterSpacing = 0;
+ sp0.lineSpacing = 0;
+ sp0.fgColor = 4;
+ sp0.bgColor = 1;
+ sp0.shadowColor = 5;
+ break;
+ case 2:
+ sp0.letterSpacing = 0;
+ sp0.lineSpacing = 0;
+ sp0.fgColor = 6;
+ sp0.bgColor = 1;
+ sp0.shadowColor = 7;
+ break;
+ case 3:
+ sp0.letterSpacing = 0;
+ sp0.lineSpacing = 0;
+ sp0.fgColor = 1;
+ sp0.bgColor = 1;
+ sp0.shadowColor = 3;
+ break;
+ case 4:
+ sp0.letterSpacing = 0;
+ sp0.lineSpacing = 0;
+ sp0.fgColor = 1;
+ sp0.bgColor = 2;
+ sp0.shadowColor = 3;
+ break;
+ case 5:
+ sp0.letterSpacing = 0;
+ sp0.lineSpacing = 0;
+ sp0.fgColor = 7;
+ sp0.bgColor = 15;
+ sp0.shadowColor = 9;
+ break;
+ case 6:
+ sp0.letterSpacing = 0;
+ sp0.lineSpacing = 0;
+ sp0.fgColor = 14;
+ sp0.bgColor = 15;
+ sp0.shadowColor = 9;
+ break;
+ }
+
+ AddTextPrinter(&sp0, 0xFF, NULL);
+}
+
+void sub_8017580(struct UnkStruct_x20 *arg0, u8 count)
+{
+ s32 i;
+
+ for (i = 0; i < count; i++)
+ {
+ arg0[i].unk = gUnknown_082F045C;
+ arg0[i].field_18 = 0xFF;
+ arg0[i].field_1A_0 = 0;
+ arg0[i].field_1A_1 = 0;
+ arg0[i].field_1B = 0;
+ }
+}
+
+void sub_80175EC(struct UnkStruct_Main4 *arg0, u8 count)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ arg0->arr[i].unk0 = gUnknown_082F045C;
+ arg0->arr[i].unk18 = 0;
+ }
+}
+
+bool8 sub_8017630(struct UnkStruct_Shared* arg0, const struct UnkStruct_Shared* arg1)
+{
+ s32 i;
+
+ for (i = 0; i < 2; i++)
+ {
+ if (arg0->field_0.unk_00.playerTrainerId[i] != arg1->field_0.unk_00.playerTrainerId[i])
+ {
+ return TRUE;
+ }
+ }
+
+ for (i = 0; i < 8; i++)
+ {
+ if (arg0->playerName[i] != arg1->playerName[i])
+ {
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+bool32 sub_8017678(struct UnkStruct_Shared *arg0, struct UnkStruct_Shared *arg1)
+{
+ s32 i;
+
+ if (arg0->field_0.unk_0a_0 != arg1->field_0.unk_0a_0)
+ {
+ return TRUE;
+ }
+
+ if (arg0->field_0.unk_0a_7 != arg1->field_0.unk_0a_7)
+ {
+ return TRUE;
+ }
+
+ for (i = 0; i < 4; i++)
+ {
+ if (arg0->field_0.unk_04[i] != arg1->field_0.unk_04[i])
+ {
+ return TRUE;
+ }
+ }
+
+ if (arg0->field_0.species != arg1->field_0.species)
+ {
+ return TRUE;
+ }
+
+ if (arg0->field_0.type != arg1->field_0.type)
+ {
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+u32 sub_80176E4(struct UnkStruct_x20 *arg0, struct UnkStruct_x1C *arg1)
+{
+ u8 result = 0xFF;
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (arg1[i].unk18 && !sub_8017630(&arg0->unk, &arg1[i].unk0))
+ {
+ result = i;
+ arg1[i].unk18 = FALSE;
+ }
+ }
+
+ return result;
+}
+
+u8 sub_8017734(struct UnkStruct_x20 *arg0, struct UnkStruct_x1C *arg1, u8 arg2)
+{
+ s32 i;
+
+ if (arg1->unk18)
+ {
+ for (i = 0; i < arg2; i++)
+ {
+ if (arg0[i].field_1A_0 == 0)
+ {
+ arg0[i].unk = arg1->unk0;
+ arg0[i].field_18 = 0;
+ arg0[i].field_1A_0 = 1;
+ arg0[i].field_1B = 64;
+ arg1->unk18 = FALSE;
+ return i;
+ }
+ }
+ }
+
+ return 0xFF;
+}
+
+void sub_80177B8(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 id)
+{
+ u8 r2;
+ u8 sp0[6];
+
+ ConvertIntToDecimalStringN(gStringVar4, id + 1, STR_CONV_MODE_LEADING_ZEROS, 2);
+ StringAppend(gStringVar4, gText_Colon);
+ sub_80173E0(arg0, 1, gStringVar4, arg1, arg2, 0);
+ arg1 += 18;
+ r2 = arg3->unk.field_0.unk_0a_0;
+ if (arg3->field_1A_0 == 1 && !(r2 & 0x40))
+ {
+ sub_8018404(gStringVar4, arg3);
+ sub_80173E0(arg0, 1, gStringVar4, arg1, arg2, arg4);
+ ConvertIntToDecimalStringN(sp0, arg3->unk.field_0.unk_00.playerTrainerId[0] | (arg3->unk.field_0.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5);
+ StringCopy(gStringVar4, gText_UnkCtrlCodeF907);
+ StringAppend(gStringVar4, sp0);
+ sub_80173E0(arg0, 1, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x88), arg2, arg4);
+ }
+}
+
+void sub_80178A0(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 id)
+{
+ u8 sp0[6];
+
+ if (arg3->field_1A_0 == 1)
+ {
+ sub_8018404(gStringVar4, arg3);
+ sub_80173E0(arg0, 1, gStringVar4, arg1, arg2, arg4);
+ ConvertIntToDecimalStringN(sp0, arg3->unk.field_0.unk_00.playerTrainerId[0] | (arg3->unk.field_0.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5);
+ StringCopy(gStringVar4, gText_UnkCtrlCodeF907);
+ StringAppend(gStringVar4, sp0);
+ sub_80173E0(arg0, 1, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x68), arg2, arg4);
+ }
+}
+
+bool32 sub_8017940(void)
+{
+ s16 x, y;
+ GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
+ if (x != 9)
+ {
+ return FALSE;
+ }
+ if (y != 8)
+ {
+ return FALSE;
+ }
+ if (gPlayerAvatar.tileTransitionState == 2 || gPlayerAvatar.tileTransitionState == 0)
+ {
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+u32 sub_8017984(s32 arg0)
+{
+ switch (arg0)
+ {
+ case 5:
+ return 1;
+ case 4:
+ return 2;
+ case 8:
+ return 3;
+ case 3:
+ default:
+ return 0;
+ }
+}
+
+u32 sub_80179AC(struct UnkStruct_x20 *arg0)
+{
+ u8 sp0[30];
+ sub_8018404(sp0, arg0);
+ return sub_800E540(ReadAsU16(arg0->unk.field_0.unk_00.playerTrainerId), sp0);
+}
+
+s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender)
+{
+ bool32 r2;
+
+ struct UnkStruct_x20 * r5 = &arg0->arr[arg2];
+
+ if (!r5->unk.field_0.unk_0a_7 && arg1 == 0)
+ {
+ sub_8018404(gStringVar1, r5);
+ r2 = sub_800E540(ReadAsU16(r5->unk.field_0.unk_00.playerTrainerId), gStringVar1);
+ if (r5->unk.field_0.unk_0a_0 == 0x45)
+ {
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EE6B8[r2][playerGender]);
+ return 2;
+ }
+ else
+ {
+ sub_8017020(gUnknown_082EE17C[r2]);
+ return 1;
+ }
+ }
+ else
+ {
+ sub_8018404(gStringVar1, r5);
+ if (arg1 != 0)
+ {
+ playerGender = (r5->unk.field_0.unk_00.playerTrainerId[arg1 + 1] >> 3) & 1;
+ }
+ switch (r5->unk.field_0.unk_0a_0 & 0x3F)
+ {
+ case 1:
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EEEAC[playerGender][Random() % 4]);
+ break;
+ case 4:
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EF1CC[playerGender][Random() % 2]);
+ break;
+ case 5:
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EF010[playerGender][Random() % 4]);
+ break;
+ case 8:
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EF100[playerGender][Random() % 2]);
+ break;
+ default:
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EE6C8);
+ break;
+ }
+ return 0;
+ }
+}
+
+void nullsub_14(u8 windowId, s32 itemId, u8 y)
+{
+
+}
+
+void sub_8017B3C(u8 arg0, u8 arg1, struct UnkLinkRfuStruct_02022B14 * arg2, const u8 * str, u8 arg4)
+{
+ u8 sp8[4];
+ u16 r8 = arg2->species;
+ u8 r7 = arg2->type;
+ u8 r9 = arg2->unk_0b_1;
+
+ sub_80173E0(arg0, 1, str, 8, arg1, arg4);
+ if (r8 == SPECIES_EGG)
+ {
+ sub_80173E0(arg0, 1, gUnknown_082EF7D0, 0x44, arg1, arg4);
+ }
+ else
+ {
+ blit_move_info_icon(arg0, r7 + 1, 0x44, arg1);
+ sub_80173E0(arg0, 1, gSpeciesNames[r8], 0x76, arg1, arg4);
+ ConvertIntToDecimalStringN(sp8, r9, STR_CONV_MODE_RIGHT_ALIGN, 3);
+ sub_80173E0(arg0, 1, sp8, 0xC6, arg1, arg4);
+ }
+}
+
+void sub_8017BE8(u8 windowId, s32 itemId, u8 y)
+{
+ struct UnkStruct_Leader *leader = gUnknown_02022C30.leader;
+ struct UnkLinkRfuStruct_02022B14 *rfu;
+ s32 i, j;
+ u8 sp4[11];
+
+ if (itemId == -3 && y == gUnknown_082F03A4.upText_Y)
+ {
+ rfu = sub_800F7DC();
+ if (rfu->species != SPECIES_NONE)
+ {
+ sub_8017B3C(windowId, y, rfu, gSaveBlock2Ptr->playerName, 5);
+ }
+ }
+ else
+ {
+ j = 0;
+ for (i = 0; i < 8; i++)
+ {
+ if (leader->field_0->arr[i].field_1A_0 == 1 && leader->field_0->arr[i].unk.field_0.species != SPECIES_NONE)
+ {
+ j++;
+ }
+ if (j == itemId + 1)
+ {
+ sub_8018404(sp4, &leader->field_0->arr[i]);
+ sub_8017B3C(windowId, y, &leader->field_0->arr[i].unk.field_0, sp4, 6);
+ break;
+ }
+ }
+ }
+}
+
+s32 sub_8017CB0(struct UnkStruct_x20 * arg, s32 arg1)
+{
+ s32 i;
+ s32 j = 0;
+
+ for (i = 0; i < 8; i++)
+ {
+ if (arg[i].field_1A_0 == 1 && arg[i].unk.field_0.species != SPECIES_NONE)
+ {
+ j++;
+ }
+ if (j == arg1 + 1)
+ {
+ return i;
+ }
+ }
+
+ return -1;
+}
+
+s32 sub_8017CF8(s32 arg1, struct UnkStruct_Main0 *arg0)
+{
+ return arg0->arr[arg1].unk.field_0.playerGender;
+}
+
+s32 sub_8017D04(u32 type, u32 species)
+{
+ s32 i;
+
+ if (species == SPECIES_EGG)
+ {
+ for (i = 0; i < gPlayerPartyCount; i++)
+ {
+ species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
+ if (species == SPECIES_EGG)
+ {
+ return 0;
+ }
+ }
+ return 2;
+ }
+ else
+ {
+ for (i = 0; i < gPlayerPartyCount; i++)
+ {
+ species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
+ if (gBaseStats[species].type1 == type || gBaseStats[species].type2 == type)
+ {
+ return 0;
+ }
+ }
+ return 1;
+ }
+}
+
+void sub_8017D9C(u8 *dst, s32 arg1, u32 playerGender)
+{
+ switch (arg1)
+ {
+ case 0x41:
+ StringExpandPlaceholders(dst, gUnknown_082EEA68[playerGender]);
+ break;
+ case 0x45:
+ StringExpandPlaceholders(dst, gUnknown_082EED3C[playerGender]);
+ break;
+ case 0x44:
+ StringExpandPlaceholders(dst, gUnknown_082EF7B0);
+ break;
+ case 0x48:
+ StringExpandPlaceholders(dst, gUnknown_082EEB08[playerGender]);
+ break;
+ }
+}
+
+void sub_8017E00(u8 *dst, u8 arg1)
+{
+ u8 mpId = GetMultiplayerId();
+ u8 gender = gLinkPlayers[mpId ^ 1].gender;
+
+ switch (arg1)
+ {
+ case 0x41:
+ StringCopy(dst, gUnknown_082EE984[mpId][gender][0]);
+ break;
+ case 0x44:
+ StringCopy(dst, gUnknown_082EE984[mpId][gender][2]);
+ break;
+ case 0x45:
+ StringCopy(dst, gUnknown_082EE984[mpId][gender][1]);
+ break;
+ }
+}
+
+s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3)
+{
+ s32 result = 0;
+ u16 species = SPECIES_NONE;
+ s32 i;
+
+ switch (arg2[0])
+ {
+ case 0x41:
+ StringExpandPlaceholders(dst, gUnknown_082EE3DC);
+ result = 1;
+ break;
+ case 0x45:
+ StringExpandPlaceholders(dst, gUnknown_082EE430);
+ result = 1;
+ break;
+ case 0x44:
+ ConvertIntToDecimalStringN(arg3->field_58 + 0x00, gUnknown_02022C40.playerLevel, STR_CONV_MODE_LEFT_ALIGN, 3);
+ StringCopy(arg3->field_58 + 0x10, gSpeciesNames[gUnknown_02022C40.playerSpecies]);
+ for (i = 0; i < 4; i++)
+ {
+ if (gUnknown_03007890->unk_14[i].unk_04 == 2)
+ {
+ ConvertIntToDecimalStringN(arg3->field_58 + 0x20, arg2[2], STR_CONV_MODE_LEFT_ALIGN, 3);
+ StringCopy(arg3->field_58 + 0x30, gSpeciesNames[arg2[1]]);
+ species = arg2[1];
+ break;
+ }
+ }
+ if (species == SPECIES_EGG)
+ {
+ StringCopy(dst, gUnknown_082EE4F0);
+ }
+ else
+ {
+ for (i = 0; i < 4; i++)
+ {
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(i, arg3->field_58 + 0x10 * i);
+ }
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(dst, gUnknown_082EE47C);
+ }
+ result = 1;
+ break;
+ case 0x48:
+ StringExpandPlaceholders(dst, gUnknown_082EE380);
+ result = 1;
+ break;
+ case 0x40:
+ StringExpandPlaceholders(dst, gUnknown_082EE544);
+ result = 2;
+ break;
+ }
+
+ return result;
+}
+
+bool32 sub_8017FD8(struct UnkStruct_URoom *arg0)
+{
+ if (gRecvCmds[0][1] != 0)
+ {
+ if (gRecvCmds[0][1] == 0x51)
+ {
+ arg0->field_98 = 0x51;
+ return TRUE;
+ }
+ else if (gRecvCmds[0][1] == 0x52)
+ {
+ arg0->field_98 = 0x52;
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+bool32 InUnionRoom(void)
+{
+ return gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNION_ROOM)
+ && gSaveBlock1Ptr->location.mapNum == MAP_NUM(UNION_ROOM)
+ ? TRUE : FALSE;
+}
+
+bool32 sub_8018024(void)
+{
+ s32 i;
+ s32 count = 0;
+
+ for (i = 0; i < gPlayerPartyCount; i++)
+ {
+ if ( GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) <= 30
+ && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) != SPECIES_EGG)
+ {
+ count++;
+ }
+ }
+
+ if (count > 1)
+ {
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+void sub_801807C(struct TradeUnkStruct *arg0)
+{
+ arg0->field_0 = 0;
+ arg0->type = 0;
+ arg0->playerPersonality = 0;
+ arg0->playerSpecies = 0;
+ arg0->playerLevel = 0;
+ arg0->species = 0;
+ arg0->level = 0;
+ arg0->personality = 0;
+}
+
+void sub_8018090(void)
+{
+ sub_801807C(&gUnknown_02022C40);
+}
+
+bool32 sub_80180A0(u32 monId, struct TradeUnkStruct *arg1)
+{
+ arg1->playerSpecies = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2);
+ arg1->playerLevel = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL);
+ arg1->playerPersonality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY);
+ if (arg1->playerSpecies == SPECIES_EGG)
+ {
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+void sub_80180E8(u32 monId, struct TradeUnkStruct *arg1)
+{
+ arg1->species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2);
+ arg1->level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL);
+ arg1->personality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY);
+}
+
+u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId)
+{
+ u16 response = 0;
+ u16 species;
+ u32 personality;
+ u32 cur_personality;
+ u16 cur_species;
+ s32 i;
+
+ if (multiplayerId == 0)
+ {
+ species = arg0->playerSpecies;
+ personality = arg0->playerPersonality;
+ }
+ else
+ {
+ species = arg0->species;
+ personality = arg0->personality;
+ }
+
+ for (i = 0; i < gPlayerPartyCount; i++)
+ {
+ cur_personality = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY);
+ if (cur_personality != personality)
+ {
+ continue;
+ }
+ cur_species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
+ if (cur_species != species)
+ {
+ continue;
+ }
+ response = i;
+ break;
+ }
+
+ return response;
+}
+
+void sub_801818C(bool32 arg0)
+{
+ sub_80173B0();
+ ScriptContext2_Disable();
+ sub_8098524();
+ gUnknown_02022C2C = 0;
+ if (arg0)
+ {
+ sub_8010FCC(gUnknown_02022C40.type, gUnknown_02022C40.playerSpecies, gUnknown_02022C40.playerLevel);
+ sub_8011090(0x40, 0, 0);
+ }
+}
+
+void sub_80181CC(void)
+{
+ ScriptContext2_Enable();
+ ScriptFreezeEventObjects();
+}
+
+u8 sub_80181DC(struct UnkStruct_URoom *arg0)
+{
+ u8 retVal = 0x80;
+ u8 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (arg0->field_C->arr[i].unk18)
+ {
+ retVal |= arg0->field_C->arr[i].unk0.field_0.playerGender << 3;
+ retVal |= arg0->field_C->arr[i].unk0.field_0.unk_00.playerTrainerId[0] & 7;
+ break;
+ }
+ }
+
+ return retVal;
+}
+
+void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2)
+{
+ struct TrainerCard *trainerCard = &gTrainerCards[GetMultiplayerId() ^ 1];
+ s32 i;
+ s32 n;
+
+ DynamicPlaceholderTextUtil_Reset();
+
+ StringCopy(arg1->field_C0[0], gTrainerClassNames[sub_8068BB0()]);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, arg1->field_C0[0]);
+
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, trainerCard->playerName);
+
+ StringCopy(arg1->field_174, gUnknown_082EFF50[trainerCard->stars]);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, arg1->field_174);
+
+ ConvertIntToDecimalStringN(arg1->field_C0[2], trainerCard->caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 3);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, arg1->field_C0[2]);
+
+ ConvertIntToDecimalStringN(arg1->field_C0[3], trainerCard->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3);
+ ConvertIntToDecimalStringN(arg1->field_C0[4], trainerCard->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, arg1->field_C0[3]);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, arg1->field_C0[4]);
+
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_082EFF64);
+ StringCopy(gStringVar4, arg1->field_1A4);
+
+ n = trainerCard->linkBattleWins;
+ if (n > 9999)
+ {
+ n = 9999;
+ }
+ ConvertIntToDecimalStringN(arg1->field_C0[0], n, STR_CONV_MODE_LEFT_ALIGN, 4);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, arg1->field_C0[0]);
+
+ n = trainerCard->linkBattleLosses;
+ if (n > 9999)
+ {
+ n = 9999;
+ }
+ ConvertIntToDecimalStringN(arg1->field_C0[1], n, STR_CONV_MODE_LEFT_ALIGN, 4);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, arg1->field_C0[1]);
+
+ ConvertIntToDecimalStringN(arg1->field_C0[2], trainerCard->pokemonTrades, STR_CONV_MODE_LEFT_ALIGN, 5);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, arg1->field_C0[2]);
+
+ for (i = 0; i < 4; i++)
+ {
+ CopyEasyChatWord(arg1->field_C0[i + 3], trainerCard->var_28[i]);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(i + 4, arg1->field_C0[i + 3]);
+ }
+
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_082EFFA4);
+ StringAppend(gStringVar4, arg1->field_1A4);
+
+ if (arg2 == TRUE)
+ {
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_082F0020);
+ StringAppend(gStringVar4, arg1->field_1A4);
+ }
+ else if (arg2 == FALSE)
+ {
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_082F0018[trainerCard->gender]);
+ StringAppend(gStringVar4, arg1->field_1A4);
+ }
+}
+
+void sub_8018404(u8 *dest, struct UnkStruct_x20 *arg1)
+{
+ StringCopy7(dest, arg1->unk.playerName);
+ ConvertInternationalString(dest, arg1->unk.field_0.unk_00.unk_00_0);
+}
diff --git a/src/union_room_battle.c b/src/union_room_battle.c
new file mode 100644
index 000000000..9d9f9dcf3
--- /dev/null
+++ b/src/union_room_battle.c
@@ -0,0 +1,631 @@
+#include "global.h"
+#include "battle.h"
+#include "task.h"
+#include "text.h"
+#include "main.h"
+#include "bg.h"
+#include "palette.h"
+#include "gpu_regs.h"
+#include "alloc.h"
+#include "menu.h"
+#include "window.h"
+#include "text_window.h"
+#include "scanline_effect.h"
+#include "m4a.h"
+#include "dynamic_placeholder_text_util.h"
+#include "overworld.h"
+#include "strings.h"
+#include "string_util.h"
+#include "international_string_util.h"
+#include "sound.h"
+#include "constants/songs.h"
+#include "party_menu.h"
+#include "battle_setup.h"
+#include "link.h"
+#include "union_room.h"
+#include "union_room_battle.h"
+
+struct UnkStruct_3000DAC
+{
+ /*0x00*/ u32 unk00[4];
+ /*0x10*/ u32 unk10[4];
+ /*0x20*/ u32 unk20[16];
+ /*0x60*/ u8 taskId;
+ /*0x61*/ u8 unk61;
+ /*0x62*/ u8 filler_62[10];
+};
+
+struct UnkStruct_2022C6C
+{
+ s16 a0;
+};
+
+IWRAM_DATA struct UnkStruct_3000DAC * gUnknown_03000DAC;
+IWRAM_DATA bool32 gUnknown_03000DB0;
+
+EWRAM_DATA struct UnkStruct_2022C6C * gUnknown_02022C6C = NULL;
+
+void sub_801A43C(void);
+void sub_801A6C0(u8 taskId);
+static void sub_801A8B0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 mode);
+bool32 sub_801AA30(u32 * a0, u32 * a1, u32 * a2, u8 taskId);
+
+const u16 gWirelessInfoScreenPal[] = INCBIN_U16("graphics/interface/wireless_info_screen.gbapal");
+const u32 gWirelessInfoScreenGfx[] = INCBIN_U32("graphics/interface/wireless_info_screen.4bpp.lz");
+const u32 gWirelessInfoScreenTilemap[] = INCBIN_U32("graphics/interface/wireless_info_screen.bin.lz");
+
+const struct BgTemplate gUnknown_082F0D34[] = {
+ {
+ .bg = 0,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 0x1F,
+ .priority = 0
+ }, {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 0x08,
+ .priority = 1
+ }
+};
+
+const struct WindowTemplate gUnknown_082F0D3C[] = {
+ {
+ .bg = 0x00,
+ .tilemapLeft = 0x03,
+ .tilemapTop = 0x00,
+ .width = 0x18,
+ .height = 0x03,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0001
+ }, {
+ .bg = 0x00,
+ .tilemapLeft = 0x03,
+ .tilemapTop = 0x04,
+ .width = 0x15,
+ .height = 0x0f,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0049
+ }, {
+ .bg = 0x00,
+ .tilemapLeft = 0x18,
+ .tilemapTop = 0x04,
+ .width = 0x03,
+ .height = 0x0f,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0184
+ },
+ { 0xFF }
+};
+
+const u8 *const gUnknown_082F0D5C[] = {
+ gText_WirelessCommStatus,
+ gText_PeopleTrading,
+ gText_PeopleBattling,
+ gText_PeopleInUnionRoom,
+ gText_PeopleCommunicating
+};
+
+const u8 gUnknown_082F0D70[][3] = {
+ {0x01, 0x01, 0x02},
+ {0x02, 0x01, 0x02},
+ {0x03, 0x01, 0x04},
+ {0x04, 0x00, 0x02},
+ {0x06, 0x03, 0x02},
+ {0x07, 0x03, 0x02},
+ {0x09, 0x03, 0x00},
+ {0x0a, 0x03, 0x00},
+ {0x0b, 0x03, 0x00},
+ {0x0c, 0xff, 0x00},
+ {0x0d, 0x00, 0x00},
+ {0x10, 0x03, 0x00},
+ {0x0f, 0x03, 0x00},
+ {0x40, 0x02, 0x01},
+ {0x41, 0x02, 0x02},
+ {0x44, 0x02, 0x02},
+ {0x45, 0x02, 0x00},
+ {0x48, 0x02, 0x02},
+ {0x54, 0x02, 0x01},
+ {0x53, 0x02, 0x02},
+ {0x51, 0x02, 0x01},
+ {0x52, 0x02, 0x01},
+ {0x15, 0x03, 0x02},
+ {0x16, 0x03, 0x02},
+ {0x17, 0x03, 0x00},
+ {0x18, 0x03, 0x00},
+ {0x19, 0x03, 0x00},
+ {0x1a, 0x03, 0x00},
+ {0x1b, 0x03, 0x00},
+ {0x1c, 0x01, 0x02},
+ {0x0e, 0x01, 0x02}
+};
+
+const struct BgTemplate gUnknown_082F0DD0[] = {
+ {
+ .bg = 0,
+ .charBaseIndex = 3,
+ .mapBaseIndex = 31
+ }
+};
+
+const struct WindowTemplate gUnknown_082F0DD4[] = {
+ {
+ .bg = 0,
+ .tilemapLeft = 3,
+ .tilemapTop = 15,
+ .width = 24,
+ .height = 4,
+ .paletteNum = 0xE,
+ .baseBlock = 0x014
+ },
+ { 0xFF }
+};
+
+const u8 gUnknown_082F0DE4[] = { 1, 2, 3 };
+
+void sub_801A3F4(void)
+{
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ RunTasks();
+ RunTextPrinters();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+ }
+}
+
+void sub_801A418(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void sub_801A42C(void)
+{
+ SetMainCallback2(sub_801A43C);
+}
+
+void sub_801A43C(void)
+{
+ SetGpuReg(REG_OFFSET_DISPCNT, 0x0000);
+ gUnknown_03000DAC = AllocZeroed(sizeof(struct UnkStruct_3000DAC));
+ SetVBlankCallback(NULL);
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, gUnknown_082F0D34, ARRAY_COUNT(gUnknown_082F0D34));
+ SetBgTilemapBuffer(1, Alloc(0x800));
+ SetBgTilemapBuffer(0, Alloc(0x800));
+ DecompressAndLoadBgGfxUsingHeap(1, gWirelessInfoScreenGfx, 0, 0, 0);
+ CopyToBgTilemapBuffer(1, gWirelessInfoScreenTilemap, 0, 0);
+ InitWindows(gUnknown_082F0D3C);
+ DeactivateAllTextPrinters();
+ ResetPaletteFade();
+ ResetSpriteData();
+ ResetTasks();
+ ScanlineEffect_Stop();
+ m4aSoundVSyncOn();
+ SetVBlankCallback(sub_801A418);
+ gUnknown_03000DAC->taskId = CreateTask(sub_801A6C0, 0);
+ gUnknown_03000DAC->unk61 = sub_8013C40();
+ gUnknown_03000DAC->unk10[3] = 1;
+ ChangeBgX(0, 0, 0);
+ ChangeBgY(0, 0, 0);
+ ChangeBgX(1, 0, 0);
+ ChangeBgY(1, 0, 0);
+ LoadPalette(gWirelessInfoScreenPal, 0x00, 0x20);
+ Menu_LoadStdPalAt(0xF0);
+ DynamicPlaceholderTextUtil_Reset();
+ FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0x0F);
+ CopyBgTilemapBufferToVram(1);
+ SetMainCallback2(sub_801A3F4);
+ RunTasks();
+ RunTextPrinters();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+void sub_801A584(void)
+{
+ s32 i;
+ FreeAllWindowBuffers();
+ for (i = 0; i < 2; i++)
+ {
+ Free(GetBgTilemapBuffer(i));
+ }
+ Free(gUnknown_03000DAC);
+ SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
+}
+
+void sub_801A5BC(s16 * a0, s16 * a1)
+{
+ if (++(*a0) > 5)
+ {
+ if (++(*a1) == 14)
+ {
+ *a1 = 0;
+ }
+ *a0 = 0;
+ }
+ LoadPalette(gWirelessInfoScreenPal + 16 * (*a1 + 2), 0, 0x10);
+}
+
+void sub_801A600(void)
+{
+ s32 i;
+ FillWindowPixelBuffer(0, 0);
+ FillWindowPixelBuffer(1, 0);
+ FillWindowPixelBuffer(2, 0);
+ sub_801A8B0(0, 1, gUnknown_082F0D5C[0], GetStringCenterAlignXOffset(1, gUnknown_082F0D5C[0], 0xC0), 6, 3);
+ for (i = 0; i < 3; i++)
+ {
+ sub_801A8B0(1, 1, gUnknown_082F0D5C[i + 1], 0, 30 * i + 8, 1);
+ }
+ sub_801A8B0(1, 1, gUnknown_082F0D5C[i + 1], 0, 30 * i + 8, 2);
+ PutWindowTilemap(0);
+ CopyWindowToVram(0, 2);
+ PutWindowTilemap(1);
+ CopyWindowToVram(1, 2);
+}
+
+void sub_801A6C0(u8 taskId)
+{
+ s32 i;
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ sub_801A600();
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ ShowBg(1);
+ CopyBgTilemapBufferToVram(0);
+ ShowBg(0);
+ gTasks[taskId].data[0]++;
+ break;
+ case 2:
+ if (!gPaletteFade.active)
+ {
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 3:
+ if (sub_801AA30(gUnknown_03000DAC->unk00, gUnknown_03000DAC->unk10, gUnknown_03000DAC->unk20, gUnknown_03000DAC->unk61))
+ {
+ FillWindowPixelBuffer(2, 0);
+ for (i = 0; i < 4; i++)
+ {
+ ConvertIntToDecimalStringN(gStringVar4, gUnknown_03000DAC->unk00[i], STR_CONV_MODE_RIGHT_ALIGN, 2);
+ if (i != 3)
+ {
+ sub_801A8B0(2, 1, gStringVar4, 12, 30 * i + 8, 1);
+ }
+ else
+ {
+ sub_801A8B0(2, 1, gStringVar4, 12, 98, 2);
+ }
+ }
+ PutWindowTilemap(2);
+ CopyWindowToVram(2, 3);
+ }
+ if (({gMain.newKeys & A_BUTTON;}) || ({gMain.newKeys & B_BUTTON;}))
+ {
+ PlaySE(SE_SELECT);
+ gTasks[gUnknown_03000DAC->unk61].data[15] = 0xFF;
+ gTasks[taskId].data[0]++;
+ }
+ sub_801A5BC(&gTasks[taskId].data[7], &gTasks[taskId].data[8]);
+ break;
+ case 4:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ gTasks[taskId].data[0]++;
+ break;
+ case 5:
+ if (!gPaletteFade.active)
+ {
+ SetMainCallback2(sub_801A584);
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+static void sub_801A8B0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 mode)
+{
+ u8 color[3];
+
+ switch (mode)
+ {
+ case 0:
+ color[0] = 0;
+ color[1] = 2;
+ color[2] = 3;
+ break;
+ case 1:
+ color[0] = 0;
+ color[1] = 1;
+ color[2] = 3;
+ break;
+ case 2:
+ color[0] = 0;
+ color[1] = 4;
+ color[2] = 5;
+ break;
+ case 3:
+ color[0] = 0;
+ color[1] = 7;
+ color[2] = 6;
+ break;
+ case 4:
+ color[0] = 0;
+ color[1] = 1;
+ color[2] = 2;
+ break;
+ }
+
+ AddTextPrinterParameterized4(windowId, fontId, x, y, 0, 0, color, -1, str);
+}
+
+u32 sub_801A960(struct UnkStruct_x20 * a0, u32 * a1)
+{
+ s32 i, j, r2;
+ u32 result = a0->unk.field_0.unk_0a_0;
+
+ for (i = 0; i < (unsigned)ARRAY_COUNT(gUnknown_082F0D70); i++)
+ {
+ if (result != gUnknown_082F0D70[i][0])
+ {
+ continue;
+ }
+ if (a0->field_1A_0 != 1)
+ {
+ continue;
+ }
+ if (gUnknown_082F0D70[i][2] == 0)
+ {
+ r2 = 0;
+ for (j = 0; j < 4; j++)
+ {
+ if (a0->unk.field_0.unk_04[j] != 0)
+ {
+ r2++;
+ }
+ }
+ r2++;
+ a1[gUnknown_082F0D70[i][1]] += r2;
+ }
+ else
+ {
+ a1[gUnknown_082F0D70[i][1]] += gUnknown_082F0D70[i][2];
+ }
+ }
+ return result;
+}
+
+bool32 sub_801AA08(u32 * a0, u32 * a1)
+{
+ s32 i;
+ for (i = 0; i < 4; i++)
+ {
+ if (a0[i] != a1[i])
+ {
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+bool32 sub_801AA30(u32 * a0, u32 * a1, u32 * a2, u8 taskId)
+{
+ bool32 r8 = FALSE;
+ u32 sp0[4] = {0, 0, 0, 0};
+ struct UnkStruct_x20 ** data = (void *)gTasks[taskId].data;
+ s32 i;
+
+ for (i = 0; i < 16; i++)
+ {
+ u32 r1 = sub_801A960(&(*data)[i], sp0);
+ if (r1 != a2[i])
+ {
+ a2[i] = r1;
+ r8 = TRUE;
+ }
+ }
+ if (sub_801AA08(sp0, a1) == 0)
+ {
+ if (r8 != TRUE)
+ {
+ return FALSE;
+ }
+ }
+ else
+ {
+ memcpy(a0, sp0, sizeof(sp0));
+ memcpy(a1, sp0, sizeof(sp0));
+ a0[3] = a0[0] + a0[1] + a0[2] + a0[3];
+ }
+ return TRUE;
+}
+
+void sub_801AAD4(void)
+{
+ s32 i;
+ sub_8014210(10);
+ for (i = 0; i < 2; i++)
+ {
+ gEnemyParty[i] = gPlayerParty[gSelectedOrderFromParty[i] - 1];
+ }
+ for (i = 0; i < 6; i++)
+ {
+ ZeroMonData(&gPlayerParty[i]);
+ }
+ for (i = 0; i < 2; i++)
+ {
+ gPlayerParty[i] = gEnemyParty[i];
+ }
+ IncrementGameStat(GAME_STAT_NUM_UNION_ROOM_BATTLES);
+ CalculatePlayerPartyCount();
+ gTrainerBattleOpponent_A = 0xC00;
+ SetMainCallback2(CB2_InitBattle);
+}
+
+void sub_801AB68(u8 windowId, const u8 * str, u8 x, u8 y, s32 speed)
+{
+ s32 letterSpacing = 0;
+ s32 lineSpacing = 1;
+ FillWindowPixelBuffer(windowId, (gUnknown_082F0DE4[0] << 4) | gUnknown_082F0DE4[0]);
+ AddTextPrinterParameterized4(windowId, 1, x, y, letterSpacing, lineSpacing, gUnknown_082F0DE4, speed, str);
+}
+
+bool32 sub_801ABDC(s16 * state, const u8 * str, s32 speed)
+{
+ switch (*state)
+ {
+ case 0:
+ DrawTextBorderOuter(0, 0x001, 0xD);
+ sub_801AB68(0, str, 0, 1, speed);
+ PutWindowTilemap(0);
+ CopyWindowToVram(0, 3);
+ (*state)++;
+ break;
+ case 1:
+ if (!IsTextPrinterActive(0))
+ {
+ *state = 0;
+ return TRUE;
+ }
+ break;
+ }
+ return FALSE;
+}
+
+void sub_801AC40(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void sub_801AC54(void)
+{
+ switch (gMain.state)
+ {
+ case 0:
+ SetGpuReg(REG_OFFSET_DISPCNT, 0x0000);
+ gUnknown_02022C6C = AllocZeroed(4);
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ ResetTasks();
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, gUnknown_082F0DD0, 1);
+ reset_temp_tile_data_buffers();
+ if (!InitWindows(gUnknown_082F0DD4))
+ {
+ return;
+ }
+ DeactivateAllTextPrinters();
+ ClearWindowTilemap(0);
+ FillWindowPixelBuffer(0, 0x00);
+ FillWindowPixelBuffer(0, 0x11);
+ FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF);
+ LoadUserWindowBorderGfx(0, 1, 0xD0);
+ LoadUserWindowBorderGfx_(0, 1, 0xD0);
+ sub_819789C();
+ SetVBlankCallback(sub_801AC40);
+ gMain.state++;
+ break;
+ case 1:
+ if (sub_801ABDC(&gUnknown_02022C6C->a0, gText_CommStandbyAwaitingOtherPlayer, 0))
+ {
+ gMain.state++;
+ }
+ break;
+ case 2:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ ShowBg(0);
+ gMain.state++;
+ break;
+ case 3:
+ if (!UpdatePaletteFade())
+ {
+ memset(gBlockSendBuffer, 0, 0x20);
+ if (gSelectedOrderFromParty[0] == -gSelectedOrderFromParty[1])
+ {
+ gBlockSendBuffer[0] = 0x52;
+ }
+ else
+ {
+ gBlockSendBuffer[0] = 0x51;
+ }
+ SendBlock(0, gBlockSendBuffer, 0x20);
+ gMain.state++;
+ }
+ break;
+ case 4:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ if (gBlockRecvBuffer[0][0] == 0x51 && gBlockRecvBuffer[1][0] == 0x51)
+ {
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ gMain.state = 50;
+ }
+ else
+ {
+ sub_800AC34();
+ if (gBlockRecvBuffer[GetMultiplayerId()][0] == 0x52)
+ {
+ gMain.state = 6;
+ }
+ else
+ {
+ gMain.state = 8;
+ }
+ }
+ ResetBlockReceivedFlags();
+ }
+ break;
+ case 50:
+ if (!UpdatePaletteFade())
+ {
+ sub_800ADF8();
+ gMain.state++;
+ }
+ break;
+ case 51:
+ if (IsLinkTaskFinished())
+ {
+ SetMainCallback2(sub_801AAD4);
+ }
+ break;
+ case 6:
+ if (gReceivedRemoteLinkPlayers == 0)
+ {
+ gMain.state++;
+ }
+ break;
+ case 7:
+ if (sub_801ABDC(&gUnknown_02022C6C->a0, gText_RefusedBattle, 1))
+ {
+ SetMainCallback2(CB2_ReturnToField);
+ }
+ break;
+ case 8:
+ if (gReceivedRemoteLinkPlayers == 0)
+ {
+ gMain.state++;
+ }
+ break;
+ case 9:
+ if (sub_801ABDC(&gUnknown_02022C6C->a0, gText_BattleWasRefused, 1))
+ {
+ SetMainCallback2(CB2_ReturnToField);
+ }
+ break;
+ }
+ RunTasks();
+ RunTextPrinters();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
diff --git a/src/union_room_chat.c b/src/union_room_chat.c
new file mode 100755
index 000000000..84a0406be
--- /dev/null
+++ b/src/union_room_chat.c
@@ -0,0 +1,2943 @@
+#include "global.h"
+#include "alloc.h"
+#include "bg.h"
+#include "decompress.h"
+#include "dma3.h"
+#include "dynamic_placeholder_text_util.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "link.h"
+#include "link_rfu.h"
+#include "load_save.h"
+#include "main.h"
+#include "menu.h"
+#include "overworld.h"
+#include "palette.h"
+#include "save.h"
+#include "scanline_effect.h"
+#include "sound.h"
+#include "sprite.h"
+#include "string_util.h"
+#include "strings.h"
+#include "task.h"
+#include "text.h"
+#include "text_window.h"
+#include "window.h"
+#include "constants/rgb.h"
+#include "constants/songs.h"
+
+struct UnionRoomChat
+{
+ u8 filler0[0x4];
+ u16 unk4;
+ u16 unk6;
+ u8 filler8[0x2];
+ u16 unkA;
+ u8 fillerC[0x1];
+ u8 unkD;
+ u8 unkE;
+ u8 unkF;
+ u8 unk10;
+ u8 unk11;
+ u8 unk12;
+ u8 unk13;
+ u8 unk14;
+ u8 unk15;
+ u8 unk16;
+ u8 unk17;
+ u8 unk18;
+ u8 unk19;
+ u8 unk1A[0x1F];
+ u8 unk39[0x40];
+ u8 unk79[0x40];
+ u8 unkB9[10][21];
+ u8 filler18B[0x5];
+ u8 unk190[0x28];
+ u16 unk1B8;
+};
+
+struct UnionRoomChat2_Unk0
+{
+ bool32 (* unk0)(u8 *);
+ u8 unk4;
+ u8 unk5;
+};
+
+struct UnionRoomChat2
+{
+ struct UnionRoomChat2_Unk0 unk0[3];
+ u16 unk18;
+ u16 unk1A;
+ u16 unk1C;
+ u16 unk1E;
+ s16 unk20;
+ u8 unk22[0x106];
+ u8 unk128[BG_SCREEN_SIZE];
+ u8 unk928[BG_SCREEN_SIZE];
+ u8 unk1128[BG_SCREEN_SIZE];
+ u8 unk1928[BG_SCREEN_SIZE];
+ u8 unk2128[0x20];
+ u8 unk2148[0x20];
+};
+
+struct UnionRoomChat3
+{
+ struct Sprite *unk0;
+ struct Sprite *unk4;
+ struct Sprite *unk8;
+ struct Sprite *unkC;
+ struct Sprite *unk10;
+ u16 unk14;
+};
+
+struct Unk82F2C98
+{
+ u16 unk0;
+ bool32 (* unk4)(u8 *);
+};
+
+struct Unk82F2D40
+{
+ const u8 *unk0;
+ u8 unk4;
+ u8 unk5;
+ u8 unk6;
+ u8 unk7;
+ u8 unk8;
+ u8 unk9;
+ u8 unkA;
+};
+
+static void sub_801DDD0(struct UnionRoomChat *);
+static void c2_081284E0(void);
+static void sub_801DF20(void);
+static void sub_801DF38(void);
+static void sub_801DF54(u8 taskId);
+static void sub_801DFAC(void);
+static void sub_801E030(void);
+static void sub_801E120(void);
+static void sub_801E240(void);
+static void sub_801E460(void);
+static void sub_801E5C4(void);
+static void sub_801E668(void);
+static void sub_801E764(void);
+static void sub_801E838(void);
+static void sub_801E978(void);
+static void sub_801EBD4(u16);
+static bool32 sub_801EBE4(void);
+static void sub_801EC94(void);
+static void sub_801ED68(void);
+static void sub_801ED94(void);
+static bool32 sub_801EDC4(void);
+static void sub_801EDE0(void);
+static void sub_801EE10(void);
+static void sub_801EE2C(void);
+static u8 *sub_801EE84(void);
+static u8 *sub_801EEA8(void);
+static void sub_801EF1C(u8 *);
+static void sub_801EF24(u8 *);
+static void sub_801EF4C(u8 *);
+static void sub_801EF7C(u8 *);
+static void sub_801EFA8(u8 *);
+static void sub_801EFD0(u8 *);
+static u8 *sub_801F114(void);
+static void sub_801F2B4(u8 taskId);
+static bool8 sub_801F4D0(void);
+static bool32 sub_801F534(void);
+static void sub_801F544(void);
+static void sub_801F5B8(void);
+static void sub_801F5EC(u16, u8);
+static bool8 sub_801F644(u8);
+static s8 sub_801FF08(void);
+static bool32 sub_8020890(void);
+static void sub_8020770(void);
+static void sub_801F574(struct UnionRoomChat2 *);
+static void sub_801F580(void);
+static void sub_80208D0(void);
+static bool32 sub_801FDD8(u8 *);
+static void sub_8020480(void);
+static void sub_8020538(void);
+static void sub_8020584(void);
+static void sub_80205B4(void);
+static void sub_8020604(void);
+static void sub_8020680(void);
+static void sub_80206A4(void);
+static void sub_80206D0(void);
+static void sub_8020740(void);
+static void sub_80206E8(void);
+static void sub_80208E8(void);
+static void sub_8020A68(void);
+static void sub_8020B20(void);
+static void sub_80203B0(void);
+static void sub_802040C(void);
+static void sub_802091C(bool32);
+static bool32 sub_8020320(void);
+static void sub_80201A4(void);
+static bool32 sub_8020368(void);
+static void sub_802093C(void);
+static void sub_8020B80(void);
+static void sub_801FF18(int, u16);
+static void sub_801FDDC(u8, u8, u8);
+static void sub_8020094(void);
+static void sub_801FEBC(void);
+static void sub_80200C8(void);
+static void sub_801FEE4(void);
+static void sub_80200EC(u16, u16, u8);
+static void sub_8020118(u16, u8 *, u8, u8, u8);
+static void sub_80209AC(int);
+static void sub_8020420(u16, u8 *, u8);
+static void sub_80209E0(void);
+static bool32 sub_8020A1C(void);
+static void sub_80207C0(s16);
+static void sub_8020818(s16);
+static bool32 sub_801F658(u8 *state);
+static bool32 sub_801F6F8(u8 *state);
+static bool32 sub_801F730(u8 *state);
+static bool32 sub_801F768(u8 *state);
+static bool32 sub_801F7D4(u8 *state);
+static bool32 sub_801F7E0(u8 *state);
+static bool32 sub_801F82C(u8 *state);
+static bool32 sub_801F870(u8 *state);
+static bool32 sub_801F8DC(u8 *state);
+static bool32 sub_801F984(u8 *state);
+static bool32 sub_801FA2C(u8 *state);
+static bool32 sub_801FA68(u8 *state);
+static bool32 sub_801FB44(u8 *state);
+static bool32 sub_801FB70(u8 *state);
+static bool32 sub_801FBB4(u8 *state);
+static bool32 sub_801FBF8(u8 *state);
+static bool32 sub_801FC4C(u8 *state);
+static bool32 sub_801FC9C(u8 *state);
+static bool32 sub_801FCEC(u8 *state);
+static bool32 sub_801FD30(u8 *state);
+static bool32 sub_801FD88(u8 *state);
+static void sub_8020ABC(struct Sprite *sprite);
+static void sub_8020AF4(struct Sprite *sprite);
+
+EWRAM_DATA struct UnionRoomChat *gUnknown_02022C84 = NULL;
+EWRAM_DATA struct UnionRoomChat2 *gUnknown_02022C88 = NULL;
+EWRAM_DATA struct UnionRoomChat3 *gUnknown_02022C8C = NULL;
+
+void (*const gUnknown_082F2A7C[])(void) =
+ {
+ sub_801DFAC,
+ sub_801E030,
+ sub_801E120,
+ sub_801E240,
+ sub_801E764,
+ sub_801E838,
+ sub_801E460,
+ sub_801E5C4,
+ sub_801E668,
+ sub_801E978,
+ };
+
+static const u8 sUnknown_082F2AA4[] = {9, 9, 9, 9};
+
+static const u8 gUnknown_082F2AA8[] = {
+ CHAR_SPACE, 0x16, 0x17, 0x68, 0x19, 0x1A, 0x1B, 0x1C,
+ 0x1D, 0x1E, CHAR_SPACE, 0x20, 0x21, 0x22, 0x23, 0x24,
+ 0x25, 0x26, 0x27, 0x28, 0x29, 0x15, 0x01, 0x02,
+ CHAR_SPACE, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, CHAR_SPACE,
+ 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12,
+ 0x13, 0x14, 0x2A, 0x2B, 0x2C, 0x2D, CHAR_SPACE, CHAR_SPACE,
+ CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, 0x35, 0x36, CHAR_SPACE,
+ CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE,
+ CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE,
+ CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE,
+ CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, 0x53, 0x54, 0x55, 0x56, CHAR_SPACE,
+ CHAR_SPACE, CHAR_SPACE, 0x6F, 0x5B, 0x5C, 0x5D, CHAR_SPACE, CHAR_SPACE,
+ CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE,
+ 0x03, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, 0x5A,
+ CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE,
+ CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE,
+ CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, 0x84, 0x85, 0x86, CHAR_SPACE,
+ CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE,
+ CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE,
+ CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE,
+ 0xA0, CHAR_0, CHAR_1, CHAR_2, CHAR_3, CHAR_4, CHAR_5, CHAR_6,
+ CHAR_7, CHAR_8, CHAR_9, CHAR_EXCL_MARK, CHAR_QUESTION_MARK, CHAR_PERIOD, CHAR_HYPHEN, 0xAF,
+ CHAR_ELLIPSIS, CHAR_DBL_QUOT_LEFT, CHAR_DBL_QUOT_RIGHT, CHAR_SGL_QUOT_LEFT, CHAR_SGL_QUOT_RIGHT, CHAR_MALE, CHAR_FEMALE, CHAR_CURRENCY,
+ CHAR_COMMA, CHAR_MULT_SIGN, CHAR_SLASH, CHAR_a, CHAR_b, CHAR_c, CHAR_d, CHAR_e,
+ CHAR_f, CHAR_g, CHAR_h, CHAR_i, CHAR_j, CHAR_k, CHAR_l, CHAR_m,
+ CHAR_n, CHAR_o, CHAR_p, CHAR_q, CHAR_r, CHAR_s, CHAR_t, CHAR_u,
+ CHAR_v, CHAR_w, CHAR_x, CHAR_y, CHAR_z, CHAR_A, CHAR_B, CHAR_C,
+ CHAR_D, CHAR_E, CHAR_F, CHAR_G, CHAR_H, CHAR_I, CHAR_J, CHAR_K,
+ CHAR_L, CHAR_M, CHAR_N, CHAR_O, CHAR_P, CHAR_Q, CHAR_R, CHAR_S,
+ CHAR_T, CHAR_U, CHAR_V, CHAR_W, CHAR_X, CHAR_Y, CHAR_Z, 0xEF,
+ CHAR_COLON, 0xF4, 0xF5, 0xF6, 0xF1, 0xF2, 0xF3, CHAR_SPACE,
+ CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE
+};
+
+const u8 *const gUnknown_082F2BA8[][10] = {
+ {gUnknown_0862B9F9, gUnknown_0862B9FF, gUnknown_0862BA05, gUnknown_0862BA0B, gUnknown_0862BA11, gUnknown_0862BA17, gUnknown_0862BA1D, gUnknown_0862BA23, gUnknown_0862BA29, gUnknown_0862BA2F},
+ {gUnknown_0862BA35, gUnknown_0862BA3B, gUnknown_0862BA41, gUnknown_0862BA47, gUnknown_0862BA4D, gUnknown_0862BA53, gUnknown_0862BA59, gUnknown_0862BA5F, gUnknown_0862BA65, gUnknown_0862BA6B},
+ {gUnknown_0862BA79, gUnknown_0862BA84, gUnknown_0862BA8F, gUnknown_0862BA9A, gUnknown_0862BAA3, gUnknown_0862BAAE, gUnknown_0862BAB9, gUnknown_0862BAC4, gUnknown_0862BACF, gUnknown_0862BADA}
+};
+
+const u16 gUnknown_082F2C20[] = INCBIN_U16("graphics/interface/unk_palette1.gbapal");
+const u16 gUnknown_082F2C40[] = INCBIN_U16("graphics/interface/unk_palette2.gbapal");
+
+const struct BgTemplate gUnknown_082F2C60[] = {
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 7,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ }, {
+ .bg = 1,
+ .charBaseIndex = 3,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ }, {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 23,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ }, {
+ .bg = 3,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 15,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 1
+ }
+};
+
+const struct WindowTemplate gUnknown_082F2C70[] = {
+ {
+ .bg = 0x03,
+ .tilemapLeft = 0x08,
+ .tilemapTop = 0x01,
+ .width = 0x15,
+ .height = 0x13,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0001,
+ }, {
+ .bg = 0x01,
+ .tilemapLeft = 0x09,
+ .tilemapTop = 0x12,
+ .width = 0x0f,
+ .height = 0x02,
+ .paletteNum = 0x0c,
+ .baseBlock = 0x007a,
+ }, {
+ .bg = 0x01,
+ .tilemapLeft = 0x00,
+ .tilemapTop = 0x02,
+ .width = 0x06,
+ .height = 0x0f,
+ .paletteNum = 0x07,
+ .baseBlock = 0x0020,
+ }, {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x02,
+ .width = 0x07,
+ .height = 0x09,
+ .paletteNum = 0x0e,
+ .baseBlock = 0x0013,
+ }, { 0xFF }
+};
+
+const struct Unk82F2C98 gUnknown_082F2C98[] = {
+ {0x00000000, sub_801F658},
+ {0x00000003, sub_801F6F8},
+ {0x00000004, sub_801F730},
+ {0x00000005, sub_801F768},
+ {0x00000001, sub_801F7D4},
+ {0x00000006, sub_801F7E0},
+ {0x00000007, sub_801F82C},
+ {0x00000008, sub_801F870},
+ {0x00000009, sub_801F8DC},
+ {0x0000000a, sub_801F984},
+ {0x0000000b, sub_801FA2C},
+ {0x0000000c, sub_801FA68},
+ {0x00000002, sub_801FB44},
+ {0x0000000d, sub_801FB70},
+ {0x00000012, sub_801FBB4},
+ {0x00000013, sub_801FBF8},
+ {0x0000000e, sub_801FC4C},
+ {0x0000000f, sub_801FC9C},
+ {0x00000010, sub_801FCEC},
+ {0x00000011, sub_801FD30},
+ {0x00000014, sub_801FD88}
+};
+
+const struct Unk82F2D40 gUnknown_082F2D40[] = {
+ {gText_QuitChatting, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00},
+ {gText_RegisterTextWhere, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00},
+ {gText_RegisterTextHere, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00},
+ {gText_InputText, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00},
+ {gText_ExitingChat, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00},
+ {gText_LeaderLeftEndingChat, 0x02, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00},
+ {gText_RegisteredTextChanged, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01},
+ {gText_AlreadySavedFile_Unused, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01},
+ {gText_SavingDontTurnOff_Unused, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01},
+ {gText_PlayerSavedGame_Unused, 0x02, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01},
+ {gText_IfLeaderLeavesChatEnds, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01}
+};
+
+const u8 gText_Ellipsis[] = _("…");
+
+const struct MenuAction gUnknown_082F2DC8[] = {
+ {gText_Upper, NULL},
+ {gText_Lower, NULL},
+ {gText_Symbols, NULL},
+ {gText_Register2, NULL},
+ {gText_Exit2, NULL},
+};
+
+const u16 gUnknown_082F2DF0[] = INCBIN_U16("graphics/interface/unk_palette3.gbapal");
+const u32 gUnknown_082F2E10[] = INCBIN_U32("graphics/interface/unk_cursor.4bpp.lz");
+const u32 gUnknown_082F3094[] = INCBIN_U32("graphics/interface/unk_dash.4bpp.lz");
+const u32 gUnknown_082F30B4[] = INCBIN_U32("graphics/interface/unk_cursor_arrow.4bpp.lz");
+const u32 gUnknown_082F30E0[] = INCBIN_U32("graphics/interface/unk_rbutton.4bpp.lz");
+
+const struct CompressedSpriteSheet gUnknown_082F3134[] = {
+ {gUnknown_082F2E10, 0x1000, 0x0000},
+ {gUnknown_082F30B4, 0x0040, 0x0001},
+ {gUnknown_082F3094, 0x0040, 0x0002},
+ {gUnknown_082F30E0, 0x0080, 0x0003},
+ {gUnknown_08DD4CF8, 0x0400, 0x0004}
+};
+
+const struct SpritePalette gUnknown_082F315C = {
+ gUnknown_082F2DF0, 0x0000
+};
+
+const struct OamData gUnknown_082F3164 = {
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 3,
+ .priority = 1
+};
+
+const union AnimCmd gUnknown_082F316C[] = {
+ ANIMCMD_FRAME(0x00, 30),
+ ANIMCMD_END
+};
+
+const union AnimCmd gUnknown_082F3174[] = {
+ ANIMCMD_FRAME(0x20, 30),
+ ANIMCMD_END
+};
+
+const union AnimCmd gUnknown_082F317C[] = {
+ ANIMCMD_FRAME(0x40, 30),
+ ANIMCMD_END
+};
+
+const union AnimCmd gUnknown_082F3184[] = {
+ ANIMCMD_FRAME(0x60, 30),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gUnknown_082F318C[] = {
+ gUnknown_082F316C,
+ gUnknown_082F3174,
+ gUnknown_082F317C,
+ gUnknown_082F3184
+};
+
+const struct SpriteTemplate gUnknown_082F319C = {
+ .tileTag = 0x0000,
+ .paletteTag = 0x0000,
+ .oam = &gUnknown_082F3164,
+ .anims = gUnknown_082F318C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+const struct OamData gUnknown_082F31B4 = {
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 0,
+ .priority = 2
+};
+
+const struct SpriteTemplate gUnknown_082F31BC = {
+ .tileTag = 0x0002,
+ .paletteTag = 0x0000,
+ .oam = &gUnknown_082F31B4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8020ABC
+};
+
+const struct SpriteTemplate gUnknown_082F31D4 = {
+ .tileTag = 0x0001,
+ .paletteTag = 0x0000,
+ .oam = &gUnknown_082F31B4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8020AF4
+};
+
+const struct OamData gUnknown_082F31EC = {
+ .shape = ST_OAM_SQUARE,
+ .size = 1,
+ .priority = 2
+};
+
+const struct OamData gUnknown_082F31F4 = {
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 2,
+ .priority = 2
+};
+
+const union AnimCmd gUnknown_082F31FC[] = {
+ ANIMCMD_FRAME(0x00, 2),
+ ANIMCMD_END
+};
+
+const union AnimCmd gUnknown_082F3204[] = {
+ ANIMCMD_FRAME(0x08, 2),
+ ANIMCMD_END
+};
+
+const union AnimCmd gUnknown_082F320C[] = {
+ ANIMCMD_FRAME(0x10, 2),
+ ANIMCMD_END
+};
+
+const union AnimCmd gUnknown_082F3214[] = {
+ ANIMCMD_FRAME(0x18, 2),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gUnknown_082F321C[] = {
+ gUnknown_082F31FC,
+ gUnknown_082F3204,
+ gUnknown_082F320C,
+ gUnknown_082F3214
+};
+
+const struct SpriteTemplate gUnknown_082F322C = {
+ .tileTag = 0x0003,
+ .paletteTag = 0x0000,
+ .oam = &gUnknown_082F31EC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+const struct SpriteTemplate gUnknown_082F3244 = {
+ .tileTag = 0x0004,
+ .paletteTag = 0x0000,
+ .oam = &gUnknown_082F31F4,
+ .anims = gUnknown_082F321C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+void sub_801DD98(void)
+{
+ gUnknown_02022C84 = Alloc(sizeof(*gUnknown_02022C84));
+ sub_801DDD0(gUnknown_02022C84);
+ gKeyRepeatStartDelay = 20;
+ SetVBlankCallback(NULL);
+ SetMainCallback2(c2_081284E0);
+}
+
+static void sub_801DDD0(struct UnionRoomChat *unionRoomChat)
+{
+ int i;
+
+ unionRoomChat->unk4 = 0;
+ unionRoomChat->unk6 = 0;
+ unionRoomChat->unk10 = 0;
+ unionRoomChat->unk11 = 0;
+ unionRoomChat->unk12 = 0;
+ unionRoomChat->unk14 = 0;
+ unionRoomChat->unk15 = 0;
+ unionRoomChat->unk16 = 0;
+ unionRoomChat->unk1A[0] = EOS;
+ unionRoomChat->unkD = GetLinkPlayerCount();
+ unionRoomChat->unk13 = GetMultiplayerId();
+ unionRoomChat->unk17 = 0;
+ unionRoomChat->unk18 = 0;
+ sub_801EF1C(unionRoomChat->unk190);
+ for (i = 0; i < 10; i++)
+ StringCopy(unionRoomChat->unkB9[i], gSaveBlock1Ptr->unk3C88[i]);
+}
+
+void sub_801DE30(void)
+{
+ DestroyTask(gUnknown_02022C84->unkE);
+ DestroyTask(gUnknown_02022C84->unkF);
+ Free(gUnknown_02022C84);
+}
+
+static void c2_081284E0(void)
+{
+ switch (gMain.state)
+ {
+ case 0:
+ ResetTasks();
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ sub_801F4D0();
+ gMain.state++;
+ break;
+ case 1:
+ sub_801F5B8();
+ if (!sub_801F534())
+ {
+ BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK);
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
+ SetVBlankCallback(sub_801DF20);
+ gMain.state++;
+ }
+ break;
+ case 2:
+ UpdatePaletteFade();
+ if (!gPaletteFade.active)
+ {
+ SetMainCallback2(sub_801DF38);
+ gUnknown_02022C84->unkE = CreateTask(sub_801DF54, 8);
+ gUnknown_02022C84->unkF = CreateTask(sub_801F2B4, 7);
+ sub_800E0E8();
+ CreateWirelessStatusIndicatorSprite(232, 150);
+ }
+ break;
+ }
+}
+
+static void sub_801DF20(void)
+{
+ TransferPlttBuffer();
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ ScanlineEffect_InitHBlankDmaTransfer();
+}
+
+static void sub_801DF38(void)
+{
+ RunTasks();
+ sub_801F5B8();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+static void sub_801DF54(u8 taskId)
+{
+ switch (gUnknown_02022C84->unk17)
+ {
+ case 1:
+ sub_801EBD4(6);
+ gUnknown_02022C84->unk17 = 0;
+ break;
+ case 2:
+ sub_801EBD4(7);
+ gUnknown_02022C84->unk17 = 0;
+ break;
+ case 3:
+ sub_801EBD4(8);
+ gUnknown_02022C84->unk17 = 0;
+ break;
+ }
+
+ gUnknown_082F2A7C[gUnknown_02022C84->unk4]();
+}
+
+static void sub_801DFAC(void)
+{
+ switch (gUnknown_02022C84->unk6)
+ {
+ case 0:
+ sub_801EF24(gUnknown_02022C84->unk190);
+ gUnknown_02022C84->unk6++;
+ // fall through
+ case 1:
+ if (IsLinkTaskFinished() && !sub_8011A9C())
+ {
+ if (SendBlock(0, gUnknown_02022C84->unk190, sizeof(gUnknown_02022C84->unk190)))
+ gUnknown_02022C84->unk6++;
+ }
+ break;
+ case 2:
+ if (IsLinkTaskFinished())
+ sub_801EBD4(1);
+ break;
+ }
+}
+
+static void sub_801E030(void)
+{
+ bool8 var0, var1;
+
+ switch (gUnknown_02022C84->unk6)
+ {
+ case 0:
+ if (gMain.newKeys & START_BUTTON)
+ {
+ if (gUnknown_02022C84->unk15)
+ sub_801EBD4(4);
+ }
+ else if (gMain.newKeys & SELECT_BUTTON)
+ {
+ sub_801EBD4(2);
+ }
+ else if (gMain.newAndRepeatedKeys & B_BUTTON)
+ {
+ if (gUnknown_02022C84->unk15)
+ {
+ sub_801ED68();
+ sub_801F5EC(8, 0);
+ gUnknown_02022C84->unk6 = 1;
+ }
+ else
+ {
+ sub_801EBD4(3);
+ }
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ sub_801EC94();
+ sub_801F5EC(8, 0);
+ sub_801F5EC(2, 1);
+ gUnknown_02022C84->unk6 = 1;
+ }
+ else if (gMain.newKeys & R_BUTTON)
+ {
+ if (gUnknown_02022C84->unk10 != 3)
+ {
+ sub_801ED94();
+ sub_801F5EC(8, 0);
+ gUnknown_02022C84->unk6 = 1;
+ }
+ else
+ {
+ sub_801EBD4(5);
+ }
+ }
+ else if (sub_801EBE4())
+ {
+ sub_801F5EC(1, 0);
+ gUnknown_02022C84->unk6 = 1;
+ }
+ break;
+ case 1:
+ var0 = sub_801F644(0);
+ var1 = sub_801F644(1);
+ if (!var0 && !var1)
+ gUnknown_02022C84->unk6 = 0;
+ break;
+ }
+}
+
+static void sub_801E120(void)
+{
+ s16 input;
+ int var0;
+
+ switch (gUnknown_02022C84->unk6)
+ {
+ case 0:
+ sub_801F5EC(3, 0);
+ gUnknown_02022C84->unk6++;
+ break;
+ case 1:
+ if (!sub_801F644(0))
+ gUnknown_02022C84->unk6++;
+ break;
+ case 2:
+ input = Menu_ProcessInput();
+ switch (input)
+ {
+ default:
+ sub_801F5EC(4, 0);
+ var0 = 1;
+ if (gUnknown_02022C84->unk10 == input || input > 3)
+ var0 = 0;
+ break;
+ case MENU_NOTHING_CHOSEN:
+ if (gMain.newKeys & SELECT_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ Menu_MoveCursor(1);
+ }
+ return;
+ case MENU_B_PRESSED:
+ sub_801F5EC(4, 0);
+ gUnknown_02022C84->unk6 = 3;
+ return;
+ }
+
+ if (!var0)
+ {
+ gUnknown_02022C84->unk6 = 3;
+ return;
+ }
+
+ gUnknown_02022C84->unk11 = 0;
+ gUnknown_02022C84->unk12 = 0;
+ sub_801F5EC(5, 1);
+ gUnknown_02022C84->unk10 = input;
+ gUnknown_02022C84->unk6 = 4;
+ break;
+ case 3:
+ if (!sub_801F644(0))
+ sub_801EBD4(1);
+ break;
+ case 4:
+ if (!sub_801F644(0) && !sub_801F644(1))
+ sub_801EBD4(1);
+ break;
+ }
+}
+
+static void sub_801E240(void)
+{
+ s8 input;
+
+ switch (gUnknown_02022C84->unk6)
+ {
+ case 0:
+ sub_801F5EC(6, 0);
+ gUnknown_02022C84->unk6 = 1;
+ break;
+ case 1:
+ if (!sub_801F644(0))
+ gUnknown_02022C84->unk6 = 2;
+ break;
+ case 2:
+ input = sub_801FF08();
+ switch (input)
+ {
+ case -1:
+ case 1:
+ sub_801F5EC(7, 0);
+ gUnknown_02022C84->unk6 = 3;
+ break;
+ case 0:
+ if (gUnknown_02022C84->unk13 == 0)
+ {
+ sub_801EFD0(gUnknown_02022C84->unk190);
+ sub_801F5EC(7, 0);
+ gUnknown_02022C84->unk6 = 9;
+ }
+ else
+ {
+ sub_801EF7C(gUnknown_02022C84->unk190);
+ gUnknown_02022C84->unk6 = 4;
+ }
+ break;
+ }
+ break;
+ case 3:
+ if (!sub_801F644(0))
+ sub_801EBD4(1);
+ break;
+ case 9:
+ if (!sub_801F644(0))
+ {
+ sub_801F5EC(20, 0);
+ gUnknown_02022C84->unk6 = 10;
+ }
+ break;
+ case 10:
+ if (!sub_801F644(0))
+ gUnknown_02022C84->unk6 = 8;
+ break;
+ case 8:
+ input = sub_801FF08();
+ switch (input)
+ {
+ case -1:
+ case 1:
+ sub_801F5EC(7, 0);
+ gUnknown_02022C84->unk6 = 3;
+ break;
+ case 0:
+ sub_80104B0();
+ sub_801EFD0(gUnknown_02022C84->unk190);
+ gUnknown_02022C84->unk6 = 4;
+ gUnknown_02022C84->unk1B8 = 0;
+ break;
+ }
+ break;
+ case 4:
+ if (IsLinkTaskFinished() && !sub_8011A9C() && SendBlock(0, gUnknown_02022C84->unk190, sizeof(gUnknown_02022C84->unk190)))
+ {
+ if (!gUnknown_02022C84->unk13)
+ gUnknown_02022C84->unk6 = 6;
+ else
+ gUnknown_02022C84->unk6 = 5;
+ }
+
+ if (!gReceivedRemoteLinkPlayers)
+ sub_801EBD4(9);
+ break;
+ case 5:
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ sub_801EBD4(9);
+ }
+ else if (++gUnknown_02022C84->unk1B8 > 300)
+ {
+ gUnknown_02022C84->unk1B8 = 0;
+ gUnknown_02022C84->unk6 = 4;
+ }
+ break;
+ }
+}
+
+static void sub_801E460(void)
+{
+ switch (gUnknown_02022C84->unk6)
+ {
+ case 0:
+ if (!FuncIsActiveTask(sub_801F2B4))
+ {
+ sub_801F5EC(7, 0);
+ gUnknown_02022C84->unk6++;
+ }
+ break;
+ case 1:
+ if (!sub_801F644(0))
+ {
+ sub_801F5EC(18, 0);
+ gUnknown_02022C84->unk6++;
+ }
+ break;
+ case 2:
+ if (!sub_801F644(0))
+ {
+ sub_801EFA8(gUnknown_02022C84->unk190);
+ gUnknown_02022C84->unk6++;
+ }
+ break;
+ case 3:
+ if (IsLinkTaskFinished() && !sub_8011A9C() && SendBlock(0, gUnknown_02022C84->unk190, sizeof(gUnknown_02022C84->unk190)))
+ gUnknown_02022C84->unk6++;
+ break;
+ case 4:
+ if ((GetBlockReceivedStatus() & 1) && !sub_8011A9C())
+ gUnknown_02022C84->unk6++;
+ break;
+ case 5:
+ if (IsLinkTaskFinished() && !sub_8011A9C())
+ {
+ sub_800AC34();
+ gUnknown_02022C84->unkA = 0;
+ gUnknown_02022C84->unk6++;
+ }
+ break;
+ case 6:
+ if (gUnknown_02022C84->unkA < 150)
+ gUnknown_02022C84->unkA++;
+
+ if (!gReceivedRemoteLinkPlayers)
+ gUnknown_02022C84->unk6++;
+ break;
+ case 7:
+ if (gUnknown_02022C84->unkA >= 150)
+ sub_801EBD4(9);
+ else
+ gUnknown_02022C84->unkA++;
+ break;
+ }
+}
+
+static void sub_801E5C4(void)
+{
+ switch (gUnknown_02022C84->unk6)
+ {
+ case 0:
+ if (!FuncIsActiveTask(sub_801F2B4))
+ {
+ sub_801F5EC(7, 0);
+ gUnknown_02022C84->unk6++;
+ }
+ break;
+ case 1:
+ if (!sub_801F644(0) && IsLinkTaskFinished() && !sub_8011A9C())
+ {
+ sub_800AC34();
+ gUnknown_02022C84->unkA = 0;
+ gUnknown_02022C84->unk6++;
+ }
+ break;
+ case 2:
+ if (gUnknown_02022C84->unkA < 150)
+ gUnknown_02022C84->unkA++;
+
+ if (!gReceivedRemoteLinkPlayers)
+ gUnknown_02022C84->unk6++;
+ break;
+ case 3:
+ if (gUnknown_02022C84->unkA >= 150)
+ sub_801EBD4(9);
+ else
+ gUnknown_02022C84->unkA++;
+ break;
+ }
+}
+
+static void sub_801E668(void)
+{
+ switch (gUnknown_02022C84->unk6)
+ {
+ case 0:
+ if (!FuncIsActiveTask(sub_801F2B4))
+ {
+ if (gUnknown_02022C84->unk13)
+ sub_801F5EC(7, 0);
+
+ gUnknown_02022C84->unk6++;
+ }
+ break;
+ case 1:
+ if (!sub_801F644(0))
+ {
+ if (gUnknown_02022C84->unk13)
+ sub_801F5EC(19, 0);
+
+ gUnknown_02022C84->unk6++;
+ }
+ break;
+ case 2:
+ if (sub_801F644(0) != TRUE && IsLinkTaskFinished() && !sub_8011A9C())
+ {
+ sub_800AC34();
+ gUnknown_02022C84->unkA = 0;
+ gUnknown_02022C84->unk6++;
+ }
+ break;
+ case 3:
+ if (gUnknown_02022C84->unkA < 150)
+ gUnknown_02022C84->unkA++;
+
+ if (!gReceivedRemoteLinkPlayers)
+ gUnknown_02022C84->unk6++;
+ break;
+ case 4:
+ if (gUnknown_02022C84->unkA >= 150)
+ sub_801EBD4(9);
+ else
+ gUnknown_02022C84->unkA++;
+ break;
+ }
+}
+
+static void sub_801E764(void)
+{
+ switch (gUnknown_02022C84->unk6)
+ {
+ case 0:
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ sub_801EBD4(1);
+ break;
+ }
+
+ sub_801EF4C(gUnknown_02022C84->unk190);
+ gUnknown_02022C84->unk6++;
+ // fall through
+ case 1:
+ if (IsLinkTaskFinished() == TRUE && !sub_8011A9C() && SendBlock(0, gUnknown_02022C84->unk190, sizeof(gUnknown_02022C84->unk190)))
+ gUnknown_02022C84->unk6++;
+ break;
+ case 2:
+ sub_801EE10();
+ sub_801F5EC(8, 0);
+ gUnknown_02022C84->unk6++;
+ break;
+ case 3:
+ if (!sub_801F644(0))
+ gUnknown_02022C84->unk6++;
+ break;
+ case 4:
+ if (IsLinkTaskFinished())
+ sub_801EBD4(1);
+ break;
+ }
+}
+
+static void sub_801E838(void)
+{
+ switch (gUnknown_02022C84->unk6)
+ {
+ case 0:
+ if (sub_801EDC4())
+ {
+ sub_801F5EC(9, 0);
+ gUnknown_02022C84->unk6 = 2;
+ }
+ else
+ {
+ sub_801F5EC(13, 0);
+ gUnknown_02022C84->unk6 = 5;
+ }
+ break;
+ case 1:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ sub_801EDE0();
+ sub_801F5EC(11, 0);
+ gUnknown_02022C84->unk6 = 3;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ sub_801F5EC(10, 0);
+ gUnknown_02022C84->unk6 = 4;
+ }
+ else if (sub_801EBE4())
+ {
+ sub_801F5EC(1, 0);
+ gUnknown_02022C84->unk6 = 2;
+ }
+ break;
+ case 2:
+ if (!sub_801F644(0))
+ gUnknown_02022C84->unk6 = 1;
+ break;
+ case 3:
+ if (!sub_801F644(0))
+ {
+ sub_801F5EC(10, 0);
+ gUnknown_02022C84->unk6 = 4;
+ }
+ break;
+ case 4:
+ if (!sub_801F644(0))
+ sub_801EBD4(1);
+ break;
+ case 5:
+ if (!sub_801F644(0))
+ gUnknown_02022C84->unk6 = 6;
+ break;
+ case 6:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ sub_801F5EC(7, 0);
+ gUnknown_02022C84->unk6 = 4;
+ }
+ break;
+ }
+}
+
+static void sub_801E978(void)
+{
+ s8 input;
+
+ switch (gUnknown_02022C84->unk6)
+ {
+ case 0:
+ if (!gUnknown_02022C84->unk18)
+ {
+ gUnknown_02022C84->unk6 = 12;
+ }
+ else
+ {
+ sub_801F5EC(7, 0);
+ gUnknown_02022C84->unk6 = 1;
+ }
+ break;
+ case 1:
+ if (!sub_801F644(0))
+ {
+ sub_801F5EC(14, 0);
+ gUnknown_02022C84->unk6 = 2;
+ }
+ break;
+ case 2:
+ input = sub_801FF08();
+ switch (input)
+ {
+ case -1:
+ case 1:
+ gUnknown_02022C84->unk6 = 12;
+ break;
+ case 0:
+ sub_801F5EC(7, 0);
+ gUnknown_02022C84->unk6 = 3;
+ break;
+ }
+ break;
+ case 3:
+ if (!sub_801F644(0))
+ {
+ sub_801F5EC(15, 0);
+ gUnknown_02022C84->unk6 = 4;
+ }
+ break;
+ case 4:
+ if (!sub_801F644(0))
+ gUnknown_02022C84->unk6 = 5;
+ break;
+ case 5:
+ input = sub_801FF08();
+ switch (input)
+ {
+ case -1:
+ case 1:
+ gUnknown_02022C84->unk6 = 12;
+ break;
+ case 0:
+ sub_801F5EC(7, 0);
+ gUnknown_02022C84->unk6 = 6;
+ break;
+ }
+ break;
+ case 6:
+ if (!sub_801F644(0))
+ {
+ sub_801F5EC(16, 0);
+ sub_801EE2C();
+ gUnknown_02022C84->unk6 = 7;
+ }
+ break;
+ case 7:
+ if (!sub_801F644(0))
+ {
+ SetContinueGameWarpStatusToDynamicWarp();
+ TrySavingData(SAVE_NORMAL);
+ gUnknown_02022C84->unk6 = 8;
+ }
+ break;
+ case 8:
+ sub_801F5EC(17, 0);
+ gUnknown_02022C84->unk6 = 9;
+ break;
+ case 9:
+ if (!sub_801F644(0))
+ {
+ PlaySE(SE_SAVE);
+ ClearContinueGameWarpStatus2();
+ gUnknown_02022C84->unk6 = 10;
+ }
+ break;
+ case 10:
+ gUnknown_02022C84->unk19 = 0;
+ gUnknown_02022C84->unk6 = 11;
+ break;
+ case 11:
+ gUnknown_02022C84->unk19++;
+ if (gUnknown_02022C84->unk19 > 120)
+ gUnknown_02022C84->unk6 = 12;
+ break;
+ case 12:
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
+ gUnknown_02022C84->unk6 = 13;
+ break;
+ case 13:
+ if (!gPaletteFade.active)
+ {
+ sub_801F544();
+ sub_801DE30();
+ SetMainCallback2(CB2_ReturnToField);
+ }
+ break;
+ }
+}
+
+static void sub_801EBD4(u16 arg0)
+{
+ gUnknown_02022C84->unk4 = arg0;
+ gUnknown_02022C84->unk6 = 0;
+}
+
+static bool32 sub_801EBE4(void)
+{
+ if (!(gMain.newAndRepeatedKeys & DPAD_UP))
+ {
+ if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ if (gUnknown_02022C84->unk12 < sUnknown_082F2AA4[gUnknown_02022C84->unk10])
+ gUnknown_02022C84->unk12++;
+ else
+ gUnknown_02022C84->unk12 = 0;
+
+ return TRUE;
+ }
+
+ if (gUnknown_02022C84->unk10 != 3)
+ {
+ if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ if (gUnknown_02022C84->unk11)
+ gUnknown_02022C84->unk11--;
+ else
+ gUnknown_02022C84->unk11 = 4;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ if (gUnknown_02022C84->unk11 > 3)
+ gUnknown_02022C84->unk11 = 0;
+ else
+ gUnknown_02022C84->unk11++;
+ }
+ else
+ {
+ return FALSE;
+ }
+
+ return TRUE;
+ }
+
+ return FALSE;
+ }
+ else
+ {
+ if (gUnknown_02022C84->unk12)
+ gUnknown_02022C84->unk12--;
+ else
+ gUnknown_02022C84->unk12 = sUnknown_082F2AA4[gUnknown_02022C84->unk10];
+
+ return TRUE;
+ }
+}
+
+static void sub_801EC94(void)
+{
+ int i;
+ const u8 *charsStr;
+ int strLength;
+ u8 *str;
+ u8 buffer[21];
+
+ if (gUnknown_02022C84->unk10 != 3)
+ {
+ charsStr = gUnknown_082F2BA8[gUnknown_02022C84->unk10][gUnknown_02022C84->unk12];
+ for (i = 0; i < gUnknown_02022C84->unk11; i++)
+ {
+ if (*charsStr == CHAR_SPECIAL_F9)
+ charsStr++;
+ charsStr++;
+ }
+
+ strLength = 1;
+ }
+ else
+ {
+ u8 *tempStr = StringCopy(buffer, gUnknown_02022C84->unkB9[gUnknown_02022C84->unk12]);
+ tempStr[0] = CHAR_SPACE;
+ tempStr[1] = EOS;
+ charsStr = buffer;
+ strLength = StringLength_Multibyte(buffer);
+ }
+
+ gUnknown_02022C84->unk14 = gUnknown_02022C84->unk15;
+ if (!charsStr)
+ return;
+
+ str = sub_801EE84();
+ while (--strLength != -1 && gUnknown_02022C84->unk15 < 15)
+ {
+ if (*charsStr == CHAR_SPECIAL_F9)
+ {
+ *str = *charsStr;
+ charsStr++;
+ str++;
+ }
+
+ *str = *charsStr;
+ charsStr++;
+ str++;
+
+ gUnknown_02022C84->unk15++;
+ }
+
+ *str = EOS;
+}
+
+static void sub_801ED68(void)
+{
+ gUnknown_02022C84->unk14 = gUnknown_02022C84->unk15;
+ if (gUnknown_02022C84->unk15)
+ {
+ u8 *str = sub_801EEA8();
+ *str = EOS;
+ gUnknown_02022C84->unk15--;
+ }
+}
+
+static void sub_801ED94(void)
+{
+ u8 *str;
+ u8 character;
+
+ gUnknown_02022C84->unk14 = gUnknown_02022C84->unk15 - 1;
+ str = sub_801EEA8();
+ if (*str != CHAR_SPECIAL_F9)
+ {
+ character = gUnknown_082F2AA8[*str];
+ if (character)
+ *str = character;
+ }
+}
+
+static bool32 sub_801EDC4(void)
+{
+ if (gUnknown_02022C84->unk15)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static void sub_801EDE0(void)
+{
+ u8 *src = sub_801F114();
+ StringCopy(gUnknown_02022C84->unkB9[gUnknown_02022C84->unk12], src);
+ gUnknown_02022C84->unk18 = 1;
+}
+
+static void sub_801EE10(void)
+{
+ gUnknown_02022C84->unk1A[0] = EOS;
+ gUnknown_02022C84->unk14 = 15;
+ gUnknown_02022C84->unk15 = 0;
+}
+
+static void sub_801EE2C(void)
+{
+ int i;
+ for (i = 0; i < 10; i++)
+ StringCopy(gSaveBlock1Ptr->unk3C88[i], gUnknown_02022C84->unkB9[i]);
+}
+
+static u8 *sub_801EE6C(int arg0)
+{
+ return gUnknown_02022C84->unkB9[arg0];
+}
+
+static u8 *sub_801EE84(void)
+{
+ u8 *str = gUnknown_02022C84->unk1A;
+ while (*str != EOS)
+ str++;
+
+ return str;
+}
+
+static u8 *sub_801EEA8(void)
+{
+ u8 *str = gUnknown_02022C84->unk1A;
+ u8 *str2 = str;
+ while (*str != EOS)
+ {
+ str2 = str;
+ if (*str == CHAR_SPECIAL_F9)
+ str++;
+ str++;
+ }
+
+ return str2;
+}
+
+static u16 sub_801EED8(void)
+{
+ u8 *str;
+ u32 i, numChars, strLength;
+
+ strLength = StringLength_Multibyte(gUnknown_02022C84->unk1A);
+ str = gUnknown_02022C84->unk1A;
+ numChars = 0;
+ if (strLength > 10)
+ {
+ strLength -= 10;
+ for (i = 0; i < strLength; i++)
+ {
+ if (*str == CHAR_SPECIAL_F9)
+ str++;
+
+ str++;
+ numChars++;
+ }
+ }
+
+ return numChars;
+}
+
+static void sub_801EF1C(u8 *arg0)
+{
+ arg0[0] = CHAR_SPACE;
+}
+
+static void sub_801EF24(u8 *arg0)
+{
+ arg0[0] = 2;
+ StringCopy(&arg0[1], gSaveBlock2Ptr->playerName);
+ arg0[1 + (PLAYER_NAME_LENGTH + 1)] = gUnknown_02022C84->unk13;
+}
+
+static void sub_801EF4C(u8 *arg0)
+{
+ arg0[0] = 1;
+ StringCopy(&arg0[1], gSaveBlock2Ptr->playerName);
+ StringCopy(&arg0[1 + (PLAYER_NAME_LENGTH + 1)], gUnknown_02022C84->unk1A);
+}
+
+static void sub_801EF7C(u8 *arg0)
+{
+ arg0[0] = 3;
+ StringCopy(&arg0[1], gSaveBlock2Ptr->playerName);
+ arg0[1 + (PLAYER_NAME_LENGTH + 1)] = gUnknown_02022C84->unk13;
+ sub_8011A50();
+}
+
+static void sub_801EFA8(u8 *arg0)
+{
+ arg0[0] = 4;
+ StringCopy(&arg0[1], gSaveBlock2Ptr->playerName);
+ arg0[1 + (PLAYER_NAME_LENGTH + 1)] = gUnknown_02022C84->unk13;
+}
+
+static void sub_801EFD0(u8 *arg0)
+{
+ arg0[0] = 5;
+ StringCopy(&arg0[1], gSaveBlock2Ptr->playerName);
+ arg0[1 + (PLAYER_NAME_LENGTH + 1)] = gUnknown_02022C84->unk13;
+}
+
+static bool32 sub_801EFF8(u8 *arg0, u8 *arg1)
+{
+ u8 *tempStr;
+ u8 var0 = *arg1;
+ u8 *str = arg1 + 1;
+ arg1 = str;
+ arg1 += 8;
+
+ switch (var0)
+ {
+ case 2:
+ if (gUnknown_02022C84->unk13 != str[8])
+ {
+ DynamicPlaceholderTextUtil_Reset();
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, str);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(arg0, gText_F700JoinedChat);
+ return TRUE;
+ }
+ break;
+ case 1:
+ tempStr = StringCopy(arg0, str);
+ *(tempStr++) = EXT_CTRL_CODE_BEGIN;
+ *(tempStr++) = EXT_CTRL_CODE_CLEAR_TO;
+ *(tempStr++) = 42;
+ *(tempStr++) = CHAR_COLON;
+ StringCopy(tempStr, arg1);
+ return TRUE;
+ case 5:
+ StringCopy(gUnknown_02022C84->unk79, str);
+ // fall through
+ case 3:
+ if (gUnknown_02022C84->unk13 != *arg1)
+ {
+ DynamicPlaceholderTextUtil_Reset();
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, str);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(arg0, gText_F700LeftChat);
+ return TRUE;
+ }
+ break;
+ }
+
+ return FALSE;
+}
+
+static u8 sub_801F0B0(void)
+{
+ return gUnknown_02022C84->unk10;
+}
+
+static void sub_801F0BC(u8 *arg0, u8 *arg1)
+{
+ *arg0 = gUnknown_02022C84->unk11;
+ *arg1 = gUnknown_02022C84->unk12;
+}
+
+static u8 *sub_801F0D0(void)
+{
+ return gUnknown_02022C84->unk1A;
+}
+
+static int sub_801F0DC(void)
+{
+ u8 *str = sub_801F0D0();
+ return StringLength_Multibyte(str);
+}
+
+static void sub_801F0EC(u32 *arg0, u32 *arg1)
+{
+ int diff = gUnknown_02022C84->unk15 - gUnknown_02022C84->unk14;
+ if (diff < 0)
+ {
+ diff *= -1;
+ *arg0 = gUnknown_02022C84->unk15;
+ }
+ else
+ {
+ *arg0 = gUnknown_02022C84->unk14;
+ }
+
+ *arg1 = diff;
+}
+
+static u8 *sub_801F114(void)
+{
+ int i;
+ u16 numChars = sub_801EED8();
+ u8 *str = gUnknown_02022C84->unk1A;
+ for (i = 0; i < numChars; i++)
+ {
+ if (*str == CHAR_SPECIAL_F9)
+ *str++;
+
+ str++;
+ }
+
+ return str;
+}
+
+static u16 sub_801F144(void)
+{
+ u16 count;
+ u32 i;
+ u16 numChars = sub_801EED8();
+ u8 *str = gUnknown_02022C84->unk1A;
+ for (count = 0, i = 0; i < numChars; count++, i++)
+ {
+ if (*str == CHAR_SPECIAL_F9)
+ str++;
+
+ str++;
+ }
+
+ return count;
+}
+
+static u8 *sub_801F180(void)
+{
+ return gUnknown_02022C84->unk39;
+}
+
+static u8 sub_801F18C(void)
+{
+ return gUnknown_02022C84->unk16;
+}
+
+static int sub_801F198(void)
+{
+ return gUnknown_02022C84->unk15;
+}
+
+static int sub_801F1A4(void)
+{
+ u8 *str = sub_801EEA8();
+ u32 character = *str;
+ if (character > 0xFF || gUnknown_082F2AA8[character] == character || gUnknown_082F2AA8[character] == 0)
+ return 3;
+ else
+ return 0;
+}
+
+static u8 *sub_801F1D0(void)
+{
+ return gUnknown_02022C84->unk79;
+}
+
+void copy_strings_to_sav1(void)
+{
+ StringCopy(gSaveBlock1Ptr->unk3C88[0], gText_Hello);
+ StringCopy(gSaveBlock1Ptr->unk3C88[1], gText_Pokemon2);
+ StringCopy(gSaveBlock1Ptr->unk3C88[2], gText_Trade);
+ StringCopy(gSaveBlock1Ptr->unk3C88[3], gText_Battle);
+ StringCopy(gSaveBlock1Ptr->unk3C88[4], gText_Lets);
+ StringCopy(gSaveBlock1Ptr->unk3C88[5], gText_Ok);
+ StringCopy(gSaveBlock1Ptr->unk3C88[6], gText_Sorry);
+ StringCopy(gSaveBlock1Ptr->unk3C88[7], gText_YayUnkF9F9);
+ StringCopy(gSaveBlock1Ptr->unk3C88[8], gText_ThankYou);
+ StringCopy(gSaveBlock1Ptr->unk3C88[9], gText_ByeBye);
+}
+
+static void sub_801F2B4(u8 taskId)
+{
+ u8 *buffer;
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ DestroyTask(taskId);
+ return;
+ }
+
+ data[0] = 1;
+ // fall through
+ case 1:
+ data[4] = GetLinkPlayerCount();
+ if (gUnknown_02022C84->unkD != data[4])
+ {
+ data[0] = 2;
+ gUnknown_02022C84->unkD = data[4];
+ return;
+ }
+
+ data[3] = GetBlockReceivedStatus();
+ if (!data[3] && sub_8011A9C())
+ return;
+
+ data[1] = 0;
+ data[0] = 3;
+ // fall through
+ case 3:
+ for (; data[1] < 5 && ((data[3] >> data[1]) & 1) == 0; data[1]++)
+ ;
+
+ if (data[1] == 5)
+ {
+ data[0] = 1;
+ return;
+ }
+
+ data[2] = data[1];
+ ResetBlockReceivedFlag(data[2]);
+ buffer = (u8 *)gBlockRecvBuffer[data[1]];
+ switch (buffer[0])
+ {
+ default:
+ case 1: data[5] = 3; break;
+ case 2: data[5] = 3; break;
+ case 3: data[5] = 4; break;
+ case 4: data[5] = 5; break;
+ case 5: data[5] = 6; break;
+ }
+
+ if (sub_801EFF8(gUnknown_02022C84->unk39, (u8 *)gBlockRecvBuffer[data[1]]))
+ {
+ gUnknown_02022C84->unk16 = data[1];
+ sub_801F5EC(12, 2);
+ data[0] = 7;
+ }
+ else
+ {
+ data[0] = data[5];
+ }
+
+ data[1]++;
+ break;
+ case 7:
+ if (!sub_801F644(2))
+ data[0] = data[5];
+ break;
+ case 4:
+ if (!gUnknown_02022C84->unk13 && data[2])
+ {
+ if (GetLinkPlayerCount() == 2)
+ {
+ sub_80104B0();
+ gUnknown_02022C84->unk17 = 1;
+ DestroyTask(taskId);
+ return;
+ }
+
+ sub_8011DE0(data[2]);
+ }
+
+ data[0] = 3;
+ break;
+ case 5:
+ if (gUnknown_02022C84->unk13)
+ gUnknown_02022C84->unk17 = 2;
+
+ DestroyTask(taskId);
+ break;
+ case 6:
+ gUnknown_02022C84->unk17 = 3;
+ DestroyTask(taskId);
+ break;
+ case 2:
+ if (!sub_8011A9C())
+ {
+ if (!gUnknown_02022C84->unk13)
+ sub_80110B8(gUnknown_02022C84->unkD);
+
+ data[0] = 1;
+ }
+ break;
+ }
+}
+
+static bool8 sub_801F4D0(void)
+{
+ gUnknown_02022C88 = Alloc(sizeof(*gUnknown_02022C88));
+ if (gUnknown_02022C88 && sub_8020890())
+ {
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, gUnknown_082F2C60, ARRAY_COUNT(gUnknown_082F2C60));
+ InitWindows(gUnknown_082F2C70);
+ reset_temp_tile_data_buffers();
+ sub_8020770();
+ sub_801F574(gUnknown_02022C88);
+ sub_801F580();
+ sub_801F5EC(0, 0);
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+static bool32 sub_801F534(void)
+{
+ return sub_801F644(0);
+}
+
+static void sub_801F544(void)
+{
+ sub_80208D0();
+ if (gUnknown_02022C88)
+ FREE_AND_SET_NULL(gUnknown_02022C88);
+
+ FreeAllWindowBuffers();
+ gScanlineEffect.state = 3;
+}
+
+static void sub_801F574(struct UnionRoomChat2 *arg0)
+{
+ arg0->unk18 = 0xFF;
+ arg0->unk1E = 0xFF;
+ arg0->unk1A = 0;
+}
+
+static void sub_801F580(void)
+{
+ int i;
+
+ if (!gUnknown_02022C88)
+ return;
+
+ for (i = 0; i < 3; i++)
+ {
+ gUnknown_02022C88->unk0[i].unk0 = sub_801FDD8;
+ gUnknown_02022C88->unk0[i].unk4 = 0;
+ gUnknown_02022C88->unk0[i].unk5 = 0;
+ }
+}
+
+static void sub_801F5B8(void)
+{
+ int i;
+
+ if (!gUnknown_02022C88)
+ return;
+
+ for (i = 0; i < 3; i++)
+ {
+ gUnknown_02022C88->unk0[i].unk4 =
+ gUnknown_02022C88->unk0[i].unk0(&gUnknown_02022C88->unk0[i].unk5);
+ }
+}
+
+static void sub_801F5EC(u16 arg0, u8 arg1)
+{
+ u32 i;
+
+ gUnknown_02022C88->unk0[arg1].unk0 = sub_801FDD8;
+ for (i = 0; i < 21; i++)
+ {
+ if (gUnknown_082F2C98[i].unk0 == arg0)
+ {
+ gUnknown_02022C88->unk0[arg1].unk0 = gUnknown_082F2C98[i].unk4;
+ gUnknown_02022C88->unk0[arg1].unk4 = 1;
+ gUnknown_02022C88->unk0[arg1].unk5 = 0;
+ break;
+ }
+ }
+}
+
+static bool8 sub_801F644(u8 arg0)
+{
+ return gUnknown_02022C88->unk0[arg0].unk4;
+}
+
+bool32 sub_801F658(u8 *state)
+{
+ if (free_temp_tile_data_buffers_if_possible() == TRUE)
+ return TRUE;
+
+ switch (*state)
+ {
+ case 0:
+ sub_8020480();
+ sub_8020538();
+ break;
+ case 1:
+ sub_8020584();
+ break;
+ case 2:
+ sub_80205B4();
+ break;
+ case 3:
+ sub_8020604();
+ break;
+ case 4:
+ sub_8020680();
+ break;
+ case 5:
+ sub_80206A4();
+ sub_80206D0();
+ sub_8020740();
+ sub_80206E8();
+ break;
+ case 6:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_80208E8();
+ sub_8020A68();
+ sub_8020B20();
+ }
+ break;
+ default:
+ return FALSE;
+ }
+
+ (*state)++;
+ return TRUE;
+}
+
+bool32 sub_801F6F8(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ sub_80203B0();
+ CopyWindowToVram(3, 3);
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ (*state)++;
+ return TRUE;
+}
+
+bool32 sub_801F730(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ sub_802040C();
+ CopyWindowToVram(3, 3);
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ (*state)++;
+ return TRUE;
+}
+
+bool32 sub_801F768(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ sub_802091C(TRUE);
+ if (sub_8020320())
+ return TRUE;
+
+ sub_80201A4();
+ CopyWindowToVram(2, 2);
+ break;
+ case 1:
+ if (IsDma3ManagerBusyWithBgCopy())
+ return TRUE;
+ break;
+ case 2:
+ if (sub_8020368())
+ return TRUE;
+
+ sub_802093C();
+ sub_802091C(FALSE);
+ sub_8020B80();
+ return FALSE;
+ }
+
+ (*state)++;
+ return TRUE;
+}
+
+bool32 sub_801F7D4(u8 *state)
+{
+ sub_802093C();
+ return FALSE;
+}
+
+bool32 sub_801F7E0(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ sub_801FF18(0, 0);
+ sub_801FDDC(23, 11, 1);
+ CopyWindowToVram(gUnknown_02022C88->unk1E, 3);
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ (*state)++;
+ return TRUE;
+}
+
+bool32 sub_801F82C(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ sub_8020094();
+ sub_801FEBC();
+ CopyBgTilemapBufferToVram(0);
+ break;
+ case 1:
+ if (IsDma3ManagerBusyWithBgCopy())
+ return TRUE;
+
+ sub_80200C8();
+ sub_801FEE4();
+ return FALSE;
+ }
+
+ (*state)++;
+ return TRUE;
+}
+
+bool32 sub_801F870(u8 *state)
+{
+ u32 var0, var1;
+ u8 *str;
+
+ switch (*state)
+ {
+ case 0:
+ sub_801F0EC(&var0, &var1);
+ sub_80200EC(var0, var1, 0);
+ str = sub_801F0D0();
+ sub_8020118(0, str, 3, 1, 2);
+ CopyWindowToVram(1, 2);
+ break;
+ case 1:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_8020B80();
+ return FALSE;
+ }
+ return TRUE;
+ }
+
+ (*state)++;
+ return TRUE;
+}
+
+bool32 sub_801F8DC(u8 *state)
+{
+ u16 var0;
+ u8 *str;
+ u16 length;
+
+ switch (*state)
+ {
+ case 0:
+ var0 = sub_801F144();
+ str = sub_801F114();
+ length = StringLength_Multibyte(str);
+ sub_80200EC(var0, length, PIXEL_FILL(6));
+ sub_8020118(var0, str, 0, 4, 5);
+ CopyWindowToVram(1, 2);
+ break;
+ case 1:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_801FF18(1, 16);
+ CopyWindowToVram(gUnknown_02022C88->unk1E, 3);
+ }
+ else
+ {
+ return TRUE;
+ }
+ break;
+ case 2:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ sub_80209AC(1);
+ else
+ return TRUE;
+ break;
+ case 3:
+ return FALSE;
+ }
+
+ (*state)++;
+ return TRUE;
+}
+
+bool32 sub_801F984(u8 *state)
+{
+ u16 var0;
+ u8 *str;
+ u16 length;
+
+ switch (*state)
+ {
+ case 0:
+ var0 = sub_801F144();
+ str = sub_801F114();
+ length = StringLength_Multibyte(str);
+ sub_80200EC(var0, length, PIXEL_FILL(0));
+ sub_8020118(var0, str, 3, 1, 2);
+ CopyWindowToVram(1, 2);
+ break;
+ case 1:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_8020094();
+ CopyWindowToVram(gUnknown_02022C88->unk1E, 3);
+ }
+ else
+ {
+ return TRUE;
+ }
+ break;
+ case 2:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_80209AC(0);
+ sub_80200C8();
+ }
+ else
+ {
+ return TRUE;
+ }
+ break;
+ case 3:
+ return FALSE;
+ }
+
+ (*state)++;
+ return TRUE;
+}
+
+bool32 sub_801FA2C(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ sub_80201A4();
+ CopyWindowToVram(2, 2);
+ (*state)++;
+ break;
+ case 1:
+ if (IsDma3ManagerBusyWithBgCopy())
+ return TRUE;
+ else
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool32 sub_801FA68(u8 *state)
+{
+ u16 var0;
+ u8 *str;
+ u8 var1;
+
+ switch (*state)
+ {
+ case 0:
+ var0 = gUnknown_02022C88->unk1A;
+ str = sub_801F180();
+ var1 = sub_801F18C();
+ sub_8020420(var0, str, var1);
+ CopyWindowToVram(0, 2);
+ break;
+ case 1:
+ if (IsDma3ManagerBusyWithBgCopy())
+ return TRUE;
+
+ if (gUnknown_02022C88->unk1A < 9)
+ {
+ gUnknown_02022C88->unk1A++;
+ *state = 4;
+ return FALSE;
+ }
+ else
+ {
+ gUnknown_02022C88->unk1C = 0;
+ (*state)++;
+ }
+ // fall through
+ case 2:
+ ScrollWindow(0, 0, 5, PIXEL_FILL(1));
+ CopyWindowToVram(0, 2);
+ gUnknown_02022C88->unk1C++;
+ (*state)++;
+ // fall through
+ case 3:
+ if (IsDma3ManagerBusyWithBgCopy())
+ return TRUE;
+
+ if (gUnknown_02022C88->unk1C < 3)
+ {
+ (*state)--;
+ return TRUE;
+ }
+ break;
+ case 4:
+ return FALSE;
+ default:
+ return TRUE;
+ }
+
+ (*state)++;
+ return TRUE;
+}
+
+bool32 sub_801FB44(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ sub_80209E0();
+ (*state)++;
+ break;
+ case 1:
+ return sub_8020A1C();
+ }
+
+ return TRUE;
+}
+
+bool32 sub_801FB70(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ sub_801FF18(3, 16);
+ CopyWindowToVram(gUnknown_02022C88->unk1E, 3);
+ (*state)++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool32 sub_801FBB4(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ sub_801FF18(4, 0);
+ CopyWindowToVram(gUnknown_02022C88->unk1E, 3);
+ (*state)++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool32 sub_801FBF8(u8 *state)
+{
+ u8 *str;
+
+ switch (*state)
+ {
+ case 0:
+ DynamicPlaceholderTextUtil_Reset();
+ str = sub_801F1D0();
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, str);
+ sub_801FF18(5, 0);
+ CopyWindowToVram(gUnknown_02022C88->unk1E, 3);
+ (*state)++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool32 sub_801FC4C(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ sub_801FF18(6, 0);
+ sub_801FDDC(23, 10, 1);
+ CopyWindowToVram(gUnknown_02022C88->unk1E, 3);
+ (*state)++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool32 sub_801FC9C(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ sub_801FF18(7, 0);
+ sub_801FDDC(23, 10, 1);
+ CopyWindowToVram(gUnknown_02022C88->unk1E, 3);
+ (*state)++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool32 sub_801FCEC(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ sub_801FF18(8, 0);
+ CopyWindowToVram(gUnknown_02022C88->unk1E, 3);
+ (*state)++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool32 sub_801FD30(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ DynamicPlaceholderTextUtil_Reset();
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
+ sub_801FF18(9, 0);
+ CopyWindowToVram(gUnknown_02022C88->unk1E, 3);
+ (*state)++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool32 sub_801FD88(u8 *state)
+{
+ switch (*state)
+ {
+ case 0:
+ sub_801FF18(10, 0);
+ sub_801FDDC(23, 10, 1);
+ CopyWindowToVram(gUnknown_02022C88->unk1E, 3);
+ (*state)++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+static bool32 sub_801FDD8(u8 *arg0)
+{
+ return FALSE;
+}
+
+static void sub_801FDDC(u8 left, u8 top, u8 initialCursorPos)
+{
+ struct WindowTemplate template;
+ template.bg = 0;
+ template.tilemapLeft = left;
+ template.tilemapTop = top;
+ template.width = 6;
+ template.height = 4;
+ template.paletteNum = 14;
+ template.baseBlock = 0x52;
+ gUnknown_02022C88->unk18 = AddWindow(&template);
+ if (gUnknown_02022C88->unk18 != 0xFF)
+ {
+ FillWindowPixelBuffer(gUnknown_02022C88->unk18, PIXEL_FILL(1));
+ PutWindowTilemap(gUnknown_02022C88->unk18);
+ AddTextPrinterParameterized(gUnknown_02022C88->unk18, 1, gText_Yes, 8, 1, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gUnknown_02022C88->unk18, 1, gText_No, 8, 17, TEXT_SPEED_FF, NULL);
+ DrawTextBorderOuter(gUnknown_02022C88->unk18, 1, 13);
+ InitMenuInUpperLeftCornerPlaySoundWhenAPressed(gUnknown_02022C88->unk18, 2, initialCursorPos);
+ }
+}
+
+static void sub_801FEBC(void)
+{
+ if (gUnknown_02022C88->unk18 != 0xFF)
+ {
+ ClearStdWindowAndFrameToTransparent(gUnknown_02022C88->unk18, FALSE);
+ ClearWindowTilemap(gUnknown_02022C88->unk18);
+ }
+}
+
+static void sub_801FEE4(void)
+{
+ if (gUnknown_02022C88->unk18 != 0xFF)
+ {
+ RemoveWindow(gUnknown_02022C88->unk18);
+ gUnknown_02022C88->unk18 = 0xFF;
+ }
+}
+
+static s8 sub_801FF08(void)
+{
+ return Menu_ProcessInput();
+}
+
+static void sub_801FF18(int arg0, u16 arg1)
+{
+ const u8 *str;
+ int windowId;
+ struct WindowTemplate template;
+ template.bg = 0;
+ template.tilemapLeft = 8;
+ template.tilemapTop = 16;
+ template.width = 21;
+ template.height = 4;
+ template.paletteNum = 14;
+ template.baseBlock = 0x6A;
+ if (gUnknown_082F2D40[arg0].unkA)
+ {
+ template.tilemapLeft -= 7;
+ template.width += 7;
+ }
+
+ gUnknown_02022C88->unk1E = AddWindow(&template);
+ windowId = gUnknown_02022C88->unk1E;
+ if (gUnknown_02022C88->unk1E == 0xFF)
+ return;
+
+ if (gUnknown_082F2D40[arg0].unk9)
+ {
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_02022C88->unk22, gUnknown_082F2D40[arg0].unk0);
+ str = gUnknown_02022C88->unk22;
+ }
+ else
+ {
+ str = gUnknown_082F2D40[arg0].unk0;
+ }
+
+ ChangeBgY(0, arg1 * 256, 0);
+ FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
+ PutWindowTilemap(windowId);
+ if (gUnknown_082F2D40[arg0].unk4 == 1)
+ {
+ DrawTextBorderInner(windowId, 0xA, 2);
+ AddTextPrinterParameterized5(
+ windowId,
+ 1,
+ str,
+ gUnknown_082F2D40[arg0].unk5 + 8,
+ gUnknown_082F2D40[arg0].unk6 + 8,
+ TEXT_SPEED_FF,
+ NULL,
+ gUnknown_082F2D40[arg0].unk7,
+ gUnknown_082F2D40[arg0].unk8);
+ }
+ else
+ {
+ DrawTextBorderOuter(windowId, 0xA, 2);
+ AddTextPrinterParameterized5(
+ windowId,
+ 1,
+ str,
+ gUnknown_082F2D40[arg0].unk5,
+ gUnknown_082F2D40[arg0].unk6,
+ TEXT_SPEED_FF,
+ NULL,
+ gUnknown_082F2D40[arg0].unk7,
+ gUnknown_082F2D40[arg0].unk8);
+ }
+
+ gUnknown_02022C88->unk1E = windowId;
+}
+
+static void sub_8020094(void)
+{
+ if (gUnknown_02022C88->unk1E != 0xFF)
+ {
+ ClearStdWindowAndFrameToTransparent(gUnknown_02022C88->unk1E, FALSE);
+ ClearWindowTilemap(gUnknown_02022C88->unk1E);
+ }
+
+ ChangeBgY(0, 0, 0);
+}
+
+static void sub_80200C8(void)
+{
+ if (gUnknown_02022C88->unk1E != 0xFF)
+ {
+ RemoveWindow(gUnknown_02022C88->unk1E);
+ gUnknown_02022C88->unk1E = 0xFF;
+ }
+}
+
+static void sub_80200EC(u16 x, u16 width, u8 fillValue)
+{
+ FillWindowPixelRect(1, fillValue, x * 8, 1, width * 8, 14);
+}
+
+static void sub_8020118(u16 x, u8 *str, u8 fillValue, u8 arg3, u8 arg4)
+{
+ u8 *str2;
+ u8 sp[38];
+ if (fillValue)
+ sub_80200EC(x, sub_801F198() - x, fillValue);
+
+ sp[0] = fillValue;
+ sp[1] = arg3;
+ sp[2] = arg4;
+ str2 = &sp[4];
+ str2[0] = EXT_CTRL_CODE_BEGIN;
+ str2[1] = EXT_CTRL_CODE_MIN_LETTER_SPACING;
+ str2[2] = 8;
+ StringCopy(&str2[3], str);
+ AddTextPrinterParameterized3(1, 2, x * 8, 1, sp, TEXT_SPEED_FF, str2);
+}
+
+static void sub_80201A4(void)
+{
+ u8 var0;
+ int i;
+ int var1;
+ u16 left;
+ u16 top;
+ u8 sp[52];
+ u8 *str;
+ u8 *str2;
+
+ FillWindowPixelBuffer(2, PIXEL_FILL(15));
+ var0 = sub_801F0B0();
+ sp[0] = 0;
+ sp[1] = 14;
+ sp[2] = 13;
+ if (var0 != 3)
+ {
+ str = &sp[4];
+ str[0] = EXT_CTRL_CODE_BEGIN;
+ str[1] = EXT_CTRL_CODE_MIN_LETTER_SPACING;
+ var1 = 8;
+ str[2] = var1;
+ left = var1;
+ if (var0 == 2)
+ left = 6;
+
+ for (i = 0, top = 0; i < 10; i++, top += 12)
+ {
+ if (!gUnknown_082F2BA8[var0][i])
+ return;
+
+ StringCopy(&sp[7], gUnknown_082F2BA8[var0][i]);
+ AddTextPrinterParameterized3(2, 0, left, top, sp, TEXT_SPEED_FF, &sp[4]);
+ }
+ }
+ else
+ {
+ left = 4;
+ for (i = 0, top = 0; i < 10; i++, top += 12)
+ {
+ str2 = sub_801EE6C(i);
+ if (GetStringWidth(0, str2, 0) <= 40)
+ {
+ AddTextPrinterParameterized3(2, 0, left, top, sp, TEXT_SPEED_FF, str2);
+ }
+ else
+ {
+ int length = StringLength_Multibyte(str2);
+ do
+ {
+ length--;
+ StringCopyN_Multibyte(&sp[4], str2, length);
+ } while (GetStringWidth(0, &sp[4], 0) > 35);
+
+ AddTextPrinterParameterized3(2, 0, left, top, sp, TEXT_SPEED_FF, &sp[4]);
+ AddTextPrinterParameterized3(2, 0, left + 35, top, sp, TEXT_SPEED_FF, gText_Ellipsis);
+ }
+ }
+ }
+}
+
+static bool32 sub_8020320(void)
+{
+ if (gUnknown_02022C88->unk20 < 56)
+ {
+ gUnknown_02022C88->unk20 += 12;
+ if (gUnknown_02022C88->unk20 >= 56)
+ gUnknown_02022C88->unk20 = 56;
+
+ if (gUnknown_02022C88->unk20 < 56)
+ {
+ sub_80207C0(gUnknown_02022C88->unk20);
+ return TRUE;
+ }
+ }
+
+ sub_8020818(gUnknown_02022C88->unk20);
+ return FALSE;
+}
+
+static bool32 sub_8020368(void)
+{
+ if (gUnknown_02022C88->unk20 > 0)
+ {
+ gUnknown_02022C88->unk20 -= 12;
+ if (gUnknown_02022C88->unk20 <= 0)
+ gUnknown_02022C88->unk20 = 0;
+
+ if (gUnknown_02022C88->unk20 > 0)
+ {
+ sub_80207C0(gUnknown_02022C88->unk20);
+ return TRUE;
+ }
+ }
+
+ sub_8020818(gUnknown_02022C88->unk20);
+ return FALSE;
+}
+
+static void sub_80203B0(void)
+{
+ FillWindowPixelBuffer(3, PIXEL_FILL(1));
+ DrawTextBorderOuter(3, 1, 13);
+ PrintTextArray(3, 2, 8, 1, 14, 5, gUnknown_082F2DC8);
+ sub_81983AC(3, 2, 0, 1, 14, 5, sub_801F0B0());
+ PutWindowTilemap(3);
+}
+
+static void sub_802040C(void)
+{
+ ClearStdWindowAndFrameToTransparent(3, FALSE);
+ ClearWindowTilemap(3);
+}
+
+static void sub_8020420(u16 row, u8 *str, u8 arg2)
+{
+ u8 color[3];
+ color[0] = 1;
+ color[1] = arg2 * 2 + 2;
+ color[2] = arg2 * 2 + 3;
+ FillWindowPixelRect(0, PIXEL_FILL(1), 0, row * 15, 168, 15);
+ AddTextPrinterParameterized3(0, 2, 0, row * 15 + 1, color, TEXT_SPEED_FF, str);
+}
+
+static void sub_8020480(void)
+{
+ ChangeBgX(0, 0, 0);
+ ChangeBgY(0, 0, 0);
+ ChangeBgX(1, 0, 0);
+ ChangeBgY(1, 0, 0);
+ ChangeBgX(2, 0, 0);
+ ChangeBgY(2, 0, 0);
+ ChangeBgX(3, 0, 0);
+ ChangeBgY(3, 0, 0);
+ ShowBg(0);
+ ShowBg(1);
+ ShowBg(2);
+ ShowBg(3);
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJWIN_ON);
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(64, 240));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, 144));
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | WININ_WIN0_BG2 | WININ_WIN0_BG3
+ | WININ_WIN0_OBJ | WININ_WIN0_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
+}
+
+static void sub_8020538(void)
+{
+ SetBgTilemapBuffer(0, gUnknown_02022C88->unk128);
+ SetBgTilemapBuffer(1, gUnknown_02022C88->unk928);
+ SetBgTilemapBuffer(3, gUnknown_02022C88->unk1128);
+ SetBgTilemapBuffer(2, gUnknown_02022C88->unk1928);
+}
+
+static void sub_8020584(void)
+{
+ RequestDma3Fill(0, (void *)BG_CHAR_ADDR(0), 0x20, 1);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
+ CopyBgTilemapBufferToVram(0);
+}
+
+static void sub_80205B4(void)
+{
+ LoadPalette(gUnknown_08DD4BD0, 0x70, 0x20);
+ LoadPalette(gUnknown_08DD4BB0, 0xC0, 0x20);
+ decompress_and_copy_tile_data_to_vram(1, gUnknown_08DD4BF0, 0, 0, 0);
+ CopyToBgTilemapBuffer(1, gUnknown_08DD4C4C, 0, 0);
+ CopyBgTilemapBufferToVram(1);
+}
+
+static void sub_8020604(void)
+{
+ u8 *ptr;
+
+ LoadPalette(gLinkMiscMenu_Pal, 0, 0x20);
+ ptr = decompress_and_copy_tile_data_to_vram(2, gLinkMiscMenu_Gfx, 0, 0, 0);
+ if (ptr)
+ {
+ CpuFastCopy(&ptr[0x220], gUnknown_02022C88->unk2128, 0x20);
+ CpuFastCopy(&ptr[0x420], gUnknown_02022C88->unk2148, 0x20);
+ }
+
+ CopyToBgTilemapBuffer(2, gLinkMiscMenu_Tilemap, 0, 0);
+ CopyBgTilemapBufferToVram(2);
+}
+
+static void sub_8020680(void)
+{
+ LoadPalette(gUnknown_082F2C20, 0x80, 0x20);
+ RequestDma3Fill(0, (void *)BG_CHAR_ADDR(1) + 0x20, 0x20, 1);
+}
+
+static void sub_80206A4(void)
+{
+ LoadPalette(gUnknown_082F2C40, 0xF0, 0x20);
+ PutWindowTilemap(0);
+ FillWindowPixelBuffer(0, PIXEL_FILL(1));
+ CopyWindowToVram(0, 3);
+}
+
+static void sub_80206D0(void)
+{
+ PutWindowTilemap(2);
+ sub_80201A4();
+ CopyWindowToVram(2, 3);
+}
+
+static void sub_80206E8(void)
+{
+ int i;
+ u8 var0[2];
+ var0[0] = 0;
+ var0[1] = 0xFF;
+
+ for (i = 0; i < 15; i++)
+ BlitBitmapToWindow(1, gUnknown_02022C88->unk2128, i * 8, 0, 8, 16);
+
+ FillWindowPixelBuffer(1, PIXEL_FILL(0));
+ PutWindowTilemap(1);
+ CopyWindowToVram(1, 3);
+}
+
+static void sub_8020740(void)
+{
+ FillWindowPixelBuffer(3, PIXEL_FILL(1));
+ LoadUserWindowBorderGfx(3, 1, 0xD0);
+ LoadUserWindowBorderGfx_(3, 0xA, 0x20);
+ LoadPalette(gUnknown_0860F074, 0xE0, 0x20);
+}
+
+static void sub_8020770(void)
+{
+ struct ScanlineEffectParams params;
+ params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT;
+ params.dmaDest = &REG_BG1HOFS;
+ params.initState = 1;
+ params.unused9 = 0;
+ gUnknown_02022C88->unk20 = 0;
+ CpuFastFill(0, gScanlineEffectRegBuffers, sizeof(gScanlineEffectRegBuffers));
+ ScanlineEffect_SetParams(params);
+}
+
+static void sub_80207C0(s16 arg0)
+{
+ CpuFill16(arg0, gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], 0x120);
+ CpuFill16(0, gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer] + 0x90, 0x20);
+}
+
+static void sub_8020818(s16 arg0)
+{
+ CpuFill16(arg0, gScanlineEffectRegBuffers[0], 0x120);
+ CpuFill16(0, gScanlineEffectRegBuffers[0] + 0x90, 0x20);
+ CpuFill16(arg0, gScanlineEffectRegBuffers[0] + 0x3C0, 0x120);
+ CpuFill16(0, gScanlineEffectRegBuffers[0] + 0x450, 0x20);
+}
+
+static bool32 sub_8020890(void)
+{
+ u32 i;
+ for (i = 0; i < 5; i++)
+ LoadCompressedSpriteSheet(&gUnknown_082F3134[i]);
+
+ LoadSpritePalette(&gUnknown_082F315C);
+ gUnknown_02022C8C = Alloc(0x18);
+ if (!gUnknown_02022C8C)
+ return FALSE;
+
+ return TRUE;
+}
+
+static void sub_80208D0(void)
+{
+ if (gUnknown_02022C8C)
+ Free(gUnknown_02022C8C);
+}
+
+static void sub_80208E8(void)
+{
+ u8 spriteId = CreateSprite(&gUnknown_082F319C, 10, 24, 0);
+ gUnknown_02022C8C->unk0 = &gSprites[spriteId];
+}
+
+static void sub_802091C(bool32 invisible)
+{
+ gUnknown_02022C8C->unk0->invisible = invisible;
+}
+
+static void sub_802093C(void)
+{
+ u8 x, y;
+ u8 var2 = sub_801F0B0();
+ sub_801F0BC(&x, &y);
+ if (var2 != 3)
+ {
+ StartSpriteAnim(gUnknown_02022C8C->unk0, 0);
+ gUnknown_02022C8C->unk0->pos1.x = x * 8 + 10;
+ gUnknown_02022C8C->unk0->pos1.y = y * 12 + 24;
+ }
+ else
+ {
+ StartSpriteAnim(gUnknown_02022C8C->unk0, 2);
+ gUnknown_02022C8C->unk0->pos1.x = 24;
+ gUnknown_02022C8C->unk0->pos1.y = y * 12 + 24;
+ }
+}
+
+static void sub_80209AC(int arg0)
+{
+ const u16 *palette = &gUnknown_082F2DF0[arg0 * 2 + 1];
+ u8 index = IndexOfSpritePaletteTag(0);
+ LoadPalette(palette, index * 16 + 0x101, 4);
+}
+
+static void sub_80209E0(void)
+{
+ if (sub_801F0B0() != 3)
+ StartSpriteAnim(gUnknown_02022C8C->unk0, 1);
+ else
+ StartSpriteAnim(gUnknown_02022C8C->unk0, 3);
+
+ gUnknown_02022C8C->unk14 = 0;
+}
+
+static bool32 sub_8020A1C(void)
+{
+ if (gUnknown_02022C8C->unk14 > 3)
+ return FALSE;
+
+ if (++gUnknown_02022C8C->unk14 > 3)
+ {
+ if (sub_801F0B0() != 3)
+ StartSpriteAnim(gUnknown_02022C8C->unk0, 0);
+ else
+ StartSpriteAnim(gUnknown_02022C8C->unk0, 2);
+
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static void sub_8020A68(void)
+{
+ u8 spriteId = CreateSprite(&gUnknown_082F31BC, 76, 152, 2);
+ gUnknown_02022C8C->unk8 = &gSprites[spriteId];
+ spriteId = CreateSprite(&gUnknown_082F31D4, 64, 152, 1);
+ gUnknown_02022C8C->unk4 = &gSprites[spriteId];
+}
+
+static void sub_8020ABC(struct Sprite *sprite)
+{
+ int var0 = sub_801F198();
+ if (var0 == 15)
+ {
+ sprite->invisible = 1;
+ }
+ else
+ {
+ sprite->invisible = 0;
+ sprite->pos1.x = var0 * 8 + 76;
+ }
+}
+
+static void sub_8020AF4(struct Sprite *sprite)
+{
+ if (++sprite->data[0] > 4)
+ {
+ sprite->data[0] = 0;
+ if (++sprite->pos2.x > 4)
+ sprite->pos2.x = 0;
+ }
+}
+
+static void sub_8020B20(void)
+{
+ u8 spriteId = CreateSprite(&gUnknown_082F322C, 8, 152, 3);
+ gUnknown_02022C8C->unkC = &gSprites[spriteId];
+ spriteId = CreateSprite(&gUnknown_082F3244, 32, 152, 4);
+ gUnknown_02022C8C->unk10 = &gSprites[spriteId];
+ gUnknown_02022C8C->unk10->invisible = 1;
+}
+
+static void sub_8020B80(void)
+{
+ if (sub_801F0B0() == 3)
+ {
+ if (sub_801F0DC() != 0)
+ {
+ gUnknown_02022C8C->unk10->invisible = 0;
+ StartSpriteAnim(gUnknown_02022C8C->unk10, 3);
+ }
+ else
+ {
+ gUnknown_02022C8C->unk10->invisible = 1;
+ }
+ }
+ else
+ {
+ int anim = sub_801F1A4();
+ if (anim == 3)
+ {
+ gUnknown_02022C8C->unk10->invisible = 1;
+ }
+ else
+ {
+ gUnknown_02022C8C->unk10->invisible = 0;
+ StartSpriteAnim(gUnknown_02022C8C->unk10, anim);
+ }
+ }
+
+}
diff --git a/src/union_room_player_avatar.c b/src/union_room_player_avatar.c
new file mode 100644
index 000000000..4c302c5eb
--- /dev/null
+++ b/src/union_room_player_avatar.c
@@ -0,0 +1,611 @@
+#include "global.h"
+#include "constants/flags.h"
+#include "constants/event_object_movement_constants.h"
+#include "event_data.h"
+#include "event_object_movement.h"
+#include "script.h"
+#include "field_player_avatar.h"
+#include "fieldmap.h"
+#include "union_room.h"
+#include "task.h"
+
+EWRAM_DATA struct UnkStruct_8019BA8 * gUnknown_02022C64 = NULL;
+EWRAM_DATA u32 gUnknown_02022C68 = 0;
+
+static u8 sub_8019DF4(void);
+static u32 sub_8019F8C(u32 playerIdx, u32 arg1);
+static void sub_801A3B0(s32 arg0, s32 arg1, u8 arg2);
+
+ALIGNED(4) const u8 gUnknown_082F072C[][10] = {
+ {0x21, 0x2c, 0x1f, 0x23, 0x25, 0x24, 0x41, 0x42},
+ {0x22, 0x28, 0x20, 0x2f, 0x2f, 0x0e, 0x14, 0x2d}
+};
+
+static const s16 gUnknown_082F0740[][2] = {
+ {0x4, 0x6},
+ {0xd, 0x8},
+ {0xa, 0x6},
+ {0x1, 0x8},
+ {0xd, 0x4},
+ {0x7, 0x4},
+ {0x1, 0x4},
+ {0x7, 0x8}
+};
+
+static const s8 gUnknown_082F0760[][2] = {
+ { 0, 0},
+ { 1, 0},
+ { 0, -1},
+ {-1, 0},
+ { 0, 1}
+};
+
+static const u8 gUnknown_082F076A[] = {
+ 0x00, 0x02, 0x01, 0x04, 0x03
+};
+
+static const u8 gUnknown_082F076F[] = {
+ 0x01, 0x03, 0x01, 0x04, 0x02
+};
+
+static const u8 gUnknown_082F0774[] = {
+ 0x09, 0x08, 0x07, 0x02, 0x06, 0x05, 0x04, 0x03,
+ 0xbf, 0x02, 0xc0, 0x02, 0xc1, 0x02, 0xc2, 0x02,
+ 0xc3, 0x02, 0xc4, 0x02, 0xc5, 0x02, 0xc6, 0x02
+};
+
+static const u8 gUnknown_082F078C[2] = {
+ MOVEMENT_ACTION_FLY_UP,
+ MOVEMENT_ACTION_STEP_END
+};
+
+static const u8 gUnknown_082F078E[2] = {
+ MOVEMENT_ACTION_FLY_DOWN,
+ MOVEMENT_ACTION_STEP_END
+};
+
+static bool32 is_walking_or_running(void)
+{
+ if (gPlayerAvatar.tileTransitionState == 2 || gPlayerAvatar.tileTransitionState == 0)
+ {
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+static u8 sub_8019978(u32 a0, u32 a1)
+{
+ return gUnknown_082F072C[a0][a1 % 8];
+}
+
+static void sub_8019990(u32 a0, u32 a1, s32 * a2, s32 * a3)
+{
+ *a2 = gUnknown_082F0740[a0][0] + gUnknown_082F0760[a1][0] + 7;
+ *a3 = gUnknown_082F0740[a0][1] + gUnknown_082F0760[a1][1] + 7;
+}
+
+static bool32 sub_80199E0(u32 a0, u32 a1, s32 a2, s32 a3)
+{
+ if (gUnknown_082F0740[a0][0] + gUnknown_082F0760[a1][0] + 7 != a2)
+ {
+ return FALSE;
+ }
+ else if (gUnknown_082F0740[a0][1] + gUnknown_082F0760[a1][1] + 7 != a3)
+ {
+ return FALSE;
+ }
+ else
+ {
+ return TRUE;
+ }
+}
+
+static bool32 IsUnionRoomPlayerHidden(u32 player_idx)
+{
+ return FlagGet(FLAG_HIDE_UNION_ROOM_PLAYER_1 + player_idx);
+}
+
+static void HideUnionRoomPlayer(u32 player_idx)
+{
+ FlagSet(FLAG_HIDE_UNION_ROOM_PLAYER_1 + player_idx);
+}
+
+static void ShowUnionRoomPlayer(u32 player_idx)
+{
+ FlagClear(FLAG_HIDE_UNION_ROOM_PLAYER_1 + player_idx);
+}
+
+static void SetUnionRoomPlayerGfx(u32 playerIdx, u32 gfxId)
+{
+ VarSet(VAR_OBJ_GFX_ID_0 + playerIdx, gfxId);
+}
+
+static void CreateUnionRoomPlayerEventObject(u32 playerIdx)
+{
+ TrySpawnEventObject(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+}
+
+static void RemoveUnionRoomPlayerEventObject(u32 playerIdx)
+{
+ RemoveEventObjectByLocalIdAndMap(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+}
+
+static bool32 SetUnionRoomPlayerEnterExitMovement(u32 playerIdx, const u8 * movement)
+{
+ u8 objectId;
+ struct EventObject * object;
+ if (TryGetEventObjectIdByLocalIdAndMap(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId))
+ {
+ return FALSE;
+ }
+ object = &gEventObjects[objectId];
+ if (EventObjectIsMovementOverridden(object))
+ {
+ return FALSE;
+ }
+ if (EventObjectSetHeldMovement(object, *movement))
+ {
+ return FALSE;
+ }
+ return TRUE;
+}
+
+static bool32 sub_8019B3C(u32 playerIdx)
+{
+ u8 objectId;
+ struct EventObject * object;
+ if (TryGetEventObjectIdByLocalIdAndMap(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId))
+ {
+ return TRUE;
+ }
+ object = &gEventObjects[objectId];
+ if (!EventObjectClearHeldMovementIfFinished(object))
+ {
+ return FALSE;
+ }
+ if (!ScriptContext2_IsEnabled())
+ {
+ UnfreezeEventObject(object);
+ }
+ else
+ {
+ FreezeEventObject(object);
+ }
+ return TRUE;
+}
+
+u8 sub_8019BA8(struct UnkStruct_8019BA8 * ptr)
+{
+ s32 i;
+
+ gUnknown_02022C68 = 0;
+ gUnknown_02022C64 = ptr;
+ for (i = 0; i < 8; i++)
+ {
+ ptr[i].field_0 = 0;
+ ptr[i].field_1 = 0;
+ ptr[i].field_2 = 0;
+ ptr[i].field_3 = 0;
+ }
+ return sub_8019DF4();
+}
+
+static bool32 sub_8019BDC(s8 * a0, u32 playerIdx, struct UnkStruct_8019BA8 * ptr)
+{
+ switch (*a0)
+ {
+ case 0:
+ if (SetUnionRoomPlayerEnterExitMovement(playerIdx, gUnknown_082F078C) == TRUE)
+ {
+ HideUnionRoomPlayer(playerIdx);
+ (*a0)++;
+ }
+ break;
+ case 1:
+ if (sub_8019B3C(playerIdx))
+ {
+ RemoveUnionRoomPlayerEventObject(playerIdx);
+ HideUnionRoomPlayer(playerIdx);
+ *a0 = 0;
+ return TRUE;
+ }
+ break;
+ }
+ return FALSE;
+}
+
+static bool32 sub_8019C38(s8 * a0, u32 playerIdx, struct UnkStruct_8019BA8 * ptr)
+{
+ s16 x, y;
+
+ switch (*a0)
+ {
+ case 0:
+ if (!is_walking_or_running())
+ {
+ break;
+ }
+ PlayerGetDestCoords(&x, &y);
+ if (sub_80199E0(playerIdx, 0, x, y) == 1)
+ {
+ break;
+ }
+ player_get_pos_including_state_based_drift(&x, &y);
+ if (sub_80199E0(playerIdx, 0, x, y) == 1)
+ {
+ break;
+ }
+ SetUnionRoomPlayerGfx(playerIdx, ptr->field_1);
+ CreateUnionRoomPlayerEventObject(playerIdx);
+ ShowUnionRoomPlayer(playerIdx);
+ (*a0)++;
+ // fallthrough
+ case 3: // incorrect?
+ if (SetUnionRoomPlayerEnterExitMovement(playerIdx, gUnknown_082F078E) == 1)
+ {
+ (*a0)++;
+ }
+ break;
+ case 2:
+ if (sub_8019B3C(playerIdx))
+ {
+ *a0 = 0;
+ return TRUE;
+ }
+ break;
+ }
+ return FALSE;
+}
+
+static bool32 sub_8019CF0(u32 playerIdx, u32 a1, u32 a2)
+{
+ struct UnkStruct_8019BA8 * ptr = &gUnknown_02022C64[playerIdx];
+ ptr->field_3 = 1;
+ ptr->field_1 = sub_8019978(a1, a2);
+ if (ptr->field_0 == 0)
+ {
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+static bool32 sub_8019D20(u32 playerIdx)
+{
+ struct UnkStruct_8019BA8 * ptr = &gUnknown_02022C64[playerIdx];
+ ptr->field_3 = 2;
+ if (ptr->field_0 == 1)
+ {
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+static void sub_8019D44(u32 playerIdx, struct UnkStruct_8019BA8 * ptr)
+{
+ switch (ptr->field_0)
+ {
+ case 0:
+ if (ptr->field_3 == 1)
+ {
+ ptr->field_0 = 2;
+ ptr->field_2 = 0;
+ }
+ else
+ {
+ break;
+ }
+ // fallthrough
+ case 2:
+ if (!sub_8019F8C(playerIdx, 0) && ptr->field_3 == 2)
+ {
+ ptr->field_0 = 0;
+ ptr->field_2 = 0;
+ RemoveUnionRoomPlayerEventObject(playerIdx);
+ HideUnionRoomPlayer(playerIdx);
+ }
+ else if (sub_8019C38(&ptr->field_2, playerIdx, ptr) == 1)
+ {
+ ptr->field_0 = 1;
+ }
+ break;
+ case 1:
+ if (ptr->field_3 == 2)
+ {
+ ptr->field_0 = 3;
+ ptr->field_2 = 0;
+ }
+ else
+ {
+ break;
+ }
+ // fallthrough
+ case 3:
+ if (sub_8019BDC(&ptr->field_2, playerIdx, ptr) == 1)
+ {
+ ptr->field_0 = 0;
+ }
+ break;
+ }
+ ptr->field_3 = 0;
+}
+
+static void sub_8019DD0(u8 taskId)
+{
+ s32 i;
+ for (i = 0; i < 8; i++)
+ {
+ sub_8019D44(i, &gUnknown_02022C64[i]);
+ }
+}
+
+static u8 sub_8019DF4(void)
+{
+ if (FuncIsActiveTask(sub_8019DD0) == 1)
+ {
+ return NUM_TASKS;
+ }
+ else
+ {
+ return CreateTask(sub_8019DD0, 5);
+ }
+}
+
+static void sub_8019E20(void)
+{
+ u8 taskId = FindTaskIdByFunc(sub_8019DD0);
+ if (taskId < NUM_TASKS)
+ {
+ DestroyTask(taskId);
+ }
+}
+
+void sub_8019E3C(void)
+{
+ s32 i;
+ for (i = 0; i < 8; i++)
+ {
+ if (!IsUnionRoomPlayerHidden(i))
+ {
+ RemoveUnionRoomPlayerEventObject(i);
+ HideUnionRoomPlayer(i);
+ }
+ }
+ gUnknown_02022C64 = NULL;
+ sub_8019E20();
+}
+
+void sub_8019E70(u8 * sp8, s32 r9)
+{
+ s32 r7;
+
+ for (r7 = 0; r7 < 5; r7++)
+ {
+ s32 r5 = 5 * r9 + r7;
+ sp8[r5] = sprite_new(0x41, r5 - 0x38, gUnknown_082F0740[r9][0] + gUnknown_082F0760[r7][0], gUnknown_082F0740[r9][1] + gUnknown_082F0760[r7][1], 3, 1);
+ sub_8097C44(r5 - 0x38, TRUE);
+ }
+}
+
+void sub_8019F04(u8 * r5)
+{
+ s32 i;
+ for (i = 0; i < 40; i++)
+ {
+ DestroySprite(&gSprites[r5[i]]);
+ }
+}
+
+void sub_8019F2C(void)
+{
+ s32 i, j, x, y;
+ for (i = 0; i < 8; i++)
+ {
+ for (j = 0; j < 5; j++)
+ {
+ sub_8019990(i, j, &x, &y);
+ sub_8088B94(x, y, 0);
+ }
+ }
+}
+
+static u8 sub_8019F64(u32 r1, u32 unused, struct UnkLinkRfuStruct_02022B14 * r2)
+{
+ if (r1 != 0)
+ {
+ return gUnknown_082F076F[r1];
+ }
+ else if (r2->unk_0a_0 == 0x45)
+ {
+ return 1;
+ }
+ else
+ {
+ return 4;
+ }
+}
+
+static u32 sub_8019F8C(u32 a0, u32 a1)
+{
+ return sub_8097C8C(5 * a0 + a1 - 0x38);
+}
+
+static void sub_8019FA4(u32 r5, u32 r6, u8 r8, struct UnkLinkRfuStruct_02022B14 * r9)
+{
+ s32 x, y;
+ s32 r7 = 5 * r5 + r6;
+ if (sub_8019F8C(r5, r6) == 1)
+ {
+ sub_8097C44(r7 - 0x38, FALSE);
+ sub_8097CC4(r7 - 0x38, 1);
+ }
+ sub_8097BB4(r7 - 0x38, r8);
+ sub_801A3B0(r6, r5, sub_8019F64(r6, r5, r9));
+ sub_8019990(r5, r6, &x, &y);
+ sub_8088B94(x, y, 1);
+}
+
+static void sub_801A02C(u32 a0, u32 a1)
+{
+ s32 x, y;
+ sub_8097CC4(5 * a0 + a1 - 0x38, 2);
+ sub_8019990(a0, a1, &x, &y);
+ sub_8088B94(x, y, 0);
+}
+
+static void sub_801A064(u32 r7, struct UnkLinkRfuStruct_02022B14 * r8)
+{
+ s16 x, y, x2, y2;
+ s32 i;
+
+ PlayerGetDestCoords(&x, &y);
+ player_get_pos_including_state_based_drift(&x2, &y2);
+ if (sub_8097C8C(5 * r7 - 0x38) == 1)
+ {
+ if (sub_80199E0(r7, 0, x, y) == 1 || sub_80199E0(r7, 0, x2, y2) == 1)
+ {
+ return;
+ }
+ sub_8019FA4(r7, 0, sub_8019978(r8->playerGender, r8->unk_00.playerTrainerId[0]), r8);
+ }
+ for (i = 1; i < 5; i++)
+ {
+ if (r8->unk_04[i - 1] == 0)
+ {
+ sub_801A02C(r7, i);
+ }
+ else if (sub_80199E0(r7, i, x, y) == 0 && sub_80199E0(r7, i, x2, y2) == 0)
+ {
+ sub_8019FA4(r7, i, sub_8019978((r8->unk_04[i - 1] >> 3) & 1, r8->unk_04[i - 1] & 7), r8);
+ }
+ }
+}
+
+static void sub_801A16C(u32 r5, struct UnkLinkRfuStruct_02022B14 * r4)
+{
+ u32 i;
+ switch (r4->unk_0a_0)
+ {
+ case 0x40:
+ case 0x54:
+ sub_8019CF0(r5, r4->playerGender, r4->unk_00.playerTrainerId[0]);
+ for (i = 0; i < 5; i++)
+ {
+ sub_801A02C(r5, i);
+ }
+ break;
+ case 0x41:
+ case 0x44:
+ case 0x45:
+ case 0x48:
+ case 0x51:
+ case 0x52:
+ case 0x53:
+ sub_8019D20(r5);
+ sub_801A064(r5, r4);
+ break;
+ }
+}
+
+static void sub_801A214(u32 r5, struct UnkLinkRfuStruct_02022B14 * unused)
+{
+ s32 i;
+ sub_8019D20(r5);
+ for (i = 0; i < 5; i++)
+ {
+ sub_801A02C(r5, i);
+ }
+}
+
+static void sub_801A234(struct UnkStruct_URoom *r0)
+{
+ s32 i;
+ struct UnkStruct_x20 * r4;
+ gUnknown_02022C68 = 0;
+ for (i = 0, r4 = r0->field_0->arr; i < 8; i++)
+ {
+ if (r4[i].field_1A_0 == 1)
+ {
+ sub_801A16C(i, &r4[i].unk.field_0);
+ }
+ else if (r4[i].field_1A_0 == 2)
+ {
+ sub_801A214(i, &r4[i].unk.field_0);
+ }
+ }
+}
+
+void sub_801A274(struct UnkStruct_URoom *unused)
+{
+ gUnknown_02022C68 = 300;
+}
+
+void sub_801A284(struct UnkStruct_URoom *r2)
+{
+ if (++gUnknown_02022C68 > 300)
+ {
+ sub_801A234(r2);
+ }
+}
+
+bool32 sub_801A2A8(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3)
+{
+ s16 x, y;
+ s32 i, j;
+ struct UnkStruct_x20 * r4;
+ if (!is_walking_or_running())
+ {
+ return FALSE;
+ }
+ GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
+ for (i = 0, r4 = arg0->arr; i < 8; i++)
+ {
+ for (j = 0; j < 5; j++)
+ {
+ s32 r3 = 5 * i + j;
+ if (x != gUnknown_082F0740[i][0] + gUnknown_082F0760[j][0] + 7)
+ {
+ continue;
+ }
+ if (y != gUnknown_082F0740[i][1] + gUnknown_082F0760[j][1] + 7)
+ {
+ continue;
+ }
+ if (sub_8097C8C(r3 - 0x38) != 0)
+ {
+ continue;
+ }
+ if (sub_8097D9C(r3 - 0x38) != 0)
+ {
+ continue;
+ }
+ if (r4[i].field_1A_0 != 1)
+ {
+ continue;
+ }
+ sub_801A3B0(j, i, gUnknown_082F076A[GetPlayerFacingDirection()]);
+ *arg1 = j;
+ *arg2 = i;
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+static void sub_801A3B0(s32 arg0, s32 arg1, u8 arg2)
+{
+ sub_8097B78(5 * arg1 - 0x38 + arg0, arg2);
+}
+
+void sub_801A3D0(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2)
+{
+ return sub_801A3B0(arg0, arg1, sub_8019F64(arg0, arg1, &arg2->arr[arg1].unk.field_0));
+}
diff --git a/src/unk_transition.c b/src/unk_transition.c
index d56998b5b..99479c866 100644
--- a/src/unk_transition.c
+++ b/src/unk_transition.c
@@ -40,7 +40,7 @@ static const u32 gUnknown_0862AF30[] = INCBIN_U32("graphics/battle_transitions/f
static const u32 gUnknown_0862B0DC[] = INCBIN_U32("graphics/battle_transitions/frontier_transition_circles.4bpp.lz");
static const u16 gUnknown_0862B53C[] = INCBIN_U16("graphics/battle_transitions/frontier_transition.gbapal");
-// Unused Empty data. Feel free to delete.
+// Unused Empty data.
static const u8 sFiller[0x1C0] = {0};
static const struct OamData sOamData_862B71C =
@@ -50,10 +50,10 @@ static const struct OamData sOamData_862B71C =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -62,12 +62,15 @@ static const struct OamData sOamData_862B71C =
static const struct CompressedSpriteSheet sUnknown_0862B724 =
{
- gUnknown_0862B0DC, 0x1800, 11920
+ .data = gUnknown_0862B0DC,
+ .size = 0x1800,
+ .tag = 11920
};
static const struct SpritePalette sUnknown_0862B72C =
{
- gUnknown_0862B53C, 11920
+ .data = gUnknown_0862B53C,
+ .tag = 11920
};
static const union AnimCmd sSpriteAnim_862B734[] =
diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c
index 762019ecd..f28b651cc 100644
--- a/src/use_pokeblock.c
+++ b/src/use_pokeblock.c
@@ -2,42 +2,90 @@
#include "main.h"
#include "pokeblock.h"
#include "alloc.h"
+#include "decompress.h"
+#include "graphics.h"
#include "palette.h"
#include "pokenav.h"
+#include "menu_specialized.h"
#include "scanline_effect.h"
#include "text.h"
#include "bg.h"
#include "window.h"
#include "text_window.h"
+#include "constants/rgb.h"
+#include "sound.h"
+#include "constants/songs.h"
+#include "sprite.h"
+#include "string_util.h"
+#include "strings.h"
+#include "menu.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "pokemon_summary_screen.h"
+#include "item_menu.h"
struct UsePokeblockSubStruct
{
- void (*field_0)(void);
- void (*callback)(void);
- struct Pokeblock *pokeblock;
- struct Pokemon *pokemon;
- u8 stringBuffer[0x40];
- u8 field_50;
- u8 field_51;
- u8 field_52;
- u8 field_53;
- u8 field_54;
- u8 field_55;
- u8 field_56;
- u8 field_57[5];
- u8 field_5c[5];
- u8 field_61[5];
- s16 field_66[5];
+ /*0x00*/ void (*field_0)(void);
+ /*0x04*/ void (*callback)(void);
+ /*0x08*/ struct Pokeblock *pokeblock;
+ /*0x0C*/ struct Pokemon *mon;
+ /*0x10*/ u8 stringBuffer[0x40];
+ /*0x50*/ u8 field_50;
+ /*0x51*/ u8 field_51;
+ /*0x52*/ u8 field_52;
+ /*0x53*/ u8 field_53;
+ /*0x54*/ u8 field_54;
+ /*0x55*/ u8 field_55;
+ /*0x56*/ u8 field_56;
+ /*0x57*/ u8 field_57[5];
+ /*0x5C*/ u8 field_5c[5];
+ /*0x61*/ u8 field_61[5];
+ /*0x66*/ s16 field_66[5];
+ /*0x70*/ u8 field_70;
+ /*0x71*/ u8 field_71;
+ /*0x74*/ u8 (*unk74)(void);
+ /*0x78*/ u8 unk78;
+ /*0x79*/ u8 filler79[0x1];
+ /*0x7A*/ u8 field_7A[0x22];
+};
+
+struct Unk7FB8
+{
+ u8 unk0;
+ u8 unk1;
+ u16 unk2;
};
struct UsePokeblockStruct
{
- u8 field_0[0x7C58];
- u8 field_7C58[0x378];
- struct UsePokeblockSubStruct info;
+ /*0x0000*/ u8 filler0[4];
+ /*0x0000*/ u16 field_4[6][0x40];
+ /*0x0304*/ u8 field_304[3][0x2000];
+ /*0x6304*/ u8 filler_6304[0x1000];
+ /*0x7304*/ u8 tilemapBuffer[BG_SCREEN_SIZE + 2];
+ /*0x7B06*/ u8 field_7B06[7];
+ /*0x7B0E*/ s16 field_7B0E;
+ /*0x7B10*/ u8 field_7B10;
+ /*0x7B12*/ u16 field_7B12;
+ /*0x7B12*/ u16 field_7B14;
+ /*0x7B12*/ u8 *field_7B18;
+ /*0x7B1C*/ struct Sprite *field_7B1C[10];
+ /*0x7B44*/ struct Sprite *field_7B44[2];
+ /*0x7B4C*/ u8 field_7B4C;
+ /*0x7B4D*/ u8 field_7B4D[3][24];
+ /*0x7B95*/ u8 field_7B95[3][64];
+ /*0x7C58*/ struct UnknownStruct_81D1ED4 field_7C58;
+ /*0x7FB0*/ u8 unk7FB0[3];
+ /*0x7FB3*/ s8 field_7FB3;
+ /*0x7FB4*/ s8 field_7FB4;
+ /*0x7FB5*/ s8 field_7FB5;
+ /*0x7FB6*/ s8 field_7FB6;
+ /*0x7FB8*/ struct Unk7FB8 field_7FB8[6];
+ /*0x7FD0*/ struct UsePokeblockSubStruct info;
};
-extern u16 gKeyRepeatStartDelay;
+extern void sub_81D21DC(u8);
// this file's functions
void sub_816636C(void (*func)(void));
@@ -50,13 +98,58 @@ void sub_81668F8(void);
void sub_8167420(void);
void sub_8167760(void);
u8 sub_81672E4(u8 arg0);
-bool8 sub_8168328(void);
+static bool8 sub_8168328(void);
bool8 sub_8167930(void);
void sub_8167608(u8 arg0);
void sub_8167BA0(u16 arg0, u8 copyToVramMode);
+void sub_8166634(void);
+static void sub_8167CA0(bool8);
+void sub_8166BEC(void);
+void sub_8166D44(void);
+s8 sub_8166DE4(void);
+bool8 IsSheenMaxed(void);
+void sub_8166F50(void);
+void sub_816681C(void);
+void sub_8166F94(void);
+u8 sub_81672A4(u8 a0);
+void sub_8166A34(void);
+void sub_8167104(void);
+void sub_8167338(void);
+void sub_81681F4(u8);
+void sub_8166E24(void);
+bool8 sub_8166EDC(void);
+void Pokeblock_BufferEnhancedStatText(u8 *dest, u8 statId, s16 a2);
+void Pokeblock_MenuWindowTextPrint(const u8 *message);
+void sub_8167184(struct Pokeblock *, struct Pokemon *);
+void sub_81673DC(struct Sprite *sprite);
+void sub_81674BC(void);
+void sub_816753C(s16, u8);
+static u8 sub_8167EA4(void);
+static u8 sub_8167FA4(void);
+static u8 sub_8168048(void);
+void sub_8168180(struct Sprite *sprite);
+void sub_81681B4(struct Sprite *sprite);
+void sub_8168168(struct Sprite *sprite);
extern const struct BgTemplate gUnknown_085DFCCC[4];
extern const struct WindowTemplate gUnknown_085DFCDC[];
+extern const struct WindowTemplate sUsePokeblockYesNoWinTemplate[];
+extern const u8* sContestStatNames[];
+extern const u32 gUnknown_085DFCB0[];
+extern const u8 gUnknown_085DFCC4[];
+extern const struct SpriteSheet gSpriteSheet_ConditionUpDown;
+extern const struct SpritePalette gSpritePalette_ConditionUpDown;
+extern const struct SpriteTemplate gSpriteTemplate_085DFD5C;
+extern const s16 gUnknown_085DFD28[][2];
+extern const u32 gUnknown_085DFB60[];
+extern const u32 gUnknown_085DFA80[];
+extern const u32 gUnknown_085DFA60[];
+extern const u32 gUnknown_085DFC0C[];
+extern const u16 gUnknown_086231E8[];
+extern const u16 gUnknown_08623208[];
+extern const u8 gUnknown_085DFCC9[];
+extern const struct SpritePalette gUnknown_085DFDB8;
+extern const struct SpriteTemplate gUnknown_085DFDA0;
// ram variables
EWRAM_DATA struct UsePokeblockSubStruct *gUnknown_0203BC90 = NULL;
@@ -64,9 +157,9 @@ EWRAM_DATA void (*gUnknown_0203BC94)(void) = NULL;
EWRAM_DATA struct Pokeblock *gUnknown_0203BC98 = NULL;
EWRAM_DATA u8 gPokeblockMonId = 0;
EWRAM_DATA s16 gPokeblockGain = 0;
-EWRAM_DATA void *gUnknown_0203BCA0 = NULL;
-EWRAM_DATA void *gUnknown_0203BCA4 = NULL;
-EWRAM_DATA void *gUnknown_0203BCA8 = NULL;
+EWRAM_DATA u8 *gUnknown_0203BCA0 = NULL;
+EWRAM_DATA u8 *gUnknown_0203BCA4 = NULL;
+EWRAM_DATA u8 *gUnknown_0203BCA8 = NULL;
EWRAM_DATA struct UsePokeblockStruct *gUnknown_0203BCAC = NULL;
// const rom data
@@ -75,7 +168,7 @@ EWRAM_DATA struct UsePokeblockStruct *gUnknown_0203BCAC = NULL;
// code
void ChooseMonToGivePokeblock(struct Pokeblock *pokeblock, void (*callback)(void))
{
- gUnknown_0203BCAC = AllocZeroed(0x806C);
+ gUnknown_0203BCAC = AllocZeroed(sizeof(*gUnknown_0203BCAC));
gUnknown_0203BC90 = &gUnknown_0203BCAC->info;
gUnknown_0203BC90->pokeblock = pokeblock;
gUnknown_0203BC90->callback = callback;
@@ -85,7 +178,7 @@ void ChooseMonToGivePokeblock(struct Pokeblock *pokeblock, void (*callback)(void
void CB2_ReturnAndChooseMonToGivePokeblock(void)
{
- gUnknown_0203BCAC = AllocZeroed(0x806C);
+ gUnknown_0203BCAC = AllocZeroed(sizeof(*gUnknown_0203BCAC));
gUnknown_0203BC90 = &gUnknown_0203BCAC->info;
gUnknown_0203BC90->pokeblock = gUnknown_0203BC98;
gUnknown_0203BC90->callback = gUnknown_0203BC94;
@@ -130,7 +223,7 @@ void sub_8166340(void)
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
- sub_81D2108(gUnknown_0203BCAC->field_7C58);
+ sub_81D2108(&gUnknown_0203BCAC->field_7C58);
ScanlineEffect_InitHBlankDmaTransfer();
}
@@ -144,87 +237,1199 @@ void sub_8166380(void)
{
switch (gUnknown_0203BC90->field_50)
{
- case 0:
- gUnknown_0203BCAC->field_0[0x7B10] = 0xFF;
- sub_81D1ED4(gUnknown_0203BCAC->field_7C58);
+ case 0:
+ gUnknown_0203BCAC->field_7B10 = 0xFF;
+ sub_81D1ED4(&gUnknown_0203BCAC->field_7C58);
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 1:
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 2:
+ SetVBlankCallback(NULL);
+ CpuFill32(0, (void*)(VRAM), VRAM_SIZE);
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 3:
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, gUnknown_085DFCCC, ARRAY_COUNT(gUnknown_085DFCCC));
+ InitWindows(gUnknown_085DFCDC);
+ DeactivateAllTextPrinters();
+ LoadUserWindowBorderGfx(0, 0x97, 0xE0);
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 4:
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 5:
+ if (!sub_8168328())
gUnknown_0203BC90->field_50++;
- break;
- case 1:
- ResetSpriteData();
- FreeAllSpritePalettes();
- gUnknown_0203BC90->field_50++;
- break;
- case 2:
- SetVBlankCallback(NULL);
- CpuFill32(0, (void*)(VRAM), VRAM_SIZE);
+ break;
+ case 6:
+ gKeyRepeatStartDelay = 20;
+ sub_8167420();
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 7:
+ if (!sub_8167930())
gUnknown_0203BC90->field_50++;
- break;
- case 3:
- ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_085DFCCC, ARRAY_COUNT(gUnknown_085DFCCC));
- InitWindows(gUnknown_085DFCDC);
- DeactivateAllTextPrinters();
- LoadUserWindowBorderGfx(0, 0x97, 0xE0);
+ break;
+ case 8:
+ sub_8167608(0);
+ sub_8167760();
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 9:
+ if (!sub_81D312C(&gUnknown_0203BCAC->field_7B0E))
gUnknown_0203BC90->field_50++;
- break;
- case 4:
+ break;
+ case 10:
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 11:
+ sub_81D2754(gUnknown_0203BCAC->field_7C58.unk0[0], gUnknown_0203BCAC->field_7C58.unk14[0]);
+ sub_81D20AC(&gUnknown_0203BCAC->field_7C58);
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 12:
+ if (!sub_81D20BC(&gUnknown_0203BCAC->field_7C58))
+ {
+ sub_81D1F84(&gUnknown_0203BCAC->field_7C58, gUnknown_0203BCAC->field_7C58.unk14[0], gUnknown_0203BCAC->field_7C58.unk14[0]);
gUnknown_0203BC90->field_50++;
- break;
- case 5:
- if (!sub_8168328())
+ }
+ break;
+ case 13:
+ sub_81D2230(&gUnknown_0203BCAC->field_7C58);
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 14:
+ PutWindowTilemap(0);
+ PutWindowTilemap(1);
+ sub_8167BA0(0, 1);
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 15:
+ sub_816636C(sub_8166564);
+ break;
+ }
+}
+
+void sub_8166564(void)
+{
+ switch (gUnknown_0203BC90->field_50)
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ SetVBlankCallback(sub_8166340);
+ ShowBg(0);
+ ShowBg(1);
+ ShowBg(3);
+ ShowBg(2);
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ sub_81D3464(gUnknown_0203BCAC->field_7B1C);
+ if (gUnknown_0203BCAC->info.field_71 != gUnknown_0203BCAC->info.field_70 - 1)
{
- gUnknown_0203BC90->field_50++;
+ u8 var0 = gUnknown_0203BCAC->unk7FB0[gUnknown_0203BCAC->field_7FB3];
+ sub_81D3480(gUnknown_0203BCAC->field_7B1C, gUnknown_0203BCAC->field_7B10, var0);
}
+
+ sub_816636C(sub_8166634);
+ }
+ break;
+ }
+}
+
+void sub_8166634(void)
+{
+ u8 var;
+
+ switch (gUnknown_0203BC90->field_50)
+ {
+ case 0:
+ if (gMain.heldKeys & DPAD_UP)
+ {
+ PlaySE(SE_SELECT);
+ sub_8167CA0(TRUE);
+ sub_81D3520(gUnknown_0203BCAC->field_7B1C);
+ gUnknown_0203BC90->field_50 = 1;
+ }
+ else if (gMain.heldKeys & DPAD_DOWN)
+ {
+ PlaySE(SE_SELECT);
+ sub_8167CA0(FALSE);
+ sub_81D3520(gUnknown_0203BCAC->field_7B1C);
+ gUnknown_0203BC90->field_50 = 1;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_0203BC90->field_50 = 3;
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ if (gUnknown_0203BCAC->info.field_71 == gUnknown_0203BCAC->info.field_70 - 1)
+ gUnknown_0203BC90->field_50 = 3;
+ else
+ gUnknown_0203BC90->field_50 = 5;
+ }
+ break;
+ case 1:
+ var = gUnknown_0203BCAC->info.unk74();
+ if (!var)
+ gUnknown_0203BC90->field_50 = var;
+ break;
+ case 2:
+ break;
+ case 3:
+ sub_816636C(sub_8166BEC);
+ break;
+ case 4:
+ break;
+ case 5:
+ sub_8166D44();
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 6:
+ switch (sub_8166DE4())
+ {
+ case 1:
+ case -1:
+ gUnknown_0203BC90->field_50 = 0;
break;
- case 6:
- gKeyRepeatStartDelay = 20;
- sub_8167420();
- gUnknown_0203BC90->field_50++;
- break;
- case 7:
- if (!sub_8167930())
+ case 0:
+ if (IsSheenMaxed())
{
- gUnknown_0203BC90->field_50++;
+ sub_8166F50();
+ gUnknown_0203BC90->field_50 = 7;
}
- break;
- case 8:
- sub_8167608(0);
- sub_8167760();
- gUnknown_0203BC90->field_50++;
- break;
- case 9:
- if (!sub_81D312C(&gUnknown_0203BCAC->field_0[0x7B0E]))
+ else
{
- gUnknown_0203BC90->field_50++;
+ sub_816636C(sub_816681C);
}
break;
- case 10:
+ }
+ break;
+ case 7:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ sub_8166F94();
+ gUnknown_0203BC90->field_50 = 0;
+ }
+ break;
+ }
+}
+
+void sub_816681C(void)
+{
+ switch (gUnknown_0203BC90->field_50)
+ {
+ case 0:
+ gPokeblockMonId = sub_81672A4(gUnknown_0203BCAC->info.field_71);
+ gUnknown_0203BC94 = gUnknown_0203BC90->callback;
+ gUnknown_0203BC98 = gUnknown_0203BC90->pokeblock;
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ SetVBlankCallback(NULL);
+ FREE_AND_SET_NULL(gUnknown_0203BCA0);
+ FREE_AND_SET_NULL(gUnknown_0203BCA4);
+ FREE_AND_SET_NULL(gUnknown_0203BCA8);
+ FREE_AND_SET_NULL(gUnknown_0203BCAC);
+ FreeAllWindowBuffers();
+ gMain.savedCallback = CB2_ReturnAndChooseMonToGivePokeblock;
+ CB2_PreparePokeblockFeedScene();
+ }
+ break;
+ }
+}
+
+void sub_81668F8(void)
+{
+ u16 var;
+
+ switch (gUnknown_0203BC90->field_50)
+ {
+ case 0:
+ if (gUnknown_0203BCAC->info.field_71 != gPokeblockMonId)
+ {
+ sub_8167CA0(gUnknown_0203BC90->field_56);
gUnknown_0203BC90->field_50++;
- break;
- case 11:
- sub_81D2754(gUnknown_0203BCAC->field_7C58, &gUnknown_0203BCAC->field_0[0x7C6C]);
- sub_81D20AC(gUnknown_0203BCAC->field_7C58);
+ }
+ else
+ {
+ gUnknown_0203BC90->field_50 = 3;
+ }
+ break;
+ case 1:
+ var = gUnknown_0203BCAC->info.unk74();
+ if (!var)
+ gUnknown_0203BC90->field_50 = var;
+ break;
+ case 2:
+ break;
+ case 3:
+ BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK);
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 4:
+ ShowBg(0);
+ ShowBg(1);
+ ShowBg(3);
+ ShowBg(2);
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 5:
+ SetVBlankCallback(sub_8166340);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 6:
+ if (!gPaletteFade.active)
+ {
+ sub_81D3464(gUnknown_0203BCAC->field_7B1C);
+ sub_816636C(sub_8166A34);
+ SetMainCallback2(sub_816631C);
+ }
+ break;
+ }
+}
+
+void sub_8166A34(void)
+{
+ u8 var;
+
+ switch (gUnknown_0203BC90->field_50)
+ {
+ case 0:
+ gUnknown_0203BC90->mon = gPlayerParty;
+ gUnknown_0203BC90->mon += gUnknown_0203BCAC->field_7FB8[gUnknown_0203BCAC->info.field_71].unk1;
+ sub_81D3520(gUnknown_0203BCAC->field_7B1C);
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 1:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
gUnknown_0203BC90->field_50++;
- break;
- case 12:
- if (!sub_81D20BC(gUnknown_0203BCAC->field_7C58))
+ break;
+ case 2:
+ sub_8167104();
+ sub_81D2754(gUnknown_0203BC90->field_5c, gUnknown_0203BCAC->field_7C58.unk14[3]);
+ sub_81D1F84(&gUnknown_0203BCAC->field_7C58, gUnknown_0203BCAC->field_7C58.unk14[gUnknown_0203BCAC->field_7FB3], gUnknown_0203BCAC->field_7C58.unk14[3]);
+ sub_8167338();
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 3:
+ var = sub_81D2074(&gUnknown_0203BCAC->field_7C58);
+ if (!var)
+ {
+ sub_81681F4(sub_81672A4(gUnknown_0203BCAC->info.field_71));
+ if (gUnknown_0203BCAC->info.field_71 != gUnknown_0203BCAC->info.field_70 - 1)
{
- sub_81D1F84(gUnknown_0203BCAC->field_7C58, &gUnknown_0203BCAC->field_7C58[0x14], &gUnknown_0203BCAC->field_7C58[0x14]);
- gUnknown_0203BC90->field_50++;
+ u8 var0 = gUnknown_0203BCAC->unk7FB0[gUnknown_0203BCAC->field_7FB3];
+ sub_81D3480(gUnknown_0203BCAC->field_7B1C, gUnknown_0203BCAC->field_7B10, var0);
}
- break;
- case 13:
- sub_81D2230(gUnknown_0203BCAC->field_7C58);
+
+ gUnknown_0203BC90->field_52 = 0;
gUnknown_0203BC90->field_50++;
- break;
- case 14:
- PutWindowTilemap(0);
- PutWindowTilemap(1);
- sub_8167BA0(0, 1);
+ }
+ break;
+ case 4:
+ if (++gUnknown_0203BC90->field_52 > 16)
+ {
+ sub_8166E24();
gUnknown_0203BC90->field_50++;
+ }
+ break;
+ case 5:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON) && !sub_8166EDC())
+ {
+ TryClearPokeblock((u8)gSpecialVar_ItemId);
+ sub_816636C(sub_8166BEC);
+ }
+ break;
+ }
+}
+
+void sub_8166BEC(void)
+{
+ u8 i, var;
+
+ switch (gUnknown_0203BC90->field_50)
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ gUnknown_0203BC90->field_50 = 2;
+ break;
+ case 2:
+ gScanlineEffect.state = 3;
+ ScanlineEffect_InitHBlankDmaTransfer();
+ gUnknown_0203BC90->field_50++;
+ break;
+ case 3:
+ SetMainCallback2(gUnknown_0203BC90->callback);
+ sub_81D354C(gUnknown_0203BCAC->field_7B1C);
+ for (i = 0; i < 7; i++)
+ DestroySprite(&gSprites[gUnknown_0203BCAC->field_7B06[i]]);
+
+ FreeSpriteTilesByTag(0);
+ FreeSpriteTilesByTag(1);
+ FreeSpritePaletteByTag(0);
+ FreeSpritePaletteByTag(1);
+
+ for (i = 0; i < 2; i++)
+ DestroySprite(gUnknown_0203BCAC->field_7B44[i]);
+
+ if (gUnknown_0203BCAC->field_7B10 != 0xFF)
+ DestroySprite(&gSprites[gUnknown_0203BCAC->field_7B10]);
+
+ SetVBlankCallback(NULL);
+ FREE_AND_SET_NULL(gUnknown_0203BCA0);
+ FREE_AND_SET_NULL(gUnknown_0203BCA4);
+ FREE_AND_SET_NULL(gUnknown_0203BCA8);
+ FREE_AND_SET_NULL(gUnknown_0203BCAC);
+ FreeAllWindowBuffers();
+ break;
+ }
+}
+
+void sub_8166D44(void)
+{
+ u8 stringBuffer[0x40];
+
+ GetMonData(&gPlayerParty[sub_81672A4(gUnknown_0203BCAC->info.field_71)], MON_DATA_NICKNAME, stringBuffer);
+ StringGetEnd10(stringBuffer);
+ StringAppend(stringBuffer, gText_GetsAPokeBlockQuestion);
+ StringCopy(gStringVar4, stringBuffer);
+ FillWindowPixelBuffer(2, 17);
+ DrawTextBorderOuter(2, 151, 14);
+ AddTextPrinterParameterized(2, 1, gStringVar4, 0, 1, 0, NULL);
+ PutWindowTilemap(2);
+ CopyWindowToVram(2, 3);
+ CreateYesNoMenu(sUsePokeblockYesNoWinTemplate, 151, 14, 0);
+}
+
+s8 sub_8166DE4(void)
+{
+ s8 menuItem = Menu_ProcessInputNoWrapClearOnChoose();
+
+ switch (menuItem)
+ {
+ case 0:
+ break;
+ case MENU_B_PRESSED:
+ case 1:
+ PlaySE(SE_SELECT);
+ rbox_fill_rectangle(2);
+ ClearWindowTilemap(2);
+ break;
+ }
+
+ return menuItem;
+}
+
+void sub_8166E24(void)
+{
+ DrawTextBorderOuter(2, 151, 14);
+ FillWindowPixelBuffer(2, 17);
+
+ for (gUnknown_0203BC90->field_53 = 0; gUnknown_0203BC90->field_53 < 5; gUnknown_0203BC90->field_53++)
+ {
+ if (gUnknown_0203BC90->field_61[gUnknown_0203BC90->field_53] != 0)
break;
- case 15:
- sub_816636C(sub_8166564);
- break;
+ }
+
+ if (gUnknown_0203BC90->field_53 < 5)
+ Pokeblock_BufferEnhancedStatText(gStringVar4, gUnknown_0203BC90->field_53, gUnknown_0203BC90->field_61[gUnknown_0203BC90->field_53]);
+ else
+ Pokeblock_BufferEnhancedStatText(gStringVar4, gUnknown_0203BC90->field_53, 0);
+
+ Pokeblock_MenuWindowTextPrint(gStringVar4);
+ PutWindowTilemap(2);
+ CopyWindowToVram(2, 3);
+}
+
+bool8 sub_8166EDC(void)
+{
+ FillWindowPixelBuffer(2, 17);
+
+ while (1)
+ {
+ gUnknown_0203BC90->field_53++;
+ if (gUnknown_0203BC90->field_53 < 5)
+ {
+ if (gUnknown_0203BC90->field_61[gUnknown_0203BC90->field_53] != 0)
+ break;
+ }
+ else
+ {
+ gUnknown_0203BC90->field_53 = 5;
+ return FALSE;
+ }
+ }
+
+ Pokeblock_BufferEnhancedStatText(gStringVar4, gUnknown_0203BC90->field_53, gUnknown_0203BC90->field_61[gUnknown_0203BC90->field_53]);
+ Pokeblock_MenuWindowTextPrint(gStringVar4);
+ CopyWindowToVram(2, 2);
+
+ return TRUE;
+}
+
+void sub_8166F50(void)
+{
+ FillWindowPixelBuffer(2, 17);
+ DrawTextBorderOuter(2, 151, 14);
+ AddTextPrinterParameterized(2, 1, gText_WontEatAnymore, 0, 1, 0, NULL);
+ PutWindowTilemap(2);
+ CopyWindowToVram(2, 3);
+}
+
+void sub_8166F94(void)
+{
+ rbox_fill_rectangle(2);
+ ClearWindowTilemap(2);
+ CopyWindowToVram(2, 3);
+}
+
+void Pokeblock_MenuWindowTextPrint(const u8 *message)
+{
+ AddTextPrinterParameterized(2, 1, gStringVar4, 0, 1, 0, NULL);
+}
+
+// This function is a joke.
+#ifdef NONMATCHING
+void Pokeblock_BufferEnhancedStatText(u8 *dest, u8 statId, s16 a2)
+{
+ if (a2 != 0)
+ {
+ StringCopy(dest, sContestStatNames[statId]);
+ StringAppend(dest, gText_WasEnhanced);
+ }
+ else
+ {
+ StringCopy(dest, gText_NothingChanged);
+ }
+}
+#else
+NAKED
+void Pokeblock_BufferEnhancedStatText(u8 *dest, u8 statId, s16 a2)
+{
+ asm(".syntax unified\n\
+push {r4,lr}\n\
+ adds r4, r0, 0\n\
+ lsls r1, 24\n\
+ lsrs r3, r1, 24\n\
+ lsls r2, 16\n\
+ lsrs r0, r2, 16\n\
+ asrs r2, 16\n\
+ cmp r2, 0\n\
+ beq _08167010\n\
+ cmp r2, 0\n\
+ ble _08166FEC\n\
+ movs r0, 0\n\
+_08166FEC:\n\
+ lsls r0, 16\n\
+ ldr r1, =sContestStatNames\n\
+ lsls r0, r3, 2\n\
+ adds r0, r1\n\
+ ldr r1, [r0]\n\
+ adds r0, r4, 0\n\
+ bl StringCopy\n\
+ ldr r1, =gText_WasEnhanced\n\
+ adds r0, r4, 0\n\
+ bl StringAppend\n\
+ b _08167018\n\
+ .pool\n\
+_08167010:\n\
+ ldr r1, =gText_NothingChanged\n\
+ adds r0, r4, 0\n\
+ bl StringCopy\n\
+_08167018:\n\
+ pop {r4}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool\n\
+ .syntax divided\n");
+}
+#endif
+
+void Pokeblock_GetMonContestStats(struct Pokemon *mon, u8 *data)
+{
+ u16 i;
+
+ for (i = 0; i < 5; i++)
+ data[i] = GetMonData(mon, gUnknown_085DFCB0[i]);
+}
+
+void sub_8167054(struct Pokeblock *pokeblock, struct Pokemon *mon)
+{
+ u16 i;
+ s16 cstat;
+ u8 data;
+
+ if (GetMonData(mon, MON_DATA_SHEEN) != 255)
+ {
+ sub_8167184(pokeblock, mon);
+ for (i = 0; i < 5; i++)
+ {
+ data = GetMonData(mon, gUnknown_085DFCB0[i]);
+ cstat = data + gUnknown_0203BC90->field_66[i];
+ if (cstat < 0)
+ cstat = 0;
+ if (cstat > 255)
+ cstat = 255;
+ data = cstat;
+ SetMonData(mon, gUnknown_085DFCB0[i], &data);
+ }
+
+ cstat = (u8)(GetMonData(mon, MON_DATA_SHEEN)) + pokeblock->feel;
+ if (cstat > 255)
+ cstat = 255;
+
+ data = cstat;
+ SetMonData(mon, MON_DATA_SHEEN, &data);
+ }
+}
+
+void sub_8167104(void)
+{
+ u16 i;
+ struct Pokemon *mon = gPlayerParty;
+ mon += gUnknown_0203BCAC->unk7FB0[gUnknown_0203BCAC->info.field_71 * 4 + 9];
+
+ Pokeblock_GetMonContestStats(mon, gUnknown_0203BC90->field_57);
+ sub_8167054(gUnknown_0203BC90->pokeblock, mon);
+ Pokeblock_GetMonContestStats(mon, gUnknown_0203BC90->field_5c);
+ for (i = 0; i < 5; i++)
+ gUnknown_0203BC90->field_61[i] = gUnknown_0203BC90->field_5c[i] - gUnknown_0203BC90->field_57[i];
+}
+
+void sub_8167184(struct Pokeblock *pokeblock, struct Pokemon *mon)
+{
+ s8 i, direction, taste;
+
+ gUnknown_0203BC90->field_66[0] = pokeblock->spicy;
+ gUnknown_0203BC90->field_66[1] = pokeblock->sour;
+ gUnknown_0203BC90->field_66[2] = pokeblock->bitter;
+ gUnknown_0203BC90->field_66[3] = pokeblock->sweet;
+ gUnknown_0203BC90->field_66[4] = pokeblock->dry;
+
+ if (gPokeblockGain > 0)
+ direction = 1;
+ else if (gPokeblockGain < 0)
+ direction = -1;
+ else
+ return;
+
+ for (i = 0; i < 5; i++)
+ {
+ s16 amount = gUnknown_0203BC90->field_66[i];
+ s8 boost = amount / 10;
+
+ if (amount % 10 >= 5) // round to the nearest
+ boost++;
+
+ taste = GetMonFlavorRelation(mon, gUnknown_085DFCC4[i]);
+ if (taste == direction)
+ gUnknown_0203BC90->field_66[i] += boost * taste;
+ }
+}
+
+bool8 IsSheenMaxed(void)
+{
+ if (GetBoxOrPartyMonData(gUnknown_0203BCAC->field_7FB8[gUnknown_0203BCAC->info.field_71].unk0,
+ gUnknown_0203BCAC->field_7FB8[gUnknown_0203BCAC->info.field_71].unk1,
+ MON_DATA_SHEEN,
+ NULL) == 255)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+u8 sub_81672A4(u8 a0)
+{
+ u8 i;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG))
+ {
+ if (a0 == 0)
+ return i;
+ a0--;
+ }
+ }
+
+ return 0;
+}
+
+u8 sub_81672E4(u8 partyCount)
+{
+ u8 i, numEggs;
+
+ for (i = 0, numEggs = 0; i < partyCount; i++)
+ {
+ if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG))
+ numEggs++;
+ }
+
+ return partyCount - numEggs;
+}
+
+u8 sub_8167324(u8 a0)
+{
+ return sub_81672A4(a0);
+}
+
+void sub_8167338(void)
+{
+ u16 i, spriteId;
+
+ LoadSpriteSheet(&gSpriteSheet_ConditionUpDown);
+ LoadSpritePalette(&gSpritePalette_ConditionUpDown);
+ gUnknown_0203BC90->field_54 = 0;
+
+ for (i = 0; i < 5; i++)
+ {
+ if (gUnknown_0203BC90->field_61[i] != 0)
+ {
+ spriteId = CreateSprite(&gSpriteTemplate_085DFD5C, gUnknown_085DFD28[i][0], gUnknown_085DFD28[i][1], 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ if (gUnknown_0203BC90->field_61[i] != 0)
+ gSprites[spriteId].callback = sub_81673DC;
+
+ gUnknown_0203BC90->field_54++;
+ }
+ }
+ }
+}
+
+void sub_81673DC(struct Sprite *sprite)
+{
+ if (sprite->data[0] < 6)
+ sprite->pos2.y -= 2;
+ else if (sprite->data[0] < 12)
+ sprite->pos2.y += 2;
+
+ if (++sprite->data[0] > 60)
+ {
+ DestroySprite(sprite);
+ gUnknown_0203BC90->field_54--;
+ }
+}
+
+void sub_8167420(void)
+{
+ u16 i;
+ u16 numMons;
+
+ for (i = 0, numMons = 0; i < CalculatePlayerPartyCount(); i++)
+ {
+ if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG))
+ {
+ gUnknown_0203BCAC->field_7FB8[numMons].unk0 = 14;
+ gUnknown_0203BCAC->field_7FB8[numMons].unk1 = i;
+ gUnknown_0203BCAC->field_7FB8[numMons].unk2 = 0;
+ numMons++;
+ }
+ }
+
+ gUnknown_0203BCAC->info.field_71 = 0;
+ gUnknown_0203BCAC->info.field_70 = numMons + 1;
+ sub_81674BC();
+}
+
+void sub_81674BC(void)
+{
+ s16 var, var2;
+
+ sub_816753C(gUnknown_0203BCAC->info.field_71, 0);
+ gUnknown_0203BCAC->field_7FB3 = 0;
+ gUnknown_0203BCAC->field_7FB4 = 1;
+ gUnknown_0203BCAC->field_7FB5 = 2;
+
+ var = gUnknown_0203BCAC->info.field_71 + 1;
+ if (var >= gUnknown_0203BCAC->info.field_70)
+ var = 0;
+
+ var2 = gUnknown_0203BCAC->info.field_71 - 1;
+ if (var2 < 0)
+ var2 = gUnknown_0203BCAC->info.field_70 - 1;
+
+ sub_816753C(var, 1);
+ sub_816753C(var2, 2);
+}
+
+void sub_816753C(s16 id1, u8 id2)
+{
+ u8 boxId = gUnknown_0203BCAC->field_7FB8[id1].unk0;
+ u8 monId = gUnknown_0203BCAC->field_7FB8[id1].unk1;
+ u8 r6 = gUnknown_0203BCAC->info.field_70;
+ bool8 r8 = FALSE;
+
+ sub_81D2ED4(gUnknown_0203BCAC->field_7B4D[id2], gUnknown_0203BCAC->field_7B95[id2], boxId, monId, id1, r6, r8);
+ sub_81D2F78(&gUnknown_0203BCAC->field_7C58, gUnknown_0203BCAC->unk7FB0, boxId, monId, id1, id2, r6, r8);
+ sub_81D3094(gUnknown_0203BCAC->field_304[id2], gUnknown_0203BCAC->field_4[id2], boxId, monId, id1, r6, r8);
+}
+
+void sub_8167608(u8 arg0)
+{
+ u8 spriteId;
+ struct SpriteTemplate spriteTemplate;
+ struct SpriteSheet spriteSheet;
+ struct SpritePalette spritePal;
+
+ if (gUnknown_0203BCAC->field_7B10 == 0xFF)
+ {
+ sub_81D31D0(&spriteSheet, &spriteTemplate, &spritePal);
+ spriteSheet.data = gUnknown_0203BCAC->field_304[arg0];
+ spritePal.data = gUnknown_0203BCAC->field_4[arg0];
+ gUnknown_0203BCAC->field_7B12 = LoadSpritePalette(&spritePal);
+ gUnknown_0203BCAC->field_7B14 = LoadSpriteSheet(&spriteSheet);
+ spriteId = CreateSprite(&spriteTemplate, 38, 104, 0);
+ gUnknown_0203BCAC->field_7B10 = spriteId;
+ if (spriteId == MAX_SPRITES)
+ {
+ FreeSpriteTilesByTag(100);
+ FreeSpritePaletteByTag(100);
+ gUnknown_0203BCAC->field_7B10 = 0xFF;
+ }
+ else
+ {
+ gUnknown_0203BCAC->field_7B10 = spriteId;
+ gSprites[gUnknown_0203BCAC->field_7B10].callback = sub_8168168;
+ gSprites[gUnknown_0203BCAC->field_7B10].pos2.y -= 34;
+ gUnknown_0203BCAC->field_7B18 = (void*)(OBJ_VRAM0 + (gUnknown_0203BCAC->field_7B14 * 32));
+ gUnknown_0203BCAC->field_7B12 = (gUnknown_0203BCAC->field_7B12 * 16) + 0x100;
+ }
+ }
+ else
+ {
+ do {} while(0); // Surprised to see something like this? It's a very neat trick for generating the same assembly. It has no practical purpose, feel free to remove it.
+ DmaCopy16Defvars(3, gUnknown_0203BCAC->field_304[arg0], gUnknown_0203BCAC->field_7B18, 0x800);
+ LoadPalette(gUnknown_0203BCAC->field_4[arg0], gUnknown_0203BCAC->field_7B12, 32);
+ }
+}
+
+void sub_8167760(void)
+{
+ u16 i, spriteId;
+ struct SpriteSheet spriteSheets[4];
+ struct SpriteTemplate spriteTemplate;
+ struct SpritePalette spritePals[3];
+ struct SpriteSheet spriteSheet2;
+ struct SpritePalette spritePal2;
+
+ sub_81D321C(spriteSheets, &spriteTemplate, spritePals);
+ LoadSpriteSheets(spriteSheets);
+ LoadSpritePalettes(spritePals);
+
+ for (i = 0; i < gUnknown_0203BCAC->info.field_70 - 1; i++)
+ {
+ spriteId = CreateSprite(&spriteTemplate, 226, (i * 20) + 8, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gUnknown_0203BCAC->field_7B06[i] = spriteId;
+ gSprites[spriteId].data[0] = i;
+ gSprites[spriteId].callback = sub_8168180;
+ }
+ else
+ {
+ gUnknown_0203BCAC->field_7B06[i] = -1;
+ }
+ }
+
+ spriteTemplate.tileTag = 103;
+ for (; i < 6; i++)
+ {
+ spriteId = CreateSprite(&spriteTemplate, 230, (i * 20) + 8, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gUnknown_0203BCAC->field_7B06[i] = spriteId;
+ gSprites[spriteId].oam.size = 0;
+ }
+ else
+ {
+ gUnknown_0203BCAC->field_7B06[i] = -1;
+ }
+ }
+
+ spriteTemplate.tileTag = 102;
+ spriteTemplate.callback = sub_81681B4;
+ spriteId = CreateSprite(&spriteTemplate, 222, (i * 20) + 8, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gUnknown_0203BCAC->field_7B06[i] = spriteId;
+ gSprites[spriteId].oam.shape = 1;
+ gSprites[spriteId].oam.size = 2;
+ }
+ else
+ {
+ gUnknown_0203BCAC->field_7B06[i] = -1;
+ }
+
+ sub_81D32B0(&spriteSheet2, &spritePal2);
+ LoadSpriteSheet(&spriteSheet2);
+ LoadSpritePalette(&spritePal2);
+}
+
+bool8 sub_8167930(void)
+{
+ switch (gUnknown_0203BCAC->info.unk78)
+ {
+ case 0:
+ ChangeBgX(0, 0, 0);
+ ChangeBgY(0, 0, 0);
+ ChangeBgX(1, 0, 0);
+ ChangeBgY(1, 0, 0);
+ ChangeBgX(2, 0, 0);
+ ChangeBgY(2, 0, 0);
+ ChangeBgX(3, 0, 0);
+ ChangeBgY(3, 136 << 6, 0);
+ SetGpuReg(REG_OFFSET_DISPCNT, 28736);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2|BLDCNT_EFFECT_BLEND|BLDCNT_TGT2_BG1);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4));
+ break;
+ case 1:
+ gUnknown_0203BCA4 = Alloc(6656);
+ gUnknown_0203BCA0 = Alloc(1280);
+ gUnknown_0203BCA8 = Alloc(1280);
+ break;
+ case 2:
+ LZ77UnCompVram(gUnknown_085DFB60, gUnknown_0203BCA8);
+ break;
+ case 3:
+ LoadBgTiles(3, gUnknown_085DFA80, 224, 0);
+ break;
+ case 4:
+ LoadBgTilemap(3, gUnknown_0203BCA8, 1280, 0);
+ break;
+ case 5:
+ LoadPalette(gUnknown_085DFA60, 208, 32);
+ gUnknown_0203BCAC->field_7B0E = 0xFFB0;
+ break;
+ case 6:
+ LZ77UnCompVram(gUsePokeblockGraph_Gfx, gUnknown_0203BCA4);
+ break;
+ case 7:
+ LZ77UnCompVram(gUsePokeblockGraph_Tilemap, gUnknown_0203BCA0);
+ LoadPalette(gUsePokeblockGraph_Pal, 32, 32);
+ break;
+ case 8:
+ LoadBgTiles(1, gUnknown_0203BCA4, 6656, 160 << 2);
+ break;
+ case 9:
+ SetBgTilemapBuffer(1, gUnknown_0203BCA0);
+ CopyToBgTilemapBufferRect(1, gUsePokeblockNatureWin_Pal, 0, 13, 12, 4);
+ CopyBgTilemapBufferToVram(1);
+ break;
+ case 10:
+ LZ77UnCompVram(gUnknown_085DFC0C, gUnknown_0203BCAC->tilemapBuffer);
+ break;
+ case 11:
+ LoadBgTilemap(2, gUnknown_0203BCAC->tilemapBuffer, 1280, 0);
+ LoadPalette(gUnknown_086231E8, 48, 32);
+ LoadPalette(gUnknown_08623208, 240, 32);
+ sub_81D21DC(2);
+ break;
+ default:
+ gUnknown_0203BCAC->info.unk78 = 0;
+ return FALSE;
+ }
+
+ gUnknown_0203BCAC->info.unk78++;
+ return TRUE;
+}
+
+void sub_8167BA0(u16 arg0, u8 copyToVramMode)
+{
+ u8 partyIndex;
+ u8 nature;
+ u8 *str;
+
+ FillWindowPixelBuffer(0, PIXEL_FILL(0));
+ FillWindowPixelBuffer(1, PIXEL_FILL(0));
+ if (gUnknown_0203BCAC->info.field_71 != gUnknown_0203BCAC->info.field_70 - 1)
+ {
+ AddTextPrinterParameterized(0, 1, gUnknown_0203BCAC->field_7B95[arg0], 0, 1, 0, NULL);
+ partyIndex = sub_81672A4(gUnknown_0203BCAC->info.field_71);
+ nature = GetNature(&gPlayerParty[partyIndex]);
+ str = StringCopy(gUnknown_0203BCAC->info.field_7A, gText_NatureSlash);
+ str = StringCopy(str, gNatureNamePointers[nature]);
+ AddTextPrinterParameterized3(1, 1, 2, 1, gUnknown_085DFCC9, 0, gUnknown_0203BCAC->info.field_7A);
+ }
+
+ if (copyToVramMode)
+ {
+ CopyWindowToVram(0, 3);
+ CopyWindowToVram(1, 3);
+ }
+ else
+ {
+ CopyWindowToVram(0, 2);
+ CopyWindowToVram(1, 2);
+ }
+}
+
+static void sub_8167CA0(bool8 arg0)
+{
+ u16 var0;
+ bool32 r8, r4;
+
+ if (arg0)
+ var0 = gUnknown_0203BCAC->field_7FB5;
+ else
+ var0 = gUnknown_0203BCAC->field_7FB4;
+
+ sub_81D1F84(
+ &gUnknown_0203BCAC->field_7C58,
+ gUnknown_0203BCAC->field_7C58.unk14[gUnknown_0203BCAC->field_7FB3],
+ gUnknown_0203BCAC->field_7C58.unk14[var0]);
+
+ r8 = (gUnknown_0203BCAC->info.field_71 ^ (gUnknown_0203BCAC->info.field_70 - 1)) ? 1 : 0;
+ if (arg0)
+ {
+ gUnknown_0203BCAC->field_7FB5 = gUnknown_0203BCAC->field_7FB4;
+ gUnknown_0203BCAC->field_7FB4 = gUnknown_0203BCAC->field_7FB3;
+ gUnknown_0203BCAC->field_7FB3 = var0;
+ gUnknown_0203BCAC->field_7FB6 = gUnknown_0203BCAC->field_7FB5;
+
+ gUnknown_0203BCAC->info.field_71 = (gUnknown_0203BCAC->info.field_71 == 0)
+ ? gUnknown_0203BCAC->info.field_70 - 1
+ : gUnknown_0203BCAC->info.field_71 - 1;
+
+ gUnknown_0203BCAC->field_7B4C = (gUnknown_0203BCAC->info.field_71 == 0)
+ ? gUnknown_0203BCAC->info.field_70 - 1
+ : gUnknown_0203BCAC->info.field_71 - 1;
+ }
+ else
+ {
+ gUnknown_0203BCAC->field_7FB4 = gUnknown_0203BCAC->field_7FB5;
+ gUnknown_0203BCAC->field_7FB5 = gUnknown_0203BCAC->field_7FB3;
+ gUnknown_0203BCAC->field_7FB3 = var0;
+ gUnknown_0203BCAC->field_7FB6 = gUnknown_0203BCAC->field_7FB4;
+
+ gUnknown_0203BCAC->info.field_71 = (gUnknown_0203BCAC->info.field_71 < gUnknown_0203BCAC->info.field_70 - 1)
+ ? gUnknown_0203BCAC->info.field_71 + 1
+ : 0;
+
+ gUnknown_0203BCAC->field_7B4C = (gUnknown_0203BCAC->info.field_71 < gUnknown_0203BCAC->info.field_70 - 1)
+ ? gUnknown_0203BCAC->info.field_71 + 1
+ : 0;
+ }
+
+ r4 = (gUnknown_0203BCAC->info.field_71 ^ (gUnknown_0203BCAC->info.field_70 - 1)) ? 1 : 0;
+ sub_81D3520(gUnknown_0203BCAC->field_7B1C);
+
+ if (!r8)
+ gUnknown_0203BCAC->info.unk74 = sub_8167EA4;
+ else if (!r4)
+ gUnknown_0203BCAC->info.unk74 = sub_8167FA4;
+ else
+ gUnknown_0203BCAC->info.unk74 = sub_8168048;
+}
+
+static u8 sub_8167EA4(void)
+{
+ switch (gUnknown_0203BCAC->info.unk78)
+ {
+ case 0:
+ sub_8167608(gUnknown_0203BCAC->field_7FB3);
+ gUnknown_0203BCAC->info.unk78++;
+ break;
+ case 1:
+ sub_8167BA0(gUnknown_0203BCAC->field_7FB3, 0);
+ gUnknown_0203BCAC->info.unk78++;
+ break;
+ case 2:
+ if (!sub_81D3178(&gUnknown_0203BCAC->field_7C58, &gUnknown_0203BCAC->field_7B0E))
+ {
+ sub_816753C(gUnknown_0203BCAC->field_7B4C, gUnknown_0203BCAC->field_7FB6);
+ gUnknown_0203BCAC->info.unk78++;
+ }
+ break;
+ case 3:
+ sub_81D3464(gUnknown_0203BCAC->field_7B1C);
+ if (gUnknown_0203BCAC->info.field_71 != gUnknown_0203BCAC->info.field_70 - 1)
+ {
+ u8 var0 = gUnknown_0203BCAC->unk7FB0[gUnknown_0203BCAC->field_7FB3];
+ sub_81D3480(gUnknown_0203BCAC->field_7B1C, gUnknown_0203BCAC->field_7B10, var0);
+ }
+
+ gUnknown_0203BCAC->info.unk78 = 0;
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static u8 sub_8167FA4(void)
+{
+ switch (gUnknown_0203BCAC->info.unk78)
+ {
+ case 0:
+ if (!sub_81D31A4(&gUnknown_0203BCAC->field_7C58, &gUnknown_0203BCAC->field_7B0E))
+ gUnknown_0203BCAC->info.unk78++;
+ break;
+ case 1:
+ sub_8167BA0(gUnknown_0203BCAC->field_7FB3, 0);
+ gUnknown_0203BCAC->info.unk78++;
+ break;
+ case 2:
+ sub_816753C(gUnknown_0203BCAC->field_7B4C, gUnknown_0203BCAC->field_7FB6);
+ gUnknown_0203BCAC->info.unk78++;
+ break;
+ case 3:
+ gUnknown_0203BCAC->info.unk78 = 0;
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static u8 sub_8168048(void)
+{
+ switch (gUnknown_0203BCAC->info.unk78)
+ {
+ case 0:
+ sub_81D2074(&gUnknown_0203BCAC->field_7C58);
+ if (!sub_81D3150(&gUnknown_0203BCAC->field_7B0E))
+ {
+ sub_8167608(gUnknown_0203BCAC->field_7FB3);
+ gUnknown_0203BCAC->info.unk78++;
+ }
+ break;
+ case 1:
+ sub_8167BA0(gUnknown_0203BCAC->field_7FB3, 0);
+ gUnknown_0203BCAC->info.unk78++;
+ break;
+ case 2:
+ if (!sub_81D3178(&gUnknown_0203BCAC->field_7C58, &gUnknown_0203BCAC->field_7B0E))
+ {
+ sub_816753C(gUnknown_0203BCAC->field_7B4C, gUnknown_0203BCAC->field_7FB6);
+ gUnknown_0203BCAC->info.unk78++;
+ }
+ break;
+ case 3:
+ sub_81D3464(gUnknown_0203BCAC->field_7B1C);
+ if (gUnknown_0203BCAC->info.field_71 != gUnknown_0203BCAC->info.field_70 - 1)
+ {
+ u8 var0 = gUnknown_0203BCAC->unk7FB0[gUnknown_0203BCAC->field_7FB3];
+ sub_81D3480(gUnknown_0203BCAC->field_7B1C, gUnknown_0203BCAC->field_7B10, var0);
+ }
+
+ gUnknown_0203BCAC->info.unk78 = 0;
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void sub_8168168(struct Sprite *sprite)
+{
+ sprite->pos1.x = gUnknown_0203BCAC->field_7B0E + 38;
+}
+
+void sub_8168180(struct Sprite *sprite)
+{
+ if (sprite->data[0] == gUnknown_0203BCAC->info.field_71)
+ StartSpriteAnim(sprite, 0);
+ else
+ StartSpriteAnim(sprite, 1);
+}
+
+void sub_81681B4(struct Sprite *sprite)
+{
+ if (gUnknown_0203BCAC->info.field_71 == gUnknown_0203BCAC->info.field_70 - 1)
+ sprite->oam.paletteNum = IndexOfSpritePaletteTag(101);
+ else
+ sprite->oam.paletteNum = IndexOfSpritePaletteTag(102);
+}
+
+void sub_81681F4(u8 monIndex)
+{
+ u8 sheen = GetMonData(&gPlayerParty[monIndex], MON_DATA_SHEEN);
+
+ gUnknown_0203BCAC->unk7FB0[gUnknown_0203BCAC->field_7FB3] = (sheen != 255)
+ ? sheen / 29
+ : 9;
+}
+
+static void sub_8168248(void)
+{
+ struct CompressedSpriteSheet spriteSheet;
+ struct SpritePalette spritePalette;
+
+ spritePalette = gUnknown_085DFDB8;
+ spriteSheet.data = gUsePokeblockCondition_Gfx;
+ spriteSheet.size = 0x800;
+ spriteSheet.tag = 1;
+ LoadCompressedSpriteSheet(&spriteSheet);
+ LoadSpritePalette(&spritePalette);
+}
+
+static void sub_8168294(void)
+{
+ u16 i;
+ s16 xDiff, xStart;
+ int yStart = 17;
+ int var = 8;
+ struct Sprite **sprites = gUnknown_0203BCAC->field_7B44;
+ const struct SpriteTemplate *template = &gUnknown_085DFDA0;
+
+ for (i = 0, xDiff = 64, xStart = -96; i < 2; i++)
+ {
+ u8 spriteId = CreateSprite(template, i * xDiff + xStart, yStart, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[0] = var;
+ gSprites[spriteId].data[1] = (i * xDiff) | 0x20;
+ gSprites[spriteId].data[2] = i;
+ StartSpriteAnim(&gSprites[spriteId], i);
+ sprites[i] = &gSprites[spriteId];
+ }
+ }
+}
+
+static bool8 sub_8168328(void)
+{
+ switch (gUnknown_0203BCAC->info.unk78)
+ {
+ case 0:
+ sub_8168248();
+ gUnknown_0203BCAC->info.unk78++;
+ return TRUE;
+ case 1:
+ sub_8168294();
+ gUnknown_0203BCAC->info.unk78 = 0;
+ return FALSE;
+ }
+
+ return FALSE;
+}
+
+void sub_8168374(struct Sprite *sprite)
+{
+ s16 prevX = sprite->pos1.x;
+
+ sprite->pos1.x += sprite->data[0];
+ if ((prevX <= sprite->data[1] && sprite->pos1.x >= sprite->data[1])
+ || (prevX >= sprite->data[1] && sprite->pos1.x <= sprite->data[1]))
+ {
+ sprite->pos1.x = sprite->data[1];
+ sprite->callback = SpriteCallbackDummy;
}
}
diff --git a/src/util.c b/src/util.c
index 47112774a..8aa54857a 100644
--- a/src/util.c
+++ b/src/util.c
@@ -218,7 +218,7 @@ int CountTrailingZeroBits(u32 value)
return 0;
}
-u16 CalcCRC16(u8 *data, s32 length)
+u16 CalcCRC16(const u8 *data, s32 length)
{
u16 i, j;
u16 crc = 0x1121;
@@ -237,7 +237,7 @@ u16 CalcCRC16(u8 *data, s32 length)
return ~crc;
}
-u16 CalcCRC16WithTable(u8 *data, u32 length)
+u16 CalcCRC16WithTable(const u8 *data, u32 length)
{
u16 i;
u16 crc = 0x1121;
diff --git a/src/walda_phrase.c b/src/walda_phrase.c
index 83004777f..e8c1e4aed 100644
--- a/src/walda_phrase.c
+++ b/src/walda_phrase.c
@@ -70,7 +70,7 @@ static void CB2_HandleGivenWaldaPhrase(void)
}
StringCopy(gStringVar1, GetWaldaPhrasePtr());
- gFieldCallback = sub_80AF168;
+ gFieldCallback = FieldCallback_ReturnToEventScript2;
SetMainCallback2(CB2_ReturnToField);
}
diff --git a/src/wallclock.c b/src/wallclock.c
index d3bbcf7a2..810abb1d1 100644
--- a/src/wallclock.c
+++ b/src/wallclock.c
@@ -93,6 +93,7 @@ static const struct WindowTemplate gUnknown_085B21DC[] =
},
DUMMY_WIN_TEMPLATE
};
+
static const struct WindowTemplate gUnknown_085B21F4 =
{
.bg = 0,
@@ -103,7 +104,9 @@ static const struct WindowTemplate gUnknown_085B21F4 =
.paletteNum = 14,
.baseBlock = 572
};
-static const struct BgTemplate gUnknown_085B21FC[] = {
+
+static const struct BgTemplate gUnknown_085B21FC[] =
+{
{
.bg = 0,
.charBaseIndex = 2,
@@ -123,34 +126,57 @@ static const struct BgTemplate gUnknown_085B21FC[] = {
.priority = 2
}
};
-static const struct CompressedSpriteSheet gUnknown_085B2208 = {
+
+static const struct CompressedSpriteSheet gUnknown_085B2208 =
+{
sUnknown_085B1F58, 0x2000, TAG_GFX_WALL_CLOCK_HAND
};
-static const u32 filler_85B2210[2] = {};
-static const struct SpritePalette gUnknown_085B2218[] = {
- { gWallclockMale_Pal, TAG_PAL_WALL_CLOCK_HAND },
- { gWallclockFemale_Pal, 0x1001 },
+
+static const u8 filler_85B2210[8] = {0};
+
+static const struct SpritePalette gUnknown_085B2218[] =
+{
+ {
+ .data = gWallclockMale_Pal,
+ .tag = TAG_PAL_WALL_CLOCK_HAND
+ },
+ {
+ .data = gWallclockFemale_Pal,
+ .tag = 0x1001
+ },
{}
};
-static const struct OamData Unknown_085B2230 = {
+
+static const struct OamData Unknown_085B2230 =
+{
.y = 160,
- .size = 3,
+ .shape = SPRITE_SHAPE(64x64),
+ .size = SPRITE_SIZE(64x64),
.priority = 1,
};
-static const union AnimCmd Unknown_085B2238[] = {
+
+static const union AnimCmd Unknown_085B2238[] =
+{
ANIMCMD_FRAME(0, 30),
ANIMCMD_END,
};
-static const union AnimCmd Unknown_085B2240[] = {
+
+static const union AnimCmd Unknown_085B2240[] =
+{
ANIMCMD_FRAME(64, 30),
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_085B2248[] = {
+
+static const union AnimCmd *const gUnknown_085B2248[] =
+{
Unknown_085B2238
};
-static const union AnimCmd *const gUnknown_085B224C[] = {
+
+static const union AnimCmd *const gUnknown_085B224C[] =
+{
Unknown_085B2240
};
+
static const struct SpriteTemplate gUnknown_085B2250 =
{
.tileTag = TAG_GFX_WALL_CLOCK_HAND,
@@ -161,6 +187,7 @@ static const struct SpriteTemplate gUnknown_085B2250 =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_MinuteHand,
};
+
static const struct SpriteTemplate gUnknown_085B2268 =
{
.tileTag = TAG_GFX_WALL_CLOCK_HAND,
@@ -171,25 +198,37 @@ static const struct SpriteTemplate gUnknown_085B2268 =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_HourHand,
};
-static const struct OamData Unknown_085B2280 = {
+
+static const struct OamData Unknown_085B2280 =
+{
.y = 160,
- .size = 1,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
.priority = 3,
};
-static const union AnimCmd Unknown_085B2288[] = {
+
+static const union AnimCmd Unknown_085B2288[] =
+{
ANIMCMD_FRAME(132, 30),
ANIMCMD_END,
};
-static const union AnimCmd Unknown_085B2290[] = {
+
+static const union AnimCmd Unknown_085B2290[] =
+{
ANIMCMD_FRAME(128, 30),
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_085B2298[] = {
+
+static const union AnimCmd *const gUnknown_085B2298[] =
+{
Unknown_085B2288
};
-static const union AnimCmd *const gUnknown_085B229C[] = {
+
+static const union AnimCmd *const gUnknown_085B229C[] =
+{
Unknown_085B2290
};
+
static const struct SpriteTemplate gUnknown_085B22A0 =
{
.tileTag = TAG_GFX_WALL_CLOCK_HAND,
@@ -200,6 +239,7 @@ static const struct SpriteTemplate gUnknown_085B22A0 =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_AMIndicator
};
+
static const struct SpriteTemplate gUnknown_085B22B8 =
{
.tileTag = TAG_GFX_WALL_CLOCK_HAND,
@@ -210,7 +250,9 @@ static const struct SpriteTemplate gUnknown_085B22B8 =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_PMIndicator
};
-static const s8 sClockHandCoords[][2] = {
+
+static const s8 sClockHandCoords[][2] =
+{
{ 0x00, -0x18},
{ 0x01, -0x19},
{ 0x01, -0x19},
diff --git a/src/water.c b/src/water.c
index 20bf2542d..9aa08bf01 100644
--- a/src/water.c
+++ b/src/water.c
@@ -483,7 +483,7 @@ extern const struct SpriteTemplate gUnknown_08597388;
void AnimTask_CreateRaindrops(u8 taskId)
{
u8 x, y;
-
+
if (gTasks[taskId].data[0] == 0)
{
gTasks[taskId].data[1] = gBattleAnimArgs[0];
@@ -520,7 +520,7 @@ void sub_8107228(struct Sprite *sprite)
void sub_8107260(struct Sprite *sprite)
{
u8 spriteId;
-
+
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0];
@@ -559,7 +559,7 @@ void sub_8107380(struct Sprite *sprite)
u8 otherSpriteId = sprite->data[5];
u8 timer = gSprites[otherSpriteId].data[4];
u16 trigIndex = gSprites[otherSpriteId].data[3];
-
+
sprite->data[0] = 1;
AnimTranslateLinear(sprite);
sprite->pos2.x += Sin(trigIndex >> 8, gSprites[otherSpriteId].data[0]);
@@ -593,7 +593,7 @@ void sub_8107430(struct Sprite *sprite)
void sub_810744C(struct Sprite *sprite)
{
s16 unkArg;
-
+
InitSpritePosToAnimAttacker(sprite, TRUE);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
unkArg = -gBattleAnimArgs[2];
@@ -636,7 +636,7 @@ void sub_810756C(u8 taskId)
u16 *palPtr1;
u16 *palPtr2;
u16 rgbBuffer;
-
+
if (++gTasks[taskId].data[10] == 3)
{
gTasks[taskId].data[10] = 0;
@@ -724,7 +724,7 @@ _081075DE:\n\
void sub_81075EC(struct Sprite *sprite)
{
u16 retArg;
-
+
InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = 30;
sprite->data[1] = sprite->pos1.x;
@@ -781,7 +781,7 @@ void sub_81076F4(u8 taskId)
void sub_8107730(struct Sprite *sprite)
{
u8 priority;
-
+
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
sprite->pos2.y = -10;
@@ -797,7 +797,7 @@ void sub_8107730(struct Sprite *sprite)
{
sprite->pos2.x = -10;
sprite->subpriority = priority - 2;
- }
+ }
}
else
{
@@ -876,7 +876,7 @@ void AnimTask_CreateSurfWave(u8 taskId)
{
struct BattleAnimBgData animBg;
u8 taskId2;
-
+
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
@@ -894,9 +894,9 @@ void AnimTask_CreateSurfWave(u8 taskId)
{
sub_80A6D60(&animBg, gUnknown_08D963A4, 1);
}
- AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBackgroundImage_Surf, animBg.tilesOffset);
+ AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset);
if (gBattleAnimArgs[0] == 0)
- LoadCompressedPalette(gBattleAnimBackgroundPalette_Surf, animBg.paletteId * 16, 32);
+ LoadCompressedPalette(gBattleAnimBgPalette_Surf, animBg.paletteId * 16, 32);
else
LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, animBg.paletteId * 16, 32);
taskId2 = CreateTask(sub_8107D58, gTasks[taskId].priority + 1);
@@ -1009,7 +1009,7 @@ _081079E0:\n\
_081079EA:\n\
mov r0, sp\n\
ldrb r0, [r0, 0x9]\n\
- ldr r1, =gBattleAnimBackgroundImage_Surf\n\
+ ldr r1, =gBattleAnimBgImage_Surf\n\
mov r2, sp\n\
ldrh r2, [r2, 0xA]\n\
bl AnimLoadCompressedBgGfx\n\
@@ -1018,7 +1018,7 @@ _081079EA:\n\
ldrsh r0, [r0, r1]\n\
cmp r0, 0\n\
bne _08107A24\n\
- ldr r0, =gBattleAnimBackgroundPalette_Surf\n\
+ ldr r0, =gBattleAnimBgPalette_Surf\n\
mov r1, sp\n\
ldrb r1, [r1, 0x8]\n\
lsls r1, 4\n\
@@ -1182,7 +1182,7 @@ void sub_8107B84(u8 taskId)
s16 unkUse;
u32 palOffset;
u16 palNum;
-
+
*BGptrX += gTasks[taskId].data[0];
*BGptrY += gTasks[taskId].data[1];
sub_80A6B30(&animBg);
@@ -1412,7 +1412,7 @@ void sub_8107D58(u8 taskId)
struct ScanlineEffectParams params;
struct Task *task = &gTasks[taskId];
// u16 *scanlineBuffer;
-
+
switch (task->data[0])
{
case 0:
@@ -1883,7 +1883,7 @@ void sub_8108034(struct Sprite *sprite)
{
s16 randData;
s16 randData2;
-
+
sprite->oam.tileNum += 8;
InitSpritePosToAnimTarget(sprite, TRUE);
randData = (Random2() & 0xFF) | 256;
@@ -1911,7 +1911,7 @@ void sub_8108098(struct Sprite *sprite)
void sub_81080E4(u8 taskId)
{
struct Task *task = &gTasks[taskId];
-
+
task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->data[5] = gSprites[task->data[15]].pos1.y;
task->data[1] = sub_8108384();
@@ -1922,7 +1922,7 @@ void sub_81080E4(u8 taskId)
void sub_8108140(u8 taskId)
{
struct Task *task = &gTasks[taskId];
-
+
switch (task->data[0])
{
case 0:
@@ -2011,7 +2011,7 @@ u8 sub_8108384(void)
u16 maxhp;
u16 partyIndex;
struct Pokemon *slot;
-
+
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
{
partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker];
@@ -2045,7 +2045,7 @@ void sub_8108408(struct Task *task, u8 taskId)
u8 subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
s16 increment = 4 - task->data[1];
u8 spriteId;
-
+
if (increment <= 0)
increment = 1;
for (i = 0; i < 20; i += increment)
@@ -2094,7 +2094,7 @@ void sub_810851C(struct Sprite *sprite)
void sub_81085C8(u8 taskId)
{
struct Task *task = &gTasks[taskId];
-
+
task->data[1] = sub_8108384();
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
{
@@ -2116,7 +2116,7 @@ void sub_810862C(u8 taskId)
{
struct Task *task = &gTasks[taskId];
u8 taskId2;
-
+
switch (task->data[0])
{
case 0:
@@ -2159,7 +2159,7 @@ void sub_810871C(struct Task *task, u8 taskId)
{
u16 yPosArg = ((gSineTable[task->data[8]] + 3) >> 4) + task->data[6];
u8 spriteId = CreateSprite(&gUnknown_08595268, task->data[7], 0, 0);
-
+
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].callback = sub_81087C0;
@@ -2212,7 +2212,7 @@ void sub_810886C(struct Sprite *sprite)
void sub_81088E4(u8 taskId)
{
struct Task *task = &gTasks[taskId];
-
+
task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
task->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
task->data[7] = (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) ? 1 : -1;
@@ -2229,7 +2229,7 @@ void sub_81088E4(u8 taskId)
void sub_8108978(u8 taskId)
{
struct Task *task = &gTasks[taskId];
-
+
switch (task->data[0])
{
case 0:
@@ -2298,7 +2298,7 @@ void sub_8108978(u8 taskId)
void sub_8108AC0(struct Task *task)
{
u8 spriteId;
-
+
if (++task->data[2] > 1)
{
task->data[2] = 0;
@@ -2334,7 +2334,7 @@ void sub_8108B2C(struct Sprite *sprite)
void sub_8108B94(struct Sprite *sprite)
{
u16 i;
-
+
if (TranslateAnimHorizontalArc(sprite))
{
for (i = 0; i < NUM_TASKS; i++)
@@ -2397,7 +2397,7 @@ void sub_8108CDC(struct Sprite *sprite)
{
int xDiff = sprite->data[1] - sprite->pos1.x;
int yDiff = sprite->data[2] - sprite->pos1.y;
-
+
sprite->pos2.x = (sprite->data[0] * xDiff) / sprite->data[3];
sprite->pos2.y = (sprite->data[0] * yDiff) / sprite->data[3];
if (++sprite->data[5] == sprite->data[4])
@@ -2420,7 +2420,7 @@ void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
s16 randomSomethingX = -xDiff + (Random2() % 10) - 5;
s16 i;
u8 spriteId;
-
+
for (i = 0; i <= 0; i++)
{
spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY + something, 130);
diff --git a/sym_bss.txt b/sym_bss.txt
index ae4e5dadf..4d21151ef 100644
--- a/sym_bss.txt
+++ b/sym_bss.txt
@@ -7,7 +7,8 @@
.include "src/sprite.o"
.include "src/link.o"
.include "src/link_rfu.o"
- .include "src/rom_8011DC0.o"
+ .include "src/union_room.o"
+ .include "src/union_room_battle.o"
.include "src/rtc.o"
.include "src/main_menu.o"
.include "src/rom_8034C54.o"
@@ -46,6 +47,7 @@
.include "src/mirage_tower.o"
.include "src/berry_fix_program.o"
+ @ pokenav
gUnknown_030012BC: @ 30012BC
.space 0x4
@@ -55,63 +57,9 @@ gUnknown_030012C0: @ 30012C0
gUnknown_030012C4: @ 30012C4
.space 0x4
-gUnknown_030012C8: @ 30012C8
- .space 0x18
-
-gUnknown_030012E0: @ 30012E0
- .space 0x2
-
-gUnknown_030012E2: @ 30012E2
- .space 0x2
-
-gUnknown_030012E4: @ 30012E4
- .space 0x2
-
-gUnknown_030012E6: @ 30012E6
- .space 0x2
-
-gUnknown_030012E8: @ 30012E8
- .space 0x4
-
-gUnknown_030012EC: @ 30012EC
- .space 0x2
-
-gUnknown_030012EE: @ 30012EE
- .space 0x2
-
-gUnknown_030012F0: @ 30012F0
- .space 0x2
-
-gUnknown_030012F2: @ 30012F2
- .space 0x2
-
-gUnknown_030012F4: @ 30012F4
- .space 0x4
-
-gUnknown_030012F8: @ 30012F8
- .space 0x2
-
-gUnknown_030012FA: @ 30012FA
- .space 0x2
-
-gUnknown_030012FC: @ 30012FC
- .space 0x4
-
-gUnknown_03001300: @ 3001300
- .space 0x40
-
-gMPlayTrack_BGM: @ 3001340
- .space 0x320
-
-gMPlayTrack_SE1: @ 3001660
- .space 0xF0
-
-gMPlayTrack_SE2: @ 3001750
- .space 0x2D0
-
-gMPlayTrack_SE3: @ 3001A20
- .space 0x50
-
+ .include "src/ereader_helpers.o"
+ .include "src/faraway_island.o"
+ .include "asm/m4a_1.o"
.include "src/agb_flash.o"
.include "src/siirtc.o"
.include "*libgcc.a:dp-bit.o"
diff --git a/sym_common.txt b/sym_common.txt
index 414d223e9..17dbf5c41 100644
--- a/sym_common.txt
+++ b/sym_common.txt
@@ -34,7 +34,7 @@
.include "save.o"
.include "battle_tower.o"
.include "intro.o"
- .include "battle_anim_8170478.o"
+ .include "battle_anim_special.o"
.include "battle_factory_screen.o"
.include "apprentice.o"
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 33f1ff5f2..8ad36666a 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -6,76 +6,20 @@
.include "src/string_util.o"
.include "src/link.o"
.include "src/link_rfu.o"
-
-gUnknown_02022C20: @ 2022C20
- .space 0xC
-
-gUnknown_02022C2C: @ 2022C2C
- .space 0x1
-
-gUnknown_02022C2D: @ 2022C2D
- .space 0x3
-
-gUnknown_02022C30: @ 2022C30
- .space 0x8
-
-gUnknown_02022C38: @ 2022C38
- .space 0x4
-
-gUnknown_02022C3C: @ 2022C3C
- .space 0x2
-
-gUnknown_02022C3E: @ 2022C3E
- .space 0x2
-
-gUnknown_02022C40: @ 2022C40
- .space 0x18
-
-gUnknown_02022C58: @ 2022C58
- .space 0x8
-
-gUnknown_02022C60: @ 2022C60
- .space 0x4
-
-gUnknown_02022C64: @ 2022C64
- .space 0x4
-
-gUnknown_02022C68: @ 2022C68
- .space 0x4
-
-gUnknown_02022C6C: @ 2022C6C
- .space 0x4
-
-gUnknown_02022C70: @ 2022C70
- .space 0x4
-
-gUnknown_02022C74: @ 2022C74
- .space 0x4
-
-gUnknown_02022C78: @ 2022C78
- .space 0x4
-
-gUnknown_02022C7C: @ 2022C7C
- .space 0x4
-
-gUnknown_02022C80: @ 2022C80
- .space 0x4
-
-gUnknown_02022C84: @ 2022C84
- .space 0x4
-
-gUnknown_02022C88: @ 2022C88
- .space 0x4
-
-gUnknown_02022C8C: @ 2022C8C
- .space 0x4
-
-gUnknown_02022C90: @ 2022C90
- .space 0x4
-
-gUnknown_02022C94: @ 2022C94
- .space 0x4
-
+ .include "src/union_room.o"
+ .include "src/mystery_gift.o"
+ .include "src/union_room_player_avatar.o"
+ .include "src/union_room_battle.o"
+ .include "src/mevent2.o"
+ .include "src/mevent_801BAAC.o"
+ .include "src/mevent_server.o"
+ .include "src/mevent_client.o"
+ .include "src/union_room_chat.o"
+ .include "src/berry_crush.o"
+ .include "src/berry_powder.o"
+
+ .align 2
+ @ dodrio_berry_picking
gUnknown_02022C98: @ 2022C98
.space 0x4
@@ -97,6 +41,7 @@ gUnknown_02022CF4: @ 2022CF4
gUnknown_02022CF8: @ 2022CF8
.space 0x4
+ @ pokemon_jump
gUnknown_02022CFC: @ 2022CFC
.space 0x4
@@ -128,7 +73,7 @@ gUnknown_02022D00: @ 2022D00
.include "src/palette.o"
.include "src/sound.o"
.include "src/battle_anim.o"
- .include "src/battle_anim_80A5C6C.o"
+ .include "src/battle_anim_mons.o"
.space 0xC
.include "src/field_weather.o"
@@ -173,17 +118,13 @@ gUnknown_02022D00: @ 2022D00
.include "src/decoration.o"
.include "src/slot_machine.o"
.include "src/battle_ai_script_commands.o"
-
-.align 2
-gPlayerFacingPosition: @ 203AB40
- .space 0x8
-
+ .include "src/fldeff_misc.o"
.include "src/pokeblock.o"
.include "src/field_specials.o"
- .include "src/battle_records.o"
- .include "src/pokedex_area_screen.o"
- .include "src/evolution_scene.o"
- .include "src/roulette.o"
+ .include "src/battle_records.o"
+ .include "src/pokedex_area_screen.o"
+ .include "src/evolution_scene.o"
+ .include "src/roulette.o"
.include "src/pokedex_cry_screen.o"
.include "src/coins.o"
.include "src/battle_transition.o"
@@ -192,7 +133,7 @@ gPlayerFacingPosition: @ 203AB40
.include "src/rom_81520A8.o"
.include "src/save.o"
.include "src/mystery_event_script.o"
- .include "src/learn_move.o"
+ .include "src/move_relearner.o"
.include "src/decoration_inventory.o"
.include "src/roamer.o"
.include "src/battle_tower.o"
@@ -229,14 +170,7 @@ gPlayerFacingPosition: @ 203AB40
.include "src/battle_pyramid_bag.o"
.include "src/pokenav.o"
-gUnknown_0203CF48: @ 203CF48
- .space 0x4
-
-gUnknown_0203CF4C: @ 203CF4C
- .space 0x4
-
-gUnknown_0203CF50: @ 203CF50
- .space 0x4
-
+ .include "src/menu_specialized.o"
+ .include "src/faraway_island.o"
.include "src/trainer_hill.o"
.include "src/rayquaza_scene.o"
diff --git a/tools/gbafix/gbafix.c b/tools/gbafix/gbafix.c
index d5e2f62ab..81c8c04c0 100644
--- a/tools/gbafix/gbafix.c
+++ b/tools/gbafix/gbafix.c
@@ -160,7 +160,7 @@ int main(int argc, char *argv[])
// get filename
for (arg=1; arg<argc; arg++)
{
- if ((ARGV[0] != '-')) { argfile=ARGV; }
+ if (ARGV[0] != '-') { argfile=ARGV; }
if (strncmp("--silent", &ARGV[0], 7) == 0) { silent = 1; }
}